《计算机原理》课件第5章.ppt

上传人(卖家):momomo 文档编号:7945012 上传时间:2024-09-07 格式:PPT 页数:91 大小:745KB
下载 相关 举报
《计算机原理》课件第5章.ppt_第1页
第1页 / 共91页
《计算机原理》课件第5章.ppt_第2页
第2页 / 共91页
《计算机原理》课件第5章.ppt_第3页
第3页 / 共91页
《计算机原理》课件第5章.ppt_第4页
第4页 / 共91页
《计算机原理》课件第5章.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、第5章 指 令 系 统第第5章章 指指 令令 系系 统统5.1 指令系统与性能5.2 机器指令5.3 操作码的编码方法5.4 地址码的寻址方式5.5 典型的指令系统关联习题 第5章 指 令 系 统5.1 指令系统与性能指令系统与性能5.1.1 指令与指令系统指令与指令系统指令是指示计算机去执行某种操作的命令。如果命令是二进制代码形式,则相应的指令为机器指令,机器指令是计算机能直接识别并执行的指令,而用任何其他形式的指令或语言所编写的程序必须通过“翻译”或“编译”,编译成机器语言程序,才能在计算机中运行。指令系统则是指计算机所有机器指令的集合,也称指令集(Instruction Set)。它是面

2、向机器的,不同的计算机具有不同的指令系统,反过来讲,不同的指令系统决定了计算机不同的性能和功能。第5章 指 令 系 统随着计算机的发展和应用领域的不断扩大,指令系统越来越丰富,机器指令的数量成倍增长,多达成百上千条,如此庞大的指令系统我们称之为复杂指令系统(CIS),具有复杂指令系统的计算机称为复杂指令系统计算机(CISC)。CISC就是采用复杂的指令系统,来达到增强计算机的功能、提高速度的目的。经过对CISC指令使用频率的测试分析,发现只有占指令系统20%的指令是常用的,剩余80%的指令在程序中出现的概率大约为20%。测试结果表明:花费巨大代价所增加的复杂指令只有20%左右的使用率,这将造成

3、计算机硬件资源的巨大浪费。第5章 指 令 系 统为此,人们开始考虑能否用最常用的20%左右的简单指令来组合实现不常用的80%的指令,于是,出现了精简指令系统(RIS)和精简指令系统计算机(RISC)。精简指令系统(RIS)是对复杂指令系统(CIS)进行简化和优化,使机器结构简化的同时,有效地提高机器的性能、速度和性能价格比。第5章 指 令 系 统5.1.2 指令系统的性能指令系统的性能指令系统的性能将决定计算机的基本功能,因此,指令系统的设计是计算机系统设计的一个核心问题,它不仅与计算机的硬件紧密相关,还直接影响到用户的使用。一个完善的指令系统应满足以下几个方面的要求:(1)完备性:要求机器的

4、指令系统丰富,且功能齐全。(2)有效性:是指用指令系统中的指令所编写的程序能被高效率地运行。高效率表现在程序所占存储空间小、执行速度快。第5章 指 令 系 统(3)规整性:包括指令系统的对称性、均匀性、一致性。对称性是指寄存器与存储器的对称,能对寄存器操作的指令同样能对存储器操作。均匀性是指各种数据类型适用于一种操作性质的指令。一致性是指指令长度和数据长度通常是字节的整数倍。(4)兼容性:是指“向上兼容”,即抵挡机上运行的软件可以在高档机上运行。(5)可扩展性:是指保留一定余量的操作码空间,便于扩展指令使用。第5章 指 令 系 统5.2 机机 器器 指指 令令5.2.1 机器指令的格式机器指令

5、的格式根据指令的概念,一条机器指令形式上是一串二进制代码,我们通常把表示机器指令的这一串二进制代码称为指令字。作为一个指令字,不仅要表示出指令所进行的某种具体操作,还要表示出指令对谁操作以及操作结果的去向,即指令的操作对象。因此,任何一条机器指令都由两部分组成:一部分是操作码,另一部分是地址码。其格式为第5章 指 令 系 统操作码OP:是指令所进行的具体操作的编码。不同的指令相应的操作和功能不同,则需要用不同的操作码来表示。因此,操作码的长度与机器所能执行操作的多少有关。地址码A:是指令操作对象的地址编码。它是一个广义的概念,它不仅可以是操作对象的存储地址,还可以是操作对象本身。因此,地址码的

