资源描述:
《习题(5-6).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章习题5.1某指令系统指令字长16位,每个操作数地址码长6位,指令分无操作数、单操作数、双操作数三类。若双操作数指令有K条,无操作数有L条,问单操作数指令最多可能多少条?op1A1A2466双操作数指令,最多可有24=16条,按照题目中,已经有K条,所以还剩下24-K条未被使用。因此,1操作数指令最多可以有(24-K)×26条2操作数指令第五章习题op1op2A2466假设,1操作数的指令,共有X条,所以还剩下((24-K)×26–X)可以给0操作数指令。但是给0操作数指令时,必然是按照26给,也就是[L/26]
2、是占用1操作数指令剩余的条数。这样:X=(24-K)×26–[L/26](向上取整数)op1op2op34661操作数指令0操作数指令第五章习题5.2基址寄存器的内容为2000H,变址寄存器内容03A0H,指令的地址码部分是3FH,当前正在执行的指令所在地址为2B00H,请求出变址编址(考虑基址)和相对寻址两种情况的访问有效地址。解:1)变址编址:EA=2000H+03A0H+003FH=23DFH2)相对寻址:EA=2B00H+3FH=2B3FH补充,如果指令地址码部分是:8FHEA=2B00H+FF8FH=2A8
3、FH第五章习题5.3接上题。(1)设变址编址用于取指令,相对编址用于转移指令,存储器内存放的内容如下:地址内容003FH2300H2000H2400H203FH2500H233FH2600H23A0H2700H23DFH2800H2B00H063FH请写出从存储器中所取得的数据以及转移地址。第五章习题5.3接上题。变址编址:操作数=2800H相对寻址:转移地址=2B3FH第五章习题5.3接上题。(2)若采用直接编址,请写出从存储器中取出的数。考虑基址寄存器:EA=2000H+03A0H操作数=(23A0H)=2700
4、H不考虑基址寄存器:EA=03A0H操作数=(03A0H)=2300H第六章习题6.1CPU结构如下图,其中一个累加器AC,一个状态寄存器和其他四个寄存器,各部分的连线表示数据通路,箭头表示信息传送方向,要求:(1)表明图中abcd四个寄存器的名称。(2)简述指令从主存取指/数到控制器的数据通路。主存储器MabcALUAC状态寄存器微操作信号发生器d+1第六章习题6.2设某计算机的运算控制器逻辑图6.8,控制信号见表6.1,指令格式如下:试写出下述三条指令的微操作信号。(1)JMP(无条件转移到(rs1)+disp)
5、(2)load(从(rs1)+disp指示的内存单元取数,送rs保存)(3)store(把rs的内容送到(rs1)+disp指示的内存单元)第六章习题(1)JMP(无条件转移到(rs1)+disp指定的地址)解:首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp->PC操作参考图6.8,需要使用ALU一次,故再需要一条微指令。微操作:rs1->GR,(rs1)->ALU,加法器左操作数disp->ALU加法器右操作数“+”ALU->PC第六章习题1)取指微指令PC->
6、ABADS=1M/IO#=1W/R#=0DB->IRPC+12)计算地址微指令rs1->GR,(rs1)->ALU,disp->ALU,“+”ALU->PC第六章习题(2)load(从(rs1)+disp指示的内存单元取数,送rs保存)解:首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp操作,然后根据计算结果访问存储器,取回的操作数还需要保存到寄存器rs中。参考图6.8,使用一次ALU需要一条微指令,访问存储器还需要一条微指令。必须先算地址,再访问存储器,最后保存结
7、果。还需要计算地址微指令,访问存储器微指令,保存结果微指令。第六章习题1)取指微指令(略)2)计算地址微指令rs1->GR,(rs1)->ALU,disp->ALU,“+”ALU->AR3)访问存储器微指令AR->AB,ADS=1,M/IO#=1W/R#=0,DB->DR第六章习题4)保存结果微指令DR->ALU,rs->GR,“+”ALU->rs说明:ALU的左操作数是DR内容,ALU的右操作数没有,就等于送0做加法就等于把DR->rs第六章习题(3)store(把rs的内容送到(rs1)+disp指示的内存单元)
8、解:首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp操作,然后根据计算结果访问存储器。参考图6.8,使用一次ALU需要一条微指令,访问存储器还需要一条微指令。必须先算地址,再访问存储器。但是写存储器时,必须保证数据要在DB之上,而到达DB只能通过DR,所以写存储器之前还要占用ALU一次,还需要