第5章指令系统.ppt
《第5章指令系统.ppt》由会员分享,可在线阅读,更多相关《第5章指令系统.ppt(52页珍藏版)》请在三一文库上搜索。
1、2007.7.2,计算机组成与结构,1,第5章 指令系统,计算机组成原理,2007.7.2,计算机组成与结构,2,第5章 指令系统,计算机系统主要由硬件(Hardware)和软件(Software)两部分组成。所谓硬件就是指构成计算机的电子、机械、光学的元件或装置,它们是看得见,摸得着得实体。软件则是为便于用户使用计算机而编写的各种程序,它实际上是由一系列机器指令组成。一台计算机中全部指令的集合称为这台计算机的指令系统,它是软、硬件设计的分界面。 计算机性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命
2、令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。,2007.7.2,计算机组成与结构,3,本章要点: 指令格式 操作数的存储方式 寻址方式和范围 指令系统设计 指令系统的发展,2007.7.2,计算机组成与结构,4,5.1 指令系统概述,计算机能解题是由于机器本身存在一种语言,它既能理解人得意图,又能被机器自身识别。机器语言是由一条条语句构成的,每一条语句又能准确表达某种语义。例如它可以命令机器做某种操作,指出参与操作的数或其它信息在什么地方等等。计算机就是连续执行每一条机器指令而实现
3、全自动工作的。人们习惯把每一条机器语言的语句叫机器指令,而又将全部机器指令的集合叫做机器的指令系统。因此机器的指令系统集中反映了机器的功能,是计算机系统中软件与硬件的分界面,如图5-1所示。就目前来看,无论多么复杂、功能多么强大的软件,凡是能够在机器上直接运行的目标程序都是由一系列机器指令组成的。,2007.7.2,计算机组成与结构,5,2007.7.2,计算机组成与结构,6,对于软件设计人员而言,则需使用这些指令编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令与人们习惯的使用方式之间的语义差距。因此,可以说,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互
4、相沟通的一座桥梁。一方面是程序员所能看到的机器的主要属性,另一方面表明计算机具有哪些最基本的硬件功能,也就是说指令系统既为软件设计者提供最低层的程序设计语言,也为硬件设计者提供了最基本的设计依据。在计算机系统的设计过程中,指令系统的设计是非常关键的,不但直接关系着对程序设计的支持程度,也关系着该计算机的硬件结构,必须由软件设计人员和硬件设计人员共同来完成。,2007.7.2,计算机组成与结构,7,5.2 指令格式,计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。从便于程序设计、增加基本操作并行性、提高指令功能的角度来看,指令中应包含多种信息。但在有些指令中,由于部分信息可
5、能无用,这将浪费指令所占的存储空间,增加了访存次数,从而影响速度。因此,如何合理、科学地设计指令格式,使指令既能给出足够的信息,又使其长度尽可能地与机器字长相匹配,以节省存储空间,缩短取指时间,提高机器的性能,这是指令格式设计中的一个重要问题。,2007.7.2,计算机组成与结构,8,计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息: (1)操作码。它具体说明了操作的性质及功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。 (2)操作数的地址。CPU通过该地址就可以取
6、得所需的操作数。 (3)操作结构的存储地址。把对操作数的处理所产生的结果保存到该地址中,一边再次使用。,2007.7.2,计算机组成与结构,9,4)执行程序时,大多数指令按顺序依次从主存中取出执行,只有在遇到转移指令时,程序的执行顺序才会改变。为了压缩指令的长度,可以用一个程序计数器(Program Counter,PC)存放指令地址。每执行一条指令,PC的指令地址就自动加1(设该指令只占用一个主存单元),指出将要执行的下一条指令地址。当遇到执行转移指令时,则用转移地址修改PC的内容。由于使用了PC,指令中就不必明显地给出下一条将要执行指令的地址。,2007.7.2,计算机组成与结构,10,从
7、上述分析可知,一条指令实际上包括两种信息即操作码和地址码。操作码(Operation Code,OP)用来表示该指令所需要完成的操作,其长度取决于指令系统中的指令条数。地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。,其中操作码字段指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。,一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下:,2007.7.2,计算机组成与结构,11,5.2.1 操作码,操作码部分指出了计算机要执行什么性质的操作,如进行加法、减法、取数、存数等。不同的指令,其操作码不
8、同,用不同的编码来表示,每一个编码表示一条指令。计算机要为每条指令分配一个确定的操作码。例如:操作码0001可以规定为表示加法操作;操作码0010可以规定为表示加法操作等等。每个操作码代表的功能均由CPU上相应的电路来实现,因此机器就能执行操作码所要表示的操作。操作码的长度n(即操作码的位数)决定了指令系统中完成不同操作的指令条数,如某机器的操作码长度为n,则不同指令的条数最多为2n。n越大,则指令条数越多,功能越强,指令系统的规模也就越大。,2007.7.2,计算机组成与结构,12,目前在指令操作码设计上主要采用以下两种编码方式 1. 固定长度操作码 操作码的长度是固定的,且集中放在指令字的
9、一个字段中,指令的其余部分全部用于地址码。例如IBM370机和VAX-11系列机,操作码的长度均为8位,可表示256种不同的操作。 2. 可变长度操作码,2007.7.2,计算机组成与结构,13,5.2.2 地址码 地址码用于指定操作数和存放运算结果的地址,通常称为操作数。操作数可以是一个直接的数或者是一个数据所在的地址,它以空格与操作码分开。根据指令功能的不同,操作数可以有一、二、三个或没有操作数之间以逗号分开。 1.零地址指令 格式:,2.一地址指令 格式:,2007.7.2,计算机组成与结构,14,3.二地址指令 格式:,它有两个地址码D1和D2,分别指明参与操作数在内存中或运算器中通用
10、寄存器的地址,其中地址D1兼作存放操作结果的地址。 功能:(D1)OP(D2)D1 4.三地址指令 格式:,2007.7.2,计算机组成与结构,15,思考: 假如在以后的应用中需要对指令系统进行扩充,那么设计操作码时应采用固定长度还是可变长度?为什么?,2007.7.2,计算机组成与结构,16,5.3 操作数的存储及其寻址方式,1.操作数的类型 机器指令可完成对操作数的操作。通常,操作数有4种类型: (1)数值 数值类型可以是整数和浮点数。整数可以是无符号和有符号整数,数据长度可以是字节、字或者双字数据。浮点数可以是单精度数据和双精度数据。 (2)字符 字符类型是一种非数值类型,通常用ASCI
11、I码(7个二进制位)表示,数据长度为一个字节长,未使用的最高位填0。,2007.7.2,计算机组成与结构,17,(3)地址 地址是指存储器地址,根据计算机存储管理的分段或分页管理方法,地址由段/页地址和段/页内偏移量组成,而段/页地址则由专门的寄存器存放。指令中只需表示偏移量即可,该偏移量是一个无符号单字整数。 (4)逻辑数据 逻辑数据的值只有0和1,用一个二进制位表示即可。逻辑数据和数值数据在形式上无任何差异,都是一串0/1代码,靠机器指令的操作码来决定数据的类型。数据长度与整数的数据长度一致。 所有机器指令支持的数据类型,都称之为数据表示,它需要硬件支持来进行识别和运算。,2007.7.2
12、,计算机组成与结构,18,2.操作数的类型在指令中的表示 操作数类型无论是数值类型还是字符类型,都是一串二进制序列。为表示数据的类型,通常需要增加一些二进制位标识类型。类型的标识有两种时机:存储时标识或处理时标识。对在存储时标识而言,标识需要在存储器中增加标识空间,因数据可以是字节、字、双字形式出现的,因此必须在每个字节中标识,而以字、双字形式出现的概率较大,每个字节标识会造成存储器极大的空间浪费,而且控制比较复杂。对处理时标识而言,需要在指令中增加标识空间,无论数据长度如何,仅需一次标识。因此,在指令中标识数据类型是理所当然的选择。,2007.7.2,计算机组成与结构,19,5.3.2 操作
13、数存储方式,从指令角度讲,指令的操作数可以存储在指令、寄存器、堆栈和存储器中。而操作数的位数可以是字节、字、双字等。 对指令而言,可以存放数据的长度是固定的。操作码已经确定了数据的类型。 对寄存器而言,可以存放数据的长度是固定的,一般与机器字长一致。当操作数长度小于寄存器长度时,操作数总是存放在寄存器的低端。处理部件通过操作码中数据类型标识从寄存器中取相应长度的数据去处理。,2007.7.2,计算机组成与结构,20,对存储器而言,一次访问存储单元的取得位数一般与计算机机器字长是相同的,目的是使CPU能够一次访问到操作数的全部。现代计算机的存储器大多是以字节为单位编址的,即每个存储单元地址对应一
14、个字节的数据空间。存储器硬件特性决定了一次访问存储器所能取得的数据肯定是在连续的地址中,因此当操作数长度大于一个字节时,操作数就必须存放在制定地址开始的相邻的多个字节(操作数长度对应字节数)的存储器空间中,按照操作数的高字节和低字节在存储器中的存储次序,可分为大端和小端两种数据存储方式。将最低字节存储在指定存储器空间中最小地址位置的存储方法称为小端方式;将最低字节存储在指定存储器空间中最大地址位置的存储方法称为大端方式。,2007.7.2,计算机组成与结构,21,数据存储采用大端存储方式的处理机有IBM360/370,Motorola 68000,MIPS,SPARC,HPPA等。数据存储采用
15、小端存储方式的处理机有Intel 80x86/Pentium,DEC VAX,DEC Alpha等。Power PC是一个既支持大端方式,又支持小端方式的双端序机器,数据存储方式的管理由系统寄存器中的特定标志位决定,操作系统或软件工作人员可以通过改变系统寄存器的这个特定标志位来设定数据存储是大端还是小端方式。 注意: 大端、小端存储方式是指数据的字节间的存储次序,而字节内的数据无大端、小端之分,永远是bit7为字节内数据的最高位,bit0为字节内数据的最低位。,2007.7.2,计算机组成与结构,22,5.3.3 数据的寻址方式,在程序执行过程中,操作数可能在运算部件的某个寄存器中或存储器中,
16、也可能就在指令中。组成程序的指令代码,一般是在存储器中的。所谓寻址方式(或编址方式)指的是确定本条指令的数据地址及下一条要执行的指令地址的方法,它与计算机硬件结构紧密相关,而且对指令格式和功能有很大影响。从程序员角度来看,寻址方式与汇编程序设计的关系极为密切;与高级语言的编译程序设计也同样密切。不同的计算机有不同的寻址方式,但其基本原理是相同的。有的计算机寻址种类较少,因此在指令的操作码中表示出寻址方式;而有的计算机采用多种寻址方式,此时在指令中专设一个字段表示一个操作数的来源或去向。在这里仅介绍几种被广泛采用的基本寻址方式。在一些计算机中,某些寻址方式还可以组合使用,从而形成复杂的寻址方式。
17、,2007.7.2,计算机组成与结构,23,1.立即寻址 操作数本身放在指令字内,形式地址A不是操作数的地址,而是操作数本身,如图5-2所示。,2007.7.2,计算机组成与结构,24,2.寄存器寻址 计算机的中央处理器一般设置有一定数量的通用寄存器,用以存放操作数、操作数的地址或中间结果。假如指令地址码部分给出某一通用寄存器地址,而且所需的操作数就在这一寄存器中,则称为寄存器寻址。通用寄存器的数量一般在几个至几十个之间,比存储单元少很多,因此地址码短,而且从寄存器中存取数据比从存储器中存取快得多,所以这种方法可以缩短指令长度、节省存储空间,提高指令的执行速度,在计算机中得到广泛应用。 例如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统
链接地址:https://www.31doc.com/p-2566880.html