6、长度与存储器的容量、寄存器的多少、机器的字长有关。第5章 指 令 系 统5.2.2 指令字的长度指令字的长度指令字的长度是指一个指令字所包含的二进制代码的位数。结合机器指令的格式,指令字的长度取决于操作码的长度、地址码的长度和地址码的个数,因此,影响指令字长度的因素有多种,不同指令系统的指令长度各不相同,同一个指令系统的不同指令其长度也不尽相同,但为了便于存储,指令字的长度与机器字长之间具有一定的匹配关系,通常指令长度设计为字节的整数倍。第5章 指 令 系 统例如8086/8088CPU的指令系统,最短的指令长度为1个字节,最长的指令长度为6个字节;再如奔腾系列机的指令系统,最短的指令长度为1

7、个字节,最长的指令长度为12个字节。由于指令的长度不尽相同,我们不仅可以将指令按其长度进行分类,还可以将指令系统进行分类。如果指令的长度等于机器的字长,这样的指令称为单字长指令;如果指令的长度等于两倍的机器字长,这样的指令称为双字长指令;还可以分为更多倍字长的指令以及半字长指令等。如果指令系统中各种指令字的长度均固定,则称为定长指令字结构;如果指令系统中各种指令字的长度随指令功能而异,则称为可变长指令字结构。第5章 指 令 系 统定长指令字结构:结构简单,指令的译码时间短,有利于硬件控制系统的设计,多用于机器字长较长的大、中型计算机和精简指令系统计算机。但指令字的长度普遍较长,冗余现象严重,不

8、利于指令扩展。可变长指令字结构:结构灵活,能充分利用指令中的每一位,信息冗余少,平均指令长度短,易于指令的扩展。但指令格式不规整,硬件控制系统复杂。第5章 指 令 系 统5.2.3 机器指令的分类机器指令的分类机器指令不仅可以按其长度划分为单字指令、双字指令和多字指令,还可以按指令中地址码的多少将机器指令划分为:零地址指令、单地址指令、双地址指令和多地址指令。1零地址指令零地址指令零地址指令的指令字中只有操作码,而没有地址码。其格式为 第5章 指 令 系 统零地址指令有以下两种情况:第一是指令不需要操作对象,也就不需要地址码,例如停机指令、空操作指令等。第二是指令需要一个操作对象,但这个操作对

9、象可以隐含,从而指令的地址码也可隐含,例如对堆栈、累加器操作的指令。指令功能为:OP(AC)AC。第5章 指 令 系 统2单地址指令单地址指令单地址指令的指令字中只有一个地址码A,也称为一地址指令。其格式为单地址指令有以下两种情况:第一是指令有一个操作对象,并且这个操作对象不能隐含,必须用一个地址码表示,例如加1指令、减1指令等。指令功能为:OP(A)A。第二是指令有两个操作对象,其中一个操作对象隐含,通常指累加器(AC),另一个用一个地址码表示,例如加法指令、减法指令等。指令功能为:(AC)OP(A)AC。第5章 指 令 系 统3双地址指令双地址指令双地址指令的指令字中有两个地址码A1和A2

10、,也称为二地址指令。其格式为双地址指令的指令功能为:(A1)OP(A2)A1或(A1)OP(A2)A2。双地址指令可以分为三种指令类型:(1)SS型指令,即存储器存储器型指令,是指指令中两个操作对象都是存储器,用地址码A1和A2表示,A1、A2为主存地址。第5章 指 令 系 统(2)RR型指令,即寄存器寄存器型指令,是指指令中两个操作对象都是寄存器,用地址码R1和R2表示,R1、R2为寄存器地址。(3)RS型指令,即寄存器存储器型指令,是指指令中两个操作对象一个是寄存器,一个是存储器,用地址码R和A表示,R为寄存器地址,A为主存地址。在以上三种指令类型中,RR型指令在被执行过程中不需要访问存储

11、器,执行速度最快,因此是双地址指令中最常用的一种指令格式,尤其在RISC中,所有运算指令均为RR型指令。第5章 指 令 系 统4三地址指令三地址指令三地址指令的指令字中有三个地址码A1、A2和A3,也称为多地址指令。其格式为 三地址指令的指令功能为:(A1)OP(A2)A3。三地址指令的指令字较长,多用于字长较长的大、中型计算机中,小型机和微型机很少使用。第5章 指 令 系 统5.3 操作码的编码方法操作码的编码方法操作码是机器指令的重要组成部分,是对指令所执行操作的编码,指令不同其操作码也不同,具体表现在:操作码长度相同,操作码不同或操作码长度不同。所以,按指令字中操作码的长度是否相同或固定

