计算机组成原理6-运算方法-加法
计算机组成原理CPU运算方法(Part4)

一、加减法运算 二、乘法运算 三、除法运算 四、浮点数运算 五、算术逻辑运算单元
简单回顾—基本逻辑电路
与、或、非、多路选择器
AND/OR/INVERT/MUX
a b Out
a b
Out
0 0 1 1
0 1 0 1
0 0 0 1
a
b
Out
a b
+
Out
0 0 1 1
0 1 0 1
0 1 1 1
简单回顾—基本逻辑电路
与、或、非、多路选择器
AND/OR/INVERT/MUX
a
Out
a 0 1
Out 1 0Biblioteka a b0Out
1
d 0 1
Out a b
d
简单回顾—2的补码表示法
假设A由 假设 由an-1an-2…a1a0表示 最高位a 最高位 n-1为符号位
an-1= 0 表示 为正数 表示A为正数 an-1= 1 表示 为负数 表示A为负数
n
2.2 补码乘法(一位比较法,又称一位Booth法) 补码乘法(一位比较法,又称一位Booth法 Booth
令 Q−1 = 0 则
[ P]补 = [ M × Q]补 = [ M] 补 × Q 1 1 1 1 n n n = Qn−2 − Qn−1 [ M]补 2 + Qn−3 − Qn−2 [ M]补 2 + L+ 0 − Q0 [ M]补 2 L 2 2 2 2 P0 = 0 1 P1 = P0 + ( Q−1 − Q0 )[ M ] 补 2 n 2 1 P2 = P1 + ( Q0 − Q1 )[ M ] 补 2 n 变成分步算式: 变成分步算式: 2 M 1 Pi = Pi −1 + ( Qi − 2 − Qi −1 )[ M ] 补 2 n 2 M 1 Pn = P n −1 +( Qn − 2 − Qn −1 )[ M ] 补 2 n 2
计算机组成原理第6章习题指导

16
16
解: 因为 x = + 11 = 0.1011,y = + 7 = 0.0111
16
16
所以[x]补′ = 00.1011,[ y]补′ = 00.0111
则 [x]补′ + [ y]补′ = 00 .1011
+ 00 .0111 第一位符号位→ 01 .0010
溢出
此时,符号位为“01”,表示溢出,又因第 1 位符号位为“0”,表示结果的真正符号,故“01”表
个负数。
例 6.2 已知:[y]补 求:[-y]补。
解:设 [y]补 = y0.y1y2…yn
第一种情况 [y]补 = 0.y1y2…yn
(6.1)
所以
y = 0.y1y2…yn
故
-y = -0.y1y2…yn
则 [-y]补 = 1.y1y2…yn+2-n
(6.2)
比较式(6.1)和式(6.2),发现由[y]补连同符号位在内每位取反,末位加 1 即可得[-y]补。
-52 -104 -13
右移两位
1,0000110
-6
移位前
1,1100110
-26
左移一位 补
左移两位 码
右移一位
1,1001100 1,0011000 1,1110011
-52 -104 -13
右移两位
1,1111001
-7
移位前
1,1100101
-21,1001011 1,0010111 1,1110010
5
计算机组成原理第 6 章习题
器中一位符号的值要同时送到加法器的两位符号位的输入端。
例 6.16 已知:x = - 0.1110,y = - 0.1101 求:[x·y]原 解: 因为 x = - 0.1110
计算机组成原理

6. 画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。
答:计算机硬件组成框图如下:控制器运算器CPU主机存储器输入设备接口输出设备接口外设各部件的作用如下:控制器:整机的指挥中心,它使计算机的各个部件自动协调工作。
运算器:对数据信息进行处理的部件,用来进行算术运算和逻辑运算。
存储器:存放程序和数据,是计算机实现“存储程序控制”的基础。
输入设备:将人们熟悉的信息形式转换成计算机可以接受并识别的信息形式的设备。
输出设备:将计算机处理的结果(二进制信息)转换成人类或其它设备可以接收和识别的信息形式的设备。
计算机系统的主要技术指标有:机器字长:指CPU一次能处理的数据的位数。
通常与CPU的寄存器的位数有关,字长越长,数的表示范围越大,精度也越高。
机器字长也会影响计算机的运算速度。
数据通路宽度:数据总线一次能并行传送的数据位数。
存储容量:指能存储信息的最大容量,通常以字节来衡量。
一般包含主存容量和辅存容量。
运算速度:通常用MIPS(每秒百万条指令)、MFLOPS(每秒百万次浮点运算)或CPI (执行一条指令所需的时钟周期数)来衡量。
CPU执行时间是指CPU对特定程序的执行时间。
主频:机器内部主时钟的运行频率,是衡量机器速度的重要参数。
吞吐量:指流入、处理和流出系统的信息速率。
它主要取决于主存的存取周期。
响应时间:计算机系统对特定事件的响应时间,如实时响应外部中断的时间等。
9. 画出主机框图,分别以存数指令“STA M”和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。
假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
解:主机框图如P13图1.11所示。
(1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR)→CU,Ad(IR)→MAR,ACC→MDR,MAR→MM,WR(2)ADD M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR)→CU,Ad(IR)→MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR寄存器均为28位。
计算机组成原理—运算方法和运算器-6

