计算机组成与结构第4章_指令系统_第1页
计算机组成与结构第4章_指令系统_第2页
计算机组成与结构第4章_指令系统_第3页
计算机组成与结构第4章_指令系统_第4页
计算机组成与结构第4章_指令系统_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 指令系统目录目录4.1 指令系统的发展与性能要求指令系统的发展与性能要求4.2 指令格式指令格式4.3 操作数类型操作数类型4.4 指令和数据的寻址方式指令和数据的寻址方式4.5 典型指令典型指令4.6 本章练习题本章练习题2022年3月17日星期四2考研计算机统考大纲要求考研计算机统考大纲要求(一)(一) 指令格式指令格式w指令的基本格式指令的基本格式w定长操作码指令格式定长操作码指令格式w扩展操作码指令格式扩展操作码指令格式(二)指令的寻址方式(二)指令的寻址方式w有效地址的概念有效地址的概念w数据寻址和指令寻址数据寻址和指令寻址w常见寻址方式常见寻址方式(三)(三) CISC和和

2、RISC的基本概念的基本概念2022年3月17日星期四34.1 指令系统的发展和性能要求指令系统的发展和性能要求l4.1.1 指令系统的发展指令系统的发展l4.1.2 对指令系统性能的要求对指令系统性能的要求l4.1.3 低级语言与硬件结构的关系低级语言与硬件结构的关系2022年3月17日星期四44.1.1指令系统的发展指令系统的发展l程序程序用于解决实际问题的一系列的指令用于解决实际问题的一系列的指令;l指令指令使计算机执行某种操作的命令;使计算机执行某种操作的命令;l从组成的层次结构来说,计算机的指令可分为如下从组成的层次结构来说,计算机的指令可分为如下3类:类:微指令微指令:微程序级的命

3、令,它属于硬件;:微程序级的命令,它属于硬件;机器指令机器指令(指令)(指令):可完成一个独立的算术或逻辑运算;:可完成一个独立的算术或逻辑运算; 宏指令宏指令:由若干条机器指令组成的软件指令,它属于软件;:由若干条机器指令组成的软件指令,它属于软件;l指令系统指令系统:一台计算机中:一台计算机中所有机器指令所有机器指令的集合。的集合。直接影响机器的硬件结构、软件系统、以及机器的适用范围。直接影响机器的硬件结构、软件系统、以及机器的适用范围。2022年3月17日星期四5计算机指令系统的发展过程计算机指令系统的发展过程l50年代年代只有定点加减、逻辑运算、数据传送、转移等十几至几十只有定点加减、

4、逻辑运算、数据传送、转移等十几至几十条指令。条指令。l60年代后期年代后期增加了乘除运算、浮点运算、十进制运算、字符串处理等增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。指令,指令数目多达一二百条,寻址方式也趋多样化。出现了出现了系列计算机系列计算机。l70年代末期年代末期复杂指令系统计算机复杂指令系统计算机(CISC)、精简指令系统计算机、精简指令系统计算机(RISC) 2022年3月17日星期四6系列计算机系列计算机l基本指令系统、基本体系结构相同的一系列计算机;基本指令系统、基本体系结构相同的一系列计算机;但具体的器件、结构和性能都不会

5、完全相同;但具体的器件、结构和性能都不会完全相同;一般,新机种在各方面要优于旧机种。一般,新机种在各方面要优于旧机种。l一个系列往往有多种型号,各型号计算机的指令系统是一个系列往往有多种型号,各型号计算机的指令系统是向下兼容向下兼容的。的。新机种的指令系统包含旧机种的全部指令;新机种的指令系统包含旧机种的全部指令;如如Pentium系列系列PC机。机。2022年3月17日星期四7CISClCISC(complex instruction set computer)采用复杂的的指令系统,来达到增强计算机的功能、提采用复杂的的指令系统,来达到增强计算机的功能、提高机器速度的目的。高机器速度的目的。

6、l特点:特点:指令系统复杂庞大,指令数目多;指令系统复杂庞大,指令数目多;指令格式多,字长不固定,多种寻址方式;指令格式多,字长不固定,多种寻址方式;可访存指令不受限制;可访存指令不受限制;各种指令的执行时间相差很大;各种指令的执行时间相差很大;1.大都采用微程序控制器;大都采用微程序控制器;2022年3月17日星期四8RISClRISC(Reduced instruction set computer)从从简化指令系统简化指令系统和和优化硬件设计优化硬件设计的角度来提高系统的性能的角度来提高系统的性能与速度。与速度。lRISC指令系统的主要特点:指令系统的主要特点:选取使用频率高的简单指令;

