计算机指令格式.ppt_第1页
计算机指令格式.ppt_第2页
计算机指令格式.ppt_第3页
计算机指令格式.ppt_第4页
计算机指令格式.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第11讲 指令格式,1 指令系统的发展与性能要求 2 指令格式 3 寻址方式,1 指令系统的发展与性能要求,指令:微机完成规定操作的命令 微指令:微程序级的命令,它属于硬件。 宏指令:由若干条机器指令组成的软件指令,它属于软件。 机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。 指令系统:机器指令的集合称为计算机的指令系统,即CPU所能识别的全部指令。,硬件,软件,指令系统,50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。 60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也

2、趋多样化。 70年代末期:大多数计算机的指令系统多达几百条。我们称这些计算机为复杂指令系统计算机(CISC)。但是如此庞大的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又提出了便于VLSI技术实现的精简指令系统计算机(RISC)。,(1)指令系统的发展,指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。 一个完善的指令系统应满足如下四方面的要求: 完备性 有效性 规整性 兼容性,(2) 对指令系统性能的要求,2 指令格式,一条指令应包含如下信息:,进行何种操作:即操作性质。 体现在指令中被称为操作码。,操作的对象:数据来源以及如何寻找操作

3、数。 体现在指令中被称为地址码,操作结果:结果存放在何处。,下一条指令又如何寻找,1) 指令字长:一个指令字中包含二进制代码的位数。 指令字的长度取决于操作码的长度、操作数地址的长度和操作数地址的个数。 2)机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算能力。,(1) 指令字长,3) 指令字长与机器字长的关系,指令字长与机器字长没有固定的关系。 等长指令字结构:在一个指令系统中,各种指令字长度是相等的。 优点:指令字结构简单:取指快、译码简单,便于控制。 变长指令字结构:在一个指令系统中,各种指令字长度随指令功能而异,按字节的倍数变化。 优点:指令字结构灵活,合理利用存储空

4、间; 缺点:指令的控制较复杂。,单字长指令:指令字长等于机器字长; 双字长指令:指令字长等于两个机器字长; 半字长指令:指令字长只有半个机器字长。,各种指令字的结构情况,单字长指令,双字长指令,半字长指令,变字长指令,操作码反映机器做什么操作。 操作码所占的二进制位数决定了一台计算机所能允许的指令条数。 例如,操作码占用六位二进制码时,这台计算机最多允许有:,(2)操作码格式,2664 条指令,1)固定格式-定长操作码 各指令操作码的位置、位数固定相同。 2)可变格式-扩展操作码 各指令操作码的位置、位数不固定,根据需要变化,操作码的位数随地址数的减少而增加。关键在设置扩展标志。,假设一台计算

5、机指令字长16位,操作码与地址码都为4位,如图所示。 1)方法一:固定格式,则最多可以设计16条三地址指令。显然,4位基本操作码是不够的,必须向地址码字段扩展操作码的长度。 2)方法二:扩展操作码 该指令可以包含3、2、1或0个地址。,4 位操作码,8 位操作码,12 位操作码,16 位操作码,15条三地址指令,15条二地址指令,15条一地址指令,16条零地址指令,2)方法二:扩展操作码,操作码 15-12,地址码 11-8 7-4 3-0,在可变长操作码的指令系统设计中,究竟使用何种扩展方法为好,指令的使用频度(即在程序中出现的概率)是非常重要的依据。即频度高的指令应分配短的操作码,频度低的

6、指令则分配较长的操作码。 缺点是译码系统比固定操作码复杂,增加了设计控制器的难度,需要更多的硬件作支持。,例如: 设某台计算机有100条指令,(1) 采用固定长度操作码编码,试设计其操作码的编码。(2) 假如这100条指令中有10条指令的使用概率达到90%,其余90条指令的使用概率为10%。试采用不等长编码设计操作码。,解: (1)固定长度操作码编码:需7位操作码。 100个代码作为100条指令指令操作码即 0000000指令0的操作码 0000001指令1的操作码 1100011指令99的操作码 剩下28个代码可用于增加新指令,长度都是7位。 1100100 1111111,解:可变长度操作

