总线
6.1 总线概述
6.1.1 总线基本概念
总线 是连接多个部件(如CPU、主存、I/O设备)的信息传输线,是各部件共享的传输介质。多个部件可同时向总线发送信息,但任一时刻只能有一个部件发送数据,而多个部件可同时接收数据。
总线的主要特征:
- 共享性:多个部件共用同一传输线。
- 分时性:同一时刻只允许一个部件发送信息。
总线的组成:
- 机械特性:尺寸、形状、引脚数等。
- 电气特性:信号电平、电压范围等。
- 功能特性:各引脚的功能定义。
- 时间特性:信号的时序关系。
6.1.2 总线的分类
-
按数据传输方式
- 并行总线:多位数据同时传输(如数据总线宽度为32位),传输速度快,但线间干扰大,不适合长距离。
- 串行总线:数据一位一位顺序传输,线数少,抗干扰能力强,适合长距离(如USB)。
-
按功能层次
- 片内总线:芯片内部各寄存器和指令单元(如ALU、控制单元)之间的连线。
- 系统总线:计算机系统内各功能部件(CPU、主存、I/O接口)之间的连接线。
- 数据总线:传输数据信息,双向,宽度(位数)反映一次传输的数 据量。
- 地址总线:传输地址信息,单向(由CPU发出),宽度(地址总线的位数)决定可寻址空间。
- 控制总线:传输控制信号和状态信号,每根线单向,整体双向。
- 通信总线:用于计算机系统之间或计算机与外部设备之间的通信。
warning
数据通路和数据总线是不同的,要分清,数据通路指的是数据通过数据总线传输的路径。
- 按时序控制方式
- 同步总线:由统一的时钟信号控制,定时严格,速度快,但时钟频率受最长传输路径限制。
- 异步总线:通过握手信号(请求、应答)协调,没有统一的时钟,适应不同速度的设备,但效率稍低。
6.1.3 系统总线的结构
- 单总线结构(面向CPU)
- CPU、主存、I/O设备都挂在同一组总线上。
- 优点:结构简单,易于扩充。
- 缺点:各部件争用总线,系统效率低;CPU与I/O、主存之间并行性差。
-
双总线结构
- 在CPU和主存之间设置一组高速的存储器总线,CPU与主存直接通过存储器总线通信。
- 其他I/O设备通过I/O总线与CPU或主存交换数据,通过通道或I/O处理器连接。
- 优点:提高了CPU访问主存的带宽,缓解了总线争用。
-
三总线结构
- 在双总线基础上增加扩展总线,用于连接低速外设(如ISA、EISA总线)。
- 现代计算机通常采用多级总线结构(如北桥、南桥),将高速设备(显卡、内存)与低速设备(硬盘、USB)分离。
6.1.4 常见的总线标准
| 总线标准 | 类型 | 特点 |
|---|---|---|
| ISA | 系统总线 | 早期PC总线,16位,8MHz,已淘汰 |
| EISA | 系统总线 | 32位,兼容ISA,主要用于服务器 |
| PCI | 局部总线 | 32/64位,33/66MHz,即插即用,带宽高 |
| PCIe | 串行总线 | 点对 点,全双工,采用差分信号,分链路(×1、×4、×16等),取代PCI |
| AGP | 图形加速端口 | 专用于显卡,基于PCI改进,已淘汰 |
| USB | 通信总线 | 串行,热插拔,支持即插即用,版本2.0、3.0、3.1等 |
| SATA | 存储接口 | 串行,用于连接硬盘、光驱,高带宽 |
| SCSI | 系统总线 | 并行,多设备,用于服务器和存储设备 |
| RS-232C | 通信总线 | 串行,用于串口通信 |
6.1.5 总线的性能指标
最主要的性能指标是总线宽度、总线工作频率、总线带宽。
- 总线宽度:数据总线一次能并行传输的二进制位数(位宽)。指的是数据总线的根数,32根即32位。
- 总线时钟周期:总线一次传输一个数据周期的时间。
- 总线时钟频率:总线的工作时钟频率(MHz)。
- 总线带宽:单位时间内总线传输的数据量。
注意:若总线采用倍频技术,实际带宽可能更高。
- 总线传输周期:一次完整的总线操作所需时间。包括申请、寻址、传输、结束。
- 总线复用:地址线和数据线共用一组物理线路,分时传送地址和数据,可减少引脚数,但会降低带宽。
- 信号线数:地址线、数据线、控制线的总数。
6.2 总线事务和定时
6.2.1 总线事务
总线事务是指从请求总线到完成数据传输的整个过程。通常包括以下阶段:
- 请求总线:需要 控制总线的部件向总线控制器发出请求。
- 总线仲裁:当多个部件同时请求时,由总线控制器决定将总线使用权分配给哪个部件。
- 集中仲裁:由中央总线仲裁器统一裁决。
- 链式查询:通过菊花链传递信号,优先级固定,电路简单,但速度慢,对电路故障敏感。
- 计数器定时查询:用计数器产生地址,轮流查询,优先级可编程。
- 独立请求方式:每个部件有独立请求线和允许线,并行处理,速度快,但线数多。
- 分布仲裁:各部件自己参与仲裁,没有中央仲裁器。
- 集中仲裁:由中央总线仲裁器统一裁决。
- 寻址:获得总线使用权的部件将地址、读写控制等信号放到总线上。
- 数据传输:源部件发送数据,目标部件接收数据。
- 结束:释放总线,撤销相关信号。
总线上的数据传送方式分为突发和非突发两种。
非突发传送每次传送都先传送地址,再传送数据。主从设备间通常只能一次传一个字长的数据。
突发传送方式能进行成组连续的传输,寻址阶段传送的是连续数据单元的首地址,传输阶段传送的是多个连续数据单元的数据。每个时钟周期可以传一个字长,但不释放总线,一组数据传送完毕再释放。
它们的核心区别在于是否连续传输数据而不重复发送地址。
| 对比项 | 非突发传送 | 突发传送 |
|---|---|---|
| 传输方式 | 每次传输一个数据单元,都需要先发送地址,再传输数据 | 只需发送一次首地址,随后连续传输多个数据单元 |
| 地址发送次数 | 每个数据单元对应一次地址传送 | 整组数据共享一次地址传送 |
| 总线占用 | 每个数据传送周期结束后可释放总线 | 连续占用总线直到整组数据传送完毕 |
| 适用场景 | 随机访问、数据不连续 | 连续存储的数据块(如Cache行填充、DMA传输) |
| 带宽利用率 | 较低(地址开销大) | 较高(地址开销分摊到多个数据) |
| 典型应用 | 单字读写、I/O端口访问 | 主存块读取、Cache缺失处理、PCIe传输 |
6.2.2 总线定时
总线定时是指总线在双方交换数据过程中,时序信号的控制方式。主要有同步定时和异步定时两种。
1. 同步定时
- 采用统一的时钟信号,所有操作都在时钟边沿同步。
- 优点:时序关系简单,实现容易,传输速度快。
- 缺点:时钟频率受最慢部件限制,无法适应不同速度的设备。
同步读时序(假设时钟周期T):
- T1:主设备将地址、读命令放到总线上。
- T2:从设备识别地址,准备数据。
- T3:从设备将数据放到数据总线,主设备在T3结束时采样数据。
- T4:撤销地址和控制信号。
2. 异步定时
- 采用握手信号(请求、应答)协调,没有统一时钟。
- 优点:适应不同速度的设备,可靠性高。
- 缺点:控制复杂,传输效率低于同步。
异步定时的三种方式:
- 不互锁:主设备发出请求后,过一段时间自动撤销;从设备发出应答后,过一段时间自动撤销。
- 半互锁:主设备收到应答后才撤销请求;从设备在请求撤销后自动撤销应答。
- 全互锁:主设备收到应答后撤销请求;从设备收到请求撤销后撤销应答;主设备收到应答撤销后完成传输。
6.3 常见问题和易混淆知识点
- 总线的“共享”与“分时”:共享是指多个部件连接在同一总线上;分时是指同一时刻只能有一个部件发送数据,但多个部件可以同时接收。
- 同步总线与异步总线的比较:同步总线速度快,但要求所有部件速度匹配;异步总线灵活,但控制复杂,传输效率稍低。
- 链式查询与独立请求的区别:链式查询线数少,但优先级固定 ,速度慢;独立请求速度快,但线数多,电路复杂。
- 总线带宽与总线宽度、频率的关系:带宽 = 总线宽度(字节) × 频率(Hz)。注意单位换算。
- 总线复用:地址线和数据线共用,如PCI总线,可减少引脚数,但会降低有效带宽。