7、选取使用频率高的简单指令;指令长度固定,指令格式少,寻址方式种类少;指令长度固定,指令格式少,寻址方式种类少;采用流水线技术;采用流水线技术;使用较多的通用寄存器,减少访存;使用较多的通用寄存器,减少访存;控制器以组合逻辑控制为主;控制器以组合逻辑控制为主;1.采用优化编译技术;采用优化编译技术;2022年3月17日星期四9判断以下有关判断以下有关CISC和和RISC的描述的正误的描述的正误l采用采用RISC技术后,计算机的体系结构又回复到早期比技术后,计算机的体系结构又回复到早期比较简单的情况;较简单的情况;l为了实现兼容,新设计的为了实现兼容,新设计的RISC,是从原来,是从原来CISC系

8、统系统的指令系统中挑选一部分实现的;的指令系统中挑选一部分实现的;lRISC的主要目的是减少指令;的主要目的是减少指令;lRISC设有乘、除法指令和浮点运算指令;设有乘、除法指令和浮点运算指令;2022年3月17日星期四104.1.2指令系统性能的要求指令系统性能的要求 l指令系统的性能决定了计算机的基本功能,它的设计直接关系指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。到计算机的硬件结构和用户的需要。l一个完善的指令系统应满足如下四方面的要求一个完善的指令系统应满足如下四方面的要求完备性完备性u常用指令齐全,编程方便;常用指令齐全,编程方便;有效性有效

9、性u程序占用内存少,运行速度快;程序占用内存少,运行速度快;规整性规整性u指令和数据的使用规则统一,易学易记;指令和数据的使用规则统一,易学易记;兼容性兼容性u同一系列的低档计算机的程序能够在新的高档计算机上运行。同一系列的低档计算机的程序能够在新的高档计算机上运行。2022年3月17日星期四11指令系统的规整性要求指令系统的规整性要求l规整性包括规整性包括对称性对称性、匀齐性匀齐性、指令格式和数据格式的一指令格式和数据格式的一致性致性三方面的要求。三方面的要求。l对称性对称性所有的指令都可使用各种寻址方式;所有的指令都可使用各种寻址方式;l匀齐性匀齐性一种操作性质的指令可以支持各种数据类型;

10、一种操作性质的指令可以支持各种数据类型;l指令格式和数据格式的一致性指令格式和数据格式的一致性指令长度和数据长度有一定的关系,以方便处理和指令长度和数据长度有一定的关系,以方便处理和存取;存取;2022年3月17日星期四124.1.3低级语言与硬件结构的关系低级语言与硬件结构的关系 l低级语言:低级语言:面向机器的语言,和具体机器的指令系统密切相关。面向机器的语言,和具体机器的指令系统密切相关。l高级语言与低级语言的比较如高级语言与低级语言的比较如P105 表表4.1机器语言、汇编语言机器语言、汇编语言2022年3月17日星期四134.2 指令格式指令格式 l4.2.1 操作码操作码l4.2.

11、2 地址码地址码l4.2.3 指令字长度指令字长度l4.2.4 指令助记符指令助记符l4.2.5 指令格式举例指令格式举例2022年3月17日星期四14指令的一般格式指令的一般格式l指令字(简称指令)指令字(简称指令)表示一条指令的机器字。表示一条指令的机器字。l指令格式指令格式指令字用二进制代码表示的结构形式指令字用二进制代码表示的结构形式,由操作码字段和地,由操作码字段和地址码字段组成。址码字段组成。操作码字段:表征指令的操作特性与功能;操作码字段:表征指令的操作特性与功能;地址码字段:通常指定参与操作的操作数的地址。地址码字段:通常指定参与操作的操作数的地址。2022年3月17日星期四1

12、54.2.1操作码操作码l操作码字段的位数取决于指令系统的规模;操作码字段的位数取决于指令系统的规模;l操作码的类型:操作码的类型:固定长度的操作码固定长度的操作码u特征:所有指令长度均相同。特征:所有指令长度均相同。u优点:控制简单,速度快,适用于指令条数不多的场合。优点:控制简单,速度快,适用于指令条数不多的场合。可变长度的操作码可变长度的操作码u特征:频繁使用的指令用位数较少的操作码;特征:频繁使用的指令用位数较少的操作码; 不常使用的指令可利用不常使用的指令可利用操作码扩展技术操作码扩展技术进行扩展;进行扩展;u优点:充分利用软硬件资源,适用于大规模的指令系统。优点:充分利用软硬件资源

