计算机组成原理指令系统.ppt

上传人:大米 文档编号:575542343 上传时间:2024-08-18 格式:PPT 页数:89 大小:605.02KB
返回 下载 相关 举报
计算机组成原理指令系统.ppt_第1页
第1页 / 共89页
计算机组成原理指令系统.ppt_第2页
第2页 / 共89页
计算机组成原理指令系统.ppt_第3页
第3页 / 共89页
计算机组成原理指令系统.ppt_第4页
第4页 / 共89页
计算机组成原理指令系统.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

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

1、Nanjing University of Information Science & Technology, Computer and Software Institute第四章 指令系统Nanjing University of Information Science & Technology, Computer and Software Institute本章要求:本章要求:n指令的概念、功能,指令的种类。指令的概念、功能,指令的种类。n指令系统设计的基本要求。指令系统设计的基本要求。n基本寻址技术及其工作原理,各种寻址方式下基本寻址技术及其工作原理,各种寻址方式下的指令特点分析。的指令

2、特点分析。n指令格式的分析和各种要求结果的确定(执行指令格式的分析和各种要求结果的确定(执行情况、对寄存器值、标志位的影响等)。情况、对寄存器值、标志位的影响等)。n指令系统原理的掌握和应用,理解地址结构,指令系统原理的掌握和应用,理解地址结构,熟悉寻址方式、各类具体指令及其执行情况。熟悉寻址方式、各类具体指令及其执行情况。Nanjing University of Information Science & Technology, Computer and Software Institute第四章 指令系统 n4.1指令系统的发展与性能要求指令系统的发展与性能要求n4.2指令格式指令格式n

3、4.3指令和数据的寻址方式指令和数据的寻址方式n4.4堆栈寻址方式堆栈寻址方式n4.5指令系统的要求与指令分类指令系统的要求与指令分类n本章小结本章小结Nanjing University of Information Science & Technology, Computer and Software Institute4.1 指令系统的发展和性能要求 n4.1.1指令系统的发展指令系统的发展n4.1.2指令系统的性能指令系统的性能n4.1.3计算机语言与硬件结构的关系计算机语言与硬件结构的关系Nanjing University of Information Science & Tech

4、nology, Computer and Software Institute4.1.1 指令系统的发展 n计算机的程序是由一系列的指令计算机的程序是由一系列的指令组成的,组成的,指令指令就是要计算机执行就是要计算机执行某种操作的某种操作的命令命令。n从计算机组成的层次结构来说,从计算机组成的层次结构来说,计算机的指令有计算机的指令有微指令微指令、机器指机器指令令和和宏指令宏指令之分。之分。Nanjing University of Information Science & Technology, Computer and Software Instituten微指令微指令:微程序级的命令,

5、它属于硬件;:微程序级的命令,它属于硬件;n宏指令宏指令:由若干条机器指令组成的软件指令,:由若干条机器指令组成的软件指令,它属于软件;它属于软件;n机器指令(指令)机器指令(指令):介于微指令与宏指令之间,:介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运每条指令可完成一个独立的算术运算或逻辑运算。算。n指令系统指令系统:一台计算机中:一台计算机中所有机器指令的集合所有机器指令的集合。p它是表征一台计算机性能的重要因素,其格式与功能它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统不仅直接影响到机器的硬件结构,也直接影响到系统软件,影

6、响到机器的适用范围。软件,影响到机器的适用范围。Nanjing University of Information Science & Technology, Computer and Software Instituten计算机指令系统的发展过程:计算机指令系统的发展过程:50年代年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。Nanjing University of Information Science & Technology, Comput

7、er and Software Instituten70年代末期年代末期:大多数计算机的指令系统大多数计算机的指令系统多达几百条。我们称这些计算机为多达几百条。我们称这些计算机为复杂复杂指令系统计算机指令系统计算机(CISC)。但是如此庞大但是如此庞大的指令系统难以保证正确性,不易调试的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又维护,造成硬件资源浪费。为此人们又提出了便于提出了便于VLSI技术实现的技术实现的精简指令系精简指令系统计算机统计算机(RISC)。Nanjing University of Information Science & Technology, C

8、omputer and Software Institute4.1.2对指令系统性能的要求 n指令系统的性能决定了计算机的基本功能,指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和它的设计直接关系到计算机的硬件结构和用户的需要。用户的需要。n一个完善的指令系统应满足如下四方面的一个完善的指令系统应满足如下四方面的要求:要求:p完备性完备性p有效性有效性p规整性规整性p兼容性兼容性Nanjing University of Information Science & Technology, Computer and Software Instituten完备性用汇编语言

9、编写各种程序时,指令用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能件来实现。完备性要求指令系统丰富、功能齐全、使用方便。齐全、使用方便。n有效性利用该指令系统所编写的程序能够利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好功能更强、更完善的指令系统,必定有更好的有效性。的有效性。Nanjing University of Inf

10、ormation Science & Technology, Computer and Software Instituten规整性包括指令系统的对称性、匀齐包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。性、指令格式和数据格式的一致性。对称性对称性指在指令系统中所有的寄存器和存储器单元指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;都可同等对待,所有的指令都可使用各种寻址方式;匀齐性匀齐性是指一种操作性质的指令可以支持各是指一种操作性质的指令可以支持各种数据类型种数据类型;指令格式和数据格式的一致性指令格式和数据格式的一致性是指指令长度和是指指令

11、长度和数据长度有一定的关系,以方便处理和存取数据长度有一定的关系,以方便处理和存取。Nanjing University of Information Science & Technology, Computer and Software Instituten兼容性系列机各机种之间具有相同系列机各机种之间具有相同的基本结构和共同的基本指令集,因的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基而指令系统是兼容的,即各机种上基本软件可以通用。本软件可以通用。Nanjing University of Information Science & Technology, Compute

