计算机系统结构电子教案(课6).ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014.2.17 计算机系统结构 第5章 指令级并行硬件方法(P111) (指令级,多发射或乱序执行,动态调度) 并行性等级的划分(P23,1.5.1节) 5.1 指令级并行的概念 1. 开发ILP的方法分类 3. 基本程序块 5.5 多指令流出技术(又称多发射技术,P141) 5.5 多指令流出技术(续) 5.5.0 超标量技术:一个时钟节拍内同时发射多条指令(P142第1段)。 5.5.3 超长指令字技术VLIW(P147,P163) 5.5.5 超流水技术:一个时钟节拍内分时发射多条指令(P149) 附:超线程技术HT 5.4 动态分支预测技术(P133) 5.4 动态分支预测技术(续) 5.4.1 分支历史表 BHT 方法(P134) 5.4.1 分支历史表 BHT 方法(续) 5.4.2 分支目标缓冲器BTB方法 分支目标缓冲器BTB方法(续1) 分支目标缓冲器BTB方法(续2) 分支目标缓冲器BTB方法(续3) 分支目标缓冲器BTB方法(续4) 分支目标缓冲器BTB方法(续5) 分支目标缓冲器BTB方法(续6) 分支目标缓冲器BTB方法(续7) 分支目标缓冲器BTB方法(续8) 分支目标缓冲器BTB方法(续9) 分支目标缓冲器BTB方法(续10) 分支目标缓冲器BTB方法(续11) 分支目标缓冲器BTB方法(续12) 分支目标缓冲器BTB方法(续13) 分支目标缓冲器BTB方法(续14) 分支目标缓冲器BTB方法(续15) 作业6(第6次课) *   本章学习由硬件(即流水线控制器)实现的指令级并行方法,主要内容是流水线的多指令控制技术,目的是让处理机中同时流动更多的指令,减少各种原因造成的停顿,以缩短程序执行时间。 5.1 指令级并行的概念(重点) 5.2 相关与指令级并行 5.3 指令的动态调度 5.4 动态分支预测技术(重点) 5.5 多指令流出技术(重点) 从执行程序的角度来看,并行性等级从低到高可分为: 指令内部并行:单条指令中各微操作之间的并行。 指令级并行:并行执行两条或两条以上的指令。 线程级并行:并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。 任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)。以子程序或进程为调度单元。 作业或程序级并行:并行执行两个或两个以上的作业或程序。   指令级并行的英文缩写是ILP (Instruction-Level Parallelism) 开发ILP的途径有两种: 资源重复,重复设置多个处理部件,让它们同时执行相邻或相近的多条指令; 采用流水线技术,使指令重叠并行执行。 (1)狭义指令级并行 超标量SuperScalar (设备重复) 超长指令字Very Long Instruction Word(简称VLIW) (2)广义指令级并行 流水线Pipeline (设备细分) 超级流水线Super Pipeline (3)线程级并行 超线程Hyper-Threading(简称HT) (4)任务线程 多核处理机Multicore 静态调度(软件方法):在程序执行前,在编译过程中对目标指令序列进行优化,避免将来由于相关和冲突造成的停顿。主要手段是将冲突指令错开启动时间、变量换名等。 动态调度(硬件方法):在程序执行中,由专门硬件预测将要发生的冲突、控制指令在流水线中的流动,避免停顿。 2. 流水线处理机的实际CPI = 理想流水线的CPI加上各类停顿的时钟周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突 CPI理想是衡量流水线最高性能的一个指标。本式表明降低实际CPI有许多途径。 换一个角度,有时从CPI的倒数看问题会有新思路,IPC(Instructions Per Cycle)是每个时钟周期完成的指令条数。 在不能缩短单条指令周期数的情况下,在每个时钟周期里启动更多的指令(提高IPC),同样可以提高处理机的性能。这就是ILP的基本思想。 基本程序块:一串连续的代码除了入口和出口以外,没有其他的分支指令和转入点 。 程序平均每4~7条指令就会有一个分支。 4. 循环级并行:使一个循环中的不同循环体并行执行。 开发循环的不同叠代之间存在的并行性(最常见、最基本思路) 这是指令级并行研究的重点之一 5. 最基本的开发循环级并行的技术 循环展开(loop unrolling)技术

文档评论(0)

0520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档