第2章运算方法和运算器74181

合集下载

计算机组成原理第章运算方法与运算器

计算机组成原理第章运算方法与运算器

2021年8月7日星期六
21
课堂练习和补充习题
练习:
1、将20.1875转换成32位浮点数存储? 2、若浮点数的二进制存储格式为(41A18000)16,求 其十进制值?
作业:
将十进制数17.296875转换成IEEE754格式的32位浮点数 的二进制存储。
2.1.2 数的机器码表示
重点: 1、原码、补码、移码的表示形式 2、补码的定义 3、原码、补码、移码的表示范围
阶码E的其余值(0000 0001~1111 1110)为规格化数据;
真正的指数e的范围为-126~+127
2021年8月7日星期六
17
IEEE754 标准对特殊数据的表示
符号位S 阶码E 尾数M
数值N
0/1
0
=0
0
0/1
0
≠0
(-1)S×(0.M)×2-126
0/1 1~254 ≠0 (-1)S×(1.M)×2E-127
2021年8月7日星期六
23
1、原码表示法——定义
定义: 定点小数:
x [x]原= 1- x=1+|x|
1> x ≥0 0≥x> -1
定点整数: 举例:
x
2n> x ≥0
[x]原= 2n- x=2n+|x| 0≥x> -2n
[+0.110 ]原 = 0.110 [-0.110]原 = 1 - (-0.110) = 1.110
为便于软件移植,按照 IEEE754 标准,实际机器内32位浮点
数和64位浮点数的标准格式如下:
31 30
23 22
0
32位浮点数 S
E
M

第2章 运算方法和运算器

第2章 运算方法和运算器

作业:
将十进制数17.296875转换成IEEE754格式的32位浮点数 的二进制存储。
2 浮点数:小数点位置可变。 (4)浮点数的规格化
即正数的尾数形式为0.1××…×的形式。 负数的尾数形式为1.1××…×的形式。 (如,0.011×25要规格化则左移一位变为0.11×24; -0.011×25要规格化则 左移一位变为1.11×24)
这称为“算 术移位”
你会求[X/4] 补和[X/8]补 吗?
第二章 运算方法和运算器 学习要点
数据编码
数值数据的数制 数值数据的机器码表示 浮点数的表示
运算方法
定点运算 溢出处理 浮点加减法 数据校验
2.1 数据与文字的表示方法
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 数据格式 数的机器码表示 字符与字符串的表示方法 汉字的表示方法 校验码
定点小数的补码定义: x 【x】补= 2+x =2-|x| 定点整数的补码定义: x 【x】补= 2n+1+x= 2n+1-|x|
0≤x < 2n -2n<x ≤0
求补码的几种方法
由于正数的补码是自身,所以主要讲负数求补 码的方法。 (1)由定义求 例:X=-0.1101001
[X]补=2+X =10+(-0.1101001) =1.0010111
3)若是非规格化数:可通过修改阶码、左右移尾数的方法 使其变为规格化数.
移位运算 1、逻辑移位 逻辑左移时,高位移出,低位添0; 逻辑右移时,低位移出,高位添0; 2、算术移位 正数: 同逻辑移位。 负数: 原码:符号位不变,数值部分空出的位添0 补码:符号位不变, 左移时,数值部分空出的位添0 右移时,数值部分空出的位添1 反码:符号位不变,数值部分空出的位添1 注意:算术左移时,若改变符号位,则溢出。未改变时,相 当于乘以2。

第2章运算方法和运算器74181

第2章运算方法和运算器74181

