计算机组成原理(华科版)第四章指令系统

上传人:壹****1 文档编号:585016593 上传时间:2024-09-01 格式:PPT 页数:43 大小:356.31KB
返回 下载 相关 举报
计算机组成原理(华科版)第四章指令系统_第1页
第1页 / 共43页
计算机组成原理(华科版)第四章指令系统_第2页
第2页 / 共43页
计算机组成原理(华科版)第四章指令系统_第3页
第3页 / 共43页
计算机组成原理(华科版)第四章指令系统_第4页
第4页 / 共43页
计算机组成原理(华科版)第四章指令系统_第5页
第5页 / 共43页
点击查看更多>>
资源描述

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

1、 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统1第四章第四章指令系统指令系统 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统24.1 4.1 指令系统的发展与性能指令系统的发展与性能计算机的性能与它所设置的指令系统计算机的性能与它所设置的指令系统有很密切的关系,而指令系统的设置有很密切的关系,而指令系统的设置又与机器的硬件结构紧密相关。通常又与机器的硬件结构紧密相关。通常性能好的计算机都要设置指令丰富、性能好的计算机都要设置指令丰富、功能齐全、通用性强、使用方便高效功能齐全、通用性强、使用方便高效的指令系统,而这些需要复杂的硬件的指令系统,而这些需要复杂的硬件结构

2、来支持。结构来支持。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统34.1.1 4.1.1 指令系统的发展指令系统的发展 指令就是指挥计算机执行某种操作的命令。指令就是指挥计算机执行某种操作的命令。 微指令是微程序级的命令,属于硬件;微指令是微程序级的命令,属于硬件; 宏宏指指令令是是由由若若干干条条机机器器指指令令组组成成的的软软件件指指令令,属属于软件;于软件; 机机器器指指令令则则介介于于微微指指令令与与宏宏指指令令之之间间,通通常常简简称称为指令。为指令。 一一台台计计算算机机中中所所有有机机器器指指令令的的集集合合,称称为为该该计计算机的指令系统。算机的指令系统。 计

3、算机组成原理计算机组成原理 第四章第四章 指令系统指令系统4 2020世世纪纪7070年年代代末末期期,随随着着大大规规模模集集成成电电路路VLSIVLSI技技术术的的飞飞速速发发展展,硬硬件件成成本本不不断断下下降降,而而软软件件成成本本不不断断上上升升。为为增增加加计计算算机机的的功功能能,以以及及缩缩小小指指令令系系统统与与高高级级语语言言的的差差异异,以以便便于于高高级级语语言言的的编编译译,降降低低软软件件开开发发成成本本,于于是是产产生生了了以以增增加加指指令令数数和和设设计计复复杂杂指指令令为为手手段段的的计计算算机机,大大多多数数计计算算机机的的指指令令系系统统多多达达几几百百

4、条条,称称这这些些计计算算机机为为复复杂杂指指令令系系统统 计计 算算 机机 , 简简 称称 CISCCISC( Complex Complex Instruction Instruction Set Set Computer Computer )。)。 IBMIBM公公司司在在19751975年年开开始始探探讨讨指指令令系系统统的的合合理理性性问问题题,John John cockecocke提提出出了了精精简简指指令令系系统统的的想想法法。19821982年年,美美国国加加州州伯伯克克利利大大学学、斯斯坦坦福福大大学学、IBMIBM公公司司都都先先后后研研制制出出便便于于VLSIVLSI技

5、技术术实实现现的的精精简简指指令令系系统统计计算算机机,简简称称RISCRISC(Reduced Reduced Instruction Instruction Set Set ComputerComputer)。19831983年年后后,RISCRISC计计算算机机商商品品化。化。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统54.1.2 4.1.2 指令系统的性能指令系统的性能 1. 完备性完备性 完完备备性性是是指指用用汇汇编编语语言言编编写写各各种种程程序序时时,指指令令系系统统直直接接提提供供的的指指令令足足够够使使用用,而而不不必必用用软软件件来来实实现现。完完备备

6、性性要要求求指指令令系系统统丰丰富、功能齐全、使用方便高效。富、功能齐全、使用方便高效。2. 高效性高效性 高高效效性性是是指指利利用用该该指指令令系系统统所所编编写写的的程程序序能能够够高高效效率率地地运运行行。高效率主要表现在程序占据存储空间小,执行速度快。高效率主要表现在程序占据存储空间小,执行速度快。3. 规整性规整性 规规整整性性包包括括指指令令系系统统的的对对称称性性、匀匀齐齐性性、指指令令格格式式和和数数据据格格式的一致性。式的一致性。 4. 兼容性兼容性 系系列列机机各各机机种种之之间间具具有有相相同同的的基基本本结结构构和和共共同同的的基基本本指指令令集集,因而,指令系统是兼

