• 串行通信与并行通信的反直觉


    学过计算机体系结构的人可能都知道串行通信和并行通信,可是像我这样的学而不精的人来说,之前却没有搞懂两者之间的关系。

    直觉上看,并行肯定比串行快,因为并行是多个数据位可以同时通过独立的线路传输,而串行是多个数据位共用一个线路传输,显然并行更快。而实际上,在当今的电子设备中,串行通信要比并行通信的应用大很多。

    我们所熟悉的USB、SATA、SCSI和以太网都是典型的串行通信架构,而作为并行通信的典型代表——IDE,已经逐渐退出了历史舞台。

    关于串行和并行的区别,http://forum.eepw.com.cn/thread/152577/1这篇文章中做了介绍,但是美中不足的是,没有把为什么串行比并行应用更广,甚至传输速度有时更高的本质问题讲清楚。

    我google了一下,发现维基百科中有比较好的分析:

    串行通信与并行通信的比较

    在计算机之间、计算机内部各部分之间,通信可以以串行和并行的方式进行。一个并行连接通过多个通道(例如导线、印制电路布线和光纤)在同一时间内传播多个数据流;而串行在同一时间内只连接传输一个数据流。

    虽然串行连接单个时钟周期能够传输的数据比并行数据更少,前者传输能力看起来比后者要弱一些,实际的情况却常常是,串行通信可以比并行通信更容易提高通信时钟频率,从而提高数据的传输速率。有以下一些因素允许串行通信具有更高的通信始终频率:

    • 无需考虑不同通道的时钟脉冲相位差(英语:clock skew);
    • 串行连接所需的物理介质,例如电缆和光纤,少于并行通信,从而减少占用空间的体积;
    • 串扰的问题可以得到大幅度缓解。

    在许多情况里,串行通信都凭借其更低廉的部署成本成为更佳的选择,尤其是在远距离传输中。许多集成电路都具有串行通信接口来减少引脚数量,从而节约成本。

    这边就讲得很清楚了:首先,成本高,占空间;再者,几条线路放在一起,容易产生串扰之类的问题;第三,不同通道之间的频率不是完全一致,要保证数据传输正确,就要考虑脉冲相位差,通信时钟频率反而不高。

    由于这些原因,所以串行应用比并行并行应用多得多~

    Top
    收藏
    关注
    评论
  • 相关阅读:
    企业级应用和互联网应用的区别
    JAVAEE课程目标
    组队项目--投票管理系统
    关于JSON
    Ajax技术学习
    Applet的学习
    Async的相关学习
    Filter分析
    JavaEE-map
    Session
  • 原文地址:https://www.cnblogs.com/codemood/p/2822000.html
Copyright © 2020-2023  润新知