计算机系统结构全套课件-第2章-计算机指令集结构

合集下载

《计算机系统结构(第2版)》清华课件第2章

《计算机系统结构(第2版)》清华课件第2章

1 27 27 1 N (1 2 23) 2 2 2
即:
2
129
N (1 2
23
)2
127
1位
1位
7位
23 位
mf
ef
e
m
注:mf 为尾数的符号位,ef 为阶码的符号位,e 为阶码的值,m 为尾数的值。
• 规格化最大正数: 0111 1111 1111 1111 1111 1111 1111 1111 • 规格化最小正数: 0000 0000 0100 0000 0000 0000 0000 0000 • 规格化最大负数: 1000 0000 0100 0000 0000 0000 0000 0000 • 规格化最小负数: 1111 1111 1111 1111 1111 1111 1111 1111
1 ( p 1) 当rm=2时,有: (2, p) 2 2 p 2
5. 浮点数的表数效率
• 浮点数是一种冗余数制(Redundat Number System) • 浮点数的表数效率定义为:
可表示的规格化浮点数个数 2(rm 1) rm p 1 2 req 1 全部浮点数个数 2 rm p 2 req
2.1.3
浮点数格式设计
1. 浮点数格式设计的主要问题
在表示浮点数的6个参数中,只有尾数基值rm、尾数长 度p和阶码长度q与表数范围、表数精度和表数效率 有关
N rm
re 1
q
(r
m,
p)
rm
1 2
( p 1)
rm 1 (rm) rm
在字长确定的情况下,如何选择尾数基值rm, 使表数范围最大、表数精度和表数效率最高

计算机系统结构课件第2章

计算机系统结构课件第2章

2.1
数据表示:
数据表示
研究计算机硬件能够直接辨认与处理的数据类型 所谓“硬件能够直接辨认与处理”,指的是对该数据类型的各 种运算操作都有相应的实现硬件电路。 通常数据表示涉及的数据类型有整数、实数、逻辑数、浮点数、 字符串等。
数据结构:
研究应用领域中的各种复杂数据类型。 如:队列、链表、图、树、文件等, 研究它们的存储、处理、运算方法,并给出相应的算法。
2.1.1.1 浮点数的组成 浮点数的组成与“科学记数法”非常相似,但各部分均为有限位 数: e m
N m r
其中:
N 浮点数 m 尾数的值,纯小数,符合规格化原则(最高位的绝对值不为0)
e r 阶码的值,整数,常用移码表示 基值,常见的有2进制、8进制、16进制、10进制等
浮点数的机内格式
计算机系统结构主要研究数据表示,主要为浮点数的表示
2.1.1
浮点数据表示
浮点数据就是高级语言课程中所说的“实型数”。 定点数据表示的缺点: 编程困难 表示数的范围小 数据存储单元的利用率低(大量的前置0,造成浪费)
浮点数表示方式要研究的核心内容:
数据长度与表数范围、表数精度和表数效率之间的关系。
2( rm 1) rmp1 2 req 1 2 rmp 2 req
化简,并忽略机器 0 :
rm 1 rm
21 50 % 信息利用率很低。 现考察尾基=2时的情况: ( 2) 2 16 1 ( 16 ) 94 % 而尾基=16时, 16
1. 加减法
(1)同号尾数相加、异号尾数相减,不必设置警戒位; 原因:结果的绝对值<2,不需要左规格化。 (2)同号尾数相减、异号尾数相加, 若阶差为0,不必设置警戒位; 若阶差为1,只需设置1位警戒位; 若阶差 >1,只需设置1位警戒位用于左规。

计算机系统结构chap2-0929

计算机系统结构chap2-0929

