RV通过增加60条伪指令,确保在不增加硬件开销的前提下代码更易于读写,且通过定义常零寄存器x0,方便大部分伪指令的实现。通过lui(立即数高位加载指令)和auipc(立即数高位与PC相加指令)两条指令,简化了编译器/链接器为外部数据/函数分配地址的过程。采用相对地址跳转方式(PC-relative branching)使得位置无关代码(PIC,position-independent code)更易实现,从而减轻链接器工作。通过配置更多的寄存器,减少寄存器保存和恢复频率,从而提高函数调用和返回的速度。
|