老铁们,大家好,相信还有很多朋友对于异步传输是并行还是串行和在异步串行传送系统中的相关问题不太懂,没关系,今天就由我来为大家分享分享异步传输是并行还是串行以及在异步串行传送系统中的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

异步传输是并行还是串行(在异步串行传送系统中)

本文目录

  1. 以太网是串行通信还是并行通信
  2. c语言执行命令行是异步还是同步
  3. 异步传输的通信协议

一、以太网是串行通信还是并行通信

1、同步/异步这两个词不同领域的概念完全不同啊……从数字电路的角度来说,以太网是典型的同步时序逻辑,它的时钟信号通过曼彻斯特编码(以前)或者4B/5B编码(现在)编码到了信号当中,接收方需要从信号当中使用锁相环解出这个时钟信号,这样发送方和接收方就有了一个同步的时钟信号。

2、依靠这个同步的时钟信号接收方能够正确读取发送方发送的数据。

3、实际上几乎所有的高速数字传输协议都是同步时序逻辑。但是从软硬件接口的角度来看,这个过程又是异步的。

4、计算机不会直接通过CPU指令操作当前正在发送的数据,而是通过一系列缓存,将数据送交到网卡,或者从网卡读取数据。

5、计算机不关心网卡实际上在什么时候将数据发出,它只要将数据提交给网卡就可以继续进行其他任务了,实际上提交给网卡这样的工作通常也会使用DMA之类的方法。

6、数据到来时也是一样的,网卡不会在接收到网络数据包第一个字节的时候就通知CPU处理,而是将接收到的数据先缓存起来,随时等待CPU或者DMA在合适的时候读取。

7、这种有缓冲区的结构是典型的异步通信机制。

8、从socket接口上来看,又分为同步和异步两种,也可以叫做BLOCK/NONBLOCK。

9、同步接口在不能发送数据或者接收数据时会阻塞,直到完成;异步接口则会通知你socket暂时不可用,让你使用epoll等机制等待。其实虽然非阻塞一般都叫做异步IO,真正的异步IO应该是使用信号通知机制的才算,但现在不太区分这个。

10、实际上即使是所谓同步接口,在内核中仍然有缓冲区存在,只是用户态到内核态的这一层通信使用了同步的逻辑。所以说,你这个问题首先取决于你对同步/异步的定义,以及在哪一层上看问题。

二、c语言执行命令行是异步还是同步

1、同步:就是串行执行(按顺序,一个等一个),因为它就是函数的调用原理,栈机制的先进后出决定,速度慢,但是节约资源。

2、异步:就是并行执行(没有顺序,同时做),它采用了开启多线程的方式实现同时做多件事情,速度快,但是会加大资源的开销;

三、异步传输的通信协议

使用异步串口传送一个字符的信息时,对数据格式有如下约定:规定有空闲位、起始位、数据位、奇偶校验位、停止位。

起始位:先发出一个逻辑”0”信号,表示传输字符的开始。

数据位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCⅡ码。从最低位开始传送,靠时钟定位。

奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。

停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。

空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

波特率:是衡量数据传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200位/秒=1200波特。

注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)。

OK,本文到此结束,希望对大家有所帮助。