版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章指令系统7.1机器指令7.2操作数类型和操作类型7.3寻址方式7.4指令格式举例7.5RISC技术7.1机器指令一、指令的一般格式
操作码字段
地址码字段1.操作码反映机器做什么操作(1)长度固定(2)长度可变用于指令字长较长的情况操作码分散在指令字的不同字段中便于译码,扩展性差能缩短指令平均长度增加译码和分析的难度,使控制器复杂,采用扩展操作码技术扩展操作码技术操作码的位数随地址数的减少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作码8位操作码12位操作码16位操作码最多15条三地址指令最多15条二地址指令最多15条一地址指令16条零地址指令操作码的位数随地址数的减少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作码8位操作码12位操作码16位操作码三地址指令操作码每减少一种可多构成24种二地址指令二地址指令操作码每减少一种可多构成24
种一地址指令
例7.1假设指令指长为16位,操作数的地址码为6位,指令有零地址指令、一地址指令、二地址指令三种格式。①设操作码固定,若零地址指令有P种,一地址指令有Q种,则二地址指令最多有几种?②采用扩展操作码技术,若二地址指令有X种,零地址指令有Y种,则一地址指令最多有几种?2.地址码(1)四地址(2)三地址OPA1A2A3A486666A1
第一操作数地址A2
第二操作数地址A3
结果的地址A4
下一条指令地址若PC代替A4?(A1)OP(A2)A38888OPA1A2A3(A1)OP(A2)A3寻址范围26=64寻址范围28=256若A3用A1或A2代替?设指令字长为32位操作码固定为8位访存4次访存4次(3)二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A2)A2或若ACC代替A1(或A2)(4)一地址(5)零地址OPA1824无地址码,例如:空操作(NOP),停机(HLT),子程序返回(RET)等。(ACC)OP(A1)ACC寻址范围212=4K寻址范围224=16M
访存4次访存2次访存3次二、指令字长指令字长决定于操作码的长度指令字长=存储字长2.指令字长可变操作数地址的长度操作数地址的个数1.指令字长固定单字长、双字长、多字长取指快、译码简单。可提高编码效率,有时需要多次访问存储器才能取出一条完整指令。7.3寻址方式程序y=ax+b存储过程。
存储器01234567891011(1)定义变量a,x,b,y问题一:程序和数据如何存储?(2)y=ax+b步骤分解LDA8MUL9ADD10STA11xabyxaby存储器01234567891011LDA8MUL9ADD10STA11
????????ENDPCPCPCPCPC
????????
????????问题二:CPU如何找到指令?
JMP7PC
(1)顺序寻址程序计数器PC加1,自动形成下一条指令地址。(2)跳跃寻址下一条指令地址由指令的地址码给出。问题三:CPU如何找到数据?ALUCUACC….
R0….JMP7HLTxaby01234567891011LDAxMULaADDbSTAyR8指令格式有效地址EA操作数的真实地址,由寻址特征和形式地址共同决定。形式地址A操作码OP寻址特征T例:假设某计算机系统,指令字长=存储字长=机器字长。设指令字长为16位,操作码4位,寻址特征4位。求各类指令的寻址范围,操作数范围和访存次数。1.直接寻址操作数M8
执行阶段访问一次存储器。A的位数决定了操作数的寻址范围。形式地址A直接得到有效地址EA。寻址特点:LDA8 M比较快地找到操作数?2.寄存器寻址操作数位于寄存器中,指令中的形式地址A是寄存器标号。操作数…………R0R8R15寄存器LDA8R
执行阶段不访存,执行速度快。
寄存器个数较少,寻址空间有限。寻址特点:如何扩大
寻址范围?
3.立即寻址
指令执行阶段不访存A的位数限制了立即数的范围OP#A立即寻址特征立即数
可正可负补码形式地址A就是操作数4.隐含寻址操作数地址隐含在操作码中ADDA操作数主存寻址特征AACC暂存ALU另一个操作数隐含在ACC中如8086MUL指令被乘数隐含在AX(16位)或AL(8位)中MOVS指令源操作数的地址隐含在SI中目的操作数的地址隐含在DI中
指令字中少了一个地址字段,可缩短指令字长5.间接寻址EA=(A)有效地址由形式地址间接提供OPA寻址特征AEA主存EAA1EAA1主存EA10
执行指令阶段2次访存
可扩大寻址范围
便于编制程序OPA寻址特征A一次间址多次间址操作数操作数多次访存……子程序主程序…8081201202调用子程序调用子程序间接寻址编程举例(A)=81(A)=202……@
间址特征JMP@A…
…
…
…EA=(Ri
)6.寄存器间接寻址
有效地址在寄存器中,操作数在存储器中,执行阶段访存操作数主存OPRi寻址特征
便于编制循环程序地址…………R0RiRn寄存器有效地址在寄存器中7.基址寻址(1)采用专用寄存器作基址寄存器EA=(BR)+ABR为基址寄存器OPA操作数主存寻址特征ALUBR
可扩大寻址范围
有利于多道程序BR内容由操作系统或管理程序确定
在程序的执行过程中BR内容不变,形式地址A可变(2)
采用通用寄存器作基址寄存器操作数主存寻址特征ALUOPR0AR0
作基址寄存器
由用户指定哪个通用寄存器作为基址寄存器通用寄存器R0Rn-1R1…
基址寄存器的内容由操作系统确定
程序执行过程中R0内容不变,形式地址A可变8.变址寻址EA=(IX)+AOPA操作数主存寻址特征ALUIX
可扩大寻址范围
便于处理数组问题IX的内容由用户给定IX为变址寄存器(专用)
程序执行过程IX内容可变,形式地址A不变通用寄存器也可以作为变址寄存器9.相对寻址EA=(PC)+AA是相对于当前指令的位移量(可正可负,补码)A的位数决定操作数的寻址范围
程序浮动
广泛用于转移指令操作数寻址特征ALUOPA相对距离A1000PC
…主存1000AOP例7.2设相对寻址的转移指令占3个字节,第一字节为操作码,第二,三字节为相对位移量(补码表示),而且数据在存储器中采用以低字节地址为字地址的存放方式,每当CPU从存储器取出一个字节时,即自动完成(PC)+1PC.1)若PC当前值为240(十进制),要求转移到290(十进制),则转移指令的第二三字节的机器代码是什么?2)如PC当前值为240(十进制),要求转移到200(十进制),则转移指令的第二三字节的机器代码是什么?10.堆栈寻址(1)堆栈的特点堆栈硬堆栈软堆栈多个寄存器指定的存储空间先进后出(一个入出口)栈顶地址
由SP
指出–11FFFH+12000H进栈(SP)–1SP出栈(SP)+1SP栈顶栈底2000HSP2000H……1FFFHSP1FFFH栈顶栈底进栈出栈1FFFH栈顶2000H栈顶(2)堆栈寻址举例15200HACCSPX栈顶200H栈底主存151FFHACCSP15栈顶200H栈底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX栈顶200H栈底主存151FFH15200HACCSP栈顶200H栈底主存X15(3)SP的修改与主存编址方法有关①按字
编址进栈出栈(SP)–1SP(SP)+1SP②按字节
编址存储字长16
位进栈出栈(SP)–2SP(SP)+2SP存储字长32
位进栈出栈(SP)–4SP(SP)+4SP问:下图所指的寻址方式的名称:7.4指令格式举例一、设计指令格式时应考虑的各种因素1.指令系统的兼容性(向上兼容)2.其他因素操作类型数据类型指令格式包括指令个数及操作的难易程度指令字长是否固定寻址方式寄存器个数地址码位数、地址个数、寻址方式类型操作码位数、是否采用扩展操作码技术,确定哪些数据类型可参与操作指令寻址、操作数寻址寄存器的多少直接影响指令的执行时间3.Intel8086(1)指令字长(2)地址格式1~6个字节MOVWORDPTR[0204],0138H6字节INCAX1字节一地址NOP1字节CALL段内调用3字节零地址5字节段间调用寄存器–寄存器寄存器–立即数寄存器–存储器ADDAX,BX2字节ADDAX,[3048H]4字节ADDAX,3048H
3字节二地址CALL例7.4某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求:(1)直接寻址的二地址指令3条(2)变址寻址的一地址指令6条(3)寄存器寻址的二地址指令8条(4)直接寻址的一地址指令12条(5)零地址指令32条。试问还有多少种代码未用。例7.5设某机配有基址寄存器和变址寄存器,采用一地址格式的指令系统,允许直接和间接寻址,且指令字长、机器字长和存储字长都为16位。(1)若采用单字长指令,共能完成105种操作,则指令可直接寻址的范围是多少?一次间接寻址的寻址范围是多少?画出其指令格式并说明各字段的含义?(2)若存储字长不变,可采用什么方法直接访问容量为16MB的主存?例7.6某模型机共有64种操作,操作码位数固定,且具有以下特点(1)采用一地址或二地址格式(2)有寄存器寻址、直接寻址和相对寻址(位移量为-128~+127)三种寻址方式。
(3)有16个通用寄存器,算术运算和逻辑运算的操作数均在寄存器中,结果也在寄存器中。
(4)取数/存数指令在寄存器和存储器之间传送数据。
(5)存储器容量为1MB,按字节编址。
要求设计算逻指令,取数/存数指令和相对转移指令的格式,并简述理由。例7.7设某机共能完成110种操作,CPU有8个通用寄存器(16位),主存容量为4M字,采用寄存器-存储器型指令。(1)欲使指令可直接访问主存的任一地址,指令字长应取多少为,画出指令格式。
(2)若在上述设计的指令字中设置一寻址特征位X,且X=1表示某个寄存器作基址寄存器,画出指令格式。试问基址寻址可否访问主存的任一单元?提出一种方案可以访问主存任一位置。
(3)若主存容量扩大到4G字,且存储字长等于指令字长,则在不改变上述硬件结构的前提下,可采用什么方法使指令可访问存储器的任一位置。7.5RISC技术一、RISC的产生和发展80—20规律
典型程序中80%的语句仅仅使用处理机中20%的指令
执行频度高的简单指令,因复杂指令的存在,执行速度无法提高RISC(ReducedInstructionSetComputer)CISC(ComplexInstructionSetComputer)——RISC技术
能否用20%的简单指令组合不常用的
80%的指令功能?二、RISC的主要特征
选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合
指令长度固定、指令格式种类少、寻址方式少
只有LOAD/STORE
指令访存
采用流水技术一个时钟周期
内完成一条指令
采用组合逻辑
实现控制器
CPU中有多个
通用寄存器
采用优化
的编译
程序三、CISC的主要特征
系统指令复杂庞大,各种指令使用频度相差大
指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眼科患者的心理护理
- 排水管涵施工方案
- 提高护理服务质量的评估方法
- 2026年纳米材料在绿色建筑保温中应用
- 护理技能实操的模拟训练
- 管桩施工方案.钢结构实验学校预应力
- 2026年细胞工厂外泌体规模化制备技术
- 2026年十五五服务机器人新质生产力核心攻关与投资主线
- 智能护理技术在儿科护理中的应用
- 管道防腐施工方案
- 2026西藏林芝巴宜区人民检察院司法警务辅助人员招聘3人笔试备考题库及答案解析
- 档案数字化项目立项申请书
- (正式版)DB51∕T 2787-2021 《研学旅行实践活动设计规范》
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试参考题库及答案解析
- 2026年六安职业技术学院单招职业适应性测试题库含答案详解(能力提升)
- 2026湖南省卫生健康委直属事业单位招聘185人笔试模拟试题及答案解析
- 2025江西赣州水务集团招聘47名专业技术人员笔试历年典型考点题库附带答案详解
- (新教材)2026年春期教科版二年级下册科学教学计划及进度表
- 2026年河南农业大学招聘辅导员(硕士)10名备考题库及1套参考答案详解
- 05S502 室外给水管道附属构筑物
- 2026年青海单招新能源汽车技术专业故障诊断经典题含答案智能网联方向
评论
0/150
提交评论