第二章 运算方法与运算器

合集下载

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

计算机组成原理 第五课

计算机组成原理 第五课
是 — —说明无错或无奇数位出错 否 — —奇数位出错
例:X0X1X2X3C =10110 (奇) X0'X1'X2'X3' C' =11110 由X0'X1'X2'X3'生成C*=
(1 ⊕ 1) ⊕ (1 ⊕ 1)
=1,则
C*⊕C' =1⊕0=1 —— 出错
(4) 优缺点
优点:简单易行,省器件. 缺点:只能发现奇数位错,无纠错能力.
2.1.4 数据校验码
1. 数据校验码:
用以发现或同时能得出错误位置特征的数据编码. 计算机中的错误类型: ; (1)固定性错误---元器件故障; ) (2)突发性错误---噪声干扰. )
2. 检错码--奇偶校验码 (1) 定义
使包括一位校验位在内的数据代码,"1"的个数总是奇 (或偶)数个为合法数据的编码.
2. 补码定点减法
(1)补码减法的规则: 推论: [X-Y]补= [X+(-Y)]补 =[X]补+[-Y]补 已知 [Y]补 ,那么 [-Y]补=? (2)求补: 由[Y]补求[-Y]补,称为对Y求补. (3)求补规则 : 不管真值Y时正数还是负数,求补的方法都是将[Y]补 可见:求补时,从[Y]补的最低位开始向高位扫描,见到第 连同符号位在内各位变反, 末位加1. 一个"1",包括这个"1"的各位不变,其余各位变反 例如:[y]补=1.1010,则环冗余校验码(CRC) CRC
n位数据位和r位校验位只有1位出错,共有n+r种情况, (1) 纠正一位错所需的校验码位数r 加上没有错的一种情况,共有n+r+1种情况,而r位二进 设待编码的信息有效位数为n,则r应满足: 制的编码数为2r,因此 2r≥n+r+1 即 r>log2n n r 1 2 2~4 3 5~11 12~26 4 5

计算机组成原理第四版第二章

