- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RISC-V指令集的模块化和寄存器结构
0 前⾔
RISC-V 指令集架构是加州⼤学伯克利分校研发的第五代精简指令集架构,先后经历了四代精简指令集的发展,旨在设计⼀个完全开放、免
费的和性能强⼤的指令集架构。它和X86/ARM相⽐,⼀⼤优势就是⽀持模块化,下⾯我们就来介绍⼀下RISC-V指令集的模块化结构,顺便
再介绍下其寄存器结构。
⼀、模块化结构
RISC-V 指令集架构⼀改传统增量 ISA模式,采⽤模块化 ISA模式,它被定义为基本的整数指令集架构,以及⼏个标准的扩展⼦集,可以⾃
定义指令扩展,如下表所⽰。
它的核⼼为 的基础整数指令集, 是固定的,并保持永远不变,⽽其扩展是可选择进⾏实现的。这为编译器、汇编器和操作系统开
RV32I RV32I
发⼈员提供了稳定的研发⽬标。其扩展包括M、F、D、A、G、C、V等,开发⼈员根据实际的应⽤程序,硬件设计可以选择是否实现这些扩展。
这种模块化特性解决了以往指令集增量 ISA模式和兼容性带来的弊端,并且使得 RISC-V 具有了⼩型化、低功耗的特点,这对于嵌⼊式应⽤
⾄关重要的。
RISC-V 指令集架构的标准扩展指令的具体介绍如下:
I 扩展:整数扩展 (I 扩展)表⽰ RISC-V 的基础整数指令集,是任何⼀个实现中都必须存在的模块。根据地址空间可分为RV32I、
三类。RV32I⾮常精简,只有 47条指令,但它具有齐全的功能,可以形成编译器⽬标,满⾜现代操作系统和运⾏时的基
RV64I、RV128I
本要求。它包括整数计算指令、控制转移指令、加载-存储指令以及系统调⽤等指令。
M 扩展:M 扩展即乘除扩展,是 RISC-V 整数乘除标准扩展指令集,包含了有符号和⽆符号的整数乘除法指令。
F扩展/D扩展:F扩展和 D扩展两者是分开的,可单独进⾏选择实现。F表⽰单精度浮点标准扩展指令集,D表⽰双精度浮点标准扩展
指令集。它们使⽤的是 32个独⽴的浮点寄存器⽽不是基本整数寄存器,除了具有加载-存储和算术指令外,还包括⼀些加减乘除指令
在内的分别进⾏融合计算的指令,让计算过程变得更快速、简洁和准确。另外为了保证数学库代码的编写,还必须包括符号注⼊指令
以及分类指令等。 F和 D两个标准扩展没有提供浮点分⽀指令,其主要功能被浮点⽐较指令所替代,也就是说可以依据两个浮点数的
⽐较结果信息将寄存器中的值设置为 0 或者 1,从⽽⽤于分⽀跳转。
A扩展:A扩展表⽰标准原⼦扩展,是 RISC-V 的原⼦操作指令集,为实现多个RISC-V 线程之间的进⾏同步操作提供了技术⽀持。
RV32A标准扩展指令集为两种不同的使⽤场景分别提供了加载保留/条件存储指令和获取和操作存储器指令两种原⼦性操作指令,其中
加载保留和条件存储指令确保了原⼦的⽐较-交换操作。即⽐较 A寄存器的值和 B寄存器的内存地址指向的值,如果两者相等,交换 C
寄存器中的值和内存中的值
G 扩展:通⽤扩展 G是基本整数指令集和四个标准扩展指令集 (即“IMAFD”)的总称。
C 扩展:C 扩展表⽰压缩扩展,是 RISC-V 的标准压缩指令集。每条 16位压缩指令⼀般情况必有⼀条标准的 32位指令与之对应,并
且仅仅对于汇编器和链接器是可见的。汇编器和链接器决定了是使⽤ 16位指令还是使⽤ 32指令,因此编译器和汇编语⾔开发⼈员可
以完全忽略压缩指令及其格式。上述设计⽅案避免了在重新设计 ISA短指令集时,给处理器和编译器的设计增加负担的问题。
Q 扩展:Q扩展是⼀个 128位的四精度浮点指令集扩展。四精度浮点指令扩展的浮点寄存器可以⽤来存储⼀个单精度、双精度或者四精
度的浮点数。四精度浮点扩展要求实现RV64IFD。
V 扩展:向量扩展是 RISC-V 向量指令集,与单指令多数据流(SIMD)指令的区别是,RV32V采⽤了向量架构,实现了内部向量寄存
器的宽度与指令集的分离,不会像 SIMD那样加宽了寄存器就会同时扩展了指令集,解决了 SIMD指令集每次增加宽度,所导致的上
层软件适配问题。RISC-V 向量指令集包括向量计算指令、load-store指令、向量条件运算等指令。
除以上 RISC-V 标准指令集扩展外,RISC-V 还有多个标准指令集扩展,例如⼗进制浮点(L)、位操作(B)、封装的单指令多数据(P)
等。⽬前这些标准扩展⼤多数仍在不断完善和设计中。
⼆、寄存器结构
RISC-V 指令集架构具有 32位和
您可能关注的文档
最近下载
- 17《昆明的雨》课件(共21张PPT)(内嵌音频+视频).pptx VIP
- 2004浙S2 钢筋混凝土化粪池.docx VIP
- 完整版《“十五五”规划建议》全文解读PPT.pptx
- DB13(J)T 8060-2019 城镇供热管道及设备安装工程施工质量验收标准.docx VIP
- 人教版高中数学精讲精练必修二101 随机事件与概率(精练)(原卷版).pdf VIP
- SYT6391-2014 SEG D Rev3.0地震数据记录格式.pdf VIP
- 石楼南煤层气勘查实施方案.docx VIP
- 人教版高中数学精讲精练必修一1.2 集合间的关系(精讲)(解析版).pdf VIP
- IPV4和IPV6地址.ppt VIP
- 秀出你风采——ppt创意动画知到智慧树期末考试答案题库2024年秋黑龙江幼儿师范高等专科学校.docx VIP
原创力文档


文档评论(0)