第7章指令系统优秀PPT.ppt
《第7章指令系统优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第7章指令系统优秀PPT.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章指令系统现在学习的是第1页,共81页7.1 7.1 指令概述指令概述 用用计计算算机机解解题题时时,一一般般都都要要编编制制程程序序,程程序序既既可可用用高高级级语语言言编编写,亦可用机器语言编写;写,亦可用机器语言编写;但计算机只能够识别和执行用但计算机只能够识别和执行用机器语言机器语言编写的程序;编写的程序;各种高级语言编写的应用程序,最终都要翻译成机器语言来执行。各种高级语言编写的应用程序,最终都要翻译成机器语言来执行。机器语言是由一系列的指令(语句)组成的;机器语言是由一系列的指令(语句)组成的;指令的格式就是机器语言的语法;指令的格式就是机器语言的语法;每条指令每条指令规定机器
2、完成一定的功能规定机器完成一定的功能。一台计算机的所有的一台计算机的所有的指令集合称为该机的指令系统指令集合称为该机的指令系统或指令集。它是或指令集。它是程序工作者编制程序的基本依据,也是进行计算机逻辑设计的基本程序工作者编制程序的基本依据,也是进行计算机逻辑设计的基本依据依据 。现在学习的是第2页,共81页指令系统基本概念机器指令(指令)计算机能直接识别、执行的某种操作命令。指令系统(指令集)一台计算机中所有机器指令的集合。机器硬件设计的依据,也是软件设计的基础。硬件和软件间的界面,直接影响计算机系统性能现在学习的是第3页,共81页7.2 指令系统的发展与性能要求7.2.1指令系统的发展 计
3、算机的程序是由一系列机器指令组成的。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分:微指令-微程序级的命令,解释执行机器指令。属于硬件 宏指令-由若干条机器指令组成的软件指令,完成某一特定功能。属于软件 机器指令-介于微指令与宏指令之间,通常简称为指令,完成某一特定操作。本章所讨论的指令,是机器指令。1.1.指令系统指令系统指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。现在学习的是第4页,共81页2 2指令系统的发展指令系统的发展(1 1)系列计算机)系列计算机系列计算机是指基本指令系
4、统相同、基本体系结构相同的一个系列的各种型号的计算机。其必要条件是同一系列的各机种有共同的指令集而且新推出机种的指令系统一定应包含所有旧机种的全部指令,即实现向上兼容。这样,旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。系列机解决了各机种的软件兼容问题。(2 2)指令系统结构)指令系统结构从计算机指令系统的角度看当前的计算机指令系统结构分为两大类:复杂指令集计算机(CISC)精简指令集计算机(RISC)现在学习的是第5页,共81页7070年代末期年代末期:大多数计算机的指令系统多达几百条。我们称这些大多数计算机的指令系统多达几百条。我们称这些计算机为计算机为
5、复杂指令系统计算机复杂指令系统计算机(CISC)(CISC)。但是如此庞大的指令系统难以保证正确性,不易调试但是如此庞大的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又提出了易于维护,造成硬件资源浪费。为此人们又提出了易于采用采用VLSIVLSI技术实现的技术实现的精简指令系统计算机精简指令系统计算机(RISCRISC)。)。现在学习的是第6页,共81页3 3指令系统的性能要求指令系统的性能要求 一个完善的指令系统应满足如下四方面的要求:一个完善的指令系统应满足如下四方面的要求:(1 1)完备性完备性。完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令。完备性是指用
6、汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。便。(2 2)有效性有效性。有效性是指利用该指令系统所编写的程序能够高效率地运行。有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。高效率主要表现在程序占据存储空间小、执行速度快。(3 3)规整性规整性。规整性包括指令系统的对称性、匀齐性、指令格式和数据格式。规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。的一致性。对称性:在指令系统中所有
7、的寄存器和存储器单元都可同等对待,所有的对称性:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;指令都可使用各种寻址方式;匀齐性:一种操作性质的指令可以支持各种数据类型;匀齐性:一种操作性质的指令可以支持各种数据类型;格式一致性:指令长度和数据长度有一定的关系,以方便处理和存取。格式一致性:指令长度和数据长度有一定的关系,以方便处理和存取。(4 4)兼容性兼容性:至少要能做到:至少要能做到 向上兼容向上兼容,即低档机上运行的软件可以在高档机上,即低档机上运行的软件可以在高档机上运行。运行。现在学习的是第7页,共81页指令系统的性能完善的指令系统完备性高效性规整
8、性兼容性现在学习的是第8页,共81页4低级语言与硬件结构的关系 计算机的程序是计算机能够识别的一串指令或语句。编写程序的过程,称为程序设计,而程序设计所使用的工具则是计算机语言 计算机语言有高级语言和低级语言之分。高级语言语句和用法与具体机器的指令系统无关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,它们和具体机器的指令系统密切相关。现在学习的是第9页,共81页传统机器级计算机系统的层次结构5.高级语言级4.汇编语言级3.操作系统级2.一般机器级1.微程序设计级现在学习的是第10页,共81页 综上所述,汇编语言与硬件的关系密切,编写的程序紧凑、占内存小
9、、速度快,特别适合于编写经常与硬件打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,特别适合于编写与硬件没有直接关系的应用软件。现在学习的是第11页,共81页7.3 7.3 指令格式指令格式 指令由操作码和地址码两部分组成,它的基本格式如下:指令由操作码和地址码两部分组成,它的基本格式如下:操操 作作 码码 地地 址址 码码 操作码是说明指令操作性质的二进制数代码。操作码是说明指令操作性质的二进制数代码。操作码所占的二进制位数决定了一台计算机所能允许的指令操作码所占的二进制位数决定了一台计算机所能允许的指令 条数。条数。例如,操作码占用六位二进制码时,这台计算机最多允许
10、有:例如,操作码占用六位二进制码时,这台计算机最多允许有:2 26 664 64 条指令条指令1.1.操作码操作码现在学习的是第12页,共81页 2.2.地址码地址码 根据一条指令中有几个操作数地址,可将该指令称为几操根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。作数指令或几地址指令。一般的操作数有被操作数、操作数及操作结果这三种数,一般的操作数有被操作数、操作数及操作结果这三种数,因而就形成了三地址指令格式。在此基因而就形成了三地址指令格式。在此基础上,后来又发展成二地址格式、一地址格式和零地址础上,后来又发展成二地址格式、一地址格式和零地址格式,如下图所示:格式,
11、如下图所示:操作码操作码A1A1A2A2A3A3操作码操作码A1A1A2A2操作码操作码A A操作码操作码三地址指令三地址指令 二地址指令二地址指令 单地址指令单地址指令 零地址指令零地址指令 三地址指令字中有三个操作数地址。三地址指令字中有三个操作数地址。(A1)(A1)OPOP(A2)(A2)A3A3 A1A1为被操作数地址,也称源操作数地址;为被操作数地址,也称源操作数地址;A2 A2为操作数地址,为操作数地址,也称终点(目的)操作数地址;也称终点(目的)操作数地址;A3 A3为存放结果的地址。同样,为存放结果的地址。同样,A1,A2,A3A1,A2,A3既可以是内存中的单元地址,也可以
12、是运算器中通用寄既可以是内存中的单元地址,也可以是运算器中通用寄存器的地址。存器的地址。单地址指令又称为单操作数指令。通常这种指令通常以运算器中累加单地址指令又称为单操作数指令。通常这种指令通常以运算器中累加寄存器寄存器ACAC中的数据为被操作数,指令字的地址码字段所指明的数为操作中的数据为被操作数,指令字的地址码字段所指明的数为操作数,操作结果又放回累加寄存器数,操作结果又放回累加寄存器ACAC中。中。(AC)(AC)OPOP(A)(A)ACACOPOP表示操作性质;(表示操作性质;(ACAC)表示累加寄存器)表示累加寄存器ACAC中的数;(中的数;(A A)表示内)表示内存中地址为存中地址
13、为A A的存储单元中的数或运算器中地址为的存储单元中的数或运算器中地址为A A的通用寄存器中的数;的通用寄存器中的数;表示把操作(运算)结果传送到指定的地方。表示把操作(运算)结果传送到指定的地方。二地址指令常称为双操作数指令,它的两个地址码字段二地址指令常称为双操作数指令,它的两个地址码字段分别指明参与操作的两个数在内存中或运算分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,器中通用寄存器的地址,A1A1作存放操作结果的地址。作存放操作结果的地址。(A1)(A1)OPOP(A2)(A2)A1A1 零地址指令的指令字中只有操作码,而没有地址码。零地址指令的指令字中只有操作码,而没有
14、地址码。现在学习的是第13页,共81页7.3.1 操作码(OP)与地址码(AC)指令系统中每一条指令对应一个操作码 操作码的长度取决于指令系统的规模 LOP=log2n 定长指令、变长指令 地址码包括被操作数,操作数,操作结果 操作码字段地址码字段现在学习的是第14页,共81页1、指令分类方法按计算机系统的层次结构分类 按操作数个数分类 按操作数物理位置分类现在学习的是第15页,共81页2、计算机系统层次结构对指令分类微指令:微程序级的指令,属于硬件层面 机器指令:每一条机器指令可以完成一个独立的运算。宏指令:若干机器指令组成的软件指令,属于软件 现在学习的是第16页,共81页3、按操作数个数
15、分类OPA1A2A3 三地址指令 OPA1A2 二地址指令 OPA1 一地址指令 OP零地址指令(A1)OP(A2)(A3)(A1)OP(A2)(A1)(AC)OP(A)AC如停机,空操作,堆栈指令现在学习的是第17页,共81页4、按操作数的物理位置分类 访问内存 存储器存储器(存储器存储器(SSSS)型)型 访问寄存器访问寄存器 寄存器寄存器(寄存器寄存器(RRRR)型)型 访问内存和寄存器型 寄存器存储器(寄存器存储器(RSRS)型)型 现在学习的是第18页,共81页5、指令字长度指令中包含二进制代码的位数 与机器字的长度有关:单字长,双字长,半字长。采用多字长指令的目的 解决寻址较大存储
16、空间的问题 取指令要多次访内,影响速度,占用存储空间较大。等长指令:结构简单,控制线路简单。变长指令:结构灵活,充分利用指令长度,控制复杂 现在学习的是第19页,共81页6、指令字助记符 ADD SUB MOV JMP STR LDA现在学习的是第20页,共81页7 7、指令操作码的扩展技术、指令操作码的扩展技术(1)(1)操作码定长操作码定长mm 2 2n n一般在指令字的最高位分配若干个固定位表示操作码。一般在指令字的最高位分配若干个固定位表示操作码。若操作码占用若操作码占用n n位,则可以表示多少条不同的指令?位,则可以表示多少条不同的指令?操作码定长编码法的特点是什么?操作码定长编码法
17、的特点是什么?(2)(2)操作码长度可变操作码长度可变这种格式对于简化硬件设计,减少指令译这种格式对于简化硬件设计,减少指令译码时间非常有利,在字长较长的大、中型码时间非常有利,在字长较长的大、中型机和超级小型机以及机和超级小型机以及RISCRISC上广泛采用。上广泛采用。各指令操作码的位置、位数不固定,根据需要变化。各指令操作码的位置、位数不固定,根据需要变化。这种格式能够有效地压缩程序中操作码的平均长度,这种格式能够有效地压缩程序中操作码的平均长度,在字长较短的微型机上广泛采用。在字长较短的微型机上广泛采用。如如Z80Z80、Intel8086Intel8086PentiumPentium
18、等。等。含义?含义?优点?优点?缺点?缺点?增加指令译码和分析的难度,使控制器的设计复杂化。增加指令译码和分析的难度,使控制器的设计复杂化。现在学习的是第21页,共81页例例.指令字长指令字长1616位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,个地址,每个地址占每个地址占4 4位,可表示多少条指令?位,可表示多少条指令?操作码操作码 地址码地址码151211874300000 0000 X Y ZX Y Z 1110 1110 X Y ZX Y Z.1111111 1 0000 0000 Y ZY Z 1111111 1 1110 1110 Y ZY Z.三地址指令三地址指令
19、15 15条条二地址指令二地址指令 15 15条条11111111 1111111 1 0000 0000 Z Z 1111 1111111 1111 1 1110 1110 Z Z.一地址指令一地址指令 15 15条条11111111 11111111 1111111 1 0000 0000 1111 11111111 1111 1111111 1 1111 1111.零地址指令零地址指令 16 16条条可表示可表示6161条指令条指令现在学习的是第22页,共81页例:若指令字长是例:若指令字长是1616位,若零地址指令有位,若零地址指令有1515条、一地址指令条、一地址指令3131条、二地
20、址指令条、二地址指令1414条、三地址指令条、三地址指令1515条。假设每个地址码条。假设每个地址码需要用需要用4 4位的二进制表示,该指令系统应如何编码?位的二进制表示,该指令系统应如何编码?可变长度的指令系统的设计,到底使用何种扩展方法有可变长度的指令系统的设计,到底使用何种扩展方法有一一个重要的原则个重要的原则:就是使用就是使用频度频度(即指令在程序中的出现概率即指令在程序中的出现概率)高高的指令应的指令应分配分配短短的操作码;使用频度低的指令相应地分配较的操作码;使用频度低的指令相应地分配较长长的操的操作码。作码。(霍夫曼编码法)(霍夫曼编码法)作用:有效地缩短操作码在程序中的平均长度
21、,节省存储作用:有效地缩短操作码在程序中的平均长度,节省存储器空间,缩短了经常使用的指令的译码时间,因而可以提高程器空间,缩短了经常使用的指令的译码时间,因而可以提高程序的运行速度。序的运行速度。现在学习的是第23页,共81页 例题:假如某计算机模型:7条指令(I1I7),程序中出现的概率用Pi表示,则可考虑表51所示的方案,这就是扩展操作码,使用频率高的指令的操作码为2位,低的用4位。这不是压缩到最小代码的方案,因为在计算机中的操作码还是希望有一定的规整性,否则会引起硬件实现的复杂化。由由此此可可见见,操操作作码码扩扩展展技技术术是是一一种种重重要要的的指指令令优优化化技技术术,它它可可以以
22、缩缩短短指指令令的的平平均均长长度度,减减少少程程序序的的总总位位数数以以及及增增加加指指令令字字所所能能表表示示的的操操作作信信息息。当当然然,扩扩展展操操作作码码比比固固定定操操作作码码译译码码复复杂杂,使使控控制制器的设计难度增大,且需更多的硬件来支持。器的设计难度增大,且需更多的硬件来支持。现在学习的是第24页,共81页8 8、指令长度与字长的关系指令长度与字长的关系 字长:字长:指计算机能直接处理的二进制数据的位指计算机能直接处理的二进制数据的位数数,它是计算机的一个重要技术指标。,它是计算机的一个重要技术指标。作用作用:字长决定了计算机的运算精度,字长越长,计字长决定了计算机的运算
23、精度,字长越长,计算机的运算精度越高。算机的运算精度越高。一般机器的字长都是字节长度一般机器的字长都是字节长度(即即8 8位位)的的l l,2 2,4 4或或8 8倍倍数。数。指令的长度:主要取决于指令的长度:主要取决于操作码的长度操作码的长度、操作数地址的长操作数地址的长度度和和操作数地址的个数操作数地址的个数。各指令的长度不是固定的,但也不是任。各指令的长度不是固定的,但也不是任意的。意的。指令的长度通常为字节的整数倍。指令的长度通常为字节的整数倍。现在学习的是第25页,共81页 指指令令的的长长度度与与机机器器的的字字长长没没有有固固定定的的关关系系,它它既既可可以以小小于于或或等等于于
24、机机器器的的字字长长,也也可可以以大大于于机机器器的的字字长长。前前者者称称为为短短格格式式指指令令,后后者者称称为为长长格格式式指指令令,一一条条指指令令存存放放在地址连续的存储单元中。在地址连续的存储单元中。在同一台计算机中可能既有短格式指令又有长格式指在同一台计算机中可能既有短格式指令又有长格式指令,但通常是把最常用的指令令,但通常是把最常用的指令(如算术逻辑运算指令、数如算术逻辑运算指令、数据传送指令据传送指令)设计成短格式指令,以便节省存储空间和提设计成短格式指令,以便节省存储空间和提高指令的执行速度。高指令的执行速度。例:例:out port,AL-out port,AL-长格式长
25、格式 out DX,AL out DX,AL-短格式短格式现在学习的是第26页,共81页7、PDP-11 指令格式举例OP(10bit)MODE(3)Rn(3)OP(10bit)MODE(3)Rn(3)MODE(3)Rn(3)源操作数 被操作数 寻址模式 操作数地址 单字长指令双字长指令 现在学习的是第27页,共81页第一字节第一个半字第二个半字第三个半字第二字节 第三字节 第四字节 第五字节 第六字节IBM 370系列机的指令格式(1)R1OPR2RR型OPR1R2RRE型RR型指令与RRE型指令是寄存器-寄存器型指令,参加运算的操作数都在通用寄存器中。现在学习的是第28页,共81页第一字节
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 优秀 PPT
限制150内