主讲人:赵小兵
2010年2月
第二章计算机指令集结构设计
指令集结构的分类
寻址技术
指令集结构的功能设计
操作数的类型、表示和大小
指令集格式的设计
DLX指令集结构
第二章计算机指令集结构设计
指令集结构的分类
指令集结构分类
根据五个因素对计算机指令集结构进行分类:
(1) 在CPU中操作数的存储方法
(2) 指令中显式表示的操作数个数
(3) 操作数的寻址方式
(4) 指令集所提供的操作类型
(5) 操作数的类型和大小
第二章计算机指令集结构设计
1. CPU中用来存储操作数的存储单元主要有:
2. 指令中的操作数可以显式给出,也可以隐式地给出。
3. CPU对操作数的不同存取方式
堆栈
累加器
一组寄存器
CPU中操作数的存储方法,是各种指令集结构
之间最主要的区别所在。
指令集结构的分类
CPU对操作数的不同存取方式
CPU提供的暂存器
每条ALU指令显式表示的操作数个数
运算结果的目的地
访问显式操作数的过程
堆栈
0
堆栈
Push/Pop
累加器
1
累加器
Load/Store
累加器
一组寄存器
2/3
寄存器或存储器
Load/Store寄存器或存储器
4. 根据CPU内部存储单元类型进行分类,可以分为
堆栈型指令集结构
累加器型指令集结构
通用寄存器型指令集结构
例 C=A+B表达式在这三种类型指令集结构上的
实现方法。假设A、B、C均是保存在存储器单元中,
且A和B的值在运算过程中一直被保持。
指令集结构的分类
C=A+B表达式在这三种类型指令集结构上的实现方法
堆栈
累加器
寄存器
(寄存器-存储器)
寄存器
(寄存器-寄存器)
PUSH A
LOAD A
LOAD R1,A
LOAD R1,A
PUSH B
ADD B
ADD R1,B
LOAD R2,B
ADD
Store C
Store C,R1
Add R3,R1,R2
POP C
Store C,R3
三种类型指令集结构的优缺点
指令集结构类型
优点
缺点
堆栈型
是一种表示计算的简单模型;指令短小。
堆栈不能被随机访问,从而很难生成有效代码。同时,由于堆栈是瓶颈,所以很难被高效地实现。
累加器型
减小了机器的内部状态;指令短小。
由于累加器是唯一的暂存器,这种机器的存储器通信开销最大。
寄存器型
是代码生成最一般的模型。
所有操作数均需命名,且显式表示,因而指令比较长。
通用寄存器型指令集结构的分类
1. 通用寄存器型指令集结构的主要优点
使编译器有效地使用寄存器。
(1) 在表达式求值方面,比其它类型指令集结构 具有更大的灵活性;
(2) 寄存器可以用来存放变量。
◆减少存储器的通信量,加快程序的执行速度。
(因为寄存器比存储器快)
◆可以用更少的地址位来寻址寄存器,从而可
以有效改进程序的目标代码大小。
指令集结构的分类
3. 两种主要的指令特性能够将通用寄存器指令集结构
(GPR)进一步细分
(1) ALU指令到底有两个或是三个操作数?
◆有三个操作数的指令:两个源操作数
一个结果操作数
2. CPU需要设置多少个寄存器呢?
主要由编译器使用寄存器的情况来决定。
为表达式求值保留一些寄存器
为传递参数保留一些寄存器
用剩下的寄存器来保存变量
指令集结构的分类
chap2-计算机指令集结构 来自淘豆网www.taodocs.com转载请标明出处.