第2位向第3位的进位公式为: P=X0X1X2X3
Cn +3 =Y2 + X2 Cn +2 =Y2 +Y 1 X1 +Y0 X1 X2 +X 0 X1 X2 Cn
第3位的进位输出(即整个4位运算进位输出)公式为: C n + 4 = Y 3 + X 3 C n + 3 = Y 3 + Y 2 X 3 + Y 1 X 2 X 3 + Y 0 X 1 X 2 X 3 + X 0 X 1X 2 X 3 C n
i
Y3+Y2X3+Y1X2X3+Y0X1X2X3 =G
2.5.2多功能算术/逻辑运算单元(ALU)续8
3.算术逻辑运算的实现
除了S0-S3四个控制端外,还有一个控制端 M,它使用来控制ALU是进行算术运算还是进行逻 辑运算的。
当M=0时,进行算术操作。M对进位信号没 有任何影响。此时F不仅与本位的被操作数Y和操 作数X有关,而且与本位的进位输出,即C有关。 当M=1时,进行逻辑操作。封锁了各位的进 位输出,即C =0,各位的运算结果F仅与Y和X有关。
定点运算器的组成
4位之间采用先行进位公式,根据式(2.36),每一
位的进位公式可递推如下: 第0位向第1位的进位公式为:
Cn +1 =Y0 +X0 Cn 其中Cn是向第0位(末位)的进位。
第1位向第2位的进位公式为:
Cn + + X1 C Y1 + Y0 X1 +X X X1Cn+Y X X X 设: = Y Y Y 2=Y1G n+ 1= 3+ 2X3+ 1 02X 3 0 1 2 3
将Xi 和Yi代入前面的进位表达式,可简化为: Cn+i+1=Yi+Xi Cn+ i
1 1
0
1 1
Ai
定点运算器的组成

计算机组成与体系结构课件 第2章 运算方法与运算器

计算机组成与体系结构课件 第2章 运算方法与运算器
成1位八进制数,4位二进制数形成1位十六进制数,因此二 进制数和八进制数以及二进制数和十六进制数的相互转换 非常简单。
表2.1和表2.2列出了转换时的对应关系。 例题
例2.3
(101.011)2 122 021 120 021 122 123 (5.375)10
(9D3A.F)16 9163 13162 3161 10160 15161
N Di 10i
任意一个二进制数可以写成:
im n 1
N Bi 2i
im
任意一个八进制数可以写成: n1
N Oi 8i
im
任意一个十六进制数可以写成:
n1
N Hi 16i
im
2.1.1 进位计数制及其相互转换
• 2.进制之间的转换
运算过程中需要注意各部
(1)十进制数转换为二进制数 分的高低位,避免拼接出错。
第二章
运算方法与运算器
目录
• 2.1 数据的表示方法 • 2.2 数的定点表示和浮点表示 • 2.3 定点数的移位运算 • 2.4 定点数的加减运算 • 2.5 加法器和ALU
目录
• 2.6 定点乘法运算 • 2.7 定点除法运算 • 2.8 浮点运算 • 2.9 运算器的基本结构 • 2.10 数据校验码
设X=+1010 , y=+0011,则[X]移=11010 [Y]移= 10011 执行加法运算 [X]移+[Y]移=11010+10011=101101,加2n后得[X+Y]移, [X+Y]移=01101+10000(24)=11101
3)数据0有唯一的编码,即[+0]移=[-0]移=1000...0。
4.掌握定点运算部件的组成,了解浮点运算部件的组成。 5.了解数据校验的原理,初步掌握海明校验、CRC校验的原

计算机组成原理华科版第二章运算方法与运算器课件

计算机组成原理华科版第二章运算方法与运算器课件

4
计算机组成原理
⑵补码表示法
第二章 运算方法与运算器
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。
• 补码运算中,可以用加法代替减法,节省元件, 降低成本。
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1
第二种浮点表示的格式为
1,10001001,01111111110000000000000
17
计算机组成原理
⑶ 浮点数的表示举例
第二章 运算方法与运算器
某机用32b表示一个数,阶码部分占8b(含一位符号 位2格5式6).。5,,尾x数2=1部27分/2占56,2 4试b(写含出一x1和位x符2的号两位种)浮。点数设表x1示=-
最小负数 最大负数
最小正数
最大正数
1.0000000 1.1111111
0.0000001
0.1111111
-1
-2-7
2-7
1-2-7
11
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下:
最小负数 最大负数 最小正数 最大正数
11111111 10000001 00000001 01111111
计算机组成原理
1.真值与机器数
第二章 运算方法与运算器
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。
将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
1
计算机组成原理

计算机原理第二章运算方法和运算器