Department of Computing and Information Technology
寻址方式 寄存器寻址
指令实例 Add R4 ]+Regs[R3]
立即值寻址
偏移寻址 寄存器间接寻址 索引寻址 直接寻址或绝对寻 址 存储器间接寻址
Add R4 , #3
自增寻址
Add R1 , (R2)+
Add R1, -(R2) Add R1 , 100(R2)[R3]
Regs[R1]←Regs[R1]+Mem[Regs[R2]] Regs[R2]←Regs[R2]+d
Regs[R2]←Regs[R2]-d Regs[R1]←Regs[R1]+Mem[Regs[R2]] Regs[R1]←Regs[R1] + Mem[100 + Regs[R2] + Regs[R3]*d]
Department of Computing and Information Technology
2.1 指令集结构的分类
2.1.2 通用寄存器型指令集结构的分类 早期的计算机中采用堆栈指令集结构和累加器 指令集结构比较多,但现代CPU,通用寄存器型指 令集结构已成为指令集结构的主流,原因: 1. 通用寄存器型指令集结构的主要优点 (1) 使编译器有效地使用寄存器;
(2) 在表达式求值方面,比其它类型指令集结构 具有更大的灵活性;
Department of Computing and Information Technology
2.1 指令集结构的分类
(3) 寄存器可以用来存放变量。
◆ 减少存储器的通信量,加快程序的执行速度。
(因为寄存器比存储器快)
◆ 可以用更少的地址位来寻址寄存器,从而可

第2章_计算机组织结构-PPT教材

第2章_计算机组织结构-PPT教材

§2 8086微计算机组织结构
2.1.1 Intel 8086CPU内部结构 P14
段寄存器 控制寄存器
通用寄存器
返回本章首页
§2 8086微计算机组织结构
2.1.2 8086寄存器组
CPU
P15
80 86 寄 存 器 分 组
§2 8086微计算机组织结构
寄存器组
1 通用数据寄存器
P15
数据寄存器共有4个寄存器AX、BX、CX、DX,每个
2 寄存器寻址
P27
寄存器寻址方式的操作数在指令指明的寄存器中。
汇编格式:R 其中R表示寄存器名。
功能:操作数直接存放在寄存器R中。
图形表示: R 指令→操作数
内存中 的代码
ADD AX,BX AX+=BX; //c语言
R操作数
§2 8086微计算机组织结构
【例2.4】
下列程序执行后,(AX)=?,(BX)=?
返回本节
§2 8086微计算机组织结构
2.2.3 物理地址的形成
P19
8086,80286的字长是16位。
80386到PII机的字长为32位。
8086,8088的地址线是20位的,这样最大可寻址 空间应为220=1MB,其物理地址范围从00000H~ FFFFFH。
80286的地址总线宽度为24位 80386,80486,Pentium的地址总线宽度为32位
§2 8086微计算机组织结构
4.指令指针
P17
8086CPU中的指令指针IP,它总是保存下 一次将要从主存中取出指令的偏移地址,偏移地 址的值为该指令到所在段段首址的字节距离。在 目标程序运行时,IP的内容由微处理器硬件自动 设置,程序不能直接访问IP,但一些指令却可改 变IP的值,如转移指令、子程序调用指令等。

计算机体系结构第2版课件第2章 第2讲

计算机体系结构第2版课件第2章  第2讲

寻址技术
寻址实际上是从形式地址到实际地址的转换。 形式地址由指令描述,实际地址也称为有效 地址。
有效地址指明的是存储器单元的地址或寄存 器地址。
必须加速有效地址生成。
常用的一些操作数寻址方式
寄存器寻址
指令实例:Add R4 , R3 含义:Regs[R4]←Regs[R4]+Regs[R3]
八十年代发展起来的精简指令集计算机(RISC), 其目的是尽可能地降低指令集结构的复杂性,以达 到简化实现,提高性能的目的。
CISC指令集功能设计
面向目标程序增强指令功能
提高运算型指令功能; 提高传送指令功能; 增加程序控制指令功言和编译系统支持的指令功能; 高级语言计算机指令系统。
常用的一些操作数寻址方式
自减寻址
指令实例:Add R1, -(R2) 含义:
Regs[R2]←Regs[R2]-d Regs[R1]←Regs[R1]+Mem[Regs[R2]]
缩放寻址
指令实例:Add R1 , 100(R2)[R3] 含义:
Regs[R1]←Regs[R1]+Mem[100+ Regs[R2]+Regs[R3]*d]
操作数的类型和大小
整数(定点):二进制补码表示;其大小可以是字 节(8位)、半字(16位)或单字(32位)。
浮点:可以分为单精度浮点(单字大小)和双精度 浮点(双字大小)。当前普遍采用的是IEEE 754 浮点操作数表示标准。
字符和字符串:8位ASCII码表示。
操作数的类型和大小
十进制:通常采用 “压缩十进制”或“二进制编 码十进制”表示。压缩十进制数据表示用4位编码 数字0~9,然后将两个十进制数字压缩在一个字 节中存储。如果将十进制数字直接用字符串来表示, 就叫做“非压缩十进制”表示法。

