文档介绍:
第七章指令系统
ღ7-1指令,程序名词解释
指令:计算机执行某种操作的命令
程序:由有序的指令串构成,程序要解决一个具体的问题
指令系统:一台计算机能执行的全部指令的集合
指令系统的重要性:软件编程的基础,硬件设计的依据,综合考虑计算机的软硬件是计算机设计的关键因素。
ღ7-2操作码设计定长,变长
操作码用来指明该指令所要完成的操作。通常位数反映了机器的操作种类,即机器允许的指令条数,如7位→2^7=128条指令
指令的一般格式:
操作码字段
地址码字段
操作码:定长,变长
固定长度操作码:操作码长度(占二进制位数)固定不变
硬件设计相对简单
指令译码时间开销小
指令空间利用率较低
可变长度操作码:操作码长度随指令地址数目的不同而不同(可平均缩短指令长度)
硬件设计相对复杂
指令译码时间开销较大
指令空间利用率较高
例:某机器采用固定长度指令系统,16位,包括3地址指令15条,双地址指令10条,单地址指令若干,每个地址占4位。问:该指令系统最多容纳多少个单地址指令,并设计该指令系统的操作码编码方案
析:每条指令:一个唯一操作码编码,不同类型指令具有不同标识,用扩展操作码方案
三15条,1111
双10条,6个没用 6*16=96个
๑ 7.3什么是指令字长、机器字长和存储字长?
๑ 7.6某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。
固定操作码为4位。
8条三地址指令操作码为:0000~0111(剩下1000~1111共8个扩展窗口)
16条二地址指令操作码为:1000 0000~1000 1111
(剩下1001 0000~1111 1111共112个扩展窗口)
100条一地址指令操作码为:10010000 0000~10010000 1111
10010001 0000~10010001 1111
10010010 0000~10010010 1111
10010011 0000~10010011 1111
10010100 0000~10010100 1111
10010101 0000~10010101 1111
10010110 0000~10010110 0011
๑7.9试比较间接寻址和寄存器间接寻址。
๑7.10试比较基址寻址和变址寻址。
1)都可有效地扩大指令寻址范围。
2)基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给出。
3)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。
4)基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理,适用场合不同。
๑7.11画出先变址再间址及先间址再变址的寻址过程示意图。
解:1)先变址再间址寻址过程简单示意如下:
EA=[(IX)+A], (IX)+1®IX
IX
OP M A
+1
ALU
IR
EA
操作数
主存
设一重间接
๑7.14设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),假设当
内容来自淘豆网www.taodocs.com转载请标明出处.