7、容的,即各机种上基本软件可以通用。因而,指令系统是兼容的,即各机种上基本软件可以通用。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统64.1.3 4.1.3 计算机语言与硬件结构的关系计算机语言与硬件结构的关系 一一台台计计算算机机能能够够直直接接识识别别并并执执行行的的语语言言并并不不是是高高级级语语言言,而而是是一一种种用用二二进进制制码码表表示示的的、由由一一系系列列指指令令组组成成的的机机器器语语言言。因因此此,任任何何问问题题不不管管使使用用那那一一种种计计算算机机语语言言(汇汇编编语语言言或或某某种种高高级级语语言言)描描述述,都都必必须须通通过过翻翻译译程程序序转

8、转换换成成相相应应的的机机器器语语言言后后才能执行。才能执行。 机机器器语语言言存存在在着着可可读读性性差差、不不易易编编程程、不不易易维维护护等等许许多多缺缺陷陷,这这就就给给编编写写程程序序带带来来许许多多困困难难。但但是是,可可以以用用预预先先规规定定的的符符号号来来分分别别替替代代用用二二进进制制码码表表示示的的操操作作码码、操操作作数数或或地地址址,这这种种用用助助记记符符来来表表示示二二进进制制码码指指令令序序列列的的语语言言,称称为为汇汇编编语语言言(Assembly Language),它基本上是与机器语言一一对应的。它基本上是与机器语言一一对应的。 计算机组成原理计算机组成原

9、理 第四章第四章 指令系统指令系统7 指指令令格格式式就就是是用用二二进进制制代代码码表表示示的的一一条条指指令令的的结结构构形形式式,通通常常由由操操作作码码和和地地址址码码两两种种字字段段组组成成。操操作作码码字字段段表表征征指指令令操操作作的的性性质质和和功功能能,地地址址码码字字段段通通常常指指定定参参与与操操作作的的操操作作数数的地址。一条指令的指令格式形式为:的地址。一条指令的指令格式形式为: 计计算算机机指指令令格格式式的的设设定定一一般般与与机机器器的的字字长长、存存储储器器的的容容量以及指令的功能有关。量以及指令的功能有关。4 42 2 指令格式指令格式操作码字段操作码字段地

10、址码字段地址码字段 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统84.2.1 4.2.1 指令操作码与地址码指令操作码与地址码1. 操作码操作码2. .地址码地址码 指指令令中中参参加加运运算算的的操操作作数数既既可可存存放放在在主主存存储储器器中中,也也可可存存放放在在寄寄存存器器中中,地地址址码码应应该该指指出出该该操操作作数数所所在在的的存存储储器地址或寄存器地址。器地址或寄存器地址。 根根据据指指令令的的操操作作数数地地址址码码的的数数目目的的不不同同,可可将将指指令令分分成成零零地地址址指指令令、一一地地址址指指令令、二二地地址址指指令令、三三地地址址指指令令和和多地

11、址指令等多种格式。多地址指令等多种格式。操作码指出该指令应该执行什么性质的操作和具有何种功操作码指出该指令应该执行什么性质的操作和具有何种功能。不同的指令用操作码字段的不同编码来表示,每一种能。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。编码代表一种指令。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统9(1) 三地址指令格式三地址指令格式 其格式为其格式为 OPCODE操作码,操作码, A1第一个源操作数存储器地址或寄存器地址,第一个源操作数存储器地址或寄存器地址, A2第二个源操作数存储器地址或寄存器地址,第二个源操作数存储器地址或寄存器地址, A3操作结

12、果的存储器地址或寄存器地址。操作结果的存储器地址或寄存器地址。其数学形式描述为:其数学形式描述为:(A1) OP (A2)A3 OPCODEA1A2A3 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统10(2) 二地址指令格式二地址指令格式 其格式为其格式为 OPCODE操作码,操作码, A1第一个源操作数存储器地址或寄存器地址,第一个源操作数存储器地址或寄存器地址, A2第第二二个个源源操操作作数数和和存存放放操操作作结结果果的的存存储储器器地地址址或或寄存器地址。寄存器地址。 其数学形式描述为:其数学形式描述为: (A1) OP (A2)A1 或者或者 (A1) OP (A2

13、)A2 OPCODE A1 A2 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统11(3) 一地址指令格一地址指令格式式 其格式为其格式为 OPCODE操作码,操作码, A操作数的存储器地址或寄存器地址。操作数的存储器地址或寄存器地址。 其数学形式描述为:其数学形式描述为: OP (A)A 或者或者 (AC) OP (A)AC OPCODE A 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统12(4) 零地址指令格式零地址指令格式其格式为其格式为 OPCODE操作码。操作码。(5) 多地址指令格式多地址指令格式 性性能能较较好好的的大大、中中型型计计算算机机甚甚至至

