第二章 运算方法和运算器

合集下载

计算机组成原理第二章课后习题答案

计算机组成原理第二章课后习题答案

第二章运算方法和运算器练习一、填空题1. 补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。

2. 为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。

3. 采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(不相同),则表明发生了溢出。

若结果的符号位为(01),表示发生正溢出;若为(10),表示发生负溢出。

4. 采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数的符号(不一致),则表示溢出;当加数与被加数符号不同时,相加运算的结果(不会产生溢出)。

5. 利用数据的数值位最高位进位C和符号位进位Cf的状况来判断溢出,则其表达式为over=(C⊕Cf)。

6. 在减法运算中,正数减(负数)可能产生溢出,此时的溢出为(正)溢出;负数减(正数)可能产生溢出,此时的溢出为(负)溢出。

7. 补码一位乘法运算法则通过判断乘数最末位Yi和Yi-1的值决定下步操作,当YiYi-1=(10)时,执行部分积加【-x】补,再右移一位;当YiYi-1=(01)时,执行部分积加【x】补,再右移一位。

8. 浮点加减运算在(阶码运算溢出)情况下会发生溢出。

9. 原码一位乘法中,符号位与数值位(分开运算),运算结果的符号位等于(两操作数符号的异或值)。

10. 一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该(加1)。

11. 左规的规则为:尾数(左移一位),阶码(减1)。

12. 右规的规则是:尾数(右移一位),阶码(加1)。

13. 影响进位加法器速度的关键因素是(进位信号的传递问题)。

14. 当运算结果的补码尾数部分不是(11.0×××××或00.1×××××)的形式时,则应进行规格化处理。

当尾数符号位为(01)或(10)时,需要右规。

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

计算机原理第二章运算方法和运算器
算术移位
算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以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章_运算方法和运算器74181

第2章_运算方法和运算器74181
根据上面所列的函数关系,化简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
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行位波全进加位器加构法成器,本每身一来位说的,进它位只延能迟完时成间为

计算机组成原理第12-浮点数的运算2

计算机组成原理第12-浮点数的运算2
Tk=k+(n-1) 其中k个时钟周期用于处理第一个任务。k个周期后,流水线被装满,剩余的n-1个 任务只需n-1个周期就完成了。 用非流水线的硬件来处理这n个任务,时间上只能串行进行,则所需时钟周期数为 TL=n·k 将TL和Tk的比值定义为k级线性流水线的加速比:
CK=TL/TK=(n·k)/(k+(n-1)) 当 n>>k 时, Ck->k 。这就是说,理论上k级线性流水线处理几乎 可以提高k倍速度。但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能 达到。
[解:] (1)加法器的流水线时钟周期至少为 τ=90ns+10ns=100ns
如果采用同样的逻辑电路,但不是流水线方式,则浮点加法所需的时间为 τ1+τ2+τ3+τ4 =300ns
因此,4级流水线加法器的加速比为 Ck=300/100=3
(2) 当每个过程段的时间都是75ns时,加速比为 Ck=300/75=4
[例30] 已知计算一维向量x,y的求和表达式如下:



56
65
20.5
14.6
0
336
121 35.1 336
114.3 + 7.2 = 121.5
69.6
72.8
142.4
3.14
1.41
4.55
试用4段的浮点加法流水线来实现一维向量的求和运算,这4段流水线是阶码比较、 对阶操作、尾数相加、规格化。只要求画出向量加法计算流水时空图。
2.CPU之内的浮点运算器
奔腾CPU将浮点运算器包含在芯片内。浮点运算部件采用流水线设计。
指令执行过程分为8段流水线。前4 段为指令预取(DF)、指令译码(D1)、地址生 成(D2)、取操作数(EX),在U、V流水线中完成;后4段为执行1(X1)、执行2(X2) 、结果写回寄存器堆(WF)、错误报告(ER),在浮点运算器中完成。一般情况下 ,由U流水线完成一条浮点数操作指令。

白中英计算机组成原理第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位表示尾数。

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

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

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

第二章运算方法和运算器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, 同时指出运算结果是否溢出。

第二章运算方法和运算器

第二章运算方法和运算器

第⼆章运算⽅法和运算器第⼆章运算⽅法和运算器⼀、选择题1.在机器数中,(B)的零的表⽰形式是唯⼀的。

A.原码B.补码C.反码D.原码和反码2.计算机系统中采⽤补码运算的⽬的是为了(C)。

A.与⼿⼯运算⽅式保持⼀致B.提⾼运算速度C.简化计算机的设计D.提⾼运算的精度3.假定下列字符码中有奇偶校验位,但没有数据错误,采⽤偶校验的字符码是(D)。

A.11001011B.11010110C.11000001D.110010014.若某数X的真值为-0.1010,在计算机中该数表⽰为1.0110,则该数所⽤的编码⽅法是(B)码。

A.原B.补C.反D.移5.在浮点数原码运算时,判定结果为规格化数的条件是(D)。

A.阶的符号位与尾数的符号位不同B.尾数的符号位与最⾼数值位相同C.尾数的符号位与最⾼数值位不同D.尾数的最⾼数值位为16.运算器虽有许多部件组成,但核⼼部分是(B)。

