(零)前置知识--数字电路[计组]
前置知识–数字电路[计组]
一.晶体三极管与数字电路
物体按导电性可以分为:
-
绝缘体:不导电 (塑料, 橡胶 , 陶瓷)
-
导体: 双向导电(金银铜铁等)
-
半导体:单项导电(硅锗等)
导电性介于绝缘体和导体之间, 加热单向导电,冷却绝缘
三极管: 集电极,发射极,基极 (相当于一个电子开关)
实现逻辑取反的功能
- 输入1 => 0
- 输入0 => 1
如果我们把两个晶体三极管并联在一起:
1.两种基础的门电路:
- 与非门
- 或非门
(1)与非门
输入输出
A | B | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
总结:
- 两路输入都高, 才为低
两个三极管都导通 , 输出低电平
(2)或非门
输入输出
A | B | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
总结:
- 任何一路输入为高, 输出都为低
两个三极管都导通 , 输出低电平
在此基础上可以制作 与门, 或门 电路
2.三态门电路
- 是具有三种逻辑状态的门电路, 是构成计算机总线的理想电路
输出状态取决于输入信号与控制信号
三态
- 低电平(0)
- 高电平(1)
- 高阻态(截止)
输出高阻态:
- 输入与输出信号直接处于截止状态, 电路与所连接的线路断开
输入输出
G | D | 输出: Q |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 任意 | 高阻 |
通过三态门我们可以改变信号传输的方向
二.逻辑运算与数字电路
1.电路中的信号
-
模拟信号 :随着时间连续变化的信号
-
数字信号: 时间和幅度都是离散的
2.基础逻辑运算⭐
逻辑表达式 | 运算逻辑符号 | 逻辑真值表 | |
---|---|---|---|
与 | |||
或 | Y=A+B | ||
非 | |||
与非 | |||
或非 | |||
与或非 | |||
同或 | |||
异或 |
3.基础门电路⭐
注意电路中的"小圆圈" , 表示的是取非的意思
异或: 相异为一 ,相同为零
同或: 相异为零 ,相同为一
4.异或电路的特殊功能举例
(1)控制输入输出信号之间的关系
记为 F=A^c
- 设置控制信号
C=0
此时,输出信号等于输入信号F=A
A=1 F=1A=0 F=0
- 设置控制信号
C=1
此时,输出信号等于输入信号取反F=A
A=1 F=0A=0 F=1
输入 | 输出 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
借助异或的特性,我们也可以用来实现加法
再次不做赘述
代码如下
1 | class Solution { |
(2)奇偶校验电路
-
奇数个1 相异的结果为1 ,偶数个1相异的结果为0
因为 1 只有^ 1才为0
5.复合逻辑功能
所有的逻辑表达式都可以用电路画出来
- 基础逻辑运算与 基础门电路 一一对应
三.数字电路的设计思想⭐
1.概述
- 设计思想:给出数字电路输入与输出之间的关系
与软件的设计思想相同
数字电路设计步骤
- 逻辑功能描述 => 真值表 => 逻辑表达式 => (公式,化简 => 最简单逻辑表达式 =>) 数字电路图
反之, 通过数字电路分析实现其功能的逻辑功能
不看电路图, 用手盖住图, 只看输入输出 , 信号逻辑功能表
2.举例
数字电路要解决的问题一般为逻辑问题 , 每一个输入或输出信号用 1 和 0 分别表示两种不同的状态
例一
化简逻辑运算表达式
例二
四.常见的数字电路
- 计算机组成原理需要用到的
计算机常用逻辑电路分为两大类
1.组合逻辑电路
没有记忆功能
组合逻辑电路的输出状态只取决于当前输入信号的状态,与过去输入信号的状态无关,即电路没有记忆功能。
- 例如︰加法器、ALU、编码器、译码器、数据选择器等电路。
2.时序逻辑电路
时序逻辑电路的输出状态不仅和当时输入信号的状态有关,还与过去输入信号的状态有关,即电路具有记忆功能。
- 例如∶最基本的记忆电路是触发器。
- 由基本的触发器可以构成寄存器,计数器等电路。
3.组合逻辑电路:加法器
加法器是计算机中最常用、最基本的组合逻辑电路。
功能:主要完成两个数值的补码加法运算。
-
减法∶计算机中没有专门用于减法的电路,因为补码减法可使用加法器实现。
-
例如∶A减B等于A加B的补
-
-
乘除法∶可以利用加法器,通过多次循环迭代完成,或使用专门的乘除法电路实现。
半加器
- 输入两个二进制数XnYn,相加,输出和Hn,不考虑进位。
一位全加器
- 三输入, 两输出
n位全加器
n位加法器∶将n个一位全加器相连,完成对多位数的相加运算。
一位加法器之间的进位信号是串行传送的,被称为串行进位。本位全加和F;必须等低位进位C;.1输入后才能输出;
当加法器的位数较多时,会使加法运算的速度大大降低。
超前进位加法器(当前计算机使用的)
- 并行加法器
从加快进位信号的传送速度考虑,可以实现多位并行进位。采用“超前进位电路”来同时形成各进位,从而实现快速加法。
同时输入X1~X4,Y1~Y4和C0,几乎同时输出C4和F1~F4
4.组合逻辑电路: 算术逻辑单元
算术逻辑单元(简称ALU arithmetic and logic unit )
- 同一套电路,既实现算术运算功能又实现逻辑运算功能。对数值数据的算术运算∶加、减、乘、除等对逻辑数据的逻辑运算:与、或、非运算等
- 一种功能较强的组合逻辑电路(由与、或、非等门电路组合实现)
- 其基本逻辑结构是超前进位加法器。
ALU不仅给出算术运算结果,还给出运算结果的特征标志。
- 例如︰算术运算是否产生了向更高位的进位,结果是否为零,结果的符号为正还是为负,结果是否溢出等。
逻辑运算通常只检查结果是否为零,不存在进位和溢出等问题。
四位ALU逻辑电路
- 分析逻辑电路:只看输入输出信号,不看电路图!
电路图:
分析:
-
S0~S3
运算选择控制决定电路执行哪种算术运算或哪种逻辑运算。
-
M: 状态控制
- 1 执行逻辑运算
- 0 执行算术运算
-
两个参加运算的数:
A3A0,B3~B0
Cn : ALU最低进位
分析逻辑电路:看输入输出信号的逻辑功能表!
菜鸡表示什么都看不懂。。。QwQ
5.组合逻辑电路: 编码器
- 将特定含义的输入信号(文字/数字/符号)转换成二进制代码。即∶:实现把2n个输入变量,编码成N个输出信号。
主要功能∶处理输入变量之间的优先级关系。
(1)普通编码器
- 任何时刻只允许一个输入信号
😈回顾数字电路设计步骤
- 逻辑功能描述 => 真值表 => 逻辑表达式 => (公式,化简 => 最简单逻辑表达式 =>) 数字电路图
6.组合逻辑电路: 译码器
实现对n个输入变量,给出2n个(或少于2n个)输出信号的功能,每个输出信号对应n个输入变量的一个最小项。
是否需要译码,通常可以用一或几个控制信号E加以控制。
主要用途︰区分N个输入变量的组合状态。从多个互斥信号中选择其一。
显像管亮=1,不亮=0
显示译码器
3-8译码器:3输入8输出
7.组合逻辑电路:数据选择器
数据选择器又称多路开关(多个输入,一个输出)
- 功能:在选择信号的作用下,从多个输入信号中选择一个输出。
- 例如:从多个寄存器中取出某一个寄存器的内容送ALU。
分析电路:不看电路图,看输入输出信号的逻辑功能表。