第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(现场可编程门阵列)

由四部分组成:

  1. 可编程逻辑宏单元(CLB):中心阵列
  2. 可编程输入输出宏单元(IOB):四周
  3. 互连资源:开关矩阵、长线、总线
  4. 重构逻辑的程序存储器:用户可多次编程修改

考试重点

★★☆ 第二梯队

考点 典型题型
三态电路的工作原理和应用 简答 + 分析
加法器(半加/全加/超前进位) 逻辑表达式推导 + 计算
触发器类型对比(电位/边沿/主从) 对比简答
阵列逻辑电路(ROM/PLA/PAL/GAL/FPGA对比) 对比表

★☆☆ 第三梯队

考点 典型题型
译码器和数据选择器的功能 简答
寄存器和移位寄存器 简答
计数器工作原理 简答