14、高高档档小小型型计计算算机机中中,往往往往设设置置一一些些功功能能很很强强的的,用用于于处处理理成成批批数数据据的的指指令令,例例如如,字字符符串串处处理理指指令令,向向量量、矩矩阵阵运运算算等等指指令令。为为了了描描述述一一批批数数据据,指指令令中中往往往往需需要要用用多多个个地地址址来来指指出出数数据据存存放放的的首首地地址址、长长度度和和下下标标等等信信息息。例例如如 CDC STAR100矩矩阵阵运运算算指指令令,就就有有七七个个地地址址码码段段,用用来来指指明明两两个个矩矩阵阵的的存存储储情况以及结果的存放情况。情况以及结果的存放情况。OPCODE 计算机组成原理计算机组成原理 第四

15、章第四章 指令系统指令系统13 从从存存放放操操作作数数的的物物理理位位置置来来划划分分,指指令令格格式式主主要要有有三三种类型。种类型。第第一一种种为为存存储储器器存存储储器器(SS)型型指指令令,即即参参与与操操作作的的数数据据都放在内存里。都放在内存里。第第二二种种为为寄寄存存器器寄寄存存器器(RR)型型指指令令,执执行行这这类类指指令令过过程程中中,需需要要多多个个通通用用寄寄存存器器或或专专用用寄寄存存器器,从从寄寄存存器器中中取取操操作数,把操作结果存放到另一寄存器中。作数,把操作结果存放到另一寄存器中。第第三三种种为为寄寄存存器器存存储储器器(RS)型型指指令令,执执行行此此类类

16、指指令令时时,既要访问内存单元,又要访问寄存器。既要访问内存单元,又要访问寄存器。目目前前在在计计算算机机系系统统结结构构中中,通通常常一一个个指指令令系系统统中中指指令令字字的的长长度度和和指指令令中中的的地地址址结结构构并并不不是是单单一一的的,往往往往采采用用多多种种格格式混合使用,这样可以增强指令的功能。式混合使用,这样可以增强指令的功能。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统144.2.2 指令字长度与扩展方法指令字长度与扩展方法1. 指令字长度指令字长度 指指令令字字中中二二进进制制代代码码的的位位数数,称称为为指指令令字字长长度度。如如上上所所述述,指指令

17、令格格式式的的设设定定一一般般与与机机器器的的字字长长、存存储储器器的的容容量量以以及及指指令令的的功功能能有有关关。机机器器字字长长是是指指计计算算机机能能够够直直接接处处理理的的二进制数据的位数,是计算机的一个重要技术指标。二进制数据的位数,是计算机的一个重要技术指标。 指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机器字长度的指令,称为半字长指令;指令字长度等于半个机器字长度的指令,称为半字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令;余下以此类推。例如余

18、下以此类推。例如IBM 370系列的指令格式有系列的指令格式有16b(半字半字)的,有的,有32b(单字单字)的,还有的,还有48b(一个半字一个半字)的。的。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统152. 2. 指令操作码扩展方法指令操作码扩展方法 指令操作码通常有两种编码格式,一种是固定格式,即指令操作码通常有两种编码格式,一种是固定格式,即操作码的长度固定,且集中放在指令字的一个字段中。这种操作码的长度固定,且集中放在指令字的一个字段中。这种格式可以简化硬件设计,减少指令译码时间,一般用在字长格式可以简化硬件设计,减少指令译码时间,一般用在字长较长的大、中型机和超

19、级小型机以及较长的大、中型机和超级小型机以及 RISC机上,如机上,如IBM 370和和VAX 11系列机,其操作码长度均为系列机,其操作码长度均为8b,可表示可表示256种指令。种指令。另一种是可变格式,即操作码的长度可变,且分散地放在指另一种是可变格式,即操作码的长度可变,且分散地放在指令字的不同字段中。这种格式能够有效地压缩程序中操作码令字的不同字段中。这种格式能够有效地压缩程序中操作码的平均长度,在字长较短的微型机上广泛采用。如的平均长度,在字长较短的微型机上广泛采用。如 Z80、Intel 8086等,操作码的长度都是可变的。等,操作码的长度都是可变的。 计算机组成原理计算机组成原理

20、 第四章第四章 指令系统指令系统16例例如如,某某机机器器的的指指令令字字长长度度为为16b,包包括括4b基基本本操操作作码码字字段段和三个和三个4b地址字段,其指令格式为:地址字段,其指令格式为: 15 12 11 8 7 4 3 0 4b基基本本操操作作码码有有16种种组组合合,若若全全部部用用于于表表示示三三地地址址指指令令,则则只只有有16条条。但但是是,如如果果三三地地址址指指令令仅仅需需15条条,两两地地址址指指令令需需15条条,一一地地址址指指令令需需15条条,零零地地址址指指令令需需16条条,共共61条条指指令令,应应该该如如何何安安排排操操作作码码?显显然然,只只有有4b基基

