Lec12-RISC-V Instruction Formats II
Contents
RISC-V Instruction Formats II
B-Format Layout
branch/分支 ==> if-else, while, for
encode Label:
PC寻址, 用imm field来表示偏移量
实际上 RV compressed instruction format! 16bit 压缩指令格式,偏移量不再是4的倍数,而是2的倍数(所以imm 二进制结尾一定是0)
理论layout
解释一下如何从指令解析出立即数的数值
B-type “|” 意思是专门分出一块区域来存一位数字
Long Immediate, U-Format Layout
I, B, S imm的12位扩展到long,找个地方放下剩下的20位
注意这里不直接使用branch指令跳转,而是采用jump直接来做
地方来了:同时来了两个新的指令lui
& auipc
Corner case
有符号扩展带过来的,1开头的符号扩展
用+1来避免这个问题
补充 auipc
指令
J-Format Layout
只有jal,因为jalr是I-type的
使用示例
jalr
使用示例
留一个reference