12、r and Software Institute4.1.3 计算机语言与硬件结构的关系 n计算机语言具有计算机语言具有高级语言高级语言和和低级语言低级语言之分。之分。n高级语言高级语言如如C,FORTRAN等,其语句和用等,其语句和用法与具体机器的指令系统无关。法与具体机器的指令系统无关。n低级语言低级语言分分机器语言机器语言(二进制语言)和(二进制语言)和汇编汇编语言语言(符号语言),这两种语言都是面向机(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。器的语言,和具体机器的指令系统密切相关。p机器语言机器语言用指令代码编写程序,用指令代码编写程序,p符号语言符号语言

13、用指令助记符来编写程序。用指令助记符来编写程序。Nanjing University of Information Science & Technology, Computer and Software Institute高级语言和低级语言高级语言和低级语言n计算机能够直接识别和执行的唯一语言是一种一种用用二进制码表示二进制码表示的、由一系列指令组成的的、由一系列指令组成的机机器语言器语言。n但人们采用符号语言或高级语言编写程序。为此,必须借助汇编程序或编译程序,把符号语言或高级语言翻译成二进制码组成的机器语言。 n汇编语言汇编语言依赖于计算机的硬件结构和指令系统。依赖于计算机的硬件结构和指令

14、系统。不同的机器有不同的指令,所以用汇编语言编不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。写的程序不能在其他类型的机器上运行。Nanjing University of Information Science & Technology, Computer and Software Instituten高级语言与计算机的硬件结构及指令高级语言与计算机的硬件结构及指令系统无关,在编写程序方面比汇编语系统无关,在编写程序方面比汇编语言优越。言优越。n一些高级语言提供了与汇编语言之间一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,的调用接口。用汇编语言

15、编写的程序,可作为高级语言的一个外部过程或函可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地数,利用堆栈来传递参数或参数的地址。址。高级语言和低级语言高级语言和低级语言Nanjing University of Information Science & Technology, Computer and Software Institute比较内容比较内容高级语言高级语言低级语言低级语言1对程序员的训练要求对程序员的训练要求(1)通用算法通用算法(2)语言规则语言规则(3)硬件知识硬件知识有有较少较少不要不要有有较多较多要要2对机器独立的程度对机器独立的程度独立独立不独立不独立

16、3编制程序的难易程度编制程序的难易程度易易难难4编制程序所需时间编制程序所需时间短短较长较长5程序执行时间程序执行时间较长较长短短6编译过程中对计算机编译过程中对计算机资源的要求资源的要求多多少少高级语言与低级语言的性能比较 Nanjing University of Information Science & Technology, Computer and Software Institute4.2 指令格式 n4.2.1指令指令操作码与地址码操作码与地址码n4.2.2指令字长度指令字长度与扩展方法与扩展方法n4.2.3指令格式举例指令格式举例Nanjing University of I

17、nformation Science & Technology, Computer and Software Institute4.2.1指令指令操作码与地址码操作码与地址码n指令字(简称指令)即表示一条指令指令字(简称指令)即表示一条指令的机器字。的机器字。n指令格式则是指令字用指令格式则是指令字用二进制代码二进制代码表表示的结构形式,由示的结构形式,由操作码字段操作码字段和和地址地址码字段码字段组成。组成。操作码字段:表征指令的操作特性与功能。地址码字段:通常指定参与操作的操作数的地址。Nanjing University of Information Science & Technolo

18、gy, Computer and Software Institute指令格式如下:指令格式如下:n不同的指令用操作码字段的不同编码不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。来表示,每一种编码代表一种指令。操作码字段操作码字段地址码字段地址码字段Nanjing University of Information Science & Technology, Computer and Software Institute1.操作码n组成操作码字段的位数一般取决于计算组成操作码字段的位数一般取决于计算机指令系统的规模。机指令系统的规模。n例如,一个指令系统只有例如,一个指令系统

19、只有8条指令,则条指令,则有有3位操作码就够。位操作码就够。如果有如果有32条指令,条指令,那么就需要那么就需要5位操作码。位操作码。Nanjing University of Information Science & Technology, Computer and Software Instituten对于一个机器的指令系统,在指令字中操作对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。码字段和地址码字段长度通常是固定的。n目前,在目前,在小型和微型计算机中,由于指令字小型和微型计算机中,由于指令字较短,为了充分利用指令字长度,指令字的较短,为了充分利用指令字长

20、度,指令字的操作码字段和地址码字段是不固定的,即不操作码字段和地址码字段是不固定的,即不同类型的指令有不同的划分,以便尽可能用同类型的指令有不同的划分,以便尽可能用较短的指令字长来表示越来越多的操作种类,较短的指令字长来表示越来越多的操作种类,并在越来越大的存储空间中寻址。并在越来越大的存储空间中寻址。1.操作码Nanjing University of Information Science & Technology, Computer and Software Institute2.地址码 n根据一条指令中有根据一条指令中有几个操作数地址几个操作数地址,可将该指令称为几操作数指令或可将该指

21、令称为几操作数指令或几地几地址指令址指令。n一般的操作数有一般的操作数有被操作数被操作数、操作数操作数及及操作结果操作结果这三种数,因而就形成了三这三种数,因而就形成了三地址指令格式。后来又发展成二地址地址指令格式。后来又发展成二地址格式、一地址格式和零地址格式。格式、一地址格式和零地址格式。Nanjing University of Information Science & Technology, Computer and Software Institute各种地址指令格式操作码操作码123操作码操作码12操作码操作码1操作码操作码三地址指令三地址指令二地址指令二地址指令一地址指令一地址

22、指令零地址指令零地址指令Nanjing University of Information Science & Technology, Computer and Software Institute其格式为其格式为OPCODE操作码,操作码,A1第一个源操作数存储器地址或寄存器地址,第一个源操作数存储器地址或寄存器地址,A2第二个源操作数存储器地址或寄存器地址,第二个源操作数存储器地址或寄存器地址,A3操作结果的存储器地址或寄存器地址。操作结果的存储器地址或寄存器地址。其数学形式描述为:其数学形式描述为:(A1)OP(A2)A3OPCODEA1A2A3(1) (1) 三地址指令格式三地址指令格

23、式Nanjing University of Information Science & Technology, Computer and Software Institute其格式为其格式为OPCODE操作码,操作码,A1第一个源操作数存储器地址或寄存器地址,第一个源操作数存储器地址或寄存器地址,A2第第二二个个源源操操作作数数和和存存放放操操作作结结果果的的存存储储器器地地址址或或寄存器地址。寄存器地址。其数学形式描述为:其数学形式描述为:(A1)OP(A2)A1或者或者(A1)OP(A2)A2OPCODEA1A2(2 2) 二地址指令格式二地址指令格式Nanjing University

24、 of Information Science & Technology, Computer and Software Institute(3) (3) 一地址指令格式一地址指令格式其格式为其格式为OPCODE操作码,操作码,A操作数的存储器地址或寄存器地址。操作数的存储器地址或寄存器地址。其数学形式描述为:其数学形式描述为:OP(A)A或者或者(AC)OP(A)AC(AC)表示累加寄存器)表示累加寄存器AC中的数中的数OPCODE ANanjing University of Information Science & Technology, Computer and Software In

25、stitute(4) (4) 零地址指令格式零地址指令格式其格式为其格式为OPCODE操作码。操作码。不涉及操作数:如不涉及操作数:如不涉及操作数:如不涉及操作数:如NOPNOP、HLTHLT指令指令指令指令; ;操作数隐含:如操作数隐含:如操作数隐含:如操作数隐含:如PUSHPUSH、POPPOP指令指令指令指令(5 5) 多地址指令格式多地址指令格式性性能能较较好好的的大大、中中型型计计算算机机甚甚至至高高档档小小型型计计算算机机中中,往往往往设设置置一一些些功功能能很很强强的的,用用于于处处理理成成批批数数据据的的指指令令,例例如如,字字符符串串处处理理指指令令,向向量量、矩矩阵阵运运算

26、算等等指指令令。为为了了描描述述一一批批数数据据,指指令令中中往往往往需需要要用用多多个个地地址址来来指指出出数数据据存存放放的的首首地地址址、长长度度和下标等信息。和下标等信息。例例如如CDCSTAR100矩矩阵阵运运算算指指令令,就就有有七七个个地地址址码码段段,用来指明两个矩阵的存储情况以及结果的存放情况。用来指明两个矩阵的存储情况以及结果的存放情况。OPCODENanjing University of Information Science & Technology, Computer and Software Institute第第一一种种为为存存储储器器存存储储器器(SS)型型指

