近日,有开发者在 RISC-V 基础指令集架构与特权架构规范的基础上开源了一份以F# 实现的 RISC-V ISA(指令集架构)规范,并发布在了 GitHub上,其主要内容包括“功能和当前状态”、“代码示例”以及实际“操作方式”等。
今年 7 月份,RISC-V 基金会在官网上发布公告,宣布批准 RISC-V 基础指令集架构与特权架构规范。而本次开源的内容,则是以 RISC-V 基金会发布的 RISC-V ISA 规范为基础,利用 F#编写而成。
RISC-V 基础指令集架构与特权架构规范
RISC-V 基础指令集架构与特权架构规范发布于今年7月,这被认为是RISC-V生态系统发展过程中的一个重要里程碑。
RISC-V 基础指令集架构应用于软件与硬件之间,是连接两者的“桥梁”。而 RISC-V ISA 规范的发布,则意味着,只要按照该规范编码的软件都将能够在 RISC-V 处理器上持续使用,即使其处理器架构通过开发新扩展模块也不受到影响。
基础指令集架构获得批准,开发者可以进一步放心,他们为RISC-V编写的软件将可以一直运行在所有类似的 RISC-V 核心上。 ——RISC-V基金会董事会主席Krste Asanović
特权架构应用于软件堆栈的不同组件之间,提供保护的同时,尝试执行当前权限模式,不允许的操作将会引发异常。RISC-V特权架构涵盖了非特权ISA之外的RISC-V系统的所有方面,包括特权指令、运行操作系统以及连接外部设备所需的附加功能。另外,每个特权级别都有一组核心特权ISA扩展,包括机器ISA、主管ISA和管理程序ISA等。
RISC-V特权架构是RISC-V硬件和软件(如Linux和FreeBSD)之间的一种契约。对RISC-V来说,这些标准获得通过是一个里程碑标志。 ——RISC-V特权架构任务组主席Andrew Waterman
RISC-V ISA规范的 F# 实现
F#是由微软发展的为.NET语言提供运行环境的程序设计语言,是一种函数编程语言(FP,Functional Programming)。目前,F#已经接近成熟,支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理、元编程等。
此次开源的RISC-V ISA 规范编码实现,使用“非常基础”的 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 扩展)
继续阅读与本文标签相同的文章
php 如何禁用eval() 函数
PHP5.6 CONST新特性几个例子
-
情感计算的核心问题:认知如何计算?
2026-05-14栏目: 教程
-
为什么程序员使用电脑时,很少使用鼠标,只需要键盘就能工作?
2026-05-14栏目: 教程
-
麦肯锡研究报告:《医院已死,医院万岁!——塑造下一代医院的创新》
2026-05-14栏目: 教程
-
5G辐射影响健康?专家都来辟谣了
2026-05-14栏目: 教程
-
不为人知的日本公司:隐藏在中国50多年,它每年带走数百亿人民币
2026-05-14栏目: 教程
