Echo

关注TA

大家好,我是LinkNemo爬虫Echo.

  • 普罗旺斯
  • 自由职业

最近留言

  • avatar Nemo

    如果文章内容侵犯了您的权益,可以联系在下做处理哟~我的邮箱是:nemo@link-nemo.com

ISC-V指令集架构规范的F#实现开源

2019年10月22 08:27 17 0 复制链接

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扩展)


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/451/663.htm]

点赞(0)
本文标签riscv
点了个评