這節討論兩類RISC,第一類是桌面和服務器的RISC。
- Digital Alpha
- MIPS, Inc.
- Hewlett-Packard PA-RISC
- IBM and Motorola PowerPC
- Sun Microsystems SPARC
第二類是嵌入式的RISC。
- Advanced RISC Machines ARM
- Advanced RISC Machines Thumb
- Hitachi SuperH
- Mitsubishi M32R
- MIPS, Inc. MIPS16
這其中的Alpha,PA-RISC和M32R已經被淘汰。
這里會對這10種體系結構的相似之處討論50頁左右,圖1羅列了桌面和服務器RISC的主要特點,圖2羅列了嵌入式的。
嵌入式RISC傾向于提供8到16個通用寄存器,桌面/服務器提供32個,嵌入式的寄存器可能是16位或者32位,服務器的都是32位的。現在的情況則是,嵌入式的一般會是32位或者64位,而桌面/服務器的都是64位了。
Thumb和MIPS16雖然是獨立的體系結構,但是更多的是作為ARM和MIPS的可選模式。這兩種模式都使用16位長的指令,提供體系結構的子集,一般情況下的程序,這種指令集已經足夠了。所有的機器都會希望16位和32位的模式沒有本質的差別。當它們需要代碼密度的時候就用16位的模式,當需要性能的時候可以選擇32位的模式。
老一些的RISC這么多年來會有新的擴展,所以,我們只比較新的版本: 桌面/服務器的RISC是:Alpha第三版,MIPS64,PA-RISC 2.0和SPARC第九版,嵌入式的是:ARMv4,Thumb,SH-3,M32R和MIPS16.
圖1:五種桌面和服務器的指令集第一版匯總。除了數據尋址方式和指令集的細節,整形指令集很相似。跟圖34比較,新版本的指令集都支持64位的地址空間。
圖2:五種嵌入式指令集。除了數據尋址方式和指令集的細節,整形指令集很相似。
接下來的章節會按下面的順序來討論:
- 以MIPS核的指令為基礎,說明最基礎的指令集,定義放在附錄A
- 桌面/服務器RISC的多媒體擴展
- 嵌入式RISCs指令的DSP擴展
- MIPS不包含,但是有兩個以上的指令集包含了的指令
- 10種指令集各自獨有的指令和特點
我們在最后一節敘述指令集的進化和未來的發展方向。