第四章指令系统_第1页
第四章指令系统_第2页
第四章指令系统_第3页
第四章指令系统_第4页
第四章指令系统_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、1 第四章 指令系统4.1 指令系统的发展与性能要求 4.2 指令格式4.3 指令和数据的寻址方式4.4 堆栈寻址方式4.5 典型指令24.1 指令系统的发展与性能要求计算机指令的分类: 微指令、机器指令和宏指令机器指令指令系统系列计算机复杂指令系统计算机(CISC)精简指令系统计算机(RISC)34.1.2 对指令系统性能的要求 完备性 有效性 规整性 兼容性44 41 13 3 低级语言与硬件结构的关系低级语言与硬件结构的关系高级语言( C、Fortran)低级语言: 机器语言(二进制语言) 汇编语言(符号语言)5比 较 内 容 高级语言 低级语言 1 对程序员的训练要求(1) 通用算法(

2、2) 语言规则 (3) 硬件知识 有较少 不要 有较多 要 2对机器独立的程度独立 不独立 3编制程序的难易程度 易 难 4编制程序所需时间 短 较长 5程序执行时间 较长 短 6编译过程中对计算机资源的要求多 少 表4.1 高级语言和低级语言的比较64. 2 指令格式指令字:表示一条指令的机器字指令格式:指令字用二进制代码表示的结构形式指令的结构操作码字段地址码字段7指令系统的每一条指令都要规定一个操作码。一个N位的操作码最多能够表示2 2N N条指令。具体机器的指令系统,指令字中操作码字段 和地址字码段长度是固定长度是固定的。 4.2.1 操作码84.2.2 地址码(1 1)零地址指令:

3、指令字中只有操作码,而没有地址码。操作码 (2)一地址指令:又称为操作数指令。 数学含义为:(AC) OP (A) AC(AC) OP (A) AC OP表示操作性质(加、减、乘、除等) (AC)表示累加寄存器AC中的数; (A)表示内存中地址为A的存储单元中的数, 或是运算器中地址为A的通用寄存器中的数。 A操作码9(4) 三地址指令字 数学含义为 (A1) OP (A2) A3 A1为被操作数地址被操作数地址,也称为源操作数地址; A2为操作操作数地址操作操作数地址,也称终点操作数地址; A3为存放操作结果的地址存放操作结果的地址。操作码A1A2A3(3)二地址指令:常称为双操作数指令,

4、数学含义为 (A1) OP (A2) A1 A1 A2操作码10从操作数的物理位置来说,二地址指令格式可归结为: 存储器存储器(SS)型指令 寄存器寄存器(RR)型指令 寄存器存储器(RS)型指令 CISC计算机中,一个指令系统中指令字的长度和指令中的地址结构并不是并不是单一的单一的 。11指令字长度:一个指令字中包含二进制代码的倍数。4.2.3 指令字长度机器字长: 计算机能直接处理的二进制数据的倍数。单字长指令 指令字长度等于机器字长度的指令。双字长指令 指令字长度等于两个机器字长度的指令。半字长指令 指令字长度等于半个机器字长度的指令。12指令助记符 为了便于书写和阅读程序,每条指令用3

5、个或4个英文缩写字母来表示。4.2.4 指令助记符13 典 型 指 令 指 令 助 记 符 二 进 制 操 作 码 加 法 ADD OOI 减 法 SUB OIO 传 送 MOV OI I 跳 转 JMP IOO 转 子 JSR I O I 存 储 STR I IO 读 数 LDA I I I14l 八位微型计算机的指令格式 l PDP/11 系列机指令格式 l PENTIUM指令格式4.2.5 指令格式举例15操作码MODREGR /M比例S变址I基址B位移量立即数指令前缀段取代操 作 数 长度取代地址长度取代Pentium 指令格式16例例1 1 指令格式如下所示,其中OP为操作码,试分析