12、,可以将操作码的编码分为固定长度的定长编码和可变长度的变长编码两种。第5章 指 令 系 统5.3.1 定长编码定长编码定长编码是最简单的操作码编码方法。由于操作码的长度和位置在指令字中是固定的,有利于简化指令结构和减少指令的译码时间,因此适用于字长较长的大、中型计算机。例如IBM 370机,其字长是32位,指令分为半字长、单字长、1.5倍字长指令类型,无论哪种类型的指令,其操作码的长度和位置都是固定的,由于操作码的长度固定为8位,指令系统所能允许的指令条数最多为28=256条,实际上IBM370机只有183条指令,剩余的操作码编码为非法的操作码。如果操作码的编码采用定长编码,则指令字中的操作码

13、长度取决于指令系统中的全部指令条数。例如,若指令系统中有m条指令,则操作码的长度n应满足下式:nlbm(5-1)第5章 指 令 系 统5.3.2 变长编码变长编码变长编码是指指令字中操作码的长度和位置不固定,随指令的不同而存在差异。采用变长编码方法,可以有效地压缩操作码的平均长度,在小型机和微机中被广泛采用。如小型机PDP-11,机器字长为16位,指令分为单字长、双字长、三字长等指令类型,操作码占56位,且遍及整个指令字长度范围。但由于操作码长度和位置不固定,因此增加了指令译码和分析的难度,使硬件设计复杂化。第5章 指 令 系 统1操作码扩展技术操作码扩展技术在不增加指令字长度的情况下,通过采

14、用操作码扩展技术,使操作码的长度随地址码的减少而增加,这样一来,对于地址码个数不同的指令,可以具有不同长度的操作码,从而可以充分利用指令字的地址码,使有限的指令字长度可以表示更多的指令。设机器指令字长度为16位。其中操作码为4位,地址码为4位。指令格式为第5章 指 令 系 统如果采用定长编码,4位操作码只能表示16条三地址指令。如果指令系统中除三地址指令外,还有二地址、一地址和零地址指令,且要求有15条三地址指令、15条二地址指令、15条一地址指令和16条零地址指令,则采用定长编码方法是无法满足上述要求的,这就需要采用变长编码方法,操作码的长度随地址码的减少而增加,具体操作码扩展如下:第5章

15、指 令 系 统第5章 指 令 系 统【例例5-1】某机器指令字长度为16位。其中地址码长度为4位。如果指令系统中三地址指令有11条、二地址指令有72条、零地址指令有64条,则最多还能设计多少条一地址指令?解解:对于三地址指令:地址码共占12位,指令字中还剩4位用于操作码,其编码最多为24=16个,由于实际只有11条三地址指令,所以还剩下16-11=4个编码,可用于二地址指令。第5章 指 令 系 统对于二地址指令:地址码共占8位,指令字中还剩8位用于操作码,扣除三地址指令用过的操作码,其编码最多为524=80个,由于实际只有72条二地址指令,所以还剩下80-72=8个编码,可用于一地址指令。第5

16、章 指 令 系 统对于一地址指令:地址码共占4位,指令字中还剩12位用于操作码,扣除三地址指令和二地址指令用过的操作码,其编码最多为824=128个,如果这128个编码都表示一地址指令,那么指令系统中就不存在零地址指令,实际上存在有零地址指令,所以,这128个编码并不都是一地址指令。究竟一地址指令还能设计多少条,这就取决于实际存在的零地址指令条数。由于系统要求有64条零地址指令,而4位操作码只能最多表示16条指令,所以,需要一地址指令提供64/16=4个操作码编码用于零地址指令,以保证零地址指令有64条。因此,指令系统中一地址指令最多还能设计128-4=124条指令。第5章 指 令 系 统2H

17、uffman编码法编码法Huffman编码法是根据各种指令使用的频率不同,采用优化技术,将使用频率最高的指令用最短的编码表示,而对于使用频率较低的指令用较长的编码表示,从而缩短操作码的平均长度。采用Huffman编码法所得到的操作码的平均长度为其中,pi是第i条指令使用的频率,li是第i条指令操作码的长度,n是指令总数。n1iiilpH第5章 指 令 系 统下面以10条指令的机器为例来说明Huffman编码过程。已知10条指令的使用频率如表5-1所示。表表5-1 指令的使用频率指令的使用频率第5章 指 令 系 统1)Huffman树根据指令的使用频率,画出Huffman树,具体步骤如下:(1)

