定点运算器的组成
《计算机组成原理》之定点运算器的课件设计与开发
( l g f h s s n l t ncIfr t nE g er g W e z o ie i , e z o 2 0 5 C ia Co e eo yi dE e r i no ma o n i e n , n h uUnv r t W n h u3 5 3 , hn ) l P ca co i n i sy
p nta he ar y o he iii .”he ompost h f oi nd t ra f t dv s on” t c ii oft e i on x—poit a t ei” t e m e h s ft e fo t oi n t oa n n r hm tc .”h t od o h a ng p nta d he f t g i l i l i
Absr t t ac :Th ou sw ae dein nd d v l m e tf rt e f d—po n rt m ei n t incplso e c re r s g a e eop n o h xe i i taih tc i he Pr i e fComputrC o po i o ncude i e m st n i l ssx i
中 图 分 类 号 :P 9 T 33 文 献标 识码 : A 文章 编 号 :0 9 3 4 (0 12 — 9 8 0 1 0 — 0 42 1 ) 8 6 8 — 2
T e Co r e r sg n v l p e tf r t e Fie - o n i me ci e Prn i l fCo p t r Or a i a o h u s wa e De i n a d De eo m n o h x d p i t Art h t n t i cp e o m u e g n z t n i h i
5 运算器
附加 加法器
δ
D寄存器
Xe
Xn
X
为加减运算标记触发器, 为溢出标记触发器, GA、 GS 为加减运算标记触发器,V为溢出标记触发器,α两个操作 数的符号(1同、0异),δ 控制加减法步骤。 数的符号( ),δ 控制加减法步骤。
二、浮点乘法、除法运算器的硬件组成 浮点乘法、 1、浮点乘除运算步骤 、 (1)阶码相加减(2)尾数乘除(3)规格化(4)舍入(5)溢出判断 )阶码相加减( )尾数乘除( )规格化( )舍入( ) 2、浮点乘、除法运算器逻辑电路图 、浮点乘、除法运算器逻辑电路图
§ 5 · 3 浮点运算器
一、浮点加、减法运算器 浮点加、 1、浮点加减运算步骤 、 (1)对阶(2)尾数求和(3)规格化(4)舍入(5)溢出判断 )对阶( )尾数求和( )规格化( )舍入( ) 2、浮点加、减法运算器逻辑电路图 、浮点加、减法运算器逻辑电路图
GA α GS V C寄存器 Ae An m位 并行加法器 A
2、双总线结构
A 运算过程 L 锁存器 (1)将操作数 、 通用寄存器 )将操作数1、 U 操作数2分别从总 操作数 分别从总 线1、总线 送入 、总线2送入 ALU,并存结果于锁存器。 ,并存结果于锁存器。 (2)从锁存器中取出结果送入目标空间。 )从锁存器中取出结果送入目标空间。 特点 速度比较快 状态标志寄存器
Qm ρ 附加 加法器 C寄存器 Ae An m位并行加 法器及控制 线路 D寄存器 Xe Xn X A MQ寄存器
τ
Qm(Qd)为浮点乘( Qm(Qd)为浮点乘(除)法标记触发器,τ为主周期计数器; 法标记触发器, 为主周期计数器; 为节拍计数器。 ρ为节拍计数器。
§ 5 · 4 改善和增加运算器功能的几种硬件实现
第4章 计算机中的运算器部件
计算机中的运算器部件
运算器的基本功能
运算器是计算机五大功能部件之一,在控制器的 指挥控制下,完成指定给它的运算处理功能(算术、 逻辑运算);也是CPU内部数据传送的重要通路。 主要由ALU、暂存被运算数据和中间结果的寄存 器组(Regs)和其它辅助电路3部分组成。 运算器通常包括下列两种类型:
输出Y /OE
F3 F=0000 OVR Cn+4
二选一
Am2901之结果去向选择门
/OE有效时,将F 或A锁存器送往Y
Cn
I3 I4 I5 I0 I1 I2
F A L U R S 二选一 三选一
输入D 将F不移、左移、 A锁存器 B锁存器 乘商寄存器Q 右移一位送往通 用寄存器,由 Q0 A 16个 B Q3 A地址 RAM3和RAM0 三选一 B地址 分别接收移入位 通用寄存器 或提供移出位 RAM3 三选一 RAM0
CP A、B口锁存 通用寄存器 接收
Q 接收
Am2901的控制信号汇总表
编码
B
I8 I7 I6
Q Y
I5 I4 I3 F F A R+S S− R R− S
I2 I1 I0
R S
000 001 010 B← F
Q← F
A A 0
பைடு நூலகம்
Q B Q
011
100 101 110 111
B← F
B← F/2 Q← Q/2 B← F/2 B← 2F B← 2F Q← 2Q
四位并行进位加法器
4-1 运算器部件概述
可实现加(减)、与、或运算的一位ALU
功能选择信号 OP
00 01 10 11
Xn
与 门 或 门 加 法 器
计算机组成原理—运算方法和运算器-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;
计算机原理第三章运算方法和运算器综合练习
计算机原理第3章运算方法和运算器综合练习一、选择题知识点:定点补码的加法,减法,不带符号数的运算,溢出 P261、[X]补+[Y]补=[X+Y]补(mod 2n)2、[X-Y]补=[X+(-Y)]补= [X]补+[-Y]补(mod 2n)3、[-Y]补=[[Y]补]变补(注:连同符号位一起变反加1的过程叫变补或求补。
)4、判断溢出条件: C S+1和C S相异时溢出当C S+1C S=00或 C S+1C S=11时不产生溢出。
当C S+1C S=01或C S+1C S=10时则产生溢出。
1、计算机中实现减法运算使用的方法是()A.从被减数中减去减数 B.从减数中减去被减数再求反C.转换为补码的加法运算 D.依减数的形式再选择一种适当的方法2、定点数作补码加减运算时,其符号位是( )A.与数位分开进行运算B.与数位一起参与运算C.符号位单独作加减运算D.两数符号位作异或运算3、补码加减法运算是()A .操作数用补码表示,两数的尾数相加减,符号位单独处理,减法用加法代替B .操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减所得相同C .操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代表,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4、执行二进制算术运算11001001+00100111,其运算结果是()。
A) 11101111 B) 11110000 C) 00000001 D) 101000105、已知X的补码为11101011,Y的补码为01001010,则X+Y的补码为()。
A、10100001B、11011111C、00110101D、溢出6、已知X的补码为11101011,Y的补码为01001010,则X-Y的补码为()。
A、10100001B、11011111C、10100000D、溢出7、下面关于溢出的描述正确的是()A 溢出就是进位B 溢出是指运算结果的最高位向更高位进位或借位C 溢出与补码运算中的模丢失是一个概念D 溢出主要用于判断带符号的运算结果是否超过数的表示范围8、定点运算器运算时产生溢出的原因是()。
计算机组成原理第四版第二章
+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
第2章_运算方法和运算器74181
01100111z
x⊕y = 01100111
2.5.1 逻辑运算(续9)
事实上,逻辑加还可以通过逻辑乘和逻辑 非来实现:
zi=xi∨yi =xi∧yi
同样,逻辑乘也可以用逻辑加和逻辑非来 实现 :
zi=xi∧yi =xi∨yi
2.5.2 多功能算术/逻辑运算单元(ALU)
由一位全加器(FA)构成的行波进位加法器, 它可以实现补码数的加法运算和减法运算。
Fi=Xi⊕Yi⊕Cn+i Cn+i+1=XiYi+YiCn+i+Cn+iXi
图2.10 ALU的逻辑结构原理框图
2.5.2 多功能算术/逻辑运算单元(ALU)续2
上式中进位下标用n+i代替原来全加 器中的i,i代表集成在一片电路上的ALU的
二进制位数。对于4位一片的ALU,i= 0,1,2,3。
=G*+P*Cn 其中: 成组进位传送输出: P*=P0P1P2P3 成组进位发生输出:G*=G3+G2P3+G1P2P3+G0P1P2P3
根据以上表达式,用TTL器件实现的成组 先行进位部件74182的逻辑电路图如图2.12所 示 其中G*称为成组进位发生输出,P*称为成组 进位传送输出。
这种加法/减法器存在两个问题:
一是由于串行进位,它的运算时间很长。假如加 法二器是由就n行位波全进加位器加构法成器,本每身一来位说的,进它位只延能迟完时成间为
经典:计算机组成原理-第2章-运算方法和运算器
第二章:运算方法和运算器
2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器
其中尾数域所表示的值是1.M。因为规格化的浮点数的尾数域最
左位(最高有效位)总是1。故这一位经常不予存储,而认为隐藏
在小数点的左边。
64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏
移值是1023。因此规格化的64位浮点数x的真值为:
x=(-1)s ×(1.M) × 2E-1023 e=E-1023
[X]反=1.x1x2...xn 对于0,有[+0]反=[-0]反之分:
[+0]反=0.00...0
[-0]反=1.11...1
我们比较反码与补码的公式
[X]反=2-2-n+X
[X]补=2+X
可得到 [X]补=[X]反+2-n
8
若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变 0,然后在最末位(2-n)上加1。
10100.10011=1.010010011*24 e=4 于是得到:S=0,E=4+127=131=10000011, M=010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)164
1《计算机组成原理》作业一解答
作业一解答一、名词解释:地址:寻址存储器中存储单元的二进制编号。
字长:计算机(或CPU)并行处理的数据字的位数。
二、简答题:说明软件与硬件的逻辑等价性。
答案:计算机的逻辑功能可以由软件来实现,也可以由硬件来实现;计算机指令的执行可以由硬件完成,也可以由软件来完成。
实现这种转化的媒介是软件与硬件的逻辑等价性。
对于某一具体功能采用硬件方案还是软件方案,取决于器件价格、速度、可靠性、存储容量、变更周期等因素。
简述计算机系统的多级层次结构,为什么会形成这种多级层次结构?答案:计算机系统通常由微程序级、一般机器级、操作系统级、汇编语言级和高级语言级组成的多层次结构。
形成这种结构的原因主要有两个方面:这种多层次结构是人们对于计算机一种深入的、本质的认识和应用,是人们对于计算机系统在不同层次上进行一种抽象的思维;这种多层次结构解决了计算机功能扩展问题,抽象数据结构的层次越高计算机系统的复用性越好、通用性越强。
作业二解答一、已知x =11011,y =-10101,用变形补码计算x+y,同时指出结果是否溢出。
答案:[x]补= 0011011(或011011),[y]补=1101011(或101011)[x]补0 0 1 1 0 1 1双符号位相同,无溢出,x+y=110二、已知x =11011, y =-10011,用变形补码计算x-y,同时指出结果是否溢出。
答案:[x]补= 0011011(或011011),[y]补=1101101(或101101)[-y]补=0010011(或010011)[x]补0 0 1 1 0 1 1+ [-y]补0 0 1 0 0 1 1[x-y]补0 1 0 1 1 1 0双符号位不同,结果溢出。
三、已知x = 0.11011,y =-0.11111,用原码阵列乘法器、补码阵列乘法器分别计算x×y。
答案:[x]原= 011011,[y]原= 111111 [x]补= 011011,[y]补= 100001符号位= 0⊕1 = 1,符号位= 0⊕1 = 1,[x]补、[y]补算前求补:| x | = 11011,| y |=11111 | x | = 11011,| y |=11111 无符号阵列乘法:11011 无符号阵列乘法:11011×11111 ×1111111011 1101111011 1101111011 1101111011 11011+ 11011 + 110111101000101 1101000101 乘积符号位是1,则:乘积符号位是1,算后求补:[x×y]原= 11101000101 [x×y]补= 10010111011作业三解答一、利用181和182芯片,画出32位的三级先行进位逻辑结构。
计算机组成原理第3章 运算器和运算方法
第三章运算方法和运算器3.1补码的移位运算1、左移运算:各位依次左移,末位补0对于算术左移,若没有改变符号位,左移相当于乘以2。
2、右移运算:算术右移:符号位不变,各位(包括符号位)依次右移。
(相当于除以2)逻辑右移:最高位补0,其余各位依次右移例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补;[-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011[0.5X]补=0.01011 [0.5Y]补=1.11011[0.25X]补=0.001011 [0.25Y]补=1.111011[-X]补=1.0101 [-Y]补=0.01012[-X]补=0.1010 (溢出) 2[-Y]补=0.10103.2定点加减法运算及其实现3.2.1 补码加减法运算方法由于计算机中的进行定点数的加减运算大都是采用补码。
(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补(证明过程见教材P38)例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补解:[X]补=0.001010 [-Y]补=0.100011则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程.例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程.例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.解: (8位二进制表示)例2: X=0.0100000 Y=-0.1010000[X]补=0.0100000 [Y]补=1.0110000则 [X+Y]补=[X]补+[Y]补=0.0100000 + 1.0110000=1.1010000[X+Y]原=-0.0110000=(-0.375)D[X]补=0.0100000 ,[-Y]补=0.1010000则 [X-Y]补 = [X]补+[-Y]补 = 0.0100000+0.1010000=0.1110000[X+Y]原 = 0.1110000 =(0.875)D例3: X=+0011001 Y=-0001001[X]补=00011001,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 00011001 + 11110111= 00010000[X+Y]原 =+0010000=(+16)D[X]补= 00011001 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 00011001 + 00001001= 00100010[X+Y]原 = +0100010 =(34)D例4: X=-0011001 Y=-0001001[X]补=11100111,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 11100111 + 11110111[X+Y]原 =-00100010=(-34)D[X]补= 11100111 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 11100111 + 00001001= 11110000[X+Y]原 = -0010000 =(-16)D3.2.2 定点加减法运算中的溢出问题溢出:运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数.溢出只是针对带符号数的运算.比如:[X]补=0.1010,[Y]补=0.1001,那么[X]补+[Y]补=1.0011(溢出)溢出是一种错误,计算机中运算时必须能够发现这个现象,并加以处理判断溢出的方法:1、采用变形补码法[X+Y] 变补=[X] 变补+[Y] 变补[X-Y] 变补=[X] 变补+[-Y] 变补例1 X=0.1011 Y=0.0011 求[X+Y]补解: [X]变补 = 00.1011, [Y]变补 = 00.0011[X+Y]变补 = 00.1011 + 00.0011 = 00.1110所以 [X+Y]补 = 0.1110例2 X=0.1011 Y=0.1001 求[X+Y]补解: [X]变补 = 00.1011 [Y]变补 = 00.1001[X+Y]变补 = 00.1011 + 00.1001 = 01.0100运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。
计算机组成与设计第三版 第四章课后答案
4.6 运算器内的乘商寄存器的移位操作与通用寄存器的移 位操作之间应有什么样的关联关系吗?为什么会是这样?
பைடு நூலகம்
乘除寄存器的移位操作与通用寄存器的移位操作是联合 移位,没有乘除寄存器单独移位功能。当通用寄存器本 身移位时,乘除寄存器不受影响。
4.8.以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、 传送功能,为什么必须在Am2901芯片之外解决向运算器提供最低位的进位信 号,最低、最高位的移位输入信号,以及状态位的接受与记忆问题。设计完 成如下操作功能的操作步骤和必须提供的信号:把100送入R0,R0的内容送入 R1,完成R0-R1并存入R0,R1的内容减1,R1的内容送入Q,R1和Q与C联合 右移一位。
4.8.以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、 传送功能,为什么必须在Am2901芯片之外解决向运算器提供最低位的进位信 号,最低、最高位的移位输入信号,以及状态位的接受与记忆问题。设计完 成如下操作功能的操作步骤和必须提供的信号:把100送入R0,R0的内容送入 R1,完成R0-R1并存入R0,R1的内容减1,R1的内容送入Q,R1和Q与C联合 右移一位。
4.13.假定X=0.0110011*211,Y=0.1101101*2-10(此处的数均为二进制)。 (1)浮点数阶码用4位移码、尾数用8位原码表示(含符号位),写出 该浮点数能表示的绝对值最大、最小的(正数和负数)数值; (2)写出X、Y正确的浮点数表示(注意,此处预设了个小陷阱); (3)计算X+Y; (4)计算X*Y。 4)计算X*Y A:阶码相加:[X+Y]移=[X]移+[Y]补=01 011+11 110=01 001 (符号位10第1位为0,不溢出;00时上溢,01时下溢) B:尾数相乘结果:0 1010110 110111 C:已满足规格化要求,不需左规,尾数不变,阶码仍为001 D:舍入处理:按0舍1入规则,尾数之后的6位110111舍去,尾数 +1=0 1010111 所以,X*Y最终浮点数格式的结果: 1 001 0 1010111,即 0.1010111*21
计算机组成原理-第2周下-定点加减法运算
[y]补= 1 1 0 1 1 10 0110
所以
x+y=+0110
6
例: x=-11001 ,y=-00011,求 x+y=?
解:[x]补=1 0 0 1 1 1, [y]补=1 1 1 1 0 1
[x]补=1 0 0 1 1 1 +
丢掉
[y]补=1 1 1 1 0 1 11 0 01 0 0 由以上三例看到,补码加法的特点: (1) 符号位要作为数的一部分一 起参加运算。 (2) 要在模2n+1的意义下相加, 即超过2n+1的进位要丢掉!
13
[例16] x=-1101, y=-1011,求x+y。 [解:] [x]补=10011 [y]补=10101 [x]补 + [y]补 [x+y]补 10011 10101 01000
两个负数相加的结果成为正数,这同样是错误的。 之所以发生错误,是因为运算结果产生了溢出。两个正数相 加,结果大于机器所能表示的最大正数,称为正溢出。而两个负数 相加,结果小于机器所能表示的最小负数,称为负溢出。
21
常见的门电路
1.与门 真值表表示的两输入端与门如表2-1所示,逻辑符号如图 2-1所示。从与门的逻辑关系上可以看出,如果输入端A 作为控制端,则A的值将会决定输入端B的值是否能被输 出到端口Y。
Y AB
A
B
Y=AB
0 0 0 0 1 0 1 0 0 1 1 1 表2-1 两输入端与门的真值表
27
5.或非门
真值表表示的两输入端或非门如表2-5所示,逻辑符号如 图2-5所示。可以利用或非门的输入端A来控制输入端B。 当A=0时,(输入信号被反相输出);当A=1时,则不管 B的值是什么,Y都为0。
3.2 定点运算器的组成和结构-2
运算结果:R3=1010,N(符号位)为 1,其他标 志不变。
第三种操作: (3) )第三种操作:利用运算器计算操作数地址或 转移地址。 转移地址。 假设当前执行转移指令,转移地址由程序计数器 的值加上相对位移量得出。 讲解运算器计算转移地址的过程: ①MUX2 选择程序计数器 PC 的内容送往 ALU 的 B 输入端; ②MUX1 选择指令寄存器中的相对位移量到 ALU 的 A 输入端 ③令 ALU 做 A+B 算术加运算,从 Y 输出的内容 送往程序计数器 PC 中,这时 PC 中就为转移址了。 学生认真看书 P38 图 3-7 并思考操作过程
循环右移一位后,变为: X0 C X3
5
板书:
3.2.5 运算器的基本结构
1、单总线结构的运算器 、 概念: 运算器的所有部件都接到一条总线上的运算结构 是单总线结构的运算器。 特点: 这种结构的运算器,数据可以在任何两个寄存器 之间,或者在任一个寄存器和 ALU 之间传送。在同一 时间内,只能有一个操作数在总结线上。 缺点:操作速度慢 单总线结构运算器的图: 学 生了解单 总结结 构 的概念和特点 学 生观察单 总线结 构 运算器图, 说出数据输 入,运算,输出过程
学生思考并举手回答
学生思考并回答: 信 号包括数 据和控 制 信号。
学生识记概念
1
提问:请仔细观察 P38 的图 3-7,找出 MUX1 的数据 来源于哪几方面? 小结: MUX1 数据有三个来源: (1)通用寄存器的输出 (2)指令中的相对位置移量 (3)常数“0” 师生共同小结 学生认真观察, 举手回 答
(6)循环左移: )循环左移: 原数 X3X2X1X0 X3 X2 X1 X0
学 生观察并 找出循 环 左移规律: 所有位向左移一位, 最
计算机组成原理课件第四章计算机中的算术运算
例:[X]补=0.1101,[Y]补=0.1011,求X*Y=?
解: 部分积
乘数
说明
00.0000 + 11.0011
0. 1 0 1 1 0
YYnnY+1n=+10=10, 加[-X]补
11.0011 → 11.1001 + 00.0000
1. 0 1 0 1 1
右移一位
YnY n+1=11, 加0
当计数器i=n+1时,封锁LDR1和L
DR0控制信号,使最后一步不移位。
原码两位乘法
◦ 两位乘法即从乘数的最低位开始每次取两位乘数与被乘数 相乘得到一次部分积。
◦ Yi-1yi=00,相当于0×x,部分积加0,右移两位 ◦ Yi-1yi=01,相当于1×x,部分积加|x|,右移两位 ◦ Yi-1yi=10,相当于2×x,部分积加2|x|,右移两位 ◦ Yi-1yi=11,相当于3×x,部分积加3|x|,右移两位
采用双符号位的判断方法
每个操作数的补码符号用两个二进制数表示,称为 变形补码,用“00”表示正数,“11”表示负数,左边第 一位叫第一符号位,右边第一位称为第二符号位,两个 符号位同时参加运算,如果运算结果两符号位相同,则 没有溢出发生。如果运算结果两符号位不同,则表明产 生了溢出。“10”表示负溢出,说明运算结果为负数, “01”表示正溢出,说明运算结果为正数。
Zf=Xf+Yf=0+0=0 [Z]原=0 . 10001111 X*Y=0.10001111
原码一位乘法的逻辑电路图
R0存放部分积,R2存放被乘数,R1存放 乘数。
一、 R0清零,R2存放被乘数,R1存放乘数。 乘法开始时,“启动”信号时控制CX置1, 于是开启时序脉冲T,
计算机组成原理第3章
补码加、减运算举例
【例】已知x =-0.10111,y=-0.10001,求 1/2(x+y) 。 解: ∵[x]变补=11.01001,[y]变补=11.01111, ∴[ 1/2x]变补=11.10101,[ 1/2y]变补=11.10111;[ 1/2x] 变补是对[x]变补右移一位得到的,由于移位时丢掉了最低位1, 所以对[x]变补右移一位得到的结果(11.10100)进行修正, 即在最低位加1,便得到[ 1/2x]变补。 [ 1/2(x+y)]变补= [ 1/2x]变补+[ 1/2y]变补=11.10101+ 11.10111=11.01100 溢出判断:由于结果的双符号位相同,未产生溢出,运算结果正 确
2、补码加、减运算具体实现
补码表示的数的加减运算可以采用同一个电路实现。其核 心部分是全加器(运算电路的延迟时间
则全加器的Si的时间延迟为6T(每级异或门的延迟为3T),Ci+1的 时间延迟为5T。 则:一个n位的行波进位加法器的时间延迟ta为: ta=n×2T+9T
原码一位乘法举例
举例:假定 X=0.1101 Y=0.1011
原码一位乘法实现电路
实现原理框图:
Cj A Af CR 加法器 =1 Cn C Cn 移 位 脉 冲
&
& Bf C f Cn CT Q
启动
时钟脉冲
B
结束
2.2 2、原码两位乘法原理
两位乘数的取值可以有四种可能组合,每种组合对应于以下操作: 00 相当于0×X,部分积Pi右移2位,不进行其它运算; 01 相当于1×X,部分积Pi+ X后右称2位; 10 相当于2×X,部分积 Pi+ 2X后右移2位; 11 相当于3×X,部分积 Pi + 3X后右移2位。 上面出现了 + 1X, + 2X, + 3X 三种情况,+X 容易实现,+2X可把X左移1 位得2X,在机器内通常采用向左斜1位传送来实现。可是+3X一般不能一次完成, 如分成两次进行,又降低了计算速度。解决问题的办法是备: 以 +(4X-X) 来 代替 +3X运算,在本次运算中只执行 -X, 而 +4X 则归并到下一步执行,因为 下一步运算时,前一次的部分积已右移了两位,上一步欠下的 +4X 在本步已 变成 +X。实际线路中要用一个触发器C来记录是否欠下+4X的操作尚未执行, 若是,则1→C。因此实际操作要用Yi-1 Yi C三位的组合值来控制乘法运算操 作,运算规则如表2.12所示。
计算机组成原理 定点运算器的组成和结构
计算机组成原理第八章定点运算器的组成和结构1. 算术逻辑单元(简称ALU)•针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。
当需完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算又能完成逻辑运算的部件。
一、ALU电路下图是ALU框图。
图中A i和B i为输入变量;K i为控制信号,K i的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;F i是输出函数。
现在ALU电路已制成集成电路芯片,如74181是能完成四位二进制代码的算逻运算部件ALU是一种功能较强的组合逻辑电路。
它能进行多种算术运算和逻辑运算。
ALU的基本逻辑结构是超前进位加法器,它通过改变加法器的进位产生函数G和进位传递函数P来获得多种运算能力。
二、快速进位链随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链引例:简单串行级联的4位全加器如下图所示:将4个全加器相连可得4位加法器(图2.7),但其加法时间长。
这是因为其位间进位是串行传送的。
本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。
只有改变进位逐位传送的路径,才能提高加法器工作速度。
解决办法之一是采用“超前进位产生电路”来同时形成各位进位,从而实行快速加法。
我们称这种加法器为超前进位加法器。
根据各位进位的形成条件,可分别写出Ci的逻辑表达式:C1=X1Y1+(X1+Y1)C0=G1+P1C0其中: Gi=Xi·Yi 称为进位产生函数Pi=Xi+Yi 称为进位传递函数Gi的意义是:当XiYi 均为“1”时定会产生向高位的进位Pi的意义是:当Xi和Yi中有一个为“1”时,若同时低位有进位输入,则本位也将向高位传送进位。
写成通用式为:C1=G1+P1C0C2=G2+P2C1=G2+P2(G1+P1C0)= G2+P2G1+P2P1C0C3=G3+P3 G2+ P3 P2G1+ P3 P2P1C0C4=G4+P4 G3+ P4 P3 G2+ P4 P3 P2G1+ P4 P3 P2P1C0当全加器的输入均取反码时,它的输出也均取反码。
计算机组成原理第2章5-定点原码并行乘法运算
第二章 运算方法和运算器
n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,而FA只有 两个输入端,所以需要改造 方法一:硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(已经淘 汰). 方法二:阵列乘法器
信 息 科 学 与 工 程 学 院3
与 工 程 学 院7
第二章 运算方法和运算器
时间延迟:
这种乘法器要实现 n 位 × n 位时,需要 n ( n-1) 个全加器和 2n 个“与” 门。该乘法器的总的乘法时间可以估算如下 令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假 定用2级“与非”逻辑来实现FA的进位链功能,那么就有:
第二章 运算方法和运算器
不带符号的阵列乘法器
设有两个不带符号的二进制整数: A=am-1…a1a0 B=bn-1…b1b0 在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:
P=A×B=pm+n-1…p1p0 乘积P 的数值为:
信 息 科 学 与 工 程 学 院4
第二章 运算方法和运算器
信 息 科 学 与 工 程 学 院8
第二章 运算方法和运算器
带符号的阵列乘法器
阵列乘法器只能处理原码的乘法运算,但在计算机中数据经常采用补码表示, 为实现补码乘法运算,就需要采用带符号的阵列乘法器。 带符号的阵列乘法器可借助无符号的阵列乘法器加上求补电路实现。
算前求补+乘法器+算后求补
信 息 科 学 与 工 程 学 院9
第二章 运算方法和运算器
在对2求补时,令A = an…a1a0是给定的(n + 1)位带符号的数,要求确定它的补 码形式。进行求补的方法就是采用按位扫描技术,从数的最右端a0开始,由右向左 进行扫描,直到找到第一个“1”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74181ALU的运算功能表 ,它有两种工作方式。对正逻辑操作 数来说 ,算术运算称高电平操作 ,逻辑运算称正逻辑操作 (即 高电平为“1”,低电平为“ 0”)。对于负逻辑操作数来说 , 正好相反。由于 S0- S3 有 16种状态组合 ,因此对正逻辑输 入与输出而言,有16种算术运算功能和16种逻辑运算功能。 同样 , 对于负逻辑输入与输出而言 , 也有 16 种算术运算功能 和16种逻辑运算功能。 注意,表2.5中算术运算操作是用补码表示法来表示的。其 中“加”是指算术加,运算时要考 虑进位,而符号“+”是 指“逻辑加”。其次,减法是用补码方法进行的,其中数的反 码是内部产生的,而结果输出“A减B减1”,因此做减法时需 在最末位产生一个强迫进位(加1),以便产生“A减B”的结 果。另外,“A=B”输出端可指示两个数相等,因此它与其 他ALU的“A=B”输出端按“与”逻辑连接后,可以检测 两个数的相等条件。
表2.4 Xi,Yi与控制参数和输入量的关系 S0 S1 Yi S2 S3 Xi
0 0 1 1
0 1 0 1
Ai AiBi AiBi 0
0 0 1 1
0 1 0 1
1 Ai+Bi Ai+Bi Ai
根据上面所列的函数关系,即可列出Xi和Yi的逻辑表达式 Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai Yi=S0S1Ai+S0S1AiBi+S0S1AiBi 进一步化简并代入前面的求和与进位表达式,可得ALU的某 一位逻辑表达式如下 Xi=S3AiBi+S2AiBi Yi=Ai+S0Bi+S1Bi
图2.13
用两个6位全先行进位部件级联组成的32位ALU
Fi=Yi⊕Xi⊕Cn+i Cn+i+1=Yi+XiCn+I (2.36) 4位之间采用先行进位公式,根据式(2.36),每一位的进位公式可 递推如下: 第0位向第1位的进位公式为 Cn+1=Y0+X0Cn 其中Cn是向第0位(末位) 的进位。 第1位向第2位的进位公式为 Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn 第2位向第3位的进位公式为 Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn 第3位的进位输出(即整个4位运算进位输出)公式为 Cn+4=Y3+X3Cn+3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 设 G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 则 Cn+4=G+PCn
这样,对一片ALU来说,可有三个进位输出。其中G称为进位 发生输出,P称为进位传送输出。在电路中多加这两个进位 输出的目的,是为了便于实现多片(组)ALU之间的先行进 位,为此还需一个配合电路,称之为先行进位发生器(CLA),下 面还要介绍。 Cn+4是本片(组)的最后进位输出。逻辑表达式表明,这是一 个先行进位逻辑。换句话说,第0位的进位输入Cn可以直接 传送到最高位上去,因而可以实现高速运算。 用正逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路 图见演示,它是根据上面的原始推导公式用TTL电路实现的。 这个器件的商业标号为74181ALU。
精品课件!
精品课件!
下面介绍如何用若干个74181ALU位片,与配套的74182先行进 位部件CLA在一起,构成一个全字长的ALU。 下图示出了用两个16位全先行进位部件级联组成的32位 ALU逻辑方框图。在这个电路中使用了八个74181ALU和两 个74182CLA器件。很显然,对一个16位来说,CLA部件构成 了第二级的先行进位逻辑,即实现四个小组(位片)之间的 先行进位,从而使全字长ALU的运算时间大大缩短。
图2.10 ALU的逻辑结构原理框图
因此,一位算术/逻辑运算单元的逻辑表达式为 Fi=Xi⊕Yi⊕Cn+i Cn+i+1=XiYi+YiCn+i+Cn+iXi 上式中进位下标用n+i代替原来一位全加器中的i,i代表集成 在一片电路上的 ALU 的二进制位数。对于 4 位一片的 ALU, i=0,1,2,3。n代表若干片ALU组成更大字长的运算器时每片 电路的进位输入,例如当4片组成16位字长的运算器时, n=0,4,8,12。 2.逻辑表达式 控制参数S0 ,S1 控制输入Ai ,产生Y ;S2 ,S3 控制输入Bi ,产 生X。其中Yi是受S0 ,S1控制的Ai和Bi的组合函数,而Xi是受 S2 ,S3控制的Ai和Bi组合函数,其函数关系如表2.4所示。
1.基本思想 一位全加器(FA)的逻辑表达式为 Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi 将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi 和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样, 不同的控制参数可以得到不同的组合函数,因而能够实现多种算 术运算和逻辑运算。
3.算术逻辑运算的实现 以上演示图中除了S0-S3四个控制端外,还有一个控制端M, 它使用来控制ALU是进行算术运算还是进行逻辑运算的。
当M=0时,M对进位信号没有任何影响。此时F 不仅与本位 的被操作数Y和操作数X 有关,而且与本位的进位输出,即C 有 关,因此M=0时,进行算术操作。 当M=1时,封锁了各位的进位输出,即C =0,因此各位的运算 结果F 仅与Y 和X 有关,故M=1时,进行逻辑操作。 图2.11(b)示出了工作于负逻辑和正逻辑操作数方式的 74181ALU方框图。显然,这个器件执行的正逻辑输入/输出方 式的一组算术运算和逻辑操作与负逻辑输入/输出方式的一组 算术运算和逻辑操作是等效的。
4.两级先行进位的ALU 前面说过,74181ALU设置了P和G两个本组先行进位输出端。如果 将四片74181的P,G输出端送入到74182先行进位部件(CLA), 又可实现第二级的先行进位,即组与组之间的先行进位。 假设4片(组)74181的先行进位输出依次为 P0,G0,G1P1,P2,G2,P3,G3,那么参考式(2.37)的进位逻辑表达式,先 行进位部件74182CLA所提供的进位逻辑关系如下: Cn+x=G0+P0Cn Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn Cn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2Cn (2.38) Cn+4 =G3+P3Cn+z =G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn =G*+P*Cn 其中 P*=P0P1P2P3 G*=G3+G2P3+G1P1P2+G0P1P2P3 根据以上表达式,用TTL器件实现的成组先行进位部件74182的 逻辑电路图如图所示其中G*称为成组进位发生输出,P*称为成组 进位传送输出。