6、指令格式的特点。OP -源寄存器目标寄存器解:(1) 单字长二地址指令。 (2) 操作码字段OP可以指定27=128条指令。 (3) 源寄存器和目标寄存器都是通用寄存器(可 分别指定16个),所以是RR型指令,两个操 作数均在寄存器中。 (4) 这种指令结构常用于算术逻辑运算类指令。17例例2 2 指令格式如下所示,OP为操作码字段,试分析指令格式特点。 OP -源寄存器变址寄存器 位移量 (16位)解:(1) 双字长二地址指令,用于访问存储器。 (2) 操作码字段OP为6位,可以指定26=64 种操作。 (3) 一个操作数在源寄存器(共16个),另 一个操作数在存储器中(由变址寄存器 和位移

7、量决定),所以是RS型指令。18寻址方式:当采用地址指定方式时,形成操作数或指令地址的方式。4.3 指令和数据的寻址方式寻址方式:指令寻址方式 数据寻址方式19指令的寻址方式:顺序寻址方式 跳跃寻址方式4.3.1 指令的寻址方式20顺序寻址方式 由于指令地址在内存中按顺序安排,执行一段 程序时一条指令接一条指令的顺序进行。跳跃寻址方式 跳跃跳跃指下条指令的地址码不是由程序计数器给出,而 是由本条指令本条指令给出。 当程序转移执行的顺序转移执行的顺序时,指令的寻址就采取跳跃 寻址方式。 214.3.2 操作数寻址方式操作数的寻址方式:形成操作数的有效地址的方法。寻址过程就是把操作数的形式地址,变

8、换为操作数的有效地址的过程。22操作数寻址方式隐含寻址立即寻址直接寻址间接寻址寄存器寻址方式和寄存器间接寻址相对寻址方式基址寻址方式变址寻址方式块寻址方式231. 隐含寻址不明显的给出操作数的地址,而是在指令中隐含着操作数的地址。2. 立即寻址指令的地址字段指出不是操作数的地址,而是操作数本身。3.直接寻址在指令格式的地址字段中直接直接指出操作数在内存中的地址。24254.4.间接寻址间接寻址5.5.寄存器寻址方式和寄存器间接寻址方式寄存器寻址方式和寄存器间接寻址方式操作数放在CPUCPU的通用寄存器的通用寄存器中时,可采用寄存器寻址方式。指令地址字段中的形式地址D不是不是操作数的直接地址,而

9、是操作数的地址的指示器指示器26相对寻址是把程序计数器程序计数器PCPC的内容的内容加上指令格式中的形式地址形式地址而形成操作数的有效地址。6.相对寻址方式7.基址寻址方式 将CPU中基址寄存器的内容基址寄存器的内容加上指令格式中的形式地址形式地址而形成操作数的有效地址。把CPU中某个变值寄存器某个变值寄存器的内容与偏移量偏移量相加来形成操作数有效地址。8.变址寻址方式2728用在输入输出指令输入输出指令中以实现外存储器或外围设备同内存之间的数据块传送数据块传送。在内存中还可用于数据块搬家数据块搬家。如果数据块是定长的,只需要指令中指出数据数据块的首地址块的首地址;如数据块为变长可用三种方法指

10、出其长度: (1)指令中划出字段指出长度; (2)指令格式中指出数据块的首、末地址; (3)由块结束字符指出数据块长度。9.块寻址方式块寻址方式2910.10.段寻址方式段寻址方式 形成20位物理地址时,段寄存器中的16位数会自动左移左移4 4位位,然后与16位偏移量相相加加。此寻址方式的实质是基址寻址。304.3.3 寻址方式举例1.PDP/11 系列机寻址方式2.2.Pentium 的寻址方式31 序号 寻址方式名称 有效地址E算法 说 明 1 立 即操作数在指令中 2 寄存器操作数在某寄存器内,指令给出寄存器号 3 直接E=DispDisp为偏移量 4 基址E=(B)B为基址寄存器 5

11、基址+偏移量E=(B)+Disp 6 比例变址+偏移量E=(I)*S+DispI为变址寄存器,S为比例因子 7 基址+变址+偏移量 E=(B)+(I)+Disp 8 基址+比例变址+偏移量E=(B)+(I)*S+DiSPS+Disp 9 相对指令地址=(PC)+DispPC为程序计数器或当前指令指针寄存器Pentium 的寻址方式32例3一种二地址RS型指令的结构如下所示: 6位 4 位 1 位 2位 16位 OP- 通用寄存器 I X 偏移量D其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合,可构成表4、6的寻址方式。请写出6种寻址方式的名称:33 解:(1)直

