RISC-V的寄存器实在太多了,对中断一点都不友好,16个通用寄存器就差不多,32个通用寄存器,真的要人命啊,一次中断,就压栈和出栈操作,起码64个时钟周期就没了。
好像带C(压缩指令)的编译,只用了前面的16个寄存器,不带C的,要用32个寄存器,如果带F/D的,还有32个浮点寄存器,压栈和出栈操作,代价更高。
当时设计RISC-V的人是都猪吗?没有吸取INTEL的31级流水线的P4的教训吗?
当时INTEL的P4,可是高频低能的代名词。
如果能有编译选项,让部分寄存器不参与编译,也就没有必要保存/恢复这些寄存器,就完美了。 |