并行总线和串行总线

ddatsh

hardware #hardware

我们都知道车道越多通行效率更快,但随着现在的城市空间越来越小以及地价越来越贵,更多的车道越来越难以实现。况且并行本身的 I/O 速率不高,就像拖拉机或毛马路,速度上不去再多车道也是枉然

Parallel Clock SerDes(Serializer/Deserializer)

串行数据传输技术,将传统并行总线信号转换为串行信号进行传输,然后再在接收端将其转换回并行信号

这种技术在高速数据通信领域非常重要,尤其是在处理器和内存之间,以及在其他高速互连技术中

传统并行总线中多个信号(如控制、数据、地址信号)同时通过多个导线传输,且每个信号都有自己的时钟线来同步数据。这种方式虽然实现简单,但随着数据传输速率的提高,会面临一些问题:

  1. 信号完整性问题:随着频率的提高,不同信号线之间的交叉干扰和信号衰减会变得更加严重
  2. 功耗问题:并行总线上的多条信号线会导致功耗的增加
  3. 物理空间问题:随着信号线数量的增加,布局布线变得更加复杂,需要更多的物理空间

Parallel Clock SerDes核心思想是将多个并行信号通过串行化转换成单一的串行信号进行传输

  1. 串行化(Serialization):在发送端,Parallel Clock SerDes 将并行的控制信号、数据信号和地址信号组合起来,并在单一的串行通道上进行传输。这个过程通常涉及到将并行信号在时间上连续发送,形成一个连续的串行数据流
  2. 时钟信号:在串行传输中,通常只需要一个全局时钟信号来同步数据的发送和接收。这意味着所有的数据位都是按照这个时钟信号的上升沿或下降沿来同步的
  3. 差分信号:为了提高信号的完整性和抗干扰能力,串行信号通常使用差分信号进行传输,即每个信号位都是通过两个互补的电压水平来表示的
  4. 串行信号传输:串行信号只需要一对导线(或在差分信号的情况下,两对导线),相比并行总线大大减少了所需的物理空间
  5. 反串行化(Deserialization):在接收端,Parallel Clock SerDes 将接收到的串行信号重新转换回并行信号,以便可以被接收设备正确处理

通过这种方式,有效地减少了所需的物理空间,降低了功耗,并且提高了信号的传输速率和质量。这种技术在现代电子设备中非常普遍,特别是在需要高速数据传输的应用中


并行总线由于是多个数据同时传输,需要考虑数据的协同性,高速同步在物理层面上变得更加困难

  1. 信号同步问题:多个信号需要在同一时钟周期内同步传输。频率提高时,信号间的同步变得更加困难,因为每个信号的传播延时(包括时钟偏斜 Clock Skew 和数据偏斜 Data Skew)必须被严格控制,否则将导致数据错误
  2. 电磁干扰(EMI):多条并行信号线在高速切换时,会产生较大的电磁干扰,这不仅影响信号的完整性,还可能干扰其他电子设备
  3. 信号完整性问题:随着频率的提高,信号在传输过程中的衰减和失真也会增加,导致信号的上升沿和下降沿不再是理想的矩形波形,而是变得模糊不清,这增加了信号识别的难度
  4. 物理布局限制:在 PCB 设计中,高速并行信号线需要严格的布局布线,以减少串扰和反射。但随着频率的提高,布线的难度和成本也随之增加
  5. 功耗问题:并行总线在高速操作时,由于多条信号线的电容负载,会导致功耗显著增加,这可能影响系统的热设计和能效比

相对而言,串行总线由于只有单一的数据通道,不存在信号间的同步问题,信号完整性更容易保证,而且可以使用差分信号传输来提高抗干扰能力,从而允许更高的传输频率 。这也就是为什么在现代高速数据通信领域,串行总线逐渐取代了传统的并行总线


显卡底部的金手指密密麻麻一大排,接口是 PCIE ,外形很像并行总线,但实际上是一种串行总线。串行总线可以做多链路传输,和并行链路不一样,它的每根链路是独立数据,相互之间没有关系,不会受到其他数据的干扰