计算机组成原理第五章 *处理器 数据通路

1 数据通路的功能和基本结构单总线

1.1 数据通路的功能

数据通路:数据在功能部件之间传送的路径。

数据通路的基本结构:

  1. CPU内部单总线方式。
  2. CPU内部多总线方式。
  3. 专用数据通路方式

1.2 数据通路-基本结构单总线

计算机组成原理第五章 *处理器 数据通路
每个部件都直接跟总线相连,部件之间无相应的连线
in结尾的控制信号决定通路能否由外向部件内传递信息
out结尾的控制信号决定通路能否向外传递信息

内部总线与系统总线:

  • 内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线;
  • 系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类I/0接口间互相连接的总线。

2 数据通路-CPU内部单总线方式

2.1 三种结构之间数据传送方式

  1. 寄存器之间数据传送

比如把PC内容送至MAR,实现传送操作的流程及控制信号为:

  1. 主存与CPU之间的数据传送
    比如CPU从主存读取指令,实现传送操作的流程及控制信号为:
  1. 执行算术或逻辑运算
    比如一条加法指令,微操作序列及控制信号为:

2.2 CPU内部单总线方式-例题

计算机组成原理第五章 *处理器 数据通路
设有如图所示的单总线结构,分析指令ADD(R0),R1的指令流程和控制信号。

  1. 分析指令功能和指令周期功能:((R0))+(R1)->(R0)R0目的操作数,R1源操作数,R1表示操作数放此寄存器中,(R0)表示操作数地址放在寄存器中,存放的是主存的地址,最终目标存回主存
    取指周期、间址周期、执行周期

  2. 写出各阶段的指令流程
    取指周期:公共操作

时序 微操作 有效控制信号
1 (PC)→MAR PCout,MARin
2 M(MAR)→MDR (PC)+1→PC MemR,MARout,MDRinE
3 (MDR)→IR MDRout,IRin
4 指令译码 -

间址周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。

时序 微操作 有效控制信号
1 (R0)→MAR R0out,MARin
2 M(MAR)→MDR MemR,MARout,MDRinE
3 (MDR)→Y MDRout,Yin

执行周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。

时序 微操作 有效控制信号
1 (R1)+(Y)→Z R1out,ALUin ,CU向ALU发ADD控制信号
2 (Z)→MDR Zout,MDRinE
3 (MDR)→M(MAR) MemW,MDRoutE,MARout

2 专用通路

2.1 专用数据通路方式

专用数据通路方式→取指周期
计算机组成原理第五章 *处理器 数据通路

  1. (PC)→MAR Co有效
  2. (MAR)→主存 C1有效
  3. 1→R 控制单元向主存发送读命令
  4. M(MAR)→MDR C2有效
  5. (MDR)→IR C3有效
  6. (PC)+1>PC
  7. Op(IR)→CU C4有效

2.2 专用数据通路方式-例题

下图是一个简化了的CPU与主存连接结构示意图(图中省略了所有的多路选择器)。其中有一个累加寄存器(ACC)、一个状态数据寄存器和其他4个寄存器:主存地址寄存器(MAR)、主存数据寄存器(MDR)、程序寄存器(PC)和指令寄存器(IR),各部件及其之间的连线表示数据通路,箭头表示信息传递方向。
要求:
(1)请写出图中a、b、c、d4个寄存器的名称。
(2)简述图中取指令的数据通路。
(3)简述数据在运算器和主存之间进行存/取访问的数据通路。
(4)简述完成指令LDAX的数据通路(X为主存地址,LDA的功能为(X)→ACC)。
(5)简述完成指令ADDY的数据通路(Y为主存地址,ADD的功能为(ACC)+(Y)→ACC)。
(6)简述完成指令STAZ的数据通路(Z为主存地址,STA的功能为(ACC)→Z)。
计算机组成原理第五章 *处理器 数据通路

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

(1)

  • d能自动“+1”,是PC
  • PC内容是地址,只会送MAR,故c是MAR
  • b与微操作信号发生器相连,是IR
  • 与主存相连的寄存器是MAR和MDR,c是MAR,则a是MDR
    计算机组成原理第五章 *处理器 数据通路

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

(2)

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

(3)简述数据在运算器和主存之间进行存/取访问的数据通路。

存/取的数据放到ACC中
设数据地址已放入MAR

  • 取:
    M(MAR)→MDR
    (MDR)→ALU→ACC
  • 存:
    (ACC)→MDR
    (MDR)→M(MAR)

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

X→MAR
M(MAR)→MDR
(MDR)→ALU→ACC

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

一般隐含一些东西时候,隐含的位置都是ACC
Y→MAR
M(MAR)→MDR
(MDR)→ALU,(ACC)→ALU
ALU→ACC

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

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