27、指令令,即即参参与与操操作作的的数数据据都放在内存里。都放在内存里。机器执行这种指令需要多次访问内存。机器执行这种指令需要多次访问内存。第第二二种种为为寄寄存存器器寄寄存存器器(RR)型型指指令令,执执行行这这类类指指令令过过程程中中,需需要要多多个个通通用用寄寄存存器器或或专专用用寄寄存存器器,从从寄寄存存器器中中取取操操作作数数,把把操操作作结结果果存存放放到到另另一一寄寄存存器器中中。机机器器执执行行该该类类型型指令的速度很快。指令的速度很快。第第三三种种为为寄寄存存器器存存储储器器(RS)型型指指令令,执执行行此此类类指指令令时时,既要访问内存单元,又要访问寄存器。既要访问内存单元,又

28、要访问寄存器。 从存放操作数的物理位置来划分,指令格式主要有三种类型从存放操作数的物理位置来划分,指令格式主要有三种类型: :目前在计算机系统结构中,通常一个指令系统中指令字的目前在计算机系统结构中,通常一个指令系统中指令字的长度和指令中的地址结构长度和指令中的地址结构并不是单一的并不是单一的,往往采用多种格,往往采用多种格式式混合使用混合使用,这样可以增强指令的功能。,这样可以增强指令的功能。Nanjing University of Information Science & Technology, Computer and Software Institute4.2.3 4.2.3 指令

29、字长度与扩展方法指令字长度与扩展方法 n指令字长度指令字长度:一个指令字中包含二进:一个指令字中包含二进制代码的位数。制代码的位数。n机器字长机器字长:计算机能:计算机能直接处理直接处理的二进的二进制数据的位数,它决定了计算机的运制数据的位数,它决定了计算机的运算精度。算精度。Nanjing University of Information Science & Technology, Computer and Software Institute指令字长度与机器字长n其中其中L为指令字长度,为指令字长度,N为机器字长度。为机器字长度。n余下以此类推。例如余下以此类推。例如IBM370系列的指

30、令格系列的指令格式有式有16b(半字半字)的,有的,有32b(单字单字)的,还有的,还有48b(一个半字一个半字)的。的。Nanjing University of Information Science & Technology, Computer and Software Institute多字长指令多字长指令n使用多字长指令,使用多字长指令,目的目的在于在于提供足够提供足够的地址位的地址位来解决访问内存任何单元的来解决访问内存任何单元的寻址问题。寻址问题。n其主要其主要缺点缺点是必须是必须两次或多次访问两次或多次访问内内存以取出一整条指令,降低了存以取出一整条指令,降低了CPU的的运算速

31、度,又占用了更多的存储空间。运算速度,又占用了更多的存储空间。Nanjing University of Information Science & Technology, Computer and Software Institute等长等长/ /变长指令字结构变长指令字结构n等长指令字结构等长指令字结构:各种指令字长度是:各种指令字长度是相等的。这种指令字结构简单,且指相等的。这种指令字结构简单,且指令字长度是不变的。令字长度是不变的。n变长指令字结构变长指令字结构:各种指令字长度随:各种指令字长度随指令功能而异。结构灵活,能充分利指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较

32、复杂。用指令长度,但指令的控制较复杂。Nanjing University of Information Science & Technology, Computer and Software Institute2. 2. 指令操作码扩展方法指令操作码扩展方法指令操作码通常有两种编码格式:指令操作码通常有两种编码格式:n一种是一种是固定格式固定格式,即,即操作码的长度固定操作码的长度固定,且,且集中集中放在指令字的一个字段中。放在指令字的一个字段中。p这种格式可以简化硬件设计,这种格式可以简化硬件设计,减少指令译码时间减少指令译码时间,一,一般用在般用在字长较长字长较长的大、中型机和超级小型机

33、以及的大、中型机和超级小型机以及RISC机上,如机上,如IBM370和和VAX11系列机,其操作码长系列机,其操作码长度均为度均为8b,可表示,可表示256种指令。种指令。n另一种是另一种是可变格式可变格式,即,即操作码的长度可变操作码的长度可变,且,且分分散散地放在指令字的不同字段中。地放在指令字的不同字段中。p这种格式能够有效地这种格式能够有效地压缩程序中操作码的平均长度压缩程序中操作码的平均长度,在在字长较短字长较短的微型机上广泛采用。如的微型机上广泛采用。如Z80、Intel8086等,操作码的长度都是可变的。等,操作码的长度都是可变的。Nanjing University of In

34、formation Science & Technology, Computer and Software Institute2. 2. 指令操作码扩展方法指令操作码扩展方法n操作码不固定操作码不固定将增加指令译码和分析的难将增加指令译码和分析的难度,使控制器的设计复杂。度,使控制器的设计复杂。n通常在指令字中用一个通常在指令字中用一个固定长度的字段固定长度的字段来来表示表示基本操作码基本操作码,而对于一部分不需要某,而对于一部分不需要某个地址码的指令,则把它们的操作码的长个地址码的指令,则把它们的操作码的长度扩充到该地址字段。度扩充到该地址字段。p这样既能充分利用指令字的各个字段,又能在这样

35、既能充分利用指令字的各个字段,又能在不增加指令长度的情况下扩展操作码的长度,不增加指令长度的情况下扩展操作码的长度,使它能表示更多的指令。使它能表示更多的指令。Nanjing University of Information Science & Technology, Computer and Software Institute例例如如:某某机机器器的的指指令令字字长长度度为为16b16b,包包括括4b4b基基本本操操作作码码字字段段和三个和三个4b4b地址字段,其指令格式为:地址字段,其指令格式为:OPCODEA1A2A3151211874304b4b基本操作码有基本操作码有1616种组

36、合,若全部用于表示三地址指令,则种组合,若全部用于表示三地址指令,则只有只有1616条。但是,如果条。但是,如果三地址指令仅需三地址指令仅需1515条,两地址指令需条,两地址指令需1515条,一地址指令需条,一地址指令需1515条,零地址指令需条,零地址指令需1616条,共条,共6161条指令条指令,应该如何安排操作码?显然,只有应该如何安排操作码?显然,只有4b4b基本操作码是不够的,基本操作码是不够的,必须将操作码的长度向地址码字段扩展才行。这可采用如下必须将操作码的长度向地址码字段扩展才行。这可采用如下操作码扩展方法:操作码扩展方法: (1 1) 三地址指令仅需三地址指令仅需1515条,

37、由条,由4b4b基本操作码的基本操作码的0000000011101110组合给出,剩下的一个组合组合给出,剩下的一个组合11111111用于把操作码长度扩展用于把操作码长度扩展到到 A1A1,即,即4b4b扩展到扩展到8b8b;Nanjing University of Information Science & Technology, Computer and Software Institute(2)二地址指令需二地址指令需15条,由条,由8b操作码的操作码的1111000011111110组合给出,剩下一个组合给出,剩下一个11111111用于把操作码长度扩用于把操作码长度扩展到展到A2