18、按频率大小进行排列,频率相同的可任意排列。(2)把出现频率最小的两项进行合并,将其频率相加,再把相加后的频率进行重新排序。(3)重复步骤(2),直至只剩下最后两个频率,再将其合并,便形成Huffman树,如图5-1所示。第5章 指 令 系 统图5-1 Huffman树第5章 指 令 系 统2)Huffman编码过程根据Huffman树,从根节点(最后两个频率形成的节点)开始编码,左分支编码为“1”,右分支编码为“0”;各个子节点也同根节点一样,左分支编码为“1”,右分支编码为“0”,直到末节点为止。各条指令的编码便是从根节点开始到末节点结束的一个二进制代码,如表5-2所示。第5章 指 令 系

19、统采用Huffman编码法所得到的操作码平均长度为表表5-2 Huffman编码结果编码结果第5章 指 令 系 统H=pi li=(0.30+0.20)2+(0.16+0.09+0.08+0.07+0.04)4+(0.03+0.02+0.01)6=1+0.75+0.76+0.15+0.18=2.85 若采用定长编码,由于指令有10条,所以操作码的长度为4。可见,采用Huffman编码法更有效地缩短了操作码的平均长度。n1i第5章 指 令 系 统3扩展编码法扩展编码法采用Huffman编码法能更有效地缩短操作码的平均长度,但这种编码方法所形成的操作码很不规整,将会给译码造成极大的困难,不利于软件

20、的编译。于是,采取了一种折中的方案,即将Huffman编码法与定长编码法进行有效结合,在缩短操作码平均长度的基础上,使操作码更加规整。这种编码方法称为扩展编码法。扩展编码结果如表5-2所示。采用扩展编码法所得到的操作码平均长度为第5章 指 令 系 统H=pi li=(0.30+0.20)2+(0.16+0.09)3+(0.08+0.07+0.04)4+0.035+(0.02+0.01)6 =1+1.76+0.36 =3.12 n1i第5章 指 令 系 统5.4 地址码的寻址方式地址码的寻址方式寻址方式是指在指令被执行的过程中,根据指令字中的地址码去寻找操作对象的方式。如果地址码所表示的操作对象

21、是数据信息,则这样的操作对象称为操作数,对应的寻址方式为操作数寻址方式;如果地址码所表示的操作对象是指令信息,则相应的寻址方式为指令寻址方式。5.4.1 指令寻址方式指令寻址方式指令寻址方式又可分为顺序寻址方式和跳转寻址方式,如图5-2所示。第5章 指 令 系 统图5-2 指令的寻址方式第5章 指 令 系 统1顺序寻址方式顺序寻址方式顺序寻址方式是采用PC增量的方式形成下一条指令地址。具体寻址过程如图5-2(a)所示,PC称为程序计数器,是用来跟踪程序的执行并指向下一条将要被执行的指令。由于程序在内存中是连续存放的,当程序顺序执行时,PC的内容加上一定的增量,便形成下一条将要被执行指令的地址,

22、至于增量是多少,取决于指令所占存储单元的个数。第5章 指 令 系 统2跳转寻址方式跳转寻址方式跳转寻址方式是指当程序发生转移时,下一条将要执行的指令地址不再是PC的内容,而是根据转移指令字中的地址码A去形成下一条将要执行的指令地址。具体寻址过程如图5-2(b)所示,如果是地址码直接形成PC,记作APC,这种跳转寻址方式也称为绝对跳转;如果是当前PC的内容(现行PC加上增量)加上地址码形成PC,记作(PC)+APC,这种跳转寻址方式也称为相对跳转。第5章 指 令 系 统5.4.2 操作数寻址方式操作数寻址方式操作数的存放不像指令的存放有规律,它既可以存放在寄存器、存储器和外设中,也可以存放在指令

23、中,因此表示操作数的地址码尽管形式上都是二进制代码,但所表示的含义各不相同,有时代表的是地址,有时代表的是数据,往往比较复杂,一般讨论寻址方式时,主要是讨论操作数寻址方式。下面以一地址指令为例,介绍几种最常用的基本寻址方式。一地址指令格式为 第5章 指 令 系 统由于操作数寻址方式种类较多,所以在指令字中设置一个寻址方式MOD字段,用来指明具体的寻址方式。当操作数存放在存储器中时,指令字中的地址码并不是内存的实际地址,因此我们把它称为形式地址。形式地址必须转换成内存的实际地址,然后才能访问存储器。内存的实际地址也称为有效地址(EA)。所以,EA是A的一个函数,记为EA=f(A)。函数f不同,其