7、码编码 10条指令:需4位操作码编码 0000指令0的操作码 1001指令9的操作码 90条指令:需8位操作码编码 10100000 (160) 11111001 (249),扩展操作码的组合方案可以有多种,但各条指令的操作码一定不能重复,而且各指令应能正确译码。 霍夫曼编码:对使用频度较高的指令,分配较短的操作码字段;对使用频度较低的指令,分配较长的操作码字段。 扩展操作码介于定长编码和霍夫曼编码之间,操作码字段的位数既不是固定的,又不是任意的,而是有限的几种码长。,指令中的地址码用来指出该指令的源操作数地址(一个或两个)、结果地址及下一条指令的地址。 这里的地址可以是主存地址,也可以是寄存

8、器地址,甚至可以是I/O设备的地址。 1)指令提供地址的方式: 显地址方式:指令中明显指明了地址。 隐地址方式:地址隐含约定,并不出现在指令中,(3)地址结构,使用隐地址可以减少指令中的地址数,从而简化地址结构。,2)地址结构的简化,三地址指令,二地址指令,一地址指令,零地址指令,四地址指令,四地址指令,8 6 6 6 6,A1 第一操作数地址,A2 第二操作数地址,A3 结果的地址,A4 下一条指令地址,4 次访存,直接寻址范围 26 = 64,这种指令直观易懂,但冗余繁琐,不切实际。,因为程序中大部分指令都是顺序执行的,当采用指令计数器PC指示指令地址后,A4地址可以省去。,格式:,功能:

9、,例如:四地址指令,(A1)OP(A2)A3 A4=下一条将要执行指令的地址,5,3,8,三地址指令,8 8 8 8,需4 次访存,直接寻址范围 28 = 256,若 A3 用 A1 或 A2 代替,用三地址指令编写的程序,其指令在内存中必须依次存放,才能利用程序计数器自动增量的办法顺序执行。若程序要转向时,必须用转移地址修改PC的内容。但是机器运行过程中,中间结果可以暂时存放在CPU的寄存器(如ACC)中,可将A3省去。,格式:,功能:,例如:三地址指令,(A1)OP(A2)A3 (PC)+1=下条将要执行指令的地址,程序计数器: 存放当前指令地址,5,3,8,执行一条三地址指令需4次访问主

10、存。,二地址指令,8 12 12,或,4 次访存 如果(A1)OP(A2) ACC,只需3次访存,寻址范围 212 = 4 K, 当二地址指令执行之后,A1或A2中的内容被修改了。 如果将一个操作数的地址隐含在运算器的ACC中,指令字中只需给出一个地址码,构成一地址指令。,格式:,功能:,一地址指令,8 24,ACC既存放参与运算的操作数,又存放中间结果,完成一条一地址指令需2 次访存,直接寻址范围 224 = 16 M,如:求反,自增1等,格式:,功能:,双操作数:,单操作数:,在程序执行前,必须用一条“取数指令”把其中一个操作数放到累加寄存器中。程序结束后,累加寄存器的内容已被修改。若要将

11、累加寄存器中的结果送回内存,则必须使用“存数指令”。,双操作数:,无地址码的指令称为零地址指令。可以没有地址,也可以是隐含地址。如停机指令就是不需要地址的零地址指令。 功能:用于堆栈或特殊指令操作。 执行零地址指令时,被运算的操作数地址全部是隐含的,指令格式中只说明作什么操作。例如进栈(PUSH)、出栈(POP)这类指令,其操作数的地址隐含在堆栈指针SP中,零地址指令,小结,当用一些硬件资源代替指令字中的地址码字段后,当指令的地址字段为寄存器时,可扩大指令的寻址范围,可缩短指令字长,可减少访存次数,三地址 OP R1, R2, R3,二地址 OP R1, R2,一地址 OP R1,指令执行阶段不访存,可缩短指令字长,由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。,典型的指令助记符,(4)指令助记符,操作数类型,一、操作数类型,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址 为 低字节 地址,字地址 为 高字节 地址,存

温馨提示

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

评论

0/150

提交评论