38、,即从即从8b扩展到扩展到12b;(3)一地址指令需一地址指令需15条,由条,由12b操作码的操作码的111111110000111111111110组合给出,剩下一个组合组合给出,剩下一个组合111111111111用于用于把操作码长度扩展到把操作码长度扩展到A3,即从即从12b扩展到扩展到16b;(4)零地址指令需零地址指令需16条,由条,由16位操作码的位操作码的11111111111100001111111111111111组合给出。组合给出。采用上述指令操作码扩展方法后,三地址指令、二地采用上述指令操作码扩展方法后,三地址指令、二地址指令和一地址指令各址指令和一地址指令各15条,零地

39、址指令条,零地址指令16条,共计条,共计61条条指令。指令。Nanjing University of Information Science & Technology, Computer and Software Institute1. 1. 微型计算机微型计算机Intel 8086/8088Intel 8086/8088指令格式指令格式Intel Intel 80868086是是IntelIntel公公司司于于19781978年年推推出出的的16b16b的的微微型型计计算算机机,字字长长16b16b。Intel Intel 80888088是是在在80868086基基础础之之上上推推出出的

40、的扩扩展展型型准准16b16b微微型型机机,字字长长16b16b,但但其其外外部部数数据据总总线线8b8b,这这样样便便于于与与众众多多的的8b8b外外部部设设备备连连接接。由由于于Intel Intel 8086/80888086/8088指指令令字字较较短短,所所以以指指令令采采用用变变长长指指令令字字结结构构。指指令令格格式式包包含含单单字字长指令、双字长指令、三字长指令长指令、双字长指令、三字长指令等多种。等多种。2. 2. 大型计算机大型计算机IBM 370IBM 370系列指令格式系列指令格式IBM370系系统统是是IBM公公司司于于1970年年推推出出的的32b大大型型计计算算机

41、机,1983年年IBM又又推推出出了了370的的扩扩充充结结构构:IBM 370XA(eXtendedArchitecture),首首次次在在3080系系列列上上实实现现,后后来来又又有有扩扩充充结结构构ESA370,于于1986年年推推出出3090系系列列。ESA370增增加加了了指指令令格格式式,称称为为扩扩充充格格式式,有有16b操操作作码码,包包括了向量运算与括了向量运算与128b长度的浮点运算指令。长度的浮点运算指令。4.2.3 4.2.3 指令格式举例指令格式举例Nanjing University of Information Science & Technology, Comp

42、uter and Software Institute3. SPARC3. SPARC计算机的指令格式计算机的指令格式SPARC是是SunMicrosystem公公司司于于1987年年推推出出的的精精简简指指令令系系统统计计算算机机(RISC),字字长长32b。SPARC共共有有三三种指令格式,格式种指令格式,格式1、格式、格式2和格式和格式3,如图所示:,如图所示:SunMicrosystemRISCSPARC指令格式指令格式Nanjing University of Information Science & Technology, Computer and Software Instit

43、ute4.3 指令和数据的寻址方式 n4.3.1指令的寻址方式指令的寻址方式n4.3.2操作数寻址方式操作数寻址方式n4.3.3寻址方式举例寻址方式举例Nanjing University of Information Science & Technology, Computer and Software Institute4.3.1 指令的寻址方式 n操作数或指令在存储器中的地址操作数或指令在存储器中的地址:某个:某个操作数或某条指令存放在某个存储单元操作数或某条指令存放在某个存储单元时,其存储单元的编号。时,其存储单元的编号。n在存储器中,操作数或指令字写入或读在存储器中,操作数或指令字写

44、入或读出的方式,有:出的方式,有:地址指定方式地址指定方式、相联存相联存储方式储方式和和堆栈存取方式堆栈存取方式。n当采用地址指定方式时,形成操作数或当采用地址指定方式时,形成操作数或指令地址的方式,称为指令地址的方式,称为寻址方式寻址方式。Nanjing University of Information Science & Technology, Computer and Software Instituten寻址方式分为两类,即寻址方式分为两类,即指令寻址方式指令寻址方式和和数据寻址方式数据寻址方式,前者比较简单,后者比,前者比较简单,后者比较复杂。较复杂。n所谓指令寻址方式,就是所谓指

45、令寻址方式,就是确定下一条将确定下一条将要执行的指令地址的方法要执行的指令地址的方法。n指令的寻址方式有两种:指令的寻址方式有两种:p一种是一种是顺序寻址方式顺序寻址方式,p另一种是另一种是跳跃寻址方式跳跃寻址方式。4.3.1 指令的寻址方式 Nanjing University of Information Science & Technology, Computer and Software Instituten指令地址在内存中指令地址在内存中按顺序安排按顺序安排,当执行一段,当执行一段程序时,通常是一条指令接一条指令的顺序程序时,通常是一条指令接一条指令的顺序执行。执行。p即从存储器取出

46、第一条指令,然后执行这条指即从存储器取出第一条指令,然后执行这条指令;接着从存储器取出第二条指令,在执行第令;接着从存储器取出第二条指令,在执行第二条指令;接着再取出第三条指令二条指令;接着再取出第三条指令这种程这种程序顺序执行的过程,我们称为指令的顺序寻址序顺序执行的过程,我们称为指令的顺序寻址方式。方式。p为此,必须使用程序计数器(又称指令指针寄为此,必须使用程序计数器(又称指令指针寄存器)存器)PC来计数指令的顺序号,该顺序号就是来计数指令的顺序号,该顺序号就是指令在内存中的地址。指令在内存中的地址。1.1.顺序寻址方式顺序寻址方式Nanjing University of Inform

47、ation Science & Technology, Computer and Software Institute指令的顺序寻址方式指令的顺序寻址方式程序计数器程序计数器 Nanjing University of Information Science & Technology, Computer and Software Institute2.2.跳跃寻址方式跳跃寻址方式n当程序要转移执行的顺序时,指令的寻址就采取跳跃寻址方当程序要转移执行的顺序时,指令的寻址就采取跳跃寻址方式。式。n跳跃,又称跳转,是指下条指令的地址码不是由程序计数器跳跃,又称跳转,是指下条指令的地址码不是由程序计数

48、器给出,而是由本条指令给出。给出,而是由本条指令给出。n注意:程序跳跃后,按注意:程序跳跃后,按新的指令地址新的指令地址开始顺序执行。指令计开始顺序执行。指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。数器的内容也必须相应改变,以便及时跟踪新的指令地址。程序计数器程序计数器 Nanjing University of Information Science & Technology, Computer and Software Instituten采用指令跳跃寻址方式,可以实现程序采用指令跳跃寻址方式,可以实现程序转移或构成循环程序,从而能缩短程序转移或构成循环程序,从而能缩短程序长

49、度,或将某些程序作为公共程序引用。长度,或将某些程序作为公共程序引用。n指令系统中的各种条件转移或无条件转指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址移指令,就是为了实现指令的跳跃寻址而设置的。而设置的。2.2.跳跃寻址方式跳跃寻址方式Nanjing University of Information Science & Technology, Computer and Software Institute4.3.2 操作数寻址方式 n所谓操作数寻址方式,就是形成操作数所谓操作数寻址方式,就是形成操作数的有效地址(的有效地址(EA)的方法。)的方法。n指令字中的地址码字