规则:尾数右移1位,高位补符号位,阶码加1
例如:10.011101×2-110 右规后11.001110(1)×2-111 ②补码结果是00.0...01.....或11.1...10...时,需向左规格化(左规) 规则:尾数左移1位,低位补0,阶码减1,直到规格化 规格化:原码尾数值最高位为1,补码尾数值最高位与符号相反
2014-4-14
计算机组成原理
12
21:06
2.6.2 浮点乘法、除法运算
补码采用双符号位,为了对溢出进行判断:
00 01 为正 上溢 11 10 为负 下溢
[例]:x=+011,y=+110,求[x+y]补和[x-y]补,并判断是否溢出 [x]补=00011, [y]补=00110, [-y]补=11010 [x+y]补=[x]补+[y]补=01001, 结果上溢。 [x-y]补=[x]补+[-y]补=11101, 结果正确,为-3。
2014-4-14 计算机组成原理 17
21:06
2.6.1 浮点加法、减法运算
⑸舍入处理(对阶和向左规格化时):采用就近舍入处理得
00.11100011
⑹溢出判断和处理 阶码符号位为00,无溢出,不需处理; 尾数无溢出,不需处理。 最终真值结果为:x+y = (0.11100011)×24
设有两个浮点数x和y:x=2Ex· Mx 则:x×y=2(Ex+Ey)· (Mx×My); 乘/除运算分为六步: y=2Ey· My x÷y=2(Ex-Ey)· (Mx÷My);
①.0操作数检查; ②.阶码加减操作; ③.尾数乘除操作;
④.结果规格化;
⑤舍入处理; ⑥确定符号
Mx=111101101;
计算机组成原理 加法器和ALU

B16~B13
B12~B9
B8~B5
B4~B1
3.4 加法器和ALU
3.4.2 ALU电路
为了实现算术/逻辑多功能运算,则必须 对全加器(FA)的功能进行扩展,具体方 法是:先不将输入Ai、Bi和下一位的进位 数Ci直接进行全加,而是将Ai和Bi先组合 成由控制参数S0、S1、S2、S3控制的组 合函数Xi、Yi,如图3-16所示,然后再将 Xi、Yi和下一位进位数通过全加器进行全 加。这样,不同的控制参数可以得到不同 的组合函数,因而能够实现多种算术运算 和逻辑运算。
3.4 加法器和ALU
C4=G4+P4C3 C5=G5+P5C4= G5+ P5G4+ P5P4C3 C6=G6+P6C5= G6+ P6G5+ P6P5G4+ P6 P5P4C3 C7=G7+P7C6= G7+ P7G6+ P7P6G5+ P7P6 P5 G4+ P7P6 P5P4C3
C8=G8+P8C7 C9=G9+P9C8= G9+ P9G8+ P9P8C7 C10=G10+P10C9= G10+ P10G9+ P10P9G8+ P10 P9P8C7 C11=G11+P11C10= G11+ P11G10+ P11P10G9+ P11P10 P9 G8+ P11P10 P9P8C7
最高数值位与符号位相同,此时尾数连续左移,直到最高数值 位与符号位的值不同为止。同时从E中减去移位的位数,这称之 为“向左规格化”,简称“左规”。
4.舍入
右规或对阶时尾数低位上的数值会移掉,使数值精度受影响, 常用“0”舍“1”入法。当移掉的最高位为1时,在尾数的末位加 1,如果加1后又使尾数溢出,则要进行右规。
计算机组成原理实验报告(加法运算)

