凭直觉,您会认为并行数据传输应比串行数据传输快;并行操作是同时传输许多位,而串行传输是一次进行一位。

是什么使SATA接口比PATA更快,PCI-e设备比PCI更快,以及串行端口比并行端口快吗?

评论

也许是,但是如果是这样,我会看到所有这些intel.com/content/www/us/en/chipsets/performance-chipsets / ...它说PCIe有多个通道,我在Wikipedia上查找了FDI,它说: 2个独立的4位固定频率链接/通道/管道和4个链接的DMI对话。 (补充-斯科特的答案可能会部分覆盖这一点)

都归结为时钟速率。

现有的三个答案没有提及经济学,即成本。制作一个非常快的串行接口比一个非常快的并行接口便宜。对于传输线,仅使用几根电线的串行电缆要比平行电缆便宜,而屏蔽电缆很难屏蔽且昂贵。

回到DB25和DB9连接的时代,您很幸运地通过串行方式推动了115 kbit / s的速度,而并行通过8个并行数据引脚使您达到了12 Mbit / s。

#1 楼

您不能用这种方式来表示。

在相同信号频率下,串行传输比并行传输要慢。使用并行传输,您可以每个周期传输一个字(例如1字节= 8位),而使用串行传输则只能传输其中的一小部分(例如1位)。

现代设备使用串行传输的原因如下:


您不能无限制地增加并行传输的信号频率,因为根据设计,来自发送器的所有信号都必须同时到达接收器。这不能保证在高频下使用,因为您不能保证所有信号线的信号传输时间都相等(请考虑主板上的不同路径)。频率越高,差异越小。因此,接收器必须等到所有信号线都固定好后才能进行处理-显然,等待会降低传输速率。
另一个好处(来自本文)是,人们需要考虑与并行信号线的串扰。频率越高,串扰越明显,并且字串损坏的可能性和重传的可能性也就越高。1

因此,即使每个周期使用串行传输较少的数据传输,您可以选择更高的频率,从而获得更高的净传输速率。


1这也解释了为什么UDMA电缆(传输速度提高的并行ATA)具有两倍的数量电线作为引脚。每隔两根导线都接地,以减少串扰。

评论


接收方不必等待所有线路都同时稳定-如今的快速并行传输需要分别测量然后补偿每条线路上的到达延迟。这甚至适用于短板载链接,例如CPU <-> DRAM!通过采用一些串行技术,例如嵌入式时钟(例如8b / 10b编码)和/或训练序列,这成为可能。

–贝尼(Beni Cherniavsky)-帕斯金(Paskin)
2013年6月4日17:58

您的阐述与您的陈述相矛盾。您开始声明串行速度较慢,并解释为什么它速度更快。我认为这是造成混乱的根源,想知道如何回答。

–Val
2013年6月6日12:12

@Val您没有阅读完整的答案。公交车以相同的速度行驶时,人的移动要多于汽车-但是由于物理原理,这些车的行驶速度比公交车要快,因此使用汽车移动人员的速度比公交车要快。数据链路也是如此:以相同的速度,并行电缆比串行电缆传输更多的数据;但是,我们可以推动串行电缆运行,比并行电缆快得多。如果我们尝试加快并行电缆的速度,则物理会导致数据变得垃圾。

– Darth Android
2013年6月7日19:47



实际上我看到了颠倒的感觉。吞吐量较高的是客运(公共)运输,因为您不愿与所有人一起运输汽车,尽管人们更愿意独自驾驶平行的汽车,因此发展了广泛的郊区基础设施,而不是将人们打包到紧凑的3d城市中。我认为串行比特的爆发就像火车一样。大致来说,发送数据包很昂贵,但是每个数据包发送多少数据都没有关系。因此,发送1000比特的火车比1000并行的汽车便宜1000倍。

–Val
2013年6月9日上午10:37

@Val是运输的工作原理,是的,但是电磁物理不是这样的工作,也不能作为类比。这里没有人在谈论效率,只是速度和吞吐量。即使并行链路每个时钟周期可以移动更多数据,串行链路每个时钟周期可以移动较少的数据,但是在同一时间范围内具有更多的时钟周期,因此吞吐量仍然更高。

