数字IC设计:《手把手....》解读---章节7.2--简化取指

内容:

        

--------------------------------------------------------------------------------

规整的指令编码格式

        RICS-V对 指令集编码采取规范化

                        这有利于 译出指令类型、使用的操作数寄存器索引、立即数。

指令长度指示码放在低位

为提高代码密度---可选压缩指令子集---C----若支持,则有32+16混合情形

为支持16位指令取出---低几位用来表示指令长度----方便顺序取指时快速译码长度----取到16位就可以判断是32还是16

简单化的分支跳转指令

jal--子程序调用--结果存在jal的结果/链接寄存器中

jalr--子程序返回--只需将jal的  结果寄存器  当作jalr的  基地址寄存器

对于带条件跳转--采用两个整形操作数进行比较--条件满足则跳转--没错,一个指令融合两个操作

带条件分支使用--12位有符号数做偏移量--乘以2与当前指令所在地址相加--得到目标地址

------------------

关于16位压缩指令子集--一个16位对应一个32位等效--基本功能一致

没有分支延迟槽指令

分支延迟槽会导致处理器的硬件设计变得很别扭--取值部分很麻烦

RISC-V放弃了分支延迟槽--相信分支预测算法精度

提供明确的RAS依据

RAS用于返回地址预测---RAS需要分开出栈和入栈操作--所以它要学会区分哪些指令属于这两者

RISC-V--对于jal--目标reg的index  rd 等于 x1 reg 的值 或 x5 reg 的值--入栈

对于jalr--按照使用的寄存器值(rs1 和 rd)的不同--如图--link表示x1/x5的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值