计算机原理第二章运算方法和运算器
算术移位
算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以2,算术右移相当于除以2并 向下取整。
乘法运算方法
原码一位乘法
将被乘数和乘数均取原码,从乘数的最低位开始逐位判断,若为1则加上被乘 数的原码,若为0则不变。重复此过程直至乘数所有位均判断完毕。
补码一位乘法
将被乘数和乘数均取补码,从乘数的最低位开始逐位判断,若为1则加上被乘数 的补码并考虑进位,若为0则只考虑进位。重复此过程直至乘数所有位均判断完 毕。
节能技术
采用节能技术,如动态电压调整、睡眠模式等, 以降低运算器在空闲或低负载时的功耗。
06
计算机中数的表示和运算 方法扩展
大数表示和运算方法
大数的概念
超出计算机基本数据类型表示范围的整数或浮点数。
大数表示方法
采用多精度表示法,将大数拆分成多个基本数据类型的数进行表示 和存储。
大数运算方法
设计相应的大数运算算法,如大数加法、减法、乘法、除法等。
转换方法
根据机器数的表示方法,通过相应的运算将其转换为真值。
定点数与浮点数
定点数
表示范围与精度
小数点位置固定的数,可表示整数或 小数。
定点数表示范围有限,精度较高;浮 点数表示范围大,但精度相对较低。
浮点数
小数点位置可变的数,由阶码和尾数 两部分组成,可表示大范围的数值。
02
基本运算方法
定点加减法运算
运算流水线设计
在算术逻辑单元(ALU)中采用流 水线技术,将复杂的运算过程分解 为多个简单的运算步骤,提高运算 速度。
超标量流水线设计
在一个周期内同时发射多条指令, 通过多个功能部件并行执行,进一 步提高处理器的性能。

第二章运算方法和运算器PPT课件

第二章运算方法和运算器PPT课件
浮点数的表示就不是惟一的。
▪ 尾数域最左位(最高有效位)总是1, 故这一位经常不予存储, 而认为隐藏在小数点的左边。
▪ 采用移码表示阶码E ,将浮点数的指数真值e变成阶码E时, 应将指数e加上一个固定的偏移值127(01111111),即 E=e+127。
29.01.2021
-
14
2.1.1数据格式
第二章 运算方法和运算器
2.1数据与文字的表示 2.2定点加法、减法运算 2.3定点乘法运算 2.4定点除法运算 2.5定点运算器的组成 2.6浮点运算与浮点运算器
29.01.2021
-
返回 1
2.1数据与文字的表示方法
2.1.1数据格式 2.1.2数的机器码表示 2.1.3字符的表示 2.1.4汉字的表示 2.1.5校验码
S 阶码(8位)
尾数(23位)
指数e=阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位1的尾数
1.M=1.011 0110 0000 0000 0000 0000=1.011011
于是有
x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10
29.01.2021
-
9
2.1.1数据格式
3、定点纯整数
x0 x1 x2 x3 … xn-1 xn
符号
量值
小数点固定于最后一位之后, 不需专门存放位置
表示数的范围是 0≤|x|≤2n-1
最小数、最大数、最接近0的正数、最接近0的负数呢?
29.01.2021
-
10
2.1.1数据格式
4、定点表示法的特点
29.01.2021

21central 计算机组成原理 第二章 运算方法和运算器(2)

21central 计算机组成原理 第二章 运算方法和运算器(2)
❖ 一、步骤说明 设X=Ex;Mx ,Y=Ey;My为参加加/减运算的操作数(R=2) ❖ 1、零操作数检查 ❖ 2、对阶 ❖ 3、求和 ❖ 4、规格化 ❖ 5、舍入处理 ❖ 二、实例 ❖ X=+01;0.1101, Y=+11; -0.1010
将以上二操作数表示成补码,即: X=001;001101, Y=011;110110
❖ 对阶:先求阶差,用减法完成。 例中,ΔE=[Ex]补-[Ey]补=[Ex]补+[-Ey]补=001+101=110<0 ∴Ex<Ey,采用小阶向大阶看齐的对阶法:让小阶等于大阶,同时
使小阶所对应的浮点数的尾数的右移(阶差的绝对值位). 令Ex =Ey=011,则Mx =0.001101,于是对阶结果为 [X]补=011;00.0011, [Y]补=011;11.0110 ❖ 求和:对对阶后的尾数进行。 [X]补+[Y]补=00.0011+11.0110=11.1001,于是求和结果为 [X+Y]补=011;11.1001 ❖ 规格化
❖ 1、AiBi:它与Ci无关,常 记为Gi=AiBi,叫做“本地 进位”或“生成进位”。
❖ 2、(Ai + Bi)Ci:它与Ci 有关,叫做“传送进位”, 而记Pi=A+i Bi为“传送条 件”。
❖ 由上有:Ci+1=Gi+PiCi, 即 C1=G0+P0C0
C2=G1+P1C1
C3=G2+P2C2
❖ 将i=0,1,2,3分别代入Cn+i+1=Yi+XiCn+i中: Cn+1=Y0+X0Cn Cn+2=Y1+X1Cn+1 (再将上式代入)=Y1+Y0X1+X0X1Cn Cn+3=Y2+X2Cn+2=Y2+Y1X2+Y0X1X2+X0X1X2Cn Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn ❖ 以上式子表明进位方式是并行的,如此再考虑表达式

