Design of the RISC-V Instruction Set Architecture笔记(chapter1-2)
A free and open ISA standard has the potential to increase innovation in microprocessor design, reduce computer system cost, and, as Moore’s law wanes, ease the transition to more specialized computational devices
The optional extensions form a more powerful ISA for general purpose and high-performance computing.
直到IBM360才引入了软硬件接口的概念,介绍了ISA的概念
作者认为:保持标准封闭阻碍了创新并人为地抬高了微处理器的成本
Why develop a new instruction set?
- all of the popular commercial ISAs are proprietary
- the massive complexity of the popular commercial instruction sets
MIPS:80年代斯坦福提出,受到了IBM 801的深刻影响。使用通用寄存器的load-store体系结构,算术运算也只发生在寄存器之间。MIPS的设计减少了指令集和硬件的复杂程度,促进了低价流水线的实现。在1986年,MIPS第一次在商业上被实现,R2000。在最初的版本中,MIPS用户级定点指令集合只有58条指令,实现采用单发射,按序流水线。三十年依赖,ISA变得更加庞大,目前差不多400条指令。实现MIPS-I的简单微体系结构非常适合学术研究,但是却有一些问题限制了其高性能的实现:
- ISA对单发射,按序五级流水线的微体系结构进行了过度的优化。分支延迟槽的问题。分支和跳转被一条指令延迟,使超标量和超流水线实现变得复杂。 当延迟时隙不能被适当填充时,延迟的分支增加了代码大小并浪费指令发射带宽。
- ISA提供对位置无关代码(PIC&#