计算机组成原理第四章 第4讲 指令和数据的寻址方式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在用微程序实现复杂指令与用简单指令组成的子程 序相比,没有多大的区别。因为现在控制存储器和主 存的速度差缩小。
CISC中,通过增强指令系统的功能,简化了软件,增 加了硬件的复杂程度。指令复杂了,指令的执行时间 必然加长,从而使整个系统的执行时间反而增加,因 而在计算机体系结构设计中,软硬件的功能分配必须 恰当
字符串处理指令 特权指令、复位、测试指令等
➢ 基本指令4系.5统典型指令
P132表4.11介绍
20%和80%规律:CISC中大约有20%的指令使 用频率高,占据了80%的处理机时间,而有 80%的不常用指令只占用处理机的20%时间。
➢ VLSI技术4发.5展典引型起的指问令题
VLSI工艺要求规整性,而大量复杂指令控制逻辑极其 不规整,给VLSI工艺造成了很大的困难。
➢ 要求: (1)分析三种指令格式与寻址方式特点。
(2)CPU完成哪一种操作所花时间最短?哪 一种操作所花时间最长?第二种指令的执行 时间有时会等于第三种指令的执行时间吗?
(3)下列情况下每个十六进制指令字分别代 表什么操作?其中如果有编码不正确,如何 改正才能成为合法指令?
①(F0F1)H (3CD2)H ② (2856)H
➢ 这样寻址有何优势:
间接寻址多次访存,寄存器间接寻址减少访存 次数
指令中的地址短 使用较为广泛
7、偏移寻址
➢ 直接寻址+寄存器间接寻址=偏移寻址 ➢ EA= (Ri) + A ➢ Ri可能是某个隐含寄存器
7、偏移寻址----相对寻址
由程序计数器PC提供基准地址 指令地址码=偏移量D EA=(PC)+D。
(3)根据传送信息的种类不同,系统总线分为______。
A. 地址线和数据线 B. 地址线、数据线和控制线
C. 数据线和控制线 D. 地址线、数据线和响应线
(4)在指令的地址字段中,直接给出操作数本身的寻址方 式,称为______。
A. 隐含寻址
B. 立即寻址
C. 寄存器寻址 D. 直接寻址
(5)一个组相联Cache由64块(行)组成,每组4块 (行),主存储器包含4K个块,每块128字,则主存地 址格式中标记字段的位数为_________位。
(a)串行执行4次浮点运算所需的时间是多少? (b)流水执行4次浮点运算所需的时间是多少? (c)若各段的执行时间分别为2ns,3ns,2ns,流水执行4次浮
点运算所需的时间是多少?
➢ 考试结束 ➢ 写上学号姓名 ➢ 交卷
偏移量 16位
偏移量突破了 段内限制,自
由度更高
11 堆栈寻址
➢ 隐含的堆栈指示器(可以是寄存器或者内 存空间)
➢ 进栈加1,退栈减1
寻址方式举例: Pentium
Pentium寻址方式
方式 立即 寄存器 偏移量 基址 基址带偏移量 比例变址带偏移量 基址带变址和偏移量 基址带比例变址和偏移量 相对
形成操作数有效地址的方法
eg:
操作码
变址
间址
形式地址
OP
X
I
A
如无变址、间址,形式地址(也叫偏移 量)就是有效地址
主要有:
相对寻址 基址寻址 变址寻址
段寻址
1、隐含寻址
➢ 指令中隐含着操作数的地址 ➢ Eg.如某些运算(单地址码的指令),隐含了累加
器AC作为源和目的寄存器 ➢ Eg.如8086汇编中的STC指令,设置标志寄存器
例题:
➢ 某16位机器所使用的指令格式和寻址方式如图所 示,该机有两个20位基址寄存器,四个16位变址 寄存器,十六个16位通用寄存器。指令汇编格式 中的S(源),D(目标)都是通用寄存器,M是 主存中的一个单元。三种指令的操作码分别是
➢ MOV(OP)=(A)H, MOV是传送指令, ➢ STO(OP)=(1B)H, STO为存数指令, ➢ LAD(OP)=(3C)H。 LAD为取数指令。
运算类指令
• 算术运算指令: 加、减、乘、除以及加1、减1、 比较
• 逻辑运算指令: • 移位指令
4.5 典型指令
程序控制类指令
• 程序控制类指令用于控制程序的执行方向,并使程 序具有测试、分析与判断的能力。
输入和输出指令(有的机器没有此类指令, 因为外设存储器被统一编址)、字符串处理指 令、特权指令、其他指令
的C为1
2、立即寻址
➢ 立即寻址 立即数包含在指令中。
指令格式:
2、立即寻址
➢ 特点:
高速 操作数不能更改,缺灵活性
• eg.程序中对学生分成5组,不能修改
操作数大小受限(为什么?)
➢ 常用于:
赋初值 定义常量
3、直接寻址
➢ 指令中地址码字段给出的地址A就是操作数 的有效地址EA(Effective Address),即EA =A,D=(A)
➢ wk.baidu.com令的寻址方式
顺序方式 PC 跳跃方式
4.4 指令和数据的寻址方式
➢ 操作数的寻址方式
操作数通常放在哪儿呢?
➢ 操作数的可能位置:
指令中; 寄存器; 主存储器中; I/O设备的端口中
4.4 指令和数据的寻址方式
➢ 根据操作数放在不同的地方,从而派生各
种不同的寻址方式,往往不同的计算机具 有不同的寻址方式。
操作数保5存、在寄寄存存器中器,寻即 址
• EA=Ri • D=(Ri)
5、寄存器寻址
特点: (1) 快。比内存访问快 (2)寄存器数量少:
地址码短 可用空间少
6、寄存器间接寻址
➢ 操作数放在主存储器中, ➢ 而操作数的地址放在某一通用寄存器中 ➢ EA=(Ri) D=((Ri))
6、寄存器间接寻址
指令和数据的寻址方式
4.4 指令和数据的寻址方式
➢ 思考问题:
如何获取本指令中指定的操作数? 如何获得下一条指令的地址?
➢ 寻址 ➢ 寻址方式是指CPU根据指令中给出的地址
码字段寻找相应的操作对象的方式。
➢ 寻址包括两类:指令寻址与操作数寻址
标记黄色五星表示
4.4 指令和数据的寻址方此材式处配内套容的可CA观I动看画教
➢ ④ (1C2)H是单字长指令,代表MOV指 令,但编码错误,
0000 0001 1100 0010 可改正为 0010 1001 1100 0010 ➢ (29C2)H。
4.5 典型指令
➢ 指令分类与基本指令类型
数据传送类指令
• 一般传送指令: MOV AX,BX • 数据交换指令: XCHG • 堆栈操作指令: PUSH,POP
③(6FD6)H
④ (1C2)H
➢ 解答:
(1)第一种指令是单字长二地址指令,RR 型;第二种指令是双字长二地址指令,RS 型,其中S采用基址寻址或变址寻址,R由 源寄存器决定;第三种也是双字长二地址 指令,RS型,R由目标寄存器决定,S由20 位地址(直接寻址)决定。
➢ (2)处理机完成第一种指令所花的时间最 短,因为RR型指令,不需要访问存储器。 第二种指令所花的时间最长,因为RS型指 令,需要访问存储器。同时要进行寻址方 式的变换运算(基址或变址),这也需要 时间。第二指令的执行时间不会等于第三 种指令,因为第三种指令虽然也访问存储 器,但节省了求有效地址运算的时间开销。
➢ (3)根据以知条件: ➢ MOV(OP)=00 1010, ➢ STA(OP) =01 1011, ➢ LDA(OP) =11 1100,
将指令转为二进制序列比较: ①(F101F111)00H00(11311C0D020)1 0H011 1100 1101 0010
LAD 15号寄存器
13CD2
OP -- 通用寄存器
I
X
偏移量D
➢ 其中,I为间接寻址标志位,X为寻址模式字 段,D为偏移量字段。通过I,X,D的组合 可构成多种寻址方式。
➢ 看教材P129表4.10所示的寻址方式。
➢ I表示是否间接寻址
I=1表示间接寻址 I=0表示非间接寻址
➢ X寻址模式:
00直接寻址 01相对寻址 10变址寻址 11基址寻址
A.7 B. 4 C. 8 D. 6
2.填空(6’ ×5=30’) (1)已知 X = 0.1101,Y = - 0.0110,则[Y]补为_____ ,
[X+Y]补为___________,是否溢出_________。 (2)在Cache-主存层次中,常用的地址映射方法有
_____________,全相联映射和组相联映射三种。 (3)计算机系统中的存储器分为内存和外存,在CPU执行
9、偏移寻址----变址寻址
➢ 基准地址出现在指令中 ➢ 偏移量出现在寄存器Rx中 ➢ EA=A+(Rx)
9、偏移寻址----变址寻址
➢ 应用:
被广泛采用 遇到需要频繁修改操作数地址时,无须修改指
令,只要修改Rx中的变址值就可以 数组、字符串的成批数据处理
10、段寻址方式
➢ 分段:寄1存M器主存 = 64K * 16= 216 * 24 16位左移四位
算法 作数=A LA=R LA=(SR)+A LA=(SR)+(B) LA=(SR)+(B)+A LA=(SR)+(I)×S+A LA=(SR)+(B)+(I)+A LA=(SR)+(B)+(I)×S+A LA=(PC)+A
Power PC寻址方式
➢ P129表4.9所示
例题:p129 例4
➢6位一种二地址R4S位型指令的1结位构如2位下图所1示6位:
➢ P137
3、4、8、9
作业
课程学了一半了…
中期大酬宾~ 随堂小测验!
➢ 中期优惠大酬宾:
不要998 不是98 只要68! 你没有看错, 真的只要你考68 ! 核心知识的展示 关键考题的分析 真实考场的体验 答题不要钱 看书不计费 真的实时现场考试哦!! 不要再犹豫了 马上拿起笔和纸作答吧~
3、直接寻址
➢ 特点:
简单快速,便于硬件实现 主存容量的增长引发问题:
• 指令长度不够用
4、间接寻址
➢ 寻址过程:如图 ➢ 操作数的有效地址的计算公式为:
EA=(A) D=((A))
4、间接寻址
➢ 特点:
地址在主存储器中,可以被灵活的修改
• 形参实参,传值、传地址
操作灵活 两次访存增加时间耗费
7、偏移寻址----相对寻址
➢ 特点:
程序模块内可使用相对地址 无需表明真实的内存地址 增加灵活性
8、偏移寻址----基址寻址
➢ 约定基址寄存器Rb ➢ 指令地址码给出偏移量D ➢ EA=(Rb)+D
8、偏移寻址----基址寻址
➢ 特征:
基准地址出现在基址寄存器中 偏移量出现在指令中
1.单选题(6’ ×5=30’)
(1)完整的计算机系统应包括______。
A.运算器、存储器、控制器 B. 主机和实用程序
C.配套的硬件设备和软件系统 D. 外部设备和主机
(2)已知y = + 0.10001,则 [y]补为______。
A. 1.10001 B. 0.01111 C. 1.01111 D. 0.10001
程序时,必须将指令存放在_____________中。 3.计算(20’ ×2=40’) (1)用2K*4位RAM芯片组成4K*8的随机存储器,问;
(a)共需多少芯片? (b)存储器的地址寄存器 (MAR)和数据寄存器(MDR)分别为多少位? (2)(13分)某计算机将浮点运算过程分为阶码比较、对 阶、尾数加减3个段,若各段的执行时间均为2ns,则:
4.5 典型指令
➢ RISC特点
只定义简单、频繁使用的指令 指令长度固定 格式种类少 大部分指令可以单指令周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式
本章小结
✓ 指令系统的地位 ✓ 指令格式:功能、字长 ✓ 指令的寻址 ✓ 操作数的寻址 ✓ 指令的分类与实例
把主存13CD2的内存装载到15号寄存器
➢ ② (2856)H
➢ 0010 1000 0101 0110 代表MOV指令,编码正确,含义是把5号源
寄存器的内容传送至6目标寄存器。 ➢ ③(6FD6)H是单字长指令,一定是MOV
指令,但编码错误,
0110 1111 1101 0110 可改正为0010 1011 1101 0110 (2BD6)H。
CISC中,通过增强指令系统的功能,简化了软件,增 加了硬件的复杂程度。指令复杂了,指令的执行时间 必然加长,从而使整个系统的执行时间反而增加,因 而在计算机体系结构设计中,软硬件的功能分配必须 恰当
字符串处理指令 特权指令、复位、测试指令等
➢ 基本指令4系.5统典型指令
P132表4.11介绍
20%和80%规律:CISC中大约有20%的指令使 用频率高,占据了80%的处理机时间,而有 80%的不常用指令只占用处理机的20%时间。
➢ VLSI技术4发.5展典引型起的指问令题
VLSI工艺要求规整性,而大量复杂指令控制逻辑极其 不规整,给VLSI工艺造成了很大的困难。
➢ 要求: (1)分析三种指令格式与寻址方式特点。
(2)CPU完成哪一种操作所花时间最短?哪 一种操作所花时间最长?第二种指令的执行 时间有时会等于第三种指令的执行时间吗?
(3)下列情况下每个十六进制指令字分别代 表什么操作?其中如果有编码不正确,如何 改正才能成为合法指令?
①(F0F1)H (3CD2)H ② (2856)H
➢ 这样寻址有何优势:
间接寻址多次访存,寄存器间接寻址减少访存 次数
指令中的地址短 使用较为广泛
7、偏移寻址
➢ 直接寻址+寄存器间接寻址=偏移寻址 ➢ EA= (Ri) + A ➢ Ri可能是某个隐含寄存器
7、偏移寻址----相对寻址
由程序计数器PC提供基准地址 指令地址码=偏移量D EA=(PC)+D。
(3)根据传送信息的种类不同,系统总线分为______。
A. 地址线和数据线 B. 地址线、数据线和控制线
C. 数据线和控制线 D. 地址线、数据线和响应线
(4)在指令的地址字段中,直接给出操作数本身的寻址方 式,称为______。
A. 隐含寻址
B. 立即寻址
C. 寄存器寻址 D. 直接寻址
(5)一个组相联Cache由64块(行)组成,每组4块 (行),主存储器包含4K个块,每块128字,则主存地 址格式中标记字段的位数为_________位。
(a)串行执行4次浮点运算所需的时间是多少? (b)流水执行4次浮点运算所需的时间是多少? (c)若各段的执行时间分别为2ns,3ns,2ns,流水执行4次浮
点运算所需的时间是多少?
➢ 考试结束 ➢ 写上学号姓名 ➢ 交卷
偏移量 16位
偏移量突破了 段内限制,自
由度更高
11 堆栈寻址
➢ 隐含的堆栈指示器(可以是寄存器或者内 存空间)
➢ 进栈加1,退栈减1
寻址方式举例: Pentium
Pentium寻址方式
方式 立即 寄存器 偏移量 基址 基址带偏移量 比例变址带偏移量 基址带变址和偏移量 基址带比例变址和偏移量 相对
形成操作数有效地址的方法
eg:
操作码
变址
间址
形式地址
OP
X
I
A
如无变址、间址,形式地址(也叫偏移 量)就是有效地址
主要有:
相对寻址 基址寻址 变址寻址
段寻址
1、隐含寻址
➢ 指令中隐含着操作数的地址 ➢ Eg.如某些运算(单地址码的指令),隐含了累加
器AC作为源和目的寄存器 ➢ Eg.如8086汇编中的STC指令,设置标志寄存器
例题:
➢ 某16位机器所使用的指令格式和寻址方式如图所 示,该机有两个20位基址寄存器,四个16位变址 寄存器,十六个16位通用寄存器。指令汇编格式 中的S(源),D(目标)都是通用寄存器,M是 主存中的一个单元。三种指令的操作码分别是
➢ MOV(OP)=(A)H, MOV是传送指令, ➢ STO(OP)=(1B)H, STO为存数指令, ➢ LAD(OP)=(3C)H。 LAD为取数指令。
运算类指令
• 算术运算指令: 加、减、乘、除以及加1、减1、 比较
• 逻辑运算指令: • 移位指令
4.5 典型指令
程序控制类指令
• 程序控制类指令用于控制程序的执行方向,并使程 序具有测试、分析与判断的能力。
输入和输出指令(有的机器没有此类指令, 因为外设存储器被统一编址)、字符串处理指 令、特权指令、其他指令
的C为1
2、立即寻址
➢ 立即寻址 立即数包含在指令中。
指令格式:
2、立即寻址
➢ 特点:
高速 操作数不能更改,缺灵活性
• eg.程序中对学生分成5组,不能修改
操作数大小受限(为什么?)
➢ 常用于:
赋初值 定义常量
3、直接寻址
➢ 指令中地址码字段给出的地址A就是操作数 的有效地址EA(Effective Address),即EA =A,D=(A)
➢ wk.baidu.com令的寻址方式
顺序方式 PC 跳跃方式
4.4 指令和数据的寻址方式
➢ 操作数的寻址方式
操作数通常放在哪儿呢?
➢ 操作数的可能位置:
指令中; 寄存器; 主存储器中; I/O设备的端口中
4.4 指令和数据的寻址方式
➢ 根据操作数放在不同的地方,从而派生各
种不同的寻址方式,往往不同的计算机具 有不同的寻址方式。
操作数保5存、在寄寄存存器中器,寻即 址
• EA=Ri • D=(Ri)
5、寄存器寻址
特点: (1) 快。比内存访问快 (2)寄存器数量少:
地址码短 可用空间少
6、寄存器间接寻址
➢ 操作数放在主存储器中, ➢ 而操作数的地址放在某一通用寄存器中 ➢ EA=(Ri) D=((Ri))
6、寄存器间接寻址
指令和数据的寻址方式
4.4 指令和数据的寻址方式
➢ 思考问题:
如何获取本指令中指定的操作数? 如何获得下一条指令的地址?
➢ 寻址 ➢ 寻址方式是指CPU根据指令中给出的地址
码字段寻找相应的操作对象的方式。
➢ 寻址包括两类:指令寻址与操作数寻址
标记黄色五星表示
4.4 指令和数据的寻址方此材式处配内套容的可CA观I动看画教
➢ ④ (1C2)H是单字长指令,代表MOV指 令,但编码错误,
0000 0001 1100 0010 可改正为 0010 1001 1100 0010 ➢ (29C2)H。
4.5 典型指令
➢ 指令分类与基本指令类型
数据传送类指令
• 一般传送指令: MOV AX,BX • 数据交换指令: XCHG • 堆栈操作指令: PUSH,POP
③(6FD6)H
④ (1C2)H
➢ 解答:
(1)第一种指令是单字长二地址指令,RR 型;第二种指令是双字长二地址指令,RS 型,其中S采用基址寻址或变址寻址,R由 源寄存器决定;第三种也是双字长二地址 指令,RS型,R由目标寄存器决定,S由20 位地址(直接寻址)决定。
➢ (2)处理机完成第一种指令所花的时间最 短,因为RR型指令,不需要访问存储器。 第二种指令所花的时间最长,因为RS型指 令,需要访问存储器。同时要进行寻址方 式的变换运算(基址或变址),这也需要 时间。第二指令的执行时间不会等于第三 种指令,因为第三种指令虽然也访问存储 器,但节省了求有效地址运算的时间开销。
➢ (3)根据以知条件: ➢ MOV(OP)=00 1010, ➢ STA(OP) =01 1011, ➢ LDA(OP) =11 1100,
将指令转为二进制序列比较: ①(F101F111)00H00(11311C0D020)1 0H011 1100 1101 0010
LAD 15号寄存器
13CD2
OP -- 通用寄存器
I
X
偏移量D
➢ 其中,I为间接寻址标志位,X为寻址模式字 段,D为偏移量字段。通过I,X,D的组合 可构成多种寻址方式。
➢ 看教材P129表4.10所示的寻址方式。
➢ I表示是否间接寻址
I=1表示间接寻址 I=0表示非间接寻址
➢ X寻址模式:
00直接寻址 01相对寻址 10变址寻址 11基址寻址
A.7 B. 4 C. 8 D. 6
2.填空(6’ ×5=30’) (1)已知 X = 0.1101,Y = - 0.0110,则[Y]补为_____ ,
[X+Y]补为___________,是否溢出_________。 (2)在Cache-主存层次中,常用的地址映射方法有
_____________,全相联映射和组相联映射三种。 (3)计算机系统中的存储器分为内存和外存,在CPU执行
9、偏移寻址----变址寻址
➢ 基准地址出现在指令中 ➢ 偏移量出现在寄存器Rx中 ➢ EA=A+(Rx)
9、偏移寻址----变址寻址
➢ 应用:
被广泛采用 遇到需要频繁修改操作数地址时,无须修改指
令,只要修改Rx中的变址值就可以 数组、字符串的成批数据处理
10、段寻址方式
➢ 分段:寄1存M器主存 = 64K * 16= 216 * 24 16位左移四位
算法 作数=A LA=R LA=(SR)+A LA=(SR)+(B) LA=(SR)+(B)+A LA=(SR)+(I)×S+A LA=(SR)+(B)+(I)+A LA=(SR)+(B)+(I)×S+A LA=(PC)+A
Power PC寻址方式
➢ P129表4.9所示
例题:p129 例4
➢6位一种二地址R4S位型指令的1结位构如2位下图所1示6位:
➢ P137
3、4、8、9
作业
课程学了一半了…
中期大酬宾~ 随堂小测验!
➢ 中期优惠大酬宾:
不要998 不是98 只要68! 你没有看错, 真的只要你考68 ! 核心知识的展示 关键考题的分析 真实考场的体验 答题不要钱 看书不计费 真的实时现场考试哦!! 不要再犹豫了 马上拿起笔和纸作答吧~
3、直接寻址
➢ 特点:
简单快速,便于硬件实现 主存容量的增长引发问题:
• 指令长度不够用
4、间接寻址
➢ 寻址过程:如图 ➢ 操作数的有效地址的计算公式为:
EA=(A) D=((A))
4、间接寻址
➢ 特点:
地址在主存储器中,可以被灵活的修改
• 形参实参,传值、传地址
操作灵活 两次访存增加时间耗费
7、偏移寻址----相对寻址
➢ 特点:
程序模块内可使用相对地址 无需表明真实的内存地址 增加灵活性
8、偏移寻址----基址寻址
➢ 约定基址寄存器Rb ➢ 指令地址码给出偏移量D ➢ EA=(Rb)+D
8、偏移寻址----基址寻址
➢ 特征:
基准地址出现在基址寄存器中 偏移量出现在指令中
1.单选题(6’ ×5=30’)
(1)完整的计算机系统应包括______。
A.运算器、存储器、控制器 B. 主机和实用程序
C.配套的硬件设备和软件系统 D. 外部设备和主机
(2)已知y = + 0.10001,则 [y]补为______。
A. 1.10001 B. 0.01111 C. 1.01111 D. 0.10001
程序时,必须将指令存放在_____________中。 3.计算(20’ ×2=40’) (1)用2K*4位RAM芯片组成4K*8的随机存储器,问;
(a)共需多少芯片? (b)存储器的地址寄存器 (MAR)和数据寄存器(MDR)分别为多少位? (2)(13分)某计算机将浮点运算过程分为阶码比较、对 阶、尾数加减3个段,若各段的执行时间均为2ns,则:
4.5 典型指令
➢ RISC特点
只定义简单、频繁使用的指令 指令长度固定 格式种类少 大部分指令可以单指令周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式
本章小结
✓ 指令系统的地位 ✓ 指令格式:功能、字长 ✓ 指令的寻址 ✓ 操作数的寻址 ✓ 指令的分类与实例
把主存13CD2的内存装载到15号寄存器
➢ ② (2856)H
➢ 0010 1000 0101 0110 代表MOV指令,编码正确,含义是把5号源
寄存器的内容传送至6目标寄存器。 ➢ ③(6FD6)H是单字长指令,一定是MOV
指令,但编码错误,
0110 1111 1101 0110 可改正为0010 1011 1101 0110 (2BD6)H。