数据通路的功能和基本结构

数据通路概述

  • 数据通路的定义: 数据在功能部件之间传送的路径,包括数据通路上流经的部件。它描述了信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器。
  • 数据通路的功能: 实现CPU内部的运算器与寄存器及寄存器之间的数据交换。

易混淆知识点

  • 数据通路是由控制部件控制,控制部件根据每条指令功能的不同生成对数据通路的控制信号。
  • 单总线数据通路将所有寄存器的输入输出端都连接在一条公共通路上,一个时钟内只允许一次操作,无法完成指令的所有操作。
  • CPU的读/写控制信号线决定了是从存储器读还是向存储器写。
  • 内部总线是指同一部件之间的线,系统总线是同一台计算机系统各部件之间的线。

数据通路的基本结构

CPU内部单总线方式

  • 定义: 将所有寄存器的输入端与输出端都连接到一条公共通路上。
  • 特点: 结构比较简单,数据传输存在较多的冲突现象,性能较低。

CPU内部三/多总线方式

  • 定义: 将所有寄存器的输入端与输出端都连接到多条公共通路上。
  • 特点: 相较单总线结构,效率提高。

专用数据通路方式

  • 定义: 根据指令执行过程中的数据和地址的流动方向安排连接线路。
  • 特点: 避免使用共享的总线,性能较好,但硬件总量大。

各个方式的对比

数据通路类型特点
采用CPU内部总线的数据通路(单总线和多总线)结构简单,实现容易,性能较低,存在较多的冲突现象
不采用CPU内部总线的数据通路(专用数据通路)结构复杂,硬件量大,不易实现,性能高,基本不存在数据冲突

示例图

图5.7

数据传输举例【以图5.7为例↑】

寄存器之间的数据传输:
寄存器之间的数据传送可以通过CPU内部总线完成。
以PC寄存器为例,把PC内容送至MAR,实现传送操作的流程的控制信号为:
PC-Bus
PCout有效,PC内容送总线
Bus-MAR
MARin有效,总线内容送MAR

主存与CPU之间的数据传送:
主存与CPU之间的数据传送也要借助CPU内部总线完成。
CPU从主存读取指令为例,实现传送操作的流程的控制信号为:
PC-Bus-MAR
PCout和MARin有效,现行指令地址-MAR
1-R
CU发读命令
MEN(MAR)-MDR
MDRin有效
MDR-Bus-IR
MDRout和IRin有效,现行指令-IR

执行算术或逻辑运算:
以加法运算为例
Ad(IR)-Bus-MAR
MDRout和MARin有效
1-R
CU发出读命令
MEN-数据线-MDR
操作数从存储器-数据线-MDR
MDR-Bus-Y
MDRout和Yin有效,有效数-Y

ACCout和ALUin有效,CU向ALU发加命令,结果-Z
Z-ACC
Zout和ACCin有效,结果-ACC