热门标签 | 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,就可以得到一些有趣的结果。另外,在计算机组成中,分配器通常和选择器联合使用。

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


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
    在处理字符串的过程当中,通常情况下都会逐个遍历整个字符串数组,在多个字符串的处理中,处理不同,时间复杂度不同,这里通过利用空间换时间等不同方法,以字符串处理为例来讨论几种情况:1: ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 本文介绍了Paxos的世界中关于复制日志与状态机的概念和重要性。通过存储日志来实现数据的持久化,并通过日志流来记录数据的变化,而不是直接持久化数据本身。这样做的好处是简化了持久化存储的操作,并且方便多机之间的数据同步。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了2020年计算机二级MSOffice的选择习题及答案,详细解析了操作系统的五大功能模块,包括处理器管理、作业管理、存储器管理、设备管理和文件管理。同时,还解答了算法的有穷性的含义。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
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社区 版权所有