计算机组成原理电子教案第5章.ppt
《计算机组成原理电子教案第5章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理电子教案第5章.ppt(52页珍藏版)》请在三一办公上搜索。
1、第五章 指令系统,计算机组成原理电子教案 陆 遥,5.1 指令系统概述5.2 指令格式及其设计 指令的基本格式 指令的操作数类型和操作类型 寻址方式 指令操作码的设计 指令地址码的设计 指令格式举例5.3 精简指令系统计算机 5.3.1 从CISC到RISC RISC的主要特点,一条机器指令(简称指令),就是给计算机下达的一个基本操作命令。一台计算机中所有指令的集合,称为这台计算机的指令系统。硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用指令系统中的指令来编制各种各样的系统软件和应用软件,达到使用计算机的目的。计算机指令系统的发展,是与计算机硬件技术的发展、应用领域的扩大和应用要求
2、的提高密切相关的。,5.1 指令系统概述,为了使计算机系统在功能增强、性能提高的同时,还能实现软件的兼容(向后兼容),推出了系列计算机。所谓系列计算机,是指基本指令系统相同,基本系统结构相同的一系列计算机。从指令系统的发展过程来看,从第一台电子计算机诞生,到上世纪70年代末的30多年里,指令系统是沿着不断增大、不断复杂化的单一方向发展的。之后,出现了指令系统发展的一个新的方向精简指令系统方向。采用精简指令系统的计算机,称为精简指令系统计算机(RISC),相对而言,采用复杂指令系统的计算机则称为复杂指令系统计算机(CISC)。,5.2 指令格式及其设计,指令的基本格式指令由操作码和地址码两部分组
3、成,其基本格式如下。操作码本质上就是指令的编号,用于标识不同的指令。操作码由控制器中的指令译码器进行识别,根据识别的结果,由控制电路发出指令执行所需的各种操作控制信号,控制相关部件完成指令的操作功能。,地址码用于指出指令的操作数据所存放的位置(包括原始数据的存放位置和处理结果的存放位置)。地址码可以是存储单元地址,可以是寄存器编号,也可以是I/O端口地址。由于各种存储装置的容量不同,所以,地址码的位数也不同。一条指令的操作往往需要涉及多个数据,因此,指令中的地址码可能会有多个。按指令中地址码个数的不同,可把指令格式分为三地址指令、二地址指令、一地址指令和零地址指令四类。,一条指令的长度是指这条
4、指令的二进制编码的位数,它是这条指令的操作码以及全部地址码的位数之和。由于现在的计算机存储器多以字节编址,为了方便指令的存取,指令的长度都取字节长度的整数倍。,根据指令长度与机器字长的关系,通常把长度等于机器字长的指令称为单字长指令,把长度等于两倍机器字长的指令称为双字长指令,而把长度等于机器字长一半的指令称为半字长指令,等等。,指令的操作数类型和操作类型 1操作数类型指令所能处理的一切信息,都可以看作是指令的操作数。按操作数的性质来分类,操作数可分为:地址,数值,字符和逻辑数据四类;按数据格式来分类,操作数又可分为定点格式和浮点格式两类。对不同类型的数据,其操作方式是不一样的,需要设计不同的
5、指令来完成不同的操作。因此,操作数类型对指令系统的设计有很大的影响。,2操作类型对各种计算机而言,其指令的操作种类都大同小异,一般都包含以下一些基本的操作类型:数据传送类操作。算术类操作。逻辑类操作。控制转移类操作。输入输出类操作。系统控制类操作。处理器控制类操作。,寻址方式产生指令地址的方式称为指令寻址方式,产生操作数地址的方式称为数据寻址方式。如果程序是顺序执行,则依靠PC的自动加1,就能不断产生所需执行的各条指令的地址。如果程序需要改变执行的顺序,则要通过控制转移类指令来实现;这些指令可以(条件转移指令是在转移条件成立时)将转移目标处的指令地址装入PC,使控制器下次所取的指令为转移目标指
6、令。,数据的寻址方式比较多,也比较复杂。根据某种寻址方式产生的操作数地址,称为操作数的有效地址EA。1直接寻址这是一种产生存储器操作数地址的寻址方式,它将操作数在存储器中的存放地址直接作为地址码,置于指令的地址码部分;指令执行时,直接按此地址即可进行操作数的访问。直接寻址的优点是:提供存储器操作数地址的速度最快;实现一个存储器操作数的访问只需一次访存。缺点是:地址码较长,会大大增加指令的长度。,2间接寻址该寻址方式用于产生存储器操作数的地址。指令中给出的地址码被称为间接地址。间接寻址的过程如下图所示。间接寻址方式的最大缺点,就是要对存储器进行两次访问,才能完成一个操作数的读/写。,3寄存器寻址
7、如果操作数存于寄存器中,则采用该寻址方式,在指令的地址码部分给出相应的寄存器编号(亦即寄存器地址),即可对该寄存器中的操作数进行访问。由于寄存器的存取速度很快,所以,寄存器寻址方式能以很快的速度完成操作数的访问。此外,寄存器的数量少,其编号的位数也少,能够有效地减少指令中地址码的长度。,4寄存器间接寻址该寻址方式将存储器操作数的地址置于一个寄存器中,并在指令的地址码部分给出该寄存器的编号。下图所示,为寄存器间接寻址方式的过程。寄存器间接寻址从寄存器中取得存储器操作数地址,速度快。以较短的寄存器号换取较长的存储器地址,有利于缩短指令中地址码长度。,如果使用加1或减1指令对寄存器中的操作数地址进行
8、修改,可以方便地通过循环控制,对在存储器中连续存放的一组数据依次进行处理。5变址寻址该寻址方式用于访问存储器操作数。变址寻址需要用到一种变址寄存器;变址寄存器中存放用于改变存储器地址的正偏移量(即地址增量),而基础的存储器地址在指令的地址码字段中给出。,变址寻址也适合于对在存储器中连续存放的一组数据依次进行处理。变址寻址的主要缺点,是需要设置专门的地址加法器来计算操作数的地址。6基址寻址该寻址方式用于访问存储器操作数。基址寻址所用的寄存器称为基址寄存器,用于存放存储器某个区域的首地址,指令中另外设置一个地址码字段,用来表示一个无符号偏移量。,基址寻址与变址寻址在对寄存器内容和地址码字段的解释上
9、相反,因此,它们的使用场合是不同的。7相对寻址相对寻址与基址寻址类似,但寄存器改为使用程序计数器PC,且不用在指令中表示出来。相对寻址是以下条指令的地址为基础地址,再加上一个偏移量来产生操作数地址的。相对寻址中的偏移量是一个带符号的数,用补码表示。因此,相对寻址可以在基础地址前后一定范围内寻址。这种寻址方式特别适用于转移指令,用以产生转移目标指令的地址,也适用于浮动程序的设计。变址寻址、基址寻址和相对寻址有着相似的地址产生过程,通常被统称为偏移寻址方式。,8隐含寻址如果指令中某个操作数的地址码是默认的,则不必在指令中表示出来,该操作数的寻址方式就称为隐含寻址方式。采用隐含寻址可以在指令中减少一
10、个地址码,有利于缩短指令的长度。但隐含寻址也降低了指令使用的灵活性。9堆栈寻址进栈和出栈指令直接利用栈顶指针获取操作数的地址,不需在指令中表示这个地址。所以,堆栈寻址也是一种隐含寻址。,10立即寻址立即寻址方式将操作数直接放在指令的地址码字段,当控制器从存储器读入这条指令时,该操作数也同时被读取进来;这种操作数称为立即数。立即数只能作为源操作数,不能作目标操作数。,指令操作码的设计对操作码的设计,主要有两方面的要求:一是节省程序的存储空间(即提高空间效率);二是降低硬件译码的复杂程度,加快指令的处理速度(即提高时间效率)。操作码的设计方法有三种:固定长度操作码,Huffman编码法和扩展编码法
11、。1固定长度操作码这是一种最简单的操作码设计方法,它将指令系统中所有指令的操作码都设计成相同的长度。其操作码长度(位数)k与指令数量n之间的关系是,固定长度操作码非常规整,便于硬件译码(译码器只需识别一种长度的编码),是RISC系统普遍采用的操作码设计方法。但是,这种编码方法的操作码平均长度大,空间效率差。2Huffman编码法Huffman编码法根据一个指令系统中各种指令使用概率的不同,为指令设计不同长度的操作码;其中,使用概率越高的指令,其操作码越短,反之则越长。Huffman编码法是实际可用的操作码设计方法中,操作码平均长度最短(即空间效率最高)的编码方法。,设指令系统有n(n1)种指令
12、,第i(i=1,2,n)种指令的使用概率为pi,操作码长度为li,则按Huffman编码法所得到的操作码的平均长度为【例5.1】设某模型机共有7种不同的指令I1I7,其使用概率依次为0.45,0.30,0.15,0.05,0.03,0.01,0.01。用Huffman编码法为这7种指令设计操作码,计算操作码的平均长度,并与固定长度操作码作比较。解:Huffman编码法的基础是Huffman树,也称最优二叉树。Huffman树的各终端结点分别对应着需要编码的各条指令,且使用概率越高的指令,距离树根结点就越近。,由此可得操作码的平均长度为 如采用固定长度操作码,操作码长度k至少取3位,平均长度也是
13、3位。与Huffman编码法相比,其操作码的冗余量为Huffman编码法的主要问题,就是操作码长度变化太多,极不规整,不利于硬件的译码。此外,极不规整的操作码也很难与地址码配合,形成有规则长度的指令编码。由于上述原因,Huffman编码法一般不用于实际的指令操作码设计。,3扩展编码法扩展编码法也以Huffman编码法的思想为基础,按指令使用概率的不同,设计不同长度的操作码。但是,扩展编码法减少了操作码长度的变化,并限制了可用的几种长度值,使操作码变得较为规整,以降低硬件译码的难度。扩展编码法有等长扩展编码法和不等长扩展编码法两种实现方法。等长扩展编码是指编码的长度按固定的增量扩展,如4-8-1
14、2扩展法;不等长扩展编码则指操作码的长度增量不相等,如4-6-10扩展法。硬件译码时是按短码优先原则进行的,所以,不能使所设计的较短操作码成为较长操作码的前缀。,下表所列,是对例5.1中的7条指令,分别按1-2-3-5不等长扩展编码法和2-4等长扩展编码法所设计的操作码。其中,采用1-2-3-5不等长扩展编码法的操作码平均长度为,采用2-4等长扩展编码法的操作码平均长度为为了避免出现前缀问题,不能将短编码用尽,必须保留若干个编码用于长编码的扩展。【例5.2】设某机的指令系统有72条指令,试采用4-8等长扩展编码法为其设计操作码。解:首先,根据指令使用概率的高低,将指令分成两组,使用概率较高的一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 电子 教案

链接地址:https://www.31ppt.com/p-6342716.html