计算机组成原理第四版第二章
[x]补=0.1001, [y]补=0.0101 [x]补 0. 1 0 0 1
+ [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章_运算方法与运算器 (1)解析

白中英计算机组成原理第2章_运算方法与运算器 (1)解析

定点整数的表示范围
纯整数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤ 2n -1
例如:n=8,最大值编码:11111111 表示: 11111111=100000000-1 =28-1
目前计算机中多采用定点纯整数表示,因此 将定点数表示的运算简称为整数运算
第二章 运算方法和运算器
重点:数据表示 简介:运算方法和运算器 补充:数字逻辑
二进制数
便于计算机存储及物理实现 特点:逢二进一,由0和1两个数码组成,基数
为2,各个位权以2k表示 二进制数:
anan-1…a1a0.b1b2…bm= an×2n+an-1×2n-1+…+a1×21+a0×20 +b1×2-1+b2×2-2+…+bm×2-m 其中ai,bj非0即1
定点小数的表示范围
纯小数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤1-2-n
例如,n=8,最大值编码:0.11111111 表示: 0.11111111 =1.0-0.00000001 =1-2-8
非常大和非常小的数
如何用定点数来表示非常大(e.g. 2×10+33 )的数和非常小(e.g. 9×10-28 )的数?
00111010B=3AH,F2H=11110010B
十六进制数的加减运算类似十进制
•逢16进位1,借1当16
23D9H+94BEH=B897H
A59FH-62B8H=42E7H
计算机组成原理
7
真值和机器数
真值:现实中真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数
一个R进制数N可以写成 N=Re×M

经典:计算机组成原理-第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

计算机组成原理第11-浮点数的运算1

计算机组成原理第11-浮点数的运算1

x±y=(Mx2Ex-Ey±My)2Ey, Ex<=Ey
12/31/2023
信 息 科 学 与 工 程 学 院1
两数首先均为规格化数,进行规格化浮点数的加减运 算需经过5步完成: (1)对阶操作:低阶向高阶补齐,使阶码相等。 (2)尾数运算:阶码对齐后直接对尾数运算。 (3)结果规格化:对运算结果进行规格化处理(使补码尾 数的最高位和尾数符号相反)。如溢出则需右规;如不是 规格化时应左规。 (4)舍入操作:丢失位进行0舍1入或恒置1处理。 (5)判断溢出:判断阶码是否溢出,下溢则将运算结果置 0(机器0),上溢则中断。
14 12/31/2023
信 息 科 学 与 工 程 学 1院4
第二章 运算方法和运算器
2、乘、除法运算步骤 浮点数的乘除运算大体分为以下几个步骤:
1> 0 操作数检查。 2> 阶码加/减操作。 3> 尾数乘/除操作。 4> 结果规格化 5> 舍入处理。
15 12/31/2023
信 息 科 学 与 工 程 学 1院5
18 12/31/2023
信 息 科 学 与 工 程 学 1院8
第二章 运算方法和运算器
当尾数用原码表示时,舍入规则比较简单。最简便的方法,是只要尾数的最低位 为1,或移出的几位中有为1的数值位,就是最低位的值为1。 另一种是0舍1入法,即当丢失的最高位的值为1时,把这个1加到最低数值位上进 行修正,否则舍去丢失的的各位的值。 当尾数是用补码表示时,所用的舍入规则,应该与用原码表示时产生相同的处理 效果。 具体规则是:
(4) 右规
当 尾数溢出( >1)时,需 右规 即尾数出现 01. ×× …×或 10. ×× …×时
尾数 1,阶码加 1
12/31/2023

计算机组成原理-第2周下-定点加减法运算

计算机组成原理-第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。

计算机组成原理(第四版)复习重点及例子

计算机组成原理(第四版)复习重点及例子

计算机组成原理复习重点及要求第二章运算方法和运算器1.定点数的表示方法:掌握定点数的概念;掌握定点数的机器码表示(主要是原码、补码和移码)。

2.定点数的运算方法:掌握补码加减运算方法、溢出概念及检测方法。

3.定点运算器:掌握全加器的功能;掌握行波进位加减法器的结构及工作原理;理解多功能ALU的结构原理;掌握定点运算器的基本结构及其特点(包括单总线结构、双总线结构和三总线结构)。

4.浮点数的表示方法:掌握浮点数的概念;掌握浮点数表示的一般格式;掌握浮点数规格化表示的方法及其意义。

5.浮点数的运算方法:掌握浮点数的加减运算方法及步骤。

第三章存储系统1.理解多级存储器体系结构的意义及各级存储器的主要作用。

2.SRAM存储器:理解存储器芯片的逻辑结构(包括存储阵列、双译码方式、读写控制等);掌握SRAM存储器芯片的外部引脚特征(包括地址、数据、控制引脚);掌握SRAM存储器容量扩充方法(包括位扩展、字扩展、字位同时扩展,以及与CPU 的连接等)。

3.DRAM存储器:掌握DRAM存储器的存储原理;理解DRAM存储器的刷新问题及刷新方法;掌握DRAM存储器芯片的外部引脚特征。

4.ROM存储器:掌握ROM存储器的种类;掌握EPROM的擦、写特点。

5.Cache存储器:掌握cache存储器的作用及工作原理,理解程序局部性原理的意义;掌握cache-主存系统性能指标的计算方法(包括命中率、平均访问时间及效率);掌握各种主存与cache的地址映射方式及其特点,理解各种映射方式下的主存与cache的地址格式及其各字段的含义;理解替换策略对cache存储器的意义。

6.虚拟存储器:掌握虚拟存储器的作用及相关概念;掌握各式虚拟存储器的工作原理及特点(包括页式、段式和段页式虚拟存储器);掌握各式虚拟存储器的地址变换过程,掌握各自的虚地址格式及其各字段的含义。

第四章指令系统1.指令系统的基本概念:掌握机器指令、指令系统、系列机、CISC、RISC等概念。

计算机组成原理习题 第二章运算方法和运算器

计算机组成原理习题 第二章运算方法和运算器

第二章习题一、填空题:1.一个定点数由A.______和B.______两部分组成,根据小数点位置不同,定点数有C.______和D.______两种表示方法。

2.数的真值变成机器码可采用A. ______表示法,B. ______表示法,C.______表示法,移码表示法。

3.若[ x1 ]补 = 11001100, [x2 ]原 = 1.0110 ,则数x1和x2的十进制数真值分别是A.______和B.______。

4.移码表示法主要用于表示浮点数的A.______码,以利于比较两个B.______数的大小和进行C.______操作。

5.按IEEE754标准,一个浮点数由A.___, 阶码E, 尾数M三个域组成。

其中阶码E 的值等于指数的B.___, 加上一个固定C.___。

6.若浮点数格式中阶码的基数已定,且尾数采用规格化表示法,则浮点数的表示范围取决于A. 的位数,而精度取决于B. 的位数。

二、选择题:1.(2000)10化成十六进制数是______。

A.(7CD)16 B.(7D0)16 C.(7E0)16 D.(7FO)162.在小型或微型计算机里,普遍采用的字符编码是______。

A. BCD码B. 16进制C. 格雷码D. ASCⅡ码3.下列有关运算器的描述中,______是正确的。

A.只做算术运算,不做逻辑运算B. 只做加法C.能暂时存放运算结果D. 既做算术运算,又做逻辑运算4.某机字长32位。

其中1位符号位,31位表示尾数。

若用定点整数表示,则最大正整数为______。

A. +(231-1)B. +(230-1)C. +(231+1)D. +(230+1)5.至今为止,计算机中的所有信息仍以二进制方式表示的理由是______。

A.节约元件 B. 运算速度快 C. 物理器件性能决定 D. 信息处理方便6.某机字长32位,其中1位符号位,31位表示尾数。

若用定点整数表示,则最小负整数为______。

浮点数计算方法ppt

浮点数计算方法ppt
+|x|
2n>x≥0 0≥x>-2n
对于0,原码机器中往往有“+0”、“-0” 之分,故有两种形式:
[+0]原 = 0.000...0 [ -0]原 = 1.000...0
采用原码表示法简单易懂,但它的最大 缺点是加法运算复杂。这是因为,当两数相 加时,如果是同号则数值相加;如果是异号, 则要进行减法。而在进行减法时还要比较绝 对值的大小,然后大数减去小数,最后还要 给结果选择符号。为了解决这些矛盾,人们 找到了补码表示法。
2. 补码表示法
我们先以钟表对时为例说明补码的概念。
假设现在的标准时间为4点正; 而有一只表已
经7点了,为了校准时间,可以采用两种方法:
一是将时针退 7-4=3 格;一是将时针向前拨12-
3=9格。这两种方法都能对准到4点,由此可以
看出,减3和加9是等价的,就是说9是(-3)对12
的补码,可以用数学公式表示:
浮点数所表示的范围远比定点数大。一台 计算机中究竟采用定点表示还是浮点表示,要根 据计算机的使用条件来确定。一般在高档微机 以上的计算机中同时采用定点、浮点表示,由使 用者进行选择,而单片机中多采用定点表示。
[例1] 若浮点数x的754标准存储格式为
(41360000)16,求其浮点数的十进制数值。
4. 移码表示法
移码通常用于表示浮点数的阶码。由于
阶码是个n位的整数,假定定点整数移码形式
为 x0x1x2…xn时,对定点整数移码的传
统定义是:
[x]移=2n+x
2n>x≥-2n
若阶码数值部分为5位,以x表示真值,
则: [x]移=25+x
25>x≥- 25
小结:上面的数据四种机器表示法中,移码 表示法主要用于表示浮点数的阶码。由于补 码表示对加减法运算十分方便,因此目前机 器中广泛采用补码表示法。在这类机器中, 数用补码表示,补码存储,补码运算。也有 些机器,数用原码进行存储和传送,运算时 改用补码。还有些机器在做加减法时用补码 运算,在做乘除法时用原码运算。

@@运算方法和运算器解析

@@运算方法和运算器解析
第2章 运算方法和运算器
2018/10/15
1
第2章主要内容

数据的表示法
数的表示 字符的表示


数据的运算法
加减法运算 乘除法运算


运算的电路实现
2018/10/15 2
补充内容(进制之间的转换)

十进制——二进制
如 (20.59375)10=(10100.10011)2 ( 100.11011 )2=(4.84375)10
2018/10/15
15
机器数的定点表示法
(1)定点表示法: 定点数是小数点固定在某一位置的数.可看成所有的 数都采用同样的阶码aj( 如 j=0, a0=1 ), aj可略去不 表示,也叫比例因子.因此,定点数可简化为: Sf (数符)和 S(尾数) 理论上讲,比例因子可任意选择,但一般把尾数表示成 纯小数或纯整数.比例因子的选择有以下要求: (2)比例因子的选择: 不能太大:会丢失有效数字,影响运算精度. 当比例因子为21时,S=0.011 当比例因子为22时,S=0.001,损失1位 若数N=0.11 当比例因子为23时,S=0.000,损失2位 不能太小:可能使数超过机器允许的范围. 如:0111+0101=1100,正数相加,变成了负数.
原码表示法
N+1位原码: x0x1x2 … xn [X]原=符号位+|X| 定点整数: [x]原=x x0 [x]原=2n-x= 2n+|x| -2n<x≤0 定点小数: [x]原=x 1>x 0 [x]原=1-x=1+|x| -1<x≤0
2018/10/15 8
反码表示法

不管是定点整数或定点小数

《计算机组成原理-白中英版》习题答案

《计算机组成原理-白中英版》习题答案

第二章运算方法和运算器1.写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。

其中MSB是最高位(又是符号位)LSB是最低位。

如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。

(1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 用整数表示-1解:(1)先把十进制数-35/64写成二进制小数:(-35/64)10=(-100011/1000000)2=(-100011×2-6)2=(-0.100011)2令x=-0.100011B∴ [x]原=1.1000110 (注意位数为8位) [x]反=1.0111001[x]补=1.0111010 [x]移=0.0111010(2) 先把十进制数23/128写成二进制小数:(23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2令x=0.0001011B∴ [x]原=0.0001011 [x]反=0.0001011[x]补=0.0001011 [x]移=1.0001011(3) 先把十进制数-127写成二进制小数:(-127)10=(-1111111)2令x= -1111111B∴ [x]原=1.1111111 [x]反=1.0000000[x]补=1.0000001 [x]移=1.0000001(4) 令x=-1.000000B∴ 原码、反码无法表示[x]补=1.0000000 [x]移=0.0000000(5) 令Y=-1=-0000001B∴ [Y]原=10000001 [Y]反=11111110[Y]补=11111111 [Y]移=011111115.已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。

(2)X=0.11011 Y= -0.10101解:x+y = 0.00110无溢出6.已知X 和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。

白中英计算机组成原理第2章-运算方法与运算器

白中英计算机组成原理第2章-运算方法与运算器
按编码不同又可分为原码、反码、补码、移码……
2024年7月16日星期二
5
2.1 数据与文字的表示方法
2.1.1 数据格式 2.1.2 数的机器码表示 2.1.1 数据格式 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码
2024年7月16日星期二
6
2.1.1 数据格式——定点数
2024年7月16日星期二
3
2.0 数据的类型(1/2)
按数制分:
十进制:在微机中直接运算困难;
二进制:占存储空间少,硬件上易于实现,易于运算;
十六进制:方便观察和使用;
二-十进制:4位二进制数表示1位十进制数,转换简单。 按数据格式分:
真值:没有经过编码的直观数据表示方式,其值可带正负号, 任何数制均可;
-8 1000 0000 -7 1001 0001 -6 1010 0010 …… …… ……
可以比较直观地判断两个数据的大小; 0 0000 1000
浮点数运算时,容易进行对阶操作;
+1 0001 1001
表示浮点数阶码时,容易判断是否下溢; …… …… ……
当阶码为全0时,浮点数下溢。
+7 0111 1111
优点 与真值对应关系简单;
缺点 参与运算复杂,需要将数值位与符号位分开考虑。
2024年7月16日星期二
11
补码表示法的引入(1/3)
要将指向5点的时钟调整到3点整,应如何处理?
5-2=3
2024年7月16日星期二
5+10=3(12自动 丢失。12就是模)
12
补码表示法的引入(2/3)
继续推导: 5-2=5+10(MOD 12) 5+(-2)=5+10(MOD 12) -2=10(MOD 12)

第二章运算方法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)

第二章运算方法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)

第⼆章运算⽅法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)这⼀章,主要介绍了好多种计算⽅法。

