🔬 总线系统架构图
地址总线
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→ | CPU | I/O设备 | I/O读命令,从端口读取数据 |
| IOW# | CPU→ | CPU | I/O设备 | I/O写命令,向端口写入数据 |
| CLK | CPU→ | 时钟发生器/CPU | 所有部件 | 时钟信号,同步总线操作 |
| RESET# | CPU→ | CPU/复位电路 | 所有部件 | 复位信号,使系统回到初始状态 |
| READY# | ←外设 | 内存/I/O | CPU | 就绪信号,表示设备已完成操作 |
| INTR | ←外设 | I/O设备 | CPU | 可屏蔽中断请求信号 |
| INTA# | CPU→ | CPU | 中断控制器 | 中断响应信号,确认接受中断 |
| NMI | ←外设 | I/O设备 | CPU | 不可屏蔽中断请求(紧急事件) |
| HOLD | ←外设 | DMA控制器 | CPU | 总线请求信号,请求获得总线控制权 |
| HLDA | CPU→ | CPU | DMA控制器 | 总线授权信号,同意DMA接管总线 |
| ALE | CPU→ | 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和外设均可发出控制信号
- 总线仲裁决定使用权归属
- 是整个总线系统的"交通警察"