- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高性能微处理器的先进技术及典型结构
《微机原理A》
第二十五讲:高性能微处理器的先进
技术及典型结构
主讲老师:王克义
本讲主要内容
• 流水线技术,超标量技术,超长指令字结构,
RISC技术;
• P6处理器的核心结构,Alpha 21064结构,
Itanium 处理器结构;
• 多核处理器的主要特点。
25.1 流水线中的“相关”及其处理技术
• 流水级数为n 的流水线,在理想情况下可以使处理器
性能提高n倍。
• 在实际中,有一些情况会阻止指令流中的下一条指
令在预定的时钟周期内执行,这种情况称为指令间
的“相关”(dependency)或“险态”(hazard) 。
• 指令间的相关会造成流水线的停顿,使指令不能连
续不断地进入流水线,其结果是降低了流水线的工
作效率。
• 指令间的相关可分为:结构相关、数据相关和控制
相关。
1.结构相关
• 结构相关(structural dependency)亦称资源相关。
它是指令流水线中在不同流水级(stage)上重叠执行
的指令之间争用同一硬件资源时所产生的相关。
• 要缓解结构相关引起的流水线停顿问题,可以采用
把具有访问冲突的资源配置成多套的办法来实现。
• 可以采用分开式的Cache,即由指令Cache和数据
Cache分别提供指令和数据(即所谓哈佛结构),而且
可以把这两个Cache的总线及存储器地址寄存器也分
开成两套,使得当一条指令在某流水级上访问指令
Cache时,另一条指令在其他流水级上可以在同一时
间访问数据Cache。
2. 数据相关
• 在流水线中重叠执行的指令中,如果后一条指令
依赖于前面一条指令的执行结果,就会出现数据
相关(data dependency) 。
• 在指令流水线中重叠执行的读数和写数指令之
间,若要使用同一个存储单元或同一个通用寄存
器时,就可能发生数据相关。
• 要解决数据相关,需要设置专门的检查数据相关
的硬件,在每次取操作数时,把取数的地址同它
前面正在流水线中尚未完成写数操作的所有写数
指令的写数地址进行比较,如果有相同的,说明
有数据“相关”存在。
• 解决数据相关最简单的办法就是推迟执行存在
“相关” 的数据操作,例如等待“相关” 的写数指令
完成之后,再执行读数操作。
• 这种机制称为流水线互锁(pipeline interlock) ,是
通过硬件实现的。也有的用软件(编译程序) 的办
法来实现。
• 无论是通过软件还是硬件,显然,推迟执行读数
操作的办法总要影响流水线的效率。为了尽量缩
短数据相关时指令在流水线中停顿的时间,还有
其他一些方法,请参考相关文献。
• 共有三种类型的数据相关,分别是:先写后读相
关(读-写相关) ,即RAW(Read After Write);先读后
写相关(写-读相关) ,即WAR(Write After Read)和
先写后写相关(写-写相关) ,即WAW(Write After
Write) 。
3. 控制相关
• 控制相关(control dependency)主要是由转移指令或
其他能够改变程序计数器(PC) 内容的指令在流水
线中进行处理时引起的。
• 对于条件转移指令,虽然在指令流水线前端的指
令译码时就能发现,但是确定转移方向的条件码
却要在指令流水线的末端的执行部件中产生。
• 一旦在指令部件中发现条件转移指令,指令部件
就要停顿下来,等待转移指令前面一条指令在执
行部件中执行完毕,产生条件码以后,才能确定
转移方向,此时整个流水线已经排空,没有指令
在里面流动了。
• 为了减少条件转移指令造成的执行部件停顿时间,
可采用多项措施和技术,常见的有:
(1) 双分支预取;
(2) 加快和提前形成条件码;
(3) 转移预测。
• 动态转移预测用硬件来实现,它是在现代微处理器
设计中普遍采用的一种行之有效的方法。
25.2 指令级并行
• 要提
文档评论(0)