想象一个繁忙的快递分拣中心。来自不同城市的卡车把包裹卸到不同的传送带上,但装车间门口只有一条主传送带。控制台上的调度员盯着包裹上的目的地代码,决定此刻放行哪条传送带上的包裹——这条“多路汇成一路”的通道,就是数字电路里的多路选择器(MUX)。反过来的场景发生在发货区:一件包裹从主传送带进入分拣区,分拣员依据目的地代码把它推入对应城市的滑槽——这条“一路拆成多路”的通道,就是多路分配器(DEMUX)。 在整个数字世界里,MUX 和 DEMUX 是一对“看码放行”的组合逻辑装置:它们没有记忆、不依赖时钟,只根据当前输入的地址码决定数据走哪条路。MUX 负责从多路输入中选出一路送出去,DEMUX 负责把一路输入分发到多路输出中的一处。两者看似方向相反,却共享同一套地址译码逻辑,仿佛分拣中心的“进站闸”和“出站闸”。掌握了它们,你就拿到了理解 CPU 寄存器堆、总线通信、FPGA 查找表的一把通用钥匙。

岗位关联

对于 AI 从业者而言,MUX/DEMUX 是硬件底层的“物流规则”:看懂它们,能更快理解 AI 芯片中的数据搬运、寄存器堆读写和总线时分复用,也让硬件排查从“瞎猜”走向“按图索骥”。

目录
  1. 可视化演示
  2. 基础概念
  3. 工作原理
  4. 选择器MUX
  5. 函数发生器
  6. 分配器DEMUX
  7. 总线与复用
  8. 对称与级联
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

基础概念

把数字系统想象成一座巨大的快递分拣中心。多辆卡车从不同城市驶来,把包裹卸到各自的进货传送带上,而发货口只有一条主传送带。多路选择器(MUX)就是那道“进站闸”,它根据包裹上的目的地代码,从多条传送带中选出一条放行到主传送带。多路分配器(DEMUX)则是“出站闸”,它把主传送带上的包裹,按照目的地代码分发到对应城市的滑槽。一个负责汇流,一个负责分流,地址码就是调度员手里的“目的地标签”。

在电路世界里,MUX 的多个数据输入端好比多条进货传送带,输出端只有一条;DEMUX 的输入端只有一条,输出端却有多条。地址码的位数决定了通道数量:如果有 \(k\) 位地址码,就能区分 \(2^k\) 条通道。这就像分拣中心的标签只有两位数字,却可以表示四个不同城市。

这类电路没有记忆,属于组合逻辑电路:输出只由当前输入决定,不会记住上一秒发生了什么。相当于调度员只看眼前的包裹标签,不会因为昨天送过某个城市就改变今天的判断。

所以,MUX 和 DEMUX 都是“看码放行”的装置:地址码不是数据本身,而是数据的“门牌号”。在数字系统中,它们是组合逻辑中最常见的“交通指挥员”,为后续理解总线、寄存器堆和查找表打下基础。

N=2k\displaystyle N = 2^{k}
通道数等于 2 的地址位数次方:每增加一位地址码,可选通道数就翻一倍。
  1. 通道数 \(N\)数据输入端(MUX)或数据输出端(DEMUX)的通道总数,受地址码宽度限制。
    N\displaystyle N
  2. 地址位数 \(k\)用来编码“目的地”的二进制信号个数。
    k\displaystyle k
  3. 幂次关系二进制地址共有 \(2^k\) 种组合,正好一一对应 \(2^k\) 条通道。
    N=2k\displaystyle N = 2^{k}

工作原理

分拣中心的调度员面前有一个切换面板:当包裹标签是 00 时,他按下一号按钮,放行 00 号传送带;标签是 01 时,按二号按钮。这个“看码放行”的动作,在电路里由地址译码完成——地址码先被翻译成唯一的选通信号,然后打开对应的数据通道。

以一个 2 选 1 多路选择器为例,它有数据端 \(D_0\)、\(D_1\) 和一位地址 \(S\)。当 \(S=0\) 时,\(D_0\) 被选中;当 \(S=1\) 时,\(D_1\) 被选中。从逻辑上看,这就是两个“与门”加一个“或门”:每个数据端先和它对应的地址条件相与,再把结果相或,得到最终输出。好比两个进货口都通向主传送带,但只有被标签命中的那个进货口的闸门会打开。

