P
C
→
M
A
R
→
地址总线
→
主存
PC\rightarrow MAR \rightarrow 地址总线 \rightarrow 主存
PC→MAR→地址总线→主存
C
U
发出读命令
→
控制总线
→
主存
CU发出读命令\rightarrow 控制总线 \rightarrow 主存
CU发出读命令→控制总线→主存
主存(指令)
→
数据总线
→
M
D
R
→
I
R
(存放指令)
主存(指令)\rightarrow 数据总线\rightarrow MDR\rightarrow IR(存放指令)
主存(指令)→数据总线→MDR→IR(存放指令)
C
U
发出控制信号
→
P
C
+
1
CU发出控制信号\rightarrow PC+1
CU发出控制信号→PC+1
2.2 间址周期
任务:取操作数的有效地址
一次间址的间址周期的数据流向
A
d
(
I
R
)
(
或
M
D
R
)
→
M
A
R
→
地址总线
→
主存
Ad(IR)(或MDR)\rightarrow MAR \rightarrow 地址总线\rightarrow 主存
Ad(IR)(或MDR)→MAR→地址总线→主存,Ad(IR)表示取出IR中存放的指令字的地址字段
C
U
发出读命令
→
控制总线
→
主存
CU发出读命令\rightarrow 控制总线\rightarrow 主存
CU发出读命令→控制总线→主存
主存
→
数据总线
→
M
D
R
(存放有效地址
主存\rightarrow 数据总线\rightarrow MDR(存放有效地址
主存→数据总线→MDR(存放有效地址
2.3 执行周期
任务:取操作数,并根据IR中的指令字的操作码通过ALU操作产生执行结果
不同指令的指令周期操作不同,因此没有统一的数据流向
2.4 中断周期
任务:处理中断请求
中断周期的数据流向
C
U
控制将
S
P
减一
,
S
P
→
M
A
R
→
地址总线
→
主存
CU控制将SP减一,SP\rightarrow MAR\rightarrow 地址总线\rightarrow 主存
CU控制将SP减一,SP→MAR→地址总线→主存,(减一是因为计算机的堆栈中都是向低地址增加)
C
U
发出写命令
→
控制总线
→
主存
CU发出写命令\rightarrow 控制总线\rightarrow 主存
CU发出写命令→控制总线→主存
P
C
→
M
D
R
→
数据总线
→
主存(程序断点存入主存)
PC\rightarrow MDR \rightarrow 数据总线 \rightarrow 主存(程序断点存入主存)
PC→MDR→数据总线→主存(程序断点存入主存)
C
U
(中断服务程序的入口地址)
→
P
C
CU(中断服务程序的入口地址)\rightarrow PC
CU(中断服务程序的入口地址)→PC
(
P
209
12
P_{209}12
P20912)以下关于间址周期的描述中,正确的是() A. 所有指令的间址操作都是相同的 B. 凡是存储器间接寻址的指令,它们的操作都是相同的 C. 对于存储器间接寻址和寄存器间接寻址,它们的操作是不同的 D. 都不对 解答:指令的间址分为一次间址、两次间址和多次间址,因此它们的操作是不同的。存储器间址是通过形式地址访存,寄存器间址通过寄存器内容访存,因此操作不同,选C 错误原因:错选A
(
P
209
14
P_{209}14
P20914)以下叙述中,错误的是() A. 取指操作是控制器固有的功能,不需要在操作码控制下完成 B. 所有指令的取指操作都是相同的 C. 在指令长度相等的情况下,所有指令的取指操作是相同的 D. 中断周期是在指令执行完成后出现的 解答:不同长度的指令,其取指操作可能是不同的。例如,双字指令、三字指令和单字指令的取指操作是不同的。选B 错误原因:错选C
(
P
210
16
P_{210}16
P21016)下列说法中,正确的是() I. 指令字长等于机器字长的前提下,取指周期等于机器周期 II. 指令字长等于存储字长的前提下,取指周期等于机器周期 III. 指令字长和机器字长的长度没有任何关系 IV. 为了硬件设计方便,指令字长都和存储字长一样大 A. II、III B. II、III、IV C. I、III、IV D. I、IV 解答:(1)指令字长一般取存储字长的整数倍。若指令字长等于存储字长的两倍,则需两次访存,取指周期等于机器周期的两倍;若指令字长等于存储字长,则取指周期等于机器周期。(2)指令字长与操作码的长度、操作数地址长度、操作数地址的个数有关,与机器字长没有必然的联系。为了设计方便,指令字长一般取字节或存储字长的整数倍,但不一定和存储字长一样大。选A 错误原因:错选D