计算机组成原理第4章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先使各个控制电平的初 始状态为:CLR=1, LDDR1=0,LDDR2=0, ALU_G=1,SW_G=1,S3 S2 S1 S0 M CN=111111,并将 CONTROL UNIT的开关SP05 打在“NORM”状态,然后 按下图所示步骤进行。
数据开关 (11000001)
C1H
打开三 态门 SW_G=0
-1 0 +1 定点小数
器允许的表示范围(溢出)。
补码 纯小数:0≤X<1
总线1 总线2
通用 寄存器
ALU
特殊 寄存器
总线 旁路器
总线3
16
4.9 运算器的基本组成与实例
4.9.2 ALU举例 1. ALU电路
ALU即算术逻辑单元,它是既能完成算术运 算又能完成逻辑运算的部件。前面已经讨论过, 无论是加、减、乘、除运算,最终都能归结为加 法运算。因此,ALU的核心首先应当是一个并行 加法器,同时也能执行像“与”、“或”、 “非”、“异或”这样的逻辑运算。由于ALU能 完成多种功能,所以ALU又称多功能函数发生器。
C1=G1+P1C0 C2=G2+P2C1=G2+P2G1+P2P1C0
C3=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
6
C1=G1+P1C0 C2=G2+P2C1 C3=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0



移位器
M
S0
ALU
+1
R0
S3
锁存器1
锁存器2
Rn-1
内部总线
14
4.9 运算器的基本组成与实例
(2)双总线结构运算器 运算器实现一次双操作数的运算需要两步。
通用 寄存器
特殊 寄存器
特殊 寄存器
ALU
总线1 缓冲器
总线2
15
4.9 运算器的基本组成与实例
(3)三总线结构运算器 实现一次双操作数的运算仅需要一步。
[X+Y]补=[X]补+[Y]补 2.补码减法
根据补码加法公式可推 出:
4位机器数:-8~7的补码表示
0000 0
1000 -8
0001 1
1001 -7
0010 2
1010 -6
0011 3
1011 -5
0100 4
1100 -4
0101 5
1101 -3
0110 6
1110 -2
0111 7
1111 -1
18
4.9 运算器的基本组成与实例
M:工作方式,M=0为算术操作,M=1为逻辑操作;
S0~S3:功能选择线。 74181的4位作为一个小组,组间既可以采用串行进位,
也可以采用并行进位。
当采用组间串行进位时,只要把前片的Cn+4与下一片 的Cn相连即可。
2 1 23 22 21 20 19 18
2 1 23 22 21 20 19 18
并行加法器:最长运算时间主要是 由进位信号的传递时间决定的。设 每形成一级进位的延迟时间为2ty。 在字长为n位的情况下,粗算一下, 从C0→Cn的最长延迟时间为2nty。
串行加法器:只有一个全加器, 数据逐位送入加法器进行运算。
A
SC
FA
Q
CP D B
CP
Sn
S2
S1
Cn
FA Cn-1

C2
FA C1
这种进位方式又称为组内并行、组间串行方 式。以16位加法器为例,可分为四组,每组四位。 第1小组组内的进位逻辑函数C1、C2、C3、C4的表 达式与前述相同,C1~C4信号是同时产生的,从 C0出现到产生C1~C4的延迟时间是2ty。
S16~S13
S12~S9
S8~S5
S4~S1
C16 4位CLA C12 4位CLA C8 4位CLA C4 4位CLA
10
4.9 运算器的基本组成与实例
5.9.1 运算器结构 1.运算器的基本组成
基本的运算器包含以下几个部分: 实现基本算术、逻辑运算功能的ALU, 提供操作数与暂存结果的寄存器组, 有关的判别逻辑和控制电路等。
11
4.9 运算器的基本组成与实例
(1)带多路选择器的运算器
内部总线
移位器
R0