第2章计算机系统结构PPT课件

第2章计算机系统结构PPT课件

(2)I/O中断
中央处理器按程序规定的顺序执行指令,当中央处理器执 行到一条“启动外设(启动I/O)”指令时,就按指令中给定的 参数启动指定的设备,并把设备的控制权交给输入输出控制系 统。由输入/输出控制系统控制外围设备与主存储器之间的信息 传送,外围设备独立工作,不再需要中央处理器的干预,于是 中央处理器可以继续执行其他程序。(中央处理器和外设便可 以并行工作)
2.2.1 计算机系统的硬件环境之并行工作
1、CPU与外设并行工作的I/O中断(P17) 在现代通用计算机系统中,输入/输出控制系统负责完成外围设备与
主存储器之间的信息传送。 (1)CPU与外设并行工作
各种外设连接到相应的设备控制器上,通过通道把设备控制器连接 到公共的系统总线上,这种结构允许CPU与外设并行工作。
这些寄存器都是处理器的工作寄存器,当处理器执行程序时, 每次从主存储器中读出一条指令,并把它存入“指令寄存器”中, 然后分析指令,根据指令中指定的地址,从主存储器读出操作数, 存入“通用寄存器”,根据指令中的操作码,对操作数进行运算, 并将所得的结果或暂存在通用寄存器中或存储到主存储器中,利用 控制寄存器来保证各程序交替占用处理器时能正确执行,保证系统 安全。
但由于外围设备是由中央处理器根据程序的要求而启动的, 故当外围设备工作结束后,应反馈该设备的工作情况,形成一 个“输入/输出操作结束的事件”,由中断完成,硬件识别该事 件后就急触发一个I/O中断,并暂停当前占用中央处理器的程序 的执行,让操作系统的处理程序来处理这个“输入/输出操作结 束”事件,操作系统进行分析后就可以知道该外围设备的工作 情况,从而确定启动该外围设备的程序的工作状态。
▪ 如果没有找到,就从主存中读取,同时把这个数据复制到高速 缓存中

计算机系统结构课件第2章

计算机系统结构课件第2章

2.Huffman编码法 Huffman编码法是1952年由Huffman提出的一种可变字长编码 (VLC)。采用Huffman编码法表示操作码,必须先知道各种指令在 程序中出现的概率,这可通过对典型程序统计得到。根据 Huffman编码法的原理,操作码的最短长度可通过下式计算:
H pi log 2 pi
(3)主存寻址 主存寻址是所有计算机中都普遍采用的一类寻址方式,其寻 址种类也最为复杂。主存寻址的指令格式主要有: OPC M OPC M, M OPC M, M, M (4)堆栈寻址 堆栈寻址方式的地址是隐含的,在指令中不必给出操作数的 地址。因此,指令的长度很短,一般的形式有: OPC OPC M
i 1
n
Pi表示第i种操作码在程序中出现的概率,一共有n种操作码。 如果采用固定长操作码,n种操作码共需要个 log 2 n 二进制 位,因此固定长度操作码的信息冗余量为:
R 1
pi log 2 pi
i 1
n
log 2 n
3.扩展编码法 Huffman编码法能使操作码的平均长度最短,信息的冗余量 最小。然而,这种编码方法所形成得操作码很不规整。这不利于 硬件的译码,也不利于软件的编译,也很难与地址码配合,形成 有规则长度的指令编码。 在许多处理机中,采用了一种新的折中的方法,称为扩展编 码法。这种方法是由固定长操作码与Huffman编码法相结合形成 的。对于上节中有7条指令的模型机例子,如果采用扩展编码法编 排操作码,可有多种方法。
3.自定义数据表示 为了减少高级语言与机器语言之间的差别,采用了自定义数 据表示,就是由数据本身来表明数据类型,这样可以使每种指令 的种类大为减少,称为通用化指令。自定义数据表示有带标志符 数据表示和数据描述符表示。 (1)带标志符数据表示就是对每一个数据都附加一个标志符, 由这个标志符来表示这个数据的类型。这种表示法的优点是:简 化指令系统;易于对编程查错;自动类型转换;简单化编译;方 便程序调试。缺点是增加存储空间又使指令执行速度变慢。 (2)数据描述符表示,主要用来描述复杂和多维结构的数据 类型,如向量、记录等。它与带标志符数据表示不同之处是: ①标志符与每个数据相连,两者合存在一个存储单元中;而 描述符则和数据分开存放; ②要访问数据集中的元素时,先访问描述符,这至少增加一 级寻址; ③描述符看成是程序一部分,而不是数据的一部分。标志符 则可看作是数据的一部分。