21、本本操操作作码码是是不不够够的的,必必须须将将操操作作码码的的长长度度向向地地址址码码字字段段扩扩展展才才行行。这这可可采采用用如下操作码扩展方法:如下操作码扩展方法: (1) 三三地地址址指指令令仅仅需需15条条,由由4b基基本本操操作作码码的的00001110组组合合给给出出,剩剩下下的的一一个个组组合合1111用用于于把把操操作作码码长长度度扩扩展展到到 A1,即,即4b扩展到扩展到8b; OPCODE A1 A2 A3 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统17 (2) 二地址指令需二地址指令需15条,由条,由8b操作码的操作码的1111000011111110组

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

23、指令、二地址指采用上述指令操作码扩展方法后,三地址指令、二地址指令和一地址指令各令和一地址指令各15条,零地址指令条,零地址指令16条,共计条,共计61条指令。条指令。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统184.2.3 指令格式举例指令格式举例1. 1. 微型计算机微型计算机Intel 8086/8088Intel 8086/8088指令格式指令格式 Intel 8086是是Intel公公司司于于1978年年推推出出的的16b的的微微型型计计算算机机,字字长长16b。Intel 8088是是在在8086基基础础之之上上推推出出的的扩扩展展型型准准16b微微型型机机,字

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

25、IBM 370XA(eXtended Architecture),首首次次在在3080系系列列上上实实现现,后后来来又又有有扩扩充充结结构构ESA370,于于1986年年推推出出3090系系列列。 ESA370增增加加了了指指令令格格式式,称称为为扩扩充充格格式式,有有16b操操作作码码,包包括了向量运算与括了向量运算与128b长度的浮点运算指令。长度的浮点运算指令。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统193. SPARC3. SPARC计算机的指令格式计算机的指令格式 SPARC是是Sun Microsystem公公司司于于1987年年推推出出的的精精简简指指令令系

26、系统统计计算算机机(RISC),字字长长32b。SPARC共共有有三三种种指指令格式,格式令格式,格式1、格式、格式2和格式和格式3,如图所示:,如图所示:Sun Microsystem RISC SPARC指令格式指令格式 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统2043 寻址方式寻址方式 当某个操作数或某条指令存放在某个存储单元时,其当某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地存储单元的编号,就是该操作数或指令在存储器中的地址。寻找并确定本条指令的数据(操作数)地址及下一址。寻找并确定本条指令的数据(操作数)地址及下一条

27、要执行的指令地址的方法,称为寻址方式。条要执行的指令地址的方法,称为寻址方式。 寻址方式分为两大类:指令寻址方式和操作数寻址方寻址方式分为两大类:指令寻址方式和操作数寻址方式。在主存中,指令寻址方式与操作数寻址方式交替进式。在主存中,指令寻址方式与操作数寻址方式交替进行,前者比较简单,后者比较复杂。行,前者比较简单,后者比较复杂。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统214.3.1 指令的寻址方式指令的寻址方式 所谓指令寻址方式,就是确定下一条将要执行的指令所谓指令寻址方式,就是确定下一条将要执行的指令地址的方法。指令寻址有两种基本方式:顺序寻址方式和地址的方法。指令寻

28、址有两种基本方式:顺序寻址方式和跳跃寻址方式。跳跃寻址方式。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统221. 1. 顺序寻址方式顺序寻址方式 指指令令在在内内存存中中是是按按地地址址顺顺序序安安排排的的,执执行行程程序序时时,通通常常是是一一条条指指令令接接一一条条指指令令顺顺序序进进行行。即即从从存存储储器器取取出出第第一一条条指指令令,然然后后执执行行第第一一条条指指令令;接接着着从从存存储储器器取取出出第第二二条条指指令令,再再执执行行第第二二条条指指令令;接接着着再再取取出出第第三三条条指指令令,执执行行第第三三条条指指令令这这种种程程序序按按指指令令地地址址顺顺

29、序序执执行行的的过过程程,称称为为指令的顺序寻址方式。指令的顺序寻址方式。指令的顺序寻址方式指令的顺序寻址方式 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统232. 2. 跳跃寻址方式跳跃寻址方式 当当程程序序要要转转移移执执行行的的顺顺序序时时,指指令令的的寻寻址址就就采采取取跳跳跃跃寻寻址址方方式式。所所谓谓跳跳跃跃,又又称称跳跳转转,是是指指下下一一条条指指令令的的地地址址并并不不是是由由程程序序计计数数器器PC给给出出,而而是是由由本本条条指指令令给给出出的的。图图4.4 (b)所所示示的的是是指指令令跳跳跃跃寻寻址址方方式式的的示示意意图图。注注意意,程程序序跳跳跃跃

