type
status
date
slug
summary
tags
category
icon
password
逻辑代数
逻辑符号
运算律
分配律
(“奇怪”的分配律)
吸收律
原变量的吸收:
反变量的吸收:
复合变量的吸收
定理
代入定理
在含A的逻辑等式中用一个逻辑表达式代替A,等式仍然成立
对偶定理
对偶式: 对任意一个逻辑式Y,将其中的·+互换,01互换,就得到Y的对偶式
若两逻辑式相等,则他们的对偶式也相等
注意:
- 求对偶式时运算顺序不变,且它只变换运算符和常量,其变量是不变的
- 函数式中有“⊕”和“⊙”运算符,求对偶式时,要将运算符“⊕” 换成“⊙”,“⊙”换成“⊕”
反演定理
反函数: 对于任意一个逻辑式Y,若将其中的“·”换成“+”,“+”换成“·”,“1”换成“0”,“0”换成“1”,原变量换成反变量,则得到的结果就是Y的反函数
若两逻辑式相等,则他们的反函数也相等
德·摩根定律其实就是反演定理的体现
注意:
- 保持原函数的运算次序–先与后或,必要时适当地加入括号
- 不属于单个变量上的非号要保留
逻辑函数的标准形式
一个任意的逻辑函数通常有“积之和”和“和之积”两种基本表达形式
且其表达形式并不是唯一的(与或式、或与式等等是可以相互转化的)
名称 | 例子 |
和之积: | |
积之和: |
一个逻辑函数的标准形式(最小项表达式或最大项表达式)却是唯一的,真值
表也是唯一的
最小项及“与或”标准形式
最小项:在一个具有n个变量的逻辑函数中,如果一个与项包含了所有n个的变量,而且每个变量都是以原变量或反变量的形式作为因子仅出现一次,那么这样的与项就称为该逻辑函数的一个最小项。
例如,在三变量的逻辑函数F(A,B,C)中,它们组成的八个乘积项,即:
都符合最小项的定义。因此我们把这八个与项称为三变量逻辑函数F(A,B,C)的最
小项
- 为了表达方便,通常用表示最小项,其下标i为最小项的编号
- 编号方法:最小项中的原变量取1,反变量取0,则最小项取值为一组二进制数,其对应的十进制数便为该最小项的编号
- 例如:三变量最小项ABC对应的变量取值为100,它对应的十进制数为4,因此,最小项ABC 的编号为m4。其余最小项的编号以此类推
- 另外,最小项编号的取值范围为[0,2n)
最小项性质
- 对于任意一个最小项,有且仅有一组变量取值使其值为1,而其余各种变量取值均使它的值为0
- 对于变量的任意一组取值,任意两个不同最小项的乘积均为0
- 对于变量的任意一组取值,全体最小项的和恒为1
由最小项的逻辑或的形式所构成的逻辑函数表达式称之为逻辑函数的最小项之和的标准形式
如:
又记为:
逻辑函数展开为两种标准形式的方法
- 利用公式和
利用吸收率化简可得:
- 利用真值表
结论:
- 利用真值表求最小项之和标准形式的方法:观察真值表,找出函数F为1的各 项,作函数对应这些项的最小项,对于输入变量为1,则取输入变量本身,若 输入变量为0,则取其反变量,再取这些最小项之和,即为所求函数的最小项 之和标准形式
- 利用真值表求最大项之积标准形式的方法:观察真值表,找出函数F为0的各 项,作函数对应这些项的最大项,对于输入变量为0,则取输入变量本身,若 输入变量为1,则取其反变量,再取这些最大项之积,即为所求函数的最大项 之积标准形式
逻辑函数的化简
函数化简的依据和目标
- 逻辑电路所用门的数量最少
- 每个门的输入端个数最少
- 逻辑电路的构成级数少
- 逻辑电路可靠性提高
- 直观理解,更简单就行了呗(
代数化简法
- 并项:利用将两项并为一项,且消去变量和
- 消项:利用消去多余的项
- 消元:利用消去项中多余变量
- 配项:利用(复合变量的吸收)
化简应使逻辑函数式包含的项数以及变量数最少为原则
但对于较为复杂的结果,通常难于判断是否最简
因此还常常用卡诺图来化简逻辑函数
卡诺图(K-map)法
卡洛图画法
- 由于横纵轴上的二进制数要逻辑相邻,所以一个轴上最多只能有2个变量(不信可以试试3变量)
- 小心填图的时候把10和11的真值填反
有时为了方便,用二进制对应的十进制表示单元格的编号
将真值表或卡诺图中为1的项相加,写成“与或式”。但它并非是最简单的形式
卡洛图化简规则
相邻单元的个数是2n个,并组成矩形时,可以合并
- 先找面积尽量大的组合进行化简,可以减少更多的因子
- 各最小项可以重复使用
- 注意利用无关状态,可以使结果大大简化
- 所有的1都被圈过后,化简结束
例: 化简
- 如何最简: 圈的数目越少越简;圈内的最小项越多越简
- 特别注意: 卡诺图中所有的1都必须圈到,不能合并的1必须单独画圈
在有些情况下,最小项的圈法不只一种,得到的各个乘积项组成的与或表达式各不相同,哪个是最简的,要经过比较、检查才能确定
右侧比左侧多一项,更简单
在有些情况下,不同圈法得到的与或表达式都是最简形式。即一个函数的最简与或表达式不是唯一的
例: 将化简为最简与或式
此例说明,为了使化简结果最简,可以重复利用最小项
这题也能用“圈零法”
若卡诺图中1的数目远远大于0的数目,可用圈0的方法
无关项
- 定义:对于变量的某些组合,所对应的函数值是不定的,称其为任意项。通常 任意项在逻辑函数中称为约束项或无关项
- 处理:填函数的卡诺图时,在无关项对应的格内填任意符号“Φ”、“d”或“×”
- 对于具有无关项的逻辑函数,可以利用无关项进行化简。化简时可根据需要, 把无关项视为“1”也可视为“0”,使函数得到最简
组合逻辑电路
基本门电路主要有:
与门、或门、非门、与非门、或非门、异或门
逻辑电平
—— 1
—— 0
表示的是一定的电压范围,不是一个固定值
保持: 电平从0或1到保持段,电平不变
门(电子开关)
当正向导通时,二极管固定分压0.7V (硅二极管正向电压在0.6V ~ 0.7V)
简单看,就是当B处有电压时,开关闭合;否则开关断开。开关处固定分压0.3V (严格说是0.2V ~ 0.4V)
分立元件门电路
二极管
说明: A、B处的电压是输入电压,F处的电压为输出电压
- A、B导线处电压都是0V(低电平)时,二极管导通。由于二极管分压0.7V,所以F处电压为0.7V,为低电平,记为0
- A、B导线处电压有一个是3V(高电平)时,根据优先导通原则,只有0V输入处的二极管导通。剩下的分析和上面一样,F处电压是0.7V,记为0
- A、B导线处电压都是3V(高电平)时,二极管导通。由于二极管分压0.7V,所以F处电压为3.7V,为高电平,记为1
A处电压(V) | B处电压 | A侧二极管导通情况 | B侧二极管导通情况 | F处电压 |
0 | 0 | 开 | 开 | 0.7 |
3 | 0 | 关 | 关 | 0.7 |
0 | 3 | 开 | 关 | 0.7 |
3 | 3 | 开 | 开 | 3.7 |
说明: 由于下侧接地,所以二极管恒导通
- A、B导线处电压都是0V(低电平)时,F处电压为0V,为低电平,记为0
- A、B导线处电压有一个是3V(高电平)时,由于二极管分压0.7V,所以F处电压是2.3V,记为1
- A、B导线处电压都是3V(高电平)时,和上面一样,F处电压为2.3V,记为1
A处电压(V) | B处电压 | F处电压 |
0 | 0 | 0 |
3 | 0 | 2.3 |
0 | 3 | 2.3 |
3 | 3 | 2.3 |
三极管
- A处电平为0时,三极管不导通,所以F处电压就是5V,记为1
- A处电平为1时,三极管导通,因为三极管固定分压0.3V,所以F处分压0.3V,记为0
A处电平 | F处电压(V) |
0 | 5 |
1 | 0.7 |
二极管、三极管组合
分立元件能加得很复杂,甚至有人用三极管焊出了一个cpu😲
还有很多“组合门”,可以下载软件Logisim-evolution,打开下面的文件看看
各种逻辑门符号
三态门
看起来很高级🧐,但其实就是非门和与非门的组合
三态与非门主要应用于总线传送,它既可用于单向数据传送,也可用于双向数据传送
这个图我也没看懂😅
逻辑电路设计方法
已知——设计要求
待求——逻辑电路图
1. 根据设计要求确定真值表
2. 根据真值表卡诺图(表达式)
3. 化简(求出最简化表达式)
4. 按设计要求,变换逻辑表达式
5. 画出逻辑电路
例:各门课程学分分别为:代数5学分,几何4学分,生物2学分,化学1学分。总学分超过6分,可以结业。设计一个判断是否可以结业的电路(用与非门实现)
- 确定变量: 4个输入变量 A:代数是否及格,1-及格,0-不及格 B:几何是否及格 C:生物是否及格 D:化学是否及格 1个输入变量:Y =1可以结业,Y =0不可以结业
- 作真值表
- 写表达式
(转化成与非门的方法)
转换成与非门的原因
1. 基本逻辑门的性质
与非门(NAND 门)是一种功能完整的逻辑门。这意味着通过适当的组合,任何其他逻辑门(如与门、或门、非门等)都可以用与非门实现。这种特性使得与非门可以用来构建任何逻辑电路或逻辑表达式。
2. 逻辑电路的优化和标准化
在某些情况下,电路设计可能会选择使用单一类型的逻辑门来简化设计或降低生产成本。使用与非门作为唯一的逻辑门,可以使电路的设计和制造更加标准化和简化。许多集成电路(IC)中可能会使用与非门来实现所有逻辑功能,从而减少了电路设计的复杂性。
3. 理论研究和教学
在理论计算机科学和数字逻辑设计中,使用与非门实现逻辑表达式可以帮助理解逻辑门的基本特性和逻辑函数的实现。通过练习如何用与非门实现其他逻辑门(如与门、或门、非门),可以深入理解逻辑门的功能和它们之间的关系。这对于教学和学习逻辑电路设计非常重要。
4. 简化逻辑表达式
有时候,将逻辑表达式转换为与非门形式可能会简化实际电路的实现。例如,在某些情况下,使用与非门实现的电路可能具有更小的面积或更低的功耗。这样可以在实际电路设计中实现优化。
- 画电路图
与非门电路(把前面的换成,下图没做这一步;把后面的与门和或门换成与非门)
常用组合逻辑部件
译码器
定义 能将个输入变量变换成个输出函数,且输出函数与输入变量构成的最小项具有一一对应关系的一种多输出组合逻辑电路
- 二进制译码器一般具有个输入端、个输出端和一个 (或多个) 使能输入端;
- 使能输入端为有效电平时,对应每一组输入代码,仅一个输出端为有效电平,其余输出端为无效电平(与有效电平相反)。
- 有效电平可以是高电平 (称为高电平译码),也可以是低电平 (称为低电平译码)。
具体的各种各样的译码器见以下文件
应用
某计算机用地址 A9 ∼ A0 选择外设,设备 A、B、C 的选择地址分别为:
20H ∼ 2FH、40H ∼ 4FH、70H ∼ 7FH,请设计地址译码器
G是使能端,ABC是输入端,Y是输出端
当然,也能反过来考。分析下面电路,写出该译码器选择的地址范围,以及 Y0、Y1、Y2 的地址译码范围
编码器(ENC)
可以看成译码器的反向,没具体讲
数据选择器(MUX)和数据分配器(DEMUX)
- 数据选择器: 从多路输入中选择一路送往输出端
- 数据分配器: 将一路输入信号选择送往多路输出之一
译码器给的文件里也有示例(例如MUX2、DEMUX4)
数值型数据的表示方法
数值型数据的表示
一个数值型数据的完整表示涉及到三个方面的问题
1. 进位计数制
2. 符号数字化(机器码)
3. 小数点位置的处理(定点数和浮点数)
例如,日常书写的:-3.1415926
- 十进制
- 符号写在前面,正数可省略
- 小数点占一个位置,整数可省略
进位计数制的两个核心要素
1. 数制的基数(基数确定了,数码即确定)
2. 各数位的位权
计算机内部 (硬件层面) 均采用二进制数编码。但在编程中经常涉及的进位记数制还 有八进制、十六进制(通常表示地址码)和十进制(通常用来表示数据)。
十进制表示法(BCD 码)
用四位二进制数表示一位十进制数,这种编码又称为二-十进制代码,其中最常用的 是 8421 码(有权编码),常用于会计系统。
- 数码:0,1
- 从低位开始四个一组,每组内位权依次为 8,4,2,1
- 逢十进一,借一当十
例子
1 | 3 | 7 |
0001 | 0011 | 0111 |
各种进制间的转换
十进制到其他进制
- 整数部分:采用除基取余法(先得为低位)
- 小数部分:采用乘基取整法(先得为高位)
例子
- 整数部分 结果: 从下向上 110
- 小数部分 结果: 从上向下 1001
- 最终结果
其他进制到十进制
采用按权相加法(展开成多项式)
什么区别?
整数部分:
除基取余法和按权相加本质一样
- 十进制按权相加转二进制:
- 二进制除基取余转十进制: 结果:
小数部分:
不同进制之间存在小数表示能力的问题,但有理数仍然是有理数
八进制和十六进制 转 二进制
- 八进制 ↔ 二进制
3位二进制 对应 1位8进制
- 十六进制 ↔ 二进制
4位二进制 对应 1位16进制
不同进制常见的一些写法
二进制:0b111,111b
八进制:0o111, 111o
十进制:111D
十六进制:0xFFF,FFFh
无符号数和有符号数
无符号数
寄存器的位数反映了无符号数的表示范围:
8 位:
16 位:
有符号数
原码表示法
- 整数
例子
另一种描述:[x]原 = 符号位 + 绝对值
- 小数
例子
另一种描述:[x]原 = 符号位 + 绝对值
例题
已知 ,求 x
由定义得
注意格式,要有 “由定义得” 这四个字
已知 ,求 x
由定义得
已知 ,求 x
由定义得:
求 x = 0 的原码
原码的性质
- 零有两种表示形式
- 原码在运算过程中,符号位需单独处理
原码加法举例:
- 优点:数的真值和它的原码之间对应关系简单,相互转换容易
缺点:用原码实现加减运算很不方便
补码表示法
- 补数 1. 一个负数加上“模”即得该负数的补数 2. 一个正数和负数互为补数时,它们的绝对值之和即为模数 3. 举例:
- 补码定义 1. 整数:
- 小数
- 求负数补码的快捷方式
原码符号位保持不变数值位每位取反,末位加 1 (过程可逆)
练习
求下列真值的补码和原码
真值 | 补码 | 原码 |
+70 | 0, 1000110 | 0, 1000110 |
-70 | 1, 0111010 | 1, 1000110 |
0.1110 | 0.1110 | 0.1110 |
-0.1110 | 1.0010 | 1.1110 |
0.0000 | 0.0000 | 0.0000 |
-0.0000 | 0.0000 | 1.0000 |
−1.0000 | 1.0000 | 不能表示 |
- 性质
- 在补码表示中,0 有唯一的编码
- 补码在运算过程中,符号位和数值位可同等处理,即二者一起参加运算
- 补码在负数方向上比原码稍宽(多表示一个数) 对于定点小数,可表示 −1;对于定点整数,可表示
- 补码特点:补码适合于进行加减运算
反码表示法
整数
小数
小结
移码表示法
- 当 n = 5 时,最小的真值为
可见,最小真值的移码为全 0
- 用移码表示浮点数的阶码能方便地判断浮点数的阶码大小
有关计组上的问题,欢迎您在底部评论区留言,一起交流~
- Author:zmy10032
- URL:zmy10032.top/article/principles-of-computer-organization
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!