第2章 计算机指令集结构设计
1. 堆栈型机器
其CPU中存储操作数的主要单元是堆栈。
2. 累加器型机器
其CPU中存储操作数的主要单元是累加器。
3. 通用寄存器型机器
CPU中存储操作数的主要单元是通用寄存器。
4. 三种类型指令集结构
根据CPU内部存储单元类型,将指令集结构分为堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构。
5. 通用寄存器型指令集结构的三种类型
寄存器-寄存器型(RR:Register-Register)
寄存器-存储器型(RM:Register-Memory)
存储器-存储器型(MM:Memory-Memory)
6. CISC
复杂指令集计算机。
7. RISC
精简指令集计算机。
8. 指令集结构的完整性
在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。
9. 指令集结构的规整性
没有或尽可能减少例外的情况和特殊的应用,以及所有运算都能对称、均匀地在存储器单元或寄存器单元之间进行。规整性主要包括对称性和均匀性。
10. 对称性
指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。
11. 均匀性
指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
12. 面向高级语言(HL)的机器
采用各种对高级语言和编译程序提供支持的措施,使机器语言和高级语言的语义差距比传统的冯·诺依曼型机器缩小许多。这种机器统称为面向高级语言(HL)的机器。
13. 间接执行型高级语言机器
使高级语言成为机器的汇编语言。即高级语言和机器语言是一一对应的,这种机器称为间接执行型高级语言机器。
14. 直接执行型高级语言机器
高级语言机器本身没有机器语言,或者说高级语言就作为机器语言。它可以直接由硬件或固件对高级语言源程序的语句逐条进行解释并执行。这种机器称为直接执行型高级语言机器。
15. 跳转
当控制指令为无条件改变控制流时,称之为跳转。
16. 分支
当控制指令是有条件改变控制流时,称之为分支。
17. 位置无关
代码在执行时与它被载入的位置无关。
18. 操作数类型
面向应用、面向软件系统所处理的各种数据结构。
19. 操作数表示
硬件结构能够识别、指令系统可以直接调用的那些数据结构。
20. 操作数的类型
主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。
21. 变长编码格式
指令的长度是可变的。
22. 定长编码格式
将操作类型和寻址方式组合编码在操作码中,所有指令的长度是固定唯一的。
23. 混合型编码格式
通过提供一定类型的指令字长,期望能够兼顾降低目标代码长度和降低译码复杂度两个目标。