30、后后,按按新新的的指指令令地地址址开开始始顺顺序序执执行行。因因此,指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。此,指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。指令的跳跃寻址方式指令的跳跃寻址方式 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统244.3.2 操作数的寻址方式操作数的寻址方式 所所谓谓操操作作数数寻寻址址方方式式,就就是是形形成成操操作作数数的的有有效效地地址址(EA)的的方方法法。指指令令字字中中的的地地址址码码字字段段,通通常常是是由由形形式式地地址址和和寻寻址址方方式式特特征征位位组组成成的的,并并不不是是操操作作数数的的有有效效

31、地地址址。其其表表示形式为:示形式为: 形形式式地地址址,是是指指令令字字结结构构中中给给定定的的地地址址量量。而而寻寻址址方方式式特特征征位位,通通常常由由间间址址位位(I)和和变变址址位位(X)组组成成,若若指指令令无无间间址址和和变变址址要要求求,则则形形式式地地址址就就是是操操作作数数的的有有效效地地址址;若若指指令令中中指指明明要要进进行行变变址址或或间间址址变变换换,则则形形式式地地址址就就不不是是操操作作数数的的有有效效地址,而必须按指定方式进行变换,才能形成有效地址。地址,而必须按指定方式进行变换,才能形成有效地址。 OPCODE寻址方式特征MOD 形式地址A 计算机组成原理计

32、算机组成原理 第四章第四章 指令系统指令系统251. 1. 隐含寻址方式隐含寻址方式 指指令令字字中中并并不不明明显显指指出出操操作作数数地地址址,而而是是将将操操作作数数的的地址隐含在指令中。地址隐含在指令中。2. 2. 立即寻址方式立即寻址方式 指指令令字字中中的的地地址址字字段段指指出出的的不不是是操操作作数数的的地地址址,而而是是操作数本身。操作数本身。 立即寻址方式表示形式为:立即寻址方式表示形式为: OPCODE 立即寻址方式立即寻址方式 操作数操作数Data3. 3. 寄存器寻址方式寄存器寻址方式 当当操操作作数数不不放放在在存存储储器器中中,而而是是放放在在中中央央处处理理器器

33、的的通通用用寄寄存存器器中中时时,存存放放操操作作数数的的寄寄存存器器,其其地地址址编编号号便便可可通通过过指指令令地地址址码码指指出出。这这种种所所需需要要的的操操作作数数存存放放在在某某一一通通用用寄寄存存器器中中,由由指指令令地地址址码码的的部部分分字字段段给给出出该该通通用用寄寄存器地址的方式,称为寄存器寻址方式。存器地址的方式,称为寄存器寻址方式。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统264. 4. 直接寻址方式直接寻址方式 指指令令地地址址码码字字段段直直接接给给出出操操作作数数的的有有效效地地址址,由由于于操操作作数数的的有有效效地地址址已已由由指指令令地

34、地址址码码直直接接给给出出而而不不需需要要经经过过某某种变换或运算,所以称这种方式为直接寻址方式。种变换或运算,所以称这种方式为直接寻址方式。 直接寻址方式表示形式为:直接寻址方式表示形式为: 直直接接寻寻址址方方式式又又可可分分为为寄寄存存器器直直接接寻寻址址和和存存储储器器直直接接寻寻址两种。址两种。OPCODE直接寻址方式直接寻址方式操作数直接地址操作数直接地址A 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统27 (1)寄存器直接寻址方式)寄存器直接寻址方式指指令令地地址址码码字字段段直直接接给给出出所所需需操操作作数数在在通通用用寄寄存存器器中中地址编号。其表示形式为:

35、地址编号。其表示形式为: OPCODE 寄存器直接寻址寄存器直接寻址 寄存器地址编号寄存器地址编号Ri有效地址有效地址EA数学形式为:数学形式为:EARi(2 2)存储器直接存储器直接寻址方式寻址方式一一般般简简称称直直接接寻寻址址方方式式,其其指指令令地地址址码码字字段段直直接接给给出出存放在存储器中操作数的存储地址。其表示形式为:存放在存储器中操作数的存储地址。其表示形式为: 存储器存储器 OP MOD A A Data 有效地址有效地址EA数学数学形式为:形式为:EAA 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统285 5间接寻址方式间接寻址方式 间接寻址是相对于直接寻

36、址而言的。间接寻址时,指令地间接寻址是相对于直接寻址而言的。间接寻址时,指令地址码字段给出的不是操作数的真正地址,而是存放操作数地址址码字段给出的不是操作数的真正地址,而是存放操作数地址的地址,换句话说就是形式地址的地址,换句话说就是形式地址A所指定单元中的内容才是操所指定单元中的内容才是操作数的有效地址。这种操作数有效地址由指令地址码所指示的作数的有效地址。这种操作数有效地址由指令地址码所指示的单元内容间接给出的方式,称为间接寻址方式,简称间址。单元内容间接给出的方式,称为间接寻址方式,简称间址。 按按寻寻址址特特征征间间址址位位X的的要要求求,根根据据地地址址码码指指的的是是寄寄存存器器地

