第七章-指令系统03-指令的类型_第1页
第七章-指令系统03-指令的类型_第2页
第七章-指令系统03-指令的类型_第3页
第七章-指令系统03-指令的类型_第4页
第七章-指令系统03-指令的类型_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、史苇杭史苇杭办公室:办公室:306办公电话:办公电话子邮件:电子邮件: 计算机组成原理计算机组成原理 第七章第七章 指令系统指令系统应用程序操作系统系统结构实现指令系统组成编译软件软件硬件硬件逻辑功能:计算逻辑功能:计算 0 + 1机器指令:机器指令:001 00 01汇编语言:汇编语言:ADD r1, r2第七章第七章 指令系统指令系统7.1、指令系统概述、指令系统概述7.2、指令的格式、指令的格式 7.2.1、地址码结构、地址码结构 7.2.2、操作码结构、操作码结构7.3、指令的寻址方式(、指令的寻址方式(10种)种)7.4、指令的类型与功能(、指令的类型与

2、功能(6类)类)7.5、RISC和和CISC 的比较的比较在一个有限的存储空间里,对于任何可解的问题,在一个有限的存储空间里,对于任何可解的问题,编制计算程序时,指令系统提供的编制计算程序时,指令系统提供的指令足够使用指令足够使用。指令系统的完备性指令系统的完备性7.4、指令的类型与功能、指令的类型与功能一台计算机包含一些什么类型的指令?一台计算机包含一些什么类型的指令?涉及到指令系统的涉及到指令系统的完备性。完备性。如果一台计算机的指令系统不完备,就无法编出完整的程序。如果一台计算机的指令系统不完备,就无法编出完整的程序。指令系统的完备性指令系统的完备性是指在一个有限的存储空间里,对于任何可

3、是指在一个有限的存储空间里,对于任何可解决的问题,编制程序时,指令系统提供的指令解决的问题,编制程序时,指令系统提供的指令足够使用!足够使用!一般归结为六大类指令。一般归结为六大类指令。1)数据传送类指令)数据传送类指令功能:功能:实现将数据从源地址实现将数据从源地址传送传送到目的地址,且源地址中数据到目的地址,且源地址中数据不变不变。 1、传送:从一个地方传送到另一个地方;、传送:从一个地方传送到另一个地方; 2、复制:传送是以复制的方式。、复制:传送是以复制的方式。 传送范围:寄存器传送范围:寄存器 R - 寄存器寄存器 R, 主存单元主存单元 M - 寄存器寄存器 R, 主存单元主存单元

4、 M 主存单元主存单元 M 传送单位:传送单位:按字节、字、字符串、数据块等按字节、字、字符串、数据块等 MOV AL, BL(字节)(字节) MOV AX, BX(字)(字) MOV SB (字符串)(字符串) REP MOVSB(数据块)(数据块) 传送数据取值传送数据取值:原值传送,取补,取反,零值传送:原值传送,取补,取反,零值传送主要包括:主要包括:取数指令、存数指令、传送指令、成组传送指令、取数指令、存数指令、传送指令、成组传送指令、 字节交换指令、清累加器指令、堆栈操作指令等等。字节交换指令、清累加器指令、堆栈操作指令等等。7.4、指令的类型与功能、指令的类型与功能功能设置功能设

5、置考虑问题考虑问题2)算术运算类指令)算术运算类指令功能:功能:实现各种算术运算(大型机中有向量运算指令,直接对整个向量实现各种算术运算(大型机中有向量运算指令,直接对整个向量 或矩阵进行求和、求积运算)。或矩阵进行求和、求积运算)。主要包括:主要包括:二进制定点加、减、乘、除指令,浮点加、减、乘、除指令二进制定点加、减、乘、除指令,浮点加、减、乘、除指令 ,求反、求补指令,算术移位指令,算术比较指令,十进,求反、求补指令,算术移位指令,算术比较指令,十进 制加、减运算指令等。制加、减运算指令等。指令举例:指令举例: ADD 加法(最基本指令)加法(最基本指令) SUB 减法(最基本指令)减法

6、(最基本指令) MUL 乘法乘法 DIV 除法除法 NEG 求补求补 ABS 求绝对值求绝对值 INC +1 DEC - 17.4、指令的类型与功能、指令的类型与功能功能设置考虑问题(在算术运算中讲过的问题都要考虑):功能设置考虑问题(在算术运算中讲过的问题都要考虑):二二 / 十进制运算;定点十进制运算;定点 / 浮点运算;整数浮点运算;整数 / 小数运算;是否规格化;小数运算;是否规格化;固定字长固定字长 / 变字长运算;半字长变字长运算;半字长 / 全字长全字长 / 双字长运算双字长运算 等等。等等。3)逻辑运算类指令)逻辑运算类指令功能:功能:把一个数据字看做是一个位数组,分别处理每一