计算机系统结构 第 2 章 指令集结构

计算机系统结构 第 2 章 指令集结构
2014-3-8 9
2.1 指令系统结构的分类
• • • • • • 1. 指令系统分类的准则 ⑴ 在CPU中操作数的存放方法。 ⑵ 在每条指令中,显式指明的操作数个数。 ⑶ 操作数的寻址方式。 ⑷ 指令系统所提供的操作类型。 ⑸ 操作数的类型与大小。
2014-3-8
10
2.指令系统结构的分类
• • • • 按在CPU中操作数的存放方法可分为: ⑴ 堆栈型 ⑵ 累加器型 ⑶ 通用寄存器型
2014-3-8
21
4. 编址单位
• ⑴ 字编址:以访问一次设备所获得的信息量 为单位进行编址。 • ⑵ 字节编址:以字节为单位进行编址。 • ⑶ 位编址:按二进制位编址。
2014-3-8
22
按字节编址时需解决的问题
• ① 多字节数据的存放顺序 • 小端排序:将一个字中的低位字节存放在低地址 单元中。 • 大端排序:将一个字中的高位字节存放在低地址 单元中。 • 小端排序符合从右向左进位的硬件习惯;大端排 序符合程序员从左向右的编程习惯。
• 5. 按地址寻址方式(略,P47)
• 寻址方式的使用频度:
• R寻址->直接->变址->单字位移->自增->R间址->自减 • 高 -------------------------- 低
2014-3-8
26
2.2.2 按内容访问方式
• • • • • 1. 按内容访问方式 按照要访问的数据的内容访问内存。 2. 联想存储器(相联存储器、按内容访问存储器) 满足按内容访问方式的存储器。 联想存储器的主要特点:以并行方式在存储器中 查找所需信息的内容。 • 3. 按内容访问的方法 • 通过硬件将要访问的内容与存储单元的内容进行 比较,若相同,则进行访问。

计算机体系结构第2版课件第2章 第3讲

计算机体系结构第2版课件第2章  第3讲
MIPS的浮点操作有:加、减、乘、除。
MIPS中的常用指令
条件分支
整型比较

compress eqntott
espresso

gcc
li
0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00%
指令使用频率的整型平均
MIPS中的常用指令
浮点寄存器移动 浮点减
doduc hydro2d su2cor
寄存器型跳转并链接 Regs[R31]←PC+4; PC← Regs[R2];
“等于0”分支
if (Regs[R4]==0) PC ← name+ PC+4;-215≤name ≤215
“不等于0”分支
if (Regs[R4]!=0) PC ← name+ PC+4;-215≤name ≤215
6 操作码
符号“##”用来表示两个域的串联操作, 它可以出现在数据传送操作的任何一边。
MIPS指令集结构:操作类型
域的下标用来表明从该域中选择某一位。域 中位的标记是从最高位开始标记,并且起始 标记为0。下标可以是一个单独的数字,如 Regs[R4]0表示选择寄存器R4中内容的 符号位;下标也可以是一个范围,如 Regs[R3]24..31表示选择寄存器R3中内容 的最低一个字节。
MIPS指令集结构:操作类型
上标表示复制一个域,如024可以得到一个 24位全为0的一个域。
变量Mem用来表示存储器中的一个数组, 存储器按照字节寻址,它可以传送任何数目 的字节。
MIPS指令集结构:操作类型
Regs[R10]16..31 16 (Mem[Regs[R8]]0)8 ## Mem[Regs[R8]]

《指令集结构》课件

《指令集结构》课件

