多路分配器和数据选择器

1、多路分配器和数据选择器的基本定义:

多路分配器(DMUX):能够将1个输入数据,根据需要传送到m个输出端的任何一个输出端的电路

它的主要应用场景有:

(1)数据传输时实现串并转换,典型的基于FPGA的多路高速串并转换器设计就是基于这个原理

数据选择器(MUX):能够将多路输入数据,根据需要将其中任意一路选出来的电路

它的主要应用的场景有:

(1)多路信号按时间进行选择,实现分时传送。典型的时分多址(TDMA,2G移动电话通信),就是这个原理。

(2)数据传输时实现并串转换,

(3)可以通过控制选择逻辑生成序列信号

2、引申到软件领域:

软件和硬件的设计原理是相同的。

1)多路分配器的软件应用场景

Reactor模式使用的就是多路分配器方式。

Reactor模式首先是事件驱动的,有一个或多个并发输入源,有一个Service Handler,有多个Request Handlers;这个Service Handler会同步的将输入的请求(Event)多路复用的分发给相应的Request Handler。

Thread-Per-Connection,这个传统实现有以下问题,即线程的切换、同步、数据的移动会引起性能问题,引入Reactor模式就是解决这个问题,达到性能的提升。

著名的开源流媒体服务Darwin Streaming Server就使用了Reactor的并发服务器设计模式。

Proactor模式和Reactor模式类似,主要在操作系统IO有不同之处。Reactor是同步IO,Proactor是异步IO。

2)数据选择器的软件应用场景

数据选择器和多路分配器正好相反。

...持续更新中...

经验分享 程序员 微信小程序 职场和发展