50、段,通常是由形式指令字中的地址码字段,通常是由形式地址和寻址方式特征位组成的,并不是地址和寻址方式特征位组成的,并不是操作数的有效地址。其表示形式为:操作数的有效地址。其表示形式为:OPCODE 寻址方式特征寻址方式特征MOD形式地址形式地址ANanjing University of Information Science & Technology, Computer and Software Instituten形式地址形式地址A A,是指令字结构中给定的地址量。,是指令字结构中给定的地址量。n寻址方式特征位寻址方式特征位,通常由,通常由间址位间址位(I)(I)和和变址位变址位(X)(X)

51、组成。组成。p若指令无间址和变址要求,则形式地址就是操作若指令无间址和变址要求,则形式地址就是操作数的有效地址;数的有效地址;p若指令中指明要进行变址或间址变换,则形式地若指令中指明要进行变址或间址变换,则形式地址就不是操作数的有效地址,而必须按指定方式址就不是操作数的有效地址,而必须按指定方式进行变换,才能形成有效地址。进行变换,才能形成有效地址。OPCODE寻址方式特征寻址方式特征MOD 形式地址形式地址ANanjing University of Information Science & Technology, Computer and Software Institute常见的操作数

52、寻址方式常见的操作数寻址方式n1、隐含寻址方式隐含寻址方式n2、立即寻址、立即寻址(ImmediateAddressing)n3、寄存器寻址方式、寄存器寻址方式(RegisterAddressing)n4、直接寻址、直接寻址(DirectAddressing)n5、间接寻址、间接寻址(IndirectAddressing)n6、相对寻址、相对寻址(RelativeAddressing)n7、基址寻址、基址寻址(BasedAddressing)n8、变址寻址(、变址寻址(IndexedAddressing)n9、堆栈寻址、堆栈寻址(StackAddressing)Nanjing Universi

53、ty of Information Science & Technology, Computer and Software Instituten在指令中不明显的给出而是在指令中不明显的给出而是隐含着操作隐含着操作数的地址数的地址。n例如例如:单地址的指令格式,没有在地址:单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定字段中指明第二操作数地址,而是规定累加寄存器累加寄存器AC作为第二操作数地址,作为第二操作数地址,AC对单地址指令格式来说是隐含地址。对单地址指令格式来说是隐含地址。1.1.隐含寻址隐含寻址 Nanjing University of Information Sci

54、ence & Technology, Computer and Software Instituten立即寻址方式表示形式为:立即寻址方式表示形式为:OPCODE立即寻址方式立即寻址方式操作数操作数Datan指令的地址字段指令的地址字段指出的不是操作数的地址,而是指出的不是操作数的地址,而是操作数本身操作数本身。n这种方式的特点是指令执行时间很短,不需要访这种方式的特点是指令执行时间很短,不需要访问内存取数(操作数在地址码字段中)。问内存取数(操作数在地址码字段中)。2. 2. 立即寻址立即寻址Nanjing University of Information Science & Techno

55、logy, Computer and Software Institute3 3、寄存器寻址方式、寄存器寻址方式 ( Register Addressing )( Register Addressing )n操作数放在操作数放在CPU的通用寄存器中,操作数所在的通用寄存器中,操作数所在的寄存器编号存放在指令的地址字段的寄存器编号存放在指令的地址字段A中,即:中,即:pDATA(Ri)MOVAX,BXMOVAL,BHNanjing University of Information Science & Technology, Computer and Software Institute4 4直

56、接寻址直接寻址(Direct Addressing)(Direct Addressing)n操作数位于存储器中,操作数所在的存储器单操作数位于存储器中,操作数所在的存储器单元的地址存放在指令的地址字段元的地址存放在指令的地址字段A中,即:中,即:pDATA(EA)l指令字中的形式地址指令字中的形式地址A就是操作数的有效地址就是操作数的有效地址EpEA=A,该类指令中的形式地址,该类指令中的形式地址A又称为又称为直接地址直接地址Nanjing University of Information Science & Technology, Computer and Software Institu

57、te4 4直接寻址直接寻址(Direct Addressing)(Direct Addressing)n(1)寄存器直接寻址方式)寄存器直接寻址方式p指令地址码字段直接给出所需操作数在通用寄存器指令地址码字段直接给出所需操作数在通用寄存器中地址编号。其表示形式为:中地址编号。其表示形式为:直接寻址方式又可分为寄存器直接寻址和存储器直接直接寻址方式又可分为寄存器直接寻址和存储器直接寻址两种。寻址两种。OPCODE寄存器直接寻址寄存器直接寻址寄存器地址编号寄存器地址编号Ri有效地址有效地址EA数学形式为:数学形式为:EARin(2)存储器直接寻址方式)存储器直接寻址方式p一般简称直接寻址方式,其指

58、令地址码字段一般简称直接寻址方式,其指令地址码字段直接给出存放在存储器中操作数的存储地址。直接给出存放在存储器中操作数的存储地址。其表示形式见前面。其表示形式见前面。Nanjing University of Information Science & Technology, Computer and Software Instituten间接寻址的情况下,指令地址字段中的形式间接寻址的情况下,指令地址字段中的形式地址地址A不是操作数的真正地址,而是不是操作数的真正地址,而是操作数操作数地址的指示器地址的指示器,A单元的内容是操作数的有单元的内容是操作数的有效地址。即效地址。即pDATA(EA

59、)pEA=(A)p即:即:A为操作数地址的地址为操作数地址的地址5. 5. 间接寻址间接寻址Nanjing University of Information Science & Technology, Computer and Software InstituteA指令指令存储器存储器操作数操作数操作数操作数直接寻址方式直接寻址方式直接寻址方式直接寻址方式: :操作数操作数操作数操作数间间间间接寻址方式接寻址方式接寻址方式接寻址方式: :A指令指令EAEAEA:Nanjing University of Information Science & Technology, Computer a

60、nd Software Institute5. 5. 间接寻址间接寻址n按寻址特征间址位按寻址特征间址位X的要求,根据地址码的要求,根据地址码指的是寄存器地址还是存储器地址,间指的是寄存器地址还是存储器地址,间接寻址又可分为接寻址又可分为寄存器间接寻址寄存器间接寻址和存储和存储器间接寻址两种方式。器间接寻址两种方式。Nanjing University of Information Science & Technology, Computer and Software Institute(1)寄存器间接寻址方式)寄存器间接寻址方式 寄寄存存器器间间接接寻寻址址时时,需需先先访访问问寄寄存存器器

61、,从从寄寄存存器器读读出出操操作作数数地址后,再访问存储器才能取得操作数。地址后,再访问存储器才能取得操作数。有效地址有效地址EA数学形式为:数学形式为:EA(R),即,即Data(EA)(R)寄存器间接寻址方式示意图寄存器间接寻址方式示意图Nanjing University of Information Science & Technology, Computer and Software Institute(2 2)存储器间接寻)存储器间接寻址方式址方式 存存储储器器间间接接寻寻址址时时,需需访访问问两两次次存存储储器器才才能能取取得得数数据据,第第一一次次先先从从存存储储器器读读出出操

