计算机组成原理第六章计算机的运算方法解析
计算机组成原理09-计算机的运算方法04

除数Y, 来替代, 右移 除数 ,可以通过 左移 余数 来替代, 的高位都是无用的零, 左移出界的 余数 的高位都是无用的零, 对运算不会产生任何影响。 对运算不会产生任何影响。 如果,余数一共被左移了 次 最后需要校正。 如果,余数一共被左移了n次,最后需要校正。 一共被左移 最终的余数再右移 再右移n次 最终的余数再右移 次。
1 7 8 -7 +1
除数Y=0.1101 求 X/Y。商精确到小数点后四位。 被除数 X=0.1011 除数 。商精确到小数点后四位。 手算方法计算步骤如下: 手算方法计算步骤如下:
0.1101 0.1101 0 . 1011 4.1、原码一位除法 、 - 0 . 1101 1 . 1110 + 0 . 1101 0 . 1011 0 . 10110 - 0 . 01101 0 . 01001 0 . 010010 - 0 . 001101 0 . 000101 0 . 0001010 - 0 . 0001101 1 . 1111101 + 0 . 0001101 0 . 0001010 0 . 00010100 - 0 . 00001101 0 . 00000111
思考:由于方法一开始比较被除数与除数,后来比较余数与除数, 思考:由于方法一开始比较被除数与除数,后来比较余数与除数, 控制部署不一样。所以采用方法二,硬件电路比较好实现, 控制部署不一样。所以采用方法二,硬件电路比较好实现, 全部是比较余数与除数,便于计算机控制。 全部是比较余数与除数,便于计算机控制。
4.1、原码一位除法 、
被除数(余数) 被除数(余数) 0. 1011 1. 0011 1. 1110 1. 1100 0. 1101 0. 1001 1. 0010 1. 0011 0. 0101 0. 1010 1. 0011 1. 1101 1. 1010 0. 1101 0. 0111 商 00000 00000 00000 00001 00010 00011 00110 00110 01100 01101 操作
计算机组成原理_计算机的运算方法_61 无符号数和有符号数_

6.1 无符号数和有符号数寄存器的位数反映无符号数的表示范围8 位 0 ~ 255 16 位 0 ~ 65535带符号的数 符号数字化的数+ 0.101101011小数点的位置+ 110001100小数点的位置– 110011100小数点的位置– 0.101111011小数点的位置真值 机器数1. 机器数与真值2. 原码表示法—整数带符号的绝对值表示x 为真值n 为整数的位数如x = +1110[x ]原 = 0 , 1110[x ]原 = 24 + 1110 = 1 , 1110 x =1110[x ]原 = 0,x 2n> x ≥ 02n x 0 ≥ x > 2n用 逗号 将符号位和数值部分隔开x 为真值如x = + 0.1101[x ]原 = 0 . 1101x = – 0.1101[x ]原 = 1 – (–0.1101) = 1 . 1101x 1 > x ≥ 0[x ]原 =1 – x 0 ≥ x >–1x = – 0.1000000[x ]原 = 1 – (– 0.1000000) = 1 . 1000000x = + 0.1000000[x ]原 = 0 . 1000000用 小数点 将符号位和数值部分隔开用 小数点 将符号位和数值部分隔开2. 原码表示法—小数例 6.1 已知 [x ]原 = 1.0011 求 x 解:例 6.2 已知 [x ]原 = 1,1100 求 x 解:x = 1 – [x ]原 = 1 –1.0011 = –0.0011x = 24 – [x ]原 = 10000 – 1,1100 = –1100– –0.0011 1100由定义得由定义得例 6.4 求 x = 0 的原码解:设 x = +0.0000例 6.3 已知 [x ]原 = 0.1101 求 x解:x = + 0.1101同理,对于整数[+ 0]原 = 0,0000[+0.0000]原 = 0.0000x =0.0000[0.0000]原 = 1.0000[ 0]原 = 1,0000∴ [+0]原 ≠ [0]原根据 定义原码的特点:简单、直观但是用原码作加法时,会出现如下问题:能否 只作加法 ?找到一个与负数等价的正数 来代替这个负数就可使 减 加加法 正 正加加法 正 负加法 负 正加法 负 负减减加要求 数1 数2 实际操作 结果符号正可正可负可正可负负无符号数原码表示(整数)机器数与真值原码表示(小数)6.1 无符号数和有符号数。
计算机组成原理第6章_3-1运算方法

