目录
一、三大核心总线:数据、地址与控制总线
(1)数据总线(Data Bus, DB)
(2)地址总线(Address Bus, AB)
(3)控制总线(Control Bus, CB)
二、不同层次的总线:片内、系统与IO总线
(1)片内总线(On-Chip Bus)
(2)系统总线(System Bus)
(3)IO总线(Input/Output Bus)
(4)桥接器与南桥、北桥芯片
2.4.1 北桥芯片(North Bridge)
2.4.2 南桥芯片(South Bridge)
三、总线的性能指标
(1)总线宽度
(2)总线频率
(3)总线带宽
(4)总线周期
(5)总线通信方式(异步/同步)
如果说CPU是计算机的“大脑”,那么总线系统就是遍布全身的“神经网络”与“信息高速公路”。它无声地穿梭于处理器、内存、硬盘与各个外设之间,承载着每一条指令、每一份数据。没有高效、有序的总线,再强大的CPU也无法调动其他硬件。本文将系统剖析总线的三大核心、分层架构与性能指标,带您深入理解这一支撑现代计算的核心通信桥梁。
一、三大核心总线:数据、地址与控制总线
·计算机系统中,所有硬件模块的交互都依赖三条并行工作的核心总线,它们各司其职、协同配合,构成了数据传输的基础框架,通常被合称为“系统三总线”。
(1)数据总线(Data Bus, DB)
数据总线:用来承载在源部件和目的部件之间传输的信息,这个信息可能是数据、命令字或地址(如果数据线和 地址线复用的话)。
其根数通常和CPU的位数相关,比如64位CPU就会有64根数据引脚引出,那么数据总线也就会设计成64根,能最大化提高数据交互的速度。
(2)地址总线(Address Bus, AB)
地址总线:用来给出源数据或目的数据所在的主存单元或I/O端口的地址。地址线是单向的。若要输出一个数据 到外设,那么CPU也必须把该外设的地址(实际上是I/O端口的地址)送到地址线上。
虽然前面我们说芯片内部通常数据线、地址线复用(为了节省硅片面积,简化布线)。但对外仍然引出了地址引脚和数据引脚,目的是提高外部和片内的数据交互速度(外部单元的速度通常小于CPU,所以引脚多了利于并行传递数据,提高效率)。
总线地址复用值得是总线取消地址线,只保留数据线。在数据线上,有顺序的传输地址和数据,用数据线先传输地址,在传输数据。
不过值得注意的是:片内数据、地址线的复用会带来效率下降的问题,现代计算机为了提高性能,最终让数据总线、地址总线分离了。
(3)控制总线(Control Bus, CB)
控制总线:用来传输定时信号和命令信号。除地址线和数据线以外的通信线都可以称为控制线,如时钟线、复位 线、操作命令线、总线请求和总线回答线等。
由此可以看出来:控制总线并不是单独一根,而是多种、多根的集合,可以理解成用一个扎带绑在一起了。控制总线就是用来传递CU解码后的底层硬件控制信号、时序逻辑等。
前面的片内寄存器间数据交互就是在控制总线上的控制信号作用下完成的。
二、不同层次的总线:片内、系统与IO总线
随着计算机系统复杂度的提升,单一的总线架构已无法满足不同速率、不同类型硬件模块的交互需求。因此,总线系统被划分为不同层次,从CPU内部到外部外设,形成了片内总线、系统总线、IO总线三级架构,各级总线通过桥接器实现信号适配与交互,而南桥、北桥芯片则是传统架构中桥接器的核心载体。
但我们要明白一点:尽管分为了三个层次,但每个层次内部仍然是3大总线的布局。只不过由于每个层次的速率差别,所以需要两个桥接器来进行速率转换。
(1)片内总线(On-Chip Bus)
片内总线是集成在CPU芯片内部的总线,用于连接CPU内部的各个功能模块,如运算器(ALU)、控制器(CU)、寄存器组、缓存(Cache)等。
片内总线的核心特点是“高速率、短距离”,由于无需跨越芯片外部线路,传输延迟极低,速率可达到GHz级别,且时序控制精准,完全适配CPU内部的高速工作节奏。
片内总线的设计与CPU架构紧密相关,不同架构的CPU(如CISC、RISC)片内总线的布局、信号定义存在差异,但核心功能均是实现CPU内部模块的协同工作,将CU解码后的控制信号、ALU运算的数据高效传递到各个组件。
(2)系统总线(System Bus)
系统总线是连接CPU、内存、桥接器(南北桥)的核心总线,也称为“主机总线”,是整个总线系统的核心枢纽。系统总线直接承接片内总线的信号(经CPU接口单元转换后),同时连接内存和桥接器,负责传输CPU与内存、CPU与桥接器之间的高速数据、地址和控制信号。
系统总线的速率介于片内总线和IO总线之间,通常为百MHz到GHz级别,其性能直接影响计算机的整体运行速度。
(3)IO总线(Input/Output Bus)
IO总线是连接桥接器与外部外设的总线,用于实现CPU与各类外设(如硬盘、键盘、鼠标、显卡、打印机等)的交互。
IO总线的核心特点是“通用性强、适配多速率设备”,由于外设的类型繁多,速率差异极大(从低速的键鼠到高速的显卡),IO总线包含多种细分总线,如PCIe、SATA、USB、Thunderbolt等,分别适配不同速率的外设。IO总线的速率相对系统总线较低,且需要通过桥接器完成与系统总线的信号适配,才能实现外设与CPU、内存的交互。
早期IO总线下有许多组成部分,但随着人们对于速度的要求逐年递增,现在IO总线多以PCIe总线为主。
(4)桥接器与南桥、北桥芯片
前面我们说了计算机的总线层次可以分为3层:片内、系统、IO。他们三者的速率差明显,时序规范不同、电平标准等存在差异,无法直接通信。必须通过“桥接器”(Bridge)实现信号的翻译、适配与转换。桥接器的核心功能是速率匹配、协议转换、电平转换和时序同步,是连接不同层次总线的“翻译官”。
在传统计算机主板架构中,桥接器的功能主要由南桥(South Bridge)和北桥(North Bridge)两颗芯片承担,二者分工明确,构成了系统总线与IO总线、片内总线与系统总线的衔接核心。
而现代计算机的南北桥都被其他部件集成了,比如北桥可能被集成到CPU芯片内部了,速度更快。
2.4.1 北桥芯片(North Bridge)
北桥芯片是高速桥接器,主要负责连接系统总线与片内总线、系统总线与存储器总线(内存专用总线),同时桥接高速IO总线(如早期的AGP、现代的PCIe)。
北桥芯片集成了内存控制器,直接管理存储器总线,实现CPU与内存的高速数据交互;同时通过处理器总线(前端总线FSB)连接CPU,承接片内总线转换后的信号,是高速数据的核心中转站。由于需要处理高带宽、高速率的数据,北桥芯片通常靠近CPU布局,且配备散热片,确保工作稳定性。
2.4.2 南桥芯片(South Bridge)
南桥芯片是低速桥接器,主要负责连接系统总线(通过南北桥通信总线与北桥连接)与中低速IO总线,管理各类低速外设。
南桥芯片集成了多个IO控制器,如SATA控制器、USB控制器、声卡控制器、网卡控制器等,直接对接硬盘、键鼠、U盘等外设,将IO总线的信号转换为系统总线能识别的信号,再通过北桥中转给CPU。南桥芯片不直接与CPU连接,所有数据交互都需经北桥中转,且处理的是低速率数据,因此无需靠近CPU,也无需独立散热。
补充:现代计算机架构中,为提升传输效率,北桥芯片的核心功能(内存控制器、PCIe控制器)已集成到CPU内部,传统北桥芯片被取消;南桥芯片的功能整合为PCH(平台控制中枢),直接通过DMI总线与CPU相连,无需北桥中转,简化了总线架构,提升了交互效率,但“桥接器适配不同层次总线”的核心逻辑保持不变。
三、总线的性能指标
总线的性能直接决定了硬件模块间的交互效率,进而影响计算机的整体性能。衡量总线性能的核心指标主要包括总线宽度、总线频率、总线带宽、总线时序和负载能力,各指标相互关联,共同决定了总线的工作效能。
(1)总线宽度
总线宽度指总线中同时能传输的数据位数,单位为bit(比特),主要针对数据总线而言(地址总线、控制总线的宽度根据功能需求设计)。总线宽度越大,单次传输的数据量越多,传输效率越高。
例如,32位计算机具有32根数据线、地址线,所以单次可传输4字节数据;而64位总线单次可传输8字节数据。总线宽度通常与CPU字长、内存单元位数匹配,是总线最基础的性能指标。
(2)总线频率
总线频率指总线每秒能完成的传输周期数,单位为MHz(兆赫兹)或GHz(吉赫兹),相当于总线的“工作节奏”。总线频率越高,单位时间内完成的传输周期越多,传输速度越快。
例如,总线频率为133MHz时,每秒可完成1.33×10^8个传输周期;频率提升至1GHz时,每秒可完成1×10^9个传输周期。需要注意的是,总线频率与CPU频率不同,通常低于CPU频率,需通过桥接器或接口单元进行时序适配。
不过由于我们前面说,计算机总线分为三个层次,所以每个层次的总线频率也是不相同的。
(3)总线带宽
总线带宽简单来说就是单位时间传输数据字节数量。这是因为计算机软件多以字节为单位讨论,所以衡量一个计算机的速度通常不会说位数,而是判断总线带宽。
他与总线频率、总线宽度都有关系,计算公式为:总线带宽 = 总线宽度(bit)/ 8 × 总线频率(Hz)。
总线带宽直接决定了CPU与内存、外设之间的数据传输上限,是影响计算机运行速度的关键因素。
(4)总线周期
一个完整的总线周期分为4个步骤:总线仲裁(申请总线控制权)、主设备寻址(找到想要访问的从设备)、主从设备进行数据交换、主设备释放总线控制权。一个总线周期通常需要几个时钟周期,毕竟有这么多个步骤嘛。
如果一个总线周期是在同一层级进行数据交互,时间是最快的,因为速度匹配传输快。而如果是跨桥接器了,则总线周期的时间几乎取决于低俗设备的取数据时间(木桶效应,取短板)。
(5)总线通信方式(异步/同步)
同步通信是在同一个时钟线的控制下,以固定周期、并行(通常)的传输数据。他是早期人们能想到的提高传输速度的最直观方式,毕竟多一个通路传输的速度就会加快一分。而且同步信号由于时序完全固定,所以可以不需要起始信号、结束信号,从而让有效载荷的占比趋近于100%。
而异步通信则没有同步时钟线,需要各自模块按照双方规定好的通信速度,并使用自己的始终匹配后才能解析。但由于没有同步时钟线,所以无法保证多次传输间有没有延迟,所以必须有起始信号、结束信号作为缓冲。使得有效载荷的占比小于同步信号。正是因为这个原因,所以异步通信一般情况下速度是低于同步并行线的。
但随着人们不断提高传输速度,发现同步并行线可能由于各个线之间的电磁干扰,产生串扰问题,使得并行传输的速率有一个上限。尽管可以通过使用差分信号、增加屏蔽等方式缓解,但当速度达到足够高时,仍然无法避免,所以同步并行作为高速的代名词也逐渐落寞。而异步串行逐渐占据江山,这是因为串行线天然没有电磁干扰问题,所以可以把传输频率推到极高水平。
目前一般只有CPU内部同步并行的带宽提升>串扰问题。而内存、USB等设备都投向异步串行的怀抱。