– Darth Android
2013年6月10日16:29

#2 楼

问题是同步。

并行发送时,必须在同一时刻测量所有行,因为越快,该时刻的窗口尺寸就会越来越小,最终可以变得如此之小,以至于有些电线在您用完时间之前仍然可以稳定下来,而另一些电线则可以完成。

通过串行发送,您不再需要担心所有的电线都稳定下来,一条线。而且,使一条线的稳定速度比在相同速度下添加10条线的速度快10倍,具有更高的成本效益。

诸如PCI Express之类的东西在两全其美方面发挥了最大作用,串行连接(主板上的16x端口具有16个串行连接)。通过这样做,只要另一端的控制器可以按正确的顺序对数据的“数据包”进行重新排序,就不必与其他行完美同步。

PCI-Express的工作原理页面很好地阐明了串行PCI Express如何比并行PCI或PCI-X更快。


TL; DR版本:一旦到达非常高的频率,使单个连接的传输速度比8个连接的传输速度快2倍要容易得多。

评论


@barlop您可以在以太网中进行并行处理,但是在用户使用中它并不是很常见,它的术语称为通道绑定。 -更正:通过无线频率的绑定在消费者中已变得很普遍。 802.11n是如何获得最高600 Mbit / s速率的方法,它们最多使用4个同时串行流。

–斯科特·张伯伦
2013年6月2日17:07



@barlop我给您一个错误的术语,“通道绑定”是更广泛的通用术语,特别是对于以太网,您所要求的正确术语称为“链路聚合”。

–斯科特·张伯伦
2013年6月2日17:19



Rich Seifert写道:“的确,许多人将IEEE 802.11称为“无线以太网”。尽管这肯定会遇到任何技术争论(它甚至没有使用与IEEE 802.3相同的帧格式),但我可以在讲话时接受它对于技术差异不重要的人们而言。” <-他的话。几年前,我读到他主持和编辑802.3x并主持了Ethernet II(显然是DIX以太网,即10Mbps以太网),并且我读到他是“ IEEE 802.3z千兆位以太网特别工作组的积极参与者”。因此,相当权威地说802.11不是以太网。

– barlop
2013年6月2日17:46

1000BASE-T以太网(802.3ab,“千兆以太网”)并行使用4条线对。

– MSalters
2013年6月2日23:46

以太网的经济性不同于SATA之类的总线-电缆很长,更换起来很昂贵,因此您将重点放在最后升级电子设备上。早期的以太网使用1对电线,但对4对电缆进行了标准化,从而有望将来使用(在那个时代,并行是实现更快传输的明显方法)。由于串扰,事实证明这很难,但是由于电缆已经在那儿了,所以不使用它们是很可惜的。最终,通过非常复杂的DSP处理-> D2A-> ...电缆...-> A2D-> DSP处理,可以消除串扰。

–贝尼(Beni Cherniavsky)-帕斯金(Paskin)
13年4月4日在18:14

#3 楼

并行并不是天生就较慢,但是它确实带来了串行通信没有的挑战。

但是许多最快的链接仍然是并行的:计算机中的前端总线通常是高度并行的,并且通常是计算机中最快的互连之一。通过在一根光纤上承载多个波长,光纤连接也可以高度平行。这是昂贵的,因此不是典型的。千兆位以太网的最常见形式实际上是一条单线中的4个250Mbit以太网并行通道。

并行性引入的最明显的挑战是“串扰”:当信号电流开始或停止时,它会瞬间感应旁边的电线上有小电流。信号越快,发生的频率就越高,就越难以过滤。并行IDE尝试通过将带状电缆中的电线数量加倍,并将每条其他电线连接到地面来最小化此问题。但是,这种解决方案只能带您走远。长电缆,折叠和回线以及与其他带状电缆的靠近都使这对于高速信号来说是不可靠的解决方案。

但是,如果仅使用一条信号线,那么您就自由了尽可能快地切换它。它还解决了一些信号传输速度快于其他信号的细微同步问题。

理论上,两根线的速度始终是一根线的两倍,但是添加的每条信号线都会使物理复杂化,最好避免使用。

评论


