若CPU要执行的指令为:MOV R0,R1(即将寄存器R1中的数据传送到寄存器R0中),则CPU首先要完成的操作是______。
A.R1→R0
B.R1→MDR
C.PC→MAR
D.PC→IR
参考答案:C
解析: 无论运行什么类型的指令,CPU首先需要取指令,取指令阶段的第一个操作就是将指令地址(程序计数器PC中的内容)送往存储器地址寄存器。取指周期完成的微操作序列是公共的操作,与具体指令无关,取指公共操作如下:
(1)将程序计数器PC中的内容送至存储器地址寄存器MAR,记作(PC)→MAR;
(2)向主存发读命令,记作Read;
(3)从主存中取出的指令送到存储器数据寄存器MDR,记作M(MAR)→MDR;
(4)将MDR的内容送至指令寄存器IR中,记作(MDR)→IR;
(5)将PC的内容递增,为取下一条指令做好准备,记作(PC)+1→PC。
题干虽然给出了一条具体的指令“MOV R0,R1”,实际上CPU首先要完成的操作是取指令,与具体指令是没有关系的。