62、操作作数数地地址址,第第二二次次才才能能根根据据读读出出的的操操作作数地址再取出真正的操作数。数地址再取出真正的操作数。有效地址有效地址EA数学形式为:数学形式为:EA(A),即,即Data(EA)(A)存储器存储器间接寻址方式示意图间接寻址方式示意图Nanjing University of Information Science & Technology, Computer and Software Institute寄存器号寄存器号指令指令操作数操作数寄寄存存器器堆堆寄存器寻址方式:寄存器寻址方式:寄存器寻址方式:寄存器寻址方式:寄存器号寄存器号指令指令寄寄存存器器堆堆EA寄存器间接寻址

63、方式:寄存器间接寻址方式:寄存器间接寻址方式:寄存器间接寻址方式:操作数操作数存储器存储器Nanjing University of Information Science & Technology, Computer and Software Institute6. 6. 相对寻址方式相对寻址方式n所谓相对寻址方式,是指根据一个所谓相对寻址方式,是指根据一个基准地址基准地址及其及其相对量相对量来寻找操作数地址的方式。来寻找操作数地址的方式。p根据基准地址的来源不同,它又分为基址方式和根据基准地址的来源不同,它又分为基址方式和变址方式、以及变址方式、以及PC相对寻址方式,这里主要指相对寻址方式

64、,这里主要指后者。后者。nPC相对寻址方式,一般简称相对寻址方式,相对寻址方式,一般简称相对寻址方式,是指将程序计数器是指将程序计数器PC的内容(的内容(即当前执行即当前执行指令的地址指令的地址)与地址码部分给出的)与地址码部分给出的位移量位移量(Disp)通过加法器相加,所得之和作为操作通过加法器相加,所得之和作为操作数的有效地址的方式。数的有效地址的方式。Nanjing University of Information Science & Technology, Computer and Software Institute相对寻址方式示意图相对寻址方式示意图有效地址有效地址EA数学形式

65、为:数学形式为:EA(PC)+DispNanjing University of Information Science & Technology, Computer and Software Instituten计算机设置一个寄存器,专门用来存放基准地计算机设置一个寄存器,专门用来存放基准地址,该寄存器就是基址寄存器址,该寄存器就是基址寄存器(RB)。RB既可在既可在CPU中专设,也可由指令指定某个通用寄存器中专设,也可由指令指定某个通用寄存器担任。担任。n基址寻址方式是将基址寻址方式是将CPU中中基址寄存器基址寄存器RB的内容的内容加加上指令格式中的上指令格式中的形式地址形式地址A而形成操

66、作数的有而形成操作数的有效地址。效地址。7. 7. 基址寻址方式基址寻址方式优点优点是可以扩大寻址能力。同形式地址相是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。从而可以在较大的存储空间中寻址。Nanjing University of Information Science & Technology, Computer and Software Institute有效地址有效地址EAEA数学形式为:数学形式为:EAEA(RB) + (RB) + DispDisp地址码地址码 A A在这种方式下通常被称为

67、位移量在这种方式下通常被称为位移量( (DispDisp) )。7. 7. 基址寻址方式基址寻址方式Nanjing University of Information Science & Technology, Computer and Software Instituten变址寻址方式与基址寻址方式计算有效地址的方法很相变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把似,它把CPU中某个变址寄存器的内容与偏移量中某个变址寄存器的内容与偏移量D相加相加来形成操作数有效地址。来形成操作数有效地址。n使用变址寻址方式的目的不在于扩大寻址空间,而在于使用变址寻址方式的目的不在于扩大寻址空间,

68、而在于实现程序块的规律性变化。实现程序块的规律性变化。8. 8. 变址寻址方式变址寻址方式有效地址有效地址EA数学形式为:数学形式为:EA(RI)+Disp变址寻址方式变址寻址方式XRI指出变址寻指出变址寻址方式的特征址方式的特征Nanjing University of Information Science & Technology, Computer and Software Institute9 9、堆栈寻址、堆栈寻址 ( Stack Addressing )( Stack Addressing )n操作数位于存储器中,操作数所在的存储器地址操作数位于存储器中,操作数所在的存储器地址E

69、A由由堆栈指针寄存器堆栈指针寄存器SP隐含隐含指出,通常用于堆栈指令。指出,通常用于堆栈指令。n堆栈是由若干个连续主存单元组成的堆栈是由若干个连续主存单元组成的先进后出先进后出(firstinlastout,即,即FILO)存储区,第一个放入堆栈的数)存储区,第一个放入堆栈的数据存放在据存放在栈底栈底,最近放入的数据存放在,最近放入的数据存放在栈顶栈顶。栈底是。栈底是固定不变的,而栈顶是随着数据的入栈和出栈在时刻固定不变的,而栈顶是随着数据的入栈和出栈在时刻变化。变化。栈顶的地址栈顶的地址由堆栈指针由堆栈指针SP指明指明。n一般计算机中,堆栈从高地址向低地址扩展,即一般计算机中,堆栈从高地址向

70、低地址扩展,即栈底栈底的地址的地址总是总是栈顶的地址栈顶的地址,称为,称为上推堆栈上推堆栈;也有少数计;也有少数计算机相反,称为下推堆栈。算机相反,称为下推堆栈。n堆栈寻址主要用来堆栈寻址主要用来暂存暂存中断和子程序调用时中断和子程序调用时现场数据现场数据及返回地址及返回地址。Nanjing University of Information Science & Technology, Computer and Software Institute存储器存储器堆堆栈栈段段栈底栈底SP栈栈顶顶堆栈的结构n堆栈的操作:压入(堆栈的操作:压入(PUSH)和弹出(和弹出(POP),对应),对应PUSH

71、和和POP指令,假设数据字长为指令,假设数据字长为1Bp压入指令压入指令PUSHRi:将:将Ri寄存器寄存器内容压入堆栈。其操作是:内容压入堆栈。其操作是:l(SP)1SP,(Ri)(SP)p弹出指令弹出指令POPRi:从堆栈中弹出:从堆栈中弹出1个数据送个数据送Ri寄存器,其操作是:寄存器,其操作是:l(SP)Ri,(SP)1SPp其中其中(SP)表示堆栈指针表示堆栈指针SP的内容;的内容;(SP)表示表示SP所指的栈顶的内容。所指的栈顶的内容。Nanjing University of Information Science & Technology, Computer and Softw

72、are Instituten注意:注意:存储器堆栈中,存储器堆栈中,p进栈时先存入数据,后修改堆栈指示进栈时先存入数据,后修改堆栈指示器;器;p出栈时,先修改堆栈指示器,然后取出栈时,先修改堆栈指示器,然后取出数据。出数据。Nanjing University of Information Science & Technology, Computer and Software Institute(1)相对间接寻址相对间接寻址这这种种寻寻址址方方式式先先把把程程序序计计数数器器PC的的内内容容和和形形式式地地址址(通通常常为为位位移移量量)Disp相相加加得得(PC)+Disp,然然后后再再间间

73、接接寻寻址址求求得得操操作数的有效地址,即作数的有效地址,即先相对寻址再间接寻址先相对寻址再间接寻址。操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA(PC)+Disp)(2)间接相对寻址间接相对寻址这这种种寻寻址址方方式式先先将将形形式式地地址址Disp作作间间接接变变换换(Disp),然然后后将将间间接接变变换换值值和和程程序序计计数数器器PC的的内内容容相相加加得得到到操操作作数数的的有有效效地址,即地址,即先间接寻址再相对寻址先间接寻址再相对寻址。操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA(PC)+(Disp)10. 10. 复合型寻址方式复合型寻