计算机组成原理课后习题参考答案

计算机组成原理课后习题参考答案

计算机组成原理答案第一章计算机系统概论1.比较数字计算机和模拟计算机的特点。

解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。

两者主要区别见P1 表1.1。

2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。

通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。

分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。

4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。

存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

主要组成部分有:(控制器、运算器)(CPU的两部分组成)、存储器、输入设备、输出设备(I/O设备)。

5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。

单元地址:简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。

数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。

指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。

6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。

程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。

7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。

计算机原理第二章运算方法和运算器

计算机原理第二章运算方法和运算器

1. 整数转换 →
2 58 2 29 2 14 27 23 21 0
“ 除2 取余” 法
余0 余1 余0 余1 余1 余1
∴ (58)10=(111010)2
低位 高位
2. 纯小数转换 → “乘 2 取整 ” 法
0. 6 2 5
×
2
1. 2 5 0
1
×
2
0. 5 0 0
0
×
2
1. 0 0 0
1
∴ (0.625)10=(0.101)2
补码浮点表示
阶码 绝对值最大负数: 01111111
绝对值最小负数: 10000000
最大正数:
01111111
尾数 10000000
11111111
01111111
真值
2(27 1) .(-1) =-2127 2-27.(-2-7)=-2-135
2(27 1) .(1-2-7)
非零最小正数: 10000000
X=-0.1001111 ,则〔X〕原=1.1001111, 〔X〕反=1.0110000。
公式表示:若二进制小数 X=±0.x1x2…xn,则
〔X〕反=
X (2-2-n)+X
0 X 1 1 X 0
其中n代表二进制位数
〔例2〕X=+0.1101111,则〔X〕反=X=0.1101111 X=-0.1101111,则〔X〕反=(2-2-7)+X =10.0000000-0.0000001+(-0.1101111) =1.1111111-0.1101111=1.0010000
n1
a i 8 i im
〔例2〕 ( 703.64 )8 7 82 081 380 681 482 ( 451.8125 )10

经典:计算机组成原理-第2章-运算方法和运算器

经典:计算机组成原理-第2章-运算方法和运算器
1加法器的流水线时钟周期至少为90ns10ns100ns如果采用同样的逻辑电路但不是流水线方式则浮点加法所需的时间为300ns因此4级流水线加法器的加速比为30010032当每个过程段的时间都是75ns时加速比为300754例30已知计算一维向量xy的求和表达式如下
第二章:运算方法和运算器
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

计算机组成原理第二章运算方法和运算器[一](共88张PPT)