7、位。把一个数据字看做是一个位数组,分别处理每一位。主要包括:主要包括:逻辑加、逻辑乘、按位加、逻辑移位等指令,逻辑加、逻辑乘、按位加、逻辑移位等指令, 移位指令用来对寄存器的内容实现左移、右移或循环移位。移位指令用来对寄存器的内容实现左移、右移或循环移位。指令举例:指令举例: AND 与与 OR 或或 COM 非(求反)非(求反) EOR 异或异或7.4、指令的类型与功能设置、指令的类型与功能设置功能设置考虑问题:功能设置考虑问题:不同指令的功能设置与逻辑运算规律有关系。不同指令的功能设置与逻辑运算规律有关系。4)移位类指令)移位类指令功能:功能:实现逻辑移位,循环移位,算术移位。实现逻辑移位

8、,循环移位,算术移位。 主要包括:主要包括:算术右移,算术左移,逻辑右移,逻辑左移,循环右移,算术右移,算术左移,逻辑右移,逻辑左移,循环右移, 循环左移循环左移功能设置考虑问题:功能设置考虑问题:数据格式:数据格式:字符移位,字移位字符移位,字移位移位参数:移位参数:移动一位的次数与移动方向移动一位的次数与移动方向被移动的寄存器地址被移动的寄存器地址补位的方法。补位的方法。 指令举例:指令举例:SHL AL,1 寄存器寄存器AL左移左移1位位 MOV DL,5 SHL AL,DL 寄存器寄存器AL左移左移5位位7.4、指令的类型与功能设置、指令的类型与功能设置5)程序控制(转移)类指令)程序

9、控制(转移)类指令功能:功能:实现控制程序的执行顺序和选择程序的运行方向。实现控制程序的执行顺序和选择程序的运行方向。 它是计算机的智能机构,设置较为复杂。它是计算机的智能机构,设置较为复杂。程序执行的三大结构:顺序、分支、循环程序执行的三大结构:顺序、分支、循环 顺序:顺序:PC+1;分支:分支点(必须设置比较测试指令分支:分支点(必须设置比较测试指令 与与 条件转移指令)条件转移指令) 汇合点(必须设置无条件转移指令);汇合点(必须设置无条件转移指令);循环:循环次数已知(计数跳指令循环:循环次数已知(计数跳指令LOOP) 循环次数未知循环次数未知 7.4、指令的类型与功能设置、指令的类型

10、与功能设置A=B?执行执行A执行执行A分支点分支点汇合点汇合点调用子程序调用子程序:主程序调用子程序时,重点考虑主程序与子程序的链接。主程序调用子程序时,重点考虑主程序与子程序的链接。子程序是一个子程序是一个公共程序公共程序,主程序可以在任意一地址调用它,设置一条主程序可以在任意一地址调用它,设置一条无条件转移指令无条件转移指令转向子程序转向子程序的入口地址就可以了,的入口地址就可以了,但是从子程序返回主程序地址时设置但是从子程序返回主程序地址时设置返回指令返回指令。转移地址可以通过转移地址可以通过链接寄存器链接寄存器,或,或堆栈堆栈进行操作。进行操作。利用利用堆栈堆栈可以实现子程序嵌套调用。

11、可以实现子程序嵌套调用。7.4、指令的类型与功能设置、指令的类型与功能设置6)输入输出指令)输入输出指令 功能:功能:控制输入输出设备的工作,完成计算机与输入输出设备之间的控制输入输出设备的工作,完成计算机与输入输出设备之间的 数据交换。数据交换。根据不同的机器结构,功能设置方式不同:根据不同的机器结构,功能设置方式不同:1)内存与辅存统一编制;)内存与辅存统一编制;2)辅存单独编址。)辅存单独编址。7.4、指令的类型与功能设置、指令的类型与功能设置第七章第七章 指令系统指令系统7.1、指令系统概述、指令系统概述7.2、指令的格式、指令的格式 7.2.1、地址码结构、地址码结构 7.2.2、操

12、作码结构、操作码结构7.3、指令的寻址方式(、指令的寻址方式(9种)种)7.4、指令的类型与功能(、指令的类型与功能(6类)类)7.5、RISC和和CISC 的比较的比较 系统指令系统指令 复杂庞大复杂庞大,各种指令使用频度相差大,各种指令使用频度相差大 指令指令 长度不固定、指令格式种类多、寻址方式多长度不固定、指令格式种类多、寻址方式多 访存访存 指令指令 不受限制不受限制 大大多数指令需要多数指令需要 多个时钟周期多个时钟周期 执行完毕执行完毕 采用采用 微程序微程序 控制器控制器 CPU 中设有中设有 专用寄存器专用寄存器 难以难以 用用 优化编译优化编译 生成高效的目的代码生成高效的