指令的格式与编码方式
指令的格式决定了指令的组成方式和字段含义,而编码方式决定了指令如何在计算机中存储和传 输。
直接编码 间接编码 立即数编码
指令的操作码和操作数直接编码在指令中。 指令的操作数通过地址或寄存器间接引用。 指令中直接包含了操作数的值。
指令的执行过程和流水线结构
1
取指令(IF)
从内存中获取指令。
R IS C (精简指令集计算机)
精简的RISC架构采用更简单的指令集,执行效 率高,但需要更多指令来完成复杂的操作。
指令ห้องสมุดไป่ตู้的设计原则与考虑因素
1 简洁性
指令集应尽量简洁明了,易于编码和解码。
2 效率
指令的执行效率和资源利用率是设计指令集时需要考虑的重要因素。
3 兼容性
新的指令集应与现有的指令集兼容,以便支持现有软件。
指令集的分类与特点
C IS C (复杂指令集计算机)
特点:指令多样、复杂,执行一条指令可能需要多个时钟周期。
R IS C (精简指令集计算机)
特点:指令简单、精简,执行一条指令只需要一个时钟周期。
常见的指令集架构:C IS C 与R IS C
C IS C (复杂指令集计算机)
传统的CISC架构包含大量复杂的指令,可以完 成复杂的操作,但执行效率较低。
《指令集结构》PPT课件
本课件将介绍指令集结构的定义与概述,不同指令集的分类与特点,常见的 CISC和RISC架构,指令集的设计原则与考虑因素,指令的格式与编码方式,指 令的执行过程和流水线结构,以及指令集结构的发展趋势。
指令集结构的定义与概述
指令集结构是计算机体系结构的核心之一,它定义了计算机能够执行的指令 以及这些指令的格式和编码方式。

计算机体系结构第2版课件第2章 第1讲

计算机体系结构第2版课件第2章  第1讲
和累加器。 操作数地址隐含表示或显式表示。
指令集与计算机的性能
TCPU CPI IC TCLK
源程序
指令集
指令译码
指令编码
优化编译器
目标代码
CPI和数据通路 复杂度
2. 指令集结构的分类
一般来说,可以从如下五个因素考虑对计算 机指令集结构进行分类,即:
在CPU中操作数的存储方法; 指令中显式表示的操作数个数; 操作数的寻址方式; 指令集所提供的操作类型; 操作数的类型和大小。
两种主要的指令特性能够将通用寄存器型指 令集结构(GPR)进一步细分。
ALU指令到底有两个或是三个操作数? 在ALU指令中,有多少个操作数可以用存储器
来寻址,也即有多少个存储器操作数?
通用寄存器型指令集结构的分类
ALU指令中 存储器操作 数的个数
0
ALU指令中 操作数的最多
个数
3
结构 类型
RR
机器实例
MIPS, SPARC, Alpha, PowerPC, ARM
1
2
RM
IBM 360/370, Intel 80x86, Motorola 6800
3
RM
IBM 360/370
2
2
MM
VAX
3
3
MM
VAX
通用寄存器型指令集结构的分类
可以将当前大多数通用寄存器型指令集结构 进一步细分为三种类型:
缺点:
由于有一个操作数的内容将被破坏,所以指令中的两个操 作数不对称。在一条指令中同时对寄存器操作数和存储器 操作数进行编码,有可能限制指令所能够表示的寄存器个 数。指令的执行时钟周期因操作数的来源(寄存器或存储 器)的不同而差别比较大。

计算机系统结构(第3版)教学课件第2章 计算机指令集结构

计算机系统结构(第3版)教学课件第2章 计算机指令集结构
主要是因为在存储器中所保存的数据并不是十分 集中,需要使用不同的偏移量才能对其进行访问。
➢ 较小的偏移量和较大的偏移量均占有相当大 的比例

19/75
2.2 寻址方式
5. 立即数寻址方式 ➢ 立即数寻址方式的使用频度
指令类型
使用频度
整型平均
浮点平均
load指令
23%
22%
ALU指令
25%
19%
所有指令
3. 将指令集结构分为三种类型

3/75
2.1 指令集结构的分类
➢ 堆栈结构 ➢ 累加器结构 ➢ 通用寄存器结构
根据操作数的来源不同,又可进一步分为: 寄存器-存储器结构(RM结构)
(操作数可以来自存储器 ) 寄存器-寄存器结构(RR结构)
(所有操作数都是来自通用寄存器组) 也称为load-store结构,这个名称强调:只有
Add R3 , (R1 + R2) Add R1 , (1001)
Add R1 , @(R3)
Regs[R3]←Regs[R3]+Mem[Regs[R1]+Regs[R2]] Regs[R1]←Regs[R1]+Mem[1001] Regs[R1]←Regs[R1]+Mem[Mem[Regs[R3]]]
6. 通用寄存器结构 ➢ 现代指令集结构的主流 ➢ 在灵活性和提高性能方面有明显的优势
跟其他的CPU内部存储单元一样,寄存器的访问 速度比存储器快。
对编译器而言,能更加容易、有效地分配和使用 寄存器。
寄存器可以用来存放变量。 (1)减少对存储器的访问,加快程序的执行速度; (因为寄存器比存储器快)
在load-store结构的机器(Alpha)上运行SPEC CPU2000基准程序

