歡迎您光臨本站 註冊首頁

RISC-V 指令集架構規範的 F# 實現開源

←手機掃碼閱讀     admin @ 2019-10-22 , reply: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 擴展)

詳情查看項目:

https://github.com/mrLSD/riscv-fs


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/110748/riscv-fs
RISC-V 指令集架構規範的 F# 實現開源已經有203次圍觀

http://coctec.com/news/all/show-post-217365.html