第四章-指令系统 (计算机组成原理)

上传人:飞*** 文档编号:56841064 上传时间:2018-10-16 格式:PPT 页数:135 大小:1.30MB
返回 下载 相关 举报
第四章-指令系统 (计算机组成原理)_第1页
第1页 / 共135页
第四章-指令系统 (计算机组成原理)_第2页
第2页 / 共135页
第四章-指令系统 (计算机组成原理)_第3页
第3页 / 共135页
第四章-指令系统 (计算机组成原理)_第4页
第4页 / 共135页
第四章-指令系统 (计算机组成原理)_第5页
第5页 / 共135页
点击查看更多>>
资源描述

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

1、第四章 指令系统,概述 指令系统 寻址方式,概 述,指令:是要计算机执行某种操作的命令。 微指令,机器指令,宏指令 微指令:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令。一条指令分成若干条微指令。 机器指令:机器指令是CPU能直接识别并执行的指令,它的表现形式是二进制编码。 宏指令是汇编语言程序中的一种伪指令 指令系统:一台计算机中所有机器指令的集合。 是机器硬件设计的依据,也是软件设计的基础。它决定了一台计算机硬件的主要性能和基本功能。是硬件和软件间的界面。,概 述,它决定了一台计算机硬件的主要性能和基本功能。是硬件和软件间的界面。 系列计算机:有共同的指令集,

2、相同的基本体系结构。 CISC和RISC CISC-Complex Instruction Set Computer,复杂指令集计算机。随着计算机系统的复杂,为了提高运算速度,人们不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。把一些原来由软件实现的、常用的功能改用硬件,概 述,的指令系统实现,以此来提高计算机的执行速度,这种计算机系统就被称为复杂指令系统计算机,80x86 采用的就是CISC 而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。 RISC-Reduced Instruction Se

3、t Computer ,精简指令集计算机。 只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现,这种计算,概 述,就被称为精简指令系统计算机RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。,一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。2.有效性:程序占空间小,执行速度快。3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。4.兼容性:“向上兼容”-系列机中低档机上运行

4、的软件可以在高档机上运行。,概 述,计算机语言与硬件结构的关系 高级语言的语句和用法与具体机器的指令系统无关;高级语言不涉及机器的硬件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。 汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;它用助记符来简化机器语言的编程。 机器语言与具体机器的指令系统密切相关。是由一些二进制代码表示。非常难于读懂,不易记忆。,概 述,概 述,1.机器指令的要素 操作码-描述操作的性质和种类 源操作数- 目的操作数 下一条指令的引用指令字(简称指令)即表示一条指令的机器字。指令格式则是指令字

5、用二进制代码表示的结构形式,由操作码字段和地址码字段组成。,指令格式,2指令格式 (1)操作码表示该指令进行什么性质的操作,表征指令的操作特性与功能。设计计算机时,对指令系统的每一条指令都要规定一个操作码。组成操作码字段的位数一般取决于计算机指令系统的规模。,指令格式,OP,A1,A2,A3,操作码,地址码1,地址码2,地址码3,例如,一个指令系统只有8条指令,则有3位二进制位的操作码就够了(23=8);如果有32条指令,那么就需要5位二进制位的操作码(25=32) 。 (2)地址码地址码字段通常指定参与操作的操作数的地址。根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令

6、。目前,二地址指令和一地址指令用的最多。下面是几种常用的指令格式。,指令格式,三地址指令字中有三个操作数地址(A1) OP (A2) A3 其中 A1表示主存单元地址, ( A1 )表示主存单元存放的数据,是A1单元的内容,指令格式,OP,A1,A2,A3,三地址指令,OP,A1,A2,二地址指令,OP,A1,一地址指令,OP,零地址指令,二地址指令常称为双操作数指令。 (A1) OP (A2) A1 一地址指令常称为单操作数指令。OP (A) A (AC) OP (A) AC 零地址指令的指令字中只有操作码,而没有地址码。OP表示操作性质;(AC)表示累加寄存器AC中的数;(A)表示内存中地

7、址为A的存储单元中的数或运算器中地址为A的通用寄存器中的数; 表示把操作(运算)结果传送到指定的地方。,指令格式,3指令的类型 二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。 存储器-存储器(SS)型:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。 寄存器-寄存器(RR)型:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为,指令格式,执行这类指令,不需要访问内存。 寄存器-存储器(RS)型:执行此类指令时,

8、既要访问内存单元,又要访问寄存器。 4指令字长度一个指令字中包含二进制代码的位数,称为指令字长度。而机器字长是指计算机能直接处理的二进制数据的位数,与主存单元的位数一致,它决定了计算机的运算精度。,指令格式,L为指令字长度, N为机器字长度,例如 IBM370系列,其指令有16位(半字长),32位(一个字长),48位(一个半字长)。使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。 5.指令码及其扩展技术 等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令

