网站大量收购独家精品文档,联系QQ:2885784924

标志寄存器.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
标志寄存器.ppt

1 第2章 Intel IA-32/Intel 64处理器 结构与原理 2 衡量CPU的性能指标可以是单位时间CPU完成的指令数,其计算公式如下: CPU性能 = CPU的主频×IPC 也可用CPU完成应用程序所需的总时间。其计算公式如下:: IPC:每时钟执行的指令条数。 CPI:每指令平均时钟数 思考:根据公式要提高CPU性能,可采用什么办法? 2.1 提高处理器的性能 2.1.1 问题的分析 3 如何提高主频: 要提高主频→减少每个流水级的执行周期→减小每个流水级的任务量→将任务再分解→增加流水线深度 IA-32的流水线级数 型号 Pentium P6架构 Pentium 4 Core Nehalem 流水级数 5 12-13 20~31 14 16 主频MHz 66 200 2000~3600 2667 思考:流水线级数变多后,有没有副作用? 4 思考:从图上可以得到哪些结论? 5 如果各指令之间不存在相关性,那么它们在流水线中是可以并行执行的,这种指令间潜在的重叠就是指令级并行(Thread-Level Parallelism, ILP)。 1.指令间的相关性 (1)结构相关 所谓结构相关(也称为名相关)是指不同指令同时存取相同的寄存器或存储器,但这些指令间不存在数据流。 在冯·诺依曼存储结构中,数据和程序放在同一存储器,如果此时一条指令要读或写数据,而刚好取指单元要取指令,就出现结构相关 2.1.2 提高处理器指令级并行性的技术 6 1.指令间的相关性 (2)数据相关 某条指令的操作数依赖前一条或前几条指令的运行结果,这就是所谓的数据相关。 ① 写后读相关(RAW,Read After Write) A=B+C D=3*A // 在数据A上写后读 ② 读后写相关(WAR,Write After Read) A=B+C B=D*2 // 在数据B上读后写 ② 写后写相关(WAW,Write After Write) A=B+C A=D*2 // 在数据A上写后写 思考:C语言里的 i+=2 包含了哪些数据相关? 7 1.指令间的相关性 (3)控制相关 控制相关可以看作是对指令指针寄存器的RAW相关问题。 取指阶段需要读指令指针寄存器,而分支语句会在执行阶段计算出新的转移地址写入指令指针寄存器,于是当分支条件满足的时候,就出现下条指令读指令指针寄存器(取指阶段)早于分支语句写该寄存器(执行阶段)的情况。 8 2.超标量技术 所谓超标量是指处理器中含有多条流水线,每个时钟能够译码、发射、执行多条指令。显然,超标量技术提高了处理器的IPC,也进而减少了理想流水线CPI。在超标量流水线中,并行执行的流水线条数称为超标度。从Pentium到Ivy Bridge处理器的超标度为2~4。 IF ID OF EX WB IF ID OF EX WB WB EX OF ID IF I1 I2 I3 I4 I5 I6 I7 I8 I9 IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB 思考:超标度为几? 9 3. 动态执行技术的使用(P6架构开始) A=B+C P=A*2 Q=D-E 非乱序执行演示 乱序执行演示 R=F-7 A=B+C P=A*2 Q=D-E R=F-7 乱序可解决什么问题? 执行方向 执行方向 乱序执行技术 为了提高指令流的执行效率,乱序执行核心分析多条指令的数据相关性和资源可用性,然后在不损失数据完整性的前提下,采用能充分发挥多个处理部件并行工作的指令顺序来执行。这个指令顺序可能和原始程序的不一样。 10 3. 动态执行技术的使用(P6架构开始) 分支预测 预测分支未来的方向,为处理器预先译码分支之后的指令提供依据 静态分支预测 预测无条件转移指令发生分支 预测向前分支的条件转移指令不发生转移 预测向后分支的条件转移指令发生转移 动态分支预测 使用分支目标缓冲器BTB记录分支转移历史信息 BTB中缓存了先前执行过的分支语句的指令地址BIA,分支跳转的目的地址BTA,以及分支历史记录 取指时,同时检索L1 Cache和BTB 如最终分支结果与预测相符,则避免了流水线的停顿 如最终分支结果与预测不符合,那么将刷新BTB的有关记录,并进行分支误预测的恢复操作 11 3. 动态执行技术的使用(P6架构开始) 推测执行 在分支预测基础上,推测分支路径,并按推测执行。 一旦证实分支预测正确,已提前建立的“预测结果”立即变成“最终结果”并及时修改机器的

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档