计算机组成原理 白中英第四章 指令系统

上传人:tia****nde 文档编号:70585755 上传时间:2019-01-17 格式:PPT 页数:53 大小:678.81KB
返回 下载 相关 举报
计算机组成原理 白中英第四章 指令系统_第1页
第1页 / 共53页
计算机组成原理 白中英第四章 指令系统_第2页
第2页 / 共53页
计算机组成原理 白中英第四章 指令系统_第3页
第3页 / 共53页
计算机组成原理 白中英第四章 指令系统_第4页
第4页 / 共53页
计算机组成原理 白中英第四章 指令系统_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《计算机组成原理 白中英第四章 指令系统》由会员分享,可在线阅读,更多相关《计算机组成原理 白中英第四章 指令系统(53页珍藏版)》请在金锄头文库上搜索。

1、第四章 指令系统,概述 寻址方式 指令系统,2019年1月17日3时7分,概 述,指令:是指示计算机某种操作的命令。 微指令,机器指令,宏指令 指令系统:一台计算机中所有机器指令的集合。 它是机器硬件设计的依据,也是软件设计的基础。 它决定了一台计算机硬件的主要性能和基本功能。是硬件和软件间的界面。 系列计算机:有共同的指令集,相同的基本体系结构。 CISC和RISC,2019年1月17日3时7分,一个完善的指令系统应满足: 1.完备性:指令丰富,功能齐全,使用方便。 2.有效性:程序占空间小,执行速度快。 3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。 4.兼容性: “向上兼容”-

2、系列机中低档机上运行的软件可以在高档机上运行。,2019年1月17日3时7分,计算机语言与硬件结构的关系,高级语言的语句和用法与具体机器的指令系统无关; 低级语言分机器语言和汇编语言,他们和具体机器的指令系统密切相关。 汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。,2019年1月17日3时7分,概 述,机器指令的要素 操作码 源操作数 目的操作数 下一条指令的引用 指令字(简称指令)即表示一条指令的机器字。 指令格式则是指令字用二进制代码

3、表示的结构形式,由操作码字段和地址码字段组成。,2019年1月17日3时7分,1操作码 设计计算机时,对指令系统的每一条指令都要规定一个操作码。 指令操作码表示该指令进行什么性质的操作, 表征指令的操作特性与功能。 组成操作码字段的位数一般取决于计算机指令系统的规模。 例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。,2019年1月17日3时7分,2地址码 地址码字段通常指定参与操作的操作数的地址。 根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前,二地址指令和一地址指令用的最多。,2019年1月17日3时7分,(1)零地

4、址指令的指令字中只有操作码,而没有地址码。 (2)一地址指令常称为单操作数指令。 OP (A) - A (AC) OP (A) - AC (3)二地址指令常称为双操作数指令。 (A1) OP (A2) - A1 (4)三地址指令字中有三个操作数地址。 (A1) OP (A2) - A3 OP表示操作性质;(AC)表示累加寄存器AC中的数;(A)表示内存中地址为A的存储单元中的数或运算器中地址为A的通用寄存器中的数;表示把操作(运算)结果传送到指定的地方。,2019年1月17日3时7分,二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。 存储器-存储器(SS)型指令:操作时都是涉及内

5、存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。 寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。 寄存器-寄存器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。,2019年1月17日3时7分,3指令字长度 一个指令字中包含二进制代码的位数,称为指令字长度。而机器字长是指计算机能直接处理的二进制数据的位数,与主存单元的位数一致,它决定了计算机的运算精度。,它们之间

6、关系如上:其中L为指令字长度,N为机器字长度,2019年1月17日3时7分,使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。 等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。 变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。,2019年1月17日3时7分,4.指令助记符 由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是书写程序却非常麻烦。 为了便于书写和阅读程序,每条指令通常用3

7、个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。 在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码。,2019年1月17日3时7分,指令格式举例 八位微型计算机的指令格式 8位微型机字长只有8位,指令结构是一种可变字长形式,包含单字长、双字长、三字长指令等多种。 内存按字节编址,所以单字长指令每执行一条指令后,指令地址加。双字长指令或三字长指令每执行一条指令时,指令地址要加2或加3,可见多字长的指令格式不利于提高机器速度。,2019年1月17日3时7分,指令和指令系统指令的使用,一般的操作数类型大小选择主要有:字节、半字(16位)、单字(3

8、2位)、和双字(64位)。,2019年1月17日3时7分,例:指令格式如下所示,其中机器字长16位,OP为操作码,试分析指令格式的特点。,解: (1)单字长二进制指令。 (2)操作码字段OP可以指定27=128条指令。 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。 (4)这种指令结构常用于算术逻辑运算类指令。,2019年1月17日3时7分,例: 指令格式如下所示,OP为操作码字段,试分析指令格式特点。,15 10 7 4 3 0,解: (1)双字长二地址指令,用于访问存储器。 (2)操作码字段OP为6位,可以指定64种操作。 (3)一

