计算机组成原理第4章.ppt
第四章第四章 指令系统指令系统&4 4.1.1 指令系统的发展与性能要求指令系统的发展与性能要求&4.2 4.2 指令格式指令格式&4.3 4.3 操作数类型操作数类型&4.44.4指令和数据的寻址方式指令和数据的寻址方式&4.5 4.5 典型指令典型指令第4章 指令系统4.1 指令系统的发展和性能要求指令系统的发展和性能要求 u4.1.1 指令系统的发展指令系统的发展u4.1.2 对指令系统性能的要求对指令系统性能的要求u4.1.3 低级语言与硬件结构的关系低级语言与硬件结构的关系计算机组成原理计算机组成原理第四章指令系统第四章指令系统4.1.1指令系统的发展指令系统的发展l指令:指令:就是要计算机执行某种操作的命令。从计算就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机组成的层次结构来说,计算机的指令有微指令、机器指令机器指令和宏指令之分。和宏指令之分。l微指令:微指令:微程序级的命令,它属于硬件;微程序级的命令,它属于硬件;l机器指令:机器指令:简称指令,计算机可直接理解并执行。简称指令,计算机可直接理解并执行。l宏指令:宏指令:由若干条机器指令组成的软件指令,它属由若干条机器指令组成的软件指令,它属于软件;于软件;l指令系统:指令系统:一台计算机中所有机器指令的集合。一台计算机中所有机器指令的集合。4.1.1指令系统的发展指令系统的发展时间时间特点特点5050年代年代指令系统只有定点加减、逻辑运算、数据传送、指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令转移等十几至几十条指令6060年代后期年代后期指令数目达一二百条,增加了乘除运算、浮点指令数目达一二百条,增加了乘除运算、浮点运算、十进制运算、字符串处理等指令;运算、十进制运算、字符串处理等指令;寻址方式趋多样化;寻址方式趋多样化;出现出现系列计算机系列计算机。(基本指令系统相同、基本体系结构相同)(基本指令系统相同、基本体系结构相同)7070年代末期年代末期大多数计算机的指令系统多达几百条,称之为大多数计算机的指令系统多达几百条,称之为复杂指令系统复杂指令系统计算机计算机(CISC);又提出了精简指令系统计算机(又提出了精简指令系统计算机(RISC)。)。计算机组成原理计算机组成原理第四章指令系统第四章指令系统对指令系统性能的要求对指令系统性能的要求l完善的计算机的指令系统应具备:完善的计算机的指令系统应具备:1 1、完备性:完备性:完备性要求指令系统丰富、功能齐全、使用方便。完备性要求指令系统丰富、功能齐全、使用方便。2 2、有效性:有效性:指利用该指令系统所提供的指令编制的程序能够产指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率即占用存储空间小、执行速度快。生高效率。高效率即占用存储空间小、执行速度快。3 3、规整性:规整性:指令系统的对称性、匀齐性、指令格式与数据格式指令系统的对称性、匀齐性、指令格式与数据格式的一致性。的一致性。(1 1)对称性:)对称性:在指令系统中,所有寄存器和存储单元都可同等对待。在指令系统中,所有寄存器和存储单元都可同等对待。(2 2)匀齐性:)匀齐性:是指一种操作性质的指令可以支持各种数据类型。是指一种操作性质的指令可以支持各种数据类型。(3 3)指令的格式与数据格式的一致性:)指令的格式与数据格式的一致性:指令长度与数据长度有一定关指令长度与数据长度有一定关系,以方便存取和处理。系,以方便存取和处理。4 4、兼容性:兼容性:是指计算机的体系结构设计基本相同,机器之间具是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。有相同的基本结构、数据表示和共同的基本指令集合。计算机组成原理计算机组成原理第四章指令系统第四章指令系统低级语言与硬件结构的关系低级语言与硬件结构的关系l计算机语言具有计算机语言具有高级语言高级语言和和低级语言低级语言之分。之分。低级语言低级语言机器语言(二进制语言)、汇编语言(符号语言);机器语言(二进制语言)、汇编语言(符号语言);面向机器编写,不可移植;面向机器编写,不可移植;可最大程度挖掘机器功能。可最大程度挖掘机器功能。高级语言(算法语言)高级语言(算法语言)C、Fortran、Java、Pascal等;等;方便描述求解过程,执行性能依赖编译程序;方便描述求解过程,执行性能依赖编译程序;与指令系统无关,故可移植。与指令系统无关,故可移植。表表4.1 4.1 高级语言与低级语言的性能比较高级语言与低级语言的性能比较比较内容比较内容高级语言高级语言低级语言低级语言1对程序员的训练要求对程序员的训练要求(1)通用算法通用算法(2)语言规则语言规则(3)硬件知识硬件知识有有较少较少不要不要有有较多较多要要2对机器独立的程度对机器独立的程度独立独立不独立不独立3编制程序的难易程度编制程序的难易程度易易难难4编制程序所需时间编制程序所需时间短短较长较长5程序执行时间程序执行时间较长较长短短6编译过程中对计算机资源的要求编译过程中对计算机资源的要求多多少少4.2指令格式指令格式l4.2.1操作码操作码l4.2.2地址码地址码l4.2.3指令字长度指令字长度l4.2.4指令助记符指令助记符l4.2.5指令格式举例指令格式举例 指令格式即指令字用二进制代码表示的结构形式,指令格式即指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。由操作码字段和地址码字段组成。操作码字段操作码字段OP地址码字段地址码字段A表征指令的操作表征指令的操作特性与功能特性与功能指定参与操作的操指定参与操作的操作数的地址作数的地址计算机组成原理计算机组成原理第四章指令系统第四章指令系统4.2.1操作码操作码操作码是指明指令操作性质的命令码。它操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。提供指令的操作控制信息。例,加法、减法、乘法、取数、存数等。例,加法、减法、乘法、取数、存数等。一般来说,一个一般来说,一个n n位的操作码最多能表示位的操作码最多能表示2 2n n条指令。条指令。计算机组成原理计算机组成原理第四章指令系统第四章指令系统4.2.2地址码地址码操作码操作码A1A2A3操作码操作码A1A2操作码操作码A操作码操作码三地址指令三地址指令二地址指令二地址指令单地址指令单地址指令零地址指令零地址指令1 1零地址指令零地址指令n零地址指令中只有操作码而无地址码,其指令零地址指令中只有操作码而无地址码,其指令格式为:格式为:n不需操作数的控制型指令,如不需操作数的控制型指令,如HALT、WAIT、NOP等。等。OPOP2.2.一地址指令(单地址指令)一地址指令(单地址指令)n一地址指令的格式为:一地址指令的格式为:nA A可以是存储器地址,也可是寄存器地址。可以是存储器地址,也可是寄存器地址。n一地址指令有两种情况一地址指令有两种情况n 单操作数指令单操作数指令:如:如INCINC、DECDEC、NEGNEG等,只需一个操等,只需一个操作数,其功能为:作数,其功能为:OP(A)AOP(A)A。n 双操作数指令双操作数指令:另一个操作数通常采用隐含寻址的:另一个操作数通常采用隐含寻址的方法,将操作数隐含在约定的方法,将操作数隐含在约定的累加器累加器ACAC中,其指令功中,其指令功能为:能为:(AC)OP(A)AC(AC)OP(A)AC。n一地址指令长度短,指令执行速度快对于字长较短的一地址指令长度短,指令执行速度快对于字长较短的微、小型机,是一种常用的指令格式。微、小型机,是一种常用的指令格式。OPOPA A3 3二地址指令二地址指令n二地址指令的格式为:二地址指令的格式为:nn二地址指令功能为:二地址指令功能为:(A1)OP(A2)A1nA1、A2可以是存储器地址,也可是寄存器地址。可以是存储器地址,也可是寄存器地址。OPOPA A1 1A A2 2存储器存储器存储器型(存储器型(S-S型型)指令:)指令:A1、A2均为存储器均为存储器地址的二地址指令。地址的二地址指令。寄存器寄存器寄存器型(寄存器型(R-R型型)指令:)指令:A1、A2均为寄存器均为寄存器地址的二地址指令。地址的二地址指令。R-R型指令执行速度快。型指令执行速度快。寄存器寄存器存储器型(存储器型(R-S型型)指令:)指令:A1、A2中一个是寄中一个是寄存器地址,另一个是存储器地址的二地址指令。存器地址,另一个是存储器地址的二地址指令。二地址指令的几种形式二地址指令的几种形式n三地址指令格式:三地址指令格式:n三地址指令功能为:三地址指令功能为:(A1)OP(A2)A3nA1为被操作数地址,也称源操作数地址;为被操作数地址,也称源操作数地址;A2为操作数为操作数地址,也称终点操作数地址;地址,也称终点操作数地址;A3为存放结果的地址。为存放结果的地址。nA1、A2、A3可以是存储器地址,也可是寄存器地址。可以是存储器地址,也可是寄存器地址。n三地址指令编程方便,结果不影响运算操作数。但指三地址指令编程方便,结果不影响运算操作数。但指令长度较长,一般在字长较长的大、中型机中使用。令长度较长,一般在字长较长的大、中型机中使用。OPOPA A1 1A A2 2A A3 34 4三地址指令三地址指令计算机组成原理计算机组成原理第四章指令系统第四章指令系统指令字长度指令字长度l指令字长度指令字长度:一个指令字中包含二进制代码的位数。:一个指令字中包含二进制代码的位数。l机器字长机器字长:计算机能直接处理的二进制数据的位数,:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。它决定了计算机的运算精度。其中其中L为指令字长度,为指令字长度,N为机器字长度为机器字长度计算机组成原理计算机组成原理第四章指令系统第四章指令系统指令助记符指令助记符l指令助记符:指令助记符:硬件只能识别硬件只能识别1和和0,所以须采用二进制操,所以须采用二进制操作码,为便于书写和阅读程序,每条指令用作码,为便于书写和阅读程序,每条指令用3个或个或4个英个英文缩写字母来表示。文缩写字母来表示。典典型型指指令令指令助记符指令助记符二进制操作码二进制操作码加法加法ADD001减法减法SUB010传送传送MOV011跳转跳转JMP100转子转子JSR101存储存储STR110读数读数LDA111表表4.2典型的指令助记符典型的指令助记符例例1指令格式如下所示,其中指令格式如下所示,其中OP为操作码,试分析指令为操作码,试分析指令格式的特点。格式的特点。(假设机器字长(假设机器字长16位)位)1597430OP-源寄存器源寄存器目标寄存器目标寄存器解解:(1)单字长二地址指令。)单字长二地址指令。(2)操作码字段)操作码字段OP可以指定可以指定27128条指令。条指令。(3)源寄存器和目标寄存器都是通用寄存器,所以是)源寄存器和目标寄存器都是通用寄存器,所以是RR型指令,两个操作数均在寄存器中。型指令,两个操作数均在寄存器中。例例2指令格式如下所示,试分析指令格式特点。指令格式如下所示,试分析指令格式特点。15107430OP-源寄存器变址寄存器位移量(16位)(1)双字长二地址指令,用于访问存储器双字长二地址指令,用于访问存储器(2)操作码字段操作码字段OP为为6位,可以指定位,可以指定64种操作种操作(3)一个操作数在源寄存器(共一个操作数在源寄存器(共16个),另一个操作数在存个),另一个操作数在存储器中(由变址寄存器和位移量决定)储器中(由变址寄存器和位移量决定),所以是所以是RS指令指令4.3 操作数类型操作数类型q4.3.1一般的数据类型一般的数据类型q4.3.2Pentium数据类型数据类型q4.3.3PowerPC数据类型数据类型4.3.1 一般的数据类型一般的数据类型 q地址数据地址数据:地址实际上也是一种形式的数据。地址实际上也是一种形式的数据。q数值数据数值数据:计算机中普遍使用的三种类型的数值数据。计算机中普遍使用的三种类型的数值数据。定点数定点数浮点数浮点数压缩的十进制数压缩的十进制数q字符数据字符数据:文本数据或字符串,目前广泛使用文本数据或字符串,目前广泛使用ASCII码。码。q逻辑数据逻辑数据:一个单元中有几位二进制一个单元中有几位二进制bit项组成,每个项组成,每个bit的值可以是的值可以是1或或0。当数据以这种方式看待时,称为逻辑。当数据以这种方式看待时,称为逻辑性数据。性数据。4.4指令和数据的寻址方式指令和数据的寻址方式4.4.14.4.1 指令的寻址方式指令的寻址方式4.4.24.4.2 操作数寻址方式操作数寻址方式4.4.34.4.3 寻址方式举例寻址方式举例寻址方式寻址方式:形成指令或操作数地址的方式:形成指令或操作数地址的方式寻址方式的类别寻址方式的类别指令寻址方式指令寻址方式:用于形成指令在内存中的地址:用于形成指令在内存中的地址数据数据(操作数操作数)寻址方式寻址方式:用于形成操作数在内存中的地址:用于形成操作数在内存中的地址计算机组成原理计算机组成原理指令的寻址方式指令的寻址方式 l1.1.顺序寻址方式顺序寻址方式 PC PC1PC1PC设设置置程程序序计计数数器器(或或称称指指令令计计数数器器)PCPC,每每执执行行一一条条指指令,计数器加令,计数器加1 1;把计数器内容作为指令的存储地址。把计数器内容作为指令的存储地址。l2.2.跳跃寻址方式跳跃寻址方式 当程序转移时,修改当程序转移时,修改PCPC的内容的内容下下条条指指令令的的地地址址,不不是是计计数数器器给给出出的的,而而是是当当前前指指令令指指定的。定的。程程序序跳跳跃跃后后,按按新新的的指指令令地地址址开开始始顺顺序序执执行行,指指令令计计数数器的内容相应改变。器的内容相应改变。计算机组成原理计算机组成原理指令的顺序寻址方式 计算机组成原理计算机组成原理指令的跳跃寻址方式(程序的控制转移)play计算机组成原理计算机组成原理4.4.2 4.4.2 操作数寻址方式操作数寻址方式l操操作作数数的的寻寻址址:把把操操作作数数的的形形式式地地址址,根根据据间间址址和和变变址等组合变换为操作数址等组合变换为操作数有效地址有效地址的过程。的过程。l形式地址形式地址:指令中给出的地址。:指令中给出的地址。(不一定是实际地址不一定是实际地址)l有有效效地地址址:操操作作数数的的实实际际地地址址。如如寄寄存存器器编编号号或或存存储储单元地址。单元地址。形式地址形式地址A A变址变址X X间址间址I I操作码操作码OPOP操作码字段操作码字段地地址址码码字字段段操作数操作数计算机组成原理计算机组成原理操作数寻址方式操作数寻址方式寻址方式寻址方式算法算法隐含寻址隐含寻址操作数在专用寄存器操作数在专用寄存器立即寻址立即寻址操作数操作数=A(A为形式地址)为形式地址)直接寻址直接寻址EA=A(EA为有效地址)为有效地址)间接寻址间接寻址EA=(A)寄存器寻址寄存器寻址EA=R寄存器间接寻址寄存器间接寻址EA=(R)偏移寻址偏移寻址EA=A+(R)段寻址段寻址EA=A+(R)堆栈寻址堆栈寻址EA=栈顶栈顶计算机组成原理计算机组成原理常用数据寻址方式常用数据寻址方式l1.1.隐含寻址隐含寻址:在指令中不明显地给出操作数的地址:在指令中不明显地给出操作数的地址l2.2.立即寻址立即寻址:指令的地址字段直接给出操作数本身:指令的地址字段直接给出操作数本身OPADataA操作码操作码 形式地址形式地址例例1:单地址的移位指令格式为:单地址的移位指令格式为OP(移位移位)FDF为标志位,当为标志位,当F1,操作数进行右移;当,操作数进行右移;当F0时,操作数进行左移。时,操作数进行左移。D是一个操作数是一个操作数例例2:Intel8086指令指令:MOVAX,2000H;将数据;将数据2000H存入累加器存入累加器AX中中play计算机组成原理计算机组成原理3.3.直接寻址直接寻址例:例:Intel8086指令:指令:MOVAX,2000H 将有效地址为将有效地址为2000H2000H的内存单元的内容读入的内存单元的内容读入AXAX中。中。指令字中直接给出操作数在内存的地址。指令字中直接给出操作数在内存的地址。形式地址有效地址形式地址有效地址OPAAEA计算机组成原理计算机组成原理4 4间接寻址间接寻址l间间接接寻寻址址意意味味着着指指令令的的地地址址码码部部分分给给出出的的地地址址A不不是是操操作作数数的的地地址址,而而是是存存放放操操作作数数地地址址的的主主存存单单元元的的地地址址,简称操作数地址的地址。简称操作数地址的地址。至少需要两次访问主存储器才能取出操作数至少需要两次访问主存储器才能取出操作数OPAEA(A)计算机组成原理计算机组成原理5.5.寄存器寻址寄存器寻址例:例:Intel8086指令:指令:MOVAL,BL;ALBLOPRiEARiData(Ri)操作数操作数Ri寄存器寻址方式寄存器寻址方式:操作数放在:操作数放在CPUCPU的通用寄存器中。此时指的通用寄存器中。此时指令中给出的操作数地址是通用寄存器的编号。令中给出的操作数地址是通用寄存器的编号。计算机组成原理计算机组成原理 6.6.寄存器间接寻址寄存器间接寻址寄存器间接寻址方式寄存器间接寻址方式:指令格式中的寄存器内容不是操作:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。数,而是操作数的地址,该地址指明的操作数在内存中。有效地址有效地址RiE(Ri)Data(Ri)例:例:Intel8086指令:指令:MOVAL,BX。设设BX2000H,(2000H)80H,则,则AL80HOPRi计算机组成原理计算机组成原理 7.7.偏移寻址偏移寻址直接寻址和寄存器间接寻址方式的结合;直接寻址和寄存器间接寻址方式的结合;OP有两个地址字段:形式地址有两个地址字段:形式地址A,某个专用寄存器。,某个专用寄存器。EA=A+(R)三种偏移寻址是相对寻址、基址寻址、变址寻址。三种偏移寻址是相对寻址、基址寻址、变址寻址。相对寻址方式相对寻址方式 l程序计数器程序计数器PCPC的内容加上地址字段中的内容加上地址字段中A A的值形成指令的目的地址的值形成指令的目的地址EA(PC)A采用相对寻址方式,程序员无须用指令的绝对地址编程,所编采用相对寻址方式,程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。程序可以放在内存任何地方。基址寻址基址寻址 指令的地址码部分给出偏移量指令的地址码部分给出偏移量D D,而基准地址放在基址寄,而基准地址放在基址寄存器存器RbRb中,最后操作数的有效地址为:中,最后操作数的有效地址为:EAEA(Rb)(Rb)D D。A可正可负!可正可负!优点:优点:可以扩大寻址能力。基址寄存器的位数可以设置得很长,可以扩大寻址能力。基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。从而可以在较大的存储空间中寻址。变址寻址变址寻址 基准地址基准地址A A与与CPUCPU内某特定的变址寄存器内某特定的变址寄存器RxRx的内容相加,的内容相加,得有效地址:得有效地址:EAEAA A(Rx)(Rx)。最典型的应用是将地址最典型的应用是将地址A作为基准地址,而将变址寄存器作为基准地址,而将变址寄存器Rx中的内中的内容作为修改量,实现程序块的规律性变化。容作为修改量,实现程序块的规律性变化。计算机组成原理计算机组成原理8.8.段寻址方式段寻址方式 l段寻址方式的实质还是基址寻址段寻址方式的实质还是基址寻址l微机中采用,目的是扩大寻址范围。微机中采用,目的是扩大寻址范围。计算机组成原理计算机组成原理9.9.堆栈寻址堆栈寻址堆栈有寄存器堆栈和存储器堆栈两种形式,它们都以先进堆栈有寄存器堆栈和存储器堆栈两种形式,它们都以先进后出的原理存储数据。后出的原理存储数据。数据的存取都与栈顶打交道,需要堆栈指示器(寄存器)。数据的存取都与栈顶打交道,需要堆栈指示器(寄存器)。计算机组成原理计算机组成原理操作数寻址方式操作数寻址方式寻址方式寻址方式算法算法隐含寻址隐含寻址操作数在专用寄存器操作数在专用寄存器立即寻址立即寻址操作数操作数=A(A为形式地址)为形式地址)直接寻址直接寻址EA=A(EA为有效地址)为有效地址)间接寻址间接寻址EA=(A)寄存器寻址寄存器寻址EA=R寄存器间接寻址寄存器间接寻址EA=(R)偏移寻址偏移寻址EA=A+(R)段寻址段寻址EA=A+(R)堆栈寻址堆栈寻址EA=栈顶栈顶OP-通用寄存器通用寄存器IX偏移量偏移量D其中其中I为间接寻址标志位,为间接寻址标志位,X为寻址模式字段,为寻址模式字段,D为偏移量字段为偏移量字段。通过。通过I,X,D的组合,可构成下表所示的寻址方式。的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。请写出六种寻址方式的名称。寻址方式寻址方式IX有效地址有效地址E算法算法说明说明(1)000E=D(2)001E=(PC)+DPC为程序计数器为程序计数器(3)010E=(R2)+DR2为变址寄存器为变址寄存器(4)111E=(R3)(5)100E=(D)(6)011E=(R1)+DR1为基址寄存器为基址寄存器例例3一种二地址一种二地址RS型指令的结构如下所示:型指令的结构如下所示:6位位4位位1位位2位位16位位解解:(1 1)直接寻址)直接寻址(2 2)相对寻址)相对寻址(3 3)变址寻址)变址寻址(4 4)寄存器间接寻址)寄存器间接寻址(5 5)间接寻址)间接寻址(6 6)基址寻址)基址寻址n例例4某某16位机器所使用的指令格式和寻址方式如下所示,该机有两个位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址位基址寄存器,四个寄存器,四个16位变址寄存器,十六个位变址寄存器,十六个16位通用寄存器,指令汇编格式中的位通用寄存器,指令汇编格式中的S(源),(源),D(目标)都是通用寄存器(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作是主存中的一个单元。三种指令的操作码分别是码分别是MOV(OP)()(A)H,STO(OP)()(1B)H,LAD(OP)(3C)H。MOV是传送指令,是传送指令,STA为写数指令,为写数指令,LDA为读数指令。为读数指令。(F0F1)H(3CD2)H(2856)H(6FD6)H(1C2)H要求:要求:分析三种指令的指令格式与分析三种指令的指令格式与寻址方式特点。寻址方式特点。CPU完成哪一种操作所花时间最短完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指指令的执行时间有时会等于第三种指令的执行时间吗?令的执行时间吗?下列指令字分别代表什么操作?如下列指令字分别代表什么操作?如果有编码不正确,如何改正才能成为果有编码不正确,如何改正才能成为合法指令?合法指令?解:第一种指令是单字长二地址指令,解:第一种指令是单字长二地址指令,RR型。寻址方式寄存器寻址。型。寻址方式寄存器寻址。第二种指令是双字长二地址指令,第二种指令是双字长二地址指令,RS型。寻址方式基址寻址或变址寻址。型。寻址方式基址寻址或变址寻址。第三种指令是双字长二地址指令,第三种指令是双字长二地址指令,RS型。寻址方式直接寻址。型。寻址方式直接寻址。时间最短时间最短时间最长时间最长与二时间不等,节省与二时间不等,节省有效地址运算时间有效地址运算时间(3)双字长,高双字长,高6位(位(OP)1111003CH,是,是LAD指令,编码正确。指令,编码正确。F0F13CD2H,含义是把主存,含义是把主存13CD2H地址单元的内容取至地址单元的内容取至15号寄存器。号寄存器。单字长,高单字长,高6位(位(OP)001010AH,是,是MOV指令,编码正确。指令,编码正确。2856H,含义是把,含义是把6号号源寄存器的内容传送至源寄存器的内容传送至5号号目标寄存器。目标寄存器。单字长,是单字长,是MOV指令,高指令,高6位(位(OP)011011AH,编码错误。,编码错误。28D6H单字长,是单字长,是MOV指令,高指令,高6位(位(OP)000000AH,编码错误。,编码错误。28C2HMOVS,DSTOS,MLADM,D4.5 典型指令典型指令 n4.5.14.5.1 指令的分类指令的分类n4.5.24.5.2 基本指令系统基本指令系统n4.5.34.5.3 精简指令系统精简指令系统计算机组成原理计算机组成原理4.5.1 4.5.1 指令的分类指令的分类l1.1.数据传送指令数据传送指令实实现现主主存存与与寄寄存存器器、寄寄存存器器与与寄寄存存器器之之间间的的数数据据传传送送,主主要要包包括括取取数数指指令令、存存数数指指令令、传传送送指指令令、成成组组传传送送指指令令、字节交换指令、清累加器指令、堆栈操作指令等。字节交换指令、清累加器指令、堆栈操作指令等。l2.2.算术运算指令算术运算指令实实现现加加、减减、乘乘、除除等等运运算算的的指指令令,以以及及求求反反、求求补补指指令令,算术移位指令等。算术移位指令等。l3.3.逻辑运算指令逻辑运算指令实现逻辑与、或、非、异或,以及逻辑移位等操作的指令实现逻辑与、或、非、异或,以及逻辑移位等操作的指令计算机组成原理计算机组成原理4.5.1 4.5.1 指令的分类指令的分类l4.4.程序控制转移指令程序控制转移指令条条件件转转移移指指令令。转转移移条条件件有有,进进位位、结结果果0 0、结结果果负负、结结果溢出、结果奇偶等,这些标志存储在状态寄存器中。果溢出、结果奇偶等,这些标志存储在状态寄存器中。无条件转移指令、转子程序指令、返主程序指令等。无条件转移指令、转子程序指令、返主程序指令等。绝对转移、相对转移。绝对转移、相对转移。l5.5.输入输出指令输入输出指令启启动动外外围围设设备备,检检查查测测试试外外设设的的工工作作状状态态,并并实实现现外外设设和和CPUCPU之间,或外设与外设之间的信息传送之间,或外设与外设之间的信息传送 计算机组成原理计算机组成原理4.5.1 4.5.1 指令的分类指令的分类l6.6.字符串处理指令字符串处理指令非非数数值值处处理理指指令令,包包括括字字符符串串的的传传送送、转转换换、比比较较、查查找找、替换等。替换等。l7.7.特权指令特权指令具具有有特特殊殊权权限限的的指指令令,只只用用于于操操作作系系统统或或其其他他系系统统软软件件,一般不直接提供给用户使用。一般不直接提供给用户使用。l8.8.其他指令其他指令 状状态态寄寄存存器器置置位位、复复位位指指令令、测测试试指指令令、暂暂停停指指令令,空空操操作指令,以及其他一些系统控制用的特殊指令。作指令,以及其他一些系统控制用的特殊指令。计算机组成原理计算机组成原理复杂指令系统计算机复杂指令系统计算机CISC(ComplexInstructionSetComputer)l靠靠增增强强指指令令的的功功能能,增增加加指指令令系系统统的的复复杂杂程程度度来来提提高高计计算算机机系统的性能。系统的性能。l特点:特点:l(1)(1)指令系统复杂庞大,指令数目一般达指令系统复杂庞大,指令数目一般达200200300300条。条。l(2)(2)指令格式多,指令字长不固定,使用多种寻址方式。指令格式多,指令字长不固定,使用多种寻址方式。l(3)(3)可访存指令不受限制。可访存指令不受限制。l(4)(4)大多数采用微程序控制器。大多数采用微程序控制器。lCISCCISC中中,通通过过增增强强指指令令系系统统的的功功能能,简简化化了了软软件件,增增加加了了硬硬件件的的复复杂杂程程度度。然然而而指指令令复复杂杂了了,指指令令的的执执行行时时间间必必然然加加长长,从而使整个系统的执行时间反而增加从而使整个系统的执行时间反而增加 l20%20%和和80%80%规规律律:CISCCISC中中大大约约有有20%20%的的指指令令使使用用频频率率高高,占占据据了了80%80%的的处处理理机机时时间间,而而有有80%80%的的不不常常用用指指令令只只占占用用处处理理机机的的20%20%时间。时间。计算机组成原理计算机组成原理4.5.3 4.5.3 精简指令系统精简指令系统l精简精简指令集指令集计算机计算机RISC(ReducedInstructionSetComputer)靠精简指令系统,简化指令功能及优化的编译程靠精简指令系统,简化指令功能及优化的编译程序来提高计算机系统的性能。序来提高计算机系统的性能。l特点:特点:选取使用频率最高的一些简单指令,指令条数少;选取使用频率最高的一些简单指令,指令条数少;指令长度固定,指令格式种类少;指令长度固定,指令格式种类少;只只有有取取数数存存数数指指令令访访问问存存储储器器,其其余余指指令令的的操操作作都都在在寄存器之间进行。寄存器之间进行。lRISCRISC采采用用流流水水线线技技术术;简简单单而而统统一一格格式式的的指指令令译译码码;大大部部分分指令可以单周期执行;简单的寻址方式指令可以单周期执行;简单的寻址方式 。计算机组成原理计算机组成原理第四章指令系统第四章指令系统本章小结本章小结l一台计算机中所有机器指令的集合称为该计算机的指令系统。一台计算机中所有机器指令的集合称为该计算机的指令系统。指令系统是表征一台计算机性能的重要因素。指令系统是表征一台计算机性能的重要因素。l指令格式是指令字用二进制代码表示的结构形式,通常由指令格式是指令字用二进制代码表示的结构形式,通常由操作操作码字段和地址码字段码字段和地址码字段组成。操作码字段表征指令的操作特性与组成。操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址。功能,而地址码字段指示操作数的地址。l目前多采用二地址、单地址、零地址混合方式的指令格式。指目前多采用二地址、单地址、零地址混合方式的指令格式。指令字长度分为:单字长、半字长、双字长三种形式。高档微型令字长度分为:单字长、半字长、双字长三种形式。高档微型机中目前多采用机中目前多采用3232位长度的单字长形式。位长度的单字长形式。l形成指令地址的方式,称为形成指令地址的方式,称为指令指令寻址方式。有顺序寻址和跳跃寻址方式。有顺序寻址和跳跃寻址两种,由指令计数器寻址两种,由指令计数器PCPC来跟踪。来跟踪。计算机组成原理计算机组成原理第四章指令系统第四章指令系统本章小结本章小结l形成操作数地址的方式,称为形成操作数地址的方式,称为数据数据寻址方式。包括寻址方式。包括隐含寻址、隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基址寻址、变址寻址址、相对寻址、基址寻址、变址寻址、段寻址、堆栈寻址等。、段寻址、堆栈寻址等。l堆栈是一种特殊的数据寻址方式,采用堆栈是一种特殊的数据寻址方式,采用“先进后出先进后出”原理。按原理。按结构不同,分为寄存器堆栈和存储器堆栈。结构不同,分为寄存器堆栈和存储器堆栈。l不同机器有不同的指令系统。一个较完善的指令系统应当包含不同机器有不同的指令系统。一个较完善的指令系统应当包含数据传送类指令、算术运算类指令、逻辑运算类指令、程序控数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、制类指令、I/OI/O类指令、字符串类指令、系统控制类指令类指令、字符串类指令、系统控制类指令。lRISCRISC指令系统是指令系统是CISCCISC指令系统的改进,其最大特点是:指令系统的改进,其最大特点是:指令指令条数少;条数少;指令长度固定,指令格式和寻址种类少;指令长度固定,指令格式和寻址种类少;只有取只有取数存数指令访问存储器,其余指令均在寄存器之间进行。数存数指令访问存储器,其余指令均在寄存器之间进行。某机指令格式如图所示:某机指令格式如图所示:图中图中X为寻址特征位,且为寻址特征位,且X=0时,不变址;时,不变址;X=1时,用变址寄时,用变址寄存器存器X1进行变址;进行变址;X=2时,相对寻址。设(时,相对寻址。设(PC)=1234H,(,(X1)=0037H,请确定下列指令的有效地址。请确定下列指令的有效地址。(1)2493H(2)3214H(3)4530HOP XD151098700011001000010100X2,相对寻址。有效地址,相对寻址。有效地址=(PC)D1234H0014H1248H0093H0067H(1)X=0,E=D=93H