Appearance
总线概述与分类
2026 大纲 六(一)1 总线的基本概念、六(一)2 总线的组成及性能指标。
共享是一笔借来的便宜,后面全在还债
部件之间要互相通信,做法只有两种。分散连接是两两拉专线——任意两个部件之间都有一条独占的通路,谁都不用等谁,但线路数随部件数平方级增长,
这笔便宜是借来的,欠下的债只有一条,但它是本质的:同一时刻,总线只能承载一次传输。一个总线周期内只有一对主从设备在通信——所以单总线结构里,CPU 读主存的同时不可能再向打印机送数据。总线因此可能成为整个系统的通信瓶颈。
理解这一点,总线这一章那一长串看起来互不相干的概念就归位了——它们全都是在还这笔债:
| 共享带来的问题 | 拿什么还 |
|---|---|
| 多个部件同时想发送 | 总线判优/总线仲裁 |
| 发送方与接收方速度不一致 | 总线定时(同步/异步/半同步) |
| 一条总线拖不动所有速度档次的设备 | 分层总线 + 桥接器 |
| 从设备准备数据时总线空转 | 分离事务、突发传送 |
判优、定时、分层、突发、分离事务不是五个并列的知识点,是同一笔债的五种还法。 这条线索会一直贯到本章最后。
而本篇要处理的是共享之外的另一半:这组线怎么分工、这组线能跑多快。前者的判据一句话就能说清,后者则是全章考得最密的一处——近年几乎每年一道带宽计算题,而算错的原因高度集中在两个频率口径上。
交互可视化
一、主设备、从设备与总线周期
挂在总线上的部件按能不能发起传输分成两类:主设备对总线有控制权、能主动发起一次传输;从设备只能被动响应主设备的请求。一次完整的总线操作称为总线周期(也叫总线事务),从主设备取得总线控制权开始,到它释放总线为止。
"一个总线周期内只有一对主从设备在通信"这句话是上面那笔债的直接形式。它在题目里的典型用法是判断"能不能同时":单总线结构中,CPU 读主存的同时不可能再向打印机送数据——不是因为哪个部件忙不过来,而是因为总线只有一条。
二、三组信号线的分工
| 总线类型 | 承载什么 | 位数 | 方向 |
|---|---|---|---|
| 数据总线(DB) | 源部件与目的部件之间被传输的信息本身 | 总线宽度,与机器字长有关 | 双向 |
| 地址总线(AB) | 源数据/目的数据所在的主存单元或 I/O 模块地址 | 决定寻址空间, | 单向,由 CPU 送出 |
| 控制总线(CB) | 定时信号与命令信息 | 视控制信号种类而定 | 有出有入 |
划分不看信号的名字,只看它在这次传输里扮演什么角色:
| 信息 | 走哪条线 | 理由 |
|---|---|---|
| 指令 | 数据线 | 取指时,指令就是从主存被读出的那份内容 |
| 操作数、运算结果 | 数据线 | 内容 |
| I/O 接口的命令字 | 数据线 | CPU 把一个字写进接口的控制寄存器,这个字本身是被搬运的内容 |
| I/O 接口的状态字 | 数据线 | 同上,是从状态寄存器读回的一个字 |
| 中断类型号 | 数据线 | 中断响应周期里由接口送出的一个编号,是内容 |
| 地址 | 地址线 | 除非地址/数据线复用,见第五节 |
| 请求/应答等握手信号 | 控制线 | 它不携带内容,只表达"我要传"和"我收到了" |
| 读/写命令、总线请求 BR、总线授权 BG | 控制线 | 同上 |
整张表压成一句判据:被搬运的东西走数据线,描述"这次搬运该怎么进行"的信号走控制线。MREQ、IOWR 这类电平信号本身就是控制动作;命令字虽然叫"命令",却是 CPU 写给接口的一个字,走数据线——归属不由名字决定,由角色决定。控制线还有一个更省事的教材定义,是排除法给的:除地址线和数据线以外的通信线都是控制线。
三、总线的层次与分层动机