13、,适用于大规模的指令系统。操作码字段为操作码字段为4 4位,位,则指令系统中的指令则指令系统中的指令数目为数目为2 24 4=16=16条。条。2022年3月17日星期四164.2.2地址码(地址码(1/2)l一条指令格式中有几个地址码字段,就称为是几地址指令;一条指令格式中有几个地址码字段,就称为是几地址指令;l零地址指令零地址指令无任何操作数运算,如无任何操作数运算,如NOP、HALT等指令。等指令。单操作数运算:隐含一个操作数,如单操作数运算:隐含一个操作数,如Acc 。OP (Acc) Accl一地址指令一地址指令 单操作数运算:单操作数运算:OP (A1) A1双操作数运算:隐含一个

14、操作数,如双操作数运算:隐含一个操作数,如Acc (Acc) OP (A1) Acc/A1如如INCINC指令指令如如MULMUL指令指令如如CBWCBW指令指令2022年3月17日星期四174.2.2地址码(地址码(2/2) l两地址指令两地址指令 功能:功能: (A1) OP (A2) A1l三地址指令三地址指令功能:功能: (A1) OP (A2) A3l多地址指令(如四地址)多地址指令(如四地址)这类指令功能强,一般用高档小型机或中大型机,用于实这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等。现成批数据处理,字符串处理、向量或矩阵运算

15、指令等。如如ADDADD、XORXOR等指令等指令2022年3月17日星期四18l存储器存储器-存储器(存储器(SS)型指令)型指令A1、A2均为存储单元;均为存储单元;这类指令的执行需要多次访存。这类指令的执行需要多次访存。l寄存器寄存器-寄存器(寄存器(RR)型指令)型指令A1、A2均为寄存器(通用寄存器、专用寄存器);均为寄存器(通用寄存器、专用寄存器);这类指令的执行不需要访存,因此速度很快。这类指令的执行不需要访存,因此速度很快。l寄存器寄存器-存储器(存储器(RS)型指令)型指令 A1、A2中一个为寄存器,一个为存储单元;中一个为寄存器,一个为存储单元;执行此类指令时,既要访问内存

16、单元,又要访问寄存器。执行此类指令时,既要访问内存单元,又要访问寄存器。两地址指令的分类两地址指令的分类根据操作数的物根据操作数的物理位置分。理位置分。哪种类型指令执行速度哪种类型指令执行速度较快,哪种指令较慢?较快,哪种指令较慢?为什么?为什么?2022年3月17日星期四19指令的操作码扩展技术(补充)指令的操作码扩展技术(补充)l一个指令系统中一个指令系统中若操作码长度固定若操作码长度固定且指令格式不同;且指令格式不同;指令格式如右:指令格式如右:操作码字段长度取决于指令系统中的指令总数目;操作码字段长度取决于指令系统中的指令总数目;地址码较少的指令,编码浪费;地址码较少的指令,编码浪费;

17、l操作码扩展操作码扩展对于不需要某个地址码的指令,把它们的操作码扩充到该对于不需要某个地址码的指令,把它们的操作码扩充到该地址字段;地址字段;既充分利用指令字的各字段,又在不增加指令长度的情况既充分利用指令字的各字段,又在不增加指令长度的情况下扩展操作码的长度。下扩展操作码的长度。无用无用无用无用无用无用无用无用无用无用无用无用2022年3月17日星期四20 设某指令长设某指令长16位,包括位,包括4位基本操作码字段和位基本操作码字段和3个个4位地址码位地址码字段。字段。l若全是三地址指令,则最多能有多少条指令?若全是三地址指令,则最多能有多少条指令?操作码为操作码为4位的,则指令条数为位的,

18、则指令条数为24=16。l若三地址指令需若三地址指令需15条条 两地址指令需两地址指令需15条条 应如何安排?应如何安排? 单地址指令需单地址指令需15条条 零地址指令需零地址指令需16条条 可使用操作码扩展技术,缩短固定操作码长度;可使用操作码扩展技术,缩短固定操作码长度;操作码扩展举例(操作码扩展举例(1/3)2022年3月17日星期四21 0000 A1 A2 A3 . 1110 A1 A2 A3 1111 0000 A1 A2 . 1111 1110 A1 A2 1111 1111 0000 A1 . 1111 1111 1110 A1 1111 1111 1111 0000 . 11

19、11 1111 1111 1111 15条三地址指令条三地址指令 15条二地址指令条二地址指令 15条一地址指令条一地址指令 16条零地址指令条零地址指令此指令系统共具有此指令系统共具有61条指令条指令4 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码如果采用操作码扩展方法能否设计一如果采用操作码扩展方法能否设计一个具有三地址指令个具有三地址指令1515条,双地址指令条,双地址指令1212条,单地址指令条,单地址指令3131条以及零地址指条以及零地址指令令1616条的指令系统?条的指令系统?操作码扩展举例(操作码扩展举例(2/3)2022年3月17日星期四22

20、 0000 A1 A2 A3 . 1110 A1 A2 A3 1111 0000 A1 A2 . 1111 1011 A1 A2 1111 1100 0000 A1 . 1111 1101 1111 A1 1111 1110 0000 0000 . 1111 1110 0000 1111 15条三地址指令条三地址指令 12条二地址指令条二地址指令 32条一地址指令条一地址指令 16条零地址指令条零地址指令此指令系统共具有此指令系统共具有75条指令条指令操作码扩展举例(操作码扩展举例(3/3)4 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码2022年3月17日

21、星期四23【例】某机指令字长【例】某机指令字长32位,一个操作数地址为位,一个操作数地址为12位,有位,有双地址码、单地址码、零地址码双地址码、单地址码、零地址码3种格式的指令。种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指若采用扩展操作码的方式来设计指令,已知双地址码指令令K条,单地址码指令条,单地址码指令L条,问零地址码指令有多少条?条,问零地址码指令有多少条?l双地址码指令双地址码指令操作码长度为(操作码长度为(32122)8位;位;l单地址码指令单地址码指令操作码长度为(操作码长度为(3212)20位;位;操作码的可扩展位为操作码的可扩展位为20812位。位。l零地址码

22、指令零地址码指令操作码长度为操作码长度为32位位操作码的可扩展位为操作码的可扩展位为322012位。位。2022年3月17日星期四24【例】某机指令字长【例】某机指令字长32位,一个操作数地址为位,一个操作数地址为12位,有位,有双地址码、单地址码、零地址码双地址码、单地址码、零地址码3种格式的指令。种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指若采用扩展操作码的方式来设计指令,已知双地址码指令令K条,单地址码指令条,单地址码指令L条,问零地址码指令有多少条?条,问零地址码指令有多少条?l由以上分析的指令格式,及题目可知:由以上分析的指令格式,及题目可知:双地址码指令最多有双地

23、址码指令最多有28条;条;可用于扩展单地址码指令的编码有可用于扩展单地址码指令的编码有(28K)个;个;l单地址码指令最多有(单地址码指令最多有(28K)212条:条:可用于扩展零地址码指令的编码有可用于扩展零地址码指令的编码有 (28K)212L个;个;l因此,零地址码指令最多有因此,零地址码指令最多有 (28K)212 L 212条。条。2022年3月17日星期四25l机器字长机器字长运算器一次能处理的二进制数的位数。运算器一次能处理的二进制数的位数。机器指令的长度直接决定着机器指令的长度直接决定着CPU运算的精度运算的精度和和直接寻址能直接寻址能力力的大小;的大小;l指令字长指令字长一个

24、指令字中包含二进制代码的位数;一个指令字中包含二进制代码的位数;指令字长由指令字长由操作码长度操作码长度、操作数长度操作数长度和和个数个数共同决定。共同决定。l指令有指令有半字长半字长、单字长单字长、双字长双字长、多字长多字长等不同的长度类型;等不同的长度类型;l指令系统可分为指令系统可分为等长指令字结构等长指令字结构、变长指令字结构变长指令字结构两种。两种。4.2.3指令字长度指令字长度 2022年3月17日星期四264.2.4指令助记符指令助记符 l指令助记符指令助记符使用使用34个英文缩写字母来表示的指令操作码。个英文缩写字母来表示的指令操作码。l在不同的计算机中,指令助记符的规定是不一

25、样的;在不同的计算机中,指令助记符的规定是不一样的;指令助记符只是指令操作码字段的一种表示方法;指令助记符只是指令操作码字段的一种表示方法;机器内部保存的还是二进制代码形式的机器指令;机器内部保存的还是二进制代码形式的机器指令;u由汇编或编译程序,将助记符翻译成机器代码。由汇编或编译程序,将助记符翻译成机器代码。2022年3月17日星期四274.2.5指令格式举例(指令格式举例(1/2) P110 【例【例1】 某某16位系统中,指令格式如下所示,其中位系统中,指令格式如下所示,其中OP为操作码,试分为操作码,试分析指令格式的特点。析指令格式的特点。 l指令字长为指令字长为_,操作数的数目为,

26、操作数的数目为_个。个。l该指令格式的指令最多可有该指令格式的指令最多可有_条。条。l根据此二地址指令的操作数位置来看,属于根据此二地址指令的操作数位置来看,属于_型指令。型指令。 RS型、型、RR型、型、SS型型这种指令结构常用于这种指令结构常用于_类指令。类指令。 单字长单字长两两128RR算术逻辑运算算术逻辑运算单字长二单字长二地址指令地址指令2022年3月17日星期四284.2.5指令格式举例(指令格式举例(2/2) P110 【例【例2】 某某16位系统中,指令格式如下所示,位系统中,指令格式如下所示,OP为操作码字段,试分为操作码字段,试分析指令格式特点。析指令格式特点。l指令字长

27、为指令字长为_,操作数的数目为,操作数的数目为_个。个。l操作码字段操作码字段OP为为_位,可以指定位,可以指定_种操作。种操作。l一个操作数在源寄存器,该类寄存器共一个操作数在源寄存器,该类寄存器共_个,另一个操作个,另一个操作数在数在_中,所以该类指令是中,所以该类指令是_型指令。型指令。 存储单元中数据由存储单元中数据由变址寄存器变址寄存器和和位移量位移量共同决定其地址;共同决定其地址;双字长双字长两两6RS双字长二双字长二地址指令地址指令6416存储器存储器2022年3月17日星期四294.3 操作数类型操作数类型l机器指令对数据进行操作,数据通常分为以下四类:机器指令对数据进行操作,

28、数据通常分为以下四类:地址数据地址数据 u无符号整数,通过某种运算确定操作数在主存中的有效地址;无符号整数,通过某种运算确定操作数在主存中的有效地址;数值数据数值数据u定点整数、小数;浮点数;压缩十进制数;定点整数、小数;浮点数;压缩十进制数;字符数据字符数据u文本数据或字符串;文本数据或字符串;逻辑数据逻辑数据u由若干二进制位组成,每位的值可以是由若干二进制位组成,每位的值可以是1或或0。2022年3月17日星期四304.4 指令和数据的寻址方式指令和数据的寻址方式l4.4.1 指令的寻址方式指令的寻址方式l4.4.2 操作数寻址方式操作数寻址方式l4.4.3 寻址方式举例寻址方式举例202

29、2年3月17日星期四31l顺序寻址方式顺序寻址方式当程序按顺序执行时的指令寻址方式;当程序按顺序执行时的指令寻址方式;必须用必须用程序计数器程序计数器记录所要执行指令的存放单元地址;记录所要执行指令的存放单元地址;u一般做顺序加一般做顺序加1的操作;的操作;u程序计数器又称程序计数器又称指令指针寄存器指令指针寄存器;l跳跃寻址方式跳跃寻址方式 当程序转移执行时的指令寻址方式;当程序转移执行时的指令寻址方式;程序计数器的内容由本条指令给出,而不是顺序改变。程序计数器的内容由本条指令给出,而不是顺序改变。4.4.1 指令的寻址方式指令的寻址方式2022年3月17日星期四32指令的寻址演示指令的寻址

30、演示动画演示:动画演示: 4-1.swfLDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令的寻址方式指令的寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃寻址7顺序寻址顺序寻址82022年3月17日星期四334.3.2操作数的寻址方式操作数的寻址方式l一种单地址码指令的结构如下图:一种单地址码指令的结构如下图:将指令中的形式地址将指令中的形式地址A变换成操作数变换成操作数有效地址有效地址的过程,的过程,称为寻址过程。称为寻址过程。l典

31、型而常用的寻址方式有典型而常用的寻址方式有隐含寻址隐含寻址、立即寻址立即寻址、直接寻址直接寻址、间接寻址间接寻址、寄存器寄存器寻址寻址、寄存器间接寻址寄存器间接寻址、偏移寻址偏移寻址、堆栈寻址;、堆栈寻址;寻址特征位寻址特征位动画演示动画演示 :4-2.swf2022年3月17日星期四34l操作数地址隐含在操作码中;操作数地址隐含在操作码中;l如如 8086的的MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中;位)中;l指令字中少了一个地址字段,可缩短指令字长;指令字中少了一个地址字段,可缩短指令字长;MULMULA A操作数操作数主存主存寻址特征寻址特征A A

32、ACCACC暂存暂存ALUALU另一个操作数另一个操作数隐含在隐含在 ACC ACC 中中隐含寻址隐含寻址2022年3月17日星期四35l形式地址形式地址A就是操作数;就是操作数;l优点:优点:指令执行阶段不需要访存,速度快;指令执行阶段不需要访存,速度快;l缺点:缺点:形式地址形式地址A字段的位数限制了立即数的范围。字段的位数限制了立即数的范围。立即寻址立即寻址OP # A立即寻址特征立即寻址特征立即数立即数 可正可负,补码表示可正可负,补码表示2022年3月17日星期四36l有效地址由形式地址字段有效地址由形式地址字段A直接给出;直接给出;EA = Al特点特点执行阶段访问一次存储器;执行

33、阶段访问一次存储器;A 的位数决定了该指令操作数的寻址范围;的位数决定了该指令操作数的寻址范围;操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A););操作数操作数主存主存寻址特征寻址特征LDAAAACC直接寻址直接寻址2022年3月17日星期四37OPA寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数间接寻址间接寻址l有效地址由形式地址字段有效地址由形式地址字段A间接提供,间接提供,EA =(A)l特点特点可扩大寻址范围;可扩大寻址范围;uA字段的长度受指令字长和指令格式的限制;字

34、段的长度受指令字长和指令格式的限制;寻址时,可根据需要进行多次间址;寻址时,可根据需要进行多次间址;可用可用寻址特制寻址特制I字段字段区分直接寻址和间接寻址方式;区分直接寻址和间接寻址方式;2022年3月17日星期四38l形式地址字段形式地址字段A为寄存器编号为寄存器编号EA = Ril特点特点执行阶段不访存,只访问寄执行阶段不访存,只访问寄存器,执行速度快存器,执行速度快寄存器个数有限,可缩短指寄存器个数有限,可缩短指令字长令字长OPA (Ri)寻址特征寻址特征操作数操作数R0RiRn寄存器组寄存器组寄存器寻址寄存器寻址2022年3月17日星期四39l形式地址字段形式地址字段A用于指用于指出

35、出存放有效地址的寄存存放有效地址的寄存器器编号;编号;EA = ( Ri )l特点:特点:执行阶段访存;执行阶段访存;便于编制循环程序便于编制循环程序操作数操作数主存主存OPA(Ri)寻址特征寻址特征地址地址R0RiRn寄存器寄存器寄存器间接寻址寄存器间接寻址2022年3月17日星期四40偏移寻址偏移寻址l直接寻址和寄存器间接寻址方式的结合直接寻址和寄存器间接寻址方式的结合l有效地址有效地址EA=A+(R)A是显式的形式地址字段;是显式的形式地址字段;R可以是显式的,也可以隐含的,某个专用的寄存器;可以是显式的,也可以隐含的,某个专用的寄存器;l常用的偏移寻址常用的偏移寻址相对寻址:指令转移时

36、,常用相对寻址方式;相对寻址:指令转移时,常用相对寻址方式;uEA=A+(PC)基址寻址:基址寻址:EA=(基址基址R)+A ,A+1A变址寻址:变址寻址:EA=A+(变址变址R) ,变址,变址R+1变址变址ROPA操作数操作数主存主存寻址特征寻址特征ALUBR操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器通用寄存器通用寄存器R0Rn-1R12022年3月17日星期四414.4.3寻址方式举例寻址方式举例 P118【例【例3】 一种二地址一种二地址RS型指令的结构如下所示:型指令的结构如下所示:通过通过I,X,D的组合,请写出下表所示的六种寻址方式的名称。的

37、组合,请写出下表所示的六种寻址方式的名称。直接寻址直接寻址相对寻址相对寻址寄存器间接寻址寄存器间接寻址间接寻址间接寻址基址寻址基址寻址变址寻址变址寻址2022年3月17日星期四42P118 【例【例4】某某16位机的指令格式和寻址方式如下所示,设该机有位机的指令格式和寻址方式如下所示,设该机有两个两个20位基位基址寄存器址寄存器,四个四个16位变址寄存器位变址寄存器,十六个十六个16位通用寄存器位通用寄存器,指令,指令格式中格式中S(源源),D(目标目标)指通用寄存器,指通用寄存器,M指主存单元。指主存单元。操作码对应机器码:传送指令操作码对应机器码:传送指令MOV0AH、写数指令、写数指令S

38、TO1BH、读数指令、读数指令LAD3CH。2022年3月17日星期四43l第一种指令是第一种指令是单字长单字长二地址指令,二地址指令,RR型型;l第二种指令是第二种指令是双字长双字长二地址指令,二地址指令,RS型型,其中,其中S采用基址寻采用基址寻址或变址寻址,址或变址寻址,R由源寄存器决定;由源寄存器决定;l第三种指令是双字长二地址指令,第三种指令是双字长二地址指令,RS型型,其中,其中R由目标寄存由目标寄存器决定,器决定,S由由20位地址(直接寻址)决定。位地址(直接寻址)决定。(1)分析三种指令的指令格式与寻址方式特点。)分析三种指令的指令格式与寻址方式特点。2022年3月17日星期四

39、44(2)CPU完成哪一种操作所花时间最短?哪一种完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?有时会等于第三种指令的执行时间吗?l第一种指令所花时间最短;第一种指令所花时间最短;是是RR型指令,不需要访问存储器。型指令,不需要访问存储器。l第二种指令所花时间最长;第二种指令所花时间最长;RS型指令,需要访问存储器,同时要进行寻址方式的型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。变换运算(基址或变址),这也需要时间。l第二种指令的执行时间不会等于第三种指令第二

40、种指令的执行时间不会等于第三种指令第三种指令虽然也访问存储器,但节省了求有效地址第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。运算的时间开销。2022年3月17日星期四45l(F0F1)H (3CD2)H指令代表指令代表LAD指令,编码正确,其含义是把主存指令,编码正确,其含义是把主存13CD2H 地址地址单元的内容取至单元的内容取至15号寄存器。号寄存器。l(2856)H指令代表指令代表MOV指令,编码正确,含义是把指令,编码正确,含义是把6号源寄存器的内容号源寄存器的内容传送至传送至5号目标寄存器。号目标寄存器。 l(6FD6)H单字长指令,一定是单字长指令,一定是MOV指

41、令,但编码错误,可改为指令,但编码错误,可改为2BD6H。l(1C2)H单字长指令,代表单字长指令,代表MOV指令,但编码错误,可改为指令,但编码错误,可改为28C2H。(3)下列情况下每个十六进制指令字分别代表什么操作?其中)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?如果有编码不正确,如何改正才能成为合法指令?MOV001010,STO011011,LAD1111001111 00 00 1111 0001 0011 1100 1101 00100010 10 00 0101 0110 0110 11 11 1101 01100010 10

42、0001 11 00 1100 00100010 102022年3月17日星期四464.5 典型指令典型指令 l4.5.1指令的分类(了解)指令的分类(了解) 1. 数据传送指令数据传送指令2. 算术运算指令算术运算指令3. 逻辑运算指令逻辑运算指令4. 程序控制指令程序控制指令5. 输入输出指令输入输出指令 6. 字符串处理指令字符串处理指令7. 特权指令特权指令8. 其他指令其他指令 l4.5.2基本指令系统基本指令系统 (略)(略)l4.5.3精简指令系统精简指令系统 (略)(略)2022年3月17日星期四47 设某机字长设某机字长16位,直接寻址空间为位,直接寻址空间为128字,变址时

43、的位移量字,变址时的位移量为为-64+63,16个通用寄存器都可以作为变址寄存器,请设个通用寄存器都可以作为变址寄存器,请设计一套指令系统,满足下列寻址类型的要求:计一套指令系统,满足下列寻址类型的要求:(1)直接寻址的二地址指令)直接寻址的二地址指令3条;条;(2)变址寻址的一地址指令)变址寻址的一地址指令6条;条;(3)寄存器寻址的二地址指令)寄存器寻址的二地址指令8条;条;(4)直接寻址的一地址指令)直接寻址的一地址指令12条;条;(5)零地址指令)零地址指令32条。条。本章综合举例本章综合举例12022年3月17日星期四48指令分析(指令分析(1/2)l直接寻址的二地址指令直接寻址的二

44、地址指令3条:条:这这3条指令的操作码为条指令的操作码为00、01、10;l变址寻址的一地址指令变址寻址的一地址指令6条:条:这这6条指令的操作码为:条指令的操作码为:11 000 11 1017位位7位位2位位7位位4位位5位位2022年3月17日星期四49指令分析(指令分析(2/2)l寄存器寻址的二地址指令寄存器寻址的二地址指令8条:条:这这8条指令的操作码为条指令的操作码为11 110 000 11 110 111;l直接寻址的一地址指令直接寻址的一地址指令12条:条:这这12条指令的操作码为:条指令的操作码为:11 111 0000 11 111 1011l零地址指令零地址指令32条:

45、条:这这32条指令的操作码为:条指令的操作码为:11 111 1100 0000000 11 111 1100 0011111 4位位4位位8位位7位位9位位16位位2022年3月17日星期四50 某计算机数据线和地址线均是某计算机数据线和地址线均是8根,有一条相对寻址的无条件根,有一条相对寻址的无条件转移指令存于内存的转移指令存于内存的20H单元中,指令给出的偏移量是单元中,指令给出的偏移量是15H,设该指令占用设该指令占用2个字节,请计算:个字节,请计算:(1)取该条指令时)取该条指令时PC的内容。的内容。(2)该指令执行结束时)该指令执行结束时PC的内容。的内容。解答:解答:(1)取指令

