同步传输 异步传输
Posted 永远别为自己的失败找借口
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步传输 异步传输相关的知识,希望对你有一定的参考价值。
同步传输
都是固定的(即同步的)。
同步传输(Synchronous)
在同步传输的模式下,数据的传送是以一个数据区块为单位,因此同步传输又称为区块传输。
异步传输
异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。例如在键盘上数字“1”,按照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。
异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。
同步传输和异步传输区别:
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。
异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
同步与异步传输的区别
1,异步传输是面向字符的传输,而同步传输是面向比特的传输。
2,异步传输的单位是字符而同步传输的单位是帧。
3,异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输则是以数据中抽取同步信息。
4,异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
5,异步传输相对于同步传输效率较低。
简单一点说,
同步传输就是,数据没有被对方确认收到则调用传输的函数就不返回。
接收时,如果对方没有发送数据,则你的线程就一直等待,直到有数据了才返回,可以继续执行其他指令
异步传输就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事,
接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。
形象点说:
异步传输: 你传输吧,我去做我的事了,传输完了告诉我一声
同步传输: 你现在传输,我要亲眼看你传输完成,才去做别的事
区别
在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地知道信号应当何时接收和处理,因此定时是至关重要的。在计算机网络中,定时的因素称为位同步。同步是要接收方按照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。通常可以采用同步或异步的传输方式对位进行同步处理。
1.
异步传输(Asynchronous Transmission):
异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。按下一个字母键、数字键或特殊字符键,就发送一个8比特位的ASCII代码。键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必须能够在任何时刻接收一个键入的字符。
异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。例如在键盘上数字“1”,按照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。
异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。
2. 同步传输(Synchronous Transmission):同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。
数据帧的第一部分包含一组同步字符,它是一个独特的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。
帧的最后一部分是一个帧结束标记。与同步字符一样,它也是一个独特的比特串,类似于前面提到的停止位,用于表示在下一帧开始之前没有别的即将到达的数据了。
同步传输通常要比异步传输快速得多。接收方不必对每个字符进行开始和停止的操作。一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。另外,同步传输的开销也比较少。例如,一个典型的帧可能有500字节(即4000比特)的数据,其中可能只包含100比特的开销。这时,增加的比特位使传输的比特总数增加2.5%,这与异步传输中25
%的增值要小得多。随着数据帧中实际数据比特位的增加,开销比特所占的百分比将相应地减少。但是,数据比特位越长,缓存数据所需要的缓冲区也越大,这就限制了一个帧的大小。另外,帧越大,它占据传输媒体的连续时间也越长。在极端的情况下,这将导致其他用户等得太久。
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。
异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
同步与异步传输的区别
1,异步传输是面向字符的传输,而同步传输是面向比特的传输。
2,异步传输的单位是字符而同步传输的单位是桢。
3,异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输则是以数据中抽取同步信息。
4,异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
5,异步传输相对于同步传输效率较低。
串行接口
微型计算机主机与外部设备的连接,基本上使用了两类接口;串行接口与并行接口。
并行接口是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,导致了通信线路复杂且成本提高。串行通信是指数据一位位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
串行通信本身又分为异步通信与同步通信两种。 串行通信线路上传送的是数字信号,表示传送数字信号能力的指标为数据速率(Data
Rate),其单位为bps(bit persecond),即每秒钟传送的二进制位数。 串行接口标准:
目前普遍采用的一种串行接口标准是RS-232-C标准。RS-232-C接口标准采用25个引脚的连接器(D型插座)。RS-232-C规定有25根连线。
并行接口
采用并行传送方式在微型计算机与外部设备之间进行数据传送的接口叫并行接口,它有2个主要特点;一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手信号。
一、简单的并行接口
简单的并行接口分0线握手并行接口、1线握手并行接口和2线握手并行接口等多种。 1、0线握手并行接口
所谓0线握手(连络),即接口电路中不含协调数据传送的连络信号,这是并行接口的最简形式,它又分输入并行接口和输出并行接口以及输入/输出双向并行接口3种形式。
0线握手输入接口 在输入量比较稳定的情况下(输入的状态信息在一个的时间内不改变,如开关量输入),可采用三态门直接读取。 0线握手输出接口
当输出数字量无需锁存时,可采用三态门直接输出。 0线双向输入/输出接口
当外设与CPU之间需要利用数据总线进行双向传送信息时,I/O设备即能发送信息,又能接收信息。
2、1线握手并行接口 1线握手并行接口是在0线握手并行接口的基础上,增加了一条握手信号线。 1线握手方式总是假设发送方式所发送的数据已经就绪,接收方可以接收。
二、可编程并行接口 可编程并行接口芯片种类较多,Intel公司的8255A(PPI),Motorola公司的MC6820(PIA)和Zilog公司的Z80-PIO 都属于这一类器件。
硬盘中的并行,串行
串行的是SATA接口,并行的是IDE接口
今日谈随着技术的成熟,越来越多的主板和硬盘都开始支持SATA(串行ATA),SATA接口逐渐有取代传统的PATA(并行ATA)的趋势。
那么SATA和PATA在传输模式上有何区别,SATA相对PATA又有何优势呢?这就正是本文需要讨论的话题。
何谓并行ATA
ATA其实是IDE设备的接口标准,大部分硬盘、光驱、软驱等等都使用的是ATA接口。譬如现在绝大部分的朋友用的都是并行ATA接口的硬盘,应该对它80针排线的接口是再熟悉不过了吧?平常我们说到硬盘接口,就不得不提到什么Ultra-ATA/100、Ultra-ATA/133,这表示什么呢?这告诉我们该硬盘接口的最大传输速率为100MB/s和133MB/s,且硬盘是以并行的方式进行数据传输,所以我们也把这类硬盘称为并行ATA。
何谓串行ATA
串行ATA全称是Serial
ATA,它是一种新的接口标准。与并行ATA的主要不同就在于它的传输方式。它和并行传输不同,它只有两对数据线,采用点对点传输,以比并行传输更高的速度将数据分组传输。现在的串行ATA接口传输速率为150MB/s,而且这个值将会迅速增长。
串行ATA和并行ATA传输的区别
举个比较夸张的例子,A、B两支队伍在比赛搬运包裹,A代表并行ATA,B代表串行ATA。
比赛开始,A派出了40个人用人力搬运包裹,而B只派出去了一辆货车来搬运。在一个来回里他们搬运的包裹数量都相同,大家可以很清楚最后的结果,当然是用货车搬运的B队先把包裹运完,因为货车的速度比人步行的速度快得多多了。同样,串行传输比并行传输的速率高就类似这个道理。
回到现实中来,现在的并行ATA接口使用的是16位的双向总线,在1个数据传输周期内可以传输4个字节的数据;而串行ATA使用的8位总线,每个时钟周期能传送1个字节。
这两种传输方式除了在每个时钟周期内传输速度不一样之外,在传输的模式上也有根本的区别,串行ATA数据是一个接着一个数据包进行传输,而并行ATA则是一次同时传送数个数据包,虽然表面上一个周期内并行ATA传送的数据更多,但是我们不要忘了,串行ATA的时钟频率要比并行的时钟频率高很多,也就是说,单位时间内,进行数据传输的周期数目更多,所以串行ATA的传输率高于并行ATA的传输率,并且未来还有更大的提升空间。
为什么我们要采用串行ATA接口?
这个回答很简单,当然是为了获得更高的数据传输率。随着当前设备需求的数据传输率越来越高,接口的工作频率也越来越高,并行ATA接口逐渐暴露出一些设计上的“硬伤”,其中最致命的就是并行线路的信号干扰。由于传统并行ATA采用并行的总线传输数据,必须要求各个线路上数据同步,如果数据不能同步,就会出现反复读取数据,导致性能的下降,甚至导致读取数据不稳定。
而采用排线设计的数据线,正是数据读取无法更快的“罪魁祸首”。由于并排的高速信号在传输时,会在每条电缆的周围产生微弱的电磁场,进而影响到其它数据线中的数据传递,还会因为线缆的长度和电压的变化而不断变化,随着总线频率的提升,磁场的强度也越来越大,信号干扰的影响也越来越明显。
从理论上说串行传输的工作频率可以无限提高,串行ATA就是通过提高工作频率来提升接口传输速率的。因此串行ATA可以实现更高的传输速率,而并行ATA在没有有效地解决信号串扰问题之前,则很难达到这样高的传输速率。
并行ATA接口在总线频率方面受到其设计的制约,并不能一味地提升,而随着对数据传输率的要求越来越高,目前最快的并行ATA接口ATA133的频率为33MHz,这个几乎已经达到了并行接口的极限,再继续改造线路已不太现实。所以推出新的接口势在必行。
除了传输率较高之外,SATA还有哪些优点呢?
1.数据更可靠
在校验方面,并行ATA总线只是简单的CRC校验,一旦接收方发现数据传输出现问题,就会自行将这些数据丢弃、然后要求重发,如果数据信号相互干扰过大,就会严重影响硬盘的性能。
而串行ATA既对命令进行CRC校验,也对数据分组进行CRC校验,以此提高总线的可靠性。
2.连线更简单
在数据线方面,并行ATA采用80针的排线,串行ATA由于采用点对点方式传输数据,所以只需要4条线路即可完成发送和接收功能,加上另外的三条地线,一共只需要7条的物理连线就可满足数据传输的需要。由于传输数据线较少,使得SATA在物理线路的电气性能方面的干扰大大减小,这也保证了未来磁盘传输率进一步的提升。
和并行ATA相比,串行ATA的数据线更细小,这也使得机箱内部的连线比较容易整理,有助于机箱内部空气的流通,使得机箱内部的散热更好。同样,串行ATA还有采用非排针脚设计的接口和支持热插拔功能等优点。
串行ATA推出之后,并行ATA还会存在吗?
总的说来,串行ATA的优势是很明显的。当然,目前还有一些相对比较低速的设备在使用并行ATA,如光驱、刻录机等设备,并行ATA的传输率已经可以满足的需要,所以,并行和串行会在很长一段时间内并存。当然,串行ATA支持所有的ATA设备,也可支持光驱等设备,但是串行ATA目前会先运用在硬盘上,未来将会支持更多的存储设备。
并行传输:
来举一个例子,有8个数字从1到8,需要传输到对方。此时我们可以与对方连接8条线,每条线传输1个字符,这就是并行传输。
串行传输:
还是上面的例子,如果只用一条线来连接到对方,则我们一次在这条线上发送8个数字,需要发送8次才能将数字全部传送到对方。
串行传输在效率上,显然比并行传输低得多。
但是,并行传输要求通信双方之间的距离足够短。因为如果距离很长,那么这8条线上的数字因为导线电阻不均衡以及其他各种原因的影响,最终到达对方的速度就会显现出差异,从而造成接收方必须等8条线上的所有数字都到达之后,才能发起下一轮传送。并行传输应用到长距离的连接上就无优点可言了。首先,在长距离上使用多条线路要比使用一条单独线路昂贵;其次,长距离的传输要求较粗的导线,以便降低信号的衰减,这时要把它们捆到一条单独电缆里相当困难。IDE硬盘所使用的40或者80芯电缆就是典型的并行传输。40芯中有32芯是数据线,其他8芯是承载其他控制信号用的。所以,这种接口一次可以同时传输32bit的数据,也就是4字节。
串行也有串行的优势,就是凭借这种优势使得硬盘的外部接口已经彻底被串行传输所占领。USB接口、IEEE1394接口和COM接口,这些都是串行传输的计算机外部接口。并行传输表面看起来比串行传输效率要高很多倍,但是并行传输有不可逾越的技术困难,那就是它的传输频率不能太高。由于在电路高速震荡的时候,数据线之间会产生很大的频率干扰,造成数据出错,所以必须增加屏蔽线。即使加了屏蔽线,也不能保证屏蔽掉更高的频率干扰。所以并行传输效率高但是速度慢。而串行传输则刚好相反,效率是最低的,每次只传输一位,但是它的速度非常高,现在已经可以达到10Gb/s的传输速率,但传输导线不能太多。
这样算来,串行传输反而比并行传输的总体速率更快。串行传输不仅仅用于远距离通信,现在就连PCI接口都转向了串行传输方式。PCIE接口就是典型的串行传输方式,其单条线路传输速率高达2.5Gb/s,还可以在每个接口上将多条线路并行,从而将速率翻倍,比如PCIE最高可达16X,也就是说将16条2.5Gb/s的线路并行连接到对方。这仿佛又回到了并行时代,但是也只有在短距离传输上,比如主板上的各个部件之间,才能承受如此高速的并行连接,远距离传输是达不到的。
以上是关于同步传输 异步传输的主要内容,如果未能解决你的问题,请参考以下文章