计算机系统结构-2

计算机系统结构-2

SPECfp92² â ¿ Á ³ Í Æ ¼ á ½ û ¸
8
9
10 11 12 13 14 15
x轴的标记是对偏移量大小进行log2(· )运算 所得,也就是偏移量字段的位数。
20
第二章
计算机指令集结构设计
◆ 程序所使用的偏移量大小分布十分广泛;
◆ 较小的偏移量和较大的偏移量均占有相当大的比例;
55% 43% 39% 32% 40%
24% 16% 1% 6% 1% 0% 6% 3% 11% 17%
Ö ²
Ö ²
Ö ²
Ö ²
Ñ °
Ñ °
Ñ °
Ñ °
² Å
½ Ó
½ Ó
¼ ´
¼ ä
Ë õ
¼ ä
Á ¢
Æ ÷
´ ¢
´ æ
立即值寻址方式和偏移寻址方式的使用频率十分高。
¼ Ä
´ æ
Æ ÷
Æ «
Ò Æ
Ñ °
Add C, A, B
第二章
计算机指令集结构设计
• 三种类型的优缺点比较
优点 缺点 R-R 简单, 定长指令编码。 简 指令数多,一些编码位浪 (0,3) 单代码生成模式。 指令执 费。 行的时钟周期数相近。 R-M 数据不必先取再访问。 指 操作数不对等, 一个操作数 (1,2) 令格式易于编码, 代码密 会被破坏。一条指令中的 度较高。 Reg 数受限。 指令执行时钟 周期数不同。 M-M 代码密度最高。 不必浪费 指令长度变化大, 指令执行 (3,3) Reg 存放临时变量 所需时钟周期数变化大, 存 储器成为系统性能瓶颈。
强化指令功能,实现软件功能向硬件功能转移。 增强指令功能,设臵一些功能复杂的指令,把一些原 来由软件实现的、常用的功能改用硬件的指令系统来实 现,这种计算机称为复杂指令集计算机
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令字长多种多样。每条指令的 存储器-存 是一种最紧密的编 储器型 码方式,无需“浪费”执行时钟周期数也大不一样,对存 储器的频繁访问将导致存储器访问 (3,3) 寄存器保存变量。 瓶颈问题。
第二章 计算机指令集结构设计
2.2
寻址技术
1. 在通用寄存器指令集结构中,一般是利用寻址方 式指明指令中的操作数是一个常数、一个寄存器 操作数,抑或是一个存储器操作数。 2. 当前指令集结构中所使用的一些操作数寻址方式。
根据五个因素对计算机指令集结构进行分类:
(1) 在CPU中操作数的存储方法
(2) 指令中显式表示的操作数个数 (3) 操作数的寻址方式
(4) 指令集所提供的操作类型
(5) 操作数的类型和大小
4/81
2.1 指令集结构的分类
CPU中操作数的存储方法,是各种指令集结构
之间最主要的区别所在。
1. CPU中用来存储操作数的存储单元主要有: 堆栈
堆栈 累加器
一组寄存器
2/3
寄存器或存 Load/Store寄存 储器 器或存储器
6/81
2.1 指令集结构的分类
4. 根据CPU内部存储单元类型进行分类,可以分为

堆栈型指令集结构 累加器型指令集结构

通用寄存器型指令集结构
例 C=A+B表达式在这三种类型指令集结构上的
实现方法。假设A、B、C均是保存在存储器单元中,
计算机系统结构 全套精品课件
2/81
第二章 计算机指令集结构设计
2.1 2.2 2.3 2.4 2.5
指令集结构的分类 寻址技术 指令集结构的功能设计 操作数的类型、表示和大小 指令集格式的设计
2.6 DLX指令集结构
3/81
第二章 计算机指令集结构设计
2.1 指令集结构的分类
2.1.1 指令集结构分类
16/81
寻址方式 寄存器寻址
指令实例 Add R4 , R3