这个结构同样适用于 DEMUX:只是把“多个输入选一个”换成“一个输入送多个输出”。地址译码后,只有目标输出通道的闸门打开,其余闸门全部关闭。

从“换轨”的角度看,MUX 和 DEMUX 内部的地址译码就像铁路道岔:地址码决定道岔位置,数据则沿着唯一的轨道前行。理解了这个“译码后选通”的机制,后面的多路扩展和函数发生器就顺理成章了。

Y=D0⋅S‾+D1⋅S\displaystyle Y = D_0 \cdot \overline{S} + D_1 \cdot S
数据输出等于被选中数据端的信号:地址为 0 时选 \(D_0\),地址为 1 时选 \(D_1\)。
  1. 数据端 \(D_0\) 的选通项当 \(S=0\) 时,\(\overline{S}=1\),\(D_0\) 通过“与门”进入输出。
    D0⋅S‾\displaystyle D_0 \cdot \overline{S}
  2. 数据端 \(D_1\) 的选通项当 \(S=1\) 时,\(S=1\),\(D_1\) 通过“与门”进入输出。
    D1⋅S\displaystyle D_1 \cdot S
  3. 或运算合并两个与门结果相或,保证任一时刻只有一个数据源被送到输出端。
    Y=D0⋅S‾+D1⋅S\displaystyle Y = D_0 \cdot \overline{S} + D_1 \cdot S

选择器MUX

分拣中心把四座城市的进货传送带汇到一起,就形成 4 选 1 多路选择器。它需要两位地址码 \(S_1S_0\) 来区分 00、01、10、11 四条通道。地址码本身就是一组二进制数,直接决定“让哪条传送带通行”。

4 选 1 MUX 的真值表可以浓缩成一个表达式:每个数据端 \(D_i\) 都配一个“最小项” \(m_i\)。所谓最小项,就是让地址码恰好等于编号 \(i\) 的那组条件。比如编号 2 的最小项是 \(S_1\overline{S_0}\),只有当地址为 10 时才等于 1。所有数据端与各自最小项相与后,再全部相或,就得到输出。

这种“每个输入配一个选通条件”的结构非常通用。把 4 个数据端扩展到 8 个、16 个,只需增加地址位和相应的与门、或门,核心逻辑完全不变。就像分拣中心不断扩建传送带,但“看码放行”的规则始终如一。

这样,MUX 就把“多个数据源竞争一条输出通道”的问题,化解为“地址码驱动的一组与或门”。它像一名高效的分拣员,面对四条传送带只开放一个闸口,其余全部关闭,确保主传送带上的包裹节奏不乱。

Y=∑i=03Di⋅mi\displaystyle Y = \sum_{i=0}^{3} D_i \cdot m_i
输出等于所有“数据端 × 该地址最小项”的或和;地址唯一决定哪一个数据端被接通。
  1. 数据端 \(D_i\)四路输入信号的统称,下标 \(i\) 对应地址编号。
    Di\displaystyle D_i
  2. 最小项 \(m_i\)由地址变量组成、仅在地址等于 \(i\) 时为 1 的乘积项。
    mi\displaystyle m_i
  3. 求和符号 \(\sum\)表示对 0 到 3 号数据端各自形成的与项执行或运算。
    Y=∑i=03Di⋅mi\displaystyle Y = \sum_{i=0}^{3} D_i \cdot m_i

函数发生器

分拣中心还有一个隐藏技能:如果提前把每个目的地应该收到的“包裹内容”写进一张表,那么只要输入目的地代码,就能立刻从表中取出对应的内容。MUX 的地址端和输出端恰好能实现这种“查表”操作——所以它常被用来实现逻辑函数。

具体做法是:对于一个有 \(n\) 个自变量的逻辑函数 \(F\),用一个 \(2^n\) 选 1 的 MUX,把 \(n\) 个自变量接到地址端。MUX 有 \(2^n\) 个数据输入端,正好对应真值表的 \(2^n\) 行。把每一行的函数值 \(F(i)\) 接在对应的数据端 \(D_i\) 上,当地址等于 \(i\) 时,输出自然就是 \(F(i)\)。

这就是 FPGA 中查找表(LUT)的基本思想:用“地址查表”代替“逻辑化简”。甚至当自变量比地址端多一个时,可以把多出的变量或其反相信号接到部分数据端上,让 MUX 表达更复杂的函数。

