计算机组成原理-运算方法与运算器-浮点运算方法和浮点运算器

合集下载

精品文档-计算机组成与系统结构(裘雪红)-第3章

精品文档-计算机组成与系统结构(裘雪红)-第3章

(4) 运算结果为补码表示。
第3章 运算方法与运算器
10
2. 溢出判断 1) 溢出的概念 例3.4 有两个定点整数63和85,利用补码加法求63+85=? 解 根据题意,用8位二进制补码表示63和85:
第3章 运算方法与运算器
11
例3.5 设正整数X=+1000001,Y= +1000011,若用8位补 码表示,则[X]补=01000001,[Y]补=01000011,求[X+Y]补。
第3章 运算方法与运算器
15
(2) 进位判决法。若Cn-1为最高数值位向最高位(符号位)的 进位,Cn表示符号位的进位(即进位标志CF),则判别溢 出的逻辑表达式为
(3-4)
OF=Cn-1⊕Cn
溢出判定如表3.1所示。在例3.6的运算过程中,Cn-1为0而 Cn为1 ,故Cn-1⊕Cn=1,表示运算结果有溢出。
第3章 运算方法与运算器
28
图 3.3 四位先行进位链电路
第3章 运算方法与运算器
29
5. BCD数加法器 1) 8421 BCD码
第2章中已详细地介绍了BCD码。在所描述的几种BCD码中, 计算机中应用最广泛的是8421 BCD码。8421 BCD码只利用了四 位二进制编码的0000~1001这十种来表示十进制数的0~9,剩余的
(3-6)
第3章 运算方法与运算器
19
3. 一位全加器的实现
设一位全加器的输入分别为Xi和Yi,低一位对该位的进位 为Ci, 全加器的结果和向高一位的进位分别用Zi和Ci+1表示, 则 一位全加器所实现的逻辑表达式如下:
(3-7)
(3-8)
第3章 运算方法与运算器
20
实现上述逻辑功能的一位全加器的逻辑电路及其框图分别

计算机组成原理:浮点数表示及运算

计算机组成原理:浮点数表示及运算
正数 0.1xxxxxx 负数 1.1xxxxxx 补码尾数的规格化的表现形式:尾数的最高位与符号位相反。 正数 0.1xxxxxx 负数 1.0xxxxxx
6
计算机组成原理
例:对数据12310作规格化浮点数的编码,假定1位符号位,基 数为2,阶码5位,采用移码,尾数10位,采用补码。
解:12310=11110112= 0.11110110002×27 [7]移=10000+00111 = 10111 [0.1111011000]补=0.1111011000 [123]浮= 1011 1 0 11 1101 1000 = BBD8H
对阶: [△E]补= [ Ex]补-[Ey]补=00 10+ 11 11= 00 01
y向x对齐,将y的尾数右移一位,阶码加1。 [y]补=00 10,00.0101 求和: 00.1101 + 00.0101 01.0010 [x+y]补=00 10,01.0010 右归:运算结果两符号位不同,其绝对值大于1,右归。 [x+y]补= 00 11,00.1001
0.0000001 --- 0.1111111 1/128 --- 127/128 可表示2-11*0.0001 --- 211*0.1111

设阶码2位,尾数4位

0.0000001 --- 111.1
可表示2-111*0.001 --- 2111*0.111

设阶码3位,尾数3位

0.0000000001 --- 1110000
19
(4) 结果规格化 求和之后得到的数可能不是规格化了的数 , 为了增加有效数 字的位数, 提高运算精度,必须将求和的结果规格化。 ①规格化的定义:

计算机组成原理知识点汇总

计算机组成原理知识点汇总

计算机组成原理知识点汇总一、冯.诺依曼思想体系——计算机由运算器、控制器、存储器、输入输出设备五部分组成,存储程序,按地址访问、顺序执行。

二、计算机系统的层次结构——微程序级→机器级→操作级→汇编→高级语言。

第二章一、一个定点数由符号位和数值域两部分组成。

按小数点位置不同,定点数有纯小数和纯整数两种表示方法。

二、一个浮点数标准化表示由符号位S、阶码E、尾数M三个域组成。

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

