串行、并行都是什么?为什么串行可以高速?

https://www.bilibili.com/read/cv355543

一说起接口,就不得不提到串行和并行,而且近几年主要看到的接口一般都是串行接口,似乎并行接口已经成为明日黄花。那么,串行和并行究竟有什么区别,串行比并行好在哪里呢?

首先让我们了解一下常见的并行接口有哪些:
ISA,并行8位/16位,除了线切割这种用途之外早就已经被淘汰了。

这个插槽,比诸位的都长[计算机考古1][ECD]

ETAC/E/Com 凌晨失眠,想到了这个新坑……生命不息,挖坑不止。 ECD-I-ISAECD-V-VLB 我又来科普接口了,今天要说的就是传说中没几个人见过的一个插槽——VLB,也就是VESA本地

SasugaSetsuna824118

PCI,最常见的是并行32位,处于淘汰的边缘,133MB/s。

“口径不一样,你插不进去!”——傻傻分不清的PCI大家族[ECD]

ETAC计算机辞典(ECD)——不定期更新的科普类文章,篇幅较短(方便阅读,也不至于让我太容易拖更),按照字母顺序分类(但是是乱序更新的),集齐一定数量后整理成目录,方便查阅(和收藏)。ETAC/E/

SasugaSetsuna910134

ATA,俗称“IDE”,也就是并口的硬盘,最高133MB/s已经被SATA取代。

LPT,当年的打印机接口,已经被USB取代。

顺便再了解一下常见的串行接口有哪些:

USB,最高10GT/s(约1GB/s)

PCI-E。

PCI-E的针脚定义的简单讲解

Mizuiro-Aqua/ETAC/E/Com以下内容比较晦涩,看不懂就请无视吧,这是为科普雷电接口做的准备。本文的参考资料: https://zh.wikipedia.org/wiki/PCI_Ex

SasugaSetsuna1785449

雷电接口,最高约40GT/s。

详细解析雷电接口——生不逢时还是命中注定?

Mizuiro-Aqua/ETAC/E/Com这年头搞原创不容易。直接复制多轻松啊!像我这样喜欢炒冷饭的,也算是一股清流了吧。雷电比较复杂,所以我之前写了很多原理介绍文章,可以方便大家深入理解雷电(在

SasugaSetsuna647252

SATA,最高约600MB/s。

硬盘的那些事2——五花八门的硬盘接口(上)

ETAC/E/Com(真的,不是我短,最近身体真的有些受不住了。大家原谅我,而且大家也不希望看那种十分钟也读不完的长文吧!好吧,我错了!)(接上期) 2 硬盘接口(上)——ATA和SATA这东西只要稍

SasugaSetsuna1742214

可以看出,并行接口已经所剩无几,而且速度比较慢,那么——
为什么会变成这样呢?

待我慢慢道来。

首先,众所周知,在计算机中,数据都是以二进制存在的,也就是简单的0和1,传输这种信号的时候用电压的低和高来表示就能传输了。

打个比方,用一群站方阵的人来表示数据,串行传输就是让这些人一个接一个地走出去,而并行传输就是让这些人一行一行地走,至于一行有多长,就是传输的位宽(也就是上文中说的8位、16位等)。

可以看出,在传输的频率相同(也就是每个人走的速度相同)的情况下并行接口的速度数倍于串行接口,而且位宽越大,速度就越快(所以64位的PCI-X在速度上可以和PCI-E较量了)。

但是,事实上,绝大多数串行接口速度都很快,甚至比并行接口快得多,这又是为什么呢?

之前说过,传输的频率相同,并行比串行快。但是,串行可以做到更高的频率(实际上能达到并行的数倍),所以速度自然就比较快了。

那为什么并行不能提高频率到串行接口的水平呢?

还是拿站方阵来打比方,如果是并行的一行一行走,就要保证每一行中每一个人的速度相同,否则就会乱,在数据上表现为传输错误,传输错误就要重新传输,速度就会慢下来。而且速度越快,就越难保持每一行的同步,就像在同一条公路上8个人开拖拉机比8个人开跑车更容易同步一样。而串行就不同了,相当于每一个人开跑车都把油门踩到底,只要车不坏,速度慢不下来。

那为什么很多比较老的接口用并行呢?

其实关键就在于频率上。
串行传输,想要高速度,就要控制器(实际上是芯片)的频率很高,而当年的工艺比较老旧,频率根本就提不起来(有一种东西叫功耗曲线,感兴趣的话可以去自行了解),盲目提高频率(典型的例子就是奔腾4)会带来难以控制的高功耗和高发热,所以,当年的接口频率很低,也因此,并行接口在低频率下也可以做到并行数据的同步(就像8个开拖拉机的比较容易排成一行),也就能解释为什么当年的COM串口速度非常慢。但是,随着半导体工艺的不断演进,控制器的频率也就可以越来越高,然而并行传输在如此高的频率下很难保证同步问题(比如ATA就从33M到66M、100M,最后到达133M时接近极限),所以,高速的串行接口就走上历史舞台,因为没有多位数据的同步问题,所以速度可以进一步提高,只要控制器频率允许。

但是,串行接口也会受到控制器频率的限制,所以,这时候就可以用多个通道来提高速度,典型的例子就是PCI-E,常见的最高16通道。但是,虽然多个通道可以同时传输,但是这依然是串行的,这该如何理解呢?

这就相当于将一个大方阵拆成若干个小方阵,将这些方阵按照通道数量分别按位串行传输,所以没有并行接口的同步问题(相当于多条公路,在不同的公路上可以同时开跑车和拖拉机,速度不同也可以同时运行)。而且这样的串行传输还可以弹性分配,就比如PCI-E可以有X1/X2(没有X2的插槽)/X4/X8/X16,即使通道数不同(比如X8设备插在X16插槽上)也能正常工作。

串行接口在成本上也更有优势。因为数据是一位一位传输的,所以在单端信号下只需要2根线就可以传输1路串行信号,即使提高频率下的差分信号也只需要3根线就可以了。而8bit并行信号在单端信号下就需要至少9根线,差分信号下会达到至少17根线。现在看来,消耗更多的线还速度更慢,只要智商还在线就会选择串行接口。

差分信号是什么(再次纠错补充版1.2)

Mizuiro-Aqua/ETAC/E/Com我再次检讨,以后一定多查资料,尽量避免口胡。因为我才发现USB2.0也是差分信号,双向共用同一个差分通道……但愿这次我说的是正确的……我现在的状态。‍传统

SasugaSetsuna557202

总之,串行之所以取代并行,是时代发展的结果,并不是说并行接口天生就比较差,只是适合并行接口的时代已经过去。当然,随着控制器(芯片)的工艺遭遇瓶颈,频率难以进一步提高,串行传输也难以提高速度(就比如PCI-E4.0姗姗来迟),所以未来接口该如何发展还是一个未知数

你可能感兴趣的:(接口)