练习 1 设 x =
9 16
y=
11 16
,用补码求 x+y
0.1001 0.1011 1.0100 x + y = – 0.1100 = –
12 16
练习 2 设机器数字长为 8 位(含 1 位符号位) 且 A = – 97,B = +41,用补码求 A – B
[– 97]原 [– 97]补 11100001 10011111 10011111 11010111 00101001 11010111
例 6.10
解:
设机器数字长为 8 位(含 1 位符号位) 且 A = 15, B = 24,用补码求 A – B A = 15 = 0001111
B = 24 = 0011000 [A]补 = 0, 0001111 [B]补 = 0, 0011000 + [– B]补 = 1, 1101000 [A]补 + [– B]补 = 1, 1110111 = [A – B]补 ∴ A – B = – 1001 = –9
1,1100101 1,1001011 1,0010111 1,1110010 1,1111001
左移两位
右移一位 右移两位
3. 算术移位的硬件实现
0
0
0
1
0
(a)真值为正 (b)负数的原码 (c)负数的补码 (d)负数的反码
丢1 丢1 出错 影响精度 1出错 1影响精度 1正确0(错) 1影响精度 正确 正确
补吗
单选 11.13题
float 型数据通常用IEEE754 单精度浮点数格式表示。 如编译器将float 型变量x 分配在一个32 位浮点寄存器 FR1 中,且x =-8.25,则FR1 的内容是( )。 A.C104 0000H B.C242 0000H C.C184 0000H D.C1C2 0000H
计算机的运算方式有哪些解析算术逻辑单元(ALU)的功能

计算机的运算方式有哪些解析算术逻辑单元(ALU)的功能计算机是一种能够进行高速数据处理和运算的电子设备,而计算机的运算方式是通过算术逻辑单元(ALU)来实现的。
ALU是计算机的核心部件之一,负责进行各种运算操作。
本文将介绍计算机的运算方式以及ALU的功能。
一、计算机的运算方式1. 算术运算算术运算是计算机进行数值计算的基本方式,包括加法、减法、乘法、除法等运算。
计算机通过ALU执行这些运算,将操作数送入ALU,经过运算之后,得到结果并存储到相应的存储器中。
2. 逻辑运算逻辑运算是计算机进行判断和推理的基本方式,常见的逻辑运算有与、或、非、异或等操作。
计算机通过ALU执行这些运算,根据不同的逻辑条件,返回相应的逻辑值,用于控制计算机的运行逻辑。
3. 移位运算移位运算是计算机进行位操作的一种方式,包括逻辑左移、逻辑右移、算术左移、算术右移等操作。
计算机通过ALU执行这些运算,将操作数按指定的位数进行移动,从而实现对二进制数的位操作。
二、ALU的功能1. 算术运算功能ALU的算术运算功能包括加法、减法、乘法和除法等操作。
当计算机需要进行数值计算时,ALU会执行相应的算术运算操作,并将结果返回给计算机的其他部件。
通过ALU的算术运算功能,计算机能够实现各种复杂的数值计算任务。
2. 逻辑运算功能ALU的逻辑运算功能包括与、或、非、异或等逻辑操作。
当计算机需要进行逻辑判断和推理时,ALU会执行相应的逻辑运算操作,并返回逻辑运算的结果。
通过ALU的逻辑运算功能,计算机能够进行复杂的逻辑运算,实现不同的判断和控制逻辑。
3. 移位运算功能ALU的移位运算功能包括逻辑左移、逻辑右移、算术左移、算术右移等操作。
当计算机需要对二进制数进行位操作时,ALU会执行相应的移位运算操作,并将移位后的结果返回给计算机的其他部件。
通过ALU的移位运算功能,计算机能够实现对二进制数的位操作,进行位的插入、删除和移动等操作。
在实际的计算机中,ALU通常由一组逻辑门和寄存器组成,通过控制信号和电路设计,实现各种运算操作。
计算机组成原理第6章5运算方法