池州学院数学计算机科学系实验报告专业:计算机科学与技术班级:11计本(2)班实验课程:计算机组成原理姓名:惠昊学号:110312210 实验室:硬件实验室同组同学:邓晓煜刘广东时应东于小波黄震朱斌斌钟建强王凤侠王敏实验时间:2013年3月20日指导教师签字:何向荣成绩:基本运算器实验:加法运算一实验目的和要求1.了解运算器的组成结构。
2.掌握运算器的工作原理。
二实验环境PC机一台,TD-CMA 实验系统一套三实验步骤及实验记录(1)按图连接电路,并检查无误。
(2)将时序与操作台单元的开关KK2 置为‘单拍’档, 开关KK1 、KK3 置为‘运行’档。
(3) 打开电源开关,然后按动CON单元的CLR 按钮,将运算器的A、B 和FC、FZ清零。
(4) 用输入开关向暂存器A 置数①拨动CON单元的SD27…SD20 数据开关,形成二进制数,数据显示亮为‘1 ’,灭为‘0 ’。
②置LDA=1,LDB=0,连续按动时序单元的 ST 按钮,产生一个 T4上沿,则将二进制数置入暂存器 A 中,暂存器A 的值通过ALU单元的A7…A0八位 LED 灯显示。
(5) 用输入开关向暂存器B 置数。
①拨动CON单元的SD27…SD20 数据开关,形成二进制数。
②置LDA=0,LDB=1,连续按动时序单元的 ST 按钮,产生一个T4上沿,则将二进制数置入暂存器B 中,暂存器 B 的值通过 ALU单元的B7…B0八位LED 灯显示(6)改变运算器的功能设置,观察运算器的输出。
置ALU_B=0、LDA=0、LDB=0,置 S3、S2、S1、S0为1001 ,运算器作加法运算四实验结果与分析。
计算机组成原理补码加减法运算

(mod 2)
特点:不需要事先判断符号,符号位与码值位一起参加运算。 符号位相加后若有进位,则舍去该进位数字。
在模2意义下,任意两数的补码之和等于该两数之和的补码。 这是补码加法的理论基础。
补码加法的特点: (1)符号位要作为数的一部分一起参加运算; (2)在模2的意义下相加,即大于2的进位要丢掉。
符号位出现“10”,表示已溢出,负溢出。即结果小于-1
计算机组成原理
15
基本的二进制加法/减法器
1.一位全加器 逻辑方程
Si Ai Bi Ci
Ci1 Ai Bi ( Ai Bi )Ci
一位全加器真值表
输入
输出
Ai
Bi
Ci
Si
Ci+1
000
0
0
001
1
0
010
1
0
011
0
1
100
1
0
101
Cn-1 = Gn-1+Pn-1Gn-2+Pn-1Pn-2Gn-3 …+Pn Pn-1 …P1C0
……
Cn = Gn+PnGn-1+PnPn-1Gn-2 +PnPn-1Pn-2Gn-3…
+ PnPn-1 Pn-2 …P1C0
位数越长,进位链电路复杂度越高
通常按照4位一组进行分组运算
计算机组成原理
23
公式证明: 只要证明[–y]补= –[y]补, 上式即得证。
证明:
∵
令
∴
故
[x+y]补=[x]补+[ y]补 y = -x
(mod 2)
[0]补 =[x]补 + [ -x]补
计算机组成原理逻辑运算

