打印
[RISC-V MCU 应用开发]

RISC-V指令集扩展到64位有什么特点?

[复制链接]
2843|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-7-10 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RISC-V旨在支持广泛的定制和专门化。每个基指令集的特征是寄存器的宽度和用户地址空间的相应大小。有两个基本变量,RV32I和RV64I,其中I代表整数ISA。
基本整数ISA可以是硬件实现的子集,但是必须使用操作码陷阱和主管层的软件仿真来实现硬件不提供的功能。
虽然64位地址空间是大型系统的要求,但32位地址空间可能足以满足未来几十年许多嵌入式和客户机设备的需要,并且有利于降低内存流量和能耗。此外,32位地址空间足够用于教育目的。最终可能需要更大的128位平面地址空间,因此我们可以在RISC-V ISA框架中容纳。
基整数ISA可以使用一个或多个可选的指令集扩展进行扩展,但是不能重新定义基整数指令。RISC-V指令集扩展分为标准扩展和非标准扩展。标准扩展通常应该有用,并且不应该与其他标准扩展冲突。
非标准扩展可能是高度专业化的,或者可能与其他标准或非标准扩展冲突。
根据基整数指令集的宽度,指令集扩展可能提供稍有不同的功能。RISC-V基指令和指令集扩展的命名约定,为了支持更一般的软件开发,定义了一组标准扩展,以提供整数乘/除、原子操作以及单精度和双精度浮点运算。
基整数ISA被命名为“I”(前缀为RV32或RV64,取决于整数寄存器宽度),它包含整数计算指令、整数加载、整数存储和控制流指令,并且对于所有RISC-V实现都是必需的。
标准整数乘法和除法扩展名命名为“M”,并添加指令来对整数寄存器中的值进行乘法和除法运算。
由“A”表示的标准原子指令扩展添加了原子读、修改和写入内存以进行处理器间同步的指令。用“F”表示的标准单精度浮点扩展添加了浮点寄存器、单精度计算指令以及单精度加载和存储。用“D”表示的标准双精度浮点扩展扩展扩展了浮点寄存器,并添加了双精度计算指令、加载和存储。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1762

主题

13167

帖子

55

粉丝