此博客为个人博客,不涉及商业用途,仅提供学习参考,内容均来自个人原创以及互联网转载和摘录。
此博客上带有原创标识的文章、图片、文件等,未经本人允许,不得用于商业用途以及传统媒体。
本文首发于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
————————————————
感谢您的阅读,如果您有收获,请给我一个三连吧!
如果您觉得这还不够,可以点击 打赏 按钮,告诉我: 你币有了!