600 likes | 803 Views
第二章 计算机的逻辑部件. 教学内容. 复习布尔代数基础知识、逻辑门、时序逻辑电路 的相关知识 计算机中常用的组合逻辑电路 阵列逻辑电路. 本章重难点. 重点:常用逻辑电路的功能、原理 难点: ALU 原理. 一.基本逻辑运算 1.与:X · Y 2.或:X+Y 3.非:X. 2.1 三种基本逻辑操作及布尔代数的基本公式. 二、基本公式: 变换律 A+B=B+A A*B=B*A 结合律 A+(B+C)=(A+B)+C A*(B*C)=(A*B)*C
E N D
第二章 计算机的逻辑部件 教学内容 • 复习布尔代数基础知识、逻辑门、时序逻辑电路 • 的相关知识 • 计算机中常用的组合逻辑电路 • 阵列逻辑电路 本章重难点 • 重点:常用逻辑电路的功能、原理 • 难点:ALU原理
一.基本逻辑运算 1.与:X·Y 2.或:X+Y 3.非:X 2.1 三种基本逻辑操作及布尔代数的基本公式
二、基本公式: • 变换律 A+B=B+A A*B=B*A • 结合律 A+(B+C)=(A+B)+C A*(B*C)=(A*B)*C • 分配律 A+B*C=(A+B)*(A+C) A*(B+C)=A*B+A*C • 吸收律 A+A*B=A A*(A+B)=A • 第二吸收律 • 反演律 • 包含律 • 重叠律 A+A=A A*A=A • 互补律 • 0-1律 0+A=A 1*A=A 0*A=0 1+A=1
2.2 逻辑函数的化简 • 代数化简法 • 卡诺图化简法 2.3 逻辑门的实现 任何复杂的逻辑运算都可以通过基本逻辑操作“与”、“或”、“非”来实现。实现这三种基本逻辑操作的电路是三种基本门电路:“与”门、“或”门、“非”门(反相门)。
2.4 计算机中常见的组合逻辑电路 两数码为Xn、Yn,半加和为Hn 半加器 Xn Hn Xn Yn Hn 0 0 0 0 1 1 1 0 1 1 1 0 Yn 反相器、或非门 异或门 真值表 (P19) 一、加法器 1.半加器(不考虑进位)
Xn、Yn、Cn-1 Fn-和 Cn-进位 Xn 全加器 Fn Yn Cn-1 Cn 2. 全加器 (1)一位全加器 特点:输入均取反,输出也均为反码
X1 Y1 X2 Y2 X3 Y3 X4 Y4 C0 C1 C3 C4 C2 F1 F2 F3 F4 Xn Yn Cn-1 Cn Fn Xn Yn Cn-1 Cn Fn Xn Yn Cn-1 Cn Fn Xn Yn Cn-1 Cn Fn (2)串行多位加法器 n个全加器相连可得n位加法器,但加法时间较长,因为位间进位是串行传送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。如何提高加法器工作速度呢? 解决办法之一:只有改变进位逐位传送的路径,采用“超前进位产生电路”,来同时产生各位进位,从而实现快速加法,这种加法器称为“超前进位加法器”。
进位传递 Pi 进位产生 Gi (3)超前进位加法器 • 超前进位的主要目标: • 使C1、C2、C3、C4同时产生而不是依次产生。 • 如何使C1、C2、C3、C4同时产生? • 按照C1、C2表达式的含义,可以写出C3、C4表达式:P20
如何将C1改写成“与或非”式? • 采用同样的方法可将C2、C3、C4改写成“与或非”式。(P21)
由上式画出“超前进位产生电路”及“四位超前进位加法器”的逻辑图如下:由上式画出“超前进位产生电路”及“四位超前进位加法器”的逻辑图如下: 只要X1~X4,Y1~Y4和C0同时到来,就可几乎同时形成C1~C4和F1~F4
超前进位加法器的进位产生和进位传递函数具有哪些特点?超前进位加法器的进位产生和进位传递函数具有哪些特点? 经证明有:
二、 ALU部件(Arithmetic and logical unit) ALU是一种功能较强的组合电路。它能实现多种算术运算和逻辑运算。ALU的基本组合逻辑结构是超前进位加法器,通过改变加法器的Gi和Pi来获得多种运算能力。 下面通过介绍国际流行的美国SN74181型四位ALU中规模集成电路来介绍ALU的原理。
2、输入/输出信号 • A0~A3、B0~B3: 参加运算的两个数 • S0~S3 : 选择控制端---选择不同的算术和逻辑运算 • M : 状态控制端,为高电平执行逻辑运算;为低电 平执行算术运算 • Cn :ALU的最低进位位 • F0~F3:ALU的运算结果 • Cn+4 :ALU最高位产生的进位 • G、P :ALU的进位产生与传递
3.功能表-能执行16种算术、16种逻辑运算(P22)。3.功能表-能执行16种算术、16种逻辑运算(P22)。 加:算术加 +:逻辑加(或)
(2)Pi与Gi之间有什么关系? 经证明同样有右边的等式成立 4、ALU功能分析 (1)令ALU的“二与或非门”(1~4)及“三与或非门”(5~8)的输出分别为Pi、Gi. Pi=?Gi=? 因此可以把Gi、Pi看成是以Xi、Yi为输入的进位产生函数的“与”门和进位传递函数的“或”门。
(3)Xi、Yi与 Ai、Bi的对应关系如下: 上式中S3S2S1S0一旦确定,Xi、Yi同Ai、Bi的关系就可确定。 例: S3S2S1S0=HLLH时(1001) 则: 于是以Ai、Bi为输入的结构复杂的ALU可改为以Xi、Yi为输入的结构简单的电路。
下面讨论它的逻辑功能 (1)M=L 1)异或门G21、G23、G25、G27输出为? 2)G13~G16、G19的输出为?
3)G22、G24、G26、G28的输出为? 结论: 也就是说,电路输出F3~F0:是X3~X0及Y3~Y0及低位进位Cn全加和的反码
X0 Y0 X1 Y1 X2 Y2 X3 Y3 四位加法器 0 1 2 3 Cn Cn+4 F0 F1 F2 F3 综上所述,对于正逻辑 M=L时,ALU是以X3~X0、Y3~Y0及Cn为输入,输出接一组反相器的4位快速加法器。
F0 F1 F2 F3 (2)M=H G13~G16输出均为1,位间不发生关系。 F0~F3为: X0 Y0 X1 Y1 X2 Y2 X3 X3 ALU是以Xi、Yi为输入的异或非门。
5.ALU功能表的分析 例1:当M=L、Cn=0、S3S2S1S0=0110时,ALU完成什么功能? 解: ①Pi=? Gi=? ②Xi=? Yi=? ③Fi=? 结论:当M=L、Cn=0、S3S2S1S0=0110时,ALU完成的功能是:F=A减B
例2:当M=L、Cn=1、S3S2S1S0=1001时,ALU完成什么功能?例2:当M=L、Cn=1、S3S2S1S0=1001时,ALU完成什么功能? 解: ①Pi=? Gi=? ②Xi=? Yi=? ③Fi=? 结论:当M=L、Cn=1、S3S2S1S0=1001时,ALU完成的功能是:F=A加B
例3:当M=H、S3S2S1S0=1011时,ALU完成什么功能? 解: ①Xi、Yi与Ai、Bi的关系如何? ②Fi=? 结论:当M=H、S3S2S1S0=1011时,ALU完成的功能是:F=A·B
结论:当M=H、S3S2S1S0=1000时,ALU完成的功能是:F= +B 例4:当M=H、S3S2S1S0=1000时,ALU完成什么功能? 解: ①Xi、Yi与Ai、Bi的关系如何? ②Fi=?
1 0 2 3 Cn Cn Cn+4 Cn Cn+4 Cn Cn+4 Cn Cn+4 6.用4片74181电路可组成16位ALU 片内进位快速,但片间进位是逐片传递的,由此形成F0~F15的时间还是比较长。 若把16位ALU中的每四位作为一组,用位间快速进位的形成方法来实现16位ALU中“组间快速进位”,那么就能得到16位快速ALU。
分析:组内并行、组间并行 设16位加法器,4位一组,分为4组: C16 C12 C8 C4 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 4位 4位 4位 4位 第4组 第3组 第2组 第1组
1)第1组进位逻辑式 组内: C1 = G1 + P1C0 C2 = G2 + P2G1 + P2P1C0 C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0 组间: C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0 组间进位产生函数 GI 组间进位传递函数 PI 所以CI = GI + PIC0
2)第2组进位逻辑式 组内: C5 = G5 + P5CI C6 = G6 + P6G5 + P6P5CI C7 = G7 + P7G6 + P7P6G5 + P7P6P5CI 组间: C8 = G8 + P8G7 + P8P7G6 + P8P7P6G5 + P8P7P6P5CI GⅡ PⅡ 所以CⅡ = GⅡ + PⅡCI
3)第3组进位逻辑式 组内: C9 = G9 + P9CⅡ C10 = G10 + P10G9 + P10P9CⅡ C11 = G11 + P11G10 + P11P10G9 + P11P10P9CⅡ 组间: C12 = G12 + P12G11 + P12P11G10 + P12P11P10G9 + P12P11P10P9CⅡ GⅢ PⅢ 所以CⅢ = GⅢ + PⅢCⅡ
4)第4组进位逻辑式 组内: C13 = G13 + P13CⅢ C14 = G14 + P14G13 + P14P13CⅢ C15 = G15 + P15G14 + P15P14G13 + P15P14P13CⅢ 组间: C16 = G16 + P16G15 + P16P15G14 + P16P15P14G13 + P16P15P14P13CⅢ GⅣ PⅣ 所以CⅣ = GⅣ + PⅣCⅢ
5)各组间进位逻辑 CI = GI + PIC0 CⅡ = GⅡ + PⅡCI CⅢ = GⅢ + PⅢ CⅡ CⅣ = GⅣ + PⅣCⅢ = GⅡ + PⅡGI+ PⅡPIC0 = GⅢ + PⅢ GⅡ + PⅢ PⅡGI+ PⅢ PⅡPIC0 = GⅣ + PⅣ GⅢ + PⅣPⅢ GⅡ + PⅣ PⅢ PⅡGI + PⅣPⅢ PⅡPIC0
6)结构示意 组间进位链 CⅢCⅡ CI CⅢCⅡ CI GⅣ PⅣ GⅢ PⅢ GⅡ PⅡ GIPI GⅣ PⅣ GⅢ PⅢ GⅡ PⅡ GIPI C15 ~ 13 C11 ~ 9 C7 ~ 5 C15 ~ 13 C11 ~ 9 C7 ~ 5 C3 ~ 1 C3 ~ 1 ∑12~9 ∑8~5 ∑4~1 ∑16~13 A16 . . . . A13 B16 . . . . B13 A16 . . . . A13 B16 . . . . B13 A12 . . . . A9 B12 . . . . B9 A12 . . . . A9 B12 . . . . B9 A8. . . . A5 B8 . . . . B5 A8. . . . A5 B8 . . . . B5 A4 . . . . A1 B4 . . . . B1 A4 . . . . A1 B4 . . . . B1 CⅣ CⅣ Co Co 7)进位传递过程? Ai、Bi、C0 GⅣ、PⅣ….GI、PI、C3~1 C15~13、C11~9、C7~5 CⅣ、CⅢ、CⅡ、CI
CIV 74182 C0 CIII CII CI GIV PIV GIII PIII GII GI PI PII 74181 74181 74181 74181 一个16位的ALU部件,要实现组内并行,组间并行运算。所需器件为:74181芯片四块,74182一块。 74181: 实现算术逻辑运算及组内并行。 74182:接收了组间的辅助函数后,产生组间 的并行进位信号CIII 、CII 、CI,分 别将其送到各小组的加法器上
输入:n个 输出:<=2n 三、译码器:(P25)
四、数据选择器:(P26) M选一(n个地址控制端子) M=2n
2.5 时序逻辑电路 时序逻辑电路不但与当前的输入状态有关,而且还与电路以前的输入状态有关。时序电路内必须有存储信息的记忆元件---触发器。 一.触发器 1. 触发方式: (1)电位触发:由‘0’或‘1’电平直接触发 (2)边沿触发:有正跳变(上升沿)触发或负跳变 (下降沿)触发 (3) 主从触发:主从分级触发,主要用于组成计数器 2.常用的F/F RS、D、JK、T、T’
二、寄存器和移位寄存器(P30) 寄存器是计算机的一个重要部件,用于暂存数据、指令等。它由触发器和一些控制门组成。在寄存器中,常用的是正边沿触发D触发器和锁存器。 三、计数器 计数器是计算机、数字仪表中常用的一种电路。计数器按时钟作用方式来分,有同步计数器和异步计数器两大类。 计数器按计数顺序来分,有二进制、十进制两大类
2.6 阵列逻辑电路 阵列逻辑电路近年来得到了迅速的发展。“阵列”是指逻辑元件在硅芯片上以阵列形式排列,这种电路具有设计方便、芯片面积小、产品成品率高、用户自编程、减少系统的硬件规模等优点。 • 常见的阵列逻辑电路有: • 读/写存储器(random access memory,简称RAM) • 只读存储器(read only memory,简称ROM) • 可编程序逻辑阵列(programmable logic array,简称PLA) • 可编程序阵列逻辑(programmable array logic,简称PAL) • 通用阵列逻辑(general array logic,简称GAL) • 门阵列(gate array,简称GA) • 宏单元阵列(macrocell array,简称MA) • 可编程门阵列(programmable gate array,简称PGA) 一般把除读/写存储器的阵列逻辑电路统称为可编程序逻辑器件(programmable logic devices,简称PLD)。在本节中将介绍ROM,PAL,PLA,GAL,GA,MA和PGA等器件。
一、只读存储器 ROM (P34) 只读存储器(read only memory,简称ROM)也是一类重要的阵列逻辑电路。在计算机中,常常要存储固定的信息(如监控程序、函数、常数等)。ROM主要由全译码的地址译码器和存储单元体组成,前者是一种“与”阵列(组成全部地址的最小项),后者则是“或”阵列,它们都以阵列形式排列。存储体中写入的信息是由用户事先决定的,因此是“用户可编程”的,而地址译码器则是“用户不可编程”的。 • ROM 的结构 ROM的类型 1)EPROM:熔丝型;一次熔断,不能更改。 (2)EEPROM(E2PROM):紫外线擦除或电擦除型,可反复修改。 MROM:掩模型,制造厂商制造时同时做好。
二、可编程序逻辑阵列 PLA (P36) 可编程序逻辑阵列(programmable logic array,简称PLA)是ROM的变种,也可以说是一种新型的ROM。它和ROM不同之处是PLA的与阵列、或阵列都是用户可编程的。PLA在组成控制器、存储固定函数以及实现随机逻辑中有广泛的应用。 • 下面通过把一张信息表(表2.1)存入PLA的过程来说明它的原理。
1.信息表 2.写出Fi的与或式 将Fi中每个不同的乘积项都用Pi表示
3.P0~P7=? 思考题: Pi相当于ROM阵列中的哪种逻辑? Fi相当于ROM阵列中的哪种逻辑?
4.将信息存入PLA阵列中 将Pi存入PLA的与阵列中(二极管组成的与阵列) 将Fi存入PLA的或阵列中(三极管组成的或阵列) 问题1: 当I0=1时、F0=? 当I0=0时、F0=? 问题2:当I3I2I1I0=1011时,F0~F7=? 问题3:相对于ROM来说,PLA具有哪些特点?
5.PLA器件的电路图 问题: (1)输入、输出和P项分别是多少个? (2)存储阵列是多大? (3)异或门的输入端通过熔丝接地具有哪些作用?
F 例1:若 ,如何利用图2.28所示的PLA器件生成逻辑函数F?(其中Pi是关于I0~I15逻辑与运算) 解:选用两片PLA的F0生成逻辑函数F: ①将第一片的F0异或门输出端熔丝烧断 ④画逻辑图 ②将第二片的F0异或门输出端熔丝烧断 ③将第一、二片的F0做“线与”并记为F
例2:利用PLA电路实现具有二-十进制(BCD码)输出及循环码输出的十进制计数器。例2:利用PLA电路实现具有二-十进制(BCD码)输出及循环码输出的十进制计数器。 1)利用四个正沿D触发器作为计数元件,DA=?DB=?DC=?DD=? 同理有: 2)DA、DB、DC、DD表达式中不同的因子用Pi表示