逻辑运算基础
从两个开关出发,搞懂与/或/非门如何构成CPU的判断基石
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
逻辑运算基础
从两个开关出发,搞懂与/或/非门如何构成CPU的判断基石
什么是逻辑变量
判断题只有对或错,温度开关只有触发或未触发——现实中很多现象天然就是二值的。逻辑变量就是用来描述这种「非此即彼」状态的最小单位。
扳到上=1,扳到下=0;只可能停在两个位置,没有中间挡位
基本逻辑运算:与
上页把现实压成 0 和 1,那这两个值之间最自然的运算是?——「与」AND:只有两个都为 1,结果才为 1。
两开关都闭合灯才亮;任一断开灯就灭——开关=输入,灯=输出
基本逻辑运算:或
上一页的“与”像串联开关:两个都通,灯才亮。现实中,声控灯只要任一声响或手动开关一个动作就能亮;这对应“或”。任一输入为 1,输出就是 1。
任一开关闭合电路就通;只有全部断开时才不通。
基本逻辑运算:非
与、或都是看两个信号做判断。但工程里经常只有一个信号,还希望结果完全相反——反相器(NOT)正是为这个场景而生。
「不」否定一次,「不不」又肯定回来——两次取反 = 原值
与非、或非、与或非
与非、或非是基本运算的简单复合;与或非则在单级门延迟内实现更复杂的逻辑判断。
基本定律:0-1定律与同一定律
上一页认识了与、或、非三种运算。本页看更基础的问题:变量与常量(0、1)放一起结果会怎样?变量与自己运算又会怎样?这两类规则合称0-1定律与同一律。
永久否决者是AND的吸收元(拖累到0),永久赞成者是OR的吸收元(拉到1);同一立场重复表态,结论不变
交换律、结合律、分配律
0-1定律处理变量与常量的关系,但实际电路往往是多个变量复合。靠什么化简(A∧B)∨(A∧C)这种表达式?这就轮到代数里的三条老熟人:交换律、结合律、分配律。
代数分配律只单向;逻辑里∧和∨像镜像,所以分配律双向都成立
德·摩根定律
与非和或非形式不同,但摩根定律揭示它们可以互相转换——否定穿括号时,与和或会互换。
- 原式:¬(A∧B),整体与运算后取非
- 展开:¬A ∨ ¬B,运算翻转为或
- 规则:∧→∨,非号分配进各项
- 对偶:与门取非 = 或非形式
- 原式:¬(A∨B),整体或运算后取非
- 展开:¬A ∧ ¬B,运算翻转为与
- 规则:∨→∧,非号分配进各项
- 对偶:或门取非 = 与非形式
吸收定律
前两节我们学了分配律和德·摩根定律,今天把它们再组合一下,推出三条化简时最常打交道的式子——吸收定律。核心就一句话:A 一旦出现,多余的项就被它「吞掉」了。
年卡(A)已覆盖所有权益,再加「年卡+季卡」套餐(AB)等价于年卡本身(A)
常用恒等式汇总
16个核心恒等式的速查表与推导
逻辑函数的定义
前面我们已经认识了基本运算和大量公式,但要回答「一个复杂判断到底由什么决定」这件事,还必须把单个运算上升为一个整体——这就是逻辑函数。
投入硬币+按键(输入)→吐出某瓶饮料(输出),组合确定,结果唯一
真值表构建方法
沿流程图从左到右读:六个构建步骤依次推进,最后回代验证保证一致性。
与或表达式
乘积项之和的标准形式
与非式与或非式
上页学了德·摩根定律——能把非号从外面推到里面。这一页再推一步:能不能把整个表达式里的与、或、非全部去掉,只剩一种运算?
一种积木靠拼接能拼出万物;一种门靠组合能实现全部逻辑
最小项与最大项
我们已经能用与、或、非组合出任意表达式,但要分析、比较、化简函数,还需要一种『规范』写法——每一项都把全部变量召集齐全。这就是最小项和最大项出场的原因。
最小项=全票通过(所有变量各取定值,整体才为 1);最大项=一票否决(任一变量不对,整体就为 0)
卡诺图作为表示工具
前面学的真值表是「一行一个输入组合」的一维清单。变量一多到4、5个,这张表就拉得老长,肉眼根本找不出规律。卡诺图把同样多的格子盘成二维网格——它的编码规则正是为了解决这个痛点。
地图把相邻地块排在一起便于查找邻居;卡诺图用格雷码让「只差一个变量」的输入组合排成物理邻居
化简的必要性
你已经会用卡诺图把一个函数「画」出来了。但同一个函数能写成很多等价形式——有的烧一摞门,有的只接一根线。这就是为什么要化简。
同一份外卖,路线越短越省时间省体力;表达式门越少越便宜越快
最简式的标准
我们已经知道为什么要化简,但"最简"二字本身需要一把精确的尺子。同一个函数可以写出十几种等价形式,光凭"看着短"来判断是不够的。下面就给出这把尺子的刻度。
清单行数少(项数少)+ 每行列出商品种类少(每项变量少);同时满足才算"合并到底"
代数法化简思路
前面我们定义了'最简'的标准,现在反过来问:怎么把一个复杂表达式一步步压到那个标准?答案就藏在前面那堆定律里。
每步套用固定手法(定律),无最短公式,靠手感练出路径
卡诺图的结构原理
从二进制跳变不均出发,看Gray编码如何保证相邻格只差1位
2变量卡诺图化简
从画图到写最简式,分五步走完完整流程。
3变量卡诺图化简
三变量卡诺图比两变量多了行维,相邻关系出现首尾相接。
4变量卡诺图化简
4变量卡诺图把矩阵从8格扩到16格,相邻规则进化:边界上下、左右、四角全部互通,最大圈可包8格、消3变量。
圈组原则与技巧
上页4变量卡诺图你已经能圈完所有1了,但圈法不同,最终式子可能差好几项。这页把圈组的'硬规矩'和'心法'讲透。
能炖一锅就别分两锅,省火省时;但锅有固定大小(2/4/8格),不相邻的菜不能硬凑
卡诺图化简步骤总结
前面我们分别做过2、3、4变量卡诺图的化简,现在把它们抽象成一套通用流程——三步走:填图、圈组、写式,再加最后一步合并。
填图=标出所有目的地;圈组=划出覆盖全部点的最大区;写项=描述区的不变特征;相加=把描述合并
卡诺图化简自测
在卡诺图化简中,下列哪种圈组方式是错误的?
五变量及以上卡诺图
4变量卡诺图我们熟了,可变量超过4个,32格挤在一张平面上圈组边界就开始模糊。工程师的解法不是升维,而是降维:把高维变量'剥'出去,一张大图变两张小图的嵌套。
上下两图位置对应的房间,其实是一套跨层的复式
约束条件处理
处理 don't care 项的核心是「灵活取舍」——它既不是 0 也不是 1,而是我们可以根据化简需要临时定义的值。
多输出函数卡诺图
流程从多输出函数开始:共用输入→各自画卡诺图→跨图找公共圈组→决定是否用整体最优取代单图最简。
逻辑运算基础总结
- ✓三种基本运算对逻辑运算构成完备集
- ✓代数化简凭定律识别,卡诺图化简凭几何相邻
- ✓德·摩根定律是连接与/或两种形式的桥梁
- ✓最简式须权衡门数、扇入与延迟等工程约束
- ✓变量增多与约束出现时,需切换到QM法或启发式策略
课后思考
先独自思考再看参考答案——三道题分别指向核心、应用与边界。
参考答案因为真值表的每一行都能用最小项(与项)写出,再用或运算合并。三种运算构成"功能完备集",能拼出任意真值表。
参考答案可以。NAND 是"通用门":两输入短接即非门,再用非门与 NAND 组合可拼出与门、或门(背后即德·摩根定律)。前提是允许信号复用。
参考答案卡诺图依赖"相邻单元只差一个变量"的二维平面邻接结构,变量超过 4 个时平面无法保持这种邻接关系。替代方法:Q-M 列表化简法、Espresso 算法。