图 8.3 外设、设备控制器和 CPU 及主存的互连(袁春风《计算机组成与系统结构(第 3 版)》p280)
总线按所处层次分三类:片内总线(芯片内部,如 CPU 内部各寄存器与 ALU 之间)、系统总线(CPU、主存、I/O 接口之间)、通信总线(也叫外总线,如 USB、以太网)。系统总线内部还要再分层——处理器总线 > 存储器总线 > I/O 总线,越靠近 CPU 的越快。
越往外挂的设备越多、走线越长、要兼容的标准越杂,这三项都压制频率,所以越靠外的总线越慢。速度档次不同的两条总线不能直接对接,中间必须经桥接器(北桥 MCH、南桥 ICH)做速度匹配与协议转换。分层的动机就是第一节那条债:若所有设备挂在同一条总线上,整条总线只能按最慢设备设计;分层之后,慢设备的拖累被隔离在外层,层与层之间由桥接器做速度匹配与协议转换。
传统芯片组是 CPU + 北桥 + 南桥三芯片;北桥的存储器控制功能被并进 CPU 芯片后,出现 CPU + PCH 的双芯片结构。
四、性能指标与两个频率
| 指标 | 定义 |
|---|---|
| 总线宽度 | 数据线的条数,决定一次能并行传多少位 |
| 总线时钟频率 | 总线的基础时钟频率 |
| 总线工作频率 | 每秒实际传送数据的次数 |
| 总线带宽 | 总线的最大数据传输率 |
| 总线寻址能力 | 由地址线位数决定, |
| 总线定时方式 | 同步/异步/半同步 |
| 总线传送方式 | 非突发/突发 |
| 总线负载能力 | 能挂接的总线设备数目,一般指扩展槽个数 |
早期总线一个时钟周期传一次数据,两个频率相等。现在有些总线一个时钟周期传 2 次(双沿)或 4 次(四倍并发),工作频率就是时钟频率的 2 倍或 4 倍。工作频率的本征单位是 MT/s(每秒百万次传送),习惯上写成 MHz,那只是量纲上的等价说法,它不是基础时钟——某前端总线实际时钟 333MHz、四倍并发,传输速率 1333MT/s,习惯称 1333MHz。
| 给出的量 | 它是什么 | 是否还要乘倍数 |
|---|---|---|
| 总线时钟频率 | 基础时钟,不含倍数 | 要乘每周期传送次数 |
| 总线工作频率/传输速率/MT/s/GT/s | 等效传送频率,已含倍数 | 不再乘,直接乘字节宽度 |
| DDR3-1333、FSB 1333MHz 这类型号或产品名 | 一律是等效传输速率 | 不再乘 |
两个数常常同时出现,是因为其中一个在解释另一个的来历:写"每个时钟周期传送 4 次、工作频率 1333MHz"时,那个 4 是在说明
口径定下来之后,总线带宽就是一句话:
其中
比公式更要紧的是它的定义边界:带宽不考虑总线裁决、地址传送等所花的时间,只算数据阶段。这不是为了让公式好算——把那些阶段计入之后,算出来的数会随数据块长度、从设备速度、当时有几个主设备在争总线而变化,同一条总线在不同场合会得出完全不同的"带宽",这个量就没法用来横向比较两条总线了。剔除非数据阶段之后,带宽只由总线宽度和工作频率这两个设计者能选的参数决定,于是它成为一个干净的上界。
由此产生一条做题时的分岔:问"带宽是多少"只算数据阶段;问"传完一个块要多久""一次事务至少要多少时间"才要把地址周期、等待周期一并数进去,算出来的实际速率永远低于带宽。两个数都对,回答的是两个问题。
带宽为什么被定义成只算数据阶段,以及两个频率口径怎么切换(拿不准"给的这个频率要不要再乘倍数""算带宽要不要把等待周期算进去"时展开)
先看口径切换。 某存储器总线时钟频率为 200MHz,每个时钟周期传送 2 次数据,总线宽度 64 位,采用双通道。题面给的是时钟频率,倍数因子还没算进去,必须先折算工作频率:
若题面改成给"工作频率 400MHz",第一步就该跳过——倍数已经含在里面了。这一步是这类计算最容易失手的地方:多乘一次或漏乘一次,结果整体偏离若干倍。
再看定义边界。 教材定义:总线带宽指总线的最大数据传输率,即总线在进行数据传输时单位时间内最多可传输的数据量,不考虑总线裁决、地址传送等所花的时间。
这不是为了让公式好算。设想把地址传送、仲裁、等待周期全部计入:得到的数值会随数据块长度(块越长,一次地址被摊得越薄)、从设备速度(慢设备插的等待周期多)、当时有几个主设备在争总线而变化。同一条总线在不同场合会算出完全不同的"带宽",这个量就失去了横向比较两条总线优劣的作用。
把非数据阶段剔除后,带宽只由总线宽度和工作频率这两个设计参数决定——它们恰好是设计者能选的东西。于是带宽变成一个干净的上界:
实际吞吐率永远不高于总线带宽;数据块越长、非数据开销被摊得越薄,实际吞吐越接近带宽。
一次事务的实际用时与带宽是两回事。 某同步总线时钟频率 40MHz、宽度 32 位,一次读事务为 1 个周期传首地址 + 2 个等待周期 + 连续 4 个周期各传一个 32 位数据:
带宽只看数据阶段的稳态速率,每个时钟周期传 4 B:
事务时间要把所有周期都数进去,时钟周期
两个数都对,但回答的是两个问题:160MB/s 是这条总线能跑到的上限,91.4MB/s 是这次事务实际跑出来的,差距来自那 3 个非数据周期。若把突发长度从 4 拉长到 16,非数据周期仍是 3 个,平均速率就会向 160MB/s 靠拢——突发传送正是逼近这个上界的手段。
五、突发传送与信号线复用
非突发方式在每个传送周期内先传地址、再传数据:地址、数据、地址、数据……突发(burst,也译猝发)传送在开始时只给出数据块的首地址,随后连续传送块内后续数据,后续地址默认为前一个地址加上一个数据所占的单元数:
因为无须在地址线上传送后续地址,在总线宽度和总线时钟频率相同的情况下,突发传送的数据传输率高于非突发传送。存储器总线读一个 Cache 块正是这个场景——CPU 要的本来就是整块,见 Cache 的地址映射。
信号线复用指没有单独的地址线,地址信息通过数据线传送。收益是减少信号线数量,降低引脚数与成本;代价是传地址时数据线被占着,这段时间一个字节的数据也传不了。
| 措施 | 数据传输率 | 原因 |
|---|---|---|
| 增加总线宽度 | 提高 | 每次传的字节数变多 |
| 提高总线工作频率 | 提高 | 每秒传送的次数变多 |
| 支持突发传送 | 提高 | 后续地址不再占用总线时间 |
| 采用地址/数据线复用 | 不提高 | 地址阶段反过来要占用数据线 |
这张表的判据只有一句:看这项措施是让数据阶段跑得更快,还是只把非数据阶段挪了个位置。 突发传送把后续地址整个消掉,数据阶段占的比例上升,属前者;地址/数据线复用只是把地址从地址线搬到数据线上传,省的是信号线数量与引脚成本,总周期数反而不减,属后者。
顺带还有一条常被想反的:并行传输不一定比串行快。高频长距下并行线之间的串扰与各条线的时钟偏移会限制频率,反而更慢——这正是 PCIe、USB 这些新标准全都走串行的原因,展开见《总线标准》。
六、多通道存储器总线
并联多套独立的存储器总线即为多通道,