Rn-1
。。。。。。。。 __ __ __ __ __ __ __ __
13
P0 G0 P1 G1 P2 G2 P3 G3_
。 。 Cn
74182
G_
10
P
7
Cn+x Cn+y Cn+z
12 11 9
21
用SN74181及SN74182构成16位并行进位ALU
组间并行
组内并行
22
23
主要芯片真值表
24
上述各式中所有各位的进位均 不依赖于低位的进位,各位的 进位可以同时产生。这种进位 方式是快速的,若不考虑Gi、 Pi的形成时间,从C0→Cn的最 长延迟时间仅为2ty。随着加法
器位数的增加,Ci的逻辑表达
式会变得越来越长,所以,完 全采用并行进位是不现实的。
7
4.1 基本算术运算的实现
2.分组并行进位方式 (1)单级先行进位方式
3
4.1 基本算术运算的实现
4.1.1 加法器
加法器是由全加器再配以其他必要的逻辑电
路组成的。
1.全加器:完成一位二进制
Si=Ai⊕Bi⊕Ci-1
数的加法运算。
Ci=AiBi+(Ai⊕Bi)Ci-1
Si
Ai
Ci
FA
Ci-1
+ Ci Bi Ci-1 Si
Ai Bi
4
4.1 基本算术运算的实现
2.串行加法器与并行加法器:完成多 位二进制数的加法运算
步骤l、按图1-2连接实验线路
SIGNAL
T4
+PS
接到DATA BUS
ALU
D0 .
. JD1
. D7
ALU_G
S3 S2 S1 S0 M CN
LDDR1 LDDR2
INPUT SW_G
ALU_G
S3 S2 S1 S0 M CN
LDDR1 LDDR2
SWITCH
SW_G 25
步骤2:加载操作数
[X+Y]补=0,1110,X+Y=1110B=14D 两负数相加结果为14D,显然也是错 误的。
35
4.2 定点加减运算
权:2n 2n-1 …… 20
负溢
Xs X1 X2……Xn 正溢
-2n
0
定点整数
2n-1
补码 纯整数:0≤X<2n
-2n ≤ X<0
为什么会发生这种错误呢?原因
负溢
正溢
在于两数相加之和的数值已超过了机
4.2.3 补码的溢出判断与检测方法
1.溢出的产生
在补码加减运算中,有时会遇到这样的情 况:两个正数相加,而结果的符号位却为1(结 果为负);两个负数相加,而结果的符号位却 为0(结果为正)。
例1:X=1011B=11D,Y=111B=7D
[X]补=0,1011,[Y]补=0,0111
0,1 0 1 1 + 0,0 1 1 1
主要内容: 基本算术运算的实现 运算器的基本组成与实例 定点加减运算 带符号数的移位和舍入操作 定点乘法运算 定点除法运算 十进制整数的加法运算 逻辑运算与实现
2
第4章
运算器是计算机进行算术运算和逻辑 运算的主要部件,运算器的逻辑结构取决 于机器的指令系统、数据表示方法和运算 方法等。本章主要讨论数值数据在计算机 中实现算术运算和逻辑运算的方法,以及 运算部件的基本结构和工作原理。
__
。F0
74181
__ __
。 பைடு நூலகம் F1
F2
A=B
14
__
。F3
_
。 G
17
_
。 P
15
9
10
11
13
(a)
正逻辑
9
10
11
13
(b)
负逻辑
19
4.9 运算器的基本组成与实例
20
4.9 运算器的基本组成与实例
3. ALU的应用
当采用组间并行进位时,需要增加一片先行 进位部件(74182)。
4 3 2 1 15 14 6 5
FA
C0
An Bn
A2 B2
A1 B1
5
4.1 基本算术运算的实现
4.1.2 进位的产生和传递 进位表达式 Ci=AiBi+(Ai⊕Bi)Ci-1 , Gi=AiBi,Pi= Ai⊕Bi
4.1.3 并行加法器的快速进位 1.并行进位方式
并行进位又叫先行进位、同时进位,其特点 是各级进位信号同时形成。
7
。 。 __ Cn
A0
B0
A1
B1
A2
B2
A3
B3___ Cn+4
16
8
M
7 8
。。。。。。。。 __ __ __ __ __ __ __ __
Cn A0 B0 M
A1
B1
A2 B2
A3 B3Cn+4
16
6
S0
5
S1
74181
A=B
14
G
17
4 3
S2
S3
F0
F1
F2
P F3
15
6 5 4 3
S0 S1 S2 S3
对原码表示的两个数进行加减运算时, 原码运算
符号位不参与运算,仅仅是两数的绝对值参 与运算。
0.1000
计算机的实际操作是加还是减,不仅取 决于指令的操作码,还取决于两个操作数的
+1.1011 0.0011
符号,例如:加法时可能要做减法(两数异
号);减法时又可能做加法(两数异号), 所以原码加减运算的实现是比较复杂的。