74、址方式n上面介绍的几种寻址方式,在计算机中可以组合使用。上面介绍的几种寻址方式,在计算机中可以组合使用。Nanjing University of Information Science & Technology, Computer and Software Institute(3)变址间接寻址变址间接寻址这种寻址方式先把变址寄存器这种寻址方式先把变址寄存器RI的内容和形式地址的内容和形式地址Disp相加得相加得(RI)+Disp,然后再间接寻址求得操作数的然后再间接寻址求得操作数的有效地址,即有效地址,即先变址再间址先变址再间址。操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:E

75、A(RI)+Disp)(4)间接变址寻址间接变址寻址这种寻址方式先将形式地址这种寻址方式先将形式地址Disp作间接变换作间接变换(Disp),然后将间接变换值和变址寄存器然后将间接变换值和变址寄存器RI的内容相加得到操作的内容相加得到操作数的有效地址,即数的有效地址,即先间址再变址先间址再变址。操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA(RI)+(Disp)10. 10. 复合型寻址方式复合型寻址方式Nanjing University of Information Science & Technology, Computer and Software Institute

76、4.4 指令系统的要求与指令分类系统的要求与指令分类n4.4.1 指令系统的要求n4.4.2 指令的分类Nanjing University of Information Science & Technology, Computer and Software Institute4.5.2指令的分类 n这类指令主要用来实现主存和寄存器之间,或寄存器这类指令主要用来实现主存和寄存器之间,或寄存器和寄存器之间,或主存和主存之间的数据传送。和寄存器之间,或主存和主存之间的数据传送。n主要包括主要包括取数指令取数指令、存数指令存数指令、传送指令传送指令、成组传送成组传送指令指令、字节交换指令字节交换指令

77、、清累加器指令清累加器指令、堆栈操作指令堆栈操作指令等等。等等。n传送数据时,数据从源地址传送到目的地址,而源地传送数据时,数据从源地址传送到目的地址,而源地址中的数据保持不变,因此,实际上是数据拷贝。址中的数据保持不变,因此,实际上是数据拷贝。1.1.数据传送指令数据传送指令Nanjing University of Information Science & Technology, Computer and Software Instituten这类指令主要用于这类指令主要用于定点或浮点定点或浮点的算术运算,大的算术运算,大型机中有向量运算指令,直接对整个向量或矩型机中有向量运算指令,直接

78、对整个向量或矩阵进行求和、求积运算。阵进行求和、求积运算。n这类指令包括二进制定点加、减、乘、除指令,这类指令包括二进制定点加、减、乘、除指令,浮点加、减、乘、除指令,求反、求补指令,浮点加、减、乘、除指令,求反、求补指令,算术移位指令,算术比较指令,十进制加、减算术移位指令,算术比较指令,十进制加、减运算指令等。运算指令等。2.2.算术算术/ /逻辑运算指令逻辑运算指令(1 1)算术运算指令)算术运算指令Nanjing University of Information Science & Technology, Computer and Software Instituten这类指令用以实

79、现对两个数的逻辑运算和位这类指令用以实现对两个数的逻辑运算和位操作功能,主要包括逻辑与(逻辑乘)、或操作功能,主要包括逻辑与(逻辑乘)、或(逻辑加)、非(求反)、异或(按位加)(逻辑加)、非(求反)、异或(按位加)等逻辑操作指令,以及位测试、位清除、位等逻辑操作指令,以及位测试、位清除、位求反等位操作指令。求反等位操作指令。(2 2)逻辑运算指令)逻辑运算指令2.2.算术算术/ /逻辑运算指令逻辑运算指令Nanjing University of Information Science & Technology, Computer and Software Institute3.3.移位操作指

80、令移位操作指令n移位操作指令用以实现将操作数向左移动或向右移动移位操作指令用以实现将操作数向左移动或向右移动若干位的功能,包括若干位的功能,包括算术移位算术移位、逻辑移位逻辑移位和和循环移位循环移位三种指令。三种指令。n算术移位算术移位p左移时,若寄存器中的数为算术操作数,则符号位不动,其左移时,若寄存器中的数为算术操作数,则符号位不动,其它位左移,最低位补零。它位左移,最低位补零。p右移时,其它位右移,最高位补符号位。右移时,其它位右移,最高位补符号位。n逻辑移位逻辑移位p移位时,若寄存器中的操作数为逻辑数,则左移或右移时,移位时,若寄存器中的操作数为逻辑数,则左移或右移时,所有位一起移位,

81、最低位或最高位补零。所有位一起移位,最低位或最高位补零。n循环移位循环移位p按是否与按是否与“进位进位”位位C一起循环分为小循环一起循环分为小循环(即自身循环即自身循环)和大和大循环循环(即和进位位即和进位位C一起循环一起循环)两种。两种。p用于实现循环式控制、高低字节互换或与算术、逻辑移位指用于实现循环式控制、高低字节互换或与算术、逻辑移位指令一起实现双倍字长或多倍字长的移位。令一起实现双倍字长或多倍字长的移位。Nanjing University of Information Science & Technology, Computer and Software Institute循环移位

82、规则小循环左移:最高位移至进位位,同时移至最低位。小循环左移:最高位移至进位位,同时移至最低位。 小循环右移:最低位移至进位位,同时移至最高位。小循环右移:最低位移至进位位,同时移至最高位。大循环左移:最高位移至进位位,进位位移至最低位。大循环左移:最高位移至进位位,进位位移至最低位。小循小循环移环移位位大大循循环环移移位位大循环右移:最低位移至进位位,进位位移至最高位。大循环右移:最低位移至进位位,进位位移至最高位。Nanjing University of Information Science & Technology, Computer and Software Instituten(

83、1)无条件转移指令与条件转移指令无条件转移指令与条件转移指令p无条件转移指令不受任何条件限制,直接把程序转移到指令所规无条件转移指令不受任何条件限制,直接把程序转移到指令所规定的目的地,从那里开始继续执行程序。定的目的地,从那里开始继续执行程序。p条件转移指令则根据计算机处理结果来控制程序的执行方向,实条件转移指令则根据计算机处理结果来控制程序的执行方向,实现程序的分支。首先测试根据处理结果设置的条件码,然后判断现程序的分支。首先测试根据处理结果设置的条件码,然后判断所测试的条件是否满足,从而决定是否转移。所测试的条件是否满足,从而决定是否转移。n(2)调用指令与返回指令调用指令与返回指令p编

84、写程序时,常常需要编写一些能够独立完成某一特定功能且经编写程序时,常常需要编写一些能够独立完成某一特定功能且经常使用的程序段,在需要时能随时调用,而不必多次重复编写,常使用的程序段,在需要时能随时调用,而不必多次重复编写,以便节省存储器空间和简化程序设计。这种程序段就称为子程序以便节省存储器空间和简化程序设计。这种程序段就称为子程序或过程。或过程。p调用调用(Call)与返回与返回(Return)是一对配合使用的指令,返回指令从堆栈是一对配合使用的指令,返回指令从堆栈中取出返回地址,然后继续执行调用指令的下一条指令。中取出返回地址,然后继续执行调用指令的下一条指令。4.4.程序控制指令程序控制

