




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成之指令系统,计算机学院,本章主要内容,7.1机器指令,一、指令的一般格式,1.操作码,反映机器做什么操作,(1)长度固定,(2)长度可变,用于指令字长较长的情况,,RISC,如IBM370,操作码8位,操作码分散在指令字的不同字段中,(3)扩展操作码技术,操作码的位数随地址数的减少而增加,4位操作码,8位操作码,12位操作码,16位操作码,最多15条三地址指令,最多15条二地址指令,最多15条一地址指令,16条零地址指令,7.1,三地址指令操作码每减少一种可多构成24种二地址指令,二地址指令操作码每减少一种可多构成24种一地址指令,7.1,7.1,例7.1假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式。(1)设操作码固定,若零地址指令有P种,一地址指令有Q种,则二地址指令最多有几种?(2)采用扩展操作码技术,若二地址指令有X种,零地址指令有Y种,则一地址指令最多有几种?,2.地址码,(1)四地址,(2)三地址,86666,A1第一操作数地址,A2第二操作数地址,A3结果的地址,A4下一条指令地址,若PC代替A4,8888,4次访存,4次访存,寻址范围26=64,寻址范围28=256,若A3用A1或A2代替,7.1,(3)二地址,81212,或,4次访存,若ACC代替A1(或A2),若结果存于ACC,(4)一地址,(5)零地址,824,无地址码,2次访存,寻址范围212=4K,寻址范围224=16M,3次访存,7.1,小结,当用一些硬件资源代替指令字中的地址码字段后,当指令的地址字段为寄存器时,可扩大指令的寻址范围,可缩短指令字长,可减少访存次数,三地址OPR1,R2,R3,二地址OPR1,R2,一地址OPR1,指令执行阶段不访存,可缩短指令字长,7.1,二、指令字长,指令字长决定于,操作码的长度,指令字长=存储字长,2.指令字长可变,操作数地址的长度,操作数地址的个数,1.指令字长固定,按字节的倍数变化,7.1,7.2操作数类型和操作种类,一、操作数类型,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址为低字节地址,字地址为高字节地址,存储器中的数据存放(存储字长为32位),7.2,三、操作类型,1.数据传送,寄存器,寄存器,寄存器,寄存器,存储器,存储器,存储器,存储器,置“1”,清“0”,2.算术逻辑操作,加、减、乘、除、增1、减1、求补、浮点运算、十进制运算,与、或、非、异或、位操作、位测试、位清除、位求反,如8086,MOVE,STORE,LOAD,MOVE,PUSH,POP,例如,MOVE,MOVE,7.2,ADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST,3.移位操作,算术移位,4.转移,(1)无条件转移JMP,(2)条件转移,结果为零转(Z=1)JZ,结果溢出转(O=1)JO,结果有进位转(C=1)JC,跳过一条指令SKP,循环移位(带进位和不带进位),如,逻辑移位,完成触发器,7.2,(3)调用和返回,CALLSUB1,CALLSUB2,CALLSUB2,RETURN,RETURN,7.2,INAX,n,OUTDX,AL,OUTn,AX,OUTDX,AX,(4)陷阱(Trap)与陷阱指令,意外事故的中断,设置供用户使用的陷阱指令,如8086INTTYPE软中断,提供给用户使用的陷阱指令,完成系统调用,5.输入输出,INAL,DX,INAX,DX,7.2,如,如,INAL,n,OUTn,AL,5.其他,7.2,等待、停机、空操作、开中断、关中断、置条件码,特权,非数值处理,向量、多处理机,7.3寻址方式,寻址方式,确定本条指令的操作数地址下一条欲执行指令的指令地址,寻址方式,7.3寻址方式,一、指令寻址,顺序,跳跃,由转移指令指出,二、数据寻址,形式地址,指令字中的地址,有效地址,操作数的真实地址,约定,指令字长=存储字长=机器字长,1.立即寻址,指令执行阶段不访存,A的位数限制了立即数的范围,可正可负补码,形式地址A就是操作数,7.3,2.直接寻址,EA=A,寻址特征,A,ACC,执行阶段访问一次存储器,A的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改A),有效地址由形式地址直接给出,7.3,3.隐含寻址,操作数地址隐含在操作码中,寻址特征,A,ACC,暂存,另一个操作数隐含在ACC中,如8086,MUL指令,被乘数隐含在AX(16位)或AL(8位)中,MOVS指令,源操作数的地址隐含在SI中,目的操作数的地址隐含在DI中,指令字中少了一个地址字段,可缩短指令字长,7.3,4.间接寻址,EA=(A),有效地址由形式地址间接提供,寻址特征,A,EA,A1,EA,执行指令阶段2次访存,可扩大寻址范围,便于编制程序,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存,7.3,调用子程序,调用子程序,间接寻址编程举例,(A)=81,(A)=202,间址特征,7.3,JMPA,5.寄存器寻址,EA=Ri,执行阶段不访存,只访问寄存器,执行速度快,寻址特征,寄存器个数有限,可缩短指令字长,有效地址即为寄存器编号,7.3,EA=(Ri),6.寄存器间接寻址,有效地址在寄存器中,操作数在存储器中,执行阶段访存,寻址特征,便于编制循环程序,有效地址在寄存器中,7.3,7.基址寻址,(1)采用专用寄存器作基址寄存器,EA=(BR)+A,BR为基址寄存器,寻址特征,可扩大寻址范围,有利于多道程序,BR内容由操作系统或管理程序确定,在程序的执行过程中BR内容不变,形式地址A可变,7.3,(2)采用通用寄存器作基址寄存器,寻址特征,R0作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,基址寄存器的内容由操作系统确定,在程序的执行过程中R0内容不变,形式地址A可变,7.3,8.变址寻址,EA=(IX)+A,寻址特征,可扩大寻址范围,便于处理数组问题,IX的内容由用户给定,IX为变址寄存器(专用),在程序的执行过程中IX内容可变,形式地址A不变,通用寄存器也可以作为变址寄存器,7.3,例,设数据块首地址为D,求N个数的平均值,直接寻址,变址寻址,LDAD,ADDD+1,ADDD+2,ADDD+(N-1),DIV#N,STAANS,LDA#0,LDX#0,INX,CPX#N,BNEM,DIV#N,STAANS,共N+2条指令,共8条指令,ADDX,D,M,X为变址寄存器,D为形式地址,(X)和#N比较,结果不为零则转,7.3,9.相对寻址,EA=(PC)+A,A是相对于当前指令的位移量(可正可负,补码),A的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操作数,寻址特征,相对距离A,7.3,(1)相对寻址举例,M随程序所在存储空间的位置不同而不同,EA=(M+3)3=M,7.3,(2)按字节寻址的相对寻址举例,JMP*+8,设当前指令地址PC=2000H,转移后的目的地址为2008H,因为取出JMP*+8后PC=2002H,二字节指令,故JMP*+8指令的第二字节为2008H-2002H=06H,7.3,7.3,例7.2设相对寻址的转移指令占3个字节,第一字节为操作码,第二、三字节为相对位移量(补码表示),而且数据在存储器中采用以低字节地址为字地址的存放方式。每当CPU从存储器取出一个字节时,即自动完成(PC)+1PC。(1)若PC当前值为240(十进制),要求转移到290(十进制),则第二、三字节的机器代码是什么?(2)若PC当前值为240(十进制),要求转移到200(十进制),则第二、三字节的机器代码是什么?,10.堆栈寻址,(1)堆栈的特点,堆栈,多个寄存器,指定的存储空间,先进后出(一个入出口),栈顶地址由SP指出,1,1FFFH,+1,2000H,1FFFH,2000H,7.3,(2)堆栈寻址举例,PUSHA前,PUSHA后,POPA前,POPA后,7.3,(3)SP的修改与主存编址方法有关,按字编址,进栈,出栈,按字节编址,存储字长16位,进栈,出栈,存储字长32位,进栈,出栈,7.3,7.3,例7.3一条双字长直接寻址的子程序调用指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为2000H,SP的内容为0100H,栈顶内容为2746H,存储器按字节编址,而且进栈操作是先执行(SP)SP,后存入数据。试回答下列几种情况下,PC、SP及栈顶内容各为多少?(1)CALL指令被读取前。(2)CALL指令被执行后。(3)子程序返回后。,7.4指令格式举例,一、设计指令格式时应考虑的各种因素,1.指令系统的兼容性,(向上兼容),2.其他因素,操作类型,数据类型,指令格式,包括指令个数及操作的难易程度,指令字长是否固定,寻址方式,寄存器个数,地址码位数、地址个数、寻址方式类型,操作码位数、是否采用扩展操作码技术,,确定哪些数据类型可参与操作,指令寻址、操作数寻址,寄存器的多少直接影响指令的执行时间,二、指令格式举例,1.PDP8,指令字长固定12位,7.4,采用扩展操作码技术,2.PDP11,指令字长有16位、32位、48位三种,零地址(16位),一地址(16位),二地址RR(16位),二地址RM(32位),二地址MM(48位),扩展操作码技术,7.4,3.IBM360,二地址RR,7.4,4.Intel8086,(1)指令字长,(2)地址格式,16个字节,MOVWORDPTR0204,0138H6字节,INCAX1字节,一地址,NOP1字节,CALL,零地址,寄存器寄存器,寄存器立即数,寄存器存储器,ADDAX,BX2字节,ADDAX,3048H4字节,ADDAX,3048H3字节,二地址,CALL,7.4,三、指令格式设计举例,7.4,例7.4某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64+63,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求。(1)直接寻址的二地址指令3条。(2)变址寻址的一地址指令6条。(3)寄存器寻址的二地址指令8条。(4)直接寻址的一地址指令12条。(5)零地址指令32条。试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?,三、指令格式设计举例,7.4,例7.5设某机配有基址寄存器和变址寄存器,采用一地址格式的指令系统,允许直接和间接寻址,且指令字长、机器字长和存储字长均为16位。(1)若采用单字长指令,共能完成105种操作,则指令可直接寻址的范围是多少?一次间接寻址的寻址范围是多少?画出其指令格式并说明各字段的含义。(2)若存储字长不变,可采用什么方法直接访问容量为16MB的主存?,7.5RISC技术,一、RISC的产生和发展,8020规律,典型程序中80%的语句仅仅使用处理机中20%的指令,执行频度高的简单指令,因复杂指令的存在,执行速度无法提高,RISC(ReducedInstructionSetComputer),CISC(ComplexInstructionSetComputer),RISC技术,二、RISC的主要特征,选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合,指令长度固定、指令格式种类少、寻址方式少,只有LOAD/STORE指令访存,采用流水技术一个时钟周期内完成一条指令,采用组合逻辑实现控制器,CPU中有多个通用寄存器,采用优化的编译程序,7.5,三、CISC的主要特征,系统指令复杂庞大,各种指令使用频度相差大,指令长度不固定、指令格式种类多、寻址方式多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金箔制作工事故案例分析能力考核试卷及答案
- 2025年日照市财金控股集团有限公司公开招聘工作人员(4人)考前自测高频考点模拟试题及答案详解(考点梳理)
- 活体水产品购销员岗位职业健康、安全、环保技术规程
- 锅炉运行值班员合规化技术规程
- 公司中药炮炙工岗位应急处置技术规程
- 木制家具工岗位职业健康技术规程
- 2025广西南宁市五象新区第一实验小学招聘5人模拟试卷及答案详解1套
- 绝缘套管制造工遴选考核试卷及答案
- 公司飞机模线样板移型工岗位设备安全技术规程
- 2025江苏苏州凌晔进出口有限公司招聘7人模拟试卷及答案详解(历年真题)
- 出生医学证明补发申请表
- 《燕麦片营养调查》课件
- 中药饮片采购和验收和保管和调剂培训课件
- 诗经·卫风·淇奥课件
- 爱吃糖的大狮子
- 手术操作分类代码国家临床版3.0
- 家用药箱会整理(课件)人教版劳动六年级上册
- 脊髓损伤神经学分类国际标准
- 职称若干问题回答
- 英国文化入门智慧树知到答案章节测试2023年天津科技大学
- 猎人海力布课本剧剧本
评论
0/150
提交评论