3.4 专用数据通路方式


专用数据通路方式

多总线

  • 这里的C1、C2就是控制信号
  • 左边未显示的部分就是主存
  • 与上一节的区别在于,控制信号的解释不同

取指令

译码

  • 灰色的原因:有题目没有给出C4

专用数据通路方式-例题

(1) 请写出图中a、b、c、d 4个寄存器的名称。

  • d能自动“+1”,是PC
  • PC内容是地址,送MAR,故c是MAR
  • b与微操作信号发生器相连,是IR
  • 与主存相连的寄存器是MAR和MDR,c是MAR,则a是MDR

(2) 简述图中取指令的数据通路。

(PC) →  MAR
M(MAR) → (MDR)
(MDR) → IR

(3) 简述数据在ALU和主存之间进行存/取访问

  • ALU没有数据存储功能的
  • 所以实际上是ACC和主存的数据通路
  • 设数据地址已放入MAR

读取

M(MAR) →  MDR		//读取数据放在MDR
(MDR) →  ALU → ACC	//因为ACC没有和MDR直接相连的箭头,所以要经过ALU(大概就相当于和一个0加法操作,然后传给ACC)

(ACC) →  MDR
(MDR) →  M(MAR)

(4)简述完成指令LDA X的数据通路(X为主存地址,LDA的功能为(X) → ACC)。

  • (X) → ACC : 把这个地址传送到ACC
X  →  MAR //因为这里的X相当于Ad(IR)
M(MAR) →  MDR
(MDR)  →  ALU  →  ACC

(5)简述完成指令ADD Y的数据通路(Y为主存地址,ADD的功能为(ACC) + (Y)→ACC )。

  • (ACC) + (Y)→ACC
Y  →  MAR //因为这里的Y相当于Ad(IR)
M(MAR) →  MDR
(MDR)  →  ALU , (ACC) →  ALU
ALU  →  ACC

(6)简述完成指令STA Z的数据通路(Z为主存地址,STA的功能为(ACC) → Z)。

  • 把ACC的结果存到Z
Z  →  MAR 
(ACC) →  MDR
(MDR)  →  M(MAR)