扇入扇出的概念

转自:http://langhebw.blog.163.com/blog/static/1132586482011517382379/

 最近在学习有关FPGA方面的知识,在看一些FPGA的datasheet时,看到fan-out和fan-in这样的字眼,乍一看还真不知所云,继续往下看还是云里雾里,于是用Google在线翻译了一下,上面赫然是扇入扇出,不用想,电子设计方面怎么会有这么俗的词,还“扇”呢。刚开始不以为然,后来在求知欲的驱使下,就以扇入扇出为关键字在网上开始艰难搜寻。别说这一找,还真找到不少资料呢,看了网上那些大侠们的解释,我才恍然大悟,原来Google并没有翻译错,而是自己太孤陋寡闻了。下面我将给出我所找到的关于扇入扇出的解释,以下都是来自网络,并非原创:

1.原意:  
The number of circuits that can be fed input signals from an output device.  
扇出,输出可从输出设备输入信号的电路的数量 。 

扇出(fan-out)是定义单个逻辑门能够驱动的数字信号输入最大量的术语。大多数TTL逻辑门能够为10个其他数字门或驱动器提供信号。因而,一个典型的TTL逻辑门有10个扇出信号。 
  在一些数字系统中,必须有一个单一的TTL逻辑门来驱动10个以上的其他门或驱动器。这种情况下,被称为缓冲器的驱动器可以用在TTL逻辑门与它必须驱动的多重驱动器之间。这种类型的缓冲器有25至30个扇出信号。逻辑反向器(也被称为非门)在大多数数字电路中能够辅助这一功能。

2.在模块化设计中

模块的扇出是指模块的直属下层模块的个数,如图7.8所示。图7.8中,平均的扇出是2。一般认为,设计得好的系统平均扇出是3或4。

扇入扇出 - blackwolf - blackwolf


图7.8模块的扇出


一个模块的扇出数过大或过小都不理想,过大比过小更严重。一般认为扇出的上限不超过7。扇出过大意味着管理模块过于复杂,需要控制和协调过多的下级。解决的办法是适当增加中间层次。

一个模块的扇入是指有多少个上级模块调用它。扇人越大,表示该模块被更多的上级模块共享。这当然是我们所希望的。但是不能为了获得高扇人而不惜代价,例如把彼此无关的功能凑在一起构成一个模块,虽然扇人数高了,但这样的模块内聚程度必然低。这是我们应避免的。

设计得好的系统,上层模块有较高的扇出,下层模块有较高的扇人。其结构图像清真寺的塔,上面尖,中间宽,下面小。


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
和扇是两个与计算机网络和系统设计相关的概念。在Python中,扇和扇通常用来描述并发编程中的一些设计模式。 扇表示将多个输通道合并为一个输通道的过程。在并发编程中,扇可以用来处理多个并发任务的结果,并将它们汇总为一个结果。这可以通过使用队列、信号量或锁等同步机制来实现。 扇表示将一个输通道分发到多个输通道的过程。在并发编程中,扇可以用来将一个任务分解为多个子任务,并行地执行它们。这可以通过使用线程、进程或协程等并发机制来实现。 下面是一个简单的示例,演示如何用Python实现扇和扇概念: ```python import multiprocessing def worker(input_queue, output_queue): while True: data = input_queue.get() result = process_data(data) output_queue.put(result) def process_data(data): # 处理数据的逻辑 return processed_data if __name__ == '__main__': input_queue = multiprocessing.Queue() output_queue = multiprocessing.Queue() # 扇 input_data = [1, 2, 3, 4, 5] for data in input_data: input_queue.put(data) # 创建多个工作进程 num_workers = 4 workers = [] for _ in range(num_workers): p = multiprocessing.Process(target=worker, args=(input_queue, output_queue)) p.start() workers.append(p) # 扇 results = [] for _ in range(len(input_data)): result = output_queue.get() results.append(result) # 等待所有工作进程结束 for p in workers: p.join() print(results) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值