《计算机组成原理 指令系统 (2)精选PPT.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理 指令系统 (2)精选PPT.ppt(100页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理 指令系统第1页,此课件共100页哦指令系统指令系统:一台计算机中所有机器指令的集合:一台计算机中所有机器指令的集合。-表征一台计算机性能的重要因素,其格式与功表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。系统软件,影响到机器的适用范围。系列计算机系列计算机:指基本指令系统相同、基本体系结构相同指基本指令系统相同、基本体系结构相同的一系列计算机的一系列计算机27.1 7.1 指令系统概述指令系统概述第2页,此课件共100页哦RISC与与CISCCISC:复杂指令系统计
2、算机:复杂指令系统计算机(ComplexInstructionSetComputer)增强指令功能,设置功能复杂的指令增强指令功能,设置功能复杂的指令面向目标代码,面向高级语言、面向操作系统面向目标代码,面向高级语言、面向操作系统用一条指令代替一串指令用一条指令代替一串指令RISC:简单指令系统计算机:简单指令系统计算机(ReducedInstructionSetComputer)只保留功能简单的指令只保留功能简单的指令 功能较复杂的指令用子程序来实现功能较复杂的指令用子程序来实现第3页,此课件共100页哦指令系统的分类指令系统的分类不同的计算机,其用途不同,系统结构不同,采用的硬软件不同的计
3、算机,其用途不同,系统结构不同,采用的硬软件技术不同,其指令系统的功能也不同,有的强大,有的弱技术不同,其指令系统的功能也不同,有的强大,有的弱小,但其指令不外乎以下几类:小,但其指令不外乎以下几类:1.1.算逻运算类算逻运算类 2.2.数据传送类数据传送类 3.3.指令控制类指令控制类 4.I/O类类 5.5.其它:停机其它:停机4第4页,此课件共100页哦5一、对指令系统的基本要求一、对指令系统的基本要求 1.1.完备性完备性 系统中能提供足够的指令用于编程系统中能提供足够的指令用于编程 如如:加加、减减、乘乘、除除都都有有,若若只只有有加加法法、移移位位指指令令,乘乘法法:只能用用加法、
4、移位实现,速度慢只能用用加法、移位实现,速度慢 2.2.有效性有效性 采用该指令系统编的程序能高效地运行:速度快、占内存少。采用该指令系统编的程序能高效地运行:速度快、占内存少。即:指令格式要短,多用寄存器寻址,少访内即:指令格式要短,多用寄存器寻址,少访内 指令系统的发展指令系统的发展 第5页,此课件共100页哦63 3、规整性、规整性 指令对称:寄存器,内存单元被同待,用多种寻址方式指令对称:寄存器,内存单元被同待,用多种寻址方式 均匀整齐:指令支特各种数据格式:均匀整齐:指令支特各种数据格式:8 8、1616、3232、6464等等 与数据格式一致:指令字长与数据字长有一定关系与数据格式
5、一致:指令字长与数据字长有一定关系(字节的倍数字节的倍数)4 4、兼容性、兼容性 向上兼容向上兼容系列机系列机 新新机机种种要要包包含含旧旧机机种种的的所所有有指指令令系系统统,低低档档机机上上的的软软件件可可以以到到高档机上运行,但反之不行。高档机上运行,但反之不行。指令系统的发展指令系统的发展 第6页,此课件共100页哦7系列机:系列机:基本指令系统相同,基本结构相同的一系列计算机。基本指令系统相同,基本结构相同的一系列计算机。VAX-11,PDP-11,IBM-PC,DJS-130,长城长城0520等。等。说说明明:一一个个系系列列有有多多种种型型号号,各各型型号号的的结结构构基基本本相
6、相同同,由由于于推推出出的的时时间间不不同同,所所采采用用的的器器件件不不同同,故故结结构构、性性能能有有差差异异,但但系系列列机必须做到一点:机必须做到一点:软件兼容软件兼容(向上)(向上)要求:要求:各机种有相同的指令集。各机种有相同的指令集。新新机机种种的的指指令令系系统统一一定定包包含含所所有有旧旧机机种种的的所所有有指指令令系系统统,以以保保证证在在旧旧机机种种上上运运行行的的各各种种软软件件,可可以以不不加加修修改改地地在在所所机机种上运行种上运行 指令系统的发展指令系统的发展 第7页,此课件共100页哦8二、从二、从CISC到到RISCCISC思想:思想:机机器器功功能能强强,指
7、指令令条条数数多多,指指令令系系统统庞庞大大,研研制制周周期期长长,系统效率低。系统效率低。RISC思想:思想:指指令令系系统统尽尽可可能能简简单单,尽尽是是减减少少指指令令的的执执行行时时间间以以提提高高效效率率(多多用用寄寄存存器器指指令令,少少用用访访内内指指令令,指指令令格格式式一一致致,寻寻址址方方式简单)式简单)指令系统的发展指令系统的发展 第8页,此课件共100页哦机器语言机器语言:0 0、1 1代码,机器可直接识别;代码,机器可直接识别;汇编语言汇编语言:符号化、需汇编程序翻译;:符号化、需汇编程序翻译;高级语言高级语言:B B、F F、C C、P P需翻译(编译或解释)需翻译
8、(编译或解释)机器语言是以机器指令的形式书写的语言,其它类型的语言,机器语言是以机器指令的形式书写的语言,其它类型的语言,只有变成机器指令的形式,机器才能直接执行。只有变成机器指令的形式,机器才能直接执行。高级语言与计算机的硬件结构及指令系统无关,汇编语高级语言与计算机的硬件结构及指令系统无关,汇编语言依赖于计算机的硬件结构和指令系统。不同的机言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。在其他类型的机器上运行。低级语言与硬件结构的关系低级语言与硬件结构的关系 第9页,此课件共100页
9、哦指令系统指令系统的设计的设计指令系统是从程序设计者看到的机器的主要属性,指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面是软、硬件的主要界面指令系统的设计主要包括指令系统的设计主要包括指令的功能指令的功能(操作类(操作类型、具体操作内容)和型、具体操作内容)和指令格式指令格式的设计的设计.第10页,此课件共100页哦内内 容容指令系统设计的基本原则指令系统设计的基本原则指令操作码的优化指令操作码的优化指令字格式的优化指令字格式的优化 第11页,此课件共100页哦指令设计的步骤指令设计的步骤根据应用,初拟出指令的分类和具体的指令;根据应用,初拟出指令的分类和具体的指令;试编出用
10、该指令系统设计的各种高级语言的编译程试编出用该指令系统设计的各种高级语言的编译程序;序;对各种算法白那些大量测试程序进行模拟测试,看指令对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高;系统的操作码和寻址方式效能是否都比较高;将程序中高频出现的指令串复合改成一条强攻能新指将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方作改成基本的指令组成的指令串来完成,即用软件方式实现;式实现;第12页,此课件共100页哦指令类型指令类型
11、非特权型:主要供应应用程序员使用,也可供系统程非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等;字符串、十进制运算、控制转移及系统控制等;特权型:系统程序员使用,用户无权使用,有启动特权型:系统程序员使用,用户无权使用,有启动I/OI/O(多用户环境下)、停机等待、存储管理保护、控制系(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;统状态、诊断等;第13页,此课件共100页哦指令系统的设计指令系统的设计设计的原则:如何支持编译系统能高效、简易地将
12、源程设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。序翻译成目标代码。规整性规整性对称性对称性独立性和全能性独立性和全能性正交性正交性可组合性可组合性可扩充性可扩充性第14页,此课件共100页哦系统设计人员希望系统设计人员希望指令码密度适中指令码密度适中高密度指令:强功能符合指令高密度指令:强功能符合指令优点:减少程序长度、访存次数、优点:减少程序长度、访存次数、CacheCache、虚存访、虚存访问调度次数、程序运行时间;问调度次数、程序运行时间;缺点:指令系统复杂,硬件实现困难;缺点:指令系统复杂,硬件实现困难;兼容性兼容性适应性适应性第15页,此课件共100页哦指令系统
13、的设计包含的内容指令系统的设计包含的内容指令的类型指令的类型操作功能操作功能指令的格式指令的格式操作数的访问方式操作数的访问方式-寻址方式寻址方式第16页,此课件共100页哦7.3 7.3 指令格式指令格式指令格式指令格式:由:由操作码操作码和和地址码地址码两部分组成。两部分组成。操作码:操作码:指明本条指令的操作功能。如算术运算、逻辑指明本条指令的操作功能。如算术运算、逻辑运算、存数、取数、转移等。每条指令分配一个确定的运算、存数、取数、转移等。每条指令分配一个确定的操作码。操作码。操作数地址码:操作数地址码:指出该条指令涉及的操作数的地址。指出该条指令涉及的操作数的地址。第17页,此课件共
14、100页哦18指令字长指令字长:一个指令字中包含二进制的位数:一个指令字中包含二进制的位数 机器字长:机器字长:指计算机能直接处理的二进制数据的位数,它决定了指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。计算机的运算精度。机器字长通常与主存单元的位数一致机器字长通常与主存单元的位数一致 单字长指令单字长指令:指令字长指令字长=机器字长机器字长 半字长指令半字长指令:指令字长指令字长=1/2=1/2机器字长机器字长 双字长指令:双字长指令:指令字长指令字长=2=2倍机器字长倍机器字长 4.3 4.3 指令格式指令格式第18页,此课件共100页哦19指令格式的设计指令格式的设计
15、一条指令由操作码和操作数地址码两部分组成。一条指令由操作码和操作数地址码两部分组成。指令格式与机器字长,存贮器容量及指令功能都有很大指令格式与机器字长,存贮器容量及指令功能都有很大关系关系 从从便便于于程程序序设设计计,增增加加基基本本操操作作的的并并行行性性,提提高高指指令令功功能能的的角角度度看看,指指令令中中所所包包含含的的信信息息越越多多越越好好,但但这这将将导导改改指指令令所所占占存存贮贮空空间间的的浪浪费费,增增加加访访存存决决数数,从从而而影影响响速速度度。因因此此,如如何何合合理理地地、设设计计指指令令格格式式,使使指指令令既既能能给给出出足足够够的的信信息息,又又便便于于节节
16、省省存存贮贮空空间间,从从而而提提高高机器性能机器性能,是指令格式设计中的一个,是指令格式设计中的一个重要重要的问题。的问题。第19页,此课件共100页哦指令主要由两部分组成:指令主要由两部分组成:操作码和地址码操作码和地址码操作码操作码主要包括两部分内容:主要包括两部分内容:操作种类操作种类:加、减、乘、除、数据传送、移位、转移、输入输出加、减、乘、除、数据传送、移位、转移、输入输出操作数描述操作数描述数据的类型数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量:定点数、浮点数、复数、字符、字符串、逻辑数、向量进位制进位制:2 2进制、进制、1010进制、进制、1616进制进制数据
17、字长数据字长:字、半字、双字、字节:字、半字、双字、字节地址码地址码通常包括三部分内容:通常包括三部分内容:地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号地址的附加信息:偏移量、块长度、跳距地址的附加信息:偏移量、块长度、跳距寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址存器寻址第20页,此课件共100页哦指令设计要考虑的问题操作数的存储形式操作数的存储形式存储器存储器CPUCPU内什么地方内什么地方每条指令中显式说明的操作数个数每
18、条指令中显式说明的操作数个数操作数的位置操作数的位置操作类型操作类型操作数的类型和长短操作数的类型和长短第21页,此课件共100页哦指令的分类第22页,此课件共100页哦指令格式的优化 指令指令=操作码操作码+地址码地址码指令格式的优化:指令格式的优化:如何用最短的位数来表示如何用最短的位数来表示 指令的操作信息和地址信息,使程序中指指令的操作信息和地址信息,使程序中指 令的平均字长最短。令的平均字长最短。主要目标:主要目标:节省程序的存储空间节省程序的存储空间指令格式尽量规整,便于译码指令格式尽量规整,便于译码第23页,此课件共100页哦操作码的编码操作码的编码 操作码的三种编码方法:操作码
19、的三种编码方法:固定长度固定长度:规整性好,解码简单,空间大。规整性好,解码简单,空间大。IBMIBM公司的大中型机:最左边公司的大中型机:最左边8 8位为操作码位为操作码IntelIntel公司的公司的IntaniumIntanium处理机:处理机:1414位定长操作码位定长操作码许多许多RISCRISC处理机采用定长操作码处理机采用定长操作码HuffmanHuffman编码:编码:空间小,规整性不好,解码复杂空间小,规整性不好,解码复杂。扩展编码扩展编码:折衷方案。折衷方案。固定长度4Huffman编码2.12扩展编码3.12信息源熵2.09第24页,此课件共100页哦改进操作码编码方式能
20、够节省程序存储空间改进操作码编码方式能够节省程序存储空间例如:例如:BurroughsBurroughs公司的公司的B-1700B-1700机机操作码操作码编码方式编码方式整个操作系统所用整个操作系统所用指令的操作码总位数指令的操作码总位数改进的改进的百分比百分比8 8位定长编码位定长编码4-6-104-6-10扩展编码扩展编码HuffmanHuffman编码编码301,248184,966172,34603943第25页,此课件共100页哦哈夫曼(哈夫曼(HuffmanHuffman)压缩)压缩当各种事件发生的概率不均等时,采用优化技当各种事件发生的概率不均等时,采用优化技术对发生概率最高的
21、事件用最短的位数(时间)术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到较长的位数(时间)来表示(处理),以达到平均位数减少的目的。平均位数减少的目的。用于代码压缩、程序压缩、空间压缩和时间压用于代码压缩、程序压缩、空间压缩和时间压缩缩 第26页,此课件共100页哦操作码的优化表示操作码的优化表示 信息源熵:信息源包含的平均信息量。信息源熵:信息源包含的平均信息量。信息冗余量:信息冗余量:第27页,此课件共100页哦举例举例 七条指令,频度如下七条指令,频度如下 I1 I2 I3
22、I4 I5 I6 I70.4 0.3 0.15 0.05 0.04 0.03 0.03 信息源熵信息源熵H=2.17 H=2.17 信息冗余量信息冗余量=0.28=28%=0.28=28%第28页,此课件共100页哦1.000.600.300.150.060.030.030.040.050.150.300.400.0911111100000(11111)(11110)(11101)(11100)(110)(10)(0)I7I6I1I2I3I4I50第29页,此课件共100页哦扩展编码扩展编码 HuffmanHuffman操作码的主要缺点:操作码的主要缺点:操作码长度很不规整,硬件译码困难操作码
23、长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难与地址码共同组成固定长的指令比较困难扩展编码法:扩展编码法:由固定长操作码与由固定长操作码与HuffmanHuffman编码法相结合形成编码法相结合形成减少平均长度减少平均长度方便译码方便译码第30页,此课件共100页哦上例:上例:HuffmanHuffman用四种长度用四种长度 0 0,1010,110110,1110011100,1110111101,1111011110,1111111111 I1 I1、I2I2、I3I3用两位:用两位:0000、0101、1010 I4 I4、I5I5、I6I6、I7I7用四位:用四位:11
24、001100、11011101、11101110、11111111 平均码长平均码长=2.30=2.30 信息冗余量信息冗余量=0.0565=5.65%=0.0565=5.65%第31页,此课件共100页哦Huffman编码方法 写出每个事件出现频度写出每个事件出现频度找出两个时间出现频度最低的数字,相加形成找出两个时间出现频度最低的数字,相加形成新的频度新的频度重复(重复(2 2),直到出现频度为),直到出现频度为1 1,建立,建立HuffmanHuffman树树确定确定HuffmanHuffman代码表代码表 第32页,此课件共100页哦说明说明 目的:平均码长减少。目的:平均码长减少。H
25、uffmaHuffma代码不唯一代码不唯一0 0,1 1对换对换合并次序合并次序 第33页,此课件共100页哦 假设一台模型计算机共有假设一台模型计算机共有7 7种不同的操作码,如果种不同的操作码,如果采用固定长操作码需要采用固定长操作码需要3 3位。已知各种操作码在程位。已知各种操作码在程序中出现的概率如下表,计算采用序中出现的概率如下表,计算采用HuffmanHuffman编码法编码法的操作码平均长度,并计算固定长操作码和的操作码平均长度,并计算固定长操作码和HuffmanHuffman操作码的信息冗余量。操作码的信息冗余量。利用利用HuffmanHuffman树进行操作码编码的方法,又称
26、为树进行操作码编码的方法,又称为最小概率合并法。最小概率合并法。指令I1概率 0.45I20.30I30.15I40.05I50.03I60.01I70.01举例举例1 1第34页,此课件共100页哦把所有指令按照操作码在程序中出现的概率,自左向右从排列好。把所有指令按照操作码在程序中出现的概率,自左向右从排列好。选取两个概率最小的结点合并成一个概率值是二者之和的新结点,选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。并把这个新结点与其它还没有合并的结点一起形成新结点集合。在新结点集合中选取两个概率最小的结点进行合并,如此继续进
27、在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。行下去,直至全部结点合并完毕。最后得到的根结点的概率值为最后得到的根结点的概率值为1 1。每个结点都有两个分支,分别用一位代码每个结点都有两个分支,分别用一位代码“0”0”和和“1”1”表示。表示。第35页,此课件共100页哦从根结点开始,沿尖头所指方向,到达属于该指令的概从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。操作码编码。解:采用解:采用HuffmanHuffman编码法所得到的操作码的平均长
28、度编码法所得到的操作码的平均长度0.4510.4510.3020.3020.1530.1530.0540.0540.0350.0350.0160.0160.0160.0161.971.97(位)(位)熵熵H H0.451.1520.451.1520.301.7370.301.7370.152.7370.152.7370.054.3220.054.3220.035.0590.035.0590.016.6440.016.6440.016.6440.016.6441.951.95(位)(位)第36页,此课件共100页哦0.450.300.150.050.030.010.011.000.550.250
29、.100.050.02010101010101第37页,此课件共100页哦指令序号概率Huffman编码法操作码长度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.0111111116位采用采用3 3位固定长操作位固定长操作码的信息冗余量为:码的信息冗余量为:第38页,此课件共100页哦例如:把上例改为例如:把上例改为1-2-3-51-2-3-5扩展编码法,其操作码最短平扩展编码法,其操作码最短平均长度为:均长度为:H H=0.4510.4510.3020.3020.1530.153(0.05(0
30、.050.030.030.010.010.01)50.01)5=2.002.00信息冗余量为:信息冗余量为:又例如:把上例改为又例如:把上例改为2-42-4等长扩展编码法,其操作码最短平等长扩展编码法,其操作码最短平均长度为:均长度为:H H=(0.45+0.30+0.15)2+(0.45+0.30+0.15)2+(0.05+0.03+0.01+0.01)4(0.05+0.03+0.01+0.01)4=2.202.20信息冗余量为:信息冗余量为:第39页,此课件共100页哦序号概率1-2-3-5扩展编码I10.450I20.3010I30.15110I40.0511100I50.0311101
31、I60.0111110I70.01111112-4等长扩展编码0001101100110111101111平均长度2.02.2信息冗余量2.5%11.4%7 7条指令的操作码扩展编码法条指令的操作码扩展编码法第40页,此课件共100页哦操作码等长扩展编码法 第41页,此课件共100页哦第42页,此课件共100页哦43地址码指出参与操作的数据(存贮位置)地址码指出参与操作的数据(存贮位置)计算机计算机操作数的来源、去处:操作数的来源、去处:1 1、CPUCPU内部的通用寄存器内部的通用寄存器:最快,最快,与运算器速度匹配,例如与运算器速度匹配,例如MOVER2,R12、内存的一个单元内存的一个单
32、元:次之,次之,与运算器速度不匹配,尽量少访内,与运算器速度不匹配,尽量少访内,例如例如MOVER12,R13、外设接口中的寄存器外设接口中的寄存器:最慢,最慢,较少使用较少使用例如例如INPORT据指令中地址码部分据指令中地址码部分地址的个数地址的个数,指令格式可分为以下几种:,指令格式可分为以下几种:地址码的设计安排地址码的设计安排 第43页,此课件共100页哦441.1.四地址指令四地址指令 2.2.3.3.4.4.特点:特点:直观,明了直观,明了 地址码太长,指令字太长,信息利用率低地址码太长,指令字太长,信息利用率低 1.1.访内次数太多,执行速度慢访内次数太多,执行速度慢 2.2.
33、下一条指令地址在指令中给出,程序转移不方便,现已淘汰,下一条指令地址在指令中给出,程序转移不方便,现已淘汰,只有早期的机器使用。只有早期的机器使用。OPA1A2A3A4第一操作数地址第一操作数地址第二第二结果结果下一条指令地址下一条指令地址设字长设字长4242位位 OP 6OP 6位位 每个每个D D为为9 9位位 寻址空间:寻址空间:2 29 9指令格式的设计指令格式的设计 第44页,此课件共100页哦452.2.三地址指令三地址指令 PC-PC-下一条指令地址下一条指令地址 特点:特点:指令字仍较长,访内次数较多,一般大型机中用指令字仍较长,访内次数较多,一般大型机中用 设字长设字长424
34、2位位 OP 6OP 6位位 每个每个D D为为1212位位 寻址空间:寻址空间:2 21212OP A1 A2 A3 结果结果指令格式的设计指令格式的设计 第45页,此课件共100页哦463.3.二地址指令二地址指令 A A1 1 OPOP A A2 2 A A2 2 PC-PC-下一条指令地址下一条指令地址 特点:特点:指令字较短,访内次数较少,较常使用指令字较短,访内次数较少,较常使用 设字长设字长4242位位 OP 6 OP 6 位位 每个每个D D为为1818位位 寻址空间:寻址空间:2 21818OP A1 A2 指令格式的设计指令格式的设计 第46页,此课件共100页哦474.4
35、.单地址指令单地址指令 ACCACC OP OP A A1 1ACCACC(累加器)(累加器)ACCACC中既放操作数,又放操作结果,如:加中既放操作数,又放操作结果,如:加1 1、减、减1 1、移位等指、移位等指令令 PC-PC-下一条指令地址下一条指令地址 特点:特点:指令字长短、执行时间快,在微型机中被广泛使用。指令字长短、执行时间快,在微型机中被广泛使用。设字长设字长4242位位 OP 6OP 6位位 每个每个D D为为3636位位 寻址空间:寻址空间:2 23636OP A1 指令格式的设计指令格式的设计 第47页,此课件共100页哦485.5.零地址指令零地址指令 无需任何操作数无
36、需任何操作数 如如HALTHALT、NOP NOP(空转)等(空转)等 所需操作数由所需操作数由堆栈堆栈提供提供OP指令格式的设计指令格式的设计 第48页,此课件共100页哦49堆栈:堆栈:一个特殊的存贮区域,数据存取时,按照一个特殊的存贮区域,数据存取时,按照“先进后出先进后出”的规律进行的规律进行 硬堆栈硬堆栈:寄存器堆。:寄存器堆。软堆栈软堆栈:内存中的指定区域。:内存中的指定区域。堆栈两端堆栈两端:固定:栈底固定:栈底 活动:栈顶,活动:栈顶,SPSP指针指示,一般栈底地址大于栈顶地址指针指示,一般栈底地址大于栈顶地址 类型类型:自底向上、自顶向下自底向上、自顶向下 堆栈操作(自底向上
37、):堆栈操作(自底向上):压栈:先修改压栈:先修改SPSP,后存数据,后存数据 出栈:先取出数据,后修改出栈:先取出数据,后修改SPSPSPSP总是指向栈顶单元总是指向栈顶单元第49页,此课件共100页哦506.寄存型地址格式指令寄存型地址格式指令寄存器类型地址格式的指令中,操作数均放在寄存器中,也有寄存器类型地址格式的指令中,操作数均放在寄存器中,也有单地址、二地址、三地址之分。单地址、二地址、三地址之分。特点:特点:执行指令时不用访内,速度快执行指令时不用访内,速度快受寄存器个数的限制。受寄存器个数的限制。OPR1R1 OP ACC ACCR1 OP R2 ACCOP R1 R2OPR1
38、R2 R3R1 OP R2 R3指令格式的设计指令格式的设计 第50页,此课件共100页哦51说明:说明:上述六种指令格式,并非所有计算机都有上述六种指令格式,并非所有计算机都有 零地址,单地址,二地址指令,具有指令短,执行速度快,零地址,单地址,二地址指令,具有指令短,执行速度快,硬件实现简单等特点,多为结构较简单、字长较短的小型硬件实现简单等特点,多为结构较简单、字长较短的小型机、微机所采用。机、微机所采用。二地址,三地址、四地址指令,具有功能强,编程方便等特二地址,三地址、四地址指令,具有功能强,编程方便等特点,多为字长较长的大、中型机所采用。点,多为字长较长的大、中型机所采用。但不能一
39、概而论,因还与指令本身的功能有关。如停机指令,但不能一概而论,因还与指令本身的功能有关。如停机指令,不管什么类型的计算机,都有。不管什么类型的计算机,都有。指令格式的设计指令格式的设计 第51页,此课件共100页哦52指令字长指令字长三、指令字长三、指令字长 指指令令字字长长是是一一条条指指令令中中所所包包含含的的二二进进制制位位数数,等等于于操操作作码码长长度与地址码长度之和。度与地址码长度之和。指令字长与机器字长有何关系?指令字长与机器字长有何关系?无固定关系,指令字长可以大于、等于、小于机器字长。无固定关系,指令字长可以大于、等于、小于机器字长。一般来讲:一般来讲:微、小型机中,指令字长
40、微、小型机中,指令字长 机器字长机器字长 大、中型机中,指令字长大、中型机中,指令字长机器字长机器字长 第52页,此课件共100页哦53确定指令字长的原则:确定指令字长的原则:指指令令字字长长尽尽可可能能短短:节节省省内内存存空空间间,提提高高执执行行速速度度,提高代码利用率;提高代码利用率;指令字长指令字长等于字节的整数倍等于字节的整数倍 许许多多机机器器采采用用变变字字长长指指令令,但但长长度度取取为为字字节节的的整整数数倍倍,以避免存贮空间的浪费以避免存贮空间的浪费。指令字长指令字长第53页,此课件共100页哦指令字格式的优化指令字格式的优化 为了不降低访存取指令的速度,按整数边界存储。
41、为了不降低访存取指令的速度,按整数边界存储。操作数地址的位数操作数地址的位数从寻址范围看:越大越好从寻址范围看:越大越好 用各种方法,压缩操作码的位数用各种方法,压缩操作码的位数通过采用多种不同的寻址方式、地址制、地址形式和地址通过采用多种不同的寻址方式、地址制、地址形式和地址码长度以及多种指令字长,将它们与可变长操作码的优化码长度以及多种指令字长,将它们与可变长操作码的优化表示相结合,可构成冗余度尽可能少的指令字。表示相结合,可构成冗余度尽可能少的指令字。指令格式指令格式的设计的设计 地址码地址码第54页,此课件共100页哦等长地址码发挥不出操作码优化表示的作用等长地址码发挥不出操作码优化表
42、示的作用limax地址码地址码地址码空白浪费空白浪费liminli第55页,此课件共100页哦在定长指令字内实现多种地址制在定长指令字内实现多种地址制地址码地址码地址码地址码地址码地址码操作码操作码操作码第56页,此课件共100页哦基础:基础:初步设计的指令集。初步设计的指令集。目标:目标:减少指令长度,提高指令性能。减少指令长度,提高指令性能。优化原则:优化原则:采用高概率优先思想,对高频率指令,缩短指令采用高概率优先思想,对高频率指令,缩短指令长度,提高效率,对低频率指令,主要满足功能长度,提高效率,对低频率指令,主要满足功能要求;要求;地址码长度富裕时,采用不同的寻址方式或不同的地址码长
43、度富裕时,采用不同的寻址方式或不同的地址制,增加功能;地址制,增加功能;地址码长度紧张时,采用特定的寻址方式或增加指令地址码长度紧张时,采用特定的寻址方式或增加指令字长,满足功能。字长,满足功能。寻址方式中必须支持使用频率较高的寻址方式,相关参寻址方式中必须支持使用频率较高的寻址方式,相关参数必须满足数必须满足90%90%以上的使用频率。以上的使用频率。第57页,此课件共100页哦58指令寻址指令寻址:如何找指令(:如何找指令(PCPC)操作数寻址操作数寻址:如何找操作数:如何找操作数 本节的寻址本节的寻址:寻找:寻找操作数操作数的地址的地址 地址分为地址分为 形式形式地址:指令中给出的地址地
44、址:指令中给出的地址 有效有效地址:操作数的真正地址(地址:操作数的真正地址(物理地址物理地址)寻寻址址方方式式,与与计计算算机机硬硬件件结结构构密密切切相相关关,对对指指令令格格式式,功功能能也也有有很很大大影影响响。从从程程序序关关角角度度看看,寻寻址址方方式式与与汇汇编编程程序序设设计,高级语言的编译程序设计的关系都极为密切。计,高级语言的编译程序设计的关系都极为密切。7.4 7.4 寻址方式寻址方式 第58页,此课件共100页哦591 1、立即寻址、立即寻址 指令的地址码就是操作数。指令的地址码就是操作数。特点:特点:执行指令时不访内,速度快执行指令时不访内,速度快 立即数的位数受字长
45、的限制立即数的位数受字长的限制OP D操作数操作数寻址方式寻址方式 第59页,此课件共100页哦602 2、寄存器寻址、寄存器寻址 主主机机中中设设置置了了许许多多个个寄寄存存器器,以以存存放放操操作作数数、中中间间运运算算结结果果和和最最终终结结果果。目目的的是是为为了了提提高高运运算算速速度度,因因对对寄寄存存器器的的操操作作比比对对内存的操作快得多内存的操作快得多 寄存器寄存器直接直接寻址:寻址:R Rn n中放中放操作数操作数 寄存器寄存器间接间接寻址:寻址:R Rn n中放中放操作数操作数地址地址 OPRi寄存器编号寄存器编号OP Rn OP Rn 寻址方式寻址方式 第60页,此课件
46、共100页哦613 3、直接寻址、直接寻址 指令中的形式地址就是操作数的有效地址。指令中的形式地址就是操作数的有效地址。特点:特点:直观直观 寻址空间受限寻址空间受限 区分:区分:指令的地址、指令中的地址指令的地址、指令中的地址OP D操作数地址操作数地址寻址方式寻址方式 第61页,此课件共100页哦624 4、存储器间接寻址、存储器间接寻址 指令中的形式地址是操作数有效地址的地址。指令中的形式地址是操作数有效地址的地址。OP D操作数地址的地址操作数地址的地址寻址方式寻址方式 第62页,此课件共100页哦63一次间址:一次间址:形式地址是操作数地址的地址形式地址是操作数地址的地址 多多次次间
47、间址址:指指令令中中设设间间址址特特征征位位,此此位位为为1 1,继继续续间间址址,直直至至此位为此位为0 0。特点:特点:执行速度比直接寻址慢执行速度比直接寻址慢 可扩大寻址空间可扩大寻址空间 便便于于编编程程:改改变变操操作作数数,不不用用改改指指令令,只只改改存存贮贮单单元元内内容即可容即可 寻址方式寻址方式 第63页,此课件共100页哦64OP D D有效地址有效地址操作数操作数100100200400OP D D一次间址一次间址二次间址二次间址12000400操作数操作数寻址方式寻址方式 第64页,此课件共100页哦655 5、隐含寻址、隐含寻址 ACC OP ACC OP (D D
48、)ACC ACC,一操作数隐含在累加器,一操作数隐含在累加器ACCACC中中 6 6、变址寻址(、变址寻址(Index AddressingIndex Addressing)(IR)+D=有效地址有效地址EAOP D操作数地址操作数地址寻址方式寻址方式 第65页,此课件共100页哦667 7、基址寻址(、基址寻址(Base AddressingBase Addressing)(BR)+D=有效地址有效地址EA基址寻址与变址寻址的比较:基址寻址与变址寻址的比较:相同:相同:有效地址的形成方式同,都能扩大寻址空间有效地址的形成方式同,都能扩大寻址空间 不同:不同:寻址方式寻址方式 第66页,此课件
49、共100页哦67OS定定OPD D小小大大BR+操作数操作数基址寄存器基址寄存器BR偏移量偏移量偏移量用户定偏移量用户定OPD D大大小小IR+操作数操作数变址寄存器变址寄存器IR第67页,此课件共100页哦68不同:不同:基基址址寻寻址址中中,基基址址寄寄存存器器BXBX提提供供基基准准量量,形形式式地地址址提提供供偏偏移移量量,这这个个偏偏移移量量位位数数较较短短,而而变变址址寻寻址址中中,变变址址寄寄存存器器提提供供变变址址量量,形式地址提供基准量,这个基准量位数较长,足以表示整个存贮空间。形式地址提供基准量,这个基准量位数较长,足以表示整个存贮空间。变址:变址值变址:变址值(小)(小)
50、+形式地址形式地址(大)(大)=有效地址有效地址 基址:基址值基址:基址值(大)(大)+形式地址形式地址(小)(小)=有效地址有效地址 基基址址寄寄存存器器的的内内容容不不由由用用户户确确定定,而而由由操操作作系系统统确确定定,一一般般是是在在把把用用户户程程序序的的逻逻辑辑地地址址转转变变为为存存贮贮器器的的物物理理地地址址时时用用,而而变址寄存器的值由用户确定变址寄存器的值由用户确定,且可随意改变。,且可随意改变。寻址方式寻址方式 第68页,此课件共100页哦698、复合寻址、复合寻址变址与间址的复合变址与间址的复合先变址后间址:先变址后间址:(IX)+D)有效地址有效地址先间后变:先间后