浅谈RISC无条件转移指令
在以前的文章中,我分享了RISCV用户可以在基本指令集的基础上面,进行定制化的设计,但是无论怎样,都要能够支撑整数基本指令集,可以看出基本指令集的重要性。我们已经详细介绍了RISCV中非常重要的整数计算指令。想了解的同学可以看以前的文章浅谈RISCV指令集(二)整数计算指令。今天我们继续分享RISCV中的控制转移指令。
控制转移指令
在RISCV中常见的控制转移指令,主要有两类,如下所示:无条件转移;条件分支。
无条件跳转指令使用的是UJ类指令格式,立即数J在这里表示编码了一个2N的有符号数偏移量。在使用时,先对J进行符号扩展,再加到pc,就构成了跳转的目标地址,需要说明的是跳转的范围还是比较客观,可以到〔1MB,1MB〕的范围。然后将跳转指令后面指令的地址(pc4)放到rd寄存器中。
通常情况下,一般的无条件跳转指令,会被编码为rdx0的指令。
在RISCV中,间接跳转指令一般采用I类编码。基本指令格式如下图所示:
指令具体的操作步骤为:12bit的有符号数I类立即数加上基址rs1,得到结果。将结果中的最低位置0,将结果作为目标地址。跳转指令之后指令的地址为(pc4),将这个结果保存到rd寄存器中。需要说明的是,如果不需要保留结果,就可以直接把x0当做目标寄存器。
特别的,如果得到的目标地址没有对齐到4bit边界,则无条件跳转指令和间接跳转指令都要产生一个指令取指的非对齐异常。
在RISCV中,为了支持代码的位置无关性,所有的无条件跳转指令都采用pc相对寻址的方式,通过采用双指令序列的方式,可以跳转到32位地址空间的所有位置。具体过程是,首先将目标地址的高20bit加载到基址rs1中,接着间接跳转指令加上低12bit,就可以任意跳转到32位地址空间的任何地方。
需要注意的是,间接跳转指令和条件分支指令不同之处在于,间接跳转指令并不把12位立即数当做2bit的倍数。这样设计可以防止在硬件上再多出一种格式。间接跳转指令在设计上不考虑目标地址的最低位,有两个好处:降低硬件的复杂性;函数指针的最低位可存放别的信息。
这样做的后果是,会带来一些误差,因为可能导致目的指令地址错误,从而导致异常的产生。
在基址rs1x0的情况下,间接跳转指令为了达到对小的运行时库调用快速的目的,可以通过单一指令的调用,进而做到从任意地址对最大正负2KB地址区域的调用。
小结
我们分享的RISCV中,控制转移指令可以分为无条件转移,条件分支两种。今天只分享了无条件转移,后面我会继续分享条件分支以及RISCV的其他指令内容,欢迎大家继续关注。
在网上购买家电与实体店购买有什么区别吗?相比以往在线下商店挑选家电,目前越来越多的人习惯于在线上购买。但是面对电商紧锣密鼓的家电促销和眼花缭乱的宣传活动时,消费者在购买过程中还需注意以下几点:前期工作要做好……
重定向和转发SpringMVC重定向和转发重定向和转发重定向经过客户端,而转发没有,因此相对来说转发更快速。但有时采用重定向更方便,如:重定向到外部网站;避免用户重新加载页面时再次调……
为什么现在的收音机很难收到中波和短波的节目了?朋友们好,我是电子及工控技术,我来回答这个问题。看到这个问题给我带来满满的回忆,我记得小时候在上个世纪90年代,当时的通讯没有这么发达,特别是在农村每个村子里的电视都没有普及,……
亚马逊方面首次回应封号事件并未影响中国卖家在亚马逊平台的整体央视财经(记者张曼曼廖文铮)9月17日,针对今年4月底以来大批中国跨境电商被亚马逊平台关停,产品下架问题,17日,亚马逊方面首次作出回应。亚马逊全球副总裁戴竫斐在接受财经频道记……
你知道苹果为什么不取消ampampquot刘海ampampq苹果iPhoneX的刘海屏出来的时候,我相信很多网友都吐槽它的小刘海,真的是太丑啦。虽然丑但苹果毕竟是手机界的大哥大,当时的苹果iPhoneX还是受到很多苹果粉丝的追捧,甚至有……
数字物流影响物流市场,物流企业需把握机遇,更上一层楼今年已经过去了大半年,,随着网络货运的快速发展,物流行业也慢慢发生了变化,变得越来越繁荣,,但是因为之前疫情的影响,,也有些许在运营上的不协调发展,以前入驻或者关注过无车承运人……
ColorOS12新增多个重点功能,首批升级机型众多,9月1近日,OPPO官宣将于9月16日举行秋季新品发布会,ColorOS12也将正式亮相。作为全新的系统版本,ColorOS12新增了自由浮窗、速览卡片、更严密的隐私防护等等,同时,……
买手机苹果性价比高还是华为高?感谢您的阅读!买手机苹果的性价比高,还是华为的性价比高?我觉得用性价比来形容华为或者是苹果是完全不合时宜的。因为这两个品牌实际上并没有什么太大的性价比可言,因为他们……
网传知乎视频部门被裁一半?知乎回应没有裁员计划出品搜狐科技编辑黄小芳2月11日消息,近日有网友爆料称,知乎正在低调裁员,主要是视频相关的部门,几乎裁掉一半。搜狐科技就此向知乎方面求证,对方否认了该传闻,我们在视……
居家必备双向充电电筒XTARR30评测R30是xtar的新一代双向充电电筒,是上一代R30的升级款。新款的r30不仅支持直充功能同时还支持充电宝功能,可以给其它一些设备做应急充电,加上大容量的21700电池,让r3……
顺丰同城和闪送哪个好?首先不管是顺丰同城急送还是闪送,我都有资格和经验回复这个话题,目前之前我就是从闪送那边转过来做顺丰同城急送,首先分析2个平台优点,再来说缺点吧。以广州这个城市为例子,因为……
给孩子一个有母责而没爹味的互联网文曹林每当有做互联网的朋友跟我聊青少年保护这个话题时,我都会说这句话:不需要那么抽象和宏大,这么说吧,想想一个13岁的小女孩正在上你们的网,就知道该怎么做了。网络内容如果……