第二章 运算方法与运算器(下)
计算机组成原理第二章课件(白中英编-科学出版社)
计算机组成原理
十进制整数转换为二或十六进制数
ห้องสมุดไป่ตู้
演示
整数部分转换:用除法
• 十进制数整数部分不断除以基数2或16,并记下余
数,直到商为0为止 • 由最后一个余数起逆向取各个余数,则为转换成的 二进制和十六进制数
126=01111110B 126=7EH
计算机组成原理
7
十进制小数转换为二或十六进制数
64位双精度规格化浮点数
IEEE 754标准
E=1~2046 e=-1022~+1023 表达的数据范围(绝对值) : 最小值: e=-1022,M=0(1.M=1) 十进制表达:2-1022≈2.23×10-308 最大值: e=1023,M=11…1(52个1) 1.M=1.11…1 (52个1) =2-2-52 十进制表达:(2-2-52)×21023 ≈ 2×21023 ≈1.79×10308
• 整数从左向右 • 小数从右向左 • 每4个二进制位对应一个十六进制位
00111010B=3AH,F2H=11110010B 十六进制数的加减运算类似十进制
• 逢16进位1,借1当16
23D9H+94BEH=B897H A59FH-62B8H=42E7H
计算机组成原理
9
真值和机器数
真值:现实中真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数
目录
☼
☼
☼ ☼ ☼ ☼ ☼ ☼ ☼
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章
计算机系统概论 运算方法和运算器 存储系统 指令系统 中央处理器 总线系统 外围设备 输入输出系统 并行组织
计算机组成原理华科版第二章运算方法与运算器课件
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
计算机组成原理
计算机组成原理第二章课后习题答案
第二章运算方法和运算器练习一、填空题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章-二进制加减法器
X←F 选通门
X ← X-Y
F← X
减
F← Y F← 1
X← F
4/12/2021
实现补码加运算的执行过程
X ← X+Y
Fs
00000111
OVR
Z
Fs 加法器
C
完成加运算,需 要把被加数和加 数送ALU的输入
端,运算结果要
F←X
选通门
F←Y 接收到累加器,
二选一
需要给出命令:
X
CP
01001001101
基本的二进制加/减法器
全加器的表达式为:
Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器内部逻辑图
Ci+
Si
C
1
AB C
Ci
Ai
Bi A
B
3
信 息 科 学 与 工 程 学 院3
第二章 运算方法和运算器
数据与文字的表示 定点加减法运算 定点乘法运算 定点除法运算 定点运算器的组成 浮点运算与浮点运算器
4/12/2021
单符号位判断
数值位向符 号位有进位
OV= C0 C1 + C0 C1 判断电路
但符号位无 进位输出或
c0
数值位向符 号位没有进 位但符号位 本身有进位 输出是溢出
x0 y0
x1 y1
FA
z0
c1
FA
z1
OV
4/12/2021
双符号位判断
OV= z0' z0 + z'0 z0 = z0' z0
5
信 息 科 学 与 工 程 学 院5
计算机组成原理第四版第二章
+ [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章-运算方法和运算器
第二章:运算方法和运算器
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
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
1 01 0
一个正数减去一个负数,结果为正数,但计算 结果为负数,表明有溢出发生,出错 数据向前有进位,符号位向前无进位 溢出逻辑表达式为:V=Cf⊕ C0
(其中Cf为符号位产生的进位, C0为最高有效位产生的进位)
2016年11月14日3时46分 11
• 溢出的原因:
例: X=1001 Y=0101,求 X+Y=?
解: [X]补=01001 [Y]补=00101 [X+Y]补=[X]补+[Y]补=01001+00101 =01110 x+y=1110
例: X=1001 Y=-0101,求 X+Y=?
解: [X]补=01001 [Y]补=11011 [X+Y]补=[X]补+[Y]补=01001+11011 =00100 x+y=
单符号位判溢出 正溢出 0.1001 + 0.1100 1.0101 负溢出 1.0111 + 1.0011 10.1010
2016年11月14日3时46分
双符号 00.1001 00.1100 01.0101 11.0111 + 11.0011 10.1010
22
定点运算器——定点乘法
•定点原码一位乘法
2016年11月14日3时46分 23
定点运算器——定点乘法
• 手工算法
×
1101 1011 1101 1101 0000 1101 10001111
l 两个n位数相乘,其积为2n位, 则需要2n位长的加法器,这不适 用于定点机的形式。 l 机器一次只能进行两个数的相 加,不能进行多个数据的加法。 l 手工计算中,乘数的每一位是0 还是1都可直接看见,而在计算机 中,采用放乘数的寄存器的每一 位直接决定本次相加数是被乘数 还是0是很不方便的,若采用该寄 存器的最低一位来执行这种判断 就简便了。
计算机组成原理-第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, 同时指出运算结果是否溢出。
运算方法和运算器
第二章运算方法与运算器2.1.1 数值数据在机内的表示在选择计算机的数值数的表示方式时,需要考虑以下几个因素:(1)要表示的数的类型(小数、整数、实数和复数);(2)可能遇到的数值范围;(3)数值精确度;(4)数据存储和处理所需要的硬件代价。
2.1.1.1 定点数与浮点数计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。
1. 定点数表示法(fixed-point)所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。
在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。
一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。
2. 浮点数表示法(floating-point number)与科学计数法相似。
2.1.1.2 数的机器码表示1. 原码表示法原码表示法是一种比较直观的表示方法,其符号位表示该数的符号,正用“0”表示,负用“1”表示;而数值部分仍保留着其真值的特征。
2. 补码表示法由于计算机的运算受一定字长的限制,属于有模运算,所以,在计算机中可以使用补码进行计算。
在定点小数机器中数最大不超过1,也就是负的小数对“1”的补码是等价的。
但实际上,负数的符号位还有一个“1”,要把它看成数的一部分,所以要对2求补码,也就是以2为模数。
3. 反码表示方法反码表示法中,符号的表示法与原码相同。
正数的反码与正数的原码形式相同;负数的反码符号位为1,数值部分通过将负数原码的数值部分各位取反(0变1,1变0)得到。
4. 移码表示法移码通常用于表示浮点数的阶码。
2.1.2 非数值数据在机内的表示计算机中数据的概念是广义的,机内除了有数值的信息之外,还有数字、字母、通用符号、控制符号等字符信息有逻辑信息、图形、图像、语音等信息,这些信息进入计算机都转变成0、1表示的编码,所以称为非数值数据。
第二章运算方法和运算器
第⼆章运算⽅法和运算器第⼆章运算⽅法和运算器⼀、选择题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章-运算方法与运算器
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浮点规格化数)这⼀章,主要介绍了好多种计算⽅法。
下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。
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-定点原码并行乘法运算
第二章 运算方法和运算器
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”。