计算机组成原理课后习题与答案_唐朔飞7-8.pptx
文本预览下载声明
指 令 系 统; 6. 某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。 解:三地址指令格式如下: 4 4 4 4;4位OP0000,……, A1,A2,A3;8条三地址指令0111,1000,0000,……,……, A2,A3;16条二地址指令1000,1111,1001,0000,0000,……,……,……, A3;100条一地址指令1001,0110,0011,1001,0110,0100,……,……,……, 冗余编码1001,1111,1111, 可用来扩充一、零地址指令条数1010,……, 冗余编码1111, 可用来扩充三、二、一、零地址指令条数 ; 7. 设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令? 解:二地址指令格式如下: 4 6 6; 8. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种? 解:1)若采用定长操作码时,二地址指令格式如下: 4 6 6; 设二地址指令有K种,则: K=24-M-N 当M=1(最小值),N=1(最小值)时,二地址指令最多有: Kmax=16-1-1=14种 2)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码长度可随地址码的个数而变。此时, K= 24 -(N/26 + M/212 ); (N/26 + M/212 向上取整) 当(N/26 + M/212 )? 1时,K最大,则二地址指令最多有: Kmax=16-1=15种(只留一种编码作扩展标志用。); 讨论:此时,一地址指令条数为: N=(24 - K)×26 - M/26; ( M/26向上取整)。 零地址指令条数为: M = 216 - 212K - 26N; 当K最大时(K=15),一地址指令最多有: Nmax=64 - 1=63种; 零地址指令最多有: Mmax=64种 注意:应首先根据题意画出指令基本格式。; 10. 试比较基址寻址和变址寻址。 解:比较如下: 1)都可有效地扩大指令寻址范围。 2)基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给出。 3)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。 4)基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理,适用场合不同。; 11. 画出先变址再间址及先间址再变址的寻址过程示意图。 解:1)先变址再间址寻址过程简单示意如下: EA=[(IX)+A], (IX)+1?IX;2)先间址再变址寻址过程简单示意如下: EA=(IX)+(A), (IX)+1?IX; 注意: 1)英文缩写EA表示有效地址,不能乱用。 2)示意图中应标明EA(有效地址)的位置。; 12. 画出“SUB @R1”指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中,@表示间接寻址,R1寄存器的内容为2074H。 解: SUB @R1指令寻址及减法过程的流程图:; 13. 画出执行“ADD *-5”指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果存于AC
显示全部