欢迎来到天天文库
浏览记录
ID:58657025
大小:1.29 MB
页数:96页
时间:2020-10-05
《计算机系统组成与体系结构第8章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机组成与结构湖南大学计算机与通信学院8-1第八章运算方法计算机组成与结构湖南大学计算机与通信学院8-2本章我们详细说明几种常用数据格式的算术运算算法和它们的硬件实现。包括定点数表示及其加、减、乘、除过程和硬件实现,二—十进制(或BCD)码的格式和操作。最后,讨论一些提高算术操作性能的专用硬件,包括流水线、查找表、华莱士树。介绍浮点数的格式和它们的算术操作。包括浮点数的格式,性质,以及加、减、乘、除过程和硬件实现,还有IEEE754浮点数标准。执行算术和逻辑运算的指令以及微操作是任何CPU的一个必不可少的重要部
2、分。计算机组成与结构湖南大学计算机与通信学院8-38.1无专门符号位表示法本节讨论二进制数无专门符号位表示法的加、减、乘、除的基本算法以及实现这些算法的硬件。这些算法同时也是二进制数带专门符号位表示法、BCD码和浮点表示法的算术运算基础。非负数码:表示0或一个正数。n位非负数码的数值范围为0~2n-1。2的补码(简称补码):既能表示正数又能表示负数。当最高位为1时表示负数,最高位为0时表示正数(包括0)。n位数的数值范围为-2n-1~2n-1-1。有两种常用的无专门符号位表示法:计算机组成与结构湖南大学计算机与通
3、信学院8-4下表列出了8位二进制数的非负数码和补码表示的数值。表8.1无符号表示的数值计算机组成与结构湖南大学计算机与通信学院8-58.1.1加法和减法加法直接采用二进制加法实现,硬件中通过使用一个并行加法器来实现,如下图所示。X和Y是8位寄存器,该电路实现微操作ADD:X←X+Y只要结果在正常范围内(对非负数码而言为0~2n-1,对补码而言为-2n-1~2n-1-1),该电路就能得到正确的结果。图8.1微操作X←X+Y的实现计算机组成与结构湖南大学计算机与通信学院8-6当结果不能表示为一个8位数值时就会导致溢出
4、:例如,非负数码加法255+1,即11111111+00000001,直接加得100000000,有9位,不能存于8位寄存器中。并行加法器产生额外的进位输出,它用来标志算术溢出。在非负数码中,这个进位能置溢出标志,它提示系统产生了溢出,所得结果不完全正确,系统应进行相应的结果修复处理或错误处理。在补码中,判断溢出不但要检查进位输出,还要检查结果最高位的进位输入。如果这两者相等,那么不产生溢出,否则产生溢出。见下图:计算机组成与结构湖南大学计算机与通信学院8-7图8.2补码加法的溢出产生在(a)和(c)中最高位的进
5、位输入和进位输出相等,不产生溢出;而在(b)和(d)中两者不等,产生溢出。计算机组成与结构湖南大学计算机与通信学院8-8减法可以转换成加法,即X–Y通过执行X+(-Y)来实现。首先将Y转换成–Y的补码,再将–Y的补码与X的补码相加即可得X–Y的补码:[X–Y]补=[X]补+[-Y]补左图给出了执行微操作SUB:X←X–Y的一种硬件实现。图8.3微操作X←X–Y的实现计算机组成与结构湖南大学计算机与通信学院8-9对于非负数码,减法的结果不会比2n-1大,但可能比0小。例如,1–2执行为00000001+111111
6、10=11111111,即255。图中(b)和(d)溢出,而(a)和(c)没有溢出。图8.4非负数码减法的溢出产生同样,补码减法也将X–Y转换成X+(–Y)来执行,而判断溢出的条件与补码加法相同。此时,如果减法(通过补码加法实现)产生了进位输出0而不是1时,则发生了溢出。计算机组成与结构湖南大学计算机与通信学院8-10Y01MUXX并行加法器COUTCINSnnnnnnLDCLKCLKSUBMUX01SSUBADDSUB非负数码加减电路——含溢出的产生去溢出标志位计算机组成与结构湖南大学计算机与通信学院8-11Y
7、01MUXX并行加法器COUTCINSnnnnnnLDCLKCLKSUB次高位向最高位进位ADDSUB补码加减电路——含溢出的产生去溢出标志位计算机组成与结构湖南大学计算机与通信学院8-128.1.2乘法乘法可以看成加法的重复。一个数乘以n与n个该数相加的结果相同。可以用下列算法来实现乘法x×y。z=0;FORi=1TOyDO{z=z+x}这种算法不理想,原因是速度慢、计算x×y的时间不确定。我们希望不论x、y取何值,执行乘法的时间相同。x=127y=25338163525432131考虑人工计算:首先,127乘
8、以乘数y的最低位3。接着,127乘以乘数y的次低位5,结果放在前一个积的左边一位处,因为乘数5在3的左一位上。然后,127乘以2,结果进一步左移一位。最后,将所有值加在一起。8.1.2.1移位——相加算法(非负数码乘法)计算机组成与结构湖南大学计算机与通信学院8-13这个过程被称为移位——相加乘法。首先计算每个部分积并左移到正确位置,然后再将所有的部分积相加。对这个算法稍
此文档下载收益归作者所有