9、个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。,2019年1月17日3时7分,指令和数据的寻址方式,指令的寻址方式 计算机中有两种信息。即指令和数据(或称操作数),它们都存放在存储器相应的地址中。运行程序时,计算机逐条执行指令,并对数据进行处理。如何从存储器中找到所需要的指令或数据呢?很明显,只要找到它们在存储器的有效地址即可。 所谓寻址方式,就是寻找指令或操作数的有效地址的方式。 顺序寻址方式:按照指令在内存的存放位置顺序地取出指令,然后执行的过程,为顺序寻址方式。 跳跃寻址方式:程序转移执行的顺序。,2019年1月17日3时7分,1.顺

10、序寻址 为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,然后每执行一条指令,PC加 1,以指出下条指令的地址,直到程序结束。,2019年1月17日3时7分,2. 跳跃寻址 当程序中出现分支或循环时,就会改变程序的执行顺序。此时,对指令寻址就要采取跳跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC加1获得的,而是由指令本身给出。,2019年1月17日3时7分,操作数的寻址方式 隐含寻址 立即寻址 直接寻址 间接寻址 寄存器寻址方式和寄存器间接寻址方式 相对寻址方式 基值寻址方式 变址寻址方式 块寻址方式 段寻址方式

11、,2019年1月17日3时7分,指令和数据的寻址方式,隐含寻址 这种类型的指令,不是明显地给出操作数的地址,而是指令中隐含着操作数的地址。 在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。,2019年1月17日3时7分,指令和数据的寻址方式,立即地址 指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。立即寻址方式的特点是指令执行时间很短,因为它不需要访问内存取数,从而节省了访问内存的时间。 例如:单地址的移位指令格式为,这里,D不表

12、示地址,而是表示某寄存器中存放的操作数需要移位的次数,因此D可看做移位指令的操作数。F为标志位,当F=1时,进行右移;当F=0时,进行左移。,2019年1月17日3时7分,指令和数据的寻址方式,直接寻址 直接寻址是一种基本的寻址方法,其特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。由于操作数的地址直接给出而不需要经过某种变换或运算,所以称这种寻址方式为直接寻址方式。,2019年1月17日3时7分,指令和数据的寻址方式,间接寻址 间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说D单元的内容才是操作数的

13、有效地址。,2019年1月17日3时7分,指令和数据的寻址方式,2019年1月17日3时7分,指令和数据的寻址方式,寄存器寻址和寄存器间接寻址方式 当操作数不放在内存中,而是放在中央处理器的通用寄存器中时,可采用寄存器寻址方式。显然,此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号,操作数在CPU的内部寄存器中。如:(AX,BX,CX,DX) 寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。,2019年1月17日3时7分,指令和数据的寻址方式,相对寻址 把程序计数器PC的内容加上指令格式中的形式地

14、址D而形成操作数有效地址。程序计数器的内容就是当前指令的地址。 因此,所谓“相对”寻址,就是相对于当前指令地址而言。采用相对寻址方式的好处是程序员勿需用指令的绝对地址编程,因而所编程序可以放在内存任何地方。,2019年1月17日3时7分,指令和数据的寻址方式,假设D=1000H,PC=2000H,则有效地址=(PC)+D =2000H+1000H=3000H 操作数=(3000H)=1234H,2019年1月17日3时7分,指令和数据的寻址方式,变址和基值寻址方式 变址寻址方式与基值寻址方式有点类似,它们都是把某个变址寄存器或基值寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址。

15、但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律变化。,2019年1月17日3时7分,指令和数据的寻址方式,E=S=D+(A),2019年1月17日3时7分,指令和数据的寻址方式,复合寻址方式 复合寻址方式是把间接寻址方式同相对寻址方式或变址相结合而形成的寻址方式。它分为先间接方式与后间接方式两种。 (1)变址间接式 这种寻址方式是先把变址寄存器的内容A和形式地址D相加得A+D,然后间接寻址,求得操作数的有效地址。操作数的有效地址为E=(A+D),2019年1月17日3时7分,指令和数据的寻址方式,假设变址寄存器A的值为0050H,D=1000H,则有效地址=(A)+D)=(

16、0050H+1000H)=2345H 操作数=(2000H)=2345H,2019年1月17日3时7分,指令和数据的寻址方式,(2)间接变址式 这种寻址方式是先将形式地址取间接变换(D)=N然后把N和变址寄存器的内容A相加,即得操作数的有效地址。操作数的有效地址表达式为E=A+(D)=A+N,2019年1月17日3时7分,指令和数据的寻址方式,假设变址寄存器A的值为0050H,D=1000H, 则有效地址=A+(D) =0050H+(1000H)=0050+2000 =2050H 操作数=(2050H)=3456H,2000H,3456H,2019年1月17日3时7分,指令和数据的寻址方式,块寻址: 通常在指令中指出数据块的起始地址和数据块的长度,常用在输入输出指令中。 多用于I/O指令。对顺序连续的成块数据字进行寻址。 目的:压缩程序的长度,加块执行速度。 用于:1)两个部件间的数据交换; 2)程序,数据块的浮动。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号