总线系统
总线概述与分类、总线仲裁、总线操作与时序、总线标准
1. 总线概述
总线(Bus)是一组能为多个部件分时共享的公共信息传送线路,是连接计算机系统各功能部件的纽带。
1.1 总线的特性
- 共享性:多个部件都可以通过总线传输信息
- 分时性:同一时刻只允许一对部件使用总线传输数据
- 公用性:总线是系统的公共资源
1.2 系统总线结构示意
单总线结构与数据传输
CPU
主存
I/O设备1
I/O设备2
系统总线
磁盘
显示器
声卡
总线状态:空闲
单总线结构:所有部件连接在一组总线上。优点是结构简单、成本低、易于扩充;缺点是所有部件共享总线,容易成为系统性能瓶颈,且不支持并发传输。
1.3 总线的性能指标
| 指标 | 定义 | 计算公式 |
|---|---|---|
| 总线宽度 | 数据线的根数,通常为8/16/32/64位 | - |
| 总线时钟周期 | 总线一次操作的基本时间单位 | T = 1/f |
| 总线工作频率 | 单位时间内总线传输的次数 | f = 1/T |
| 总线带宽 | 单位时间内总线传输的数据量 | B = 总线宽度 × 工作频率 |
2. 总线分类
片内总线
芯片内部的总线,如CPU内部寄存器之间、寄存器与ALU之间的连线。
系统总线
连接CPU、主存、I/O等各主要部件的总线。又分数据总线、地址总线、控制总线。
通信总线
计算机系统之间或计算机与其他设备之间通信的总线,如USB、RS-232。
2.1 系统总线的三类信号线
📦 数据总线 DB
传输数据信息,双向传输。
数据线根数 = 机器字长/数据字长
📍 地址总线 AB
传输地址信息,单向输出。
地址线根数决定可寻址空间大小
🎮 控制总线 CB
传输控制信号、时序信号、状态信号。
每根线是单向的,整体双向
易混点
地址总线是单向的,数据总线是双向的,控制总线每根单向但整体双向。
3. 总线仲裁
当多个部件同时请求使用总线时,需要总线仲裁机构来决定哪个部件优先使用总线,以避免冲突。
3.1 集中式仲裁 — 链式查询方式
链式查询(菊花链)总线仲裁
总线仲裁器
BG 总线同意
BR 总线请求
设备0 (最高优先级)
PRI: 0
设备1
PRI: 1
设备2
PRI: 2
设备3 (最低优先级)
PRI: 3
状态:等待请求
链式查询方式:总线同意信号BG串行地从一个I/O接口传送到下一个I/O接口。优先级由设备的物理位置决定,离总线仲裁器越近优先级越高。优点是结构简单、易扩充;缺点是优先级固定、对电路故障敏感。
3.2 三种集中仲裁方式对比
| 仲裁方式 | 控制线数 | 优先级 | 优点 | 缺点 |
|---|---|---|---|---|
| 链式查询 | 2~3根 | 固定,由位置决定 | 结构简单,易扩充 | 优先级固定,故障敏感 |
| 计数器定时查询 | log2(n)+2 | 可灵活设置 | 优先级可改变 | 控制稍复杂 |
| 独立请求 | 2n根 | 可编程 | 响应快,优先级灵活 | 控制线多,硬件复杂 |
4. 总线操作与时序
总线操作是指在总线上进行的数据传送过程,通常分为四个阶段:申请分配、寻址、传输、结束。
4.1 同步通信与异步通信
⏱️ 同步通信
由统一时钟控制通信,通信双方在时钟节拍的控制下完成数据传输。
优点:速度快,控制简单
缺点:必须按最慢的部件设计时钟,灵活性差
适用:各部件速度相近,总线较短
🤝 异步通信
没有统一时钟,采用应答式(握手式)通信,通过请求和回答信号配合。
优点:灵活,可适应不同速度的设备
缺点:控制复杂,速度较慢
适用:各部件速度差异大
4.2 异步通信的应答方式
- 不互锁:请求信号和回答信号都各自保持一段时间后撤销,最简单但不可靠
- 半互锁:请求信号的撤销依赖于回答信号,回答信号自己定时撤销
- 全互锁:请求和回答信号互相制约,最可靠也最慢
5. 总线标准
总线标准是系统与各模块、模块与模块之间的互连标准界面。
ISA 总线
Industry Standard Architecture,工业标准体系结构。最早的PC总线标准,16位数据线,24位地址线。
PCI 总线
Peripheral Component Interconnect,外设部件互连。32位可扩展到64位,支持突发传输,与CPU时钟无关。
PCI Express (PCIe)
目前主流的高速串行总线标准。采用点对点串行连接,x1/x4/x8/x16等多种规格,版本越高速度越快。
USB 总线
Universal Serial Bus,通用串行总线。支持热插拔,可级联,使用方便。USB 3.0及以上速度大幅提升。