RISC-V 指令集架构规范的 F# 实现开源
7 月份,RISC-V 基金会宣布批准 RISC-V 基础指令集架构与特权架构规范,为 RISC-V 的可扩展性进一步奠定了基础。而近日,有开发者在此基础上开源了一份以 F# 实现的 RISC-V 正式 ISA(指令集架构)规范(实现)。
RISC-V 基础指令集架构是应用软件与硬件之间的接口,编码为此规范的软件将继续在 RISC-V 处理器上永久使用,即使架构通过开发新扩展而发展也不受影响。
官方表示 RISC-V 采用简单的固定基础 ISA 和模块化固定标准扩展设计,有助于防止碎片化,同时支持定制,RISC-V 生态已经在此前的各种实现上展示了很大程度的互操作性,而现在批准了基础架构规范,开发人员可以进一步放心,他们为 RISC-V 编写的软件将可以一直运行在所有类似的 RISC-V 核心上。
特权架构则用于在软件堆栈的不同组件之间提供保护,并且尝试执行当前权限模式不允许的操作将导致引发异常。RISC-V 特权架构涵盖了非特权 ISA 之外的 RISC-V 系统的所有方面,包括特权指令以及运行操作系统和连接外部设备所需的其它功能。每个权限级别都有一组核心的特权 ISA 扩展,带有可选的扩展和变体,包括机器 ISA、主管 ISA 和管理程序 ISA。
此次开源的是 RISC-V 指令集架构的正式规范编码实现(可执行),以纯 F# 编写,根据介绍,项目使用极端基础的 F# 实现,这样可以使不了解 F# 且不打算学习 F# 的广大读者都可以阅读并使用该规范实现。
该实现还在演进中,目前的特性与状态如下:
- 支持以下特性
- 基础指令集:RV32I
- 开发中的特性
- 基础指令集:RV64I
- 标准扩展 M(整数乘/除)
- 标准扩展 A(原子内存操作)
- 标准扩展 C(精简的 16 位指令)
- 标准扩展 F(单精度浮点数)
- 标准扩展 D(双精度浮点数)
- 特权级 M(Machine)
- 特权级 U(User)
- 特权级 S(Supervisor)
- 虚拟内存方案 SV32、SV39 与 SV48
- 可以将应用作为具有 CLI(命令行界面)支持的 F# 程序灵活地执行,该程序又执行 RISC-V ELF 二进制文件。这是一种顺序解释:一次一指令的顺序存储器模型。
- 正在开发中的 RISC-V 测试:
- 基本指令流
rv32ui-p-*, rv64ui-p-*
(基本指令集)rv32um-p-*, rv64um-p-*
(M 扩展)rv32ua-p-*, rv64ua-p-*
(A 扩展)rv32uc-p-*, rv64uc-p-*
(C 扩展)
详情查看项目:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 互斥那点事儿(上)
本年度第 10 次操作系统成员会议开始啦! 一月一度的会议旨在让大家互相交流,解决最近在工作中出现的问题,以提高整个计算机系统的工作效率。因为计算机硬件在飞速发展,而操作系统是连接计算机硬件和应用程序的中间层,如果故步自封,很快就会被市场淘汰,所以每位操作系统成员都很重视月度会议。 这次提出问题的是进程和线程两兄弟。 站在众人前面,线程显得有些怯场,他戳了戳进程,示意让他先来讲。进程迅速整理了下思路,挺直了身板,说:“这次的问题是在一个订票系统里发现的,我把这个系统的简单逻辑画出来了,你们一边看我一边说。” “这个订票系统分为服务器端(server)和客户端(client),当用户与服务器建立连接时,服务器端就会建立一个新的线程来为客户端提供服务。订票逻辑是这样的: 单独从这个逻辑图上看是没有问题的,但在实际情况下,因为经常出现多个用户同时抢订一张票的情景,这种方式就可能会出错。就像这样: 在线程 A 确定完余票(假设是 1),但还未能成功订票之前,线程 B 得到了余票数为 1 的信息,所以 B 也认为可以订票,最后导致一张票卖出去两份。“ 内存一针见血的道:“我看这就是几个线程执行流...
- 下一篇
一个基于springSecurity的Json Web Token的实现
SecurityJwt 一个基于springSecurity的Json Web Token的实现 GitHub地址 提要 一、SpringSecurity Spring Security,一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。。 来自Spring全家桶系列,与SpringBoot无缝衔接。为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 二、JSON Web Token JSON Web Token(JWT)准确来说是一个规范。实际上就是一个字符串,它由三部分组成——头部(Header)、载荷(playload)与签名(signature)。 头部(Header)用于描述关于该JWT的最基本的信息,即该JWT本身的信息声明,如签名所用算法。 载荷(playload)是存放有效信息的地方。其中信息又分为三个部分——声明部分、公共部分(subject)、私有部分(claim)。 签证(signature)需要base64加密后的heade...
相关文章
文章评论
共有0条评论来说两句吧...