46、时,)取指令时,PC的内容为的内容为20H。(2)转移地址)转移地址=PC+2+D=20H+2+15H=37H 该条指令执行结束时该条指令执行结束时PC的内容是的内容是37H。本章综合举例本章综合举例22022年3月17日星期四51本章综合举例本章综合举例3 某指令系统指令字长为某指令系统指令字长为20位,具有双操作数、单操作数和无操位,具有双操作数、单操作数和无操作数作数3中指令格式,每个操作数地址规定用中指令格式,每个操作数地址规定用6位表示,当双操作位表示,当双操作数指令条数取最大值,而且单操作数指令条数也取最大值时,数指令条数取最大值,而且单操作数指令条数也取最大值时,这这3种指令最多

47、可能拥有的指令数各是多少?种指令最多可能拥有的指令数各是多少?解:按操作码扩展技术来设计,双操作数指令最多解:按操作码扩展技术来设计,双操作数指令最多28-1条,单操条,单操作数指令最多作数指令最多63条,因此无操作数指令条数的最大值为条,因此无操作数指令条数的最大值为64条。条。 00000000 XXXXXX XXXXXX 11111110 XXXXXX XXXXXX 11111111 000000 XXXXXX 11111111 111110 XXXXXX 11111111 111111 000000 11111111 111111 111111 双操作数双操作数255255条条 单操作

