计算机组成原理数据的机器运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可以看出,这4组进位结构与前述4位先行进位逻辑完全相同, 组间进位信号只与最低进位C0有关,所以能同时产生。
16
多级先行进位(续二)
组内进位信号能同时产生、组间进位信号也能同时产 生,由此可以构成多级并行进位逻辑。16位2级先行 进位加法器如下图所示。
17
多级先行进位(续三)
问题是这4个组间进位信号如何用硬件来产生呢? 对于多级先行进位的实现可以按如下思路来理解:
在组间,每个组的进位输入是前一个组的进位输 出,而每个组的进位输出是下一个组的进位输入.
12
单级先行进位(续一)
上述组内并行、组间串行的进位方式也称为单级先 行进位方式,原理如下图所示。
13
单级先行进位(续二)
组内并行、组间串行进位的时间图(16位)如下:
完成进位时间8ty. 进位时间与组数成正比,组数越多,进位时间越长。
先把单级先行进位加法器的串行进位链断开; 增加一级先行进位链,这个新增加的先行进位链的
进位称为二级进位; 组间进位信号C4、C8、C12、Hale Waihona Puke Baidu16由二级进位链来产
14
多级先行进位
为说明问题,我们不妨仍以16位加法器为例,仍然4 位一组,分成4个小组,先就第一小组的进位输出函 数C4做一下分析: C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
G1*
P1*
= G1* +P1*C0
G1*称为组进位产生函数,P1*称为组进位传递函数; 这两个函数类似于进位产生函数G和进位传递函数P.
1、全加器(FA)
全加器真值表
全加器(FA)是最基本 的运算单元,由它构成 加法器。
Ai Bi Ci-1 000
001
Si Ci 00
10
全加器有三个输入量: 0 1 0 操作数Ai、Bi、以及低 0 1 1 位传来的进位信号Ci-1 。 1 0 0
10 01 10
全加器有两个输出量: 本位和Si、以及向高位 的进位信号Ci。
由此可见,提高并行加法器速度的关键是尽量加快 进位产生和传递的速度。
7
2、进位产生与传递
进位链的概念: 并行加法器中的每一个全加器都有一个从低位送来 的进位输入和一个传送给高位的进位输出。我们把 构成进位信号产生和传递的逻辑网络称为进位链。
进位链上每一位的进位表达式为: Ci=AiBi+(Ai⊕Bi)Ci-1
11
单级先行进位
构成16 位加法 器很容 易实现
以16位加法器为例,将其分为4组,每组4位。
在组内,按照并行进位函数直接产生C1~C4,这 些进位可同时得到。实现这种进位逻辑的电路称 为4位先行进位电路(CLA),如74181ALU。
利用这种4位一组的CLA电路和4位全加器可以构 成4位CLA加法器。注意,4位CLA加法器包含了 两部分逻辑:4位全加器和4位一组的先行进位链, 这个组内的进位为一级进位。
10
并行进位的特点
并行进位的特点是各级进位信号同时形成,与字长无 关,提高了整体运算速度 。并行进位又叫先行进位。
最长延迟时间仅为2ty。 随着加法器位数的增加,Ci的逻辑表达式会变得越来
越长,输入变量会越来越多,电路结构也会变得越来 越复杂,导致电路实现也越来越困难。 并行进位方式需继续改进,才能有实用价值。这就是 下面要介绍的分组进位方式。
其中:C1=G1+P1C0 C2=G2+P2C1 ┇ Cn=Gn+PnCn-1
A2 B2
A1 B1
串行进位的并行加法器,总的延迟时间正比于字 长,字长越长,总延迟时间也越长。
若一位进位需2ty时间,完成n位进位就需要2nty.
要提高加法运算速度,必须改进进位方式。
9
3、并行加法器的快速进位
改进串行进位方式的基本思路是让各进位同时形成,避免各进位之 间的依赖关系。现在来分析一下进位关系。 展开C1=G1+P1C0 ;C2=G2+P2C1 ;… ,Cn=Gn+PnCn-1 得关系式: C1=G1+P1C0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1 +P4P3P2P1C0 ┇ 以上进位输出只与Gi、Pi以及最低进位C0有关,而且不依赖于其低 位进位Ci-1的输入,因此各级进位可以同时产生,形成并行进位。
串行加法器只有一个全加器,数据逐位串行送入加 法器进行计算。由于运算速度慢,一般不用。
并行加法器则由若干个这样的全加器构成,各位数 据同时运算。并行加法器的位数与操作数的位数相 等。并行加法器的最长运算时间主要取决于进位信 号的传递时间。例如:11…11和00…01相加,最低 位产生的进位将逐位影响到最高位.
设 Gi=AiBi ,称为进位产生函数 Pi=Ai⊕Bi ,称为进位传递函数
∴ 进位表达式 Ci=Gi+PiCi-1
8
串行进位
把n个全加器串联起来,就可以实现两个n位数的相加。这种加法器 称为串行进位的并行加法器,串行进位又叫行波进位。
Sn
S2
S1
Cn
FA
…
FA
FA
Cn-1
C2
C1
C0
An Bn
101 110 111
01 01 11
5
全加器的逻辑方程和电路
根据真值表得:
Si=Ai⊕Bi⊕Ci-1 Ci=AiBi+(Ai⊕Bi)Ci-1
Si : 本位和 Ci : 向高位的进位 一个全加器只完成一位加法
实现电路
逻辑框图
6
全加器构成加法器
全加器并不存储信息,可用门电路来实现。用全加 器能够方便地构成加法器。加法器分为串行加法器 和并行加法器。
15
多级先行进位(续一)
四个组内的最高进位C16、C12、C8、C4可以分别表示为:
C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12
现在逐项代入、并展开得关系式:
C4 = G1* + P1* C0 C8 = G2*+P2*C4=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
16
多级先行进位(续二)
组内进位信号能同时产生、组间进位信号也能同时产 生,由此可以构成多级并行进位逻辑。16位2级先行 进位加法器如下图所示。
17
多级先行进位(续三)
问题是这4个组间进位信号如何用硬件来产生呢? 对于多级先行进位的实现可以按如下思路来理解:
在组间,每个组的进位输入是前一个组的进位输 出,而每个组的进位输出是下一个组的进位输入.
12
单级先行进位(续一)
上述组内并行、组间串行的进位方式也称为单级先 行进位方式,原理如下图所示。
13
单级先行进位(续二)
组内并行、组间串行进位的时间图(16位)如下:
完成进位时间8ty. 进位时间与组数成正比,组数越多,进位时间越长。
先把单级先行进位加法器的串行进位链断开; 增加一级先行进位链,这个新增加的先行进位链的
进位称为二级进位; 组间进位信号C4、C8、C12、Hale Waihona Puke Baidu16由二级进位链来产
14
多级先行进位
为说明问题,我们不妨仍以16位加法器为例,仍然4 位一组,分成4个小组,先就第一小组的进位输出函 数C4做一下分析: C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
G1*
P1*
= G1* +P1*C0
G1*称为组进位产生函数,P1*称为组进位传递函数; 这两个函数类似于进位产生函数G和进位传递函数P.
1、全加器(FA)
全加器真值表
全加器(FA)是最基本 的运算单元,由它构成 加法器。
Ai Bi Ci-1 000
001
Si Ci 00
10
全加器有三个输入量: 0 1 0 操作数Ai、Bi、以及低 0 1 1 位传来的进位信号Ci-1 。 1 0 0
10 01 10
全加器有两个输出量: 本位和Si、以及向高位 的进位信号Ci。
由此可见,提高并行加法器速度的关键是尽量加快 进位产生和传递的速度。
7
2、进位产生与传递
进位链的概念: 并行加法器中的每一个全加器都有一个从低位送来 的进位输入和一个传送给高位的进位输出。我们把 构成进位信号产生和传递的逻辑网络称为进位链。
进位链上每一位的进位表达式为: Ci=AiBi+(Ai⊕Bi)Ci-1
11
单级先行进位
构成16 位加法 器很容 易实现
以16位加法器为例,将其分为4组,每组4位。
在组内,按照并行进位函数直接产生C1~C4,这 些进位可同时得到。实现这种进位逻辑的电路称 为4位先行进位电路(CLA),如74181ALU。
利用这种4位一组的CLA电路和4位全加器可以构 成4位CLA加法器。注意,4位CLA加法器包含了 两部分逻辑:4位全加器和4位一组的先行进位链, 这个组内的进位为一级进位。
10
并行进位的特点
并行进位的特点是各级进位信号同时形成,与字长无 关,提高了整体运算速度 。并行进位又叫先行进位。
最长延迟时间仅为2ty。 随着加法器位数的增加,Ci的逻辑表达式会变得越来
越长,输入变量会越来越多,电路结构也会变得越来 越复杂,导致电路实现也越来越困难。 并行进位方式需继续改进,才能有实用价值。这就是 下面要介绍的分组进位方式。
其中:C1=G1+P1C0 C2=G2+P2C1 ┇ Cn=Gn+PnCn-1
A2 B2
A1 B1
串行进位的并行加法器,总的延迟时间正比于字 长,字长越长,总延迟时间也越长。
若一位进位需2ty时间,完成n位进位就需要2nty.
要提高加法运算速度,必须改进进位方式。
9
3、并行加法器的快速进位
改进串行进位方式的基本思路是让各进位同时形成,避免各进位之 间的依赖关系。现在来分析一下进位关系。 展开C1=G1+P1C0 ;C2=G2+P2C1 ;… ,Cn=Gn+PnCn-1 得关系式: C1=G1+P1C0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1 +P4P3P2P1C0 ┇ 以上进位输出只与Gi、Pi以及最低进位C0有关,而且不依赖于其低 位进位Ci-1的输入,因此各级进位可以同时产生,形成并行进位。
串行加法器只有一个全加器,数据逐位串行送入加 法器进行计算。由于运算速度慢,一般不用。
并行加法器则由若干个这样的全加器构成,各位数 据同时运算。并行加法器的位数与操作数的位数相 等。并行加法器的最长运算时间主要取决于进位信 号的传递时间。例如:11…11和00…01相加,最低 位产生的进位将逐位影响到最高位.
设 Gi=AiBi ,称为进位产生函数 Pi=Ai⊕Bi ,称为进位传递函数
∴ 进位表达式 Ci=Gi+PiCi-1
8
串行进位
把n个全加器串联起来,就可以实现两个n位数的相加。这种加法器 称为串行进位的并行加法器,串行进位又叫行波进位。
Sn
S2
S1
Cn
FA
…
FA
FA
Cn-1
C2
C1
C0
An Bn
101 110 111
01 01 11
5
全加器的逻辑方程和电路
根据真值表得:
Si=Ai⊕Bi⊕Ci-1 Ci=AiBi+(Ai⊕Bi)Ci-1
Si : 本位和 Ci : 向高位的进位 一个全加器只完成一位加法
实现电路
逻辑框图
6
全加器构成加法器
全加器并不存储信息,可用门电路来实现。用全加 器能够方便地构成加法器。加法器分为串行加法器 和并行加法器。
15
多级先行进位(续一)
四个组内的最高进位C16、C12、C8、C4可以分别表示为:
C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12
现在逐项代入、并展开得关系式:
C4 = G1* + P1* C0 C8 = G2*+P2*C4=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