并发,并行,串行

/ 0评 / 0

和朋友解释MPI的时候发现,并发,并行,串行对应的英文名词和自己想当然的版本不一样,所以特意找到了中文资料修补了一下这块的知识漏洞。这里特别鸣谢CSDN—a86322803的博客!

并发(Concurrency)       并行(Parallelism)

两者的区别:并发是同时处理(dealing)很多的事情,并行是同时做(doing)很多的事情。不同,但也相关。一个是关于代码结构,一个是关于代码执行。并发为可能的(不是必须的)并行问题提供了一种解决方案。

解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
解释三:在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群
所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。

所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。

并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。
并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。

 

串行通信和并行通信区别:

这里说的通信是指数字信号。 数字信号是8位二进制数,可以使用信号线传输,一种方案是使用一条数据线按照次序一个位一个位的传送,每传送完8位为一个字节,叫串行通信。另一种方法是使用8条数据线分别传送8位,一次传送一个字节,叫并行通信。 实际传输有可能不是8位数据而是其它,但原理是相同的。 理论上并行速度比较快,但是串行口线间干扰小,稍远的距离速度不低于并行口。

并行通信传输中有多个数据位,同时在两个设备之间传输。发送设备将这些数据位通过对应的数据线传送给接收设备,还可附加一位数据校验位。接收设备可同时接收到这些数据,不需要做任何变换就可直接使用。并行方式主要用于近距离通信。计算机内的总线结构就是并行通信的例子。这种方法的优点是传输速度快,处理简单。

这里写图片描述

串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并–串转换硬件转换成串行方式,再逐位经传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用。串行数据传输的速度要比并行传输慢得多,但对于覆盖面极其广阔的公用电话系统来说具有更大的现实意义。

这里写图片描述

并行接口

主要特点:

并行接口是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,就导致通信线路复杂且成本提高。

串、并口:

串口形容一下就是:一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)数据。
但是并不是并口快。由于8位通道之间的互相干扰,传输时速度就受到了限制。而且当传输出错时,要同时重新传8个位的数据。而串口没有干扰,传输出错后重发一位就可以了,所以要比并口快。串口硬盘就是这样被人们重视的。

串口通讯:

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注