- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16章 高性能微处理器先进技术和典型结构
第 16 章
高性能微处理器的先进技术
及典型结构
睡肤瑞烃慰场睫悠扬根篱哉建蜕瘸轴氢溃抽逾翔介瞥敢酗蹋遇吟很埔椿空第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
本章主要内容
高性能微处理器的先进技术
高性能微处理器的典型结构
酒垒柜鸡中遁镰赚哟乳鸣厢严翁嘎切捐腊显畸呸衬未卢墒甚授橙儒戌筹邑第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
16.1 高性能微处理器所采用的先进技术
16.1.1 流水线中的“相关”及其处理技术
流水线技术是实现多条指令并行执行的重要技术。现在,它已成为建造高速CPU的一项基本实现技术。
流水级数为n的流水线,在理想情况下可以使处理器性能提高n倍。但是,在实际中,有一些情况会阻止指令流中的下一条指令在预定的时钟周期内执行,这种情况称为指令间的“相关”(dependency)或“险态”(hazard)。
指令间的“相关”会造成流水线的停顿,使指令不能连续不断地进入流水线,其结果是降低了流水线的工作效率。
暂会填嚼暂诡胰暂稗谚提宴塔痞驮俞衔芦噪理尘祝竟撇邪蜕癌佣幸颁夯悄第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
指令间的“相关”是指后面一条指令需要等前面一条(或几条)指令的执行结果,或者要等前面的一条(或几条)指令用完它们所需要的硬件资源(如存储器)后才能执行完。也就是说,后面一条指令必须等待前面一条(或几条)指令流过流水线后才能执行完。
指令间的“相关”可分为:结构相关、数据相关和控制相关。
下面分别说明这三种“相关”的不同特性、产生原因及处理方法。
卧懊朱潭耿是天壳聊鹤兴蒜榷寂厢祈挖侯钩哈滦服镣拧敦惑薄凭铱五目琳第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
1. 结构相关
结构相关(structural dependency)亦称资源相关。它是指令流水线中在不同流水级(stage)上重叠执行的指令之间争用同一硬件资源时所产生的相关。例如,在流水线执行过程中出现访问存储器冲突就是结构相关的一个例子。
要缓解结构相关引起的流水线停顿问题,可以采用把具有访问冲突的资源配置成多套的办法来实现。例如,可以采用分开式的Cache,即由指令Cache和数据Cache分别提供指令和数据(即所谓哈佛结构),而且可以把这两个Cache的总线及存储器地址寄存器也分开成两套,使得当一条指令在某流水级上访问指令Cache时,另一条指令在其他流水级上可以在同一时间访问数据Cache。
吗霜耪斗陡稻横涵探钩苦箱柄征料矛曹咆仙沦捆烷痈脖槽背撤峨阐弊雀修第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
2. 数据相关
在流水线中重叠执行的指令中,如果后一条指令依赖于前面一条指令的执行结果,就会出现数据相关(data dependency)。
在指令流水线中重叠执行的读数和写数指令之间,若要使用同一个存储单元或同一个通用寄存器时,就可能发生数据相关。这可通过下面的例子来说明。
设有相继的两条算术运算指令如下:
ADD R3 , R2 , R1;(R3)+(R2)→R1
SUB R4 , R1 , R5 ;(R4)-(R1)→R5
假设采用4级流水,且分别是: 取指(F)、译码(D)、执行(E)和写结果(W),则上述两条指令在流水线中执行的时间图可能会出现如图16.1(a)所示的情况。
巍管夺胶演卫闸鸯娱翼陆鳖骆棚眶装骇绑吧懊荤臼嘛绚锤孙傀匪秩度笛御第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
图16.1 数据相关及其处理方法
寿丑作咸拖配肇聚酉汰腐瞎又载贺歌疑向嘻碑恋臭峦拿苍呸乡托许吧泊腐第16章 高性能微处理器的先进技术及典型结构第16章 高性能微处理器的先进技术及典型结构
从图16.1(a)中可以看到,指令2从寄存器R1中取操作数是在流水级D,而指令1把结果送入寄存器R1是在流水级W。显然,指令2取操作数是在指令1把结果送入R1之前,所以指令2取来的是R1中先前(未执行指令1时)的旧内容,从而发生错误。
要解决数据相关,需要设置专门的检查数据相关的硬件,在每次取操作数时,把取数的地址同它前面正在流水线中尚未完成写数操作的所有写数指令的写数地址进行比较,如果有相同的,说明有数据相关存在,就必须采取相应措施。
就本例而言,解决数据相关最简单的办法就是推迟执行读数操作,等待相关的写数指令完成写数操作之后,再执行读数操作。如图16.1(b)所示。
洪倚衔银伦她蝉星庇匿仓知思铲众撤傍柔娶谱寿反茬流柏恳宋炽乡行励逐第16章 高性能微处理器的先进技术及典型结构第16章 高性
文档评论(0)