第2章 计算机指令集结构设计
1. 通常可按哪5个因素对计算机指令集结构进行分类?
(1) 在CPU中操作数的存储方法。
(2) 指令中显式表示的操作数个数。
(3) 操作数的寻址方式。
(4) 指令集所提供的操作类型。
(5) 操作数的类型和大小。
2. 在对计算机指令集结构进行分类的5个因素中,哪一种是各种指令集结构之间最主要的区别?
CPU中操作数的存储方法,即在CPU中用来存储操作数的存储单元的类型,是各种指令集结构之间最主要的区别。
3. 根据CPU内部存储单元类型,可将指令集结构分为哪几类?
堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。
4. 堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构分别有什么优缺点?
指令集结构类型 |
优点 |
缺点 |
堆栈型 |
是一种表示计算的简单模型;指令短小 |
不能随机访问堆栈,从而很难生成有效代码。同时,由于堆栈是瓶颈,所以很难被高效地实现 |
累加器型 |
减少了机器的内部状态;指令短小 |
由于累加器是唯一的暂存器,这种机器的存储器通信开销最大 |
寄存器型 |
易于生成高效的目标代码 |
所有操作数均需命名,且要显式表示,因而指令比较长 |
5. 现代大多数机器均采用通用寄存器型指令集结构,为什么?
主要有两个方面的原因,一是寄存器和CPU内部其他存储单元一样,要比存储器快;其