数据通路的功能
- 数据通路:数据在各功能部件之间传送的路径
- 功能:描述了信息从哪里开始,中间经过哪些部件,最后传到哪里
- 控制单元CU产生控制信号建立数据通路
数据通路的基本结构
- 内部总线:同一部件内部连接各寄存器及运算部件之间的总线
- 系统总线:同一台计算机系统的各部件相互连接的总线
CPU内部单总线方式
- 实现:所有寄存器的输入端、输出端连接到一条公共数据通路上
- 特点:结构简单,但一个时钟内只允许传一个数据,数据传输存在较多冲突现象
- 寄存器之间的数据传送:如上图中,以PC寄存器为例,把PC的内容送到MAR,实现传送操作的控制流程及控制信号为
a. (PC)→Bus,PCout有效
b. Bus→MAR,MARin有效 - 主存与CPU之间的数据传送
a. (PC)→Bus→MAR,PCout,MARin有效
b. 1→R,CU发出读命令
c. M(MAR)→MDR,MARoutE,MDRinE有效
d. (MDR)→Bus→IR,MDRout,IRin - 执行算数或逻辑运算
a. Ad(IR)→Bus→MAR,IRout(或MDRout),MARin
b. 1→R,CU发出读控制信号
c. M(MAR)→MDR,MARoutE,MDRinE
d. MDR→Bus→Y,MDRout,Yin
e. (Y)+(ACC)→Z,ACCout,ALUin,CU向ALU发加命令
f. (Z)→ACC,Zout,ACCin
CPU内部多总线方式
- 实现:所有寄存器的输入端、输出端连接到多条公共数据通路上
专用数据通路方式
- 实现:根据指令执行过程中,数据和地址的流动方向安排连接线路,避免使用共享的总线
- 特点:性能高,但硬件量大
例题
例题1
设有如下图所示的单总线结构,分析指令ADD(R0),R1的指令流程和控制信号
- 分析:(R1)+R0→(R1)
- 取指周期
a. (PC)→MAR,PCout,MARin
b. M(MAR)→MDR (PC)+1→PC,MemR,MARout,MDRinE
c. (MDR)→IR,MDRout,IRin
d. 指令译码,— - 间址周期
a.(R0)→MAR, R0out,MARin
b. M(MAR)→MDR,MemR,MARout,MDRinE
c. (MDR)→Y,MDRout,Yin - 执行周期
a. (Y)+R1→Z,R1out,ALUin,CU向ALU发加控制信号
b. (Z)→MDR,Zout,MDRin
c. (MDR)→M(MAR),MemW,MARout,MDRoutE
分析下列的取指周期
- (PC)→MAR,C0
- M(MAR)→MDR (PC)+1→PC,CU发出读控制信号,C1,C2
- (MDR)→IR,C3
- OP(IR)→CU,C4