24、寻址方式也不同。第5章 指 令 系 统1立即寻址方式立即寻址方式立即寻址方式是指指令字中的地址码本身就是操作数,即操作数是D,D也称为立即数,其格式为 立即寻址的优点:由于从存储器中取出指令的同时,操作数也被取出了,并且操作数是在指令字中的,因此在执行指令时,不必再次访问存储器,从而提高了指令的执行速度。但由于指令字长度的限制,D的位数限制了立即数的大小。第5章 指 令 系 统2直接寻址方式直接寻址方式直接寻址方式是指指令字中的地址码D(形式地址)就是操作数的有效地址,即EA=D。如图5-3所示。直接寻址简单直观,便于硬件实现。但由于指令字长度的限制,形式地址D限制了指令的寻址范围,随着内存容

25、量不断扩大,要想寻址整个内存空间,势必造成指令字长度的增加。另外在编程时,如果使用了直接寻址指令,一旦操作数地址发生变化,就必须修改指令中的D,也给编程带来不便。第5章 指 令 系 统图5-3 直接寻址方式第5章 指 令 系 统3间接寻址方式间接寻址方式间接寻址方式是指指令字中的地址码D(形式地址)不是操作数的有效地址,而是操作数的有效地址的有效地址,即EA=(D),如图5-4所示。与直接寻址相比,间接寻址比直接寻址灵活,使用较短的地址码可以访问较大的存储空间。另外,间接寻址有利于编程,如果使用了间接寻址指令,当操作数地址发生变化时,可不必修改指令,只需修改存放有效地址的单元内容即可。其缺点是

26、指令的执行时间较长,因为需要多次访问存储器。第5章 指 令 系 统图5-4 间接寻址方式第5章 指 令 系 统4寄存器直接寻址方式寄存器直接寻址方式寄存器直接寻址方式也称寄存器寻址方式,是指指令字中的地址码R(形式地址)是某一寄存器的编号,其寄存器的内容为指令所需的操作数,即EA=(R),如图5-5所示。第5章 指 令 系 统由于寄存器寻址方式的操作数位于寄存器中,采用寄存器寻址方式的指令在被执行时,无需访问内存,从而减少了指令的执行时间;另外,由于内部寄存器数量有限,指令字中的地址码较短,有效地缩短了指令字长度。因此,寄存器寻址方式在计算机中得到了广泛的应用。第5章 指 令 系 统5寄存器间

27、接寻址方式寄存器间接寻址方式寄存器间接寻址方式是指指令字中的地址码A(形式地址)是某一寄存器的编号,其寄存器的内容不是指令所需的操作数,而是指令所需操作数的有效地址,即EA=(R),如图5-6所示。指令采用寄存器间接寻址方式时,由于操作数的有效地址存放在寄存器中,因此该指令在被执行时只访问两次存储器,比间接寻址速度快。第5章 指 令 系 统图5-6 寄存器间接寻址方式第5章 指 令 系 统6变址寻址方式变址寻址方式变址寻址方式是指指令字中的地址码A(形式地址)加上指令中指定的变址寄存器的内容形成操作数的有效地址,即EA=A+(Ri),如图5-7所示。指令采用变址寻址方式时,如果操作数地址发生变

28、化时,可不必修改指令,只需按一定增量修改变址寄存器的内容,以方便实现循环程序设计。第5章 指 令 系 统图5-7 变址寻址方式第5章 指 令 系 统7基址寻址方式基址寻址方式基址寻址方式是指指令字中的地址码D(形式地址)加上指令中指定的基址寄存器的内容形成操作数的有效地址,即EA=D+(Rb),基址寄存器通常是专用的寄存器,如图5-8所示。第5章 指 令 系 统图5-8 基址寻址方式第5章 指 令 系 统基址寻址与变址寻址有效地址的形成过程很相似,但两者的应用有着本质的区别。基址寻址是面向系统的,用于将用户程序的逻辑地址转换成物理地址,以便实现程序的再定位,基址寄存器的内容通常是由操作系统进行

29、设置,不允许进行增量或减量,并对用户是透明的。第5章 指 令 系 统8相对寻址方式相对寻址方式相对寻址方式是将当前PC的内容(现行PC加上增量)加上地址码(形式地址)形成操作数的有效地址,即EA=(PC)+DPC,D称为位移量,是定点整数的补码,如图5-9所示。指令采用相对寻址方式时,编程时不需要用指令的绝对地址,可以将程序放在内存的任何地方。第5章 指 令 系 统第5章 指 令 系 统9隐含寻址隐含寻址隐含寻址是指指令字中的地址码是A隐含的。对于一地址指令而言,指令格式中地址码A就缺省了,尽管没有地址码,但操作数是存在的,并规定为累加器AC。第5章 指 令 系 统5.5 典型的指令系统典型的

