为什么并行(Parallel)优于串行(Serial)?
目录
什么是串行通信
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
串行通信的分类
串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。
1.同步通信
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
2.异步通信
异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
串行通信的特点
数据在单条一位宽的传输线上,一比特接一比特地按顺序传送的方式称为串行通信。在并行通信中,一个字节(8位)数据是在8条并行传输线上同时由源传到目的地;而在串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。由此可见,串行通信的特点如下:
1、节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点。
2、数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。
例如:传送一个字节,并行通信只需要1T的时间,而串行通信至少需要8T的时间。由此可见,串行通信适合于远距离传送,可以从几米到数千公里。对于长距离、低速率的通信,串行通信往往是唯一的选择。并行通信适合于短距离、高速率的数据传送,通常传输距离小于30米。特别值得一提的是,现成的公共电话网是通用的长距离通信介质,它虽然是为传输声音信号设计的,但利用调制解调技术,可使现成的公共电话网系统为串行数据通信提供方便、实用的通信线路。
什么是并行通信
在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。
并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。计算机或PLC各种内部总线就是以并行方式传送数据的。
并行通信的特点
1、各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合。
2、微机系统中最基本的信息交换方式。
3、并行传递的信息不要求固定的格式。
4、并行接口的数据传输率比串行接口快8倍,标准并口的数据传输率理论值为1Mbps(兆比特/秒).
5、并行传输的数据宽度可以是1~128位,甚至更宽,但是有多少数据位就需要多少根数据线,因此传输的成本较高。
6、并行通信抗干扰能力差。
7、在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内个插件板之间的数据传输都是并行的。
8、以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据。
9、适合于外部设备与微机之间进行近距离、大量和快速的信息交换。
10、并行数据传输只适用于近距离的通信,通常传输距离小于30米。
并行接口:
一般地并行接口有 3 个方面的功能:
⑴实现与系统总线的连接:提供数据的输入输出功能。
⑵实现与外设连接:确保与外设间有效进行数据的接收和发送。
⑶具有中断请求处理功能:外设输入输出采用中断的方法来实现。
接口连接:
典型的双向并行接口与外设连接
⒈并行接口与CPU的连接
⑴数据总线:是CPU与并行接口进行数据交换的通道。
⑵读出写入信号线:控制数据流向,确定操作是读还是写。
⑶复位线,准备好状态线:并行接口数据准备就绪。
⑷中断请求线:并行接口向CPU进行中断请求。
⑸地址译码电路:进行选择不同的接口电路,选择接口电路内部不同的寄存器。
⒉并行接口与外设的连接
⑴输入设备:数据输入线,设备数据准备就绪状态线和接口接收数据回答线。
⑵输出设备:数据输出线,接口数据准备就绪状态线和外设接收数据回答线。
⒊并行接口
⑴控制寄存器:接收CPU发来的控制命令。
⑵数据输入缓冲器、数据输出缓冲器:进行数据的输入、输出。
⑶状态寄存器:提供接口电路工作状态供CPU查询。
传输原理:
⒈ 并行接口输入数据的过程
外设将数据送到“数据输入线”,通过“输入数据准备好” 状态线通知并行接口取走,接口将数据锁存到“输入缓冲器”,通过“数据输入回答”线通知外设,接口数据缓冲器已满,不要再送数据,接口在其内“状态寄存器” 的相应位置 1,便于CPU 查询和接口向CPU 发中断请求之用。
CPU 从接口将数据取走后,接口将“数据输入准备好”、“数据输入回答” 信号清除,以便外设输入下一个数据。
⒉ 并行接口输出数据的过程
接口“数据输出缓冲器” 空,“数据输出准备好” 状态线送 1,收到CPU 发的数据,将之复位清0,数据通过“数据输出” 线送外设,由“数据输出准备好” 线通知外设取数据。
实例:
微机系统中最基本的信息交换方法:
例如:微机与并行接口打印机、磁盘驱动器。
例如:系统板上各部件之间,接口电路板上各部件之间。
串行和并行分析
为什么并行(Parallel)优于串行(Serial)?并行的特点是同一时间可以干别的事情,在系统优化的过程中很常见的一点就是接口请求合并,合并请求内部也要做并行处理,否则时间上优势不大。并行最大的好处就是:可以在同一时间内做不同的业务处理,大大缩短用户的等待时间提升用户体验。以下图为例:
代码和思想同样重要,没有思想的代码就是死代码,有了灵魂和思想的代码才是代码层面的提升!
参考资料
串行通信:https://wiki.mbalib.com/wiki/%E4%B8%B2%E8%A1%8C%E9%80%9A%E4%BF%A1
并行通信:https://wiki.mbalib.com/wiki/%E5%B9%B6%E8%A1%8C%E9%80%9A%E4%BF%A1
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2017-08-31 GIS中的坐标系
2013-08-31 Google street、Google satellite 、百度地图Iframe切换桥接JS
2013-08-31 Google map v3 using simple tool file google.map.util.js v 1.0
2013-08-31 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.3
2013-08-31 Google API v3 设置Icon问题处理