37、地址址还还是是存存储储器器地地址址,间间接接寻寻址址又又可可分分为为寄寄存存器器间间接接寻寻址址和和存存储储器器间接寻址两种方式。间接寻址两种方式。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统29(1)寄存器间接寻址方式)寄存器间接寻址方式 寄寄存存器器间间接接寻寻址址时时,需需先先访访问问寄寄存存器器,从从寄寄存存器器读读出出操操作作数数地址后,再访问存储器才能取得操作数。地址后,再访问存储器才能取得操作数。 有效地址有效地址EA数学形式为:数学形式为:EA(R),即,即Data(EA)(R)寄存器间接寻址方式示意图寄存器间接寻址方式示意图 计算机组成原理计算机组成原理 第

38、四章第四章 指令系统指令系统30(2 2)存储器间接寻)存储器间接寻址方式址方式 存存储储器器间间接接寻寻址址时时,需需访访问问两两次次存存储储器器才才能能取取得得数数据据,第第一一次次先先从从存存储储器器读读出出操操作作数数地地址址,第第二二次次才才能能根根据据读读出出的的操操作作数地址再取出真正的操作数。数地址再取出真正的操作数。有效地址有效地址EA数学形式为:数学形式为:EA(A),即,即Data(EA)(A)存储器存储器间接寻址方式示意图间接寻址方式示意图 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统316. 6. 相对寻址方式相对寻址方式 所所谓谓相相对对寻寻址址方方

39、式式,是是指指根根据据一一个个基基准准地地址址及及其其相相对对量量来来寻寻找找操操作作数数地地址址的的方方式式。根根据据基基准准地地址址的的来来源源不不同同,它它又又分分为为基基址址方方式式和和变变址址方方式式,以以及及PC相对寻址方式,这里主要指后者。相对寻址方式,这里主要指后者。 PC相相对对寻寻址址方方式式,一一般般简简称称相相对对寻寻址址方方式式,是是指指将将程程序序计计数数器器 PC的的内内容容(即即当当前前执执行行指指令令的的地地址址)与与地地址址码码部部分分给给出出的的位位移移量量(Disp) 通通过过加加法法器器相加,所得之和作为操作数的有效地址的方式。相加,所得之和作为操作数

40、的有效地址的方式。相对寻址方式示意图相对寻址方式示意图有效地址有效地址EA数学形式为:数学形式为:EA(PC) + Disp 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统327. 7. 基址寻址方式基址寻址方式 计计算算机机设设置置一一个个寄寄存存器器,专专门门用用来来存存放放基基准准地地址址,该该寄寄存存器器就就是是基基址址寄寄存存器器(RB)。RB既既可可在在CPU中中专专设设,也也可可由由指指令令指指定定某某个个通通用用寄寄存存器器担担任任。指指令令地地址址码码给给出出的的地地址址A和和基基址址寄寄存存器器RB的的内内容容通通过过加加法法器器相相加加,所所得得的的和和作作

41、为为有有效效地地址址,再再从从存存储储器器中中读读出出所所需需的的操操作作数数。这这种种操操作作数数的的有有效效地地址址由由基基址址寄寄存存器器中中的的基基准准地地址址和和指指令令的的地地址址码码A相相加加得得到到的的方方式式称称为为基址寻址方式。地址码基址寻址方式。地址码 A在这种方式下通常被称为位移量在这种方式下通常被称为位移量(Disp)。有效地址有效地址EA数学形式为:数学形式为:EA(RB) + Disp 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统33有效地址有效地址EA数学形式为:数学形式为:EA(RI) +Disp8. 8. 变址寻址方式变址寻址方式 变变址址寻

42、寻址址方方式式在在有有效效地地址址的的求求法法上上与与基基址址寻寻址址方方式式类类似似,即即把把某某个个变变址址寄寄存存器器的的内内容容,加加上上指指令令格格式式中中的的形形式式地地址址而而形形成成操操作作数数的的有有效效地地址址,如如图图 (b)所所示示,其其中中XRI指指出出变变址址寻寻址方式的特征。址方式的特征。变址寻址方式变址寻址方式 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统349. 9. 堆栈寻址方式堆栈寻址方式 堆堆栈栈对对数数据据的的存存取取方方式式和和寻寻址址方方法法与与一一般般存存储储器器有有所所不不同同,一一般般存存储储器器是是按按指指定定的的地地址址随

43、随机机读读/写写数数据据;而而堆堆栈栈中中数数据据的的读读出出和和写写入入是是遵遵照照一一定定的的规规律律,按按先先进进后后出出原原则存取的。下面以主存堆栈为例,说明堆栈寻址过程。则存取的。下面以主存堆栈为例,说明堆栈寻址过程。堆栈寻址方式堆栈寻址方式 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统3510. 10. 复合型寻址方式复合型寻址方式 (1) 相对间接寻址相对间接寻址 这这种种寻寻址址方方式式先先把把程程序序计计数数器器PC的的内内容容和和形形式式地地址址(通通常常为为位位移移量量)Disp相相加加得得(PC) + Disp,然然后后再再间间接接寻寻址址求求得得操操作

