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