西电计算机组成原理21_第1页
西电计算机组成原理21_第2页
西电计算机组成原理21_第3页
西电计算机组成原理21_第4页
西电计算机组成原理21_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1指令类型指令指令的典型的典型分类分类:n数据传送类数据传送类n算术运算类算术运算类n逻辑运算类逻辑运算类n移位类移位类n字符串操作类字符串操作类n数据转换类数据转换类n输入输入/输出类输出类n程序控制类程序控制类n系统控制类系统控制类2指令类型数据传送类数据传送类n完成源操作数与目的操作数之间的复制。完成源操作数与目的操作数之间的复制。l指定源和目的操作数的指定源和目的操作数的位置位置。p存储器存储器根据寻址方式,计算存储器地址:根据寻址方式,计算存储器地址:u如果地址指的是虚拟存储器,则将虚地址如果地址指的是虚拟存储器,则将虚地址转换实际存储器地址,确定所寻找的项是转换实际存储器地址,确定

2、所寻找的项是否在否在Cache中;中;u如果不是,向存储器模块发存取命令。如果不是,向存储器模块发存取命令。 p寄存器寄存器p堆栈堆栈l指明将要传送数据的指明将要传送数据的长度长度;l为每个操作数指定相应的为每个操作数指定相应的寻址方式寻址方式。3指令类型算术运算类算术运算类n加、减、乘、除加、减、乘、除n定点有符号整数、浮点数、压缩十进制数定点有符号整数、浮点数、压缩十进制数n单操作数指令单操作数指令l有符号数的绝对值(有符号数的绝对值(Absolute)l求操作数的相反数(求操作数的相反数(Negate)l递增操作数(递增操作数(Increment)l递减操作数(递减操作数(Decreme

3、nt)n由由ALU完成完成4指令类型逻辑运算类逻辑运算类n按位运算:按位运算:ABNOT AA AND BA OR BA XOR BA B0010001011011010001101101101基本逻辑操作基本逻辑操作5移位操作移位操作n移位和旋转运算:移位和旋转运算:6指令类型数据转换类数据转换类n完成对数据格式进行转换操作完成对数据格式进行转换操作n如:如:Intel处理器的十进制数据调整指令处理器的十进制数据调整指令AAA、AAS、AAD、AAM、DAA、DAS7指令类型输入输出类输入输出类n完成主机与外围设备之间的信息交换完成主机与外围设备之间的信息交换l输入输入/输出数据输出数据l主

4、机向外设发控制命令主机向外设发控制命令l主机了解外设的工作状态主机了解外设的工作状态n输入输出的方式输入输出的方式l存储映射的编程控制存储映射的编程控制I/O方式:统一编址方式:统一编址pMOV 指令指令l分立的编程控制的分立的编程控制的I/O方式:独立编址方式:独立编址pIN 指令指令pOUT 指令指令lDMA方式方式lI/O处理器方式处理器方式l通道处理机方式通道处理机方式 8指令类型程序控制类程序控制类n转移指令转移指令n循环控制指令循环控制指令n过程调用和返回指令过程调用和返回指令n程序自中断指令程序自中断指令9指令类型程序控制类程序控制类n无条件转移指令:无条件转移指令:【例例】In

5、tel处理器的处理器的JMP指令指令n条件转移指令:对设定条件转移指令:对设定条件条件进行测试,仅当进行测试,仅当条件条件满足时,进行转移,否则程序继续顺序执行。满足时,进行转移,否则程序继续顺序执行。转移转移条件:条件:l进位标志进位标志l结果为零标志结果为零标志l正负标志正负标志l溢出标志溢出标志l奇偶标志奇偶标志l1. 转移指令转移指令10指令类型程序控制类程序控制类n可以通过可以通过条件转移指令条件转移指令实现循环程序设计实现循环程序设计n有些计算机为了提高指令系统的效率,专门设置有些计算机为了提高指令系统的效率,专门设置了了循环控制指令循环控制指令【例例】x86中的中的LOOP指令指

6、令n循环控制指令循环控制指令是具有是具有复合功能复合功能的指令的指令2. 循环控制指令循环控制指令11指令类型程序控制类程序控制类n过程机制涉及的基本指令:过程机制涉及的基本指令:l由目前位置转移到过程的由目前位置转移到过程的调用指令调用指令l由过程返回到调用发生位置的由过程返回到调用发生位置的返回指令返回指令3. 过程调用和返回指令过程调用和返回指令过程调用示意过程调用示意 12指令类型程序控制类程序控制类n过程机制涉及的基本指令:过程机制涉及的基本指令:l由目前位置转移到过程的由目前位置转移到过程的调用指令调用指令l由过程返回到调用发生位置的由过程返回到调用发生位置的返回指令返回指令n过程

7、可以由多个不同位置调用过程可以由多个不同位置调用n过程中能再次调用过程,原则上允许过程嵌套到过程中能再次调用过程,原则上允许过程嵌套到任意深度任意深度n每一过程调用与被调用程序中的一次返回相匹配每一过程调用与被调用程序中的一次返回相匹配n过程调用的参数传递过程调用的参数传递3. 过程调用和返回指令过程调用和返回指令13指令类型程序控制递类程序控制递类n为了在程序调试中为了在程序调试中设置断点设置断点或或实现系统功能调用实现系统功能调用n【例例】Intel x86处理机中的软中断指令处理机中的软中断指令INT n 4. 程序自中断指令程序自中断指令14指令类型系统控制类系统控制类n通常是通常是特

8、权指令特权指令n由由操作系统操作系统或或系统软件系统软件使用使用n在在多用户多用户、多任务多任务计算机系统中,必须设置特权指令计算机系统中,必须设置特权指令n主要用于主要用于系统资源系统资源的的分配分配和和管理管理l检测用户的检测用户的访问权限访问权限l修改虚拟存储器中的修改虚拟存储器中的段表段表、页表页表l改变系统改变系统工作模式工作模式l任务任务的创建与切换的创建与切换ln在某些多用户计算机系统中,为了统一管理各外围设在某些多用户计算机系统中,为了统一管理各外围设备,备,输入输入/输出指令输出指令也被列为特权指令也被列为特权指令计算机组织与体系结构 指令系统指令设计指令设计16n指令格式指

9、令格式 n地址码设计地址码设计 n操作码设计操作码设计n指令长度设计指令长度设计 指令设计指令设计17指令格式指令格式n操作码操作码l指令要完成的功能指令要完成的功能n地址码地址码/操作数地址操作数地址/操作数操作数l提供指令的操作对象提供指令的操作对象l直接数据直接数据l数据地址数据地址简单指令格式简单指令格式 18指令设计指令设计地址码设计地址码设计n数据数据:地址、数值、字符、逻辑数据:地址、数值、字符、逻辑数据n指令可能需要的指令可能需要的地址地址引用:引用:l两个操作数两个操作数l一个结果一个结果l下条指令的地址下条指令的地址 n常用的常用的地址码地址码数目:数目:l四地址四地址:

10、op rd,rs1,rs2,ni; rs1 op rs2-rd, use nil三地址:三地址: op rd,rs1,rs2 ; rd=rs1 op rs2, use PC l双地址:双地址: op rd,rs1 ; rd=rd op rs1, rd=rs1 op ACC, use PC l单地址:单地址:op rd; ACC=rd op ACC, rd = rd自身自身操作操作l零地址:零地址: op源操作数源操作数目的操作数目的操作数下一指令地址下一指令地址19指令格式指令格式操作码设计操作码设计n定长定长l构造简单,有利于指令的译码和后续的执行构造简单,有利于指令的译码和后续的执行l占用

11、的空间较大占用的空间较大n变长变长l对不同类型的指令操作码用不固定长度的二进制对不同类型的指令操作码用不固定长度的二进制数进行编码,扩展操作码编码方式数进行编码,扩展操作码编码方式l原则原则p如果指令字长固定,则长地址码对应短操作如果指令字长固定,则长地址码对应短操作码,操作码长度随地址码长度缩短而增加;码,操作码长度随地址码长度缩短而增加;p如果指令字长可变,则以指令使用频度作为如果指令字长可变,则以指令使用频度作为设计依据,霍夫曼(设计依据,霍夫曼(Huffman)编码)编码p设计从短操作码开始,保证有效区分与未来设计从短操作码开始,保证有效区分与未来的操作码编码的操作码编码20指令格式指

12、令格式霍夫曼编码霍夫曼编码n表表5.2指令使用频度统计指令使用频度统计序号序号X86指令指令在整数运算测试程序中各类指令使用频度(在整数运算测试程序中各类指令使用频度(%)1加载222条件分支203比较164存储125加法86与运算67减法58寄存器-寄存器传送49调用110返回1合计9521指令格式指令格式霍夫曼编码霍夫曼编码n例,计算机有例,计算机有10条指令,使用频率分别为条指令,使用频率分别为0.30、0.20、0.16、0.09、0.08、0.07、0.04、0.03、0.02、0.01,进行,进行Huffman树进行编码,计算平均码长。树进行编码,计算平均码长。n解:图见后解:图见

13、后n编码方案编码方案n平均码长度平均码长度=2.84位位频度频度0.300.200.160.090.080.070.040.030.020.01编码11011010011001100000010000100000010000000长度2233444566指令格式指令格式霍夫曼编码霍夫曼编码2210.610.300.310.390.200.190.090.100.040.060.030.030.020.010.160.150.080.0723指令格式指令格式霍夫曼编码霍夫曼编码n例,计算机有例,计算机有20条指令的使用频率是条指令的使用频率是80%,80条指条指令的使用频率是令的使用频率是15%

14、,40条指令的使用频率是条指令的使用频率是5%,试设计固定长度和可变长度的操作码。试设计固定长度和可变长度的操作码。n解解(1)定长操作码)定长操作码 :140条指令,条指令,8位操作码长度,位操作码长度,从从256种编码中选择种编码中选择140种编码分配给种编码分配给140条指令作条指令作为操作码。为操作码。n(2)扩展操作码)扩展操作码n见后见后n平均码长度平均码长度=5.7位位24指令格式指令格式霍夫曼编码霍夫曼编码频率频率条数条数操作码编码操作码编码扩展位数应满足关系扩展位数应满足关系0.820000002032100110.15801010000080(32-20)x81110111

15、10.0540111100000040(2x8)x411111001112515-15-15编码方法编码方法8-64-512编码方法编码方法特特定定规规则则的的扩扩展展操操作作码码 26指令格式指令格式依据地址码数量扩展操作码依据地址码数量扩展操作码n例,某指令系统的指令长度确定为例,某指令系统的指令长度确定为32位,由三地址、位,由三地址、二地址、一地址、零地址指令组成,其中各类指令二地址、一地址、零地址指令组成,其中各类指令中地址字段位数如下表,则各类指令的操作码可以中地址字段位数如下表,则各类指令的操作码可以设计为几位?各类指令数量最多是多少?设计为几位?各类指令数量最多是多少?操作码操

16、作码地址地址1(5)地址地址2(5)地址地址3(16)操作码(?)操作码(?)操作码(?)操作码(?)27指令格式指令格式依据地址码数量扩展操作码依据地址码数量扩展操作码n解:解:l三地址指令:三地址指令:p操作码操作码6位,指令数位,指令数n3=26-1l二地址指令:二地址指令:p操作码操作码11位,指令数位,指令数n2=(26-n3)x 25-1l单地址指令:单地址指令:p操作码操作码16位,位,p指令数指令数n1=(26-n3)x 25-n2)x25-1l零地址指令:零地址指令:p操作码操作码32位,位,p指令数指令数n0=(26-n3)x 25-n2)x25-n1) x 21628指令格式指令格式指令长度设计指令长度设计n短的操作码与多种地址码配合短的操作码与多种地址码配合n长的操作码与简单地址码组合长的操作码与简单地址码组合n指令长度一般设计为指令长度一般设计为总线宽度总线宽度的的整数倍整数倍n指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论