设CPU内的部件有:PC IR MAR MDR ACC ALU CU 且采用非总线结构。 (
问题详情
设CPU内的部件有:PC、IR、MAR、MDR、ACC、ALU、CU,且采用非总线结构。 (1)写出取指周期的全部微操作。 (2)写出取数指令LDA X,存数指令STA X,加法指令ADD X(X均为主存地址)在执行阶段所需的全部微操作。 (3)当上述指令均为间接寻址时,写出执行这些指令所需的全部微操作。 (4)写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部微操作。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:(1)取指周期的全部微操作PC→MAR 现行指令地址→MAR1→R 命令存储器读M(MAR)→MDR 现行指令从存储器中读至MDRMDR→IR 现行指令→IROP(IR)→CU 指令的操作码→CU译码(PC)+1→PC 形成下一条指令的地址(2)①取数指令:LDA X执行阶段所需的全部微操作Ad(IR)→MAR 指令的地址码字段→MAR1→R 命令存储器读M(MAR)→MDR 操作数从存储器中读至MDRMDR→ACC 操作数→ACC②存数指令STA X执行阶段所需的全部微操作Ad(IR)→MAR 指令的地址码字段→MAR1→W 命令存储器写ACC→MDR 欲写入的数据→MDRMDR→M(MAR) 数据写至存储器中③加法指令ADD X执行阶段所需的全部微操作Ad(IR)→MAR 指令的地址码字段→MAR1→R 命令存储器读M(MAR)→MDR 操作数从存储器中读至MDR(ACC)+(MDR)→ACC 两数相加结果送ACC(3)当上述指令为间接寻址时需增加间址周期的微操作。这三条指令在间址周期的微操作是相同的即Ad(IR)→MAR 指令的地址码字段→MAR1→R 命令存储器读M(MAR)→MDR 有效地址从存储器中读至MDR进入执行周期三条指令的第一个微操作均为MDR→MAR(有效地址送MAR)其余微操作不变。(4)①无条件转移指令JMP Y执行阶段的微操作Ad(IR)→PC 转移(目标)地址Y→PC②结果为零则转指令BAZ Y执行阶段的微操作Z.Ad(IR)→PC 当Z=1时转移(目标)地址Y→PC(Z为标记触发器结果为0时Z=1)
(1)取指周期的全部微操作PC→MAR现行指令地址→MAR1→R命令存储器读M(MAR)→MDR现行指令从存储器中读至MDRMDR→IR现行指令→IROP(IR)→CU指令的操作码→CU译码(PC)+1→PC形成下一条指令的地址(2)①取数指令:LDAX执行阶段所需的全部微操作Ad(IR)→MAR指令的地址码字段→MAR1→R命令存储器读M(MAR)→MDR操作数从存储器中读至MDRMDR→ACC操作数→ACC②存数指令STAX执行阶段所需的全部微操作Ad(IR)→MAR指令的地址码字段→MAR1→W命令存储器写ACC→MDR欲写入的数据→MDRMDR→M(MAR)数据写至存储器中③加法指令ADDX执行阶段所需的全部微操作Ad(IR)→MAR指令的地址码字段→MAR1→R命令存储器读M(MAR)→MDR操作数从存储器中读至MDR(ACC)+(MDR)→ACC两数相加结果送ACC(3)当上述指令为间接寻址时,需增加间址周期的微操作。这三条指令在间址周期的微操作是相同的,即Ad(IR)→MAR指令的地址码字段→MAR1→R命令存储器读M(MAR)→MDR有效地址从存储器中读至MDR进入执行周期,三条指令的第一个微操作均为MDR→MAR(有效地址送MAR),其余微操作不变。(4)①无条件转移指令JMPY执行阶段的微操作Ad(IR)→PC转移(目标)地址Y→PC②结果为零则转指令BAZY执行阶段的微操作Z.Ad(IR)→PC当Z=1时,转移(目标)地址Y→PC(Z为标记触发器,结果为0时Z=1)