计算机组成原理第二章运算方法和运算器[一](共88张PPT)
十进制(二-十进制 BCD码)
字符型
逻辑型
2.1.2 数值型数据的表示方法
数值型数据包括无符号数和有符号数两类.
★无符号数:没有符号的数; ★有符号数:符号“+”或“-”在有效数字的前面. 注意:在相同机器字长的情况(qíngkuàng)下,无符号数与 有符号数所对应的数值范围不同. 一、数的机器码表示
最大正整数表示:0,111 111 111 111 111 最大正整数=(215-1)10=(+32767)10
(2)定点原码小数表示:
最大正数值=(1-2-15)10=(+0.111…11)2 15个1 最小负数值=-(1-2-15)10=(-0.111…11)2
精品资料
2.1.2 数值(shùzí)型数据的表示方法
浮点机表示的数的范围:2-11 ×0.0001--211 ×0.1111 即1/128—7.5
精品资料
(2)浮点数与定点数的比较
b)浮点数规格化后,其相对精度远比定点数高. c)浮点数包括阶码和尾数两部分,且结果需要(xūyào) 规格化,故运算较复杂,运算速度比定点数慢. d)在溢出判断的方法上,浮点数是对阶码进行判断, 只有阶码“上溢”时,浮点数溢出; 定点数是当运 算结果超出表示范围即“溢出”.
为扩大数的表示范围而出现了浮点数表示;
计算机应用扩大到商业和事务处理,出现了字符串数据; 堆栈数据表示;
向量(xiàngliàng)数据表示。ຫໍສະໝຸດ 一般介绍数值型数据
(能进行算术运算能得 到明确数值概念的数
字数据)
非数值型数据(以数
字数据形式进入计算 机的声音、图像、文 字等信息)
精品资料
二进制(定点、浮点)
(4)用小数表示-1:原码与反码的小数表示中没有(méi yǒu)-1;补码表示的小数-1为1.0000000

计算机组成原理 第二章 运算方法和运算器讲解

计算机组成原理 第二章 运算方法和运算器讲解

运算的控制端
(P43有误)
小结
不恢复余数法除法 加法/减法单元和除法阵列 2.3节书上没讲的例题请自学
定点乘法和除法(复习)
请简述原码乘、除法的规则 不带符号的阵列乘法器有哪二部分组成? 对2求补电路的作用?(E端的作用?) 求其对2补数,最高位是符号位:
0110100,1110100 带求补级的阵列乘法器是( )符号位的( )
阶码上溢(+,-∞)
阶码下溢(0) 尾数上溢(右规) 尾数下溢(有效位移出,舍入)
例28.设x=2010×0.11011011,y=2100×(-
0.10101100),求x+y。
设补码表示,阶码用双符号位,尾数用单符号位,则浮点表示
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100
计算机中定点数常用补码表示、存储、计算
4·移码 浮点数的阶码常用移码表示
定义:[ x]移=x+2n
2n >x>= -2n 得到的移码总位数是n+1
复习提问
请写出-1010的原码、反码、补码 请写出-1010的8位原码、反码、补码 请写出-1010的移码 请写出-1010的8位移码 请写出+101.011*2+11的规格化形式 一IEEE754标准32位浮点数的16进制值是
<1> 判0,x,y均不为零
<2> 求阶差并对阶 △E为-2,x的阶码小,
应使Mx右移两位,Ex加2, [x]浮=00 100,0.00110110(11)
<3> 尾数求和

0. 0 0 1 1 0 1 1 0 (11)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

y= y0y1y2 …yn 若x和y的逻辑异为z: x⊕y=z=z0z1z2 …zn 则 zi= xi⊕yi (i=0,1,2,…,n)
2.5.1 逻辑运算(续8)
例23:x=10101011,y=11001100, 求x⊕y。 解: 10101011x
即 ⊕ 11001100y 01100111z x⊕y = 01100111
ˉ1,x ˉ2 求x
解: ˉ x1 =10110100 ˉ x2 =00001111
2.5.1 逻辑运算(续4)
例22:x=10100001,y=10011011, 求x∨y。 解: 10100001x
即 10011011y 10111011z x∨y = 10111011 ∨
2.5.1 逻辑运算(续5)
作,逻辑运算称正逻辑操作(即高电平为“1”,低电平 为
“0”)。对于负逻辑操作数来说,正好相反。由于S0- S3
有16种状态组合,因此对正逻辑输入与输出而言,有16 种算术运算功能和16种逻辑运算功能。同样,对于负 逻辑输入与输出而言,也有16种算术运算功能和16种
逻辑运算功能。
表2.5 74181ALU算术/逻辑运算功能表
2 1 2 0 1 2 0 1 2 n n +3
图2.11(a)示出了用负逻辑表示的4位
算术/逻辑运算单元(ALU)的逻辑电路图 (CAI演示),它是根据上面的原始推导公 式用TTL电路实现的。 X =S Y A= BA ++ SA S B +S B
i 3 ii i i 2 0 i ii 1
这个器件的商业标号为74181ALU。
2.5.1 逻辑运算(续9)
事实上,逻辑加还可以通过逻辑乘和逻辑 非来实现:
zi=xi∨yi =xi∧yi
同样,逻辑乘也可以用逻辑加和逻辑非来 实现 :
zi=xi∧yi =xi∨yi
2.5.2 多功能算术/逻辑运算单元(ALU)


