- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X Y -X -Y
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1
-Z Z
0 1 0 1 0 1 0 1
C -C
0 0 1 0 1 0 1 1
-S S
0 1 1 0 1 0 0 1
真 值 表
常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加 法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。如 右表,0类全加器没有负权输入;1类全加器有1个负权输入和2个正权输 入;依次类推。 对0类、3类全加器而言有:
计算机组成原理
3
2.2.4 基本的二进制加法/减法器
全加器的表达式为: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器内部逻辑图
Ci+
1
Si
C
A
B C
Ci
Ai
Bi
A
B
2.2.4 基本的二进制加法/减法器
溢出 Sn-1 Sn-2 Sn-3 Cn-2 FA Cn Cn-1 FA FA Cn-3 C2 FA S1 S0
表2.4 描述四类一般化全加器的真值表 全加器 0类 3类 真 值 表 1类 2类 带权输入 X Y -X -Y
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1
带权输出 C -C
0 0 0 1 0 1 1 1
Z -Z
0 1 0 1 0 1 0 1
S -S
0 1 1 0 1 0 0 1
Hale Waihona Puke 3.直接补码阵列乘法器利用混合型的全加器就可以构成直接补码 数阵列乘法器。设被乘数A和乘数B是两个5位 的二进制补码数,即 A=(a4)a3a2a1a0 B=(b4)a3a2a1a0 它们具有带负权的符号位a4和b4,并用括号 标注。如果我们用括号来标注负的被加项,例如 (aibj),那么A和B相乘过程中所包含的操作步骤 如下面矩阵所示:
an-1=0([N]补为正 an-1=1([N]补为负
如果我们把负权因数-2n-1强加到符号位an-1上, 那么就可以把上述方程组中的两个位置表达式合并成 下面的统一形式:
n-2
N = -an-12n-1+∑ai2i
i=0
式2.29两边同乘以-1,可以证明[-N]补可用下式计算:
n-2
-N = -(1-an-1)2n-1+∑(1-ai)2i +1
设A=anan-1…a1a0和B=bnbn-1…b1b0均为用定点表示的(n+1)位 带符号整数。在必要的求补操作以后,A和B的码值输送给n×n 位不带符号的阵列乘法器,并由此产生2n位真值乘积: A· B=P=p2n-1…p1p0 p2n=an⊕bn 其中P2n为符号位。 图2.7所示的带求补级的阵列乘法器既适用于原码乘法,也 适用于间接的补码乘法。不过在原码乘法中,算前求补和算后求 补都不需要,因为输入数据都是立即可用的。而间接的补码阵列 乘法所需要增加的硬件较多。
[例17] 设x=+15,y=-13,用带求补器的原 码阵列乘法器求出乘积x· y=? [解:] 本题实际上就是将数值部分相乘后加上符 号位的积的到。其中数值部分用绝对值计算。 [例18] 设x= -15,y=-13,用带求补器的补 码阵列乘法器求出乘积x· y=?
2.3.2 补码乘法
1.补码与真值得转换公式 补码乘法因符号位参与运算,可以完成补码数的“直接”乘法,而不需要 求补级。这种直接的方法排除了较慢的对2求补操作,因而大大加速了乘法过 程。 首先说明与直接的补码乘法相联系数学特征。对于计算补码数的数值来说, 一种较好的表示方法是使补码的位置数由一个带负权的符号和带正权的系 数。今考虑一个定点补码整数[N]补=an-1an-2…a1a0,这里an-1是符号位。根 据[N]补的符号,补码数[N]补和真值N的关系可以表示成:
C1 FA
C0 M=0 加 M=1 减
Bn1
An-1
Bn-2 An-2
Bn-3 An-3
B1
A1
B0
A0
M方式 控制
图2-3 行波进位补码加法/减法器 (S=A±B)
2.3.1 原码乘法 不带符号的阵列乘法器 设有两个不带符号的二进制整数: A=a m-1 …a1a0 B=b n-1 …b1b0 在二进制乘法中,被乘数A与乘数B相乘,产生 m+n位乘积P: P=p m+n-1 …p1p0 实现这个乘法过程所需要的操作和人们的习惯 方法非常类似:
计算机组成原理
目录
☼
☼
☼ ☼ ☼ ☼ ☼ ☼ ☼
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章
计算机系统概论 运算方法和运算器 存储系统 指令系统 中央处理器 总线系统 外围设备 输入输出系统 并行组织
上一讲回顾
1. 溢出及其检测方法 2.基本的二进制加/减法器(难点,熟练掌握) 理解并熟练掌握图2.3 3.十进制加法器 4.原码并行乘法(难点,掌握) 理解并掌握图2.6
(2) 带符号的阵列乘法器 通常,把包括这些求补级的乘法器又称为符号求补的阵列乘法器。在这种 逻辑结构中,共使用三个求补器。其中两个算前求补器的作用是:将两个操 作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。而 算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变 成带符号的数。
图2.5 m×n位不带符号数的阵列乘法器逻辑框图
3.带符号的阵列乘法器
(1) 对2求补器电路 我们先来看看算术运算部件设计中经常用到的求补电路。一个具有使 能控制的二进制对2求补,其逻辑表达式如下: C-1=0, Ci=ai+Ci-1 ai*=ai⊕ECi-1, 0≤i≤n
在对2求补时,要采用按位扫描技术来执行所需要的求补操作。令A =an„a1a0是给定的(n+1)为带符号的数,要求确定它的补码形式。进行 求补的方法就是从数的最右端a0开始,,由右向左,直到找出第一个“1”, 例如ai=1, 0≤i≤n。这样,ai以左的每一个输入位都求反,即1变0,0变 1。最右端的起始链式输入C-1必须永远置成“0”。当控制信号线E为 “1”时,启动对2求补的操作。当控制信号线E为“0”时,输出将和输入 相等。显然,我们可以利用符号位来作为控制信号。 例如,在一个4位的对2求补器中,,如果输入数为1010,那么输出数应 是0110,其中从右算起的第2位,就是所遇到的第一个“1”的位置。用这 种对2求补器来转换一个(n+1)为带符号的数,所需的总时间延迟为 tTC=n·2T+5T=(2n+5)T (2.28) 其中每个扫描级需2T延迟,而5T则是由于“与”门和“异或”门引起的。
S X Y Z XY Z X Y Z XYZ
C XY YZ ZX
对1类、2类全加器,则有
S X Y Z XY Z X Y Z XYZ C XY X Z Y Z
注意,0类和3类全加器是用同一对逻辑方程来表征的,它和普通的一 位全加器(0类)是一致的。这是因为3类全加器可以简单地把0类全加器的 所有输入输出值全部反向来得到,反之亦然。 1类和2类全加器之间也能建立类似的关系。由于逻辑表达式具有两级与 一或形式,可以用“与或非”门来实现,延迟时间为2T。
其中使用不同的逻辑符号来代表0类、1类、2类、3类全加器。2类和1类 全加器具有同样的结构,但是使用不同的逻辑符号可使乘法阵列的线路图容 易理解。
本讲总结
1.带符号的阵列乘法器 (1)对2求补电路(图2.7) (2)带求补级的阵列乘法器(图2.8) 2.补码并行乘法 (1)补码与真值转换公式 (2)一般化的全加器形式 (3)直接补码阵列乘法器
i=0
[例19] 已知: [N]补 = 01101,[-N]补=10011,求 [N]补,[-N]补具有的数值。 [解:] 代入上面公式即可求得。
2.一般化的全加器形式
常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器 通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。如右表,0 类全加器没有负权输入;1类全加器有1个负权输入和2个正权输入;依次类 推。