30、指令系统5.5.1 复杂指令系统复杂指令系统1指令类型指令类型不同机器的指令系统是各不相同的,CISC的指令系统一般有上百种指令,按照指令的功能对指令进行归类,一个较完善的复杂指令系统应该包含以下8种指令类型。1)数据传送指令数据传送指令主要包括取数指令、存数指令、传送指令、交换指令、对堆栈操作的指令等,主要用于实现存储器与寄存器、堆栈之间以及寄存器与寄存器、堆栈之间的数据传送。第5章 指 令 系 统2)算术运算指令算术运算指令主要包括二进制定点数的四则运算指令、十进制数的四则运算指令、浮点数的四则运算指令、算术移位指令、比较指令、求补和求反指令等,主要用于定点数和浮点数的算术运算。3)逻辑运

31、算指令逻辑运算指令主要包括逻辑与、逻辑或、逻辑非、逻辑移位等指令,主要用于无符号数的位操作、代码转换、逻辑判断。4)串操作指令串操作指令包括串传送指令、串比较指令、串搜索指令、串替换指令等,主要用于对字符串和数据串的处理。第5章 指 令 系 统5)转移指令转移指令也称程序控制指令,主要包括无条件转移指令、条件转移指令、调用与返回指令、中断与返回指令等,主要用于控制改变程序的执行顺序。6)输入/输出指令输入/输出指令主要用于控制外设、检测外设的工作状态、实现对外设的数据传送。7)特权指令特权指令是指具有特殊权限的指令,只用于操作系统,一般不会直接提供给用户。第5章 指 令 系 统8)其他指令其他

32、指令主要指复位指令、停机指令、空操作指令、对状态寄存器的置位和复位指令。综上所述,CISC指令系统具有以下特点:(1)指令系统复杂庞大,表现为指令条数较多。(2)指令格式多样,表现为指令字长不固定,寻址方式种类较多。(3)指令的执行时间差别较大。(4)大多数CISC指令系统采用微程序控制器。第5章 指 令 系 统28086 CPU指令格式指令格式8086 CPU指令长度可以是16字节,其指令格式如图5-10所示。其中B1和B2为基本字节,B3B6将根据不同指令作不同的定义。第5章 指 令 系 统图5-10 8086指令格式第5章 指 令 系 统1)B1字节各字段定义(1)OP:表示指令操作码。

33、(2)D:表示方向。D=1时,寄存器为目的操作数;D=0时,寄存器为源操作数。(3)W:表示字节或字处理方式。W=0表示字节处理指令;W=1表示字处理指令。第5章 指 令 系 统2)B2字节各字段定义(1)MOD:表示指令的寻址方式。8086的一条指令中最多可使用两个操作数,它们不能同时位于存储器中,最多只能有一个是存储器操作数。MOD11,为存储器方式,即有一个操作数位于存储器中;MOD=00,没有位移量;MOD=01,只有低8位位移量,需将符号扩展8位,形成16位;MOD=10,有16位位移量;MOD=11,为寄存器方式,两个操作数均为寄存器。第5章 指 令 系 统(2)REG:表示指令中

34、只有一个操作数,这个操作数为寄存器。(3)R/M:R/M受MOD制约。当MOD=11(即寄存器方式时),由此字段给出指令中第二个操作数所在的寄存器编码;当MOD11时,此字段用来指出应如何计算指令中使用的存储器操作数的有效地址。MOD和R/M字段表示有效地址EA的计算方法。第5章 指 令 系 统3)B3B6字节各字段定义B3B6这四个字节一般是给出存储器操作数地址的位移量(即偏移量)或立即操作数。位移量可为8位,也可为16位,这由MOD来决定。8086规定16位的字位移量的低位字节存于低地址单元,高位字节存于高地址单元。若指令中只有8位位移量,那么8086在计算有效地址时,自动用8位位移量的符

35、号将其扩展成一个16位的双字节数,以保证有效地址的计算不产生错误,实现正确的寻址。指令中的立即操作数位于位移量的后面。若B3B4有位移量,立即操作数就位于B5B6字节;若指令中无位移量,立即操作数就位于B3B4字节。总之,指令中缺少的项将由后面存在的项顶替,以减少指令的长度。第5章 指 令 系 统5.5.2 精简指令系统精简指令系统1RISC指令系统的特点指令系统的特点结合表5-3所列出的典型RISC指令系统的基本特征,可以看出RISC指令系统有如下特点:(1)指令条数少,所选取的指令都是使用频率较高的简单指令;(2)指令字长固定,且指令格式种类少;(3)只有取数/存数指令可以访问存储器,其他