A.数据总线B.算术逻辑运算单元C.多路开关D.通⽤寄存器7.下列说法中正确的是(C)。

A.采⽤变形补码进⾏加减法运算可以避免溢出B.只有定点数运算才有可能溢出,浮点数运算不会产⽣溢出C.只有带符号数的运算才有可能产⽣溢出D.只有将两个正数相加时才有可能产⽣溢出8.下溢指的是(B)。

A.运算结果的绝对值⼩于机器所能表⽰的最⼩绝对值B.运算的结果⼩于机器所能表⽰的最⼩负数C.运算的结果⼩于机器所能表⽰的最⼩正数D.运算结果的最低有效位产⽣的错误⼆、填空题1.⼀个定点数由(符号位)和(数值域)两部分组成。

根据⼩数点的位置不同,定点数有(纯⼩数)和(纯整数)两种表⽰⽅法。

2.按IEEE754标准,⼀个浮点数由(符号位)S、阶码E,尾数M三个域组成。

其中阶码E的值等于指数的(真值e)加上⼀个固定的(偏移值)。

3.对阶时,使(⼩)阶向(⼤)阶看齐,使⼩阶的尾数向(右)移位,每(右)移⼀位,其阶码加1,直到两数的阶码相等为⽌。

4.现代计算机的运算器⼀般通过总线结构来组织.按其总线数不同,⼤体有(单总线结构),(双总线结构)和(三总线结构)三种形式。

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

第二章 运算方法和运算器
计算机组成与结构
浮点表示
(4) 浮点数的规格化
r=2
r=4 r=8
左规
右规 左规 右规 左规 右规
尾数左移 1 位,阶码减 1
尾数右移 1 位,阶码加 1 尾数左移 2 位,阶码减 1 尾数右移 2 位,阶码加 1 尾数左移 3 位,阶码减 1 尾数右移 3 位,阶码加 1
移位运算
1. 移位的意义
15 . 米 = 1500 . 厘米
小数点右移 2 位
机器用语 15 相对于小数点 左移 2 位 ( 小数点不动 )
左移 右移
绝对值扩大 绝对值缩小
在计算机中,移位与加减配合,能够实现乘除运算
第二章 运算方法和运算器
计算机组成与结构
移位运算
2. 算术移位规则
符号位不变
码 制 添补代码
计算机中 S 正负定点小数,可用补码或原码表示 j 正负整数,可用补码或移码表示
第二章 运算方法和运算器
计算机组成与结构
浮点表示
(1) 浮点数的表示形式
j 阶码 S 尾数
jf j1 j2
阶 符
… jm S f S 1 S 2
数 符

Sn
阶码的 数值部分
尾数的数值部分
Sf n m
代表浮点数的符号 其位数反映浮点数的精度 其位数反映浮点数的表示范围
计算机组成与结构
补码的溢出判断
1. 单符号位法
参加操作的 两个数符号相同(减法时即为被减数 和“求补”以后的减数) ,其结果的符号与原操作数 的符号不同,即为溢出。 设操作数[X]补的符号位为Xs,[Y]补的符号位为Ys, 结果的符号位为Ss。则判定溢出的逻辑表达式为:
溢出 =
X sYs S
s
X sY sSs
连同符号位一起相加,符号位产生的进位自然丢掉
第二章 运算方法和运算器
计算机组成与结构
补码加减运算
2. 补码加减运算规则
(1)参加运算的两个操作数都用补码表示;
(2)符号位作为数的一部分参加运算;
(3)若做加法,则两数直接相加;若做减法,则将减 数变补后再与被减数相加; (4)运算结果仍用补码表示; (5)符号位的进位为模值,应该去掉。
正数
原码、补码、反码
原 码
0
0 左移 添 0
负数
补 反

右移 添 1