自从Intel Core 2时代以来,FSB就不再是主流CPU设计的一部分,AMD早在几年前就以AMD64设计将其落后。取而代之的是将内存控制器移到CPU本身,并通过快速/窄总线而不是FSB的(相对)宽/慢设计将其他所有设备连接到CPU。

–丹在火光中摆弄
2013年6月3日13:36

降低串扰的技术已有数十年的历史了,但正如对这些问题的评论所指出的那样,它们会增加成本,并且其中一些会使同步问题变得更糟(具有不同扭曲比的双绞线的阻抗会有细微变化,这意味着传输速度的变化,以及...)。

– dmckee ---前主持人小猫
2013年6月3日18:09

#4 楼

串行数据传输并不比并行数据传输快。它更方便,因此开发已进入在设备单元之间实现快速外部串行接口的目的。没有人愿意处理具有50个或更多导体的带状电缆。

在电路板上的芯片之间,仅需要两条线的I2C之类的串行协议比路由大量并行走线要容易得多。

但是计算机中有很多示例使用并行机制来大量增加带宽。例如,单词不能一次从存储器中读取一位。实际上,高速缓存是在大块中重新填充的。光栅显示是另一个示例:并行访问多个存储库以并行地更快获得像素。内存带宽严重依赖于并行性。

此DAC器件被泰克(Tektronix)誉为“世界上最快的商用10位高速DAC”,大量使用了并行性来引入数据。超过320条线的DAC,通过由主12 GHZ时钟的不同划分驱动的两级多路复用减少为10条。
如果可以使用一条串行输入线制造世界上最快的10位DAC,那么它可能会。

评论


+1代表50针带状电缆。选择SAS / SATA电缆的动机之一是,宽电缆会影响机箱内的气流。

– jqa
2013年6月3日15:13

#5 楼

当逻辑门足够慢时,并行是提高速度的明显方法,您可以将类似的电气技术用于总线/电缆和片上传输。如果您已经按照晶体管允许的速度快速切换导线,那么缩放的唯一方法就是使用更多的导线。

随着时间的流逝,摩尔定律超越了电磁限制,因此通过电缆甚至是电缆的传输与片上速度相比,车载总线成为瓶颈。 OTOH,速度差异允许在末端进行复杂的处理以更有效地使用通道。


一旦传播延迟接近几个时钟的数量级,您就开始担心像反射这样的模拟效果= >一路需要匹配的阻抗(对于连接器尤其棘手),并且比多点总线更喜欢点对点电线。这就是为什么SCSI需要端接的原因,这就是为什么USB需要集线器而不是简单的分离器的原因。
在更高的速度下,沿导线的任何给定时刻都有多个位在飞行中=>您需要使用流水线协议(这就是为什么英特尔的FSB协议变得如此复杂的原因;我认为像PCIe这样的分组协议就是对这种复杂性的一种反应。

另一个影响是切换信号流方向的多周期惩罚-这就是为什么在每个方向上使用专用线的Firewire和SATA和PCIe的性能均优于USB 2.0。


感应噪声(也称为串扰)随频率上升。速度上的最大进步来自采用差分信号,该信号可显着降低串扰(从数学上讲,不平衡电荷的场下降为R ^ 2,而偶极子的场下降为R ^ 3)。

我认为这就是造成“串行速度比并行速度快”的原因-跳变太大,您可以下降到1或2个差分对,但仍然比LPT或IDE电缆快。电缆中只有一对信号对也可以带来串扰,但这是次要的。


导线传播延迟各不相同(这是因为导线长度在90º匝内很难匹配)解决方案是在每个接收器处具有可调节的延迟,并在启动时和/或从数据本身连续地对其进行调谐。对数据进行编码以避免出现0或1的条纹会产生少量开销,但具有电方面的好处(避免DC漂移,控制频谱),最重要的是允许将时钟线全部掉线(在40根以下并不重要)信号,但对于串行电缆而言,具有1对或2对而不是2对或3对是非常重要的)。


请注意,我们在瓶颈处遇到了并行问题-当今的BGA芯片具有成百上千的引脚,PCB的层数越来越多。将此与旧的40引脚微控制器和2层PCB进行比较...

上述大多数技术对于并行和串行传输都是必不可少的。只是电线越长,通过更少的电线推动更高的费率就越具有吸引力。