下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。

1.原码、反码、补码 原码:相信⼤家都会写,符号位在前⼆进制数值在后,凑够位数即可。

反码:原码符号位不变,其他位全部取反。

补码:反码末位加⼀ / 原码符号位不变,从右往左数第⼀个1及其右边的各位不变,其余位全部取反2.IEEE754的转换 IEEE754标准32/64浮点规格化数形式:X = (-1)S * 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码) 32位的规格化浮点数:SEM00000...(即⼆进制SEM后⾯补0,写够32位) 以27/64为例: ①化形式:27/64 = + (1.1011)2 * 2-2 ②找SEM:S=0,M=1011,E=(125)10=(01111101)2 ③写结果:00111110 11011000 00000000 00000000 = (3ED800)163.变形补码计算加减法 变形补码没什么稀奇,不过是符号位变成两位⽽已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表⽰未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在⼀起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。

x+y: 以x=11011, y=00011为例: ①求补:[11011]补=0011011, [00011]补=0000011 ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110 x-y:(这⾥把减法化为加法,即 x-y = x+(-y),另外[-y]补 = [y]补 从右往左数第⼀个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反) 以x=11011, y=-11111为例: ①求补:[11011]补=0011011, [-11111]补=1100001,[-y]补=0011111 ②加和:[x]补+[-y]补 = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+1110104.浮点数加减法(我⽤的是补码计算) 这⾥⾯涉及的东西⽐较多,每⼀步都需要仔细,错⼀步结果就错了。