三、为了计算机能直接处理十进制形式的数据,采用两种表示形式:⑴字符串形式,主要用在非数值计算的应用领域;⑵压缩的十进制数串形式,用于直接完成十进制数的算术运算。

四、数的真值变成机器码时有四种表示方法:原码表示法,反码表示法,补码表示法,移码表示码。

其中移码主要用于表示浮点数的阶码E,以利于比较两个指数的大小和对阶操作。

五、字符信息属于符号数据,是处理非数值领域的问题。

国际上采用的字符系统是七单位的ASCII码。

六、直接采用西文标准键盘输入汉字,进行处理,并显示打印汉字,是一项重大成就。

为此要解决汉字的输入编码、汉字内码、字膜码等三种不同用途的编码。

七、为运算器构造的简单性,运算方法中算术运算通常采用补码加、减法,原码乘除法或补码乘除法。

为了运算器的高速性和控制的简单性,采用了先行进位、阵列乘除法、流水线等并行技术措施。

八、定点运算器和浮点运算器的结构复杂程度有所不同。

早期微型机中浮点运算器放在CPU芯片外,随着高密度集成电路技术的发展,现已移至CPU内部。

第三章一、存储器分类——主存、辅存、cache二、按介质分类——半导体、磁表面、激光三、按存取方式分类——随机、顺序、半顺序四、多级存储器结构——cache—主存—辅存五、主存技术指标——存储容量、存取时间、存储周期、存储器带宽六、DRAM刷新方式——集中式、分散式七、多模块交叉方式——顺序方式、交驻方式八、相联存储器组成——存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路。

计算机组成原理—运算方法和运算器-6

计算机组成原理—运算方法和运算器-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]补=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.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。

计算机组成原理课后习题参考答案

计算机组成原理课后习题参考答案

计算机组成原理答案第一章计算机系统概论1.比较数字计算机和模拟计算机的特点。

解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。

两者主要区别见P1 表1.1。

2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。

通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。

分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。

4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。

存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

主要组成部分有:(控制器、运算器)(CPU的两部分组成)、存储器、输入设备、输出设备(I/O设备)。

5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。

单元地址:简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。

数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。

指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。

6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。

程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。

7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。

计算机组成原理第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章-运算方法和运算器

