欢迎来到天天文库
浏览记录
ID:38666530
大小:440.50 KB
页数:44页
时间:2019-06-17
《计算机组成原理ch》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章指令系统内容5.1机器指令5.2寻址方式5.3指令的分类5.4CISC与RISC技术5.5典型指令系统举例5.6小型案例实训5.7本章小结5.8学习加油站5.9习题5.1机器指令一、指令格式操作码字段(OP)地址码字段(A)1.操作码(1)长度固定(2)长度可变用于指令字长较长的情况,RISC如IBM370操作码8位操作码分散在指令字的不同字段中5.1机器指令二、指令字长指令字长决定于操作码的长度指令字长=存储字长2.指令字长可变操作数地址的长度操作数地址的个数1.指令字长固定按字节的倍数变化5.1机器指令三、指令的地址结构1.四地址指令2.三地址指令3.二地址指令4.一地址指令5.零地
2、址指令5.1机器指令四、指令操作码操作码用于指明指令要完成的操作功能及其特性。具有唯一性。若指令系统中有m种操作,即指令系统中可包含m条指令,则操作码的位数n应满足:按操作码的长度是否可变分为:定长编码变长编码变长编码---扩展操作码技术操作码的位数随地址数的减少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A
3、3…000000011110…4位操作码8位操作码12位操作码16位操作码15条三地址指令15条二地址指令15条一地址指令16条零地址指令7.15.1机器指令【例5.1】设机器指令字长为16位,指令中地址字段的长度为4位。如果指令系统中已有11条三地址指令、72条二地址指令和64条零地址指令,问最多还能规定多少条一地址指令?[分析]三地址指令的地址字段共需12位,指令中还可有4位用于操作码,可规定16条三地址指令。因为现有11条三地址指令,所以还剩下个编码,可用于二地址指令。二地址指令的地址字段共需8位,可有8位操作码,去掉三地址指令用掉的操作码,可规定条二地址指令。现有72条二地址指令,所以
4、还有个编码用于一地址指令。5.2寻址方式一、寻址的基本概念寻址方式确定本条指令的操作数地址下一条欲执行指令的指令地址指令寻址数据寻址寻址方式5.2寻址方式二、指令的寻址方式1.顺序方式2.跳越方式当程序发生转移时,根据指令的转移目标地址修改PC的内容。(PC)+1PC目标地址PC5.2寻址方式三、操作数的寻址方式操作数存在的位置或形式:常数、或存在于主存、寄存器中。在设计寻址方式时,尽量满足下列要求:⑴指令内包含的地址字段的长度尽可能短,以缩短指令长度。⑵指令中给出的地址能访问尽可能大的存储空间。⑶希望地址能隐含在寄存器中。⑷能在不改变指令的情况下改变地址的实际值,以支持数组、向量、线性表、字
5、符串等数据结构。⑸寻址方式应尽可能简单,以简化硬件设计。一般讨论寻址方式时,主要都是讨论操作数地址的寻址方式5.2寻址方式1.立即寻址2.直接寻址3.间接寻址4.寄存器直接寻址5.寄存器间接寻址6.变址寻址7.相对寻址8.基址寻址9.基址加变址寻址10.堆栈寻址11.页面寻址5.2寻址方式1.立即寻址立即寻址方式是指指令的地址码部分给出的不是操作数的地址而是操作数本身。指令执行阶段不访存A的位数限制了立即数的范围OP#D立即寻址特征立即数可正可负补码形式地址D就是操作数5.2寻址方式2.直接寻址EA=A操作数主存寻址特征OPAEA执行阶段访问一次存储器A的位数决定了该指令操作数的寻址范围操作数
6、的地址不易修改(必须修改A)有效地址由形式地址直接给出3.间接寻址EA=(A)有效地址由形式地址间接提供OPA寻址特征AEA主存EAA1EAA1主存EA10执行指令阶段2次访存可扩大寻址范围便于编制程序OPA寻址特征A一次间址多次间址操作数操作数多次访存4.寄存器直接寻址EA=Ri执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寄存器个数有限,可缩短指令字长操作数………………R0RiRn寄存器有效地址即为寄存器编号EA=(Ri)5.寄存器间接寻址有效地址在寄存器中,操作数在存储器中,执行阶段访存操作数主存OPRi寻址特征便于编制循环程序EA………………R0RiRn寄存器有效地址在寄存器
7、中EA6.变址寻址EA=(Rx)+AOPA操作数主存寻址特征ALURx可扩大寻址范围便于处理数组问题IX的内容由用户给定Rx为变址寄存器(专用)在程序的执行过程中IX内容可变,形式地址A不变通用寄存器也可以作为变址寄存器XRxEA=A+X7.相对寻址EA=(PC)+AA是相对于当前指令的位移量(可正可负,补码)A的位数决定操作数的寻址范围程序浮动广泛用于转移指令操作数寻址特征ALUOPDisp相对
此文档下载收益归作者所有