由一位全加器(FA)构成的行波进位加法器, 它可以实现补码数的加法运算和减法运算。 这种加法/减法器存在两个问题:
定点运算器的组成
4位之间采用先行进位公式,根据式(2.36),每一
位的进位公式可递推如下: 第0位向第1位的进位公式为:
Cn +1 =Y0 +X0 Cn 其中Cn是向第0位(末位)的进位。
第1位向第2位的进位公式为:
Cn + + X1 C Y1 + Y0 X1 +X X X1Cn+Y X X X 设: = Y Y Y 2=Y1G n+ 1= 3+ 2X3+ 1 02X 3 0 1 2 3
根据上面所列的函数关系,化简Xi的逻辑表达式得: Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai
=S2S3+S2Ai+S2Bi+S3Ai+S3Bi+S2S3Ai
=S2S3+S2Ai+S2Bi+S3Bi +Ai(S3 +S2) =S2S3+S2Ai+S2Bi+S3Bi +AiS3 +AiS2 =S2S3+Ai+S2Bi+S3Bi +AiS3 =S2S3+S2Ai+ Ai Ai +Ai (Bi +Bi)+S2Bi+S3Bi +AiS3 + Bi Bi =S2(S3 +Ai+Bi)+Ai (S3 +Ai+Bi)+Bi (S3 +Ai+Bi) = (S3 +Ai+Bi) ( S2 +Ai+Bi) =S3AiBi+S2AiBi
一是由于串行进位,它的运算时间很长。假如加 法器由 二是就行波进位加法器本身来说,它只能完成 n位全加器构成,每一位的进位延迟时间为 加法和减法两种操作而不能完成逻辑操作。本 20ns ,那么最坏情况下,进位信号从最低位传递 节我们介绍的多功能算术/逻辑运算单元 (ALU) 到最高位而最后输出稳定,至少需要 n*20ns ,这 不仅具有多种算术运算和逻辑运算的功能,而 在高速计算中显然是不利的。 且具有先行进位逻辑,从而能实现高速运算。
2.5.2多功能算术/逻辑运算单元(ALU)续14
Cn +x=G0 +P0 Cn Cn +y=G1 +P1 Cn +x=G1 +G0 P1 +P0 P1 Cn
Cn +z=G2 +P2 Cn + y=G2 +G1 P2 +G0 P1 P2 +P0 P1 P2 C n
第2位向第3位的进位公式为: P=X0X1X2X3
Cn +3 =Y2 + X2 Cn +2 =Y2 +Y 1 X1 +Y0 X1 X2 +X 0 X1 X2 Cn
第3位的进位输出(即整个4位运算进位输出)公式为: C n + 4 = Y 3 + X 3 C n + 3 = Y 3 + Y 2 X 3 + Y 1 X 2 X 3 + Y 0 X 1 X 2 X 3 + X 0 X 1X 2 X 3 C n
Yi Ai Ai B i Ai B i 0
S 2 S3 0 0 1 1 0 1 0 1
Xi 1 Ai + B i Ai + B i Ai
根据上面所列的函数关系,即可列出Xi和Yi的逻辑表达式:
Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai
Yi=S0S1Ai+S0S1AiBi+S0S1AiBi 根据上面所列的函数关系,化简Yi的逻辑表达式得: Yi=S0S1Ai+S0S1AiBi+S0S1AiBi =Ai(S0S1+S0S1Bi+S0S1Bi) =Ai(S0S1(Bi+Bi)+S0S1Bi+S0S1Bi) =Ai(S0Bi+S1Bi) =Ai +(S0+Bi )(S1+Bi) =Ai +(S0S1+S0Bi +S1Bi) =Ai+S0Bi+S1Bi
进一步化简可得: S S Y
0 1
i