13、目的代码 7.5、RISC和和CISC 的比较的比较 CISC 的主要特征的主要特征 选用选用使用频度较高使用频度较高的一些的一些 简单指令简单指令, 复杂指令的功能由简单指令来组合复杂指令的功能由简单指令来组合 指令指令 长度固定、指令格式种类少、寻址方式少长度固定、指令格式种类少、寻址方式少 只有只有 LOAD / STORE 指令访存指令访存 采用采用 流水技术流水技术 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 采用采用 组合逻辑组合逻辑 控制器控制器 CPU 中有中有多个多个 通用通用 寄存器寄存器 采用采用 优化优化 的的 编译编译 程序程序 7.5、RISC和和CIS

14、C 的比较的比较 RISC 的主要特征的主要特征7.5、RISC和和CISC 的比较的比较 1、RISC更能更能 充分利用充分利用 VLSI 芯片芯片的面积的面积2、RISC 更能更能 提高计算机运算速度提高计算机运算速度指令数、指令格式、寻址方式少指令数、指令格式、寻址方式少,通用通用 寄存器多寄存器多,采用,采用 组合逻辑组合逻辑 ,便于实现便于实现 指令流水指令流水3、RISC 便于设计便于设计,可,可 降低成本降低成本,提高,提高 可靠性可靠性4、RISC 有利于编译程序代码优化有利于编译程序代码优化 5、RISC 不易不易 实现实现 指令系统兼容指令系统兼容 RISC 相对相对 CI

15、SC 的优势的优势例例1)某某16位机器所使用的指令格式和寻址方式如下所示,该机有两个位机器所使用的指令格式和寻址方式如下所示,该机有两个 20位基址寄存器位基址寄存器,四个,四个16位变址寄存器位变址寄存器,十六个,十六个16位通用寄存位通用寄存 器,器,指令格式中的指令格式中的S(源),(源),D(目标)都是(目标)都是通用寄存器通用寄存器, M是主存中的一个单元。三种指令的操作码分别是是主存中的一个单元。三种指令的操作码分别是 MOV(OPA H ) ,传送指令;,传送指令; STA(OP1B H ) ,写数指令;,写数指令; LDA(OP3C H ) ,读数指令。,读数指令。 考研题目

16、精选考研题目精选要求:要求: 分析三种指令的指令格式与寻址方式特点。分析三种指令的指令格式与寻址方式特点。解解:第一种指令是:第一种指令是单字长单字长二地址指令二地址指令,RR型;型; 两操作数寻址均为:寄存器直接寻址;两操作数寻址均为:寄存器直接寻址; 第二种指令是第二种指令是双字长双字长二地址指令二地址指令,RS型,型, 一操作数寻址为:寄存器直接寻址;一操作数寻址为:寄存器直接寻址; 一操作数寻址为:基址寻址或变址寻址,一操作数寻址为:基址寻址或变址寻址, 第三种也是第三种也是双字长双字长二地址指令二地址指令,RS型,型, 一操作数寻址为:寄存器直接寻址,一操作数寻址为:寄存器直接寻址,

17、 一操作数寻址为:直接寻址。一操作数寻址为:直接寻址。考研题目精选考研题目精选要求:要求:CPU完成哪一种操作所花时间最短?哪一种所花时间最长?完成哪一种操作所花时间最短?哪一种所花时间最长? 第二种指令的执行时间有时会等于第三种指令的执行时间吗?第二种指令的执行时间有时会等于第三种指令的执行时间吗?解解:CPU完成第一种指令所花时间最短,因为是完成第一种指令所花时间最短,因为是RR型指令,不需要访问型指令,不需要访问存储器。存储器。第二种指令所花时间最长,因为是第二种指令所花时间最长,因为是RS型指令,需要一次访存,同时型指令,需要一次访存,同时要进行寻址方式的变换运算(基址或变址),这也需

18、要时间。要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也是一次访存,但节省了求有效地址运算的时间开销。是一次访存,但节省了求有效地址运算的时间开销。考研题目精选考研题目精选要求:要求:下列情况下每个十六进制指令字分别代表什么操作?下列情况下每个十六进制指令字分别代表什么操作? 其中如果有编码不正确,如何改正才能成为合法指令?其中如果有编码不正确,如何改正才能成为合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H解解:已知:已知 MO

