问题
问答题
假设X、Y、Z寄存器均为16位(最高位为第0位)。在乘法指令开始前,被乘数已存于X中,并用Y//Z存放乘积。
要求:
(1)画出实现补码Boc,th算法的运算器框图。
(2)假设CU为硬布线控制器,且采用中央控制和局部控制相结合的办法。写出完成MUL a指令(a为主存地址)的全部微操作及节拍安排(包括取指阶段)。
(3)指出哪些节拍属于中央控制节拍;哪些节拍属于局部控制节拍,局部控制最多需要多少拍
答案
参考答案:分析:本题主要考查了Booth算法以及微操作的节拍安排。
(1)补码Booth算法的运算器框图如下所示(图中n=15):
[*]
(2)A.取指周期:
T1 PCout和MARin有效,完成PC经CPU内部总线送到MAR的操作
T2 CU通过控制总线向主存发出读命令;
存储器通过数据总线将MAR所指单元的内容送至MDR;
T3 MDRout和IRin有效,将MDR的内容送到指令寄存器IR。
T4 PC内容加1;
指令译码
B.取数周期:
T5 IRout和MARin有效,完成将被乘数地址送到MAR的操作
T6 CU通过控制总线向主存发出读命令;
存储器通过数据总线将MAR所指单元的内容送至MDR;
T7 MDRout和Yin有效,将MDR的内容送到寄存器Y。
C.执行周期:
T8 Xout、Yout和ALUin有效,同时CU向ALU发“MUL”控制信号,使X的内容和Y的内容相乘,结果送寄存器Y//Z。
(3)T1~T7采用中央控制节拍;T8采用局部控制节拍,最多需要的拍数为乘法操作数的位数,为16拍。