计算机组成原理第2章5-定点原码并行乘法运算

计算机组成原理第2章5-定点原码并行乘法运算
信 息 科 学 与 工 程 学 院2
第二章 运算方法和运算器
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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
计算机组成原理
第二章 运算方法与运算器
2.数的转换
例2-1 将十进制数26.41转换成二进制数,八进制数、十六进 制数。 解: 转换成二进制数的过程如下, 整数除2取余 (余数) ( 整数 )小数乘2取整。 26 ↓ ↓ .41 13 0 ┄┄┄┐┌┄┄┄ 0 .82 6 1 ┄┄┐┆┆┌┄┄ 1 .64 3 0 ┄┐┆┆┆┆┌┄ 1 .28 1 1 ┐┆┆┆┆┆┆┌ 0 .56 0 1 ┆┆┆┆┆┆┆┆ 1 .12 ┆┆┆┆┆┆┆┆┆┆ 26.4110=1 1 0 1 0. 0 1 1 0 12
第二章 运算方法与运算器
3.数的定点表示
⑴ 定点小数 将小数点固定在符号位d0 之后,数值最高位d-1 之前, 这就是定点小数形式。其格式如下所示: d0 d-1 d-2 …………… d-(n-1)

⑵ 定点整数 将小数点固定在数的最低位之后,这就是定点整数形 式。其格式如下所示: d0 d-1 d-2 ……………. d-(n-1)

