热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

选择器和分配器

概述选择器和分配器是组合电路中十分重要的逻辑元件。选择器用于从多个输入数据中选择一个输出;而分配器则刚好做相反的工作,将多个输入端输出到指定的输出端。按照惯例,本文首先介绍相应的应

概述

选择器和分配器是组合电路中十分重要的逻辑元件。选择器用于从多个输入数据中选择一个输出;而分配器则刚好做相反的工作,将多个输入端输出到指定的输出端。

按照惯例,本文首先介绍相应的应用背景,然后讲解选择器和分配器的工作原理。

背景

选择器和分配器是电路中不可或缺的两个器件。童鞋们都知道,CPU中存在数量有限的寄存器(MIPS结构中一般是32个),CPU的ALU计算时,从寄存器中取数据进行计算。所有的寄存器都与ALU有电路连接,当我们进行计算时,如:

addi $t2, $t1, $0 // 表示计算 t0 t1寄存器中的数之和

怎么从32个寄存器中选择$t0, $t1和$t2???

答案:选择器

对应的图示如下:
《选择器和分配器》

另外,我们在写C语言中的if…else…分支结构时,程序计数器PC是加4(32位,一个字宽)顺序执行(if语句中的条件成立,执行if分支)还是加其它数(if语句中的条件不成立,执行else分支),也需要选择器来选择。

再想另一个场景,当两个计算机通讯时,假设通讯的位宽为1位,我们要传输一个字节,即8位,要保证两端的数据的时序(假设发送端A传送的数据为‘0101 1101’,接收端如何保证收到的也是‘0101 1101’)?(现实的场景更可能是:用64/32位宽的总线传输64N/32N位的数据,N为正整数)

答案:一位位宽一次只能传送一个二进制,分时传送,用选择器和分配器保证顺序

对应的图示如下:
《选择器和分配器》

选择器

选择器(通常用MUX表示)的抽象功能图如下所示:

《选择器和分配器》

一般情况下,选择器包括m个数据输入端、一个使能控制端,n个(地址)控制端,和一个输出端。图中也展示了输出与输入之间的关系,其中的mi对应的是n个控制端的最小项。熟悉译码器的童鞋应该能发现什么?如果令Di = 1 (0<= i <= m),可以发现什么?

列出真值表跟容易理解,下图显示了8选1选择器的真值表:

《选择器和分配器》

常见的8选1选择器74LS151的逻辑符号如下图所示:

《选择器和分配器》
这里要注意:74LS151提供了原变量输出和反变量输出两个输出

有了基本的8选1选择器,如何构造16选1选择器和32选1选择器?套路其实是一样的,重点是地址控制端,与译码器的级联一样,低位共享,高位控制使能端。下面将16选1和32选1的选择器电路图列出,童鞋们可以自己进行分析。

《选择器和分配器》

《选择器和分配器》

分配器

分配器(通常用DEMUX表示),其抽象图如下所示:

《选择器和分配器》

同样,如果我们令D=1,会有什么结论?

下面仅列出1-4分配器的真值表和电路图,具体原理就不再分析了。

《选择器和分配器》

总结

观察选择器和分配器,其实都和译码器有关系,如果我们将选择器和分配器控制地址端看成译码器的输入,输入数据令其为1,就可以得到一些有趣的结果。另外,在计算机组成中,分配器通常和选择器联合使用。

如有错误,请大家批评指正!谢谢!


推荐阅读
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 云屏系统基于嵌入式微系统msOS,旨在解决当前嵌入式彩屏GUI编程中硬件要求高、软件开发复杂、界面效果不佳等问题。该系统通过结合MCU和Android技术,利用Html5+JavaScript实现高效、易用的图形用户界面开发,使嵌入式开发人员能够专注于业务逻辑。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 随着生活节奏的加快和压力的增加,越来越多的人感到不快乐。本文探讨了现代社会中导致人们幸福感下降的各种因素,并提供了一些改善建议。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文介绍了一种基于选择排序思想的高效排序方法——堆排序。通过使用堆数据结构,堆排序能够在每次查找最大元素时显著提高效率。文章详细描述了堆排序的工作原理,并提供了完整的C语言代码实现。 ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 探讨了一个关于使用多线程实现从0累加至1000的面试题,分析了在不同线程数量下结果出现偏差的原因,并提供了修正方案。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
author-avatar
Lululingling2002_886
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有