9、字长度是不变的。 变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。,指令格式,【例4.1】设某台机器有指令128种,用二种操作码方案,(1)用该固定长度操作码方案设计其操作码编码;(2)如果在128中指令中常用指令有8种,使用概率达到80%,其余指令使用概率为20%,采用可变长操作码方案设计其编码,并求出其操作码的平均长度。解:(1)采用固定长操作码方案,需要7位操作码,可产生128种编码,每种编码表示一种指令。(2)采用可变长操作码编码方案,用4位代码表示8种常用指令,用8位代码表示120种不常用指令,即:,指令格式,0000 指令0的操作码0

10、001 指令1的操作码0111 指令7的操作码1000 0000 指令8的操作码1000 1111 指令23的操作码1001 0000 指令24的操作码1001 1111 指令39的操作码1110 1111 指令119的操作码1111 0000 指令120的操作码1111 0111 指令127的操作码,指令格式,指令操作码的平均长度为:4位80%+8位20%=4.8位 可变长操作码可以有效缩短操作码平均长度。 6.地址码与数据字长地址码指定操作数的地址。地址码可以是存储器地址,也可以使通用寄存器号。指令中需要的操作数个数不同,可以设置不同数目的地址码,操作码的设计应该与地址码的设计相配合。计算

11、机中的数据字长不是固定的。不同的机型有不同的数据字长。,指令格式,以IBM 360/370为例,主存的最小寻址单位为字节,每个字节有一个地址编号,字节地址是任意的二进制数,2个字节组成16位的半字,半字的地址为2的倍数,即地址的最低位为“0”,有本地址指出的字节与下一地址字节(本字节地址+1)组成16位半字。单字长数据由4个字节组成,其地址为4的倍数。即字地址的最低两位为“00”,本地址字节与紧跟的3个字节一起组成一个32位的单字长数据。双字长数据由8个字节组成,其地址为8的倍数。即字地址的最低三位为“000”,本地址字节与紧跟的7个字节一起组成一个64位的双字长数据。,指令格式,指令格式,数

12、据存放时,一个4字节长的数据必须放在一个主存的字单元中;一个8字节长的数据必须存放在2个主存的字单元中;一个双字节数据必须存放在1个字单元中,但要求存放在高2个字节或低2个字节中,以保证一个字单元能够存放2个双字节数据。,7.指令助记符 由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是书写程序却非常麻烦。为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码。,指令格式,寻址方式,指令的寻址方式计算机中有两种信息。即指令和数据(或称操作数),它们都存

13、放在存储器相应的地址中。运行程序时,计算机逐条执行指令,并对数据进行处理。如何从存储器中找到所需要的指令或数据呢?很明显,只要找到它们在存储器的有效地址即可。寻址方式,就是寻找指令或操作数的有效地址的方式。,寻址方式可以大体分为存储器寻址,寄存器寻址,立即数寻址和堆栈寻址几大类。 存储器寻址 直接寻址 间接寻址 变址寻址方式 相对寻址方式 基址寻址方式 寄存器寻址 寄存器直接寻址 寄存器间接寻址,寻址方式,3.立即寻址 4.堆栈寻址 5.其他寻址 隐含寻址 复合寻址 变址间接式 间接变址式 块寻址方式 段寻址方式,寻址方式,1.存储器寻址方式 (1)直接寻址在指令格式的地址字段中直接指出操作数

14、在内存的地址D。由于操作数的地址直接给出而不需要经过某种变换或运算,所以称这种寻址方式为直接寻址方式。,操作数=2000H,1350H,寻址方式,(2)间接寻址指令地址码中给出的不是操作数,也不是操作数地址,而是存放操作数地址的主存单元地址,访问一次主存后才可以得到操作数的有效地址。,寻址方式,操作数=1234H,1000H,2000H,(3)变址寻址指令中的地址码与另外一个寄存器的内容相加,得到的结果才是操作数的有效地址。变址寻址方式的指令中应有变址寻址标志指出有效地址如何形成,同时应该有专门的变址寄存器,其指令格式如图所示。,寻址方式,OP,X,D,K,E,变址寄存器,有效地址,指令,K+

15、DE,(4)相对寻址把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数有效地址。程序计数器的内容就是当前指令的地址。这是一种特殊的变址寻址方式。如图所示:,寻址方式,OP,P,D,(PC),E,程序计数器,有效地址,指令,(PC)+DE,(5)基址寻址在多用户系统中,为每一个用户分配一个存储空间,每个用户按自己的逻辑地址编程。在程序装入机器运行时,为每个用户指定一个基地址,用户程序实际存放的地址是基地址与其逻辑地址之和,不同用户使用不同的基地址,占用不同的存储空间,这种寻址方式叫基址寻址方式。如图所示:,寻址方式,OP,Rb,D,E,基址寄存器,有效地址,指令,Rb +DE,2.寄存器寻址方式在计算机中,为了提高运算器的运行速度,在运算器内部专门设置若干寄存器,从而减少运算器访问存储器的次数,提高了运算器的运行速度。运算器中的数据寄存器通称为通用寄存器。寄存器的数量有限,一般是4、8、16、32个等,用Ri表示。寄存器寻址分为寄存器直接寻址和寄存器间接寻址。,

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

当前位置:首页 > 行业资料 > 其它行业文档

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