计算机组成原理第二章(第八讲)_第1页
计算机组成原理第二章(第八讲)_第2页
计算机组成原理第二章(第八讲)_第3页
计算机组成原理第二章(第八讲)_第4页
计算机组成原理第二章(第八讲)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理计算机组成原理第一章第一章 计算机系统概论计算机系统概论第二章第二章 运算方法和运算器运算方法和运算器第三章第三章 存储系统存储系统第四章第四章 指令系统指令系统 第五章第五章 中央处理器中央处理器 第六章第六章 总线系统总线系统 第七章第七章 外围设备外围设备 第八章第八章 输入输出系统输入输出系统第九章第九章 并行组织并行组织目录计算机组成原理计算机组成原理3 上一讲回顾 1.1.浮点加减法运算(浮点加减法运算(掌握计算方法,例题掌握计算方法,例题2525)1.0 1.0 操作数的检查;操作数的检查; 2 .2 . 比 较 阶 码 大 小 并 完 成 对 阶 ;比 较 阶 码

2、 大 小 并 完 成 对 阶 ; 3.3.尾数进行加或减运算;尾数进行加或减运算; 4.4.结果规格化并进行舍入处理。结果规格化并进行舍入处理。 2.2.浮点乘除法运算(浮点乘除法运算(掌握计算方法掌握计算方法, ,例题例题2727)1. .0 操作数检查;操作数检查;2. .阶码加阶码加/减操作;减操作; 移移 移移 补补(mod 2(mod 2n n1 1) ) 移移 移移 补补 (mod 2(mod 2n n1 1) ) 3. .尾数乘尾数乘/除操作;除操作;4. .结果规格化及舍入处理。结果规格化及舍入处理。计算机组成原理计算机组成原理41.1.流水线原理流水线原理 l计算机的流水处理

3、过程同工厂中的流水装配线类似。为了实现流水计算机的流水处理过程同工厂中的流水装配线类似。为了实现流水, ,首先必须把输入的任务分割为一系列的子任务首先必须把输入的任务分割为一系列的子任务, ,使各子任务能在流水线使各子任务能在流水线的各个阶段并发地执行。将任务连续不断地输入流水线的各个阶段并发地执行。将任务连续不断地输入流水线, ,从而实现了子从而实现了子任务的并行。因此流水处理大幅度地改善了计算机的系统性能任务的并行。因此流水处理大幅度地改善了计算机的系统性能, ,是在计是在计算机上实现时间并行性的一种非常经济的方法。算机上实现时间并行性的一种非常经济的方法。l在流水线中在流水线中, ,原则

4、上要求各个阶段的处理时间都相同。若某一原则上要求各个阶段的处理时间都相同。若某一阶段的处理时间较长阶段的处理时间较长, ,势必造成其他阶段的空转等待。因此对子任务的势必造成其他阶段的空转等待。因此对子任务的划分划分, ,是决定流水线性能的一个关键因素是决定流水线性能的一个关键因素, ,它取决于操作部分的效率、所它取决于操作部分的效率、所期望的处理速度期望的处理速度, ,以及成本价格等等。以及成本价格等等。 l假 定 作 业假 定 作 业 T T 被 分 成被 分 成 k k 个 子 任 务个 子 任 务 , , 可 表 达 为可 表 达 为 T T T1,T2,T1,T2,Tk ,Tk l各个

5、子任务之间有一定的优先关系:若各个子任务之间有一定的优先关系:若ij,ij,则必须在则必须在 Ti Ti 完成完成以后以后,Tj,Tj才能开始工作。具有这种线性优先关系的流水线称为线性流水才能开始工作。具有这种线性优先关系的流水线称为线性流水线。线性流水线处理的硬件基本结构如图所示线。线性流水线处理的硬件基本结构如图所示 : :2.6.3 浮点运算流水线浮点运算流水线 计算机组成原理计算机组成原理5计算机组成原理计算机组成原理6从图从图2.162.16可以看出,浮点数加减法由可以看出,浮点数加减法由0 0操作数检查、对阶操作、尾数操作、结操作数检查、对阶操作、尾数操作、结果规格化及舍入处理共果

6、规格化及舍入处理共4 4步完成,因此流水线浮点加法器可由步完成,因此流水线浮点加法器可由4 4个过程段组成。图个过程段组成。图2.182.18仅示出了除仅示出了除0 0操作数检查之外的操作数检查之外的3 3段流水线浮点加法器框图。段流水线浮点加法器框图。 计算机组成原理计算机组成原理7 假设有两个规格化的浮点数假设有两个规格化的浮点数X=1.1000X=1.10002 22 2 Y=1.1100 Y=1.11002 24 4 当此二数相加时,因当此二数相加时,因X X具有较小的阶码,首先应使它向具有较小的阶码,首先应使它向Y Y对阶,从而得到对阶,从而得到X=0.0110X=0.01102 2

7、4 4, ,然后尾数再相加,其结果要进行规格化,将尾数向右移然后尾数再相加,其结果要进行规格化,将尾数向右移1 1位,阶码加位,阶码加1 1。即规格化的结果。即规格化的结果为为1.00011.00012525。 在图在图2.182.18所示的流水线浮点加法器框图中,标出了上述例子在每一个过程段和锁存所示的流水线浮点加法器框图中,标出了上述例子在每一个过程段和锁存器器L L中保存的流水运算结果值。中保存的流水运算结果值。 例例2929上述演示中上述演示中 ,(1),(1)假设每个过程段所需的时间为:求阶差假设每个过程段所需的时间为:求阶差 1170ns,70ns,对阶对阶 2260ns,60ns

8、,相加相加3390ns,90ns,规格化规格化 4480ns,80ns,缓冲寄存器缓冲寄存器L L的延时为的延时为 tltl10ns,10ns,求求 4 4 级流级流水线加法器的加速比为多少?水线加法器的加速比为多少?(2)(2)如果每个过程段的时间相同如果每个过程段的时间相同, ,即都为即都为75ns,(75ns,(包括缓冲寄包括缓冲寄存器时间存器时间),),加速比是多少?加速比是多少?l 解解: (1): (1)加法器的流水线时钟周期至少为加法器的流水线时钟周期至少为90ns90ns10ns10ns100ns100nsl如果采用同样的逻辑电路如果采用同样的逻辑电路, ,但不是流水线方式但不

9、是流水线方式, ,则浮点加法所需的时间为则浮点加法所需的时间为1122334 4 300ns 300ns l因此因此,4,4级流水线加法器的加速比为级流水线加法器的加速比为CkCk300/100300/1003 3l(2) (2) 当每个过程段的时间都是当每个过程段的时间都是75ns75ns时时, ,加速比为加速比为CkCk300/75300/754 42.流水线浮点加法器流水线浮点加法器 计算机组成原理计算机组成原理8l 例例30 30 已知计算一维向量已知计算一维向量, ,的求和表达式如下:的求和表达式如下:l试用试用4 4段的浮点加法流水线来实现一维向量的求和运算段的浮点加法流水线来实现

10、一维向量的求和运算, ,这这4 4段流水线是阶码比较、对阶操作、尾数相加、规格化。只段流水线是阶码比较、对阶操作、尾数相加、规格化。只要求画出向量加法计算流水时空图。要求画出向量加法计算流水时空图。计算机组成原理计算机组成原理9l运算流水线对向量计算显示出很大的优越性运算流水线对向量计算显示出很大的优越性, ,即流水线被填即流水线被填“满满”时具有时具有较高的加速比和吞吐率。我们用字母较高的加速比和吞吐率。我们用字母 C,S,A,N C,S,A,N 分别表示流水线的阶码比较、对分别表示流水线的阶码比较、对阶操作、尾数相加、规格化四个段阶操作、尾数相加、规格化四个段, ,那么向量加法计算的流水时

11、空图如下图所那么向量加法计算的流水时空图如下图所示示 。图中左面表示。图中左面表示Xi,YiXi,Yi两个元素输入流水线的时间两个元素输入流水线的时间, ,右面表示求和结果右面表示求和结果ZiZi输出输出流水线的时间。每隔一个时钟周期流水线的时间。每隔一个时钟周期, ,流水线便吐出一个运算结果。流水线便吐出一个运算结果。计算机组成原理计算机组成原理101.CPU1.CPU之外的浮点运算器之外的浮点运算器 l 80 x8780 x87是美国是美国IntelIntel公司为处理浮点数等数据的算术运算和多种函数计算而公司为处理浮点数等数据的算术运算和多种函数计算而设计生产的专用算术运算处理器。由于它

12、们的算术运算是配合设计生产的专用算术运算处理器。由于它们的算术运算是配合808086CPU86CPU进行的,进行的,所以又称为协处理器。所以又称为协处理器。l现以现以80 x8780 x87浮点运算器为例,说明其特点和内部结构。浮点运算器为例,说明其特点和内部结构。l(1)(1)以以异步方式异步方式与与8038680386并行工作,并行工作,80 x8780 x87相当于相当于386386的一个的一个I/OI/O部件,本身部件,本身有它自己的指令,但不能单独使用,它只能作为有它自己的指令,但不能单独使用,它只能作为386386主主CPUCPU的协处理器才能运算。的协处理器才能运算。因为真正的读

13、写主存的工作不是因为真正的读写主存的工作不是80 x8780 x87完成,而是由完成,而是由386386执行的。如果执行的。如果386386从主存从主存读取的指令是读取的指令是80 x8780 x87浮点运算指令,则它们以输出的方式把该指令送到浮点运算指令,则它们以输出的方式把该指令送到80 x8780 x87,80 x8780 x87接受后进行译码并执行浮点运算。接受后进行译码并执行浮点运算。80 x8780 x87进行运算期间,进行运算期间,386386可取下一条其可取下一条其他指令予以执行,因而实现了并行工作。如果在他指令予以执行,因而实现了并行工作。如果在80 x8780 x87执行浮

14、点运算指令过程中执行浮点运算指令过程中386386又取来了一条又取来了一条80 x8780 x87指令,则指令,则80 x8780 x87以给出以给出“忙忙”的标志信号加以拒绝,使的标志信号加以拒绝,使386386暂停向暂停向80 x8780 x87发送命令。只有待发送命令。只有待80 x8780 x87完成浮点运算而取消完成浮点运算而取消“忙忙”的标志信号的标志信号以后,以后,386386才可以进行一次发送操作。才可以进行一次发送操作。l(2)(2)可处理包括可处理包括二进制浮点数二进制浮点数、二进制整数二进制整数、和、和压缩十进制数串压缩十进制数串三大类三大类7 7种种数据,其中数据,其中

15、浮点数的格式符合浮点数的格式符合IEEE754IEEE754标准标准。7 7种数据类型在寄存器中表示如下:种数据类型在寄存器中表示如下:2.6.4 浮点运算器实例浮点运算器实例 计算机组成原理计算机组成原理11 此处此处S为一位符号位,为一位符号位,0代表正,代表正,1代表负。三中浮点数阶码的基值均为代表负。三中浮点数阶码的基值均为2。阶码值。阶码值用移码表示,尾数用原码表示。浮点数有用移码表示,尾数用原码表示。浮点数有32位、位、64位、位、80位三种。位三种。80 x87从存储器取从存储器取数和向存储器写数时,均用数和向存储器写数时,均用80位的临时实数和其他位的临时实数和其他6种数据类型

16、执行自动转换。全部数种数据类型执行自动转换。全部数据在据在80 x87中均以中均以80位临时数据的形式表示。因此位临时数据的形式表示。因此80 x87具有具有80位字长的内部结构,位字长的内部结构,并有八个并有八个80位字长以位字长以“先进后出先进后出”方式管理的寄存器组,又称寄存器堆栈。方式管理的寄存器组,又称寄存器堆栈。计算机组成原理计算机组成原理12l图图2.202.20示出示出80 x8780 x87的内部结构逻辑框图。由图看出,它不仅仅是一个浮点的内部结构逻辑框图。由图看出,它不仅仅是一个浮点运算器,还包括了执行数据运算所需要的全部控制路线。就运算部分讲,有处运算器,还包括了执行数据

17、运算所需要的全部控制路线。就运算部分讲,有处理浮点数指数部分的部件和处理尾数部分的部件,还有加速移位操作的移位器理浮点数指数部分的部件和处理尾数部分的部件,还有加速移位操作的移位器路线,它们通过指数总线和小数总线与八个路线,它们通过指数总线和小数总线与八个8080位字长的寄存器堆栈相连接。这位字长的寄存器堆栈相连接。这些寄存器按些寄存器按“先进后出先进后出”方式工作,此时栈顶被用作累加器;也可以按寄存器方式工作,此时栈顶被用作累加器;也可以按寄存器的编号直接访问任何一个寄存器。的编号直接访问任何一个寄存器。1.浮点运算流水线(掌握)浮点运算流水线(掌握)(1)流水线原理)流水线原理画时空图,加

18、速比与吞吐率的计算画时空图,加速比与吞吐率的计算(2)流水线浮点加法器)流水线浮点加法器2.浮点运算器实例(了解)浮点运算器实例(了解) 本本 讲讲 总总 结结计算机组成原理计算机组成原理14第2章学习要求-1 掌握数据的定点格式,定点数的表达范围,有符掌握数据的定点格式,定点数的表达范围,有符号数和无符号数;号数和无符号数; 掌握浮点格式的表达,熟悉浮点数的掌握浮点格式的表达,熟悉浮点数的规格化规格化,掌,掌握规格化单精度浮点数与实数的相互转换;握规格化单精度浮点数与实数的相互转换; 理解真值和机器数,理解真值和机器数,熟练掌握定点整数、小数的熟练掌握定点整数、小数的补码、反码、原码和移码表