1
第二章 运算方法和运算器
计算机组成与结构
例1:设机器数字长为 8 位(含一位符号位),写 出A = +26时,三种机器数左、右移一位和两位后的 表示形式及对应的真值,并分析结果的正确性。
解: A = +26 = +11010 则 [A]原 = [A]补 = [A]反 = 0,0011010
第二章 运算方法和运算器
计算机组成与结构
补码的溢出判断
2. 进位判断法
设最高数值位的进位信号为C1,符号位的进位信 号为Cs,则判定溢出的逻辑表达式为:
溢出= C s C 1 C s C 1 C s C 1
第二章 运算方法和运算器
计算机组成与结构
补码的溢出判断
3. 两位符号位判溢出
将符号位扩充为两位:Ss1和Ss2,则溢出表达式为:
m
2( 2
m–1)
–2
15
×( 1 – 2 )
-10
×( 1 – 2–n) 215 ×( 1 – 2 10)
最大负数 –( 2m–1)×2–n –2
–2-15 × 2-10
设 m=4 n =10
第二章 运算方法和运算器
计算机组成与结构
练习
设机器数字长为 24 位,欲表示±3万的十进制数, 试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?
数 符 数值部分
小数点位置
第二章 运算方法和运算器
计算机组成与结构
数值数据的表示方法
2. 浮点表示 N = S×rj
浮点数的一般形式 S尾数 j 阶码 r 基数(基值) 计算机中 r取 2、4、8、16 等
当 r= 2 N = 11.0101 = 0.110101×210 = 1.10101×21 = 1101.01×2-10 = 0.00110101×2100 规格化数
215×(1–2–10) – – 最小正数 2 15× 2 10 –15 –10 最大负数 –2 × 2 – 最小负数 –215×(1–2 10)
第二章 运算方法和运算器
计算机组成与结构
机器零
当浮点数 尾数为 0 时,不论其阶码为何值 按机器零处理 当浮点数 阶码等于或小于它所表示的最小 数 时,不论尾数为何值,按机器零处理 如 m=4 n = 10 当阶码和尾数都用补码表示时,机器零为 ×, × × × ×; 0. 0 0 … … 0 (阶码 = 16) 1, 0 0 0 0 ; ×.×× … … × 当阶码用移码,尾数用补码表示时,机器零为 0, 0 0 0 0;0. 0 0 … … 0 有利于机器中“ 判 0 ‖ 电路的实现
2.3.1
补码加减运算
2.3.2
补码的溢出判断方法
第二章 运算方法和运算器
计算机组成与结构
补码加减运算
1. 补码加减运算公式 (1) 加法 整数 [A]补 + [B]补 = [A+B]补(mod 2n+1) 小数 [A]补 + [B]补 = [A+B]补(mod 2) (2) 减法 A–B = A+(–B ) 整数 [A – B]补 = [A+(–B )]补= [A]补 + [–B]补 (mod 2n+1) 小数 [A – B]补 = [A+(–B )]补= [A]补 + [–B]补 (mod 2)
计算机组成与结构
作业
1. 将(100.25)10转换成短浮点数格式 0;10000101;1001000100000000000000 十六进制代码:42C88000 2. 把短浮点数C1C90000H转换成十进制数 -25.125
第二章 运算方法和运算器
计算机组成与结构
2.3 定点数加减运算及实现
∴A+B= 0.0110 例2 设 A = –9,B = –5 验证 求 [A+B]补 解: [A]补 = 1 0 1 1 1 – 1001 + [B]补 = 1 1 0 1 1 + – 0101 [A]补 + [B]补 = 1 1 0 0 1 0 = [A + B]补 – 1110
第二章 运算方法和运算器
第二章 运算方法和运算器
计算机组成与结构
2.1 数据信息的表示方法
2.1.1
数值数据的表示方法
2.1.2
非数值数据的表示方法
第二章 运算方法和运算器
计算机组成与结构
数值数据的表示方法
小数点按约定方式标出 1. 定点表示法
Sf S1S2 … Sn
数 数值部分 符 小数点位置

Sf S1S2 … Sn
溢出= Ss1⊕Ss2
结果的双符号位 相同 结果的双符号位 不同 未溢出 溢出
00. ××××× 11. ××××× 00 ××××× 10. ××××× 11 ××××× 01. ××××× 10 ××××× 01 ×××××
最高符号位 代表其 真正的符号
第二章 运算方法和运算器
计算机组成与结构
解: ∵
214 = 16384
215 = 32768
∴ 15 位二进制数可反映 ±3 万之间的十进制数 215 × 0.××× … … ××
15位
m = 4、5、6 …
满足 最大精度 可取 m = 4,n = 18
第二章 运算方法和运算器
计算机组成与结构
浮点表示
(3) 浮点数的规格化形式
r=2 r=4 r=8 尾数最高位为 1 尾数最高 2 位不全为 0 尾数最高 3 位不全为 0 基数不同,浮点数的 规格化形式不同
jf 和 m 共同表示小数点的实际位置
第二章 运算方法和运算器
计算机组成与结构
(2) 浮点数的表示范围
上溢 阶码 > 最大阶玛 下溢 阶码 < 最小阶码 按 机器零 处理
上溢
上溢
负数区
最小负数 ( 2m–1)×( 1 – 2–n) –2
下溢
正数区
最大正数
0
最小正数 2–( 2 –1)×2–n 2-15 × 2 10
实数表示 原始十进制表示 二进制数


178.125 10110010.001
二进制浮点表示
符号 短浮点数表示
1.0110010001×2111
偏移的阶码 00000111+01111111 =10000110 有效值 01100100010000000000000 1.(隐含的)
0
第二章 运算方法和运算器
浮点机中
[x]原 = 1, 0010; 0. 1001100000
[x]补 = 1, 1110; 0. 1001100000
[x]反 = 1, 1101; 0. 1001100000
第二章 运算方法和运算器
计算机组成与结构
例 2 将 –58 表示成二进制定点数和浮点数,并写出它 在定点机和浮点机中的三种机器数及阶码为移码,尾数 为补码的形式(其他要求同上例)。

移位操作


机 器


对应的真值

9个0
= 2–15×2–1 = 2–16
最大负数
2-1111 ×(– 0.1000000000) = –2–15×2–1
相关文档
最新文档