本课目标
理解总线的作用与分类;掌握总线的组成、总线仲裁、定时方式;分清系统总线三类信号线;了解总线性能指标,明白计算机各部件如何通过总线完成数据交互。
6.1 总线概述
总线 Bus:一组共享的传输线路,用来连接计算机内多个硬件模块,实现部件之间指令、数据、控制信号的传递。
没有总线,CPU、内存、外设之间需要大量独立连接线,硬件结构会极其复杂。总线采用共享线路设计,简化硬件布线。
注意:同一时刻,一条总线上只能有一组信号进行传输,多个设备不能同时发送数据,所以需要总线仲裁机制。
6.2 总线分类
按连接范围划分:
- 片内总线 On-chip Bus:芯片内部总线,CPU寄存器、ALU之间的连线,集成在处理器芯片内部。
- 系统总线 System Bus:计算机主板上,连接CPU、主存、I/O接口的总线,本课重点。
- 通信总线 Communication Bus:主机与外部设备之间,如USB、SATA、PCIe,用于设备之间远距离数据传输。
系统总线再细分为3组信号线:
- 地址总线 Address Bus:单向传输,CPU向外发送地址,指定访问的存储单元或I/O端口;位数决定寻址空间大小。
- 数据总线 Data Bus:双向传输,用来传递指令与数据;总线宽度决定单次可以传输的数据位数。
- 控制总线 Control Bus:双向,传递读写、中断、就绪等控制与状态信号,协调部件动作。
6.3 总线仲裁 Bus Arbitration
多个设备都想占用总线发送数据时,需要仲裁机制决定总线使用权,避免信号冲突。分为两大类:
- 集中式仲裁 Centralized Arbitration
仲裁控制器集中在一处,常见:链式查询、计数器定时查询、独立请求方式。- 链式查询:设备串行排队,离仲裁器近的设备优先级更高;电路简单,优先级固定。
- 计数器定时查询:仲裁器计数轮询设备,优先级可灵活调整。
- 独立请求:每个设备单独发送请求信号,响应速度最快,但硬件线路多。
- 分布式仲裁 Distributed Arbitration
没有中央仲裁器,每个设备自带仲裁逻辑,设备之间自主竞争总线使用权,多用于高速总线PCIe。

6.4 总线定时(同步/异步通信)
总线定时,用来规定发送方与接收方什么时候发送、什么时候采样数据,保证通信双方时序匹配。
- 同步定时 Synchronous Timing
统一时钟信号,所有部件按照同一个时钟节拍工作。传输速度稳定;缺点:必须按最慢设备速度设计,高速设备会被拖累。 - 异步定时 Asynchronous Timing
不使用统一时钟,依靠**握手信号(请求Request、应答Acknowledge)**交互。设备自行协商传输速度,适配不同速率硬件;缺点:控制逻辑复杂,有额外握手开销。
6.5 总线性能指标
- 总线宽度 Bus Width:数据总线的位数,一次能并行传输多少bit;
- 总线时钟频率 Bus Frequency:总线工作节拍;
- 总线带宽 Bus Bandwidth:单位时间总线最大传输数据量;
公式:总线带宽 = 总线宽度 × 总线频率 - 传输时延:数据从发出到接收完成的时间。
总线带宽是理论上限,实际传输会受仲裁、握手开销影响,达不到理论最大值。
6.6 常见总线标准
- PCI:传统并行系统总线;
- PCIe:高速串行总线,现在主流,使用差分信号,多通道,支持热插拔;
- USB:通用外设通信总线;
- SATA:硬盘存储总线。
本课小结
总线是硬件之间共享通信通道,分为片内总线、系统总线、通信总线。系统总线包含地址、数据、控制三类信号线。总线仲裁用来解决多设备竞争总线;总线定时分为同步与异步。总线带宽由总线宽度和频率共同决定。
思考练习
- 系统总线分为哪三类,各自传输方向与作用是什么?
- 简述集中式仲裁三种方式的特点。
- 同步定时和异步定时的区别,异步的握手是什么含义?
- 总线带宽怎么计算?

0 条笔记