- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
目录 1
第一章 绪论 3
1.1 现代RISC中的流水线技术 3
1.1.1 超流水线技术 3
1.1.2 超标量技术 3
1.1.3 流水技术在Pentium系列微处理器中的实现 4
第二章 流水线基础 7
2.1 流水线概念 7
2.1.1 指令重叠 7
2.1.2 流水线 8
2.1.3 流水线的特点 9
2.1.4 流水线的分类 10
2.2 流水线的主要性能 11
2.2.1 吞吐率 12
2.2.2 加速比和效率 12
第三章 指令流水线设计 14
3.1 流水线理想假设 14
3.1.1 一致的运算分量 14
3.1.2 重复的运算 15
3.1.3 独立的运算 16
3.2 指令流水线 16
3.2.1 指令流水线设计 17
3.2.2 指令集体系结构的影响 18
3.2.3 流水线分级的考虑 19
3.3 流水线处理器设计 20
3.3.1 保持流水段均衡 20
3.3.2 统一指令类型 21
3.3.3 减少流水线停顿 25
第四章 流水线中各种相关及其处理 26
4.1 流水线中相关 26
4.2 资源相关 26
4.3 数据相关 27
4.3.1 指令相关 27
4.3.2 主存空间操作数相关 28
4.3.3 通用寄存器组相关 28
4.4 控制相关 29
4.4.1 猜测法 30
4.4.2 加快和提前形成条件码 30
4.4.3 采取转移延迟 31
4.4.4 加快短循环程序的处理 31
第五章 中断处理与流水线调度 33
5.1 中断处理 33
5.2 流水线调度 33
第六章 总结与展望 37
参考文献 38
绪论
流水线技术是提高系统吞吐率的一项强大的实现技术,并且不需要大量重复设置硬件。20世界60年代早期的一些高端机器中第一次采用了流水线技术。第一个采用指令流水线的机器是IBM7030(又称作Stretch计算机)。后来的CDC 6600同时采用了流水线和多功能部件。
到了20世纪80年代,流水线技术成为RISC处理器设计方法中最基本的技术之一。RISC设计方法的大部分技术都直接或者间接以提高流水线性能为目标。从此以后,流水线技术也被有效地应用到CISC处理器的设计中。Intel i486是IA32体系结构中的第一个流水线实现。Digital的VAX和Motorola的M68K的流水线版本在商业上也取得了成功。
流水线技术是当前指令集处理器设计中广泛采用的技术。在这里我们将重点放在(标量)流水线处理器的设计。流水线处理器设计中的许多方法和技术,例如用于检测和化解相关的流水线互锁机制,都是标量处理器设计的基本方法。
当前的趋势是朝着超深度流水线的方向发展。流水线的深度已经从不到10发展到超过20.深度流水是获得高速始终频率的必要条件,这是提高处理器性能的一个非常有效的方法。有迹象表明。这种趋势还将持续下去。
现代RISC中的流水线技术
超流水线技术
超流水线(Super Pipeline)技术是RISC采用的一种并行处理技术。他通过细化流水,增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质就是以时间换取空间。超流水机器的特征就是在所有的功能单元都才用流水,并有更高的时钟频率和更深的流水深度。
超标量技术
超标量(Super Scalar)技术是RISC采用的有一种处理技术。它通过内装多条流水线来同时执行多个处理。其实质就是以空间换取时间。流水线实现中的问题及解决:
流水线实现的一个问题是使流水线连续不断地流动,即不出现流断,才能获得高效率。断流的原因很多,除了编译生成的目标程序不能发挥流水结构的作用,或者存储系统不能及时供应连续流动所需的指令和操作数外,主要还与出现了相关、转移以及中断指令有关。解决局部性相关有两种方法:退后法和通路法;解决全局性相关有三种方法:猜测转移分支、加快和提前形成条件码、加快短循环程序处理。
流水技术在Pentium系列微处理器中的实现
流水线技术早在Intel的X86芯片中均得到了实现。而Pentium系列CPU产品更是一个高级的超标量处理器。它是建筑在两个通用的整型流水线和一个可流水作业的浮点单元上的,这使处理器能够同时执行两条整型指令。一个对软件透明的动态分支预测机制能够使分支的流水线阻塞达到最小化。奔腾处理器可以在一个时钟周期内完成两条指令,一个流水线完成一条指令。第一个逻辑管道称之为“U”管道,第二个称之为“V”管道。在任何一条给定的指令译码期间,它安排的后面两条指令将被检查。并且,如果有可能,第一条指令被安排到“U”管道执行,第二条指令被安排到“V”管道执行。如果不能,则第一条指令被安排到“U”管道执行,“V”管道中不安排指令运行。指令在两个管道中运行与它们顺序执行所产生的效果是完全一样的。当发生管道阻塞
文档评论(0)