主编 薛胜军 教授
11
计算机组成原理
第二章 运算方法与运算器
定点小数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下: 最小负数 最大负数 最小正数 最大正数 1.1111111 1.0000001 0.0000001 0.1111111 -(1-2-7) -2-7 2-7 1-2-7
②设字长为8b,用补码表示时,其表示范围如下: 最小负数 最大负数 最小正数 最大正数 1.0000000 1.1111111 0.0000001 0.1111111 -1 -2-7 2-7 1-2-7
主编 薛胜军 教授
14
计算机组成原理
第二章 运算方法与运算器
4.数的浮点表示法
⑴ 浮点数的表示格式 浮点表示法把字长分成阶码(表示指数)和尾数(表示数 值)两部分。其格式如下(第一种浮点格式): J Em-1…E1 S D-1…D-(n-1) 阶符 阶码值 数符 尾数值 补码表示 补码表示 阶码部分共分为m位,其中J为阶符(即指数部分的符号 位),Ei为阶码值(表示幂次);基数R是隐含约定的,通 常取2;尾数部分共分为n位,其中S是尾数部分的符号位, D-1…D-(n-1)为尾数值部分。假设阶码为E,尾数为D,基数 为2,则这种格式存储的数X可表示为X=D×2E。 主编 薛胜军 教授
主编 薛胜军 教授
18
计算机组成原理
第二章 运算方法与运算器
⑶ 浮点数的表示举例
某机用32b表示一个数,阶码部分占8b(含一位符号 位 ) , 尾 数 部 分 占 2 4 b( 含 一 位 符 号 位 ) 。 设 x1=256.5 ,x2=127/256,试写出x1和x2的两种浮点数表示 格式。 解② x2=127/256= (1111111)2×2-8=2-1×0.1111111 阶码的补码为(-1)补=11111111 阶码的移码为(-1)移=01111111 尾数=0.11111110000000000000000(规格化补码) 第一种浮点表示的格式为 11111111,0.11111110000000000000000 第二种浮点表示的格式为 0,01111111,11111110000000000000000
主编 薛胜军 教授
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。 • 补码运算中,可以用加法代替减法,节省元件, 降低成本。
主编 薛胜军 教授
6
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1 例如,若x1=+0.1011,x2=-0.1011, 字长为8b,则其补码 分别为 [x1]原=0.1011000 [x1]补=0.1011000 [x2]原=1.1011000 [x2]补=1.0101000 补码的零只有一个即0.0000000。 1.000000表示负1
主编 薛胜军 教授
2
计算机组成原理
第二章 运算方法与运算器
1.真值与机器数
例:设机器字为8b字长,数N1的真值为(+1001110)2, 数N2的真值为(-1001110)2,则N1 、N2对应的机器数 为: N1
N2
0
1
0
0
0
0
1
1
1
0
1 1 符号
1 1 1 0 数 值 部 分
主编 薛胜军 教授
主编 薛胜军 教授
12
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围: ①设字长为8b,用原码表示时,其表示范围如下: 最小负数 最大负数 最小正数 最大正数 11111111 10000001 00000001 01111111 -(27-1)=-127 -1 +1 27-1=127 ②设字长为8b,用补码表示时,其表示范围如下: 最小负数 最大负数 最小正数 最大正数 10000000 11111111 00000001 01111111 -27=-128 -1 +1 27-1=127
主编 薛胜军 教授
21
计算机组成原理
第二章 运算方法与运算器
(6)IEEE754标准浮点数表示 二进制浮点数的表示,由于不同机器所选用的基 值、尾数位长度和阶码位长度不同,因此对浮点数表 示有较大差别,这就不利于软件在不同计算机间的移 植。美国IEEE(电气及电子工程师协会)为此提出了一 个从系统结构角度支持浮点数的表示方法,称为IEEE 标准754(1985),它是一种优化表示法,当今流行的计 算机几乎都采用了这一标准。 IEEE 754标准在表示浮点数时.每个浮点数均由 三部分组成:符号位S,指数部分E和尾数部分M。
计算机组成原理
第二章 运算方法与运算器
第二章 运算方法与运算器
2.1 数据信息的表示方法 2.1.1数值数据的表示
主编 薛胜军 教授
1
计算机组成原理
第二章 运算方法与运算器
1.真值与机器数
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。 将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
主编 薛胜军 教授
8
计算机组成原理
第二章 运算方法与运算器
⑷ 移码
移码也叫增码,它常以整数形式用在计算机浮点数的 阶码(表示指数)中。若纯整数X为n位(包括符号 位),则其移码定义为: [x]移=2n-1+[x]补 -2n-1≤X≤2n-1-1 补码将符号位求反可得移码。 设字长为8b,若x=+1000(2), [x]补=00001000 [x]移=10001000 若x=-1000(2), [x]补=11111000 [x]移= 01111000
20
最小正数 0.100 2-1
最大正数 0.111 1-2-3
主编 薛胜军 教授
计算机组成原理
第二章 运算方法与运算器
③规格化浮点数表示范围
最小负数 最大负数 最小正数 最大正数 20111×1.000 21000×1.011 21000×0.100 20111×0.111 21111×1.000 20000×1.011 20000×0.100 21111×0.111 -27×1 -2-8×(2-3+2-1 ) 2-8×2-1 27×(1-2-3) 注意:这里规格化尾数的最大负数的补码是1.01…1的形式, 而不是1.10…0的形式,是因为 1.10…0不是规格化数,所以规 格化尾数的最大负数应是 : -(0.10…0 + 0.0…01)= - 0.10…01 , 而[- 0.10…1]补=1.01…1 ,即 -(2-(n-1)+2-1 )
主编 薛胜军 教授
17
计算机组成原理
第二章 运算方法与运算器
⑶ 浮点数的表示举例
某机用32b表示一个数,阶码部分占8b(含一位符号位), 尾 数 部 分 占 2 4 b( 含 一 位 符 号 位 ) 。 设 x1=-256.5 , x2=127/256,试写出x1和x2的两种浮点数表示格式。 解:①x1=-256.5= -(100000000.1)2=-29×0.1000000001 阶码的补码为(+9)补=00001001 阶码的移码为(+9)移=10001001 尾数=1.01111111110000000000000 (规格化补码) 第一种浮点表示的格式为 00001001,1.01111111110000000000000 第二种浮点表示的格式为 1,10001001,01111111110000000000000
主编 薛胜军 教授
22
计算机组成原理
第二章 运算方法与运算器
IEEE 754标准在表示浮点数一般采用以下四种基本格式; (1)单精度格式(32位):除去符号位1位后,E=8位,M=23位。 (2)扩展单精度格式:E≥11位,M≥31位。 (3)双精度格式(64位):E=11位,M=52位。 (4)扩展双精度格式:E≥15位,M≥63位。 在IEEE754标准中,约定小数点左边隐含一位,通常这位数就 是1,这样实际上使尾数的有效位数为24位(单精度),即尾数为 1.M。指数的值在这里称为阶码,为了表示指数的正负,所以阶 码部分采用移码表示,移码值为127,阶码值即从1到254变为-126 至+127,在IEEE754标准中所有的数字位都得到了使用,明确地 表示了无穷大和0,并且还引进了“非规格化数”,使得绝对值 较小的数得到更准确的表示。
主编 薛胜军 教授
7
计算机组成原理
第二章 运算方法与运算器
⑶ 反码表示法
对于正数来说,反码与原码、补码的表示形式相 同。对于负数来说,符号位与原码、补码的符号 位定义相同。而数值只是将原码的数值位按位变 反就得到了该数的反码表示。 例如,若x1=+0.1011 x2=-0.1011, 字长为8b, [x1]反=0.1011000= [x1]原= [x1]补 [x2]反=1.0100111 [x2]补=1.0101000 [x2]原=1.1011000 反码的零有两个0.0000和1.11111
相关文档
最新文档