19、V(OPA H 001010), STA(OP 1B H 011011), LDA(OP 3C H 111100), 将指令的十六进制格式转换成二进制代码,比较后可知:将指令的十六进制格式转换成二进制代码,比较后可知:(F0F1)H (3CD2)H 指令代表指令代表LDA指令,编码正确,其含义是指令,编码正确,其含义是 把主存(把主存(13CD2)H 地址单元的内容取至地址单元的内容取至15号寄存器。号寄存器。1111 0000 1111 00010011 1100 1101 0010考研题目精选考研题目精选解解:(:(2856)H 指令代表指令代表MOV指令,编码正确,含义是把指令,编码正确

20、,含义是把6号源寄号源寄存器的内容传送至存器的内容传送至5号目标寄存器。号目标寄存器。 0010 1000 0101 0110(6FD6)H 是单字长指令,一定是是单字长指令,一定是MOV指令,但编码错误,可指令,但编码错误,可改正为(改正为(28D6)H 0110 1111 1101 0110 0010 1011 1101 0110(1C2)H 是单字长指令,代表是单字长指令,代表MOV指令,但编码错误,可改正指令,但编码错误,可改正为(为(28C2)H 。 0000 0001 1100 0010 0010 1001 1100 0010考研题目精选考研题目精选例例2)某机器采用某机器采用一地

21、址格式一地址格式的指令系统,允许直接和间接寻址。的指令系统,允许直接和间接寻址。 机器配备有如下机器配备有如下寄存器,均为寄存器,均为16位位: ACC(累加器),(累加器), PC(程序计数器),(程序计数器), MDR(数据缓冲寄存器),(数据缓冲寄存器), MAR(地址寄存器),(地址寄存器), RX(变址寄存器),(变址寄存器),RB(基址寄存器)(基址寄存器) IR(指令寄存器)(指令寄存器) 问:若存储问:若存储字长不变字长不变,可采用什么方法访问容量为,可采用什么方法访问容量为8MB的主存?的主存? 是否需要增加硬件?是否需要增加硬件?考研题目精选考研题目精选解:解:容量容量8M

22、B的存储器,因为字长不变,即的存储器,因为字长不变,即MDR仍然为仍然为16位,位, 所以对应所以对应4M * 16 位的存储器,所以存储单元的地址有位的存储器,所以存储单元的地址有22位。位。 可采用双字长指令,采用直接寻址方式,可访问可采用双字长指令,采用直接寻址方式,可访问4M存储空间,存储空间, 此时此时MAR为为22位。位。 也可采用单字长指令,采用变址寻址或基址寻址方式,也可采用单字长指令,采用变址寻址或基址寻址方式, 且变址寄存器与基址寄存器为且变址寄存器与基址寄存器为22位,可访问位,可访问4M存储空间。存储空间。例例3)某机字长某机字长32位,位,CPU内有内有32个个32位

23、通用寄存器,设计一种能容纳位通用寄存器,设计一种能容纳 64种操作的指令系统,设指令字长等于机器字长,存储器按字节编址。种操作的指令系统,设指令字长等于机器字长,存储器按字节编址。1)如果主存可直接或间接寻址,采用寄存器)如果主存可直接或间接寻址,采用寄存器存储器型指令,能直接寻址存储器型指令,能直接寻址的最大存储空间是多少?画出指令格式。的最大存储空间是多少?画出指令格式。2)如果采用通用寄存器作为基址寄存器,则上述寄存器)如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的存储器型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间。指令格式有何特点?画出指令格

24、式并指出这类指令可访问多大的存储空间。考研题目精选考研题目精选解:解:操作码操作码6寻址特征寻址特征1寄存器号寄存器号5内存单元地址内存单元地址20操作码操作码6寻址特征寻址特征1寄存器号寄存器号5形式地址形式地址15基址寄存器号基址寄存器号5直接寻址空间直接寻址空间 220因为基址寄存器号因为基址寄存器号5位,间接寻址空间位,间接寻址空间 232例例4)某机存储器容量为某机存储器容量为64K * 16位,该机访存指令格式如下:位,该机访存指令格式如下:考研题目精选考研题目精选解:解:16种操作。种操作。操作码操作码4寻址模式寻址模式2间址间址1形式地址形式地址8变址变址1其中,寻址其中,寻址 00 直接寻址,直接寻址,01 基址寻址,基址寻址,10 相对寻址,相对寻址,11 立即寻址立即寻址 间址间址=1 为间接寻址,变址为间接寻

温馨提示

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

评论

0/150

提交评论