分治法等。
有符号数的乘法运算
1 2
有符号数乘法运算的基本原理
有符号数乘法运算需要考虑符号位,符号位可以 通过取反加一得到。
乘法运算的实现方式
在计算机中,有符号数乘法运算通常使用补码表 示法,通过将两个补码相乘得到结果。
3
乘法运算的溢出问题
在进行有符号数乘法运算时,需要考虑溢出问题, 溢出会导致结果错误。
04
计算机中的乘法运算
无符号数的乘法运算
无符号数乘法运算的基本原理
01
无符号数乘法运算基于位运算,通过将两个数按位实现方式
02
在计算机中,通常使用移位和加法操作来实现无符号数的乘法
运算,以减少运算时间和硬件资源。
乘法运算的优化
03
为了提高乘法运算的效率,可以采用一些优化技术,如查找表、
有符号数减法运算的基本步骤是取反 加1,然后进行无符号数减法运算。
减法运算的溢出问题
01
减法运算的溢出是由于 最高有效位向低位借位 时发生进位而导致的。
02
溢出会导致结果错误, 因此需要进行溢出判断 和处理。
03
溢出的判断方法是通过比较 最高有效位和次高有效位, 如果相同则表示溢出。
04
处理溢出的方法有三种: 忽略溢出、丢弃最高有效 位、设置溢出标志。
围,就会发生溢出。
溢出判断
判断是否发生溢出的方法有多种, 如比较进位、比较溢出位等。在 计算机中,通常会设置相应的溢 出判断电路来检测是否发生溢出。
溢出处理
当发生溢出时,需要进行相应的 处理,如设置溢出标志、舍去溢 出的高位等。在有符号数运算中,
还需要考虑符号位的处理。
03
计算机中的减法运算
无符号数的减法运算
计算机组成原理(蒋本珊)第六章

