为什么RISC-V中需要恒零寄存器?

此博客为个人博客,不涉及商业用途,仅提供学习参考,内容均来自个人原创以及互联网转载和摘录。
此博客上带有原创标识的文章、图片、文件等,未经本人允许,不得用于商业用途以及传统媒体。
本文首发于CSDN,其他网站均为转载。网络媒体或个人转载请注明出处和链接,否则属于侵权行为。

原博客链接:https://blog.csdn.net/qq_38305370
原博主昵称:城外南风起
————————————————

硬件设计中有一个原则:加速执行常用操作。常数0在指令中大量使用,可以简化指令系统体系结构,例如, 数据传送指令正好可以被视作一个操作数为0的加法,即ADDI x1, x0, x2;使用零减去原数以求原数的相反数;还有与零比大小等等操作。因此,将寄存器x0设置为恒零寄存器(zero register),将其硬连线到常量0。

事实上,MIPS中也设置了恒零寄存器,而X86和ARM中没有设置。

参考文献:
1.RISC-V RV32I中零寄存器有什么用? - 北极的回答 - 知乎
https://www.zhihu.com/question/308314026/answer/573831395
2.计算机组成与设计 硬件/软件接口 (美) 戴维·A.帕特森, 约翰·L.亨尼斯著 = Computer organization and design the hardware/software interface David A. Patterson, John L. Hennessy 易江芳, 刘先华等译 eng 帕特森 (Patterson, David A.) 著
3.RISCV手册:一本开源指令集的指南. 翻译:勾凌睿、黄成、刘志刚.校阅:包云岗. http://crva.ict.ac.cn/documents/RISC-V-Reader-Chinese-v2p1.pdf

————————————————
感谢您的阅读,如果您有收获,请给我一个三连吧!
如果您觉得这还不够,可以点击 打赏 按钮,告诉我: 你币有了!

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城外南风起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值