总线
总线概念
总线 是一组电子导线或信号线,它们允许不同的硬件设备(如 CPU、内存、输入/输出 设备等)之间进行数据传输和通信。总线是计算机内部和外部设备之间的信息传递通道。
总线类型
总线可以按照不同的角度进行分类:
- 按 功能,可分为数据总线、地址总线和控制总线;
- 按 连接对象和用途,可分为核内总线、系统总线和通信总线;
- 按 数据传送方式,可分为串行总线和并行总线;
- 按 时序控制方式,可分为同步总线和异步总线。
这些分类标准彼此独立,同一条总线可以同时具有多种属性。例如,PCIe 按连接对象属于系统总线,按数据传送方式属于串行总线;某条系统总线也可能采用同步或异步的时序控制方式。因此,不能将“数据总线”“系统总线”“串行总线”“同步总线”等概念视为互斥的同级分类。
功能
系统总线 通常由 数据总线、地址总线 和 控制总线 三部分组成。也有些总线没有单独的地址线,而是采用 地址/数据复用 的方式,即地址线和数据线共用同一组物理线路。
- 数据总线(Data Bus):用于在计算机各部件之间 传输数据。通常由多条并行线路组成,每条线路传输一个数据位(bit)。
- 数据总线的宽度通常与 机器字长 或 存储字长 有关,常见为 8 位、16 位、32 位、64 位等。
- 地址总线(Address Bus):用于传输 内存地址 或 I/O 设备地址,以确定数据的存储位置或目标设备。
- 地址总线的宽度决定了系统能够寻址的地址空间大小,地址线越多,可访问的内存或设备越多。
- 控制总线(Control Bus):用于传输各种 控制信号 和 状态信号,协调各硬件部件之间的数据传输。
- 常见控制信号包括 读/写信号、时钟信号、中断信号、复位信号 等。
功能分类与总线架构的关系:
- 在 单总线结构 中,数据总线、地址总线和控制总线共享同一条物理传输通道,通过不同的控制方式完成各自功能。
- 在 多总线结构 中,不同类型的信息可能通过不同的物理总线传输,例如专门的数据总线、地址总线,或独立的 I/O 总线、存储总线等,从而提高系统性能。
连接对象
- 核内总线:在处理器核内部各元件之间连线的总线,可连接核内寄存器、ALU、指令部件等。
- 系统总线:连接 CPU、主存和 I/O 接口 等主要部件的总线,通常所说的总线就是指这类在系统主要模块之间互连的总线。下面介绍的也主要是这种 系统总线。
- 通信总线:计算机系统之间,或计算机系统与其他系统(如远程通信设备、测试设备)之间进行通信的总线,又称 外部总线。
数据传送方式
总线 的数据传输方式包含 串行 和 并行 两种:
- 串行总线:只含有一条双向数据线或两条单向数据线,数据按位分时传送。适合远距离通信,大多数 通信总线 属于 串行总线。
- 并行总线:含有多条双向数据线,可实现多位同时传送;但相邻数据线之间会相互干扰,距离变长或频率提高后难以保持各位同步,因此更适合短距离传输。大多数 系统总线 属于 并行总线。
试题中常常考查 哪些总线是串行总线,哪些总线是并行总线。
这里核心把握一点:现代高速通信几乎都使用串行总线(PCIe、USB、SATA、DisplayPort),而并行总线主要用于内存、老式设备或非常短距离的高速通信。
常见的串行总线 如下表所示:
| 总线类型 | 简介 |
|---|---|
| USB(通用串行总线) | 广泛用于外设连接,如鼠标、键盘、U 盘。支持热插拔;本质是串行总线,不能理解为“同时传输 2 位数据”。 |
| PCI Express(PCIe) | 高速内部总线,连接显卡、SSD 等,采用点对点串行通信。 |
| SATA(串行 ATA) | 硬盘、SSD 与主板间通信,取代并行 ATA(PATA)。 |
| Thunderbolt | 基于 PCIe 和 DisplayPort 的高速接口,可同时传输视频和数据。 |
| DisplayPort、HDMI、DVI | 显示器接口,本质上都是高速串行通信。 |
常见的并行总线 如下表所示:
| 总线类型 | 简介 |
|---|---|
| PCI(老式) | 并行总线,早期主板与扩展卡连接标准,已被 PCIe 取代。 |
| ISA(工业标准架构) | 更早期的并行总线,现已淘汰。 |
| IDE / PATA(并行 ATA) | 老式硬盘接口,已被 SATA 取代。 |
| 内存总线(DDR 等) | DRAM 模块仍通过多条并行数据线传输数据,例如 DDR4 数据总线宽度为 64 位。 |
时序控制方式
- 同步总线:采用统一的时钟信号进行定时,挂接在总线上的所有设备都从时钟线上获得定时信号。
- 总线定时以 最慢设备 的访问时间为标准,因此适用于存取时间相近的多个部件之间通信。
- 由于时钟偏移问题,同步总线长度不能过长,否则会降低传输效率。
- 同步总线通常采用 并行传输,如 8 位、16 位、32 位或 64 位数据总线。
- 异步总线:各设备没有统一时钟,而是依靠各自内部定时,通过 握手信号 协调数据传输。
- 当传输距离较长或速率较高时,同步并行总线容易因各位到达时间不同而产生时序偏差,因此现代高速通信更多采用 异步串行方式,既能提高传输速率,又不会受到多条并行线路之间同步问题的影响。
总线的“同步/异步”与后文“总线定时”的关系:
这里的“同步总线 / 异步总线”是按 总线整体的时序特征 进行分类;后文 总线定时 一节介绍的是同一条总线内部 主从设备之间如何协调数据传输时刻 的具体机制(同步定时、异步定时),两者属于同一套思想在不同层次上的描述,应结合理解,而不要孤立记忆。
总线架构方式
总线 架构方式可以分成 单总线、多总线 以及 分层结构 三种。
单总线结构
- 单总线结构 中,所有处理器、主存储器和 I/O 设备 共用一条总线进行通信 。
- 优点是结构简单、实现成本低,适用于设备数量少、通信量低的系统。
- 缺点是所有设备必须轮流访问总线,存在通信冲突和带宽瓶颈,性能扩展性差。
多总线结构
- 多总线结构 在 单总线 的基础上进行拓展,引入多条功能分化的总线,例如系统总线、I/O 总线、存储器总线等。
- 常见做法是将 处理器与主存之间的数据传输 放在一条专用总线(如 CPU-主存总线),而 I/O 设备通过桥接芯片连接至另一条总线(如 I/O 总线)。
- 这样可以显著减轻主总线负载,提高系统并发性和吞吐能力。
分层总线结构
现代计算机系统广泛采用 分层总线结构,其核心思想是在 多总线结构 的基础上进一步 细化总线的功能与等级,以更好适应不同设备对带宽和延迟的需求。
核心特点 :
- 将总线按速率和用途分层,如高速、中速、低速总线;
- 各层通过 桥接控制器(如 PCH)进行协调;
- 高速设备尽量绕过中间桥接器,直连 CPU 提高性能。
- 高速设备的连接方式
- 内存总线 :使用 DDR4/DDR5 等内存通道,由集成在 CPU 内部的内存控制器(IMC)控制,实现低延迟高速访问;
- 显卡 :通过 PCIe 高速通道,直接连接到 CPU 的 PCIe 控制器,适用于图形、大数据等吞吐密集型场景;
- 高速存储 (如 NVMe SSD) :通过 PCIe/NVMe 通道连接,可直连 CPU 或走 PCH。
- 低速或通用设备的连接方式
- 低速设备(如 USB、SATA、音频、网卡等)大多连接至 平台控制器集线器(PCH) 或 南桥芯片,再通过 DMI(Direct Media Interface)总线 与 CPU 通信;
- 这些设备不要求极高带宽,通过桥接方式集中管理,可简化主板设计并降低成本。
总线事务
总线事务(Bus Transaction)是一次完整的数据交换过程,也是总线工作的一个 基本单位。一次总线事务通常完成一次 读操作 或 写操作。
在一次总线事务中,会涉及两个角色:
- 主设备(Master):主动发起总线访问、申请总线控制权,并负责发出 地址、控制信号(如读/写信号)的设备。
- 从设备(Slave):响应主设备发出的地址和控制信号,在被选中后完成数据的读取或写入。
主设备获得总线控制权后,会按照一定时序依次发出 地址、控制信号,并完成 数据传输;从设备识别地址后,根据控制信号返回数据(读操作)或接收数据(写操作),一次总线事务随之结束。
通常情况下:
- CPU 执行访存时,CPU 是主设备,内存或 I/O 接口是从设备。
- DMA 控制器进行数据传输时,DMA 控制器成为主设备,CPU 暂时让出总线,而内存和 I/O 接口仍作为从设备参与数据交换。
总线周期
总线事务 从时间上看,对应的就是一个 总线周期。总线周期(Bus Cycle)是一次总线事务在时间上的体现,即主设备通过总线与从设备完成一次数据传输所经历的时间。一个总线周期通常包含多个时钟周期,在许多同步总线中可划分为四个阶段(对应四个时钟周期 ):
- 请求/申请分配(Request) :若主设备尚未获得总线控制权,则需要申请总线;若多个设备同时竞争总线,还需经过 仲裁(Arbitration)决定总线控制权的归属。
- 寻址(Addressing) :主设备将目标地址放到地址总线上,以指定事务的目的地,如特定的内存地址或 I/O 设备。
- 传输(Transfer) :地址稳定后,主设备发出读命令或写命令,主、从设备按照总线时序完成数据交换。
- 结束/终止(Termination) :数据传输完成后,主设备撤销地址和控制信号,并释放总线控制权(若需要),本次总线周期结束。
总线事务 强调的是一次数据交换过程;总线周期 强调的是完成这次数据交换所经历的时间。
突发总线传输事务
突发(Burst)总线传输事务 是指主设备(如 CPU 或 DMA 控制器)获得总线控制权后,在无需为每个数据单元单独进行地址仲裁或握手的情况下,连续传输多个数据单元(通常是字节或字)。
突发传输的本质是:一次寻址,多次数据传输。 主设备仅在开始时发送一次起始地址,后续数据通过地址自动递增(或固定地址)连续完成传输,从而减少地址和控制信号的开销,提高总线的有效数据传输率。
其主要优点包括:
- 减少地址/控制总线占用:仅在开始时发送一次地址和控制信号,后续数据连续传输,减少了总线控制开销。
- 提高有效数据传输率:减少了地址传送和握手等待时间,使总线更多时间用于实际的数据传输。
- 适用于块数据传输:如高速缓存行填充、内存块拷贝、DMA 数据搬迁等场景,突发传输尤其高效。
提高总线数据传输率的常见手段,真题常给出几种改进措施,要求判断哪些能够提高同步总线的数据传输率,哪些不能:
- 增大总线宽度、提高总线工作频率、采用突发(猝发)传输:三者都能直接提高总线的数据传输率。
- 地址线和数据线复用:本质是用同一组物理线在不同时刻分别传输地址和数据,目的是减少总线信号线数量、降低成本,而不是提高传输率;由于地址和数据不能同时传输,反而可能增加一次传输所需时间。
- 分离式事务(Split Transaction):将一次总线事务拆分为"请求"和"应答"两个独立子事务,在等待从设备准备数据期间释放总线控制权,使其他设备能够继续使用总线,从而提高总线利用率,但并不直接提高单次数据传输率。
可以概括为:提高传输率 关注的是单位时间传输更多数据;提高利用率 关注的是减少总线空闲等待时间,两者并不等价。
总线定时
根据 时钟周期 一节可知,计算机中的各个设备可能工作在不同的速度下,即使采用相同的时钟频率,也可能具有不同的数据准备时间。因此,在设备之间通过总线交换数据时,必须在时间上进行协调,以保证双方能够正确完成数据传输。
这种控制数据传输时序的过程称为 总线定时(Bus Timing),即规定一次总线周期中各个阶段(如申请、寻址、传输、结束)在时间上的先后关系和持续时间。
根据是否采用统一的时钟信号,总线定时可分为 同步定时 和 异步定时 两种方式。
同步定时方式
在 同步定时方式 中,所有设备共用同一个 中央时钟源(通常由主时钟源或总线控制器提供)的时钟信号,并按照统一的时钟节拍完成各阶段操作。
每个总线周期的持续时间是固定的,主设备和从设备都必须在规定的时间内完成各自的操作,因此同步定时实现简单、控制方便。
- 上升沿:主设备发送地址;
- 上升沿:主设备发送读命令;
- 上升沿:从设备提供数据;
- 上升沿:主设备撤销读命令,从设备撤销数据,本次总线周期结束。
同步定时适用于总线较短、设备速度相近的系统。若某个从设备速度较慢,无法在规定时间内准备好数据,则必须延长总线周期或插入等待周期(Wait State),从而降低整个总线的传输效率。
异步定时方式
在 异步定时方式 中,没有统一的中央时钟来规定数据传输节拍,而是由通信双方通过 握手信号 协调数据交换过程。
通常将通信双方称为 主设备 和 从设备:
- 主设备发出 请求(Request) 信号,表示准备开始数据传输;
- 从设备准备好数据或接收到数据后,返回 回答(Acknowledge) 信号;
- 双方依据请求和回答信号完成一次数据交换,而无需依赖固定的时钟周期。
由于数据传输速度完全取决于双方的响应速度,因此异步定时能够适应速度差异较大的设备,但控制逻辑相对更加复杂。
根据请求信号和回答信号的撤销方式,异步定时可分为三种:
- 不互锁:主设备发送请求后保持一段固定时间,然后自动撤销,不等待从设备确认;从设备也默认请求已经送达。
- 半互锁:主设备收到从设备的回答后才撤销请求;从设备发送回答一段固定时间后自动撤销。
- 全互锁:在半互锁基础上,从设备只有在确认主设备已经撤销请求后,才撤销回答,实现双方互相确认,可靠性最高。
在实际计算机系统中,同步定时和异步定时各有适用场景。下表总结了两种总线定时方式的主要区别:
| 同步定时 | 异步定时 | |
|---|---|---|
| 控制依据 | 统一时钟信号 | REQ/ACK 握手信号 |
| 节拍 | 固定(由时钟决定) | 不固定(由握手完成情况决定) |
| 优点 | 控制简单、实现方便 | 能适应速度差异较大的设备 |
| 缺点 | 速度受限于最慢设备(除非插入等待周期) | 控制逻辑复杂 |
同步看时钟,异步看握手。
总线指标
时钟频率 指总线所依赖的时钟信号的频率。它表示的是“时钟脉冲”产生的快慢。
时钟频率 单位 为 Hz,常见如 100MHz、133MHz 等。
总线传输周期总线传输周期 即上面 总线事务与总线周期 一节中的总线周期,指一次完成总线数据传输所需的时间,包括申请、寻址、传输和结束阶段。
一个完整的传输周期可能需要 多个时钟周期。
总线工作频率工作频率 指总线 实际传输数据 的频率。
一般来说,工作频率与时钟频率相同,但有些总线为了提高带宽,会采用 倍频/分频 机制:
- SDR(单倍数据率):每个时钟周期只在一个边沿传输数据,工作频率 = 时钟频率。
- DDR(双倍数据率):在上升沿和下降沿各传输一次,工作频率 = 2 × 时钟频率。
- QDR(四倍数据率):一个周期传四次,工作频率 = 4 × 时钟频率。
更加泛化地说,若总线传输周期 = N 个时钟周期,则总线的工作频率 = 时钟频率 / N。
总线宽度 也叫做总线位宽,是总线上 能同时传输的数据位数,通常指的是数据总线的根数,如 32 根称为 32 位总线。
总线带宽总线带宽 指单位时间内总线能传输的最大数据量,通常用 MB/s、GB/s 表示,计算公式为:
其中 总线宽度 通常以 bit 为单位,代入带宽公式前要除以 8 换算成 Byte;工作频率 指实际完成数据传输的频率,不一定等于时钟频率。
总线指标计算题的统一思路 :
- 先判断题目问的是 带宽/最大传输率,还是 传输一个数据块所需时间。
- 若问带宽,用:
例如 DDR 在时钟上升沿和下降沿都传输数据,每个时钟周期传输次数为 2;三通道内存还要再乘以 3。
- 若问一次块传输时间,要区分 突发传输 和 非突发传输(定义见 突发总线传输事务):
- 突发传输 :通常只在开始时传一次地址,后续连续传输多个数据单元,时间按“地址/准备开销 + 连续数据传输周期数”计算。
- 非突发传输 :每传输一个数据单元都要重新经历地址、准备和数据传输过程,不能只按数据总量除以带宽。
- 若题目给出“总线传输周期 = N 个时钟周期”,则工作频率是时钟频率除以 N;若题目给出“每周期传输 M 次”,则工作频率是时钟频率乘以 M。不要把 时钟频率、工作频率、总线传输周期 混成同一个量。
常见总线标准
需要熟练掌握一些会考察的 总线标准 的名称:PCI、SATA、ISA、IDE、USB,并且能够和其他计算机领域的专业名词区分开来:
- PCI :PCI 总线 是一种用于连接内部扩展卡(如显卡、网卡、声卡等)到主板的标准。PCI 总线 存在多个版本,包括 PCI、PCI-X 和 PCI Express(PCIe),它们在带宽、速度和适用范围上有所不同。
- SATA :SATA 是一种用于连接存储设备(如硬盘驱动器和光盘驱动器)到计算机的总线标准。它广泛应用于个人电脑和服务器中。
- ISA/EISA :ISA(工业标准架构)是 16 位体系结构,只能支持 16 位的 I/O 设备;EISA 是其 32 位扩展版本。两者都是已经被淘汰的插槽接口。
- IDE :IDE 是早期计算机中用于连接硬盘驱动器和光盘驱动器的 总线 标准,现在已经被 SATA 所取代。
- USB :USB 是一种通用的总线标准,用于连接各种外部设备(如键盘、鼠标、打印机、存储设备等)到计算机。USB 有多个版本,包括 USB 1.0、USB 2.0、USB 3.0、USB 3.1 和 USB 3.2,它们在传输速度和功能上有所区别。USB 也是目前 外部设备接入 I/O 控制器 最主流的通用总线标准,而 PCI/AGP/PCIe 主要用于内部扩展卡或显卡这类板级设备,不用来连接外部设备。
总线标准 vs 干扰项 :真题常把 ISA、EISA、PCI、PCI-Express 这类真实存在的总线标准,和 CRT(显示器件)、CPI(每指令周期数)、RAM(存储器件)、MIPS(性能指标)等看似相似但完全不属于总线标准的名词放在一起考查缩写辨析,做题时先排除这些不是总线标准的干扰项。
PCI
Peripheral Component Interconnect

