wifiwan口速率什么意思_【2K赞】为什么串行接口比并行接口快?

串行接口比并行接口快的原因在于其特有的设计方法,如不需传时钟同步、采用差分总线降低噪声、无需解决时钟skew问题以及信号线少干扰少。高速串行接口如PCIE和SATA利用8b/10b编码、差分信号传输和时钟-数据恢复技术,实现更高传输速率。并行接口由于线缆数量多、噪声干扰大、信号对齐困难,难以达到类似速率。
摘要由CSDN通过智能技术生成

becce069520c3dbd32fa258ba1e33918.gif

编者注:偶尔会问一下工程师这个问题,其实蛮有意思的,有不少工程师还是不清楚这个问题,至少是没有认真想过这个问题的人可能真不知道怎么回答。本文回答了这个问题,但是有一些观点还是值得商榷,可以把本文当一篇小短文看看吧,作者的回答获得了2000多人的赞,还是有一定的道理的,因为回答是2015年的,所以有的内容自己懂就好了。本文是整理自知乎的内容,本文内容主要由:龚黎明、又见山人两位回答的。原文讨论链接如下:http://www.zhihu.com/question/27815296/answer/38699109

在开始介绍本文时,先看几个名词解释:
Mbps, Gbps: 一百万比特每秒,十亿比特每秒
skew:时间偏差,A比B快/慢一秒,就叫skew一秒
IO:输入输出电路
cable:线缆
SerDes:串行转并行,并行转串行

看到这个问题,还有人说“贯口“”最快的,哈哈,我们来算一算。业界目前已经应用的28Gbps的 SerDes,传一个比特只要35.7ps,这点时间光在真空中可以走上一厘米,连角膜到视网膜都不够。哪个快?

----------正式答案的分割线--------

先说我的答案,串行接口为啥比并行接口快?是因为串口的特性和应用场景,决定了它更加适合采用一些提高单根信道速率的设计方法,这些方法用在并口上并不合适。

1,高速串口不需要传时钟来同步数据流,没有时钟周期性的边沿变化,频谱不会集中,所以噪声干扰少很多。以PCIE和SATA为例,时钟信息通过8b/10b编码(编者注:每一代总线编码的方式可能不一样,要特别注意)已经集成在数据流里面,数据本身经过加扰,绝对不可能有多于5个0或者5个1的长串(利于时钟恢复),也绝对不存在周期性(避免频谱集中)。这样,通过数据流的边沿变化变可以直接用PLL恢复出时钟,再用恢复的时钟采集数据流。这有什么好处?时钟信号消耗的功耗极多,带来的噪声也最大,不传时钟可以降低功耗,减少噪声。

2,所有高速串口都采用差分总线传输,外界噪声同时加载到并行传输的两条差分线上,相减之后可以抵消,对外部噪声的抵抗能力强。

3,没有时钟skew问题,因为它根本就没有同步时钟,不存在时钟和数据流的对齐问题。只需要保证差分信号线是对齐的就行,这是很容易的,因为差分信号线的值总是相反,相关性强,易控制。一根线跳的时候,另一根线经过一个非门的延时马上会跳,这个非门的延时是很容易补偿的。并行总线最大的问题就是多根线传输的时候,无法保证所有的沿变都对齐,很有可能传着传着某些信号跟不上,落后了一个T,数据就传错了。想控制也难,因为各个信号没有相关性,互相的沿变本身就是独立的,因为布线不同,很有可能一个跳的早点,另一个跳的晚点,再加上各个传输线电阻不同,噪声不同,传一会儿就分辨不出来哪个值对应哪个周期。

4,线少,干扰少。并行传输,一般32根或者64根,一根线跳变,会给旁边的线带来噪声,频率越高,这种噪声越大,很容易导致别的线值被篡改或者无法辨认,所以频率不可能很高。串行传输一般就4根数据线,分成Rx两根差分线和Tx两根差分线,差分线总是往相反方向跳,可以抵消各自的跳变噪声,比如Rx的正极性发生跳变时会产生噪声,这种噪声可以被Rx的负极性以相反的跳变直接抵消掉(因为他们是差分信号对),总的噪声为0,根绝了内部噪声。综上,串口传输的各种优势使得其内外噪声皆免疫,又没有信号对齐之忧,可以以极高的速率传输。比如SATA可以以6Gb的速率传输数据流,PCIE可以以8Gb的速率传输数据流。这种速率,并行传输是根本做不到的,更不要说串行传输还能节省大量引脚。

为了提高单根线的传输速率,必须要讲到我们模拟电路工程师的三大法宝,差分信号(differential signaling),时钟-数据恢复(Clock-Data Recovery,简称CDR),和信道均一化(Channel Equalization,EQ)

差分信号的好处 不外乎抗干扰能力强,引入的噪声也比较小,虽然必须要两根线,但速度从几百M提高到几G,还是很值得的。CDR的好处 消灭了skew,减少了时钟的功耗和噪声(但多出了CDR电路本身的功耗和噪声),同时避免了电磁干扰。想想在PCB或者电线上传一个15G的时钟,太带感了,幸亏我们不用做这种事。

信道均一化 相当值得一提,这才是SerDes高速发展的决定性因素,所以我决定花点文字讲一下。
一般来说,真实世界中的信道都是低通特性的,到处都是小电容,所谓绝缘体中的分子在高频情况下吸收电场能量,再加上金属线中的趋肤效应,所以我们想要的高频信号走不了多远就不像样子了,比如下面某信道的频率特性(绿线)。

19ec0eda2ad075919f641008e43d01a6.png

如图所示,在对应28Gbps的频点上,信号能量被衰减了30db,电压幅度只剩3%了;在对应56Gbps的频点上更惨,65db意味着信号电压摆幅剩下不到千分之一。在这种信道中,发送端一个完美漂亮的数据眼图:

6132bd01b2dab3c2d30e2577a128baea.png

到了接收端会变成这样的一堆垃圾:

54a58cca99260709ee67432573f21f3f.png

什么都辨认不出来对吧。但是,经过我们聪明的工程师们一番努力,均一化开关打开,信号就变成了这样:

c5bd611af15e08b1a22a4c67e4e43c5f.png

既然有了三大法宝,他们只能用在串口上吗?
答案很显然,不是,串口可以用的,并口一样可以用。那为什么并口不用呢(
编者注:此问题在之前成立,当前已经不再成立)?
差分信号这条不用说了,并口的电线本来已经够多了,数目还要再翻一倍?系统工程师会杀人的。
CDR 意义也不大,反正你并口速度也不高,一堆数据线中顺便传下时钟,比做接收端做CDR再采样每一位数据省事多了。
信道均一化属于屠龙之技,不用差分信号的话也就传几百M,本来就没啥衰减,用这个干啥?还是考虑下各种噪声串扰的问题吧。
于是答案就呼之欲出了。串口为啥比并口快?是因为串口的特性和应用场景,决定了它更加适合采用一些可以提高单根信道速率的设计方法,这些方法用在并口上并不合适。
从现有的应用看来,需要持续稳定高带宽的应用,往往使用高速串行接口,一根带宽不够再加一根,各种视频网络应用,基本如此。而一些历史遗留速度不高的应用,还有一些需要突发性高带宽的应用,并口仍然存活,比如很特殊的DDR。虽然XDR/GDDR/HMC/HCM这些新标准都在试图引入SerDes, 但DRAM行业的特殊性还是让并口继续存活着。

1df55cadfa60179a7784cff433e9fdb2.png

6d7ac9f818d077c9b72572a700fb42c7.png

蒋修国  蒋修国  蒋修国 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值