Regs[R4]←Regs[R4]+Regs[R3]
立即值寻址
偏移寻址 寄存器间接寻址 索引寻址 直接寻址或绝对寻 址 存储器间接寻址
Add R4 , #3
且A和B的值在运算过程中一直被保持。
7/81
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
3. 两种主要的指令特性能够将通用寄存器指令集结构
(GPR)进一步细分 (1) ALU指令到底有两个或是三个操作数?
◆ 有三个操作数的指令:两个源操作数
一个结果操作数
11/81
2.1 指令集结构的分类
◆ 有两个操作数的指令:一个操作数既作为源操
作数,也作为目的操作数。 (2) 在ALU指令中,有多少个操作数可以用存储器来寻 址,也即有多少个存储器操作数? 一般来说,ALU指令有0~3个存储器操作数。
指令中的操作数类型不同。在一 可以直接对存储器操 条指令中同时对一个寄存器操作数 寄存器-存 作数进行访问,容易 和存储器操作数进行编码,将限制 对指令进行编码,且 指令所能够表示的寄存器个数。由 储器型 其目标代码较小。 (1,2) 于指令的操作数可以存储在不同类 型的存储器单元,所以每条指令的 执行时钟周期数也不尽相同。

累加器 一组寄存器
2. 指令中的操作数可以显式给出,也可以隐式地给出。
3. CPU对操作数的不同存取方式
5/81
CPU对操作数的不同存取方式
CPU提供的
暂存器
每条ALU指令显式表示的
操作数个数 0 1
运算结果的
目的地 堆栈 累加器
访问显式操作数的
过程 Push/Pop Load/Store 累加器
(4) 常见的三种通用寄存器型指令集结构的优缺点 注:表中(m,n)的含义是, 指令的n个操作 数中有m个存储器操作数。
14/81
指令集结构 类型
优 点
缺 点
简单,指令字长固 寄存器-寄 定,是一种简单的代 和指令中含有对存储器操作数访问 存器型 码生成模型,各种指 的结构相比,指令条数多,因而其 (0,3) 令的执行时钟周期数 目标代码较大。 相近。
Add R3,R1,R2
POP C
Store C,R3
8/81
三种类型指令集结构的优缺点
指令集结 构类型 优 点 缺 点
堆栈型
堆栈不能被随机访问,从而很难生 简单模型;指令短小。成有效代码。同时,由于堆栈是瓶颈, 所以很难被高效地实现。 是一种表示计算的 减小了机器的内部 由于累加器是唯一的暂存器,这种
12/81
ALU指令中,存储器操作数个数和操作数个数的 所有可能组合,以及相应的机器实例 ALU指令中存储器 操作数个数 0 ALU指令中操作数的 最大个数 机器实例
2
3 2
IBM RT-PC
SPARC,MIPS PDP-10 , IBM 360 , Motorola 68000
1
3
2 3 3
IBM360的部分指令
累加器型
状态;指令短小。
机器的存储器通信开销最大。
所有操作数均需命名,且显式表示, 因而指令比较长。
是代码生成最一般 寄存器型 的模型。
9/81
2.1 指令集结构的分类
2.1.2 通用寄存器型指令集结构的分类
1. 通用寄存器型指令集结构的主要优点
使编译器有效地使用寄存器。 (1) 在表达式求值方面,比其它类型指令集结构 具有更大的灵活性; (2) 寄存器可以用来存放变量。
◆ 减少存储器的通信量,加快程序的执行速度。
(因为寄存器比存储器快)
◆ 可以用更少的地址位来寻址寄存器,从而可
以有效改进程序的目标代码大小。
10/81
2.1 指令集结构的分类
2. CPU需要设置多少个寄存器呢? 主要由编译器使用寄存器的情况来决定。

为表达式求值保留一些寄存器 为传递参数保留一些寄存器 用剩下的寄存器来保存变量
PDP-11, 部分IBM360 指令
2
3
VAX
13/81
2.1 指令集结构的分类
(3)

通用寄存器指令集结构进一步细分为三种类型: 寄存器 --- 寄存器型(R-R:register-register) 寄存器 --- 存储器型(R-M:register-memory)

存储器 --- 存储器型(M-M:memory-memory)
相关文档
最新文档