MUX 因此成为数字世界里的“万能查表器”:与其费力化简门电路,不如直接把真值表交给 MUX。就像分拣中心不需要记住每件包裹的来龙去脉,只要有一张地址表,就能准确地把正确内容送到输出端。

F(X)=∑i=02n−1F(i)⋅mi(X)\displaystyle F(X) = \sum_{i=0}^{2^n - 1} F(i) \cdot m_i(X)
任意 \(n\) 变量逻辑函数都能用 \(2^n\) 选 1 的 MUX 实现:数据端接函数真值,地址端接自变量。
  1. 函数值 \(F(i)\)真值表中第 \(i\) 行对应的输出值,作为数据端 \(D_i\) 的输入。
    F(i)\displaystyle F(i)
  2. 最小项 \(m_i(X)\)当前自变量组合 \(X\) 恰好等于编号 \(i\) 时,该最小项为 1。
    mi(X)\displaystyle m_i(X)
  3. 求和展开只有与当前地址匹配的那一项被选中,输出自然等于该行的函数值。
    ∑i=02n−1F(i)⋅mi(X)\displaystyle \sum_{i=0}^{2^n - 1} F(i) \cdot m_i(X)

分配器DEMUX

发货区的场景与进货区完全相反:一条主传送带送来包裹,分拣员根据目的地代码把它推进四座城市的滑槽之一。多路分配器(DEMUX)就是这样的“出站闸”:一路输入数据 \(D\),多路输出,地址码决定这路数据最终出现在哪一路输出上。

DEMUX 的输出逻辑同样可以用最小项描述:第 \(i\) 路输出 \(Y_i\) 等于输入数据 \(D\) 与地址最小项 \(m_i\) 相与。因为地址码只有一种组合,所以只有一个最小项为 1,其余输出端都被强制为 0。这保证了“一路数据只进一个滑槽,不会同时出现在多个滑槽里”。

如果给 DEMUX 加上使能端(使能信号有效时才工作),它就变成一个带“总闸”的分发器:总闸关闭时,所有输出保持 0;总闸打开时,数据按地址分发。这个结构与二进制译码器非常接近,只需在译码器每个输出端加一个与门。

DEMUX 就像分拣中心的“反向闸门”,与 MUX 是一对镜像。它最常见的用途是把一条高速数据流拆分成多路低速数据流,或者把共享通道上的数据定时分发到不同设备——这为后来的总线时分复用铺平了道路。

Yi=D⋅mi\displaystyle Y_i = D \cdot m_i
DEMUX 第 \(i\) 路输出等于输入数据与地址最小项的与,因此只有被地址选中的那一路才能得到输入数据。
  1. 输入数据 \(D\)需要被分发到某个输出通道的信号本身。
    D\displaystyle D
  2. 地址最小项 \(m_i\)当地址等于 \(i\) 时唯一为 1 的选通条件。
    mi\displaystyle m_i
  3. 输出表达式与门把数据和选通条件相乘,达到“只有选中的通道有数据”的效果。
    Yi=D⋅mi\displaystyle Y_i = D \cdot m_i

总线与复用

分拣中心不可能给每座城市独立修一条直达主传送带的通道,那样成本太高。更聪明的做法是:所有城市的包裹共用同一条主传送带,但轮流占用不同时间段。每个时间段只运送一个城市的包裹,这就是“时分复用”。在数字电路中,总线就是那条共享主传送带,DEMUX 则负责在接收端把不同时间段的数据分发到对应通道。

发送端先用 MUX 把多路数据按时间依次送上总线,接收端再用 DEMUX 按同样的时间段把数据从总线上取下来。两端必须保持地址同步:发送端在时隙 0 送 \(D_0\),接收端就在时隙 0 打开 0 号输出通道。因此,MUX 和 DEMUX 就像收发双方各持一把相同的“时刻表”。

总线复用的时间结构可以用一个简单公式描述:每一轮完整传送所有 \(N\) 路数据所需的时间,等于 \(N\) 个时隙之和。时隙长度固定,通道数越多,一轮传送的周期就越长。

这样一来,一条总线就能承载多路数据,极大地节省了物理连线。快递分拣中心的主传送带永不空闲,每个包包裹都有自己的“发车时段”,而 MUX 与 DEMUX 正是保证这一套时分默契得以成立的两端闸门。

