这节讨论两类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.
接下来的章节会按下面的顺序来讨论:
- 以MIPS核的指令为基础,说明最基础的指令集,定义放在附录A
- 桌面/服务器RISC的多媒体扩展
- 嵌入式RISCs指令的DSP扩展
- MIPS不包含,但是有两个以上的指令集包含了的指令
- 10种指令集各自独有的指令和特点
我们在最后一节叙述指令集的进化和未来的发展方向。