计算机组成原理指令系统精选文档.ppt
《计算机组成原理指令系统精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理指令系统精选文档.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理指令系统本讲稿第一页,共六十八页4.1 指令系统的发展与性能要求指令系统的发展与性能要求指令在计算机系统中的地位(1)是软件和硬件分界面的一个主要标志n硬件设计人员采用各种手段实现它;n软件设计人员则利用它编制各种各样的系统软件和应用软件(2)是硬件设计人员和软件设计人员之间的分界面,也是他们之间沟通的桥梁。本讲稿第二页,共六十八页4.1.1指令系统的发展指令系统的发展 1.计算机的程序:计算机的程序:是解决某一实际问题的指令序列;是解决某一实际问题的指令序列;2.指令:指令:就是要计算机执行某种操作的命令。就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令
2、有从计算机组成的层次结构来说,计算机的指令有微指令微指令、机器指令机器指令和和宏指令宏指令之分。之分。微指令:微指令:微程序级的命令,它属于硬件;微程序级的命令,它属于硬件;宏指令:宏指令:由若干条机器指令组成的软件指令,它属于软件;由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。独立的算术运算或逻辑运算。4.1 指令系统的发展和性能要求指令系统的发展和性能要求本讲稿第三页,共六十八页3.指令系统:指令系统:一台计算机中所有机器指令一台计算机中所有机器指
3、令的集合,它是表征一台计算机性能的重的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到要因素,其格式与功能不仅直接影响到机器的硬件结构也直接影响到系统软件,机器的硬件结构也直接影响到系统软件,影响到机器的适用范围。影响到机器的适用范围。本讲稿第四页,共六十八页下面我们来看一下计算机指令系统的发展过程下面我们来看一下计算机指令系统的发展过程50年代年代:指令系统只有定点加减、逻辑运算、:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。数据传送、转移等十几至几十条指令。60年代后期年代后期:增加了乘除运算、浮点运算、十:增加了乘除运算、浮点运算、十进制运算、字符
4、串处理等指令,指令数目多达进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。一二百条,寻址方式也趋多样化。60年代后期开始出现系列计算机年代后期开始出现系列计算机本讲稿第五页,共六十八页l系列计算机系列计算机是指节本指令系统相同、基本体系结构相同的一是指节本指令系统相同、基本体系结构相同的一系列计算机。系列计算机。其必要条件是同一系列的各机种有共同的指其必要条件是同一系列的各机种有共同的指令集而且新推出的机种指令系统一定包含所有旧机种令集而且新推出的机种指令系统一定包含所有旧机种的全部指令,即实现一个的全部指令,即实现一个“向上兼容向上兼容”。因此旧机种上运行。因此旧机种上
5、运行的各种软件可以不加任何修改便可在新机种上运行,大大减少的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。系列机解决了各机种的软件兼容问题了软件开发费用。系列机解决了各机种的软件兼容问题 本讲稿第六页,共六十八页4.1 指令系统的发展与性能要求3、发展情况n复杂指令系统计算机,简称CISC。但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。n精简指令系统计算机:简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算机。本讲稿第七页,共六十八页一个完善的指令系统应满足如下四方
6、面的要求:一个完善的指令系统应满足如下四方面的要求:1.完备性完备性用汇编语言编写各种程序时,指令系统直接提供的指令用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来足够使用,而不必用软件来实现实现。完备性要求指令系统丰富、功能齐全、使用方便。完备性要求指令系统丰富、功能齐全、使用方便。2.有效性有效性利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存占据存储空间小、执行速度快储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更。一般来说,一个功能更强、更完善的指令系统
7、,必定有更好的有效性。好的有效性。3.规整性规整性规整性包括指令系统的规整性包括指令系统的对称性对称性、匀齐性匀齐性、指令格式和数据格式的一致性指令格式和数据格式的一致性。对称性对称性指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;各种寻址方式;匀齐性匀齐性是指一种操作性质的指令可以支持各种数据类型;是指一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存是指指令长度和数据长度有一定的关系,以方便处理
8、和存取。取。4.兼容性兼容性系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容向上兼容”,即低档机上运行的,即低档机上运行的软件可以在高档机上运行。软件可以在高档机上运行。4.1.2对指令系统性能的要求对指令系统性能的要求本讲稿第八页,共六十八
9、页计算机语言具有高级语言和低级语言之分。计算机语言具有高级语言和低级语言之分。高级语言如高级语言如C,FORTRAN等,其语句和用法与具体机器的指令系统无关。等,其语句和用法与具体机器的指令系统无关。低级语言分低级语言分机器语言机器语言(二进制语言)和(二进制语言)和汇编语言汇编语言(符号语言),(符号语言),这两种这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。令代码编写程序,而符号语言用指令助记符来编写程序。高级语言与低级语言的性能比较高级语言与低级语
10、言的性能比较4.1.3低级语言与硬件结构的关系低级语言与硬件结构的关系本讲稿第九页,共六十八页高级语言与低级语言的性能比较高级语言与低级语言的性能比较本讲稿第十页,共六十八页4.2 指令格式指令格式指令字指令字(简称指令)即表示一条指令的机器字。(简称指令)即表示一条指令的机器字。指令格式指令格式则是指令字用二进制代码表示的结构形式,由则是指令字用二进制代码表示的结构形式,由操作码操作码字字段和段和地址码地址码字段组成。字段组成。操作码字段操作码字段地址码字段地址码字段操作码字段表征指令的操作特性与功能;操作码字段表征指令的操作特性与功能;操作码字段的位数取决于指令系统的规模,有操作码字段的位
11、数取决于指令系统的规模,有固定位数和可变位固定位数和可变位数数;若操作码字段的位数固定为若操作码字段的位数固定为n位,则指令系统最多可表示位,则指令系统最多可表示2n条指条指令。令。4.2.1操作码操作码本讲稿第十一页,共六十八页指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。例如,一个指组成操作码字段的位数一般取决于计算机指
12、令系统的规模。例如,一个指令系统只有令系统只有8条指令,则有条指令,则有3位操作码就够;如果有位操作码就够;如果有32条指令,那么就需要条指令,那么就需要5位操作码。位操作码。对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。常是固定的。在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的,即不同类型的指令有不同的划分,以便作码字段和地址码字段是不固定的,即不同类型的指令有不同的划分,以便尽可能用较短的指令字
13、长来表示越来越多的操作种类,并在越来越大的存储尽可能用较短的指令字长来表示越来越多的操作种类,并在越来越大的存储空间中寻址。空间中寻址。本讲稿第十二页,共六十八页n等长(指令规整,译码简单)n例如IBM 370机,该机字长32位,16个通用寄存器R0R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。n固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。本讲稿第十三页,共六十八页地址码字段通常指定参与操作的地址码字段通常指定参与操作的操作数的地址操作数的地址或或操作数本身操作数本身。根据一条指令中有几个操作数地址,可将该指令称为
14、几操作数指令或根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。几地址指令。一般的操作数有一般的操作数有被操作数被操作数、操作数操作数及及操作结果操作结果这三种数,因而就形这三种数,因而就形成了三地址指令格式。在此基础上,后来又发展成二地址格式、一地成了三地址指令格式。在此基础上,后来又发展成二地址格式、一地址格式和零地址格式址格式和零地址格式操作码操作码 1 2 3操作码操作码 1 2操作码操作码 1操作码操作码 4.2.2地址码地址码本讲稿第十四页,共六十八页二、地址码n三地址指令n指令格式如下:n操作码 第一操作数A1 第二操作数A2 结果A3 n功能描述:n(A1
15、)(A2)A3n(PC)+1PCn这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。A3A2A1本讲稿第十五页,共六十八页二、地址码n二地址指令n其格式如下:nn操作码第一操作数A1第二操作数A2n 功能描述:n(A1)(A2)A1n(PC)+1PCn二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。A2A1本讲稿第十六页,共六十八页二、地址码n二地址地址根据操作数的物理位置分为:nSS 存储器-存储器类型nRS 寄存器-存储器类型nRR 寄存器-寄存器类型慢本讲
16、稿第十七页,共六十八页二、地址码n一地址指令n指令格式为:n 操作码 第一操作数A1n功能描述:n(AC)(A1)ACn(PC)+1PCn单操作数运算指令,如“+1”、“-1”、“求反”n指令中给出一个源操作数的地址A1本讲稿第十八页,共六十八页二、地址码n零地址指令n其格式为:n 操作码n“停机”、“空操作”、“清除”等控制类指令。本讲稿第十九页,共六十八页指令字长度指令字长度:一个指令字中包含二进制代码的位数。有:一个指令字中包含二进制代码的位数。有等长等长和和变长变长两种。两种。等长指令的处理结构简单,在对于操作码字段位数可变的情况下,等长指令的处理结构简单,在对于操作码字段位数可变的情
17、况下,利用地址码的个数不同,可将操作码向地址码部分延伸,从而增加指利用地址码的个数不同,可将操作码向地址码部分延伸,从而增加指令条数。令条数。机器字长机器字长:计算机能直接处理的二进制数据的位数,它决定了计算:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。机的运算精度。4.2.3指令字长度指令字长度其中其中:L为指令字长度,为指令字长度,N为机器字长度为机器字长度本讲稿第二十页,共六十八页使用多字长指令,目的在于提供足够的地址位来解决访问内存任使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一何单元的寻址问题。其
18、主要缺点是必须两次或多次访问内存以取出一整条指令,降低了整条指令,降低了CPU的运算速度,又占用了更多的存储空间。的运算速度,又占用了更多的存储空间。等长指令字结构等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。指令字长度是不变的。变长指令字结构变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。指令长度,但指令的控制较复杂。本讲稿第二十一页,共六十八页由于硬件只能识别由于硬件只能识别1和和0,所以采用二进制操作码是必要的
19、,但是我,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。们用二进制来书写程序却非常麻烦。为了便于书写和阅读程序,每条指令通常用为了便于书写和阅读程序,每条指令通常用3个或个或4个英文缩写字母来个英文缩写字母来表示。这种缩写码叫做指令助记符。表示。这种缩写码叫做指令助记符。表表4.24.2典型的指令助记符典型的指令助记符典典 型型 指指 令令 指令助记符指令助记符 二进制操作码二进制操作码 加法加法 ADD 001 减法减法 SUB 010 传送传送 MOV 011 跳转跳转 JMP 100 转子转子 JSR 101 存储存储 STR 110 读数读数 LDA 1114.2
20、.4指令助记符指令助记符本讲稿第二十二页,共六十八页如上表所示,这里我们假定指令系统只有如上表所示,这里我们假定指令系统只有7条指令,所以操作码条指令,所以操作码只需只需3位二进制。位二进制。由于指令助记符提示了每条指令的意义,因此比较由于指令助记符提示了每条指令的意义,因此比较容易记忆,书写起来比较方便,阅读程序容易理解。容易记忆,书写起来比较方便,阅读程序容易理解。需要注意的是需要注意的是,在不同的计算机中,指令助记符的规定是不一,在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码。这样的。因此,指令助记符还必须转换成与它们相对应的二进制码。这
21、种转换借助汇编程序可以自动完成,汇编程序相当于一个种转换借助汇编程序可以自动完成,汇编程序相当于一个“翻译翻译”。本讲稿第二十三页,共六十八页1.八位微型计算机的指令格式八位微型计算机的指令格式8位微型机字长只有位微型机字长只有8位,指令结构是一种可变字长形式,包含单字长、位,指令结构是一种可变字长形式,包含单字长、双字长、三字长指令等多种。双字长、三字长指令等多种。操作码操作码 操作码操作码 1 2操作码操作码 1单字长指令单字长指令双字长指令双字长指令三字长指令三字长指令内存按字节编址,所以单字长指令每执行一条指令后,指令地址加。内存按字节编址,所以单字长指令每执行一条指令后,指令地址加。
22、双字长指令或三字长指令每执行一条指令时,指令地址要加双字长指令或三字长指令每执行一条指令时,指令地址要加2或加或加3,可见多,可见多字长的指令格式不利于提高机器速度。字长的指令格式不利于提高机器速度。4.2.5指令格式举例指令格式举例本讲稿第二十四页,共六十八页2.PDP/11系列机指令格式系列机指令格式PDP/11系列机指令字长系列机指令字长16位,其指令格式如下表所示。位,其指令格式如下表所示。表表4.3 PDP/114.3 PDP/11系列机指令格式系列机指令格式 从表中看出,在从表中看出,在PDP/11中,操作码字段是不固定的,其长度也是不相同中,操作码字段是不固定的,其长度也是不相同
23、的。这样做可以扩展操作码以包含较多的指令。但是操作码字段不固定,的。这样做可以扩展操作码以包含较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化。对控制器的设计来说必将复杂化。本讲稿第二十五页,共六十八页3、Pentium指令格式n指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统n由可选前缀(04)、操作码(12)、一个由mod-R/M字节和一个SIB(Scale Index Base)比例变址字节组成的地址指定器、一个可选的位移量(04)和一个可选的立即数字段(04)构成。指令前缀段取代操作数长度取代地址长度取代操作码ModReg或操作码R/MSIB位移量立即数
24、本讲稿第二十六页,共六十八页3、Pentium指令格式n指令前缀中的重复前缀指定串的重复操作,这样使Pentium处理串比软循环快得多。nLOCK前缀用于多CPU环境中对共享存储器的排他性访问n段取代用于改变默认段寄存器的情况n操作数长度取代和地址长度取代用于在保护模式下决定操作数和指令的长度n以下4个指令前缀都是可选的,分别为0或1个字节指令前缀段取代操作数长度取代地址长度取代本讲稿第二十七页,共六十八页3、Pentium指令格式n操作码是必须的,12个字节nMod、Reg、R/M为共1个字节,是可选的。nmod-R/M指定的操作数是在R中还是在M中。nmod(2位)R/M(3位)的32种值
25、构成了8种寄存器方式和24种变址方式(参考汇编语言教材);nReg或OP(3位)指定另一个操作数(寄存器)或用作OP的补充。操作码ModReg或操作码R/MSIB位移量立即数1个字节1个字节本讲稿第二十八页,共六十八页3、Pentium指令格式nS、I、B共1个字节,分别是比例系数、变址寄存器号、基址寄存器号,可选。mod-R/M中的某些编码要求SIB字节来完成寻址方式的指定;nSS(2)指定比例变换的因子,nIndex(2)指定变址寄存器,nBase(3)指定基址寄存器n位移量:可以是0,1,2,4个字节n立即数:可以是0,1,2,4个字节操作码ModReg或操作码R/MSIB位移量立即数本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 指令系统 精选 文档
限制150内