M
S0
ALU
+1
S3
选择器

R0~Rn-1
选择器

R0~Rn-1
12
4.9 运算器的基本组成与实例
(2)带输入锁存器的运算器



移位器
M
S0
ALU
+1
R0
S3
锁存器1
锁存器2
Rn-1
内部总线
13
4.9 运算器的基本组成与实例
2.运算器的内部总线结构 (1)单总线结构运算器
运算器实现一次双操作数的运算需要分成三步。
[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补
[-Y]补=[Y]补+1
31
4.2 定点加减运算
已知[Y]补求[-Y]补的方法是:将[Y]补连同符 号位一起求反,末尾加“1”。称为变补。 [-Y]补=[[Y]补]变补, [-Y]补=[Y]补+1
例1:Y=-0.0110
变补
[Y]补=1.1010,[-Y]补=0.0110 例2:Y=0.0110
17
4.9 运算器的基本组成与实例
2.4位ALU芯片 74181是四位算术逻辑运算部件(ALU),
又称多功能函数发生器,能执行16种算术运算和 16种逻辑运算。
A0、B0~A3、B3:操作数输入端; F0~F3:输出端; Cn ’ :进位输入端; Cn+4 ’ :进位输出端; G* :组进位产生函数输出端; P*:组进位传递函数输出端;
不能直 接带符 号运算
29
4.2 定点加减运算
0.1000+(-0.1011)=?
原码运算
补码运算
0.1000 +1.1011
0.0011
0.1000 +1.0101
1.1101
不能直 接带符 号运算
能直接 带符号
运算
30
4.2 定点加减运算
4.2.2 补码加减运算
1.补码加法
两个补码表示的数相加, 符号位参加运算,且两数和 的补码等于两数补码之和, 即
寄存器DR1 (11000001)
数据开关 (01000011)
寄存器DR2 (01000011)
LDDR1=1 LDDR2=0 T4=
43H
LDDR1=0 LDDR2=1 T4= 26
步骤3:算术与逻辑运算
27
28
4.2 定点加减运算
4.2.1 原码加减运算
0.1000+(-0.1011)=?
G1 P1 S4~S1
4位 C12
4位 C8
BCLA
BCLA
加法器
加法器
4位 C4 BCLA 加法器
4位 BCLA 加法器
A16~A13
A12~A9
A8~A5
A4~A1
B16~B13
B12~B9
B8~B5
B4~B1
C0
9
4.9 运算器的基本组成与实例 运算器是在控制器的控制下实现其功能 的,运算器不仅可以完成数据信息的算逻 运算,还可以作为数据信息的传送通路。
加法器
加法器
加法器
加法器
C0
A16~A13
A12~A9
A8~A5
A4~A1
B16~B13
B12~B9
B8~B5
B4~B1
8
4.1 基本算术运算的实现
(2)多级先行进位方式 多级先行进位又称组内并行、组间并行进位方式。
C16
CLA电路
G4 P4
G3 P3
G2 P2
S16~S13
S12~S9
S8~S5
课程理论教学章次顺序及主要内容
章次顺序 第一章 计算机组成概论
学时 2
第二章 数据的机器层次表 8 示
第四章 数值的机器运算
10
第三章 指令系统
6
第六章 中央处理器
16
第五章 存储系统和结构
10
第七章 外部设备
4
第八章 输入输出系统
8
CPU
运算器 (ALU)
控制器 (CU)
1
第4章 数值的机器运算
1,0 0 1 0
[X+Y]补=1,0010,X+Y=-1110B=-14D 两正数相加结果为-14D,显然是错误的。
34
4.2 定点加减运算
例2:X=-1011B=-11D,Y=-111B=-7D [X]补=1,0101 [Y]补=1,1001
1,0 1 0 1 + 1,1 0 0 1
0,1 1 1 0
[Y]补=0.0110,[-Y]补=1.1010
32
4.2 定点加减运算
3.补码加减运算规则 补码加减运算规则如下: ⑴ 参加运算的两个操作数均用补码表示; ⑵ 符号位作为数的一部分参加运算; ⑶ 若做加法,则两数直接相加;若做减法,则将被减
数与减数的机器负数相加; ⑷ 运算结果用补码表示。
33
4.2 定点加减运算
相关文档
最新文档