44、数的有效地址,即先相对寻址再间接寻址。作数的有效地址,即先相对寻址再间接寻址。 操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA( (PC) + Disp) (2) 间接相对寻址间接相对寻址 这这种种寻寻址址方方式式先先将将形形式式地地址址Disp作作间间接接变变换换( Disp ),然然后后将将间间接接变变换换值值和和程程序序计计数数器器PC的的内内容容相相加加得得到到操操作作数数的的有有效效地址,即先间接寻址再相对寻址。地址,即先间接寻址再相对寻址。 操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA(PC) + ( Disp) 计算机组成原理计算机组成原理

45、第四章第四章 指令系统指令系统36 (3) 变址间接寻址变址间接寻址 这种寻址方式先把变址寄存器这种寻址方式先把变址寄存器RI的内容和形式地址的内容和形式地址Disp相加得相加得(RI) + Disp,然后再间接寻址求得操作数的然后再间接寻址求得操作数的有效地址,即先变址再间址。有效地址,即先变址再间址。 操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA( (RI) + Disp) (4) 间接变址寻址间接变址寻址 这种寻址方式先将形式地址这种寻址方式先将形式地址Disp作间接变换作间接变换( Disp ),然后将间接变换值和变址寄存器然后将间接变换值和变址寄存器RI的内容相加

46、得到操作的内容相加得到操作数的有效地址,即先间址再变址。数的有效地址,即先间址再变址。 操作数的有效地址操作数的有效地址EA数学形式为:数学形式为:EA(RI) + ( Disp) 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统3744 指令系统的要求与指令分类指令系统的要求与指令分类4.4.1 指令系统的要求指令系统的要求4.4.2 指令的分类指令的分类 1.数据传送指令数据传送指令 这这类类指指令令用用以以实实现现寄寄存存器器与与寄寄存存器器,寄寄存存器器与与主主存存储储器器,主主存存储储器器与与主主存存储储器器之之间间的的数数据据传传送送,主主要要包包括括取取数数指指令令、

47、存存数数指指令令、传传送送指指令令、成成批批传传送送指指令令、字字节节交交换换指指令令、清清累累加器指令等。加器指令等。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统382.算术逻辑运算指令算术逻辑运算指令 (1) 算术运算指令算术运算指令 这类指令用以实现二进制或十进制的定点算术运算这类指令用以实现二进制或十进制的定点算术运算和浮点运算功能。和浮点运算功能。 (2) 逻辑运算指令逻辑运算指令 这类指令用以实现对两个数的逻辑运算和位操作功这类指令用以实现对两个数的逻辑运算和位操作功能,主要包括逻辑与(逻辑乘)、或(逻辑加)、非能,主要包括逻辑与(逻辑乘)、或(逻辑加)、非(求反

48、)、异或(按位加)等逻辑操作指令,以及位(求反)、异或(按位加)等逻辑操作指令,以及位测试、位清除、位求反等位操作指令。测试、位清除、位求反等位操作指令。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统39 3.移位操作指令移位操作指令 移移位位操操作作指指令令用用以以实实现现将将操操作作数数向向左左移移动动或或向向右右移移动动若若干干位位的的功功能能,包包括括算算术术移移位位、逻逻辑辑移移位位和和循循环环移移位位三三种种指指令令。左左移移时时,若若寄寄存存器器中中的的数数为为算算术术操操作作数数,则则符符号号位位不不动动,其其它它位位左左移移,最最低低位位补补零零。右右移移时时

49、,其其它它位位右右移移,最最高高位位补补符符号号位位,这这种种移移位位称称作作算算术术移移位位。移移位位时时,若若寄寄存存器器中中的的操操作作数数为为逻逻辑辑数数,则则左左移移或或右右移移时时,所所有有位位一一起起移移位位,最最低低位位或或最最高高位位补补零零,这这种种移移位位称称作作逻逻辑辑移移位位。循循环环移移位位按按是是否否与与“进进位位”位位C一一起起循循环环分分为为小小循循环环(即即自自身身循循环环)和和大大循循环环(即即和和进进位位位位 C一一起起循循环环)两两种种,用用于于实实现现循循环环式式控控制制、高高低低字字节节互互换换或或与与算算术、逻辑移位指令一起实现双倍字长或多倍字长