85、指令Nanjing University of Information Science & Technology, Computer and Software Instituten(3)陷阱陷阱(Trap)与陷阱指令与陷阱指令p在计算机运行过程中,有时可能会出现电源电在计算机运行过程中,有时可能会出现电源电压不稳、存储器校验出错、输入输出设备出现压不稳、存储器校验出错、输入输出设备出现故障、用户使用了未定义的指令或特权指令等故障、用户使用了未定义的指令或特权指令等种种意外情况,使计算机不能正常工作,这时种种意外情况,使计算机不能正常工作,这时若不及时采取措施处理这些故障,将影响到整若不及时采取

86、措施处理这些故障,将影响到整个系统的正常运行。个系统的正常运行。p因此,一旦出现故障,计算机就发出陷阱信号,因此,一旦出现故障,计算机就发出陷阱信号,并暂停当前程序的执行并暂停当前程序的执行(称为中断称为中断),转入故障,转入故障处理程序进行相应的故障处理。陷阱实际上是处理程序进行相应的故障处理。陷阱实际上是一种意外事故中断。一种意外事故中断。4.4.程序控制指令程序控制指令Nanjing University of Information Science & Technology, Computer and Software Instituten输入输出指令主要用来启动外围设备,输入输出指令

87、主要用来启动外围设备,检查测试外围设备的工作状态,并实检查测试外围设备的工作状态,并实现外部设备和现外部设备和CPU之间,或外围设备之间,或外围设备与外围设备之间的信息传送。与外围设备之间的信息传送。5.5.输入输出指令输入输出指令Nanjing University of Information Science & Technology, Computer and Software Instituten字符串处理指令是一种非数值处理指令,字符串处理指令是一种非数值处理指令,一般包括字符串传送、字符串转换(把一般包括字符串传送、字符串转换(把一种编码的字符串转换成另一种编码的一种编码的字符串转

88、换成另一种编码的字符串)、字符串替换(把某一字符串字符串)、字符串替换(把某一字符串用另一字符串替换)等。用另一字符串替换)等。n这类指令在文字编辑中对大量字符串进这类指令在文字编辑中对大量字符串进行处理。行处理。6.6.字符串处理指令字符串处理指令Nanjing University of Information Science & Technology, Computer and Software Institute7.堆栈操作指令堆栈操作指令n堆栈操作指令通常有两条:一条是入栈堆栈操作指令通常有两条:一条是入栈指令,另一条是出栈指令。指令,另一条是出栈指令。p入栈指令(入栈指令(PUSH

89、)执行两个动作:)执行两个动作:将数将数据从据从CPU取出并压入堆栈栈顶;取出并压入堆栈栈顶;修改堆栈修改堆栈指示器。指示器。p出栈指令(出栈指令(POP)也执行两个动作:)也执行两个动作:修改修改堆栈指示器;堆栈指示器;从栈顶取出数据到从栈顶取出数据到CPU。这。这两条指令总是成对出现的,在程序的中断嵌两条指令总是成对出现的,在程序的中断嵌套、子程序调用嵌套过程中非常实用和方便。套、子程序调用嵌套过程中非常实用和方便。Nanjing University of Information Science & Technology, Computer and Software Instituten

90、特权指令是指具有特殊权限的指令。特权指令是指具有特殊权限的指令。这类指令只用于操作系统或其他系统这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用。软件,一般不直接提供给用户使用。n在多用户、多任务的计算机系统中特在多用户、多任务的计算机系统中特权指令必不可少。权指令必不可少。n它主要用于系统资源的分配和管理。它主要用于系统资源的分配和管理。8.特权指令特权指令Nanjing University of Information Science & Technology, Computer and Software Instituten除以上各类指令外,还有状态寄存器除以上各类指令外

91、,还有状态寄存器置位、复位指令、测试指令、暂停指置位、复位指令、测试指令、暂停指令,空操作指令,以及其他一些系统令,空操作指令,以及其他一些系统控制用的特殊指令。控制用的特殊指令。9.其他指令其他指令Nanjing University of Information Science & Technology, Computer and Software Institute本章小结n一台计算机中所有机器指令的集合,一台计算机中所有机器指令的集合,称为这台计算机的指令系统。称为这台计算机的指令系统。n指令系统是表征一台计算机性能的重指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影要

92、因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也影响到响到机器的硬件结构,而且也影响到系统软件。系统软件。Nanjing University of Information Science & Technology, Computer and Software Instituten指令格式是指令字用二进制代码表示指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段和地的结构形式,通常由操作码字段和地址码字段组成。操作码字段表征指令址码字段组成。操作码字段表征指令的操作特性与功能,而地址码字段指的操作特性与功能,而地址码字段指示操作数的地址。示操作数的地址。n目前多采用二地址、单

93、地址、零地址目前多采用二地址、单地址、零地址混合方式的指令格式。混合方式的指令格式。Nanjing University of Information Science & Technology, Computer and Software Instituten指令字长度分为:单字长、半字长、指令字长度分为:单字长、半字长、双字长三种形式。高档微型机中目前双字长三种形式。高档微型机中目前多采用多采用32位长度的单字长形式。位长度的单字长形式。形成形成指令地址的方式,称为指令寻址方式。指令地址的方式,称为指令寻址方式。n有顺序寻址和跳跃寻址两种,由指令有顺序寻址和跳跃寻址两种,由指令计数器来跟踪。

94、形成操作数地址的方计数器来跟踪。形成操作数地址的方式,称为数据寻址方式。式,称为数据寻址方式。Nanjing University of Information Science & Technology, Computer and Software Instituten操作数可放在专用寄存器、通用寄存操作数可放在专用寄存器、通用寄存器、内存和指令中。器、内存和指令中。n数据寻址方式有隐含寻址、立即寻址、数据寻址方式有隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基址寻寄存器间接寻址、相对寻址、基址寻址、变址寻址等多种。址、变址寻址

95、等多种。Nanjing University of Information Science & Technology, Computer and Software Instituten按操作数的物理位置不同,有按操作数的物理位置不同,有RR型和型和RS型。前者比后者执行的速度快。型。前者比后者执行的速度快。n堆栈是一种特殊的数据寻址方式,采是一种特殊的数据寻址方式,采用用“先进后出先进后出”原理。按结构不同,原理。按结构不同,分为寄存器堆栈和存储器堆栈。分为寄存器堆栈和存储器堆栈。Nanjing University of Information Science & Technology, Computer and Software Instituten不同机器有不同的指令系统。一不同机器有不同的指令系统。一个较完善的指令系统应当包含数个较完善的指令系统应当包含数据传送类指令、算术运算类指令、据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指逻辑运算类指令、程序控制类指令、令、I/O类指令、字符串类指令、类指令、字符串类指令、系统控制类指令。系统控制类指令。Nanjing University of Information Science & Technology, Computer and Software InstituteThankyou!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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