36、指令的操作都在寄存器之间进行。第5章 指 令 系 统表表5-3 典型典型RISC指令系统的基本特征指令系统的基本特征第5章 指 令 系 统2SPARC机指令系统机指令系统SPARC机是RISC指令系统最典型的代表,机器的字长为32位,共有75条指令。1)指令类型和指令格式(1)SPARC机指令类型。算术运算/逻辑运算/移位指令;取数(LOAD)/存数(STORE)指令;控制转移指令;读/写专用寄存器指令;浮点运算指令;协处理器指令。第5章 指 令 系 统(2)SPARC机指令格式。机指令格式。SPARC机有三种指令格式,如表5-4所示。第5章 指 令 系 统表表5-4 SPARC机指令格式机指

37、令格式第5章 指 令 系 统在表5-4中,OP、OP2、OP3为指令操作码,OPf为浮点指令操作码。为了增加立即数和偏移量的长度,调用指令CALL、转移指令BRANCH和SETHI指令的操作码缩短了,其中SETHI指令是将22位的立即数(imm22)左移10位,送到Rd所指示的寄存器中,然后再执行一条加法指令,以补充后面10位数据,从而形成32位字长的数据。第5章 指 令 系 统Rs1、Rs2为通用寄存器地址,用作源操作数寄存器地址或地址寄存器地址。Rd为目的寄存器地址,用来保存运算结果或从存储器取来的数据。Simm13是13位扩展符号的立即数。运算时如果Simm13最高位是1,则最高位前面的

38、所有位都扩展为1;否则,最高位前面的所有位都扩展为0。i是用来选择第二个操作数的。当i=0时,第二个操作数在Rs2中;当i=1时,第二个操作数为Simm13。第5章 指 令 系 统2)指令功能与寻址方式(1)算术逻辑运算指令。功能:将Rs1、Rs2的内容(或Simm13)按操作码规定的操作运算后结果送Rd。当i=0时,(Rs1)OP(Rs2)Rd;当i=1时,(Rs1)OP Simm13Rd。(2)取数/存数指令。功能:取数指令LOAD将存储器中的数据送往Rd;存数指令STORE将Rd中的数据送往存储器。存储器地址的计算方法如下(寄存器间接寻址):当i=0时,存储器地址=(Rs1)+(Rs2)

39、;当i=1时,存储器地址=(Rs1)+Simm13。第5章 指 令 系 统(3)控制转移指令。条件转移(BRANCH)指令:由Cond字段决定程序是否转移,用相对寻址方式形成转移地址。转移并连接(JMPL)指令:将本指令的地址保存在Rd所指示的寄存器中,以备程序返回使用。用寄存器间接寻址形成转移地址。调用(CALL)指令:采用相对寻址方式形成转移地址。陷阱(TRAP)指令:采用寄存器间接寻址形成转移地址。TRAP程序返回(RETT)指令:采用寄存器间接寻址形成转移地址。第5章 指 令 系 统(4)读/写专用寄存器指令。SPARC机有4个专用寄存器指令,即PSR、Y、WIM和TBR指令。其中,P

40、SR称为程序状态寄存器,其内容反映并控制机器的运行状态,非常重要,因此,读/写PSR指令一般是特权指令。综上所述,SPARC机的指令系统由于采用了RIS技术,该机器的指令系统只设置了75条指令,还有一些指令并没有选入指令系统,但很容易用指令系统中的指令去替代实现。如表5-5所示,其中,表的左边列出了6条指令,表的右边给出了替代指令及实现方法。(SPARC约定R0的内容恒为0。)第5章 指 令 系 统表表5-5 RISC指令的替代与实现指令的替代与实现第5章 指 令 系 统关关 联联 第5章 指 令 系 统习习 题题5.1 什么叫指令?什么叫指令系统?指令通常有哪几种地址格式?5.2 什么叫指令

41、地址?什么叫形式地址?什么叫有效地址?5.3 什么叫寻址方式?有哪些基本的寻址方式?简述其寻址过程。5.4 基址寻址方式和变址寻址方式各有什么不同?第5章 指 令 系 统5.5 设某机指令长为16位,每个操作数的地址码为6位,指令分为单地址指令、双地址指令和零地址指令。若双地址指令为K条,零地址指令为L条,则最多可有多少条单地址指令?5.6 设某机指令长为16位,每个地址码长为4位,试用扩展操作码方法设计指令格式。其中三地址指令有10条,二地址指令有90条,单地址指令有32条,还有若干零地址指令,则零地址指令最多有多少条?第5章 指 令 系 统5.7 设某机字长为32位,CPU有32个32位通