Xi= AiBi+S2A 0 S30 A iB i i Yi= +S0Bi+ Si1B Bii 0 Ai1 A
=S3AiBi+S2AiBi +Ai+S0Bi+S1Bi =Ai+S0Bi+S1Bi =Yi
S 2 S3 0 0 0 1
Xi 1
Ai + B i
0 A B +S AiA BB 1S B 0 +S B Ai= +YBi i · Xi Yi1 =S A + 3 i i 2 i i i 0 i 1 i i
则:Cn+4=G+PCn
设: G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3
则:Cn+4=G+PCn G称为进位发生输出,P称为进位传送输出。在电路中多 加这两个进位输出的目的,是为了便于实现多片(组) ALU之间的先行进位,为此还需一个配合电路,称之为先 行进位发生器(CLA) 。
3.逻辑乘运算


对两数进行逻辑乘,就是按位求它们的“与”,所 以逻辑乘又称“逻辑与”,常用记号“∧”或“· ” 来表示。 设有两数x和y,它们表示为 x= x0x1x2 …xn
若 则
y= y0y1y2 …yn x∧y=z=z0z1z2 …zn zi= xi∧yi (i=0,1,2,…,n)
2.5.1 逻辑运算(续6)
i
Y3+Y2X3+Y1X2X3+Y0X1X2X3 =G
2.5.2多功能算术/逻辑运算单元(ALU)续8
3.算术逻辑运算的实现
除了S0-S3四个控制端外,还有一个控制端 M,它使用来控制ALU是进行算术运算还是进行逻 辑运算的。
当M=0时,进行算术操作。M对进位信号没 有任何影响。此时F不仅与本位的被操作数Y和操 作数X有关,而且与本位的进位输出,即C有关。 当M=1时,进行逻辑操作。封锁了各位的进 位输出,即C =0,各位的运算结果F仅与Y和X有关。
注意: 表2.5中算术运算操作是用补码表示法来表示
的。其中“加”是指算术加,运算时要考虑进位,而
符号“+”是指“逻辑加”。其次,减法是用补码方 法 进行的,其中数的反码是内部产生的,而结果输出 “A减B减1”,因此做减法时需在最末位产生一个强
迫进位(加1),以便产生“A减B”的结果。
另外,“A=B”输出端可指示两个数相等,因此 它与其他ALU的“A=B”输出端按“与”逻辑连接 后,
Cn+4是本片(组)的最后进位输出。逻辑表达式表明,
这是一个先行进位逻辑。换句话说,第0位的进位输入
Cn可以直接传送到最高位上去,因而可以实现高速运算。
定点运算器的组成
P G+Cn G=G+P Cn=Cn+4 =Cn+4 X= CM )C =M Cn +1 X X X P M+ (YY X + X0 X= CnX )M(Y = C 0 1X 2X 3 M (Y X0Y + Y X + XM X0+ Cn+ ) 1+ 0 1 1 2 n
2.5.2 多功能算术/逻辑运算单元(ALU)续1)
1.基本思想
一位全加器(FA)的逻辑表达式为: Fi=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+CiAi
将Ai和Bi先组合成由控制参数 S0,S1,S2,S3控制的组合函数Xi和Yi,然后 再将Xi,Yi和下一位进位数通过全加器进行 全加。这样,不同的控制参数可以得到不同 的组合函数,因而能够实现多种算术运算和 逻辑运算。因此,一位算术/逻辑运算单元 的逻辑表达式为: Fi=Xi⊕Yi⊕Cn+i
图2.11(b)示出了工作于负逻辑和正逻辑 操作数方式的74181ALU方框图。显然,这个器
件执行的正逻辑输入/输出方式的一组算术运
算和逻辑操作与负逻辑输入/输出方式的一组
算术运算和逻辑操作是等效的。
表2.5列出了74181ALU的运算功能表,它有两种工
作方式。对正逻辑操作数来说,算术运算称高电平操
例23:x=10111001,y=11110011, 求x∧y。 解: 10111001x
∧ 即 11110011y 10110001z x∧y = 10110001
2.5.1 逻辑运算(续7)
4.逻辑异运算
对两数进行异就是按位求它们的模2和,所以逻辑异 又称“按位加”,常用记号“⊕”表示。 设有两数x和y: x= x0x1x2 …xn
相关文档
最新文档