经典:计算机组成原理-第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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对阶的方法: 求出两数的阶码m和n之差:
2020年10月15日星期
计算机组成原理
8
第二章 运算方法和运算器
对阶操作规定使尾数右移,尾数右移后阶码作相应 增加,其数值保持不变(若右移引起最低有效位的 丢失,则采用0舍1入的方法),一个增加后的阶码 与另一个阶码相等,所增加的阶码一定是小阶,因 此在对阶时,总是使小阶向大阶看齐。
2020年10月15日星期
计算机组成原理
12
(5)舍入处理
第二章 运算方法和运算器
在IEEE754标准中,舍入处理提供了4种可选方法
就近舍入:就是“四舍五入”,如尾数超出规定23位 的多余位数字是10010,多余位的值超过规定的最低 有效位值的一半,则最低有效位增1;若为01111这样, 则简单截尾;为10000这样的特殊值时视最低有效位 情况,为0截尾;为1向上进1,末位为0。
浮点数加、减运算过程 Z X Y
计算机组成原理
4
浮点数加减法运算的过程 第二章 运算方法和运算器
(1)零操作数检查 (2)对阶 (3)尾数求和 (4)结果规格化 (5星期
计算机组成原理
5
浮点数加法运算的过程
第二章 运算方法和运算器
(1)零操作数检查 如操作数之一为0则可省去后续操作,节省运算时间。
阶码上溢:超过阶码可表示的最大值的正指数值。一 般认为是+ 和-。
阶码下溢:超过了阶码可表示的最小值的负指数值。 一般将其认为是0。
尾数上溢:两个同符号尾数相加产生最高位向上的进 位,要将尾数右移,阶码增1来从新对齐。
尾数下溢:将尾数右移时,尾数的最低有效位从尾数 域右端流出,要进行舍入处理。
2020年10月15日星期
朝0舍入:就是简单的截尾。使取值的绝对值比原值 的绝对值小,易导致误差积累。
朝+舍入:对正数只要多余位不全为0则进1;对负数 截尾。
朝-舍入:处理与向+ 舍入相反。
2020年10月15日星期
计算机组成原理
13
(6)溢出判断
第二章 运算方法和运算器
浮点数的溢出表现为阶码的溢出,通过阶码来判断。
表现及处理:
(5)判溢出,阶码符号位为00,不溢出,故得最终结果为
x+y=2011 ×(-0.11101010)
2020年10月15日星期
计算机组成原理
16
例:
第二章 运算方法和运算器
设浮点数的阶码为4位(含阶符),尾数为6位(含尾符), x、y中的指数项,小数项均为二进制真值.
2.6 浮点运算方法和浮点运算器
第二章 运算方法和运算器
当我们用不同的电脑计算圆周率时,会发现一台电脑的计 算较另一台来讲结果更加精确; 或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时, 墙上剥落下一块 墙皮,同样的场面在一台电脑上的表现可 能会非常的呆板、做作;而在另外一台电脑上就会非常生 动形象,甚至与我们在现实中看到的所差无几。 这都是浮点运算能力的差异导致的。
2020年10月15日星期
计算机组成原理
2
2.6.1 浮点加法、减法运算 第二章 运算方法和运算器
设有两个浮点数x和y,分别为
x 2m M x y 2n M y
其加减运算过程可用下页流程描述:
2020年10月15日星期
计算机组成原理
3
2.6.1 浮点加法、减法运算
第二章 运算方法和运算器
2020年10月15日星期
若m>n,则将操作数y的尾数右移,y的阶码增加, 直到m=n为止。
若m<n,则将操作数x的尾数右移,x的阶码m增加, 直到m=n为止。
2020年10月15日星期
计算机组成原理
9
浮点数加法运算的过程
第二章 运算方法和运算器
(3)尾数相加
对阶后,就完成了小数点对准的工作,这时可以执行 尾数相加操作。尾数相加与定点数的加、减法相同。
2020年10月15日星期
计算机组成原理
15
第二章 运算方法和运算器
(3)规格化处理
尾数运算结果的符号位与最高数值位为同值,执行左归,结果为
1. 0 0 0 1 0 1 0 1 (10)
阶码为00 011
(4)舍入处理
采用0舍1入法,则尾数为:
1. 0 0 0 1 0 1 0 1
+
1
1. 0 0 0 1 0 1 1 0
计算机组成原理
14
例:
第二章 运算方法和运算器
设x=2010×0.11011011,y=2100 ×(-0.10101100),求x+y=?。 解:假设两数以补码表示,阶码采用双符号位,尾数采用单符号位,则 它们的浮点表示分别为:
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100 (1)求阶差并对阶
2020年10月15日星期
计算机组成原理
6
浮点数加法运算的过程
第二章 运算方法和运算器
(2)对阶
两浮点数进行加、减时,首先要看两数的阶码是否 相同,若两数的阶码不等,表示小数点位置没有对齐, 则必须使两数的阶码相等,这个过程叫做对阶。
2020年10月15日星期
计算机组成原理
7
第二章 运算方法和运算器
2020年10月15日星期
计算机组成原理
10
浮点数加法运算的过程
第二章 运算方法和运算器
(4)结果规格化
结果规格化就是使运算结果成为规格化数。为了运算 处理方便,可将尾数的符号位扩展为两位。
右规:当尾数符号位为01或10时,需要右规。
方法:将尾数连同符号位右移一位,和的阶码加1,经 右规处理后得到 00.1XX…X 或11.0 X X… X的形式, 即成为规格化的数.
左规:当运算结果的符号位和最高有效位为 00.0 或 11.l时,需要左规。
方法:将尾数连同符号位一起左移一位,和的阶码减1, 直到尾数部分出现00.l 或11.0的形式为止。
2020年10月15日星期
计算机组成原理
11
第二章 运算方法和运算器
(5)舍入处理
简单的舍入方法: 0舍1入法:右移被丢掉数位最高位为0舍掉, 为1尾数末位加1。 恒置1法:只要数位被移掉,就在尾数的末位 恒置1。
E Ex Ey Ex 补 Ey 补 0001011100 11110 2
X的阶码小,Mx右移两位,Ex加2 [x]浮=00 100, 0.00110110(11)
(2)尾数求和 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)
相关文档
最新文档