版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理指令系统第一页,共六十八页,编辑于2023年,星期五4.1指令系统的发展与性能要求指令在计算机系统中的地位(1)是软件和硬件分界面的一个主要标志硬件设计人员采用各种手段实现它;软件设计人员则利用它编制各种各样的系统软件和应用软件(2)是硬件设计人员和软件设计人员之间的分界面,也是他们之间沟通的桥梁。第二页,共六十八页,编辑于2023年,星期五4.1.1指令系统的发展
计算机的程序:是解决某一实际问题的指令序列;指令:就是要计算机执行某种操作的命令。
从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。
微指令:微程序级的命令,它属于硬件;
宏指令:由若干条机器指令组成的软件指令,它属于软件;
机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。
4.1
指令系统的发展和性能要求第三页,共六十八页,编辑于2023年,星期五3.指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构也直接影响到系统软件,影响到机器的适用范围。第四页,共六十八页,编辑于2023年,星期五下面我们来看一下计算机指令系统的发展过程
50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。60年代后期开始出现系列计算机第五页,共六十八页,编辑于2023年,星期五系列计算机是指节本指令系统相同、基本体系结构相同的一系列计算机。其必要条件是同一系列的各机种有共同的指令集.而且新推出的机种指令系统一定包含所有旧机种的全部指令,即实现一个“向上兼容”。因此旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。系列机解决了各机种的软件兼容问题第六页,共六十八页,编辑于2023年,星期五4.1指令系统的发展与性能要求3、发展情况复杂指令系统计算机,简称CISC。但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。精简指令系统计算机:简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算机。第七页,共六十八页,编辑于2023年,星期五
一个完善的指令系统应满足如下四方面的要求:1.完备性
用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。
2.有效性
利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。规整性
规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。
对称性指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;
匀齐性是指一种操作性质的指令可以支持各种数据类型;
指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取。4.兼容性
系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。
4.1.2对指令系统性能的要求第八页,共六十八页,编辑于2023年,星期五计算机语言具有高级语言和低级语言之分。高级语言如C,FORTRAN等,其语句和用法与具体机器的指令系统无关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。高级语言与低级语言的性能比较4.1.3低级语言与硬件结构的关系第九页,共六十八页,编辑于2023年,星期五高级语言与低级语言的性能比较第十页,共六十八页,编辑于2023年,星期五4.2
指令格式
指令字(简称指令)即表示一条指令的机器字。
指令格式则是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。
操作码字段
地址码字段
操作码字段表征指令的操作特性与功能;操作码字段的位数取决于指令系统的规模,有固定位数和可变位数;若操作码字段的位数固定为n位,则指令系统最多可表示2n条指令。4.2.1操作码第十一页,共六十八页,编辑于2023年,星期五指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的,即不同类型的指令有不同的划分,以便尽可能用较短的指令字长来表示越来越多的操作种类,并在越来越大的存储空间中寻址。第十二页,共六十八页,编辑于2023年,星期五等长(指令规整,译码简单)例如IBM370机,该机字长32位,16个通用寄存器R0~R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。第十三页,共六十八页,编辑于2023年,星期五
地址码字段通常指定参与操作的操作数的地址或操作数本身。
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操作结果这三种数,因而就形成了三地址指令格式。在此基础上,后来又发展成二地址格式、一地址格式和零地址格式操作码
A1
A2A3操作码
A1
A2操作码
A1
操作码
4.2.2地址码第十四页,共六十八页,编辑于2023年,星期五二、地址码三地址指令指令格式如下:操作码θ
第一操作数A1
第二操作数A2
结果A3功能描述:(A1)θ(A2)→A3(PC)+1→PC这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。θA3A2A1第十五页,共六十八页,编辑于2023年,星期五二、地址码二地址指令其格式如下:操作码θ第一操作数A1第二操作数A2
功能描述:(A1)θ(A2)→A1(PC)+1→PC二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。θA2A1第十六页,共六十八页,编辑于2023年,星期五二、地址码二地址地址根据操作数的物理位置分为:SS存储器-存储器类型RS寄存器-存储器类型RR寄存器-寄存器类型 慢第十七页,共六十八页,编辑于2023年,星期五二、地址码一地址指令指令格式为:操作码θ
第一操作数A1功能描述:(AC)θ(A1)→AC(PC)+1→PC单操作数运算指令,如“+1”、“-1”、“求反”指令中给出一个源操作数的地址θA1第十八页,共六十八页,编辑于2023年,星期五二、地址码零地址指令
其格式为:操作码θ“停机”、“空操作”、“清除”等控制类指令。θ第十九页,共六十八页,编辑于2023年,星期五
指令字长度:一个指令字中包含二进制代码的位数。有等长和变长两种。等长指令的处理结构简单,在对于操作码字段位数可变的情况下,利用地址码的个数不同,可将操作码向地址码部分延伸,从而增加指令条数。
机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。4.2.3指令字长度其中:L为指令字长度,
N为机器字长度第二十页,共六十八页,编辑于2023年,星期五使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。第二十一页,共六十八页,编辑于2023年,星期五
由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。
表4.2典型的指令助记符典型指令
指令助记符
二进制操作码
加法
ADD
001减法
SUB
010传送
MOV
011跳转
JMP
100转子
JSR
101存储
STR
110读数
LDA
1114.2.4指令助记符第二十二页,共六十八页,编辑于2023年,星期五如上表所示,这里我们假定指令系统只有7条指令,所以操作码只需3位二进制。由于指令助记符提示了每条指令的意义,因此比较容易记忆,书写起来比较方便,阅读程序容易理解。
需要注意的是,在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码。这种转换借助汇编程序可以自动完成,汇编程序相当于一个“翻译”。第二十三页,共六十八页,编辑于2023年,星期五1.八位微型计算机的指令格式
8位微型机字长只有8位,指令结构是一种可变字长形式,包含单字长、双字长、三字长指令等多种。操作码
操作码
A1
A2操作码
A1
单字长指令
双字长指令
三字长指令
内存按字节编址,所以单字长指令每执行一条指令后,指令地址加1。双字长指令或三字长指令每执行一条指令时,指令地址要加2或加3,可见多字长的指令格式不利于提高机器速度。4.2.5指令格式举例第二十四页,共六十八页,编辑于2023年,星期五2.
PDP/11系列机指令格式
PDP/11系列机指令字长16位,其指令格式如下表所示。
表4.3PDP/11系列机指令格式
从表中看出,在PDP/11中,操作码字段是不固定的,其长度也是不相同的。这样做可以扩展操作码以包含较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化。第二十五页,共六十八页,编辑于2023年,星期五3、Pentium指令格式指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统由可选前缀(0~4)、操作码(1~2)、一个由mod-R/M字节和一个SIB(ScaleIndexBase)比例变址字节组成的地址指定器、一个可选的位移量(0~4)和一个可选的立即数字段(0~4)构成。指令前缀段取代操作数长度取代地址长度取代操作码ModReg或操作码R/MSIB位移量立即数第二十六页,共六十八页,编辑于2023年,星期五3、Pentium指令格式指令前缀中的重复前缀指定串的重复操作,这样使Pentium处理串比软循环快得多。LOCK前缀用于多CPU环境中对共享存储器的排他性访问段取代用于改变默认段寄存器的情况操作数长度取代和地址长度取代用于在保护模式下决定操作数和指令的长度以下4个指令前缀都是可选的,分别为0或1个字节指令前缀段取代操作数长度取代地址长度取代第二十七页,共六十八页,编辑于2023年,星期五3、Pentium指令格式操作码是必须的,1~2个字节Mod、Reg、R/M为共1个字节,是可选的。mod-R/M指定的操作数是在R中还是在M中。mod(2位)R/M(3位)的32种值构成了8种寄存器方式和24种变址方式(参考汇编语言教材);Reg或OP(3位)指定另一个操作数(寄存器)或用作OP的补充。操作码ModReg或操作码R/MSIB位移量立即数1个字节1个字节第二十八页,共六十八页,编辑于2023年,星期五3、Pentium指令格式S、I、B共1个字节,分别是比例系数、变址寄存器号、基址寄存器号,可选。mod-R/M中的某些编码要求SIB字节来完成寻址方式的指定;SS(2)指定比例变换的因子,Index(2)指定变址寄存器,Base(3)指定基址寄存器位移量:可以是0,1,2,4个字节立即数:可以是0,1,2,4个字节操作码ModReg或操作码R/MSIB位移量立即数第二十九页,共六十八页,编辑于2023年,星期五[例1]指令格式如下所示,其中OP为操作码,试分析指令格式的特点。
15987
4
3
0[解]:
(1)单字长二地址指令。
(2)操作码字段OP可以指定128条指令。
(3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。
(4)这种指令结构常用于算术逻辑运算类指令。
op源寄存器目标寄存器第三十页,共六十八页,编辑于2023年,星期五[例2]
指令格式如下所示,OP为操作码字段,试分析指令格式特点
[解]:
(1)双字长二地址指令,用于访问存储器。
(2)操作码字段OP为6位,可以指定64种操作。
(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。
op源寄存器变址寄存器
位移量(16位)
15
10
7
4
3
0第三十一页,共六十八页,编辑于2023年,星期五4.3操作数类型操作数类型地址数据:地址实际上也是一种形式的数据。数值数据:计算机中普遍使用的三种类型的数值数据。字符数据:文本数据或字符串,目前广泛使用ASCII码。逻辑数据:一个单元中有几位二进制bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。Pentium数据类型(见P111表4.4)常规数据类型整数数据类型……..第三十二页,共六十八页,编辑于2023年,星期五4.4指令和数据的寻址方式研究问题确定本条指令中各操作数的地址下一条指令的地址寻址方式是指CPU根据指令中给出的地址码字段寻找相应的操作数的方式,它与计算机硬件结构紧密相关,而且对指令的格式和功能有很大的影响。第三十三页,共六十八页,编辑于2023年,星期五4.4
指令和数据的寻址方式
操作数或指令在存储器中的地址:某个操作数或某条指令存放在某个存储单元时其存储单元的编号。在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类,既指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。4.4.1指令的寻址方式
指令的寻址方式有两种:一种是顺序寻址方式; 另一种是跳跃寻址方式。第三十四页,共六十八页,编辑于2023年,星期五4.4指令和数据的寻址方式指令的寻址方式顺序方式PC跳跃方式第三十五页,共六十八页,编辑于2023年,星期五1.顺序寻址方式(PC)+1->PC指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行。从存储器取出第一条指令,然后执行这条指令;接着从存储器取出第二条指令,在执行第二条指令;接着再取出第三条指令……这种程序顺序执行的过程,我们称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。第三十六页,共六十八页,编辑于2023年,星期五2.跳跃寻址方式目标地址->PC当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。程序跳跃后,按新的指令地址开始顺序执行。指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。采用指令跳跃寻址方式,可以实现程序转移或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的。第三十七页,共六十八页,编辑于2023年,星期五4.4指令和数据的寻址方式操作数的寻址方式形成操作数有效地址的方法,称为寻址方式。操作数通常放在哪儿呢?第三十八页,共六十八页,编辑于2023年,星期五4.4指令和数据的寻址方式操作数包含在指令中;操作数包含在CPU的某一个内部寄存器中;操作数包含在主存储器中;操作数包含在I/O设备的端口中根据操作数放在不同的地方,从而派生各种不同的寻址方式,往往不同的计算机具有不同的寻址方式。第三十九页,共六十八页,编辑于2023年,星期五
例如,一种单地址指令的结构如下所示,其中用X,I,D各字段组成该指令的操作数地址。
操作码OP
变址X
间址I
形式地址D指令中操作数字段的地址码是由形式地址和寻址方式特征位等组合形成,因此,一般来说,指令中所给出的地址码,并不是操作数的有效地址。
因此,寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。4.4.2操作数寻址方式第四十页,共六十八页,编辑于2023年,星期五第四十一页,共六十八页,编辑于2023年,星期五在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。1.隐含寻址
ADDA操作数主存寻址特征AAC暂存ALU另一个操作数隐含在AC中第四十二页,共六十八页,编辑于2023年,星期五2.立即寻址指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。例如:单地址的移位指令格式为
OP(移位)
F
D这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。第四十三页,共六十八页,编辑于2023年,星期五直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。
采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。如果用S表示操作数,那么直接寻址的逻辑表达式为
S=(E)=(D)3.直接寻址第四十四页,共六十八页,编辑于2023年,星期五间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。4.间接寻址第四十五页,共六十八页,编辑于2023年,星期五寻址特征位I=0,表示直接寻址,这时有效地址E=D;
I=1,表示间接寻址,这时有效地址E=(D)。间接寻址方式是早期计算机中经常采用的方式,但由于两次访存,影响指令执行速度,现在已不大使用。如果把直接寻址和间接寻址结合起来,指令有如下形式:操作码
I
D第四十六页,共六十八页,编辑于2023年,星期五5.寄存器寻址方式和寄存器间接寻址方式当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中第四十七页,共六十八页,编辑于2023年,星期五6.相对寻址方式相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。
采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。适用于程序浮动,广泛用于转移指令第四十八页,共六十八页,编辑于2023年,星期五7.基址寻址方式基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。
它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。在程序的执行过程中基址寄存器内内容不变,形式地址D可变第四十九页,共六十八页,编辑于2023年,星期五变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。8.变址寻址方式OPD操作数主存寻址特征ALU变址寄存器在程序的执行过程中IX内容可变,形式地址D不变
便于处理数组问题第五十页,共六十八页,编辑于2023年,星期五10.段寻址方式微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。这种寻址方式的实质还是基址寻址。第五十一页,共六十八页,编辑于2023年,星期五堆栈寻址方式堆栈堆栈是一组能存储和取出数据的暂时存储单元。堆栈和其他形式的存储器之间的差别就在于,它们对数据的存取方法或寻址方法有所不同。
AAR堆栈BABAB第五十二页,共六十八页,编辑于2023年,星期五1.pentium的寻址方式外部地址总线宽度是36位,但它也支持32位物理地址空间。在实地址模式下,逻辑地址形式为段寻址方式:将段名所指定的段寄存器内容(16位)左移4位,低4位补全0,得到20位段基地址,再加上16位段内偏移,即得20位物理地址。
在保护模式下,32位段基地址加上段内偏移得到32位线性地址。由存储管理部件将其转换成32位的物理地址。
4.4.3寻址方式举例第五十三页,共六十八页,编辑于2023年,星期五Pentium的寻址方式第五十四页,共六十八页,编辑于2023年,星期五下面对32位寻址方式作几点说明:
⑴立即数可以是8位,16位,32位。⑵寄存器地址:一般指令或使用8位通用寄存器,或使用16位通用寄存器,或使用32位通用寄存器。对64位浮点数操作,要使用一对32位寄存器。少数指令以段寄存器来实施寄存器寻址方式。⑶直接寻址:也称偏移量寻址方式,偏移量长度可以是8位,16位,32位。⑷基址寻址:基址寄存器B可以是上述通用寄存器中任何一个。基址寄存器B的内容为有效地址。第五十五页,共六十八页,编辑于2023年,星期五⑸基址+偏移量寻址:基址寄存器B是32位通用寄存器中任何一个.⑹比例地址+偏移量寻址:也称为变址寻址方式,变址寄存器I是32位通用寄存器中除ESP外的任何一个,而且可将此变址寄存器内容乘以1,2,4或8的比例因子S,然后再加上偏移量而得到有效地址。⑺,⑻两种寻址方式是⑷,⑹两种寻址方式的组合,此时偏移量可有可无。⑼相对寻址:适用于转移控制类指令。用当前指令指针寄存器EIP或IP的内容(下一条指令地址)加上一个有符号的偏移量,形成CS段的段内偏移。第五十六页,共六十八页,编辑于2023年,星期五[例3]一种二地址RS型指令的结构如下所示:
6位4位1位2位16位其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。[解]:⑴直接寻址⑵相对寻址⑶变址寻址⑷寄存器间接寻址⑸间接寻址⑹基址寻址
OP
I
X偏移量D第五十七页,共六十八页,编辑于2023年,星期五[例4]
某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)=(3C)H。MOV是传送指令,STA为写数指令,LDA为读数指令。第五十八页,共六十八页,编辑于2023年,星期五要求:⑴分析三种指令的指令格式与寻址方式特点。⑵CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?⑶下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? ①(F0F1)H
(3CD2)H ②(2856)H
③(6FD6)H ④(1C2)H[解]:
⑴第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。⑵处理机完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,第五十九页,共六十八页,编辑于2023年,星期五因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。 MOV(OP)=001010⑶根据已知条件:STA(OP)=011011 LDA(OP)=111100将指令的十六进制格式转换成二进制代码且比较后可知:①(F0F1)H(3CD2)H指令代表LDA指令,编码正确,其含义是把主存(13CD2)H地址单元的内容取至15号寄存器。②(2856)H指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。③(6FD6)H是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H。④(1C2)H是单字长指令,代表MOV指令,但编码错误,可改正为(28C2)H。第六十页,共六十八页,编辑于2023年,星期五4.5典型指令指令分类与基本指令类型
数据传送类指令一般传送指令:
MOVAX,BX数据交换指令:
XCHG堆栈操作指令:
PUSH,POP运算类指令算术运算指令:
加、减、乘、除以及加1、减1、比较逻辑运算指令:
移位指令
程序控制类指令
程序控制类指令用于控制程序的执行方向,并使程序具有测试、分析与判断的能力。
输入和输出指令、字符串处理指令、特权指令、其他指令第六十一页,共六十八页,编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高尔夫球场水景改造方案
- 建筑工地安全管理与疫情防控方案
- 外墙生态设计施工方案
- 风电场临时用电施工方案
- 彩钢瓦屋面施工进度管理方案
- 幼儿园合同(2篇)
- 2020年儿童冬季假期安全防护方案
- 建筑施工现场安全培训方案
- 电力行业信息化系统灾难恢复管理制度
- 中小学特色校园文化方案
- JB-T 7072-2023 水轮机调速器及油压装置 系列型谱
- 科学的体育锻炼课件(图文)
- 2024年湖南省长沙市中考数学试卷附答案
- 混凝土搅拌站安全风险分级管控和隐患排查治理双体系方案全套资料(2020-2021版)
- 医学美容技术专业《美容产品与销售》课程标准
- GB/T 23586-2022酱卤肉制品质量通则
- 2024CSCO肿瘤相关性贫血临床实践指南解读
- JBT 106-2024 阀门的标志和涂装(正式版)
- 科技成果评估规范
- 口腔颌面部血管瘤的诊断与治疗
- 校园文创产品设计方案(2篇)
评论
0/150
提交评论