第2章 计算机的逻辑部件
计算机的逻辑部件由组合逻辑电路和时序逻辑电路构成,是CPU、存储器等核心功能部件的基础硬件单元。
2.1 计算机中常用的组合逻辑电路
组合逻辑电路的输出状态仅和当时的输入状态有关,与过去的输入状态无关。
2.1.1 三态电路
三态电路是一种重要的总线接口电路,广泛用于数字系统中的数据传送。
三态:正常 0态、正常 1态、高阻态 Z。前两种输出阻抗很低,高阻态输出呈高阻,电路形式上与总线相连但实际"脱开"。
多路三态门的输出可以连在一起驱动总线,但同一时刻只允许一个处于正常态,其余应为高阻态。
三态反相门(控制端G):
- G=0:输出 Y = A(正常态)
- G=1:输出 Y = Z(高阻态)
为可靠起见,三态电路由正常态→高阻态的转变速度快于高阻态→正常态的转变,避免总线冲突。
2.1.2 异或门及其应用
异或门功能:输入不同时输出1,相同时输出0。
常用应用:
- 原码/反码输出电路:控制端=1输出反码,=0输出原码
- 半加器:两数码异或即得半加和
- 数码比较器:A⊕B,相等输出0,不等输出1
- 奇偶检测电路:8位奇偶检测,奇数个1输出1,偶数个1输出0
2.1.3 加法器
半加器:不考虑进位输入,和 H_i = X_i ⊕ Y_i
全加器:X_i、Y_i及进位输入C_{i-1}相加:
- 和:F_i = X_i ⊕ Y_i ⊕ C_{i-1}
- 进位输出:C_i = X_iY_i + (X_i + Y_i)C_{i-1}
串行进位加法器:位间进位串行传送,加法时间与位数有关。
超前进位加法器:通过超前进位产生电路同时形成各位进位,实现快速加法。
定义进位传递函数 P_i 和进位产生函数 G_i:
- P_i = X_i + Y_i(有一位为1时,低位进位可越过本位向高位传递)
- G_i = X_i · Y_i(均为1时,定会产生进位)
进位公式:
C_i = G_i + P_i·C_{i-1}
4位超前进位:
C_1 = G_0 + P_0·C_0
C_2 = G_1 + P_1·G_0 + P_1·P_0·C_0
C_3 = G_2 + P_2·G_1 + P_2·P_1·G_0 + P_2·P_1·P_0·C_0
C_4 = G_3 + P_3·G_2 + P_3·P_2·G_1 + P_3·P_2·P_1·G_0 + P_3·P_2·P_1·P_0·C_0
组间超前进位:4位为一组,组进位产生函数 G* 和组进位传递函数 P*,实现16位快速ALU。
2.1.4 译码器
n个输入变量,2^n个输出(或少于2^n)。输入为某一组合时,对应仅一个输出有效。
使能端:当使能端有效时译码器工作,否则所有输出无效。可用使能端扩展输入变量数(如2片3-8译码器扩展为4-16译码器)。
2.1.5 数据选择器
又称多路选择器或多路开关,从多个输入通道中选择一个作为输出。
带三态控制端G,输出表达式: Y = (选择逻辑) · G + G · Z
可用G端扩展通道数(如2个双4选1合成8选1)。
2.2 时序逻辑电路
时序逻辑电路的输出与当前输入及历史状态均有关,必须有记忆元件(触发器)。
2.2.1 触发器
按时钟控制方式分三种:
| 类型 | 特点 | 应用 |
|---|---|---|
| 电位触发器(锁存器) | E=1时D进入基本触发器,E=0时保持 | 暂存器 |
| 边沿触发器(D触发器) | 仅在CP约定跳变时接收数据,抗干扰强 | 寄存器、计数器、移位寄存器 |
| 主-从触发器(J-K触发器) | 主从级联,CP=1时主触发器接收,CP负跳变时从触发器接收,有计数功能 | 计数器 |
2.2.2 寄存器和移位寄存器
- 寄存器:由D触发器和控制门组成,在CP正沿作用下数据进入
- 移位寄存器:增加逻辑电路控制触发器的输入数据,实现移位功能(乘法部分积右移、并行→串行转换等)
2.2.3 计数器
同步计数器:各触发器时钟由同一脉冲提供,同时翻转。
十进制同步计数器功能:
- 预置数:L=1计数,L=0预置数
- 保持:P、T计数允许端控制
- RC标志:计数至最大数9时 RC = Q_D · Q_A
2.3 阵列逻辑电路
阵列逻辑统称可编程逻辑器件(PLD),逻辑元件以阵列形式排列在硅芯片上。
| 器件 | 与阵列 | 或阵列 | 特点 |
|---|---|---|---|
| ROM | 不可编程 | 不可编程 | 全译码地址,存储固定信息 |
| PLA | 可编程 | 可编程 | 乘积项共享,比ROM节省单元 |
| PAL | 可编程 | 不可编程 | 熔丝工艺,可带触发器和反馈 |
| GAL | 可编程 | 输出逻辑宏单元可编程 | 电擦除可重复编程(100次以上) |
| FPGA | — | — | 含CLB、IOB、互连资源,可多次编程修改 |
ROM结构
地址译码器(与阵列)+ 存储单元体(或阵列)。容量以"字线×位线"表示,片选端CS控制工作/禁止。
PLA(可编程逻辑阵列)
与阵列和或阵列均可编程。乘积项(P项)共享,比ROM节省容量。
PAL(可编程阵列逻辑)
与阵列可编程,或阵列固定。输出可反馈到输入端。
GAL(通用阵列逻辑)
在PAL基础上增加输出逻辑宏单元(OLMC),可编程为多种输出方式。电擦除可重复编程,数据保持20年以上。代表型号GAL 16V8:20个引出端,8个固定输入,8个可编程I/O。
FPGA(现场可编程门阵列)
由四部分组成:
- 可编程逻辑宏单元(CLB):中心阵列
- 可编程输入输出宏单元(IOB):四周
- 互连资源:开关矩阵、长线、总线
- 重构逻辑的程序存储器:用户可多次编程修改
考试重点
★★☆ 第二梯队
| 考点 | 典型题型 |
|---|---|
| 三态电路的工作原理和应用 | 简答 + 分析 |
| 加法器(半加/全加/超前进位) | 逻辑表达式推导 + 计算 |
| 触发器类型对比(电位/边沿/主从) | 对比简答 |
| 阵列逻辑电路(ROM/PLA/PAL/GAL/FPGA对比) | 对比表 |
★☆☆ 第三梯队
| 考点 | 典型题型 |
|---|---|
| 译码器和数据选择器的功能 | 简答 |
| 寄存器和移位寄存器 | 简答 |
| 计数器工作原理 | 简答 |