第04章 计算机中的运算器部件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上述各式中所有各位的进位均不依赖于 低位的进位,各位的进位可以同时产生。这 种进位方式是快速的,若不考虑Gi、Pi的形 成时间,从C0→Cn 的最长延迟时间仅为2ty。
随着加法器位数的增加,Ci 的逻辑表达 式会变得越来越长,所以,完全采用并行进 位是不现实的。
3. 分组并行进位方式的并行加法器
例:11…11和00…01相加,最低位产生的进 位将逐位影响至最高位。 因此,并行加法器的最长运算时间主 要是由进位信号的传递时间决定的。 提高并行加法器速度的关键是尽量加快 进位产生和传递的速度。
4.2 进位的产生和传递
进位表达式:Ci=AiBi+(Ai⊕Bi)Ci-1
其中: AiBi 称为进位产生函数 Gi ;
实际上,通常采用分组并行进位方式。 这种进位方式是把n位字长分为若干小组, 在组内各位之间实行并行快速进位,在组 间既可以采用串行进位方式,也可以采用 并行快速进位方式,因此有两种情况:
(1). 单级先行进位方式 这种进位方式又称为组内并行、组间 串行方式。以16位加法器为例,可分为四 组,每组四位。第1小组组内的进位逻辑 函数C1 、C2 、C3 、C4 的表达式与前述相 同,C1 ~C4 信号是同时产生的,从C0 出 现到产生C1~C4的延迟时间是2ty。
C0
A16~A13
A12~A9 B12~B9
A8~A5 B8~B5
A4~A1 B4~B1
B16~B13
当采用组间并行进位时,需要增加一片 先行进位部件(74182)。
74182可以产生三个进位信号Cn+x、 Cn+y、Cn+z,并且还产生大组进位产生函 数G*和大组进位传递函数P*,可供组成
位数更长的多级先行进位ALU时用。
2. 串行加法器与并行加法器
a. 串行加法器
在串行加法器中,只有一个全加器, 数据逐位串行送入加法器进行运算。 如果操作数长n位,加法就要分n次 进行,每次只能产生一位和。
b. 并行加法器 并行加法器由多个全加器组成,其 位数的多少取决于机器的字长,数据的各 位同时运算。 并行加法器虽然操作数的各位是同时 提供的,但低位运算所产生的进位有可能 会影响高位的运算结果。
C4 C1 C0 Ci
(2). 多级先行进位方式 多级先行进位又称组内并行、组间并行 进位方式。 字长为16位的两级先行进位加法器,第 一小组的最高位进位C4: C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 = G1* + P1* C0 称: G4+P4G3+P4P3G2+P4P3P2G1 为组进位 产生函数 G1* ;
1.设计构造一个运算器的基本思路是:
1. 首先用基本门电路构成1位全加器。 2. 然后用进位传递逻辑将其构成N位并行加法器。 3. 再利用多路选择逻辑实现多种输入输出组合选择, 使加法器扩展成为多功能的算术逻辑运算部件 ALUo 4. 另外利用多路选择逻辑还可实现移位功能。 5. 使用加法器与移位器的组合则可构成乘法器和除 法器。 6. 使用两个(定点)运算器部件的组合则可构成一个 浮点运算器。
2. 并行进位方式的并行加法器 并行进位又叫先行进位、同时进位,其 特点是各级进位信号同时形成。 C1=G1+P1C0 C2=G2+P2C1 =G2+P2G1+P2P1C0 C3=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
CLA电路 G 3 *P 3 * G 2 *P 2 * G 1 *P 1 *
S16~S13
S12~S9
S8~S5
S4~S1
4位 C12 BCLA 加法器
4位 C8 BCLA 加法器
4位 C4 BCLA 加法器
4位 BCLA 加法器
C0
A16~A13 A12~A9 A8~A5 B16~B13 B12~B9 B8~B5
输入数据
入 端 时 间
寄 寄 存 存 器 器 接 接 收 收 运 运 算 算 结 果 结 时 果 间 时 间
运算器组成示意图
一个运算周期中的各时间段
本章主要内容
运算器部件概述
定点运算器的功能、组成与设计
模型机的运算器
运算器的基本组成与实例
运算器是在控制器的控制下实现 其功能的,运算器不仅可以完成数据 信息的算术和逻辑运算,还可以作为 数据信息的传送通路。
(2) 带输入锁存器的运算器
移位器 M S0 S3 锁存器1 锁存器2 ALU R0
…
+1
…
Rn-1 内部总线
…
2. 运算器的内部总线结构
(1) 单总线结构运算器 运算器实现一次双操作数的运算需要 分成三步。
由于每个数据传输都需要总线支持,而运算器内部只有一 组总线,所以 1.送第一个操作数 2.送第二个操作数 3.返回结果
– 定点运算器:完成对整数类型数据的算术运算、逻 辑类型数据的逻辑运算 – 浮点运算器:完成对浮点类型数据的算术运算
运算器设计需要解决的问题
需要明确参加运算的数据来源,运算结果的去向。运 算器能直接运算的数据,通常来自于运算器本身的寄 存器。这些寄存器本身是暂存数据用的,是由触发器 构成的时序逻辑电路。 需要明确将要执行的运算功能,是对数值数据的何种 算术运算功能,还是对逻辑数据的何种逻辑运算功能。 完成数据运算功能的线路是组合逻辑电路。 运算器部件只有和计算机的其他部件连接起来才能协 同完成指令的执行过程。 运算器完成一次数据运算过程由多个时间段组成,其 时序关系示意表示在下图。
第4章
计算机中的运算器部件
运算器,三大件 运算、暂存、乘 除块,多路选通连起来;数据组合 有内外、运算功能指明白、存移输 出巧安排。
本章主要内容
运算器部件概述
定点运算器的功能、组成与设计
模型机的运算器
运算器功能与组成概述
• 计算机五大功能部件之一,在控制器的指挥控 制下,完成指定给它的运算处理功能。 • 运算器通常包括定点运算器和浮点运算器两种 类型:
S16~S13
S12~S9
S8~S5
S4~S1
C16 4位CLA 加法器
C12 4位CLA 加法器
C8 4位CLA 加法器
C4 4位CLA 加法器
C0
A16~A13
A12~A9 B12~B9
A8~A5 B8~B5
A4~A1 B4~B1
B16~B13
ty 8 6 4 2 C16 C12 C8
4. 3 ALU举例
74181是四位算术逻辑运算部件(ALU), 又称多功能函数发生器,能执行16种算术运 算和16种逻辑运算。
A0、B0~A3、B3:操作数输入端; F0~F3:计算结果输出端; Cn:进位输入端; Cn+4:进位输出端; G*:组进位产生函数输出端; P*:组进位传递函数输出端;
P4P3P2P1 为组进位传递函数 P1* 。
依次类推: C8=G2*+P2*G1*+P2*P1*C0 C12=G3*+P3*G2 * +P3*P2*G1*+P3*P2*P1*C0 C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4* P3*P2*P1*C0
C16 G 4 *P4 *
如果采取组间串行进位结构,将几片74LS181 芯片各片的进位输出Cn+4与高位芯片的 进位输入端Cn相连,就可构成一个多位字长 的运算器ALU部件。
S16~S13
S12~S9
S8~S5
S4~S1
C16 4位CLA 加法器
C12 4位CLA 加法器
C8 4位CLA 加法器
C4 4位CLA 加法器
运算器结构
1. 运算器的基本组成 基本的运算器包含以下几个部分: ALU:实现基本算术、逻辑运算 寄存器组:提供操作数和暂存结果 移位器 判别逻辑 控制电路
(1) 带多路选择器的运算器
内部总线 移位器 M S0 R0
…
Rn-1
…
选择器
ALU
S3 选择器
…
+1
…
R0~Rn-1
…
R0~Rn-1
A4~A1 B4~B1
• 若不考虑Gi、Pi的形成时间,C0经过2ty 产生第1小组的C1、C2、C3及所有组进位 产生函数Gi*和组进位传递函数Pi* ; • 再经过2ty,产生C4、C8、C12、C16; • 最后经过2ty后,才能产生第2、3、4小组 内的C5~C7、C9~C11、C13~C15 。
– 算术逻辑单元(ALU)
通过几组多 路选择器电 路实现相互 连接,以便 数据传送。
• 暂存参加运算的数据和中间结果
– 通用寄存器组
• 乘除法运算的硬件线路支持
– 乘商寄存器(Q寄存器)
• 作为处理机内部数据通路(Data Path)
本章主要内容
运算器部件概述
定点运算器的功能、组成与设计
模型机的运算器
M:工作方式,M=0为算术操作,M=1为 逻辑操作; S0~S3:功能选择线。 74181的4位作为一个小组,组间既可 以采用串行进位,也可以采用并行进位。 当采用组间串行进位时,只要把前片的 Cn+4与下一片的Cn相连即可。 当采用组间并行进位时,需要增加一片 先行进位部件(74182)。
逻辑构成如图
4.4 模型机的运算器 4. 4.1 多功能算术逻辑运算单元(ALU)
计算机的一个最主要的功能就是处理各种算术和 逻辑运算,这个功能要由CPU中的运算器这一部件 来完成。运算器也称作为算术逻辑部件ALU,它可 将若干位全加器、并行进位链、输入选择门三部分 集成于一块芯片之上。 因为,任何复杂的运算都可以化为加减乘除算术 运算和基本逻辑运算,而各种算术运算又可以变为 加法运算,如运用补码就可以变减法为加法,用加 减运算与移位运算相结合就能实现乘除法运算。所 以要实现一个运算器,其基础是构造其中的加法器。
Sn
S2
S1
Cn
FA
Cn-1
…
C2
FA
C1 A1
FA
C0
An Bn
A2 B2
B1
串行进位链的总延迟时间与字长成正 比。假定,将一级门的延迟时间定为ty, 从上述公式中可看出,每形成一级进位的 延迟时间为2ty。在字长为n位的情况下, 若不考虑Gi 、Pi 的形成时间,从C0→Cn 的 最长延迟时间为2nty。
ty 6 4 2 C12 C8 C4 C1 C0 Ci
C16
四位CLA加法器
S4 ~Leabharlann BaiduS1
C4
4位CLA 加法器
C0
A4 ~A1
B4 ~ B1
四位BCLA加法器
G1 P1
S4 ~ S1 4位BCLA 加法器
C0
A4 ~A1 B4 ~ B1
设计一个9位先行进位加法器,每3位为一组, 采用两级先行进位线路。
Ai⊕Bi 称为进位传递函数 Pi。 Gi的含义是:若本位的两个输入均为1,必然 要向高位产生进位。 Pi的含义是:当两个输入中有一个为1,低位 传来的进位Ci-1将超越本位向更高的位传送。
∴ Ci=Gi+PiCi-1
1. 串行进位方式的并行加法器 把n个全加器串接起来,就可进行两个n 位数的相加。串行进位又称行波进位,每一 级进位直接依赖于前一级的进位,即进位信 号是逐级形成的。 C1=G1+P1C0 C2=G2+P2C1 Cn=Gn+PnCn-1 …
送出结果
运算周期
数据运算线路 (组合逻辑) 控制信号 数据暂存线路 (时序逻辑)
控 制 信 号 建 立 时 间
控 制 信 号 的 建 立 时 间
寄 存 寄 存 器 器 内 内 容 容 送 送 出 出 时 时 间 间
运 运 算 算 器 器 执 执 行 行 相 运 加 算 时 时 间 间
间运 运 算 算 结 结 果 果 到 送 寄 到 存 器 寄 输 存 入 器 端 输 时
(2) 双总线结构运算器 运算器实现一次双操作数的运算需要两 步。
总线1 特殊 寄存器 特殊 寄存器
通用 寄存器
ALU
缓冲器
总线2
⑶ 三总线结构运算器 实现一次双操作数的运算仅需要一步。
总线1 总线2 通用 寄存器 特殊 寄存器 总线 旁路器 总线3
ALU
定点运算器功能与组成
• 完成算术与逻辑运算功能
74181和74182的结合可组成各种位数的 ALU部件。 8片74181和2片74182构成的32位两级行 波ALU。各片74181输出的组进位产生函数 和 组 进 位 传 递 函 数 作 为 74182 的 输 入 , 而 74182输出的进位信号Cn+x、Cn+y、Cn+z作为 74181的输入,74182输出的大组进位产生函 数和大组进位传递函数可作为更高一级 74182的输入。