图 8.4 Intel Core i7 中各类存储器以及核之间的互连(袁春风《计算机组成与系统结构(第 3 版)》p282)
图中处理器支持三通道 DDR3-1333 内存条插槽,存储器总线宽度 64 位、每秒传送 1333M 次,单通道带宽
考点速记
- 总线是分时共享的公共传输线,代价是可能成为通信瓶颈;判优、定时、分层、突发都是在还这笔债,同一时刻只有一对主从在通信。
- 划分信号线的判据是被搬运的内容走数据线,描述搬运方式的信号走控制线——命令字、状态字、中断类型号都是内容。
- 总线带宽
工作频率 总线宽度/8,定义上不计入裁决与地址传送时间,因而是只取决于两个设计参数的上界;突发传送逼近这个上界,地址/数据线复用只省线不提速。
这一节在真题里被考过的形式:
总线带宽计算是 co 最稳定的一道年货——近十七年考了七次,而且几乎不换花样:给一个频率、一个宽度,问带宽。真正拉开分差的从来不是公式,是那个频率到底是哪一个频率。
- 给的是时钟频率,要乘倍数(2014-19、2024-20、2009-20)。2014-19:地址/数据线复用共 32 根
宽度 4 B,时钟频率 66 MHz、双沿各传一次 工作频率 132 M 次/s,带宽 。2024-20:时钟频率 420 MHz、每周期传 2 次 840 M 次/s,宽度 64 位 B,带宽 ——题面那串"第 1 个时钟周期传地址、第 4 至第 7 个时钟周期传 8 次数据"全是干扰,带宽只算数据阶段的稳态速率。2009-20 是反方向的一档:一个总线周期占 2 个时钟周期,所以要除以 2 而不是乘, 。 - 给的是工作频率或型号名,不再乘(2025-20、2019-19)。2025-20 明写"工作频率为 1333MHz",那个 quadpumped 的 4 倍已经含在这个数里,直接
;若手贱再乘个 4,得到的 42.66 GB/s 恰好就是错项 B。2019-19 给的是"DDR3-1333"这个型号名,同样是等效传输速率、不再乘,单通道 GB/s,三通道 得约 32 GB/s。⚠️ 这两题与上一档的差别,全在题面那两个字上——读到"时钟"就乘,读到"工作/传输速率/MT/s/型号名"就不乘。 - 题面直接把公式给你(2020-19)。QPI 那道题写明"带宽为每秒传送次数
2B 2",此时不要用自己那套:时钟 2.4 GHz、每周期传 2 次 4.8 G 次/s,代入得 。题面给了口径就按题面的走,它多出来的那个 是全双工双向。 - 问哪些措施能提高数据传输率(2018-21)。增加宽度、提高工作频率、支持突发都能,地址/数据线复用不能。判据就是第五节那句:看它是让数据阶段更快,还是只把非数据阶段挪了位置。
- 挑出关于总线设计/多总线结构的错误叙述(2016-21、2017-20、2011-20)。三道题的错项各打一处:"并行总线比串行快"(2016-21,高频长距下反而更慢)、"PCI-Express×16 采用并行传输"(2017-20,PCIe 是串行;同题的"靠近 CPU 的总线快""总线之间须经桥接器"都对)、"握手信号走数据线"(2011-20,它不携带内容,走控制线;同题的指令、操作数、中断类型号都走数据线)。
另有两类题也渲染在下方,但不属于本篇:
- 总线定时与总线事务(2015-19、2012-19、2014-20、2023-20、2021-19 共 5 道)挂的是
bus-concepts标签,但它们考的是同步/异步定时、突发事务的时序,讲解与考法清单在总线事务与定时,不在本篇重复。 - 总线标准辨析(2010-20 的 ISA/EISA/PCI、2012-20 的 USB 特性、2013-19 的接口标准命名共 3 道)已不在 2026 大纲内——大纲的总线部分只列了基本概念、组成及性能指标、总线事务和定时三条。这几道按"真题原貌"保留收录,只作历史参考,不必按考点准备;其中 2012-20 涉及的"串行 vs 并行"仍属基本概念,那一半有效。
易错:拿到频率就直接乘宽度。先判它是时钟频率还是工作频率——前者要乘每周期传送次数,后者已经含进去了。
易错:把"每个总线周期占 2 个时钟周期"当成倍增因子。那是除以 2,方向相反。
易错:算带宽时把地址周期、等待周期算进去。带宽只算数据阶段;问"一次事务多久"才全数进去。
易错:认为地址/数据线复用能提高传输率。它省的是信号线与引脚,总周期数不减。
易错:认为并行传输一定比串行快。高频长距下串扰与时钟偏移使并行反而更慢。
易错:把握手信号、读写命令归到数据线。数据线只走被搬运的内容。
教材出处
- 袁春风《计算机组成与系统结构(第 3 版)》§8.3.1 总线的基本概念:分散连接与总线连接、总线连接的两个优点与通信瓶颈、数据线/地址线/控制线的定义与地址数据复用(p278)
- 袁春风《计算机组成与系统结构(第 3 版)》§8.3.1:总线性能指标(总线宽度、总线工作频率、总线带宽与
、寻址能力、定时方式)(p279);突发传送与总线负载能力(p280) - 袁春风《计算机组成与系统结构(第 3 版)》§8.3.2 基于总线的互连结构:北桥 MCH 与南桥 ICH、图 8.3(p280);FSB 的 MT/s 口径与四倍并发、三通道 DDR3-1333 与 10.664GB/s(p281);图 8.4(p282)
- 唐朔飞《计算机组成原理(第 3 版)》§3.2 总线的分类:片内总线、系统总线、通信总线(p43)
- 唐朔飞《计算机组成原理(第 3 版)》§3.3 总线特性及性能指标:总线宽度、总线带宽的字节口径、总线复用、信号线数、负载能力(p45~46)
相关知识
总线仲裁|总线事务与定时|总线标准|DRAM 芯片与内存条|Cache 的地址映射