Tframe=N×Tslot\displaystyle T_{\text{frame}} = N \times T_{\text{slot}}
一帧传送周期等于通道数乘以单个时隙长度;通道越多,完成一轮完整分发需要的时间越长。
  1. 帧周期 \(T_{\text{frame}}\)一轮完整传送完所有 \(N\) 路数据所需的总时间。
    Tframe\displaystyle T_{\text{frame}}
  2. 时隙长度 \(T_{\text{slot}}\)每路数据独立占用总线的时间片。
    Tslot\displaystyle T_{\text{slot}}
  3. 通道数 \(N\)参与时分复用的数据通道数量,等于 MUX/DEMUX 的输入或输出路数。
    N\displaystyle N

对称与级联

如果把 MUX 和 DEMUX 首尾相接——MUX 从多路输入中选出一路,DEMUX 再把这一路分发回多路输出——并且两边使用完全相同的地址码,会得到什么?答案是:最初被选中的那路数据,又会完好无损地出现在对应输出端。就像进站闸从 3 号传送带放行一件包裹,出站闸再按同一个目的地代码把它推回 3 号滑槽,包裹原路复原。

这种对称性来自二者共享同一套地址译码结构。MUX 是“多路到一路”,DEMUX 是“一路到多路”,两者的地址端口可以共用同一组选择信号。在实际设计中,这种互补关系常被用来做数据回环测试:发送端 MUX 选通某路,接收端 DEMUX 同步选择同一路,即可验证整条链路是否通畅。

用公式表达:设地址码为 \(S\),MUX 选中输入 \(D_S\),DEMUX 在相同地址下让输出 \(Z_S\) 等于输入,于是最终得到 \(Z_S = D_S\)。这个简洁的等式,正是“选择”与“分发”互为逆过程的数学写照。

掌握了这种对称性,设计师就可以把 MUX 和 DEMUX 当作一对可互换的“地址控制开关”来复用:同一套地址译码电路,既能做输入选择,也能做输出分发。这也是数字系统中“分而治之”思想的绝佳体现。

ZS=DS\displaystyle Z_{S} = D_{S}
相同地址下,MUX 选中的输入与 DEMUX 对应输出相等,证明二者级联后数据可原样恢复。
  1. 选中输入 \(D_S\)地址码 \(S\) 从多个数据端中选中的那一路输入。
    DS\displaystyle D_{S}
  2. 对应输出 \(Z_S\)DEMUX 在同一地址码下打开的输出通道。
    ZS\displaystyle Z_{S}
  3. 等式含义相同地址让两个装置形成“直通”效果,数据经汇聚再分发后回到原通道。
    ZS=DS\displaystyle Z_{S} = D_{S}

AI 应用场景

CPU寄存器堆的数据读取

阶段:AI芯片/硬件架构设计

解决的问题:CPU 和 AI 加速器需要从几十上百个寄存器中快速选出一个读数送到总线上。若每个寄存器都单独拉一根线到总线,连线将爆炸。用 MUX 按地址选择,只需一组地址线就能在多路寄存器数据中做选择,极大简化了硬件布线。

具体案例:RISC-V 处理器寄存器堆通常有 32 个 32 位寄存器,每个读端口就是一个 32 选 1 的多路选择器,读取地址由指令中的寄存器编号提供。AI 推理芯片中的权重缓存读取也大量依赖这种 MUX 结构。

通信系统中的时分复用解复用

阶段:数据通信与接口协议

解决的问题:多路传感器数据需要共用一条物理链路传输,传统方案每路都拉独立线缆,成本高且干扰大。用 MUX 在发送端按时隙合并数据流,用 DEMUX 在接收端按时隙分发给不同处理单元,实现一条链路传多路数据。

具体案例:在自动驾驶的多传感器采集板上,激光雷达、摄像头、毫米波雷达的数据通过高速串行总线传回计算平台,接收端用 DEMUX 按协议时隙把数据分发到对应的 AI 预处理模块。

FPGA 查找表实现逻辑函数

阶段:AI算法硬件部署

解决的问题:把 AI 模型中的激活函数、比较逻辑等映射到 FPGA 时,直接搭门电路效率低、时序难收敛。用 MUX 构造查找表,把函数真值写入数据端,地址端接输入变量,即可快速实现任意组合逻辑。

具体案例:在 FPGA 上部署二值化神经网络时,用 4 输入 LUT 实现符号函数和阈值比较,每个 LUT 本质上就是一个由 MUX 构成的函数发生器。

Python 演示

