某简化的双地址指令计算机逻辑框图如下图所示,图中粗线为CPU内总线,箭头表示数据流通方向,MM为主存,MAR为主存地址寄存器,MDR为主存数据寄存器,IR为指令寄存器,PC为程序计数器,R0~R3为通用寄存器,C为操作数暂存器,D为运算结果暂存器,ALU为运算器;图中每个寄存器都有数据打入控制信号XXin,除IR和C之外的寄存器都有数据输出控制信号XXout,另外,ALU还有相应的操作控制信号ADD、SUB、…PC有自增控制信号+1PC,MM有读写信号MRD和MWR,以及存储器工作完成信号MFC。
问答题
选择括号中的正确答案或填空。
①PCout,MARin(相容/互斥)。
②MRD,MWR(相容/互斥)。
③R0out,R1out(相容/互斥)。
④MDRout,IRin(相容/互斥)。
⑤在字段直接编码方式中,互斥的微命令应编入同一字段,则计算该字段二进制位数的表达式是______。
【正确答案】①相容。②互斥。③互斥。④相容。⑤[*](需要保留一种状态表示不发命令)。
【答案解析】
问答题
若取指令操作微操作流程描述如下:
T1 PCout, MARin
T2 MRD, +1PC
T3 WAIT;
{MFC=0转TW(指令尚未读出)
{MFC=1转T4(指令读出)
T4 MDRout,IRin(指令译码)
参照上述流程,试写出执行指令SUB(R0),R1的全部微操作流程。(注:该指令完成((R0))-(R1)→((R0))),R1为寄存器寻址,存放着源操作数;R0为寄存器间接寻址,存放的是目的操作数地址,操作数和结果存放在主存中。
【正确答案】微操作流程如下:
T1 R0out, MARin //将R0中的地址放入MAR
T2 MRD
T3 WAIT;
{MFC=0转TW(数据尚未读出)
{MFC=1转T4(数据读出)
T4 MDRout, Cin //将操作数放入操作数寄存器
T5 R1out, SUB //从R1中读出另一操作数,进行减法运算
T6 Dout, MDRin //将运算结果输入到MDR
T7 MWD //将结果写入主存
T8 WAIT;
{MFC=0转TW(数据尚未写入)
{MFC=1转Ti(数据已写入) //写入成功
【答案解析】