长条形插槽,通常为长方形,长度较长,内部有多个金属触点,呈平行排列,用于插入扩展卡。边缘有一缺口,用于固定卡的位置。
SATA
Serial Advanced Technology Attachment

较小的 L 形连接器,扁平且细长,端口一侧有明显的 L 形弯角,内部有几根细小金属针脚,用于连接存储设备(如硬盘驱动器和光盘驱动器)到计算机。
USB
Universal Serial Bus

矩形接口,较为紧凑,内部有金属触点,常见为USB-A的扁平长方形设计,端口内部有塑料隔板和触点,用于连接各种外设如鼠标、键盘或U盘。
这三个概念是经常被混淆的概念,这里还是多提一嘴。简单来说,接口 是硬件插入的位置,协议 是软件层面用于通信的规则,总线 是硬件之间的数据通路。下表给出一些常见例子来说明:
| 实际例子 | 插槽/接口 | 协议 | 总线 |
|---|---|---|---|
| SATA SSD | SATA 接口 | AHCI 协议 | SATA 总线 |
| M.2 SATA SSD | M.2 插槽 | AHCI 协议 | SATA 总线 |
| M.2 NVMe SSD | M.2 插槽 | NVMe 协议 | PCIe 总线 |
| PCIe 显卡 | PCIe 插槽 | PCIe 协议 | PCIe 总线 |
| USB U盘 | USB-A 接口 | USB 协议(2.0/3.0/3.1 等) | USB 总线 |
需要注意的是,有些名词(比如 SATA、PCIe、USB)是 混合性术语,既可以是 总线,也代表了协议和接口;有些名词(比如 M.2) 仅仅是接口;有些名词(比如 NVMe)仅仅是协议。