python29 行
def mux(data, sel):    """Select one signal from data list by sel index."""    return data[sel]  def demux(data, sel, width):    """Distribute one signal to the sel-th output."""    out = [0] * width    out[sel] = data    return out  def mux_impl_function(truth, sel):    """Use a 4-to-1 MUX to realize 2-variable logic function."""    idx = (sel[0] << 1) | sel[1]    return truth[idx]  if __name__ == "__main__":    inputs = ['D0', 'D1', 'D2', 'D3']    for s in range(4):        print(f"MUX sel={s} -> {mux(inputs, s)}")     for s in range(4):        print(f"DEMUX data='PACKET' sel={s} -> {demux('PACKET', s, 4)}")     xor_truth = [0, 1, 1, 0]    for a, b in [(0, 0), (0, 1), (1, 0), (1, 1)]:        print(f"F({a},{b}) = {bool(mux_impl_function(xor_truth, (a, b)))}")
目的:用 Python 列表索引模拟 MUX 的数据选择,用结果列表模拟 DEMUX 的数据分发,并用一个 4 选 1 MUX 实现 XOR 逻辑函数。
  1. def mux(data, sel):定义多路选择器函数,sel 就是地址码。
  2. return data[sel]地址码直接作为列表下标,选出对应输入。
  3. def demux(data, sel, width):定义多路分配器函数,width 是输出通道数。
  4. out = [0] * width先把所有输出通道置 0,模拟只有一路输出有效的特性。
  5. out[sel] = data只把地址指定的那一路输出赋值为输入数据。
  6. idx = (sel[0] << 1) | sel[1]把两位地址拼成 0~3 的索引,对应最小项编号。
  7. return truth[idx]从真值表中直接读出函数值,即 MUX 查表思想。

常见误区

误区我以为 MUX 是把多条输入线都连接到输出端,这样一次可以同时传送多路数据,就像把好几条传送带同时接到主传送带上。

正解MUX 的核心是“多路进,一路出”,同一时刻只有地址码选中的那一路输入能到达输出。即使数据端接了很多路信号,输出端也只有一个物理端口,其他输入都被高阻或逻辑门隔离。快递分拣中心不可能同时放行两条传送带到同一条出货口,那样包裹会挤在一起。

为何常见:因为“多路选择器”这个名字里的“多路”容易让人误解为“多路输出”,忽视了“选择”的本质。

误区我觉得既然是“选择”,那输出应该就是地址码本身,比如地址是 3,输出就直接显示数字 3。

正解地址码只是“门牌号”,它决定打开哪条数据通道,但输出的是该通道上的数据,而不是地址本身。就像分拣员看到标签写“上海”,他放行的是上海传送带上的包裹,而不是把“上海”两个字当成包裹送出去。

为何常见:初学时容易混淆“控制信号”和“数据信号”,没有意识到地址线是控制输入,数据线才是被传送的内容。

误区我认为 DEMUX 应该像路由器一样,能把一份数据同时广播给所有输出通道,所有城市都能收到同一件包裹。

正解DEMUX 是“一路进,多路出”,但在同一时刻,只有地址选中的那一路输出等于输入数据,其余输出都保持 0(或高阻)。它做的是定向分发,不是广播。广播需要额外的复制逻辑,和 DEMUX 的“按地址投递”是两回事。

为何常见:DEMUX 与“分线器”“路由器”在生活中有相似之处,容易让人误以为它能同时给多个目的地送数据。

误区我看到很多电路图里有触发器,就以为所有数字电路都需要时钟,MUX 和 DEMUX 也应该有时钟输入。

正解MUX 和 DEMUX 是组合逻辑电路,输出只由当前输入直接决定,不需要时钟来“记住”状态。它们内部只有与门、或门、非门等门电路,没有触发器。分拣员看一眼标签就能立刻放行,不需要等某个固定节拍。

为何常见:因为现代数字系统大量使用时序逻辑,初学者容易把所有电路都归为“需要时钟”,忽略了组合逻辑这一大类。

面试题

Q1. 一个4选1多路选择器需要几个地址输入?

单选题 · easy

  • A.1个
  • B.2个← 正确答案
  • C.4个
  • D.8个

答案:B。\(N=2^k\),4 路数据需要 2 位地址才能唯一编码。1 位地址最多区分 2 路,4 位地址则远超需求,因此正确选项是 2 个。

Q2. 下列关于多路选择器输出特性的说法,正确的是?

