第 8 讲:加法器、编码器与数值比较器
这几类器件把常用 Boolean 功能封装成可复用模块。理解输入输出关系后,应学会级联、扩展和用它们实现更复杂函数。
半加器与全加器
半加器只加两个一位数:
全加器还考虑低位进位 :
两个半加器加一个 OR 门即可构成全加器。
多位加法
把每一位全加器的 接到高一位 ,得到串行进位加法器。结构简单,但最高位必须等待进位逐级传播,延迟约随位数增加。
定义产生与传递:
则
展开可并行计算进位,得到超前进位加法器,以更多逻辑换速度。
减法可用补码:对 各位异或控制信号 ,并令最低位进位 。 做 , 做 。
编码器
– 编码器把某一个有效输入的位置编码成 位代码。普通编码器假设同一时刻只有一路有效;若多路同时有效,输出会歧义。
优先编码器规定优先级,只编码最高优先的有效输入,并常提供:
- 有效输出标志,区分“没有输入”与编码恰好为 0;
- 级联输入/输出,用于扩展输入路数;
- 低有效输入和低有效输出。
分析 74 系列优先编码器时必须按真值表有效电平,而不是仅凭器件名称推断。
数值比较器
一位比较:
多位比较从最高位开始。若最高位不同,结果已确定;只有高位相等才比较下一位。
对两位数,可写
集成比较器通常有级联输入 ,最低一组应初始化为“等于有效、其余无效”;高位组的输出最终决定整体关系。具体级联方向按器件说明。
模块复用
- 全加器进位函数就是三输入多数表决;
- 比较器的相等输出可用于地址匹配;
- 加法器加常数可实现码制转换或地址偏移;
- 优先编码器可实现中断优先级选择。
检查
- 加法器最低位进位是否设对;
- 有符号溢出与无符号进位是否分开;
- 普通编码器是否满足单输入有效前提;
- 优先级方向和有效电平是否确认;
- 比较器从最高位而不是最低位开始;
- 级联输入是否给了正确初值。