nullnull——吕强null2.1数据与文字的表示方法
2.2定点加法、减法运算
2.3定点乘法运算
2.4定点除法运算
2.5定点运算器的组成
2.6浮点运算方法和浮点运算器*信息工程学院软件工程系null2.1.1数据格式
2.1.2数的机器码表示
2.1.3字符与字符串的表示方法
2.1.4汉字的表示方法
2.1.5校验码*信息工程学院软件工程系null计算机中使用的数据可分成两大类:
符号数据:非数字符号的表示(ASCII、汉字、图形等)
数值数据:数字数据的表示方式(定点、浮点)
计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;
编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便)*信息工程学院软件工程系null一、定点表示法
所有数据的小数点位置固定不变
理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定-定点表示法/定点格式):
纯小数
纯整数
*信息工程学院软件工程系null1、定点纯小数
*信息工程学院软件工程系null2、纯小数的表示范围*信息工程学院软件工程系null3、定点纯整数*信息工程学院软件工程系null4、定点表示法的特点
定点数表示数的范围受字长限制,表示数的范围有限;
定点表示的精度有限
机器中,常用定点纯整数表示
*信息工程学院软件工程系null2、浮点表示法
电子质量(克): 9×10-28 = 0.9×10-27 太阳质量(克): 2×1033 = 0.2×1034*信息工程学院软件工程系null2、浮点表示:小数点位置随阶码不同而浮动*信息工程学院软件工程系null浮点数的规格化表示:
(1.75)10 = 1.11 × 20 (规格化表示) = 0.111 × 21 = 0.0111 × 22*信息工程学院软件工程系null3、IEEE754
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
(规定了浮点数的表示格式,运算规则等)
规则规定了单精度(32)和双精度(64)的基本格式.
规则中,尾数用原码,指数用移码(便于对阶和比较)
*信息工程学院软件工程系nullIEEE754标准
基数R=2,基数固定,采用隐含方式来表示它。
32位的浮点数:
S数的符号位1位,在最高位,“0”表示正数,“1”表示负数。
M是尾数,23位,在低位部分,采用纯小数表示
E是阶码,8位,采用移码表示。移码比较大小方便。
规格化: 若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是唯一的。
尾数域最左位(最高有效位)总是1, 故这一位经常不予存储,而认为隐藏在小数点的左边。
采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。 *信息工程学院软件工程系null64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为:
x=(-1)S×(1.M)×2E-1023
e=E-1023
一个规格化的32位浮点数x的真值表示为
x=(-1)S×(1.M)×2E-127
e=E-127
*信息工程学院软件工程系null真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。
真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+∞和-∞之分。
这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值的范围是10-38~1038(以10的幂表示)。
浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。
*信息工程学院软件工程系null浮点数表示范围如下图所示:
*信息工程学院软件工程系null[例1] 若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。
解:将16进制数展开后,可得二制数格式为
0 100 0001 0011 0110 0000 0000 0000 0000
符号S 阶码E(8位) 尾数M(23位)
指数e=E-127=10000010-01111111=00000011=(3)10
包括隐藏位1的尾数
1.M=1.011 0110 0000 0000 0000 0000=1.011011
于是有
x=(-)S×1.M×2e=+(1.011011)×23=+1011.011
=(11.375)10
*信息工程学院软件工程系null[例2] 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。
解:首先分别将整数和分数部分转换成二进制数:
20.59375=10100.10011
然后移动小数点,使其在第1,2位之间
10100.10011=1.010010011×24
e=4于是得到:
S=0, E=4+127=131, M=010010011
最后得到32位浮点数的二进制存储格式为:
01000001101001001100000000000000=(41A4C000)16
*信息工程学院软件工程系null真值:一般书写的数
机器码:机器中表示的数, 要解决在计算机内部数的正、负符号和小数点运算问题。
原码
反码
补码
移码
*信息工程学院软件工程系null定点小数x0. x1x2…xn
*信息工程学院软件工程系null定点整数x0. x1x2…xn
例:x=+11001110 , y=-11001110
[x]原=011001110 , [y]原=111001110
*信息工程学院软件工程系null原码特点:
表示简单,易于同真值之间进行转换,实现乘除运算规则简单。
进行加减运算十分麻烦。
*信息工程学院软件工程系null2、补码表示法
生活例子:现为北京时间下午4点,但钟表显示为7点。有两种办法校对: (1) 做减法 7-3 = 4 (逆时针退3格) (2) 做加法 7+9 = 16 (顺时针进9格) 16 (mod 12) = 16-12 = 4 (以12为模,变成4) *信息工程学院软件工程系null定义:正数的补码就是正数的本身,负数的补码是原负数加上模。
计算机运算受字长限制,属于有模运算。
定点小数x0.x1x2…xn ,以2为模
定点整数x0x1x2…xn ,以2n+1为模
定点小数x0.x1x2…xn*信息工程学院软件工程系null定点整数x0x1x2…xn*信息工程学院软件工程系null定义:正数的表示与原、补码相同,负数的补码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示。
电路
模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案
容易实现,触发器的输出有正负之分。
*信息工程学院软件工程系null对尾数求反,它跟补码的区别在于末位少加一个1,所以可以推出反码的定义
定点小数x0.x1x2…xn
X1=+0.1011011 , [X1]反=0.1011011
X2=-0.1011011 , [X2]反=1.0100100
*信息工程学院软件工程系null[x ]补=[x ]反+2-n(证明见书)
反码表示有正0和负0之分
*信息工程学院软件工程系null移码表示法(用在阶码中)
定点整数定义 [x]移=2n+x 2n >x≥-2n
00000000~11111111(-2n~2n-1)
[例1] x=+1011111
原码为 01011111 补码为 01011111 反码为 01011111 移码为 11011111 *信息工程学院软件工程系null[例2] x=-1011111 , 原码为 11011111 补码为 10100001 反码为 10100000 移码为 00100001
l特点:移码和补码尾数相同,符号位相反 范围:-2n ~ +(2n-1) 浮点IEEE754表示e=-127~+128 00000000阶码表示数字“0”,尾数的隐含位为0 11111111阶码表示数字“无穷大”,尾数隐含位为0
*信息工程学院软件工程系null[例6] 以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。
*信息工程学院软件工程系null[例7] 将十进制真值(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码值。*信息工程学院软件工程系null[例8] 设机器字长16位,定点表示,尾数15位*信息工程学院软件工程系null[例9] 假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数x,真值表示为(注意此例不是IEEE754标准):x=(-1)s×(1.M)×2E-128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?*信息工程学院软件工程系null符号数据:字符信息用数据表示,如ASCII等;
字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P24表2.1 字符串的存放方法
*信息工程学院软件工程系null*信息工程学院软件工程系null汉字的表示方法
(一级汉字3755个,二级汉字3008个)
输入码
国标码
一级(16~55)*94
二级(56~87)*94
图形符号(682个)(01~09)*94
拼音、五笔
汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符)*信息工程学院软件工程系null汉字字模码:汉字字形
点阵
汉字库*信息工程学院软件工程系null校验码(只介绍奇偶校验码)
引入:信息传输和处理过程中受到干扰和故障,容易出错。
解决方法:是在有效信息中加入一些冗余信息(校验位)
奇偶校验位定义
设x=(x0x1…xn-1)是一个n位字,则奇校验位C定义为:C=x0⊕x1⊕…⊕xn-1,式中⊕代表按位加,表明只有当x中包含有奇数个1时,才使C=1,即C=0。同理可以定义偶校验。
只能检查出奇数位错;不能纠正错误。
p26例10自己看一下。
其它还有Hamming,CRC
*信息工程学院软件工程系null2.2.1补码加法
2.2.2补码减法
2.2.3溢出概念与检测方法
2.2.4基本的二进制加法\减法器*信息工程学院软件工程系null补码加法
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
:[x]补 + [y]补 = [x+y]补 (mod 2n+1)*信息工程学院软件工程系null假设︱x︱﹤1, ︱y︱﹤1, ︱x+y︱﹤1
现分四种情况来证明
(1)x﹥0,y﹥0,则x+y﹥0
[x]补=x, [y]补=y, [x+y]补=x+y
所以等式成立.
(2)x﹥0,y﹤0,则x+y>0或x+y<0
[x]补=x, [y]补=2+y,
[x]补+[y]补=x+ 2+y
当x+y>0时,2 + (x+y) > 2,进位2必丢失,又因(x+y)>0,
故 [x]补+[y]补=x+y=[x+y]补
当x+y<0时,2 + (x+y) < 2,又因(x+y)<0,
故 [x]补+[y]补=2+(x+y)=[x+y]补
所以上式成立
*信息工程学院软件工程系null(3)x<0,y>0,则x+y>0或 x+y<0
这种情况和第2种情况一样,把x和y的位置对调即得证。
(4)x<0,y<0,则x+y<0
相加两数都是负数,则其和也一定是负数。
∵[x]补=2+x, [y]补=2+y
∴[x]补+[y]补=2+x+2+y=2+(2+x+y)
上式右边分为”2”和(2+x+y)两部分.既然(x+y)是负数,而其绝对值又小于1,那么(2+x+y)就一定是小于2而大于1的数,进位”2”必丢失.又因(x+y)<0, 所以[x]补+[y]补=2+(x+y)=[x+y]补
*信息工程学院软件工程系null[例11] x=+1011 , y=+0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 00101 [x]补 0 1 0 0 1 + [y]补 0 0 1 0 1 ———————————————— [x+y]补 0 1 1 1 0 ∴ x+y = +1110 *信息工程学院软件工程系null[例12] x=+1011 , y=-0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 11011 [x]补 0 1 0 0 1 + [y]补 1 1 0 1 1 ———————————————— [x+y]补 1 0 0 1 1 0 ∴ x+y = +0110 *信息工程学院软件工程系null公式: [x]补 - [y]补 = [x]补 + [-y]补 [-y]补 = -[y]补 + 2-n *信息工程学院软件工程系null[例13] 已知x1=-1110 , x2=+1101 , 求: [x1]补 , [-x1]补 , [x2]补 , [-x2]补 。 解: [x1]补 = 10010 [-x1]补 = -[x1]补 + 2-4 = 01101 + 00001 = 01110 [x2]补 = 01101 [-x2]补 = -[x2]补 + 2-4 = 10010 + 00001 = 10011 *信息工程学院软件工程系null[例14] x=+1101 , y=+0110 , 求 x-y=? 解:[x]补 = 01101 [y]补 = 00110 , [-y]补 = 11010 [x]补 0 1 1 0 1 + [-y]补 1 1 0 1 0 ———————————————— [x-y]补 1 0 0 1 1 1 ∴ x-y = +0111 *信息工程学院软件工程系null溢出的概念
可能产生溢出的情况
两正数加,变负数,正溢(大于机器所能表示的最大数)
两负数加,变正数,负溢(小于机器所能表示的最小数)
下面举两个例子*信息工程学院软件工程系null[例15] x=+1101 , y=+1001 , 求 x+y 。 解:[x]补=01011 , [y]补=01001 [x]补 0 1 0 1 1 + [x]补 0 1 0 0 1 —————————————— [x+y]补 1 0 1 0 0 两个正数相加的结果成为负数,表示正溢。*信息工程学院软件工程系null[例16] x=-1101 , y=-1011 , 求 x+y 。 解:[x]补=10011 , [y]补=10101 [x]补 1 0 0 1 1 + [x]补 1 0 1 0 1 —————————————— [x+y]补 0 1 0 0 0 两个负数相加的结果成为正数,表示负溢。*信息工程学院软件工程系null溢出的概念*信息工程学院软件工程系null检测方法
1、双符号位法
[x]补 = 2n+2 + x ( mod 2n+2 )
Sf1 Sf2
0 0 正确(正数) 0 1 正溢 1 0 负溢 1 1 正确(负数)
Sf1 表示正确的符号,逻辑表达式为V=Sf1 ⊕ Sf2, 可以用异或门来实现
*信息工程学院软件工程系null[例17] x=+01100 , y=+01000 , 求 x+y 。 解: [x]补 = 001100 , [y]补 = 001000 [x]补 0 0 1 1 0 0 + [y]补 0 0 1 0 0 0 ———————————————— [x+y]补 0 1 0 1 0 0 (表示正溢) *信息工程学院软件工程系null[例18] x=-1100 , y=-1000 , 求 x+y 。 解: [x]补 = 110100 , [y]补 = 111000 [x]补 1 1 0 1 0 0 + [y]补 1 1 1 0 0 0 ———————————————— [x+y]补 1 0 1 1 0 0 (表示负溢)*信息工程学院软件工程系null2、单符号位法
Cf C0 0 0 正确(正数) 0 1 正溢 1 0 负溢 1 1 正确(负数)
V=Cf ⊕ C0 ,其中Cf为符号位产生的进位,C0为最高有效位产生*信息工程学院软件工程系null一位全加器真值表*信息工程学院软件工程系nullFA逻辑方程*信息工程学院软件工程系nullFA逻辑电路和框图*信息工程学院软件工程系null*信息工程学院软件工程系nulln位行波进位加法器*信息工程学院软件工程系null*信息工程学院软件工程系null2.3.1原码并行乘法
2.3.2直接补码并行乘法*信息工程学院软件工程系null1、人工算法与机器算法的同异性
2、不带符号的阵列乘法器
3、带符号的阵列乘法器*信息工程学院软件工程系null[x]原=xfxn-1…x1x0 [y]原=yfyn-1…y1y0
[x·y]原=(xf ⊕ yf) + (xn-1…x1x0) (yn-1…y1y0)
用习惯方法求乘积如下:
设x=1101,y=1011
1 1 0 1 (x) × 1 0 1 1 (y) 1 1 0 1 1 1 0 1 0 0 0 0 + 1 1 0 1 1 0 0 0 1 1 1 1 (z)
*信息工程学院软件工程系nulln位乘n位积可能为2n位
乘积的最后是所有部分积之和
采用流水式阵列乘法器,取代串行
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null[例19] 参见图2.5,已知不带符号的二进制整数A=11011,B=10101,求每一部分乘积项aibj的值与p9p8…p0的值。 解: 1 1 0 1 1 = A (2710) × 1 0 1 0 1 = B (2110) ———————————— 1 1 0 1 1 a4b0=1, a3b0=1, a2b0=0, a1b0=1, a0b0=1 0 0 0 0 0 a4b1=0, a3b1=0, a2b1=0, a1b1=0, a0b1=0 1 1 0 1 1 a4b2=1, a3b2=1, a2b2=0, a1b2=1, a0b2=1 0 0 0 0 0 a4b3=0, a3b3=0, a2b3=0, a1b3=0, a0b3=0 + 1 1 0 1 1 a4b4=1, a3b4=1, a2b4=0, a1b4=1, a0b4=1 ———————————— 1 0 0 0 1 1 0 1 1 1 = P P = p9p8p7p6p5p4p3p2p1p0 = 1000110111 (56710) *信息工程学院软件工程系null求补电路
原理:算前求补-乘法器-算后求补,见下图
*信息工程学院软件工程系null*信息工程学院软件工程系null求补电路小结
E=0时,输入和输出相等
E=1时,则从数最右端往左边扫描,直到第一个1的时候,该位和右边各位保持不变,左边各数值位按位取反
可以用符号作为E 的输入
*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null[例20] 设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积 x·y=? 解:[x]原=01111 , [y]原=11101 , |x|=1111 , |y|=1101 符号位运算:0⊕1=1 1 1 1 1 × 1 1 0 1 ———————————— 1 1 1 1 0 0 0 0 1 1 1 1 + 1 1 1 1 ———————————— 1 1 0 0 0 0 1 1 乘积符号为1,算后求补器输出11000011,[x×y]原=111000011 换算成二进制数真值是 x·y = (-11000011)2 = (-195)10 *信息工程学院软件工程系null[例21] 设x=-15,y=-13,用带求补器的补码阵列乘法器求出乘积 x·y=? 并用十进制数乘法进行验证。 解:[x]补=10001 , [y]补=10011 , 乘积符号位运算:1⊕1=0 尾数部分算前求补器输出 |x|=1111 , |y|=1101 1 1 1 1 × 1 1 0 1 ———————————— 1 1 1 1 0 0 0 0 1 1 1 1 + 1 1 1 1 ———————————— 1 1 0 0 0 0 1 1 乘积符号为0,算后求补器输出11000011,[x×y]补=011000011 补码二进制数真值 x·y=0×28+1×27+1×26+1×21+1×20 =(+195)10 十进制数乘法验证 x·y = (-15)×(-13) = +195 *信息工程学院软件工程系null2.4.1原码除法算法原理
2.4.2并行除法器*信息工程学院软件工程系null设有n位定点小数(定点整数也适用) 被除数x,[x]原=xf.xn-1…x1x0 除数y, [y]原=yf.yn-1…y1y0 则有商q=x/y, [q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0) 商的符号运算qf=xf⊕yf与原码乘法一样,用模2求和得到。 下面是人工算法例子。*信息工程学院软件工程系null*信息工程学院软件工程系null人工除法时,人可以比较被除数(余数)和除数的大小来确定商1(够减)或商0(不够减)
机器除法时,余数为正表示够减,余数为负表示不够减。不够减时必须恢复原来余数,才能继续向下运算。这种方法叫恢复余数法,控制比较复杂。
不恢复余数法(加减交替法) 余数为正,商1,下次除数右移做减法; 余数为负,商0,下次除数右移做加法。 控制简单,有规律。
*信息工程学院软件工程系null1、可控加法/减法(CAS)单元
原理:采用不恢复余数(加减交替)法
P=0,作加法运算
P=1,作减法运算*信息工程学院软件工程系null*信息工程学院软件工程系null2、不回复余数的阵列除法器
*信息工程学院软件工程系null[例23]x=0.101001, y=0.111, 求x÷y。
l解:[x]补=0.101001 , [y]补=0.111 , [-y]补=1.001 0.1 0 1 0 0 1 ;被除数 +[-y]补 1.0 0 1 ;第一步减除数y ———————————————————————— 1.1 1 0 0 0 1 <0 q4=0 ;余数为负,商0 +[y]补→ 0.0 1 1 1 ;除数右移1位加 ———————————————————————— 0.0 0 1 1 0 1 >0 q3=1 ;余数为正,商1 +[-y]补→ 1.1 1 0 0 1 ;除数右移2位减 ———————————————————————— 1.1 1 1 1 1 1 <0 q2=0 ;余数为负,商0 +[y]补→ 0.0 0 0 1 1 1 ;除数右移3位加 ———————————————————————— 0.0 0 0 1 1 0 >0 q1=1 ;余数为正,商1 商q=q4.q3q2q1=0.101 , 余数r=(0.00r6r5r4r3)=0.000110
*信息工程学院软件工程系null2.5.1逻辑运算
2.5.2多功能算术/逻辑运算单元
2.5.3内部总线
2.5.4定点运算器的基本结构*信息工程学院软件工程系null1、逻辑非运算
2、逻辑加运算
3、逻辑乘运算
4、逻辑异运算*信息工程学院软件工程系nullx = x0x1x2…xn , 对x求逻辑非,则有 x = z = z0z1z2…zn zi = xi , i=0,1,2,…,n*信息工程学院软件工程系null*信息工程学院软件工程系nullx = x0x1x2…xn , y = y0y1y2…yn 则有 x+y = z = z0z1z2…zn zi = xi+yi , i=0,1,2,…,n*信息工程学院软件工程系null[例25] x=10100001 , y=100111011 , 求 x+y 解: 1 0 1 0 0 0 0 1 x + 1 0 0 1 1 0 1 1 y ———————————— 1 0 1 1 1 0 1 1 z 即 x+y = 10111011 *信息工程学院软件工程系nullx = x0x1x2…xn , y = y0y1y2…yn 则有 x·y = z = z0z1z2…zn zi = xi·yi , i=0,1,2,…,n *信息工程学院软件工程系null[例26] x=10111001 , y=11110011 , 求 x+y 解: 1 0 1 1 1 0 0 1 x · 1 1 1 1 0 0 1 1 y ———————————— 1 0 1 1 0 0 0 1 z 即 x·y = 10110001*信息工程学院软件工程系nullx = x0x1x2…xn , y = y0y1y2…yn 则有 x⊕y = z = z0z1z2…zn zi = xi⊕yi , i=0,1,2,…,n *信息工程学院软件工程系null[例27] x=10101011 , y=11001100 , 求 x+y 解: 1 0 1 0 1 0 1 1 x ⊕ 1 1 0 0 1 1 0 0 y ———————————— 0 1 1 0 0 1 1 1 z 即 x⊕y = 01100111 *信息工程学院软件工程系null1、基本思想
2、逻辑表达式
3、算术逻辑运算的实现
4、两级先行进位的ALU*信息工程学院软件工程系null1、基本思想
创新点:
实现并行进位(先行进位)
实现16种算术运算,16种逻辑运算
基本思想:一位全加器FA的逻辑表达式:
为了实现多种算术逻辑运算,可将Ai和Bi输入一个
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
发生器(进位传递函数和进位产生函数)得到输出Xi和Yi,作为一位全加器的输入(见下页图)*信息工程学院软件工程系nullALU的逻辑图与逻辑表达式*信息工程学院软件工程系null2、逻辑表达式
XiYi 与控制参数和输入量的关系构造如下真值表*信息工程学院软件工程系nullALU的某一位逻辑表达式见下:
*信息工程学院软件工程系null如何实现先行进位?
答:由于每一位中X、Y的产生是同时的,则可以由下面方法算出并行进位的Cn+4
Cn+1=Y0+X0Cn
Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn
Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+ X0X1X2Cn
Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+ Y0X1X2X3+X0X1X2X3Cn
*信息工程学院软件工程系null令G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3
G为进位发生输出 P为进位传送输出
增加P和G的目的在于实现多片(组)ALU之间的先行进位,需要配合电路,称为先行进位发生器(CLA)
器件: 74181*信息工程学院软件工程系null3、算术逻辑运算的实现*信息工程学院软件工程系null*信息工程学院软件工程系null算术逻辑运算的实现(74181)
M=L时,对进位信号没有影响,做算术运算
M=H时,进位门被封锁,做逻辑运算
说明:
74181执行正逻辑输入/输出方式的一组算术运算和逻辑运算和负逻辑输入/输出方式的一组算术运算和逻辑运算是等效的
A=B端可以判断两个数是否相等。*信息工程学院软件工程系null4、两级先行仅为的ALU
4片(组)的先行进位逻辑
Cn+x=G0+P0Cn
Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn
Cn+x=G2+P2Cn+y =G2+G1P2+G0P1P2+P0P1P2Cn
Cn+4=G3+P3Cn+z =G3+G2P3+G1P2P3+G0P1P2P3+P0P1P2P3Cn =G*+P*Cn
G*为成组先行进位发生输出
P*为成组先行进位传送输出 *信息工程学院软件工程系null图2.12 成组先行进位部件CLA的逻辑图*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null*信息工程学院软件工程系null内部总线
机器内部各部份数据传送频繁,可以把寄存器间的数据传送通路加以归并,组成总线结构。
分类
所处位置
内部总线(CPU内)
外部总线(系统总线)
逻辑结构
单向传送总线
双向传送总线 *信息工程学院软件工程系null*信息工程学院软件工程系null1、单总线结构的运算器*信息工程学院软件工程系null2、双总线结构的运算器*信息工程学院软件工程系null3、三总线结构的运算器
*信息工程学院软件工程系null2.6.1浮点加法、减法运算
2.6.2浮点乘法、除法运算
2.6.3浮点运算流水线
2.6.4浮点运算器实例*信息工程学院软件工程系null1、浮点加减运算
设有两个浮点数x和y,它们分别为
x=2Ex·Mx
y=2Ey·My
其中Ex和Ey分别为数x和y的阶码,Mx和My为数x和y的尾数。两浮点数进行加法和减法的运算规则是
x±y=(Mx2Ex-Ey±My)2Ey
*信息工程学院软件工程系null2、浮点运算步骤
(1) 0操作数检查;
(2) 比较阶码并完成对阶(小阶向大阶对齐);
(3) 尾数求和运算;
(4) 结果规格化; (5) 舍入处理。
*信息工程学院软件工程系null浮点加减法运算操作流程*信息工程学院软件工程系null[例28] 设x=2010×0.11011011, y=-2100×0.10101100, 求x+y 。
1、0操作数检查(非0)
2、对阶:阶码对齐后才能加减。规则是阶码小的向阶码大的数对齐;
若△E=0,表示两数阶码相等,即Ex=Ey;
若△E>0,表示Ex>Ey;
若△E<0,表示Ex>Ey。
当Ex≠Ey时,要通过尾数的移动以改变Ex或Ey,使之相等。
[x]浮=00010, 0.11011011; [y]浮=00100, 1.01010100 阶差=[Ex]补-[Ey]补=00010-00100=11110 即阶差为-2,Mx右移两位,Ex加2。 [x]浮=00100, 0.00110110(11)
*信息工程学院软件工程系null3、尾数相加
0. 0 0 1 1 0 1 1 0 (11) + 1. 0 1 0 1 0 1 0 0 ———————————————— 1. 1 0 0 0 1 0 1 0 (11)
4、结果规格化
规则:尾数右移1位,阶码加1;尾数左移1位,阶码减1。
左规处理,结果为1.00010101(10),阶码为00011*信息工程学院软件工程系null舍入处理(对阶和向右规格化时)
就近舍入(0舍1入):类似”四舍五入”,丢弃的最高位为1,进1
朝0舍入:截尾
朝+∞舍入:正数多余位不全为”0”,进1;负数,截尾
朝-∞ 舍入:负数多余位不全为”0”,进1;正数,截尾
采用0舍1入法处理,得到1.00010110。
溢出判断和处理
阶码上溢,一般将其认为是+∞和-∞ 。
阶码下溢,则数值为0。
阶码符号位为00,不溢出。得最终结果为
x+y= 2011×(-0.11101010) *信息工程学院软件工程系null[例29] 设x = 10Ex×Mx = 102×0.3 , y = 10Ey×My = 103×0.2 , 求 x+y=? x-y=? 解:Ex=2, Ey=3, Ex
本文档为【计算机组成原理课件第二章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。