计算机组成原理逻辑运算逻辑运算是计算机组成原理中非常重要的一部分,它通过对输入的逻辑值进行组合和操作,得到输出的逻辑值。
计算机中最基本的逻辑运算包括与、或、非三种运算。
与运算,又被称为逻辑乘法,它有两个输入,如果两个输入都是1,那么输出为1,否则输出为0。
其真值表如下:输入A,输入B,输出Y-------,-------,-------0,0,00,1,01,0,01,1,1或运算,又被称为逻辑加法,它有两个输入,如果两个输入中有至少一个是1,那么输出为1,否则输出为0。
其真值表如下:输入A,输入B,输出Y-------,-------,-------0,0,00,1,11,0,11,1,1非运算,又被称为逻辑反演,它只有一个输入,如果输入是1,那么输出为0;如果输入是0,那么输出为1、其真值表如下:输入A,输出Y-------,-------0,11,0除了这三种基本的逻辑运算,还有其他一些常用的逻辑运算,如异或(XOR)、与非(NAND)、或非(NOR)等。
这些逻辑运算可以通过基本的逻辑门电路进行实现。
基本的逻辑门电路主要包括与门(AND Gate)、或门(OR Gate)、非门(NOT Gate)、与非门(NAND Gate)、或非门(NOR Gate)、异或门(XOR Gate)等。
这些逻辑门电路可以通过逻辑电路图进行表示。
例如,与门的逻辑电路图如下所示:```_____A--AND,---B---,_____```图中A和B是输入端口,Y是输出端口,AND是与门。
根据与门的定义,只有当A和B的输入同时为1时,输出Y才会是1、否则,输出Y为0。
通过组合这些基本逻辑门电路,可以实现复杂的逻辑运算。
例如,通过与门和非门的组合,可以实现与非门的功能;通过或门和非门的组合,可以实现或非门的功能。
逻辑运算在计算机组成原理中广泛应用,包括算术逻辑单元(ALU),寄存器,控制单元等等。
这些逻辑运算的实现方式和原理都是基于逻辑门电路和逻辑电路图的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 0010原 1 0011原 1 1110补 0 0011原 1 0011原 1 1101补
例. 保留4位尾数: 0 00100原
1 00101原 1 11011补
计算机内部的主要运算其实都只是加法运算,
其余的减法、乘法、除法等种种运算都只是加法
运算的应用罢了。 计算机内部都是以二进制加法来做加法运算的,
所以这里讲解的加法器的设计,只是讨论二进制 加法器的设计。
所谓半加器的意思,顾名思义就是只有一 半的加法运算功能而已,也就是说半加器并不 考虑前级进位的情况。由于这类加法器没有考
溢出将使结果的符号位产生错乱。
溢出判断
在什么情况下可能产生溢出?
例.数A有4位尾数,1位符号FA 数B有4位尾数,1位符号FB 结果符号Fh 符号位参 加运算
符号位进位Cf
尾数最高位进位C
1. 硬件判断逻辑一(FA、FB与Fh的关系)
2. 硬件判断逻辑二(Cf与C的关系)
3. 硬件判断逻辑三(双符号位)
将[Y]补变补
[Y]补
[–Y]补:
不管Y补为正或负,将其符号连同尾数一起各位 变反,末位加1。
例. 求[X – Y]补
[X]补=0 0100 [Y]补=1 1011 [-Y]补=0 0101 0 1001 (+9补码) 2) X= –4 [X]补=1 1100 Y= 5 [Y]补=0 0101 [-Y]补=1 1011 (–9补码) 1 0111 1) X= 4 Y= –5
Bn
An
Bn
An
Bn
全加器 Cn Cn-1 Sn
全加器 Cn Cn-1 Sn
全加器 Cn Cn-1 Sn
Cn
全加器 Sn
Cn-1
C0
C3
S3
S2
S1
S0
D
An FA Cn
Q
CK
Bn Cn-1 Sn
超前进位并行加法器
Cn+1
Fn …… F1 ∑
An…… A1
Bn……B1 C0
定点补码加减运算
数用补码表示 符号位参加运算
主要适用场合:① 串/并转换 ② 判别、置位、 复位(移至最低位,再进行判别或修改,硬件 代价较小)。
2. 算术移位 基本原则:算术移位中必须保持符号位不变, 若左移过程中出现溢出,可采用双符号位方案。 1) 原码:数符不变,空位补0
左移1位 00.1010 01.0100
(常用于除法运算)
1. 硬件判断逻辑一(FA、FB与Fh的关系)
(2)A=10 B=7 10+7 :0 1010 0 0111 1 0001 溢出= FA FB Fh (4)A= -10 B= -7 1 -10+(-7): 0110 1 1001 0 1111 FA FB Fh
2. 硬件判断逻辑二(Cf与C的关系) 符号位进位Cf尾数最高位进位C
符号位 数值位
1.1010 右移 1.0101
(常用于乘法运算)
01.1000 00.1100
右移
2) 补码-----正数
(1)单符号位 :
左移 右移 右移
(2)双符号位:
左移 左移 右移 右移
0 0111 0 1110 0 0111 0 0011
移位规则: 数符不变
Cn
Sn
半加器和全加器的加法器电路,原则上都只
能处理一个位的加法运算。也就是说不管是半加
器还是全加器,在同一时间都只能做一个位的相
加。因此,当有两个n位数要相加时,就必须将n
个全加器“并起来”一起做加法运算,这种将全
加器并起来的电路就称为加法器。
A3 B3
A2 B2
A1 B1
A0 B0
An
Bn
An
00 0111 00 1110 01 1100 00 1110 00 0111
(单:符号位不变;双:第一符号位不变)。
空位补0 (右移时第二符号位移至尾数最高位)。
3)补码----负数
(1)单符号位 : (2)双符号位:
左移
右移 右移
1 1011 1 0110 1 1011 1 1101
左移
右移 右移
4) X= –3 [X]补=1 1101 Y= 2 [Y]补=0 0010
3) X= 3 [X]补=0 0011 Y= –2 [Y]补=1 1110 0 0001 (+1补码)
(–1补码)
1 1111
补码加减运算规则
[X+Y]补=[X]补+[Y]补
[X-Y]补=[X]补+[-Y]补
操作为“减”时,将减转换为加。 即将减数变补后与被减数相加。
运算,所以就将这种加法器称为全加器。
前级进位 Cn-1 0 0 0 0
被加数 An 0 0 1 1
加 数 Bn 0 1 0 1
结果:F=Cn-1+An+Bn=Cn Sn Cn Sn 0 0 0 1 0 1 1 0
1
1 1 1
0
0 1 1
0
1 0 1
0
1 1 1
1
0 0 1
An
FA Bn Cn-1
补码加减运算规则
[X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补
操作为“加” 时,两数直接相加。
例. 求[X+Y]补
1) X=3 [X]补=0 0011 Y=2 [Y]补=0 0010
(+5补码)
0 0101
2) X= –3 [X]补=1 1101 Y= –2 [Y]补=1 1110 1 1011 (– 5补码)
+A:打开控制门,将A送∑。 +B:打开控制门,将B送∑。 +B:打开控制门,将B送∑。 +1:控制末位加 1 。 ∑ A +1
(2)补码加减运算器粗框
∑
加法器输出端:
∑ A:打开控制门,将结 果送A输入端。 CPA:将结果打入A。 +A A B B
+B +B
A(X补)
CPA
B(Y补)
溢出判别
概念:运算结果超出规定字长的机器数 的取值范围,称为溢出(overflow)。 ① 正溢:超过最大正数; ② 负溢:超出最小负数
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 10111 Cf=0 0 0010 Cf=0 C =0 0 0101 正确 C =1 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 Cf=1 11 11110 Cf=1 11 1001 C =1 1 1011 正确 C =0 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 Cf=1 11 11100 Cf=0 0 0100 C =1 0 0010 正确 C =0 1 1110 正确
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 0010 0 0111 0 0101 正确 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 1 1110 1 1001 1 1011 正确 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 1 1100 0 0100 0 0010 正确 1 1110 正确
1. 硬件判断逻辑一(FA、FB与Fh的关系) 溢出= FA FB Fh FA FB Fh
2. 硬件判断逻辑二(Cf与C的关系) 溢出= Cf C
3. 硬件判断逻辑三(双符号位)
(1)3+2: (2)10+7: 00 0011 第一符号位Fh1 00 1010 00 0010 00 0111 00 0101 正确 01 0001 (3)-3+(-2): (4)-10+(-7): 11 1101 第二符号位Fh2 11 0110 11 1110 11 1001 11 0111 正确 10 1111 (5)6+(-4): (6)-6+4: 00 0110 11 1010 11 1100 00 0100 00 0010 正确 11 1110
运 算 方 法
计算机进行算术运算的特点:
(1)所有数据都是用二进制数位形式来表示的。
(2)在机器内部,数是以编码形式即机器数来表示的。 (3)机器运算规模有限,因而机器运算就要解决运算方 法、数据表示格式及数据长度的选取、规定等问题。 (4)用计算机进行运算时,都要把复杂的运算,简化为 一系列的、最基本的运算才能实现。计算机可以实现 的基本运算有算术运算(加、减、乘、除等)和逻辑运算 (与、或、异或等)。
虑到所有情况的加法运算,好像缺少了什么似
的不全,所以称为半加器。
被 :F=A+B=CS C S 0 0 0 1 0 1 1 0
A B
S
An HA Bn
Cn Sn
C
由于半加器电路只能处理没有前级进位的加法 运算,但在二进制多个位的加法运算中,除了最右 边一个位不会有前级进位外,其余的位都有可能出 现前级进位,因此必须在半加器电路中再增加前级 进位的输入端,虽然只比半加器电路多了个前级进 位输入端,但是可以处理全部情况所有可能的加法
11 0110 10 1100 11 0110 11 1011
移位规则 数符不变 (单:符号位不变;双:第一符号位不变)。