19、示法;补码、反码、原码和移码表示法; 掌握掌握BCDBCD码、码、ASCIIASCII码的编码规律;码的编码规律; 区别汉字输入编码、汉字内码和字模码;区别汉字输入编码、汉字内码和字模码; 理解检验码的作用,掌握奇偶校验以及检错能力。理解检验码的作用,掌握奇偶校验以及检错能力。计算机组成原理计算机组成原理15 奔腾奔腾CPUCPU将浮点运算器包含在芯片内。浮点运算部件采将浮点运算器包含在芯片内。浮点运算部件采用流水线设计。用流水线设计。指令执行过程分为指令执行过程分为8 8段流水线段流水线。前。前4 4 段为段为指令预取指令预取(DF)(DF)、指令译码指令译码(D1)(D1)、地址生成地址生

20、成(D2)(D2)、取操作数取操作数(EX)(EX),在,在U U、V V流水流水线中完成;后线中完成;后4 4段为段为执行执行1(X1)1(X1)、执行执行2(X2)2(X2)、结果写回寄存结果写回寄存器堆器堆(WF)(WF)、错误报告错误报告(ER)(ER),在浮点运算器中完成。一般情况,在浮点运算器中完成。一般情况下,由下,由U U流水线完成一条浮点数操作指令。流水线完成一条浮点数操作指令。浮点部件内有浮点专用加法器、乘法器和除法器,有浮点部件内有浮点专用加法器、乘法器和除法器,有8 8个个8080位寄存器组成的寄存器堆,内部的数据总线为位寄存器组成的寄存器堆,内部的数据总线为8080位

