首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RISC 32I跳跃和分支LSB硬连线为零

问RISC 32I跳跃和分支LSB硬连线为零
EN

Stack Overflow用户
提问于 2019-09-15 12:44:47
回答 1查看 69关注 0票数 2

参考RV32I,我们将分支和跳转指令的最低有效位硬连线为零,以扩展指令的立即数字段中的地址范围,因为我们有字对齐存储器,在LSB中必须有两个零,现在我的问题是,如果我们硬连接跳转和分支指令的立即数的最后两位,那么我们有一个地址范围x4,而不是在立即生成部分中移位符号扩展后的32位。

EN

回答 1

Stack Overflow用户

发布于 2019-09-15 13:07:03

它可以工作,事实上,MIPS,一个RISC V的前身可以做到这一点。

然而,RISC V被设计为允许16位指令的紧凑指令格式(RVC)。事实上,RISC V允许指令扩展可以具有16位(16,32,48,64,80,96,...)的倍数的指令。

为了允许工具在仅支持32位指令和支持16位倍数指令的RISC V的不同版本之间工作,设计人员选择仅将1位硬连线为0,而不是2位。

这意味着,例如,一个库可能符合RV32I,但仍然可以在具有RVC扩展的硬件上正常工作,并在同一进程(以及相同的线程/调用链)中混合使用RVC和该库。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57941222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档