🚌 计算机总线架构交互详解

控制总线 · 数据总线 · 地址总线 — 深入理解计算机内部通信机制

🔬 总线系统架构图

📍 地址总线 Address Bus 单向 · CPU → 内存/I/O · 传输地址信息 💾 数据总线 Data Bus 双向 · CPU ⇄ 内存/I/O · 传输实际数据 🎛️ 控制总线 Control Bus 双向(多根单向线)· 传输控制信号 · CPU 与外设均可发出 CPU 微处理器 内存 RAM / ROM 南桥芯片 Chipset / Bridge I/O 设备 磁盘/网卡/... DMA 控制器 获得总线控制权时可驱动地址/数据总线 CPU 发出 双向传输 CPU + 外设 地址总线 数据总线 控制总线 信号方向
📍

地址总线

Address Bus
  • 传输内容内存地址 / I/O端口地址
  • 传输方向单向:CPU → 内存 / I/O
  • 总线宽度决定可寻址空间(32位→4GB)
  • 发出方CPU(主设备)发出地址
  • 三态特性高阻态 / 低电平 / 高电平
  • 关键特点地址在总线周期开始时稳定
💾

数据总线

Data Bus
  • 传输内容指令代码 / 操作数 / 数据
  • 传输方向双向:CPU ⇄ 内存 / I/O
  • 总线宽度决定每次传输数据量(64位=8B)
  • 发送方写操作:CPU发;读操作:内存/I/O发
  • 三态特性支持多设备共享总线
  • 关键特点数据在总线周期中间阶段有效
🎛️

控制总线

Control Bus
  • 传输内容各类控制信号和状态信号
  • 传输方向多根单向线组成(有入有出)
  • CPU 发出读/写命令、时钟、复位等
  • 外设发出中断请求、DMA请求、就绪等
  • 关键特点协调总线周期和同步各部件
  • 仲裁机制总线仲裁决定哪个设备使用总线

🎛️ 控制总线 — 常见信号及来源

信号名称 方向 发出方 接收方 功能说明
MEMR#CPU→CPU内存存储器读命令,通知内存送出数据
MEMW#CPU→CPU内存存储器写命令,通知内存写入数据
IOR#CPU→CPUI/O设备I/O读命令,从端口读取数据
IOW#CPU→CPUI/O设备I/O写命令,向端口写入数据
CLKCPU→时钟发生器/CPU所有部件时钟信号,同步总线操作
RESET#CPU→CPU/复位电路所有部件复位信号,使系统回到初始状态
READY#←外设内存/I/OCPU就绪信号,表示设备已完成操作
INTR←外设I/O设备CPU可屏蔽中断请求信号
INTA#CPU→CPU中断控制器中断响应信号,确认接受中断
NMI←外设I/O设备CPU不可屏蔽中断请求(紧急事件)
HOLD←外设DMA控制器CPU总线请求信号,请求获得总线控制权
HLDACPU→CPUDMA控制器总线授权信号,同意DMA接管总线
ALECPU→CPU锁存器/外设地址锁存允许,指示地址有效
DEN#CPU→CPU数据收发器数据允许信号,开启数据总线缓冲
DT/R#CPU→CPU数据收发器数据发送/接收方向控制信号
M/IO#CPU→CPU内存/I/O存储器/I/O访问选择信号
WAIT#←外设慢速设备CPU等待信号,请求CPU延长总线周期

注:信号名末尾 # 表示低电平有效(如 MEMR# 为低电平时有效)

🚌 总线传输权限 — 谁可以在哪些总线上传输?

📍 地址总线 — 谁可以传输?

CPU — 正常模式下,CPU是地址总线的唯一主设备,输出内存/I/O地址
DMA控制器 — 获得总线控制权(HLDA响应后),可驱动地址总线
内存/I/O设备 — 不能驱动地址总线(地址是CPU提供的输入)

💾 数据总线 — 谁可以传输?

CPU — 写操作时,CPU向数据总线发送数据
内存 — 读操作时,内存向数据总线发送数据
I/O设备 — 读操作时,I/O设备向数据总线发送数据
DMA控制器 — 获得控制权后,可在数据总线上传输数据

🎛️ 控制总线 — 谁可以发出信号?

CPU 发出:MEMR#、MEMW#、IOR#、IOW#、CLK、RESET#、INTA#、HLDA、ALE、M/IO#
外设/内存发出:INTR、NMI、HOLD、READY#、WAIT#
DMA控制器发出:HOLD(请求总线)、地址信号(获授权后)
时钟发生器:CLK(系统时钟信号)

⏱️ 总线读/写操作时序(交互动画)

📋 核心要点总结

📍 地址总线

  • 只传输地址,不传输数据
  • 单向:CPU → 内存/I/O
  • 宽度决定系统最大寻址空间
  • CPU(或DMA)是唯一主设备
  • 地址在 T1 周期(第一个时钟)送出

💾 数据总线

  • 传输实际数据/指令
  • 双向:CPU ⇄ 内存/I/O
  • 宽度决定每次传输数据量
  • 多个设备可分时驱动(三态门)
  • 数据在 T2~T3 周期有效

🎛️ 控制总线

  • 传输同步/控制/状态信号
  • 由多根单向线组成(有入有出)
  • CPU和外设均可发出控制信号
  • 总线仲裁决定使用权归属
  • 是整个总线系统的"交通警察"