第4讲 指令和数据的寻址方式_第1页
第4讲 指令和数据的寻址方式_第2页
第4讲 指令和数据的寻址方式_第3页
第4讲 指令和数据的寻址方式_第4页
第4讲 指令和数据的寻址方式_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指令和数据的寻址方式,4.4 指令和数据的寻址方式,思考问题: 如何获取本指令中指定的操作数? 如何获得下一条指令的地址? 寻址 寻址方式是指CPU根据指令中给出的地址码字段寻找相应的操作对象的方式。 寻址包括两类:指令寻址与操作数寻址,4.4 指令和数据的寻址方式,指令的寻址方式 顺序方式 PC 跳跃方式,标记黄色五星表示此处内容可观看教材配套的CAI动画,4.4 指令和数据的寻址方式,操作数的寻址方式 操作数通常放在哪儿呢? 操作数的可能位置: 指令中; 寄存器; 主存储器中; I/O设备的端口中,4.4 指令和数据的寻址方式,根据操作数放在不同的地方,从而派生各种不同的寻址方式,往往不同

2、的计算机具有不同的寻址方式。 形成操作数有效地址的方法 eg: 如无变址、间址,形式地址(也叫偏移量)就是有效地址,操作码 OP,变址 X,间址 I,形式地址 A,主要有:,相对寻址 基址寻址 变址寻址,相对寻址 基址寻址 变址寻址,段寻址,1、隐含寻址,指令中隐含着操作数的地址 Eg.如某些运算(单地址码的指令),隐含了累加器AC作为源和目的寄存器 Eg.如8086汇编中的STC指令,设置标志寄存器的C为1,2、立即寻址,立即寻址 立即数包含在指令中。 指令格式:,2、立即寻址,特点: 高速 操作数不能更改,缺灵活性 eg.程序中对学生分成5组,不能修改 操作数大小受限(为什么?) 常用于:

3、 赋初值 定义常量,3、直接寻址,指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EAA,D=(A),3、直接寻址,特点: 简单快速,便于硬件实现 主存容量的增长引发问题: 指令长度不够用,4、间接寻址,寻址过程:如图 操作数的有效地址的计算公式为: EA(A) D=(A),4、间接寻址,特点: 地址在主存储器中,可以被灵活的修改 形参实参,传值、传地址 操作灵活 两次访存增加时间耗费,5、寄存器寻址,操作数保存在寄存器中,即 EA=Ri D=(Ri),5、寄存器寻址,特点: (1) 快。比内存访问快 (2)寄存器数量少: 地址码短 可用空间少,6

4、、寄存器间接寻址,操作数放在主存储器中, 而操作数的地址放在某一通用寄存器中 EA=(Ri) D=(Ri),6、寄存器间接寻址,这样寻址有何优势: 间接寻址多次访存,寄存器间接寻址减少访存次数 指令中的地址短 使用较为广泛,7、偏移寻址,直接寻址+寄存器间接寻址=偏移寻址 EA= (Ri) + A Ri可能是某个隐含寄存器,7、偏移寻址-相对寻址,由程序计数器PC提供基准地址 指令地址码=偏移量D EA(PC)D。,7、偏移寻址-相对寻址,特点: 程序模块内可使用相对地址 无需表明真实的内存地址 增加灵活性,8、偏移寻址-基址寻址,约定基址寄存器Rb 指令地址码给出偏移量D EA(Rb)D,8

5、、偏移寻址-基址寻址,特征: 基准地址出现在基址寄存器中 偏移量出现在指令中,9、偏移寻址-变址寻址,基准地址出现在指令中 偏移量出现在寄存器Rx中 EAA(Rx),9、偏移寻址-变址寻址,应用: 被广泛采用 遇到需要频繁修改操作数地址时,无须修改指令,只要修改Rx中的变址值就可以 数组、字符串的成批数据处理,10、段寻址方式,分段:1M主存 = 64K * 16= 216 * 24,段寄存器,16位左移四位,偏移量,16位,偏移量突破了段内限制,自由度更高,11 堆栈寻址,隐含的堆栈指示器(可以是寄存器或者内存空间) 进栈加1,退栈减1,寻址方式举例: Pentium,Pentium寻址方式