42、用寄存器,有8种寻址方式,包括直接寻址、间接寻址、立即寻址、变址寻址等,采用R-S型单字长指令格式,共有120条指令,试问:(1)该机直接寻址的最大存储空间为多少?(2)若采用间接寻址,则可寻址的最大存储空间为多少?如果采用变址寻址呢?(3)若立即数为带符号的补码整数,试写出立即数范围。第5章 指 令 系 统5.8 一种单地址指令格式如下所示,其中I为间接特征,X为寻址模式,D为形式地址。I、X、D组成该指令操作数的有效地址E。设R为变址寄存器,R1为基址寄存器,PC为程序计数器,请在下表中第一列位置填写适当的寻址方式。第5章 指 令 系 统5.9 简述RISC的主要特点。5.10 选择题。(

43、1)计算机系统中,硬件能够直接识别的指令是()。A.机器指令 B.汇编语言指令C.高级语言指令 D.特权指令(2)指令系统中采用不同的寻址方式的主要目的是()。A.增加内存的容量 B.缩短指令长度,扩大寻址范围C.提高访问内存的速度 D.简化指令译码电路第5章 指 令 系 统(3)在相对寻址方式中,若指令中地址码为X,则操作数的地址为()。A.X B.(PC)+X C.X+段基址 D.变址寄存器+X(4)在指令的地址字段中直接指出操作数本身的寻址方式称为()。A.隐含地址 B.立即寻址 C.寄存器寻址 D.直接寻址(5)在一地址指令格式中,下面论述正确的是()。A.只能有一个操作数,它由地址码

44、提供B.一定有两个操作数,另一个是隐含的C.可能有一个操作数,也可能有两个操作数D.如果有两个操作数,另一个操作数一定在堆栈中第5章 指 令 系 统(6)在变址寄存器寻址方式中,若变址寄存器的内容是4E3CH,给出的偏移量是63H,则它对应的有效地址是()。A.63H B.4D9FH C.4E3CH D.4F9FH(7)程序控制类指令的功能是()。A.进行算术运算和逻辑运算B.进行主存与CPU之间的数据传送C.进行CPU和I/O设备之间的数据传送D.改变程序执行的顺序 第5章 指 令 系 统(8)算术右移指令执行的操作是()。A.符号位填0,并顺次右移1位,最低位移至进位标志位B.符号位不变,

45、并顺次右移1位,最低位移至进位标志位C.进位标志位移至符号位,顺次右移1位,最低位移至进位标志位D.符号位填1,并顺次右移1位,最低位移至进位标志位第5章 指 令 系 统(9)下列几项中,不符合RISC指令系统特点的是()。A.指令长度固定,指令种类少B.寻址方式种类尽量多,指令功能尽可能强C.增加寄存器的数目,以尽量减少访存次数D.选取使用频率最高的一些简单指令以及很有用但不复杂的指令第5章 指 令 系 统5.11 填空题。(1)一台计算机所具有所有机器指令的集合称为该计算机的_。它是计算机与_之间的接口。(2)在指令编码中,操作码用于表示_,n位操作码最多可以表示_条指令。地址码用于表示_

46、。(3)在寄存器寻址方式中,指令的地址码部分给出的是_,操作数存放在_。(4)采用存储器间接寻址方式的指令中,指令的地址码字段中给出的是_所在的存储器单元地址,CPU需要访问内存_次才能获得操作数。(5)操作数直接出现在指令的地址码字段中的寻址方式称为_寻址;操作数所在的内存单元地址直接出现在指令的地址码字段中的寻址方式称为_寻址。第5章 指 令 系 统5.12 判断题。(1)利用堆栈进行算术/逻辑运算的指令可以不设置地址码。()(2)指令中地址码所指定的寄存器中的内容是操作数有效地址的寻址方式称为寄存器寻址。()(3)一条单地址格式的双操作数加法指令,其中一个操作数来自指令中地址字段指定的存储单元,另一个操作数则采用间接寻址方式获得。()(4)在计算机的指令系统中,真正必需的指令种类并不多,很多指令都是为了提高机器速度和便于编程而引入的。()(5)RISC系统的特征是使用了丰富的寻址方式。()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《计算机原理》课件第5章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|