12、接寻址 (2) 相对地址(3)变址寻址 (4)寄存器间接寻址(5)间接寻址 (6)基址寻址表4.6 例3的寻址方式34例4某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址值寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)=(3C)H。MOV 是传送指令,STA为写数指令,LDA为读数指令。15 10 9 8 7 4 3 0 OP-目标 源 MOV S,D35 15 10 9 8 7 4 3 0 OP 基址

13、源 变址 位移量 STA S,M15 10 9 8 3 0 OP -目标 20位地址LDA S,M36要求:(1) 分析三种指令的指令格式与寻址方式特点。(2) CPU完成哪一种操作所花时间最短? 哪一种操作所花时间最长? 第二种指令的执行时间有机会等于第三种指 令的执行时间吗?(3) 下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? (F0F1)H (2856)H (6FD6)H (1C2)H37 解:(1) 第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字

14、长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。 (2) 处理机完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基值或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。38( 3 ) 根 据 已 知 条 件 : M O V ( O P ) = 0 0 1 0 1 0 ,STA(OP)=011011,LDA(OP)=111100,将指令的十六进制格式转换成二进制代码且比较后可知: (F0

15、F1)H (3CD2)H指令代表LDA指令,编码正确,其含义是把主存(13CD2)H地址单元的内容取到15号寄存器。 (2856)H代表MOV指令,编码正确,含义是把5号源寄存器的内容传送至6号目标寄存器。 (6FD6)H是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H。 (1C2)H是单字长指令,代表MOV指令,但编码错误,可改正为(28C2)H。394.4 堆栈寻址方式堆栈堆栈: CPU中一组能存储和取出数据的暂存储单元。串联堆栈:串联堆栈:CPU中有一组专门的寄存器,通常有16个或更多,其中每一个寄存器能保存一个字的数据,数据采用现今后出的方式存取。4.4.1 串联堆栈

16、40压数据进栈41特点:所有的数据传送是在栈顶栈顶和某个通某个通用寄存器用寄存器之间进行的。即某个通用寄存器仅和堆栈的顶部单元相连系。424.4.2 存储器堆栈串连堆栈的限制 寄存器数目有限 堆栈的读出是破坏性的存储器堆栈 由程序员设置一部分主存储器一部分主存储器作为堆栈43 存储器堆栈的优点 堆栈能够具有程序员要求的任意长度任意长度; 程序员可以建立任意数目任意数目的堆栈; 可以用对存储器寻址的任何一条指令任何一条指令来对堆栈中的数据进行寻址44454.5 典型指令4.5.1 指令的分类按功能分:数据传送指令算术运算指令逻辑运算指令程序控制指令输入输出类指令字符串类指令系统控制类指令461.

17、 数据传送指令分类: 取数指传送指令 成组传送指令 字节交换指令 清累加器指令 堆栈操作指令作用:实现主存和寄存器之间,或寄存器和寄存器之间的数据传送。47分类: 二进制定点加、减、乘、除指令 求反、求补指令 算术移位指令 算术比较指令 十进制加、减运算2.算术运算指令作用:定点或浮点的算术运算483.逻辑运算指令分类: 逻辑加 逻辑乘 按位加 逻辑移位作用: 无符号数的位操作、代码的转换、判断及运算。494.程序控制指令分类 条件转移指令 无条件转移指令 转子程序指令 返回子程序指令 中断返回指令作用:转移指令506.字符串处理指令5. 输入输出指令作用: 启动外围设备与外围设备之间的住处传

18、送。分类字符串传送、转换、比较、查找、抽取、替换作用文字编辑中对大量字符串进行处理51特权指令:具有特殊权限的指令作用:用于操作系统或其他系统软件,一般不直接提供给用户使用。7. 特权指令528.其他指令状态寄存器置位复位指令测试指令暂停指令空操作指令一些系统控制用的特殊指令。534.5.2 基本指令系统基本指令:CISC指令系统复杂,经常使用的指令仅占20,但在程序中出现的频率却占80,此20%的指令成为基本指令。基本指令。544.5.3 精简指令系统特点:(1)指令条数少; 选使用频率最高的一些简单指令.(2)指令长度固定,指令格式种类少, 寻址方式种类少;(3)只有取数/存数指令访问存储器, 其余指令的操作都在寄存器之间进行。55 典型典型RISC机指令系统的基本特征机指令系统的基本特征56例5在SPARC中,有一些指令没有选入指令系统,但很容易使用指令集中的另外一条指令来替代实现。表4

温馨提示

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

评论

0/150

提交评论