6、,Power PC寻址方式,P129表4.9所示,例题:p129 例4,一种二地址RS型指令的结构如下图所示: 其中,I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合可构成多种寻址方式。 看教材P129表4.10所示的寻址方式。,OP,-,通用寄存器,I,X,偏移量D,6位 4位 1位 2位 16位,I表示是否间接寻址 I=1表示间接寻址 I=0表示非间接寻址 X寻址模式: 00直接寻址 01相对寻址 10变址寻址 11基址寻址,例题:,某16位机器所使用的指令格式和寻址方式如图所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令汇编格

7、式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是 MOV(OP)=(A)H, MOV是传送指令, STO(OP)=(1B)H, STO为存数指令, LAD(OP)=(3C)H。 LAD为取数指令。,要求: (1)分析三种指令格式与寻址方式特点。,(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H,解答: (1)第

8、一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字长二地址指令,RS型,R由目标寄存器决定,S由20位地址(直接寻址)决定。,(2)处理机完成第一种指令所花的时间最短,因为RR型指令,不需要访问存储器。第二种指令所花的时间最长,因为RS型指令,需要访问存储器。同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。,(3)根据以知条件: MOV(OP)=00 1010, STA(OP) =01 1011,

9、 LDA(OP) =11 1100, 将指令转为二进制序列比较: (F0F1)H (3CD2)H,1111 0000 1111 0001 0011 1100 1101 0010,LAD 15号寄存器 13CD2 把主存13CD2的内存装载到15号寄存器, (2856)H 0010 1000 0101 0110 代表MOV指令,编码正确,含义是把5号源寄存器的内容传送至6目标寄存器。 (6FD6)H是单字长指令,一定是MOV指令,但编码错误, 0110 1111 1101 0110 可改正为0010 1011 1101 0110 (2BD6)H。, (1C2)H是单字长指令,代表MOV指令,但编

10、码错误, 0000 0001 1100 0010 可改正为 0010 1001 1100 0010 (29C2)H。,4.5 典型指令,指令分类与基本指令类型 数据传送类指令 一般传送指令: MOV AX,BX 数据交换指令: XCHG 堆栈操作指令: PUSH,POP 运算类指令 算术运算指令:加、减、乘、除以及加1、减1、比较 逻辑运算指令: 移位指令,4.5 典型指令,程序控制类指令 程序控制类指令用于控制程序的执行方向,并使程序具有测试、分析与判断的能力。 输入和输出指令(有的机器没有此类指令,因为外设存储器被统一编址)、字符串处理指令、特权指令、其他指令 字符串处理指令 特权指令、复

11、位、测试指令等,4.5 典型指令,基本指令系统 P132表4.11介绍 20%和80%规律:CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。,4.5 典型指令,VLSI技术发展引起的问题 VLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。 现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。 CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而

12、在计算机体系结构设计中,软硬件的功能分配必须恰当,4.5 典型指令,RISC特点 只定义简单、频繁使用的指令 指令长度固定 格式种类少 大部分指令可以单指令周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式,本 章 小 结,指令系统的地位 指令格式:功能、字长 指令的寻址 操作数的寻址 指令的分类与实例,作业,P137 3、4、8、9,课程学了一半了,随堂小测验!,中期大酬宾,中期优惠大酬宾: 不要998 不是98 只要68! 你没有看错, 真的只要你考68 ! 核心知识的展示 关键考题的分析 真实考场的体验 答题不要钱 看书不计费 真的实时现场考试哦! 不要再犹豫了 马上拿起笔

13、和纸作答吧,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)根据传送信息的种类不同,系统总线分为_。 A. 地址线和数据线 B. 地址线、数据线和控制线 C. 数据线和控制线 D. 地址线、数据线和响应线 (4)在指令的地址字段中,直接给出操作数本身的寻址方式,称为_。 A. 隐含寻址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 (5)一个组相联Cache由64块(行)组成,每组4块(行),主存储器包含4K个块,每块128字,则主存地址格式中标记字段的位数为_位。 A7 B. 4 C. 8 D. 6,2.填空(6 5=30) (1)已知 X = 0.1101,Y = - 0.0110,则Y补为_ ,X+Y补为_,是否溢出_。 (2)在Cache-主存层次中,常用的地址映射方法有_,全相联映射和组相联映射三种。 (3)计算机系统中的存储器分为内存和外存,在CPU执行程序时,必须将指令存放在_中。 3.计算(20 2=40) (1)用2K*4位RAM芯片组成4K*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论