- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五、一位8421码十进制加法器 1、十进制数的8421码加法运算规则 (1) 和≤1001时,不必修正 SN74181是4位先行进位ALU 芯片,中规模集成电路。 SN74182是4位BCLA (组间先行进位)芯片。 多芯片级联构成先行进位ALU 4个SN74181芯片串行构成一个16位单级先行进位ALU 4个SN74181芯片与1个SN74182芯片可构成16位两级先行进位ALU 16个SN74181芯片与5个SN74182芯片可构成64位先行进位ALU 现代主流计算机中ALU并非通过芯片级联而成 一个CPU芯片中有多个处理器核 一个核中有多个32位/64位ALU! 关于运算器的补充内容 1. CPU之外的浮点运算器 8087是美国Intel公司为处理浮点数等数据的算术运算和多种函数计算而设计生产的专用算术运算处理器。由于其算术运算是配合8086 CPU进行的,所以8087又称为协处理器(Co-processor)。 以下说明8087浮点运算器的特点和内部结构。 (1)以异步方式与8086并行工作。8087相当于8086的一个I/O部件,本身有它自己的指令,但不能单独使用,它只能作为8086主CPU的协处理器才能运算。如果8086从主存读取的指令是8087的浮点运算指令,则它们以输出的方式把该指令送到8087,8087接受指令后进行译码并执行浮点运算。8087进行运算期间,8086可取下一条其他指令予以执行,因而实现了并行工作。如果在8087执行浮点运算指令过程中,8086又取来了一条8087指令,则8087给出“忙”标志信号加以拒绝,使8086暂停向8087发送命令。只有待8087完成浮点运算而取消“忙”标志信号以后,8086才可以进行下一次发送操作。 (2)可处理包括二进制浮点数、二进制整数和压缩十进制数串三大类7种类型数据,其中浮点数的格式符合IEEE-754标准,有32位、64位、80位(临时实数)三种。 2. CPU之内的浮点运算器 奔腾(Pentium)CPU将浮点运算器包含在芯片内,浮点运算部件采用流水线设计。 指令执行过程分为8段流水线。前4 段为指令预取(DF)、指令译码(D1)、地址生成(D2)、取操作数(EX),在U、V流水线中完成;后4段为执行1(X1)、执行2(X2)、结果写回寄存器堆(WB)、错误报告(ER),在浮点运算器中完成。奔腾CPU内部的主要流水线是“U-Pipe”,能应付所有的x86指令;另一条流水线称为“V-Pipe”,只能对一些简单的整数指令和一个浮点运算指令“FXCH”解码。一般情况下,由U流水线完成一条浮点数操作指令。 浮点部件内有浮点专用加法器、乘法器和除法器,有8个80位寄存器组成的寄存器堆,内部的数据总线为80位宽,可支持IEEE-754标准的单精度和双精度格式的浮点数,还使用一种称为临时实数的80位浮点数。 以上参见 /mod/tab/view.php?id=188 关于算术流水线 一个计算机系统可以在不同的并行等级上采用流水线技术。常见的流水线形式有: (1)、指令流水线,是指指令步骤并行。例如,将指令流的处理过程划分为取指、译码、取操作数和执行这几个并行处理的过程段。目前,几乎所有的高性能计算机都采用了指令流水线。 (2)、算术流水线,是指运算操作步骤并行。如流水线加法器、流水线乘法器等。现代计算机中已广泛采用了流水线的算术运算器。 (3)、处理机流水线,又称为宏流水线,是指程序步骤的并行。 /NCourse/weixingjisuanji/content/chapter9/9_5/9_5_0.htm 浮点运算流水线可参考:/~jdmooney/classes/cs555/notes/tech/arithpipe.html 本章作业 10,13 15,17 18 20,22 流程图 (2) 原理框图 3-30 四、快速乘法 1. Booth两位乘法 根据补码一位乘法的规则,将比较ynyn+1的状态与比较yn-1yn的状态所执行的操作合并成一步 。 部分积+0,右移两位 部分积+[x]补,右移两位 部分积+[x]补,右移两位 部分积+2[x]补,右移两位 部分积+2[-x]补,右移两位 部分积+[-x]补,右移两位 部分积+[-x]补,右移两位 部分积+0,右移两位 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 操作 yn-1ynyn+1 2. 被加数进位保留乘法 阵列乘法器:串行进位 进位保留阵列乘法器 例:两个无符号整数(四位二进制表示)相乘,被乘数X=1111,乘数=1101。假设乘积过程中产生的四个被加数分别用A-D表示。则按
文档评论(0)