21、宽。位宽。因此浮点部件可支持因此浮点部件可支持IEEE754IEEE754标准的单精度和双精度格式的标准的单精度和双精度格式的浮点数。另外还使用一种称为临时实数的浮点数。另外还使用一种称为临时实数的8080位浮点数。对于位浮点数。对于浮点数的取数、加法、乘法等操作,采用了新的算法,其执浮点数的取数、加法、乘法等操作,采用了新的算法,其执行速度是行速度是8048680486的的1010倍多。倍多。2.CPU之内的浮点运算器之内的浮点运算器 计算机组成原理计算机组成原理16第2章学习要求-2 掌握补码的加法运算和减法运算规律;掌握补码的加法运算和减法运算规律; 理解乘法运算和除法运算有关知识;理解乘法运算和除法运算有关知识; 掌握多功能算数掌握多功能算数/ /逻辑运算单元先行进位等有关内逻辑运算单元先行进位等有关内容;容; 掌握溢出的概念,理解上溢(正溢)和下溢(负溢)掌握溢出的概念,理解上溢(正溢)和下溢(负溢)的概念以及符号位检测方法;的概念以及符号位检测方法; 了解内部总线和外部总线、单向总线和双向总线的了解内部总线和外部总线、单向总线和双向总线的概念;概念; 理解浮点加减法的操作过程,了解其中对阶、规格理解浮点加减法的操作过程,了解其中对阶、规格化、舍入处理的作用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论