50、的移位。术、逻辑移位指令一起实现双倍字长或多倍字长的移位。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统404.4.转移控制指令转移控制指令(1 1) 无条件转移指令与条件转移指令无条件转移指令与条件转移指令 无无条条件件转转移移指指令令不不受受任任何何条条件件限限制制,直直接接把把程程序序转转移移到到指指令所规定的目的地,从那里开始继续执行程序。令所规定的目的地,从那里开始继续执行程序。 条条件件转转移移指指令令则则根根据据计计算算机机处处理理结结果果来来控控制制程程序序的的执执行行方方向向,实实现现程程序序的的分分支支。首首先先测测试试根根据据处处理理结结果果设设置置的的条

51、条件件码码,然后判断所测试的条件是否满足,从而决定是否转移。然后判断所测试的条件是否满足,从而决定是否转移。(2 2) 调用指令与返回指令调用指令与返回指令 编编写写程程序序时时,常常常常需需要要编编写写一一些些能能够够独独立立完完成成某某一一特特定定功功能能且且经经常常使使用用的的程程序序段段,在在需需要要时时能能随随时时调调用用,而而不不必必多多次次重重复复编编写写,以以便便节节省省存存储储器器空空间间和和简简化化程程序序设设计计。这这种种程程序序段就称为子程序或过程。段就称为子程序或过程。 调调用用(Call)与与返返回回(Return)是是一一对对配配合合使使用用的的指指令令,返返回回

52、指指令令从从堆堆栈栈中中取取出出返返回回地地址址,然然后后继继续续执执行行调调用用指指令令的的下下一一条指令。条指令。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统41(3 3) 陷阱陷阱(Trap)与陷阱指令与陷阱指令 在在计计算算机机运运行行过过程程中中,有有时时可可能能会会出出现现电电源源电电压压不不稳稳、存存储储器器校校验验出出错错、输输入入输输出出设设备备出出现现故故障障、用用户户使使用用了了未未定定义义的的指指令令或或特特权权指指令令等等种种种种意意外外情情况况,使使计计算算机机不不能能正正常常工工作作,这这时时若若不不及及时时采采取取措措施施处处理理这这些些故故障

53、障,将将影影响响到到整整个个系系统统的的正正常常运运行行。因因此此,一一旦旦出出现现故故障障,计计算算机机就就发发出出陷陷阱阱信信号号,并并暂暂停停当当前前程程序序的的执执行行(称称为为中中断断),转转入入故故障障处处理理程程序序进进行行相相应应的的故故障障处处理理。陷陷阱阱实实际际上上是是一一种种意意外外事故中断。事故中断。5.输入输入/输出(输出(I/O)指令指令 输输入入/输输出出指指令令主主要要用用来来启启动动外外围围设设备备,检检查查测测试试外外围围设设备备的的工工作作状状态态,并并实实现现外外部部设设备备和和CPU之之间间,或或外外围围设设备备与外围设备之间的信息传送。与外围设备之

54、间的信息传送。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统42 6.字符串处理指令字符串处理指令 字字符符串串处处理理指指令令就就是是一一种种非非数数值值处处理理指指令令,主主要要用用于于信信息息管管理理、数数据据处处理理、办办公公室室自自动动化化等等领领域域中中,在在文文字字编编辑辑和排版时对大量的字符串进行各种处理。和排版时对大量的字符串进行各种处理。7.堆栈操作指令堆栈操作指令 堆堆栈栈操操作作指指令令通通常常有有两两条条:一一条条是是入入栈栈指指令令,另另一一条条是是出出栈栈指指令令。入入栈栈指指令令(PUSH)执执行行两两个个动动作作:将将数数据据从从CPU取取出出

55、并并压压入入堆堆栈栈栈栈顶顶;修修改改堆堆栈栈指指示示器器。出出栈栈指指令令(POP)也也执执行行两两个个动动作作:修修改改堆堆栈栈指指示示器器;从从栈栈顶顶取取出出数数据据到到CPU。这这两两条条指指令令总总是是成成对对出出现现的的,在在程程序序的中断嵌套、子程序调用嵌套过程中非常实用和方便。的中断嵌套、子程序调用嵌套过程中非常实用和方便。 计算机组成原理计算机组成原理 第四章第四章 指令系统指令系统438.特权指令特权指令 在在多多用用户户、多多任任务务的的计计算算机机系系统统中中特特权权指指令令必必不不可可少少,它它主主要要用用于于系系统统资资源源的的分分配配和和管管理理,包包括括改改变变系系统统工工作作方方式式,检检测测用用户户的的访访问问权权限限,修修改改虚虚拟拟存存储储器器管管理理的的段段表、页表,完成任务的创建和切换等。表、页表,完成任务的创建和切换等。9.其他指令其他指令 除除上上述述各各类类指指令令外外,还还有有多多处处理理器器指指令令,向向量量指指令令,状状态态寄寄存存器器置置位位、空空操操作作、复复位位指指令令、测测试试指指令令、停停机机指指令等控制指令,以及其他一些特殊控制指令。令等控制指令,以及其他一些特殊控制指令。

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

最新文档


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

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