第19讲-第7章 指令系统(71-72)_第1页
第19讲-第7章 指令系统(71-72)_第2页
第19讲-第7章 指令系统(71-72)_第3页
第19讲-第7章 指令系统(71-72)_第4页
第19讲-第7章 指令系统(71-72)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

《计算机组成原理》

第19讲

第7章指令系统(7.1-7.2)主讲人:李淑芝第七章指令系统7.1机器指令7.2操作数类型和操作类型7.3寻址方式7.4指令格式举例7.5RISC技术本课学习教学目标:让学生对指令系统有初步的认识与了解,掌握常用指令格式,理解指令系统与机器的主要功能以及与硬件结构之间存在的密切关系。重点:指令的一般格式和数据在存储器中的存放方式

难点:数据在存储器中存放时“边界对齐”问题

教学要求复习旧课数据存放在存储器中,系统怎么样将存储器中的数据取到运算器中进行定点或浮点运算?运算结果又怎样保存呢?

引入新课构成程序的指令本质上是怎样的软件成份?它们如何与硬件配合?

7.1机器指令7.1.1指令的一般格式操作码字段地址码字段(1)操作码反映机器做什么操作长度固定长度可变用于指令字长较长的情况,RISC如IBM370操作码8位操作码分散在指令字的不同字段中扩展操作码技术操作码的位数随地址数的减少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作码8位操作码12位操作码16位操作码15条三地址指令15条二地址指令15条一地址指令16条零地址指令例7.1假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式。(1)设操作码固定,若零地址指令有P种,一地址指令有Q种,则二地址指令最多有几种?(2)采用扩展操作码技术,若二地址指令有X种,零地址指令有Y种,则一地址指令最多有几种?解:(1)根据操作数地址码为6位,则二地址指令中操作码的位数为16-6-6=4。这4位操作码可有24=16种操作。由于操作码固定,则二地址指令最多有16-P-Q种。(2)采用扩展操作码技术,操作码位数可变,则二地址、一地址和零地址的操作码长度分别为4位、10位和16位。可见二地址指令操作码每减少一种,就可多构成26种一地址指令操作码;一地址指令操作码每减少一种,就可多构成26种零地址指令操作码。因二地址指令有X种,则一地址指令最多有(24-X)×26种。设一地址指令有M种,则零地址指令最多有[(24-X)×26-M]×26种。根据题意,零地址指令有Y种,则M=(24-X)×26-Y×2-6(2)地址码四地址三地址OPA1A2A3A486666A1

第一操作数地址A2

第二操作数地址A3

结果的地址A4

下一条指令地址若PC代替A4(A1)OP(A2)A38888OPA1A2A3(A1)OP(A2)A34次访存4次访存寻址范围26=64寻址范围28=256若A3用A1或A2代替设指令字长为32位操作码固定为8位二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A2)A2或4次访存若ACC代替A1(或A2)若结果存于ACC一地址零地址OPA1824无地址码(ACC)OP(A1)ACC2次访存寻址范围212=4K寻址范围224=16M3次访存问题1:从操作数的物理位置来说,指令又可归结为几种类型?指令字长决定于操作码的长度指令字长=存储字长(2)指令字长可变操作数地址的长度操作数地址的个数(1)指令字长固定按字节的倍数变化7.1机器指令7.1.2指令字长小结当用一些硬件资源代替指令字中的地址码字段后当指令的地址字段为寄存器时可扩大指令的寻址范围可缩短指令字长可减少访存次数三地址OPR1,

R2,R3二地址OPR1,R2

一地址OPR1

指令执行阶段不访存可缩短指令字长7.2操作数类型和操作种类7.2.1操作数类型地址数字字符逻辑数无符号整数定点数、浮点数、十进制数ASCII逻辑运算7.2.2数据在存储器中的存放方式字地址为低字节地址字地址为高字节地址37621540字地址04低字节04512673字地址04低字节存储器中的数据存放(存储字长为

32

位)地址(十进制)04812162024283236双字双字(地址32)双字双字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字节(地址8)字节(地址9)字节(地址10)字节(地址11)字(地址4)字(地址0)字节(地址14)字节(地址15)字节(地址13)字节(地址12)边界对准地址(十进制)048字节(地址7)字节(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)边界未对准

7.2.3操作类型(1)数据传送源目的寄存器寄存器寄存器寄存器存储器存储器存储器存储器置“1”,清“0”(2)算术逻辑操作加、减、乘、除、增1、减1、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVEADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST(3)移位操作算术移位(4)转移无条件转移JMP条件转移结果为零转(Z=1)

JZ结果溢出转(O=1)JO结果有进位转(C=1)JC跳过一条指令SKP循环移位(带进位和不带进位)如300…305306307SKPDZD=0则跳逻辑移位完成触发器7.2.3操作类型调用和返回CALLSUB1.........CALLSUB2…...CALLSUB2…RETURNRETURN......主程序地址200021002101子程序SUB1240025002501256025612700主存空间分配程序执行流程子程序SUB27.2.3操作类型(4)转移陷阱(Trap)与陷阱指令意外事故的中断一般不提供给用户直接使用,在出现事故时,由CPU自动产生并执行(隐指令)设置供用户使用的陷阱指令,如8086的INTTYPE软中断,提供给用户使用的陷阱指令,完成系统调用INAX,nOUTDX,ALOUTn,AXOUTDX,AXINAL,DXINAX,DX入端口地址CPU的寄存器出CPU的寄存器端口地址如如INAL,nOUTn,AL7.2.3操作类型(5)输入输出(6)其它主要有:等待指令、停机指令、空操作指令、开中断指令、关中断指令、置条件码指令课堂练习题:1.以下四种类型指令中,执行时间最长的是_____。A.RR型B.RS型C.SS型D.程序控制指令

答案:C2.程序控制类指令的功能______。A.进行算术运算和逻辑运算B.进行主存和CPU之间的数据传送C.进行CPU和I/O设备之间的数据传送D.改变程序执行的顺序

答案:D3.在指令的地址字段中,直接指出操作数本身的寻址方式,称为______。A.隐含寻址B.立即寻址C.寄存器寻址D.直接寻址

答案:B4.条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于A.______类指令,这类指令在指令格式中所表示的地址不是B.____的地址,而是C._____的地址。

答案:A.程序控制B.操作数C.下一条指令

课堂练习题:5.若机器字长36位,采用三地址格式访存指令,共完成54种操作,操作数可在1K地址范围内寻找,画出该机器的指令格式。解:课堂练习题:6.举例说明存储器堆栈的原理及入栈、出栈

的过程。

答案:所谓存储器堆栈,是把存储器的一部分用作堆栈区。入栈操作可描述为(A)→MSP,(SP-1)→SP出栈操作可描述为(SP+1)→SP,(MSP)→A课堂练习题:7.指令格式是指令用A.______表示的结构形式,通常格式中由操作码字段和B.______字段组成。

答案:A.二进制代码B.地址码

8.堆栈是一种特殊的数据寻址方式,它采用A.___原理。按结构不同,分为B.___堆栈和C.___堆栈。

答案:A.先

温馨提示

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

评论

0/150

提交评论