并行传输数据和串行传输数据
SATA hard drive connections are faster than older PATA hard drive connections and the same can be said for external cabling standards, but this is counter-intuitive: why wouldn’t the parallel transmission be faster?
SATA硬盘驱动器的连接速度比旧的PATA硬盘驱动器连接要快,对于外部电缆连接标准也可以这么说,但这是违反直觉的:为什么并行传输不会更快?
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
今天的“问答”环节由SuperUser提供,它是Stack Exchange的一个分支,该社区是由社区驱动的Q&A网站分组。
问题 (The Question)
SuperUser reader Modest is curious about the data transfer rates of parallel and serial connections:
SuperUser阅读器Modest对并行和串行连接的数据传输速率感到好奇:
Intuitively, you would think that parallel data transmission should be faster than serial data transmission; in parallel you are transferring many bits at the same time, whereas in serial you are doing one bit at a time.
凭直觉,您会认为并行数据传输应该比串行数据传输快; 并行操作是同时传输许多位,而串行操作是一次传输一位。
So what makes SATA interfaces faster than PATA, PCI-e devices faster than PCI, and serial ports faster than parallel?
那么,什么使SATA接口比PATA更快,PCI-e设备比PCI更快,串行端口比并行更快?
While it’s easy to fall into the reasoning that SATA is newer than PATA, there must be a more concrete mechanism at work than just age.
虽然很容易得出SATA比PATA更新的理由,但在工作中必须有一种比年龄更具体的机制。
答案 (The Answer)
SuperUser contributor Mpy offers some insight into the nature of the transmission types:
超级用户贡献者Mpy对传输类型的性质提供了一些见解:
You cannot formulate it this way.
您不能以此方式制定。
Serial transmission is slower than parallel transmission given the same signal frequency. With a parallel transmission you can transfer one word per cycle (e.g. 1 byte = 8 bits) but with a serial transmission only a fraction of it (e.g. 1 bit).
在相同的信号频率下,串行传输比并行传输要慢。 在并行传输中,您可以每个周期传输一个字(例如1字节= 8位),而在串行传输中,仅传输其一小部分(例如1位)。
The reason modern devices use serial transmission is the following:
现代设备使用串行传输的原因如下:
You cannot increase the signal frequency for a parallel transmission without limit, because, by design, all signals from the transmitter need to arrive at the receiver at the same time. This cannot be guaranteed for high frequencies, as you cannot guarantee that the signal transit time is equal for all signal lines (think of different paths on the mainboard). The higher the frequency, the more tiny differences matter. Hence the receiver has to wait until all signal lines are settled — obviously, waiting lowers the transfer rate.
您可以在不增加信号频率并行传输无极限,因为按照设计,从发射器需要的所有信号在接收器在同一时间到达。 这不能保证在高频下使用,因为您不能保证所有信号线的信号传输时间都相等(请考虑主板上的不同路径)。 频率越高,差异越小。 因此,接收器必须等到所有信号线都建立好之后,显然,等待会降低传输速率。
Another good point (from this post) is that one needs to consider crosstalk with parallel signal lines. The higher the frequency, the more pronounced crosstalk gets and with it the higher the probability of a corrupted word and the need to retransmit it. [1]
另一个好处(来自本文)是,需要考虑与并行信号线的串扰。 频率越高,串扰越明显,随之而来的单词损坏和重传的可能性也越高。 [1]
So, even if you transfer less data per cycle with a serial transmission, you can go to much higher frequencies which results in a higher net transfer rate.
因此,即使您使用串行传输每个周期传输较少的数据,您也可以使用更高的频率,从而导致更高的净传输速率。
[1] This also explains why UDMA-Cables (Parallel ATA with increased transfer speed) had twice as many wires as pins. Every second wire was grounded to reduce crosstalk.
[1]这也解释了为什么UDMA电缆(具有更高传输速度的并行ATA)的导线数是引脚的两倍。 每隔两根导线接地,以减少串扰。
Scott Chamberlain echoes Myp’s answer and expands upon the economics of design:
斯科特·张伯伦(Scott Chamberlain)回应了Myp的回答,并扩展了设计经济学:
The problem is synchronization.
问题是同步。
When you send in parallel you must measure all of the lines at the exact same moment, as you go faster the size of the window for that moment gets smaller and smaller, eventually it can get so small that some of the wires may still be stabilizing while others are finished before you ran out of time.
并行发送时,必须在同一时刻测量所有线路,因为随着速度的加快,该时刻的窗口尺寸会越来越小,最终可能会变得很小,以至于某些电线可能仍在稳定而其他人则在您没时间用完之前就完成了。
By sending in serial you no longer need to worry about all of the lines stabilizing, just one line. And it is more cost efficient to make one line stabilize 10 times faster than to add 10 lines at the same speed.
通过串行发送,您无需担心所有线路都稳定下来,只需担心一条线路。 而且,使一条线的稳定速度比以相同速度添加10条线的速度快10倍,具有更高的成本效益。
Some things like PCI Express do the best of both worlds, they do a parallel set of serial connections (the 16x port on your motherboard has 16 serial connections). By doing that each line does not need to be in perfect sync with the other lines, just as long as the controller at the other end can reorder the “packets” of data as they come in using the correct order.
诸如PCI Express之类的东西在两全其美方面发挥了最大作用,它们完成了一组并行的串行连接(主板上的16x端口具有16个串行连接)。 通过这样做,只要另一端的控制器可以按照正确的顺序对数据的“数据包”进行重新排序,就不必与其他行完美同步。
The How Stuff Works page for PCI-Express does a very good explination in depth on how PCI Express in serial can be faster than PCI or PCI-X in parallel.
PCI-Express的“工作原理”页面对串行PCI Express如何比并行PCI或PCI-X更快提供了很好的深度解释。
TL;DR Version: It is easier to make a single connection go 16 times faster than 8 connections go 2 times faster once you get to very high frequencies.
TL; DR版本:一旦到达非常高的频率,使单个连接的传输速度比8个连接的传输速度快2倍就容易了。
Have something to add to the explanation? Sound off in the the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.
有什么补充说明吗? 在评论中听起来不对。 是否想从其他精通Stack Exchange的用户那里获得更多答案? 在此处查看完整的讨论线程。
翻译自: https://www.howtogeek.com/171947/why-is-serial-data-transmission-faster-than-parallel-data-transmission/
并行传输数据和串行传输数据