第六章1.控制器有哪几种控制方式?各有何特点?解:控制器的控制方式可以分为3种:同步控制方式、异步控制方式和联合控制方式。
同步控制方式的各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。
这种控制方式设计简单,容易实现;但是对于许多简单指令来说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。
异步控制方式的各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。
异步控制方式没有时间上的浪费,因而提高了机器的效率,但是控制比较复杂。
联合控制方式是同步控制和异步控制相结合的方式。
2.什么是三级时序系统?解:三级时序系统是指机器周期、节拍和工作脉冲。
计算机中每个指令周期划分为若干个机器周期,每个机器周期划分为若干个节拍,每个节拍中设置一个或几个工作脉冲。
3.控制器有哪些基本功能?它可分为哪几类?分类的依据是什么?解:控制器的基本功能有:(1)从主存中取出一条指令,并指出下一条指令在主存中的位置。
(2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
(3)指挥并控制CPU 、主存和输入输出设备之间的数据流动。
控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型3类,分类的依据在于控制器的核心———微操作信号发生器(控制单元CU)的实现方法不同。
4.中央处理器有哪些功能?它由哪些基本部件所组成?解:从程序运行的角度来看,CPU 的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。
对于冯·诺依曼结构的计算机而言,数据流是根据指令流的操作而形成的,也就是说数据流是由指令流来驱动的。
中央处理器由运算器和控制器组成。
5.中央处理器中有哪几个主要寄存器?试说明它们的结构和功能。
解:CPU 中的寄存器是用来暂时保存运算和控制过程中的中间结果、最终结果及控制、状态信息的,它可分为通用寄存器和专用寄存器两大类。
计算机组成原理—运算方法和运算器-6

规则:尾数右移1位,高位补符号位,阶码加1
例如:10.011101×2-110 右规后11.001110(1)×2-111 ②补码结果是00.0...01.....或11.1...10...时,需向左规格化(左规) 规则:尾数左移1位,低位补0,阶码减1,直到规格化 规格化:原码尾数值最高位为1,补码尾数值最高位与符号相反
2014-4-14
计算机组成原理
12
21:06
2.6.2 浮点乘法、除法运算
补码采用双符号位,为了对溢出进行判断:
00 01 为正 上溢 11 10 为负 下溢
[例]:x=+011,y=+110,求[x+y]补和[x-y]补,并判断是否溢出 [x]补=00011, [y]补=00110, [-y]补=11010 [x+y]补=[x]补+[y]补=01001, 结果上溢。 [x-y]补=[x]补+[-y]补=11101, 结果正确,为-3。
2014-4-14 计算机组成原理 17
21:06
2.6.1 浮点加法、减法运算
⑸舍入处理(对阶和向左规格化时):采用就近舍入处理得
00.11100011
⑹溢出判断和处理 阶码符号位为00,无溢出,不需处理; 尾数无溢出,不需处理。 最终真值结果为:x+y = (0.11100011)×24
设有两个浮点数x和y:x=2Ex· Mx 则:x×y=2(Ex+Ey)· (Mx×My); 乘/除运算分为六步: y=2Ey· My x÷y=2(Ex-Ey)· (Mx÷My);
①.0操作数检查; ②.阶码加减操作; ③.尾数乘除操作;
④.结果规格化;
⑤舍入处理; ⑥确定符号
Mx=111101101;
计算机组成原理--运算方法:加减乘除

计算机组成原理--运算⽅法:加减乘除补码加减法补码加法公式:[x+y]补=[x]补+[y]补补码减法:为了将减法转变为加法,需证明公式: [x-y]补=[x]补+[-y]补(证明)为了求得同时[-y]补,需要证明[-y]补=[y]补+2^-n(意义是[-y]补等于[y]补取反,末位加1)溢出检测溢出的检测可能产⽣溢出的情况两正数加,变负数,上溢(⼤于机器所能表⽰的最⼤数)两负数加,变正数,下溢(⼩于机器所能表⽰的最⼩数)定点原码乘法定点乘法原理n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,⽽FA只有两个输⼊端,机器⼀次只能进⾏两个数的相加,不能进⾏多个数据的加法。
⼿⼯计算中,乘数的每⼀位是0还是1都可直接看见,⽽在计算机中,采⽤放乘数的寄存器的每⼀位直接决定本次相加数是被乘数还是0是很不⽅便的,若采⽤该寄存器的最低⼀位来执⾏这种判断就简便了。
计算机中执⾏乘法时,积的符号位由被乘数和乘数的符号位通过⼀个半加器(即异或门)实现。
数值部分的运算规则是:从最低位Y0开始,当乘数Yi为1时,将上次部分积加上被乘数的绝对值,然后右移⼀位,得到新的部分积;当Yi为0时,则写下全0。
然后再对乘数Y的⾼⼀位进⾏类似乘法运算。
重复“加—右移”操作N次,可得到最后的乘积。
R0存放部分积,R2存放被乘数,R1存放乘数R0清零,R2存放被乘数,R1存放乘数。
乘法开始时,“启动”信号时控制CX置1,于是开启时序脉冲T,当乘数寄存器R1最末位为“1“时,部分积Z和被乘数X在加法器中相加,其结果输出⾄R0的输⼊端。
⼀旦控制脉冲T到来,控制信号LDR0使部分积右移1位,与此同时,乘数寄存其R1也在控制信号LDR1作⽤下右移⼀位,且计数器I记数⼀次;将步骤三重复执⾏N次当计数器I=n时,计数器I的溢出信号使控制触法器CX置0,关闭时序脉冲T,乘法宣告结束原码算法存在的缺点:⼀是符号位需要单独运算,最后给运算结构以正确的符号;⼆是对于采⽤补码存储的机器,从存储器中取出的是操作数的补码,需先将其转换成原码,这样很不⽅便,⽽且影响速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.3 定点运算 6.4 浮点四则运算 6.5 算术逻辑单元 6.6 时序逻辑电路 6.6 数据校验码
一、考试范围
(一)数制和编码 进位计数制及其转换、真值和机器数、BCD码、字 符和字符串、校验码。
(二)定点数的表示和运算 1、定点数的表示(有符号、无符号) 2、定点数的运算
x = 1110
[x]原 = 24 + 1110 = 1 , 1110
带符号的绝对值表示
6.1 无符号数和有符号数
小数 [x]原 =
x 1–x
1>x≥0 0≥x> 1
x 为真值 如 x = + 0.1101
[x]原 = 0 . 1101
用 小数点 将符号 位和数值位隔开
x = 0.1101
[x]原 = 1 ( 0.1101) = 1 . 1101
x = + 0.1000000 x = 0.1000000
[x]原 = 0 . 1000000
用 小数点 将符号 位和数值位隔开
[x]原 = 1 ( 0.1000000) = 1 . 1000000
(2) 举例
6.1 无符号数和有符号数
例 6.1 已知 [x]原 = 1.0011 求 x – 0.0011 解: 由定义得
1 1011
小数点的位置
0 1100 1 1100
小数点的位置 小数点的位置
2. 原码表示法
6.1 无符号数和有符号数
(1) 定义
整数
0,x
[x]原 = 2n x
2n > x ≥ 0 0 ≥ x > 2n
x 为真值 n 为整数的位数
如 x = +1110
[x]原 = 0 , 1110
用 逗号 将符号位 和数值位隔开
4
一、无符号数
6.1 无符号数和有符号数
寄存器的位数 反映无符号数的表示范围
8位 16 位
0 ~ 255 0 ~ 65535
二、有符号数 1. 机器数与真值
真值
带符号的数
+ 0.1011
– 0.1011
+ 1100
– 1100
6.1 无符号数和有符号数
机器数
符号数字化的数
0 1011
小数点的位置
(2) 正数的补数即为其本身
两个互为补数的数
1011 ≡
分别加上模
+ 10000
+ 0101((mmoodd24))
+ 10000
结果仍互为补数
+ 0101 ≡ + 10101
∴ + 0101 ≡ + 0101 (mod24)
丢掉
可见 + 0101
+ 0101
? 1011
? 0 ,0101 + 0101
• 时钟
逆时针 6
顺时针 6
-3
+9
3
15
可见 3 可用 + 9 代替 减法 加法 - 12
称 + 9 是 – 3 以 12ห้องสมุดไป่ตู้为模的补数
3
记作 3 ≡ + 9 (mod 12) 同理 4 ≡ + 8 (mod 12)
时钟以 12为模
5 ≡ + 7 (mod 12)
6.1 无符号数和有符号数
结论 ➢ 一个负数加上 “模” 即得该负数的补数 ➢ 两个互为补数的数 它们绝对值之和即为 模 数
6.1 无符号数和有符号数 但是用原码做加法时,会出现如下问题:
要求 数1 数2 实际操作 结果符号
加法 正 正
加
正
加法 正 负
减
加法 负 正
减
可正可负 可正可负
加法 负 负
加
负
能否 只做加法 ?
找到一个与负数等价的正数 来代替这个负数 就可使 减 加
6.1 无符号数和有符号数
3. 补码表示法 (1) 补的概念
如
x = +1010
x = 1011000
[x]补 = 0,1010
用 逗号 将符号位 和数值位隔开
[x]补 = 27+1 +( 1011000 ) = 100000000 1011000
1,0101000
6.1 无符号数和有符号数
小数
x
1>x ≥0
[x]补 = 2 + x 0 > x ≥ 1(mod 2)
x = 1 [x]原 = 1 1.0011 = 0.0011
例 6.2 已知 [x]原 = 1,1100 求 x –1100 解: 由定义得 x = 24 [x]原 = 10000 1,1100 = 1100
6.1 无符号数和有符号数 例 6.3 已知 [x]原 = 0.1101 求 x
解:根据 定义 ∵ [x]原 = 0.1101
∴ x = + 0.1101 例 6.4 求 x = 0 的原码
解: 设 x = +0.0000 [+0.0000]原 = 0.0000
x = 0.0000 [ 0.0000]原 = 1.0000
同理,对于整数
[+ 0]原 = 0,0000
∴ [+ 0]原 ≠ [ 0]原
[ 0]原 = 1,0000
? 1 ,0101
24+1 – 1011
1011
= 100000 1011
1,0101
(mod24+1)
用 逗号 将符号位 和数值位隔开
(3) 补码定义
6.1 无符号数和有符号数
整数
[x]补 =
0,x 2n+1 + x
2n > x ≥ 0 0 > x ≥ 2n(mod 2n+1)
x 为真值
n 为整数的位数
2. 了解校验码引入的目的、原理及其应用 3. 理解本章的基本概念,如机器数、真值、最小码
距、并行进位。 4. 理解定点数的表示原理,掌握定点数的运算、溢
出的概念与判别方法,了解阵列乘法器。 5. 理解浮点数的表示,掌握浮点数的加减运算方法。 6. 理解算术逻辑单元相关术语的定义、ALU的基本功
能、组成和结构。
移位运算;加减运算(原码、补码);乘/除运算; 溢出概念和判别方法。
2
一、考试范围
(三)浮点数的表示和运算 1、浮点数的表示范围;IEEE754标准 2、浮点数的加/减运算(单选题) (四)算术逻辑单元ALU 1、串行加法器和并行加法器 2、算术逻辑单元的功能和结构
3
二、复习要点
1. 了解进位数制及其相互转换、字符(包括汉字)、 字符串和BCD数在计算机中的表示
• 计数器(模 16) 1011 0000 ?
1011 – 1011
0000
可见 1011 可用 + 0101 代替
1011 + 0101
10000
记作 1011≡ + 0101 (mod 24) 自然去掉
同理 011≡ + 101 (mod 23)
0.1001≡ + 1.0111 (mod 2)
6.1 无符号数和有符号数
x 为真值 如 x = + 0.1110
x = 0.1100000
[x]补 = 0.1110