单选题 · easy

  • A.可选择多路输入同时输出
  • B.输出是全部输入之和
  • C.只能输出一路选定数据← 正确答案
  • D.地址直接决定输出数值

答案:C。MUX 是“多路进一路出”,同一时刻只有地址选中的一路数据到达输出。地址码只决定选哪一路,不会修改数据值本身,因此 C 正确。

Q3. 用8选1MUX实现三变量逻辑函数时,真值表的8个函数值应接到哪里?

单选题 · mid

  • A.三个地址输入端
  • B.八个数据输入端← 正确答案
  • C.输出端
  • D.使能端

答案:B。\(2^3=8\),三变量函数有 8 个最小项,对应 8 个数据输入端。把函数值接到数据端,地址端接变量,即可用查表方式实现函数。

Q4. 关于多路分配器(DEMUX),下列说法正确的是?

多选题 · mid

  • A.可将一路数据分发到多路← 正确答案
  • B.同一时刻可有多个输出有效
  • C.由地址决定哪一路输出← 正确答案
  • D.可视为译码器加输出门控← 正确答案

答案:ACD。DEMUX 按地址把一路数据送到唯一输出通道,同一时刻只有一路有效。它本质上是译码器,再用与门对数据做门控,所以 A、C、D 正确,B 错误。

Q5. 用8选1MUX实现四变量逻辑函数时,正确的做法是?

单选题 · hard

  • A.低三位接变量,数据端接剩余变量或其反相← 正确答案
  • B.将全部四个变量接地址端并逐位译码
  • C.八个数据端全部接常量0或1即可
  • D.将八个数据端并联后接同一个变量

答案:A。8 选 1 MUX 只有 3 位地址,直连最多实现 3 变量函数。实现 4 变量函数时,可将 3 位地址接低 3 个变量,剩余变量或其反相信号按规律分时接入数据端,相当于把 4 变量函数折叠成 8 个子函数。

Q6. 关于MUX与DEMUX的对称性,正确的是?

多选题 · mid

  • A.级联相同地址可恢复数据← 正确答案
  • B.二者数据流向相反← 正确答案
  • C.二者都需要地址译码← 正确答案
  • D.二者只能用于模拟信号

答案:ABC。MUX 是多路到一路,DEMUX 是一路到多路,数据流向相反;二者都靠地址译码决定路径;相同地址下 MUX 接 DEMUX 可还原原数据。它们处理的是数字信号,D 错误。

Q7. 在总线时分复用中,接收端DEMUX的主要作用是什么?

单选题 · mid

  • A.将并行数据转成串行数据
  • B.将共享总线数据按时隙分发到目标通道← 正确答案
  • C.放大总线上的信号强度
  • D.对总线上的数据做加密

答案:B。发送端用 MUX 把多路数据依次送上总线,接收端用 DEMUX 按相同时间片把数据取下来分发到不同通道。B 准确描述了这一角色。

Q8. 用三个2选1MUX可以构成下列哪种器件?

单选题 · hard

  • A.三选一多路选择器
  • B.四选一多路选择器← 正确答案
  • C.八选一多路选择器
  • D.十六选一多路选择器

答案:B。两个 2 选 1 MUX 先用低位地址分别选择两组输入,再用第三个 2 选 1 MUX 按高位地址从两个中间结果中选出最终输出,正好构成 4 选 1 MUX。

Q9. 下列哪些属于组合逻辑电路的特点?

多选题 · easy

  • A.输出仅由当前输入决定← 正确答案
  • B.需要时钟信号
  • C.无存储记忆功能← 正确答案
  • D.必然存在反馈回路

答案:AC。组合逻辑输出只依赖当前输入,没有存储单元,也不需要时钟。反馈回路通常出现在时序逻辑中,不是组合逻辑的必要特征。

Q10. 用 \(2^n\) 选1MUX实现一个 \(n+1\) 变量函数时,数据输入端应接什么?

单选题 · extreme

  • A.接剩余变量或其反相信号← 正确答案
  • B.接地址位的同相复制信号
  • C.全部接固定高电平状态
  • D.全部接固定低电平状态

答案:A。MUX 的地址端只能接 \(n\) 个变量,剩下的第 \(n+1\) 个变量需要“折叠”进数据端。通过把该变量或其反相接入不同数据端,可以覆盖原本需要 \(2^{n+1}\) 行的真值表,这正是 MUX 实现高维函数的常用技巧。