48、数单操作数6363条条 零操作数零操作数6464条条2022年3月17日星期四52某机器字长为某机器字长为16位,主存容量是位,主存容量是64K字,采用单字长单地址指令,字,采用单字长单地址指令,共有共有54条指令。试采用直接、立即、变址、相对四种寻址方式设条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。计指令格式。解答:解答:54条指令,故操作码需要条指令,故操作码需要6位。因为四种寻址方式,所以寻址位。因为四种寻址方式,所以寻址特征位取特征位取2位,余下的位,余下的8位作为形式地址位作为形式地址D。其指令格式为。其指令格式为寻址模式寻址模式X定义如下:定义如下: X=00 直

49、接寻址直接寻址 有效地址有效地址E=D (256个单元)个单元) X=01 立即寻址立即寻址 D=操作数操作数 X=10 变址寻址变址寻址 有效地址有效地址E=(R)+D (64K) X=11 相对寻址相对寻址 有效地址有效地址E=(PC)+D (64K) 其中其中R为变址寄存器(为变址寄存器(16位)、位)、PC为程序计数器(为程序计数器(16位)。位)。相对寻址和变址寻址中,相对寻址和变址寻址中,D可正可负。可正可负。本章综合举例本章综合举例42022年3月17日星期四5309年考研真题(年考研真题(1/2)16. 某机器字长某机器字长16位,主存按字节编址,转移指令采用相对寻位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。为相对位移量字段。 假定取指令时

温馨提示

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

评论

0/150

提交评论