我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 指令级并行 >

《计算机系统结构》电子教案(课6)

归档日期:06-28       文本归类:指令级并行      文章编辑:爱尚语录

  /?~!@#¥……&*()——{}【】‘;:”“。,、?]); var rs = ; for (var i = 0; i

  第 5章 指令级并行硬件方法( P111)( 指令级,多发射或乱序执行,动态调度)本章学习由硬件(即流水线控制器)实现的指令级并行方法,主要内容是流水线的多指令控制技术,目的是让处理机中同时流动更多的指令,减少各种原因造成的停顿,以缩短程序执行时间。5.1 指令级并行的概念(重点)5.2 相关与指令级并行5.3 指令的动态调度5.4 动态分支预测技术(重点)5.5 多指令流出技术(重点)2014.2.17 1计算机系统结构从执行程序的角度来看,并行性等级从低到高可分为:Ø 指令内部并行:单条指令中各微操作之间的并行。Ø 指令级并行:并行执行两条或两条以上的指令。Ø 线程级并行:并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。Ø 任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)。以子程序或进程为调度单元。Ø 作业或程序级并行:并行执行两个或两个以上的作业或程序。 并行性等级的划分( P23, 1.5.1节)2014.2.17 2计算机系统结构指令级并行的英文缩写是 ILP ( Instruction-Level Parallelism)开发 ILP的途径有两种:q 资源重复,重复设置多个处理部件,让它们同时执行相邻或相近的多条指令;q 采用流水线技术,使指令重叠并行执行。(1)狭义指令级并行 超标量 SuperScalar( 设备重复) 超长指令字 Very Long Instruction Word ( 简称 VLIW )(2)广义指令级并行 流水线 Pipeline( 设备细分) 超级流水线 Super Pipeline(3)线程级并行 超线程 Hyper-Threading( 简称 HT)(4)任务线程 多核处理机 Multicore5.1 指令级并行的概念2014.2.17 3计算机系统结构Ø 静态调度(软件方法):在程序执行前,在编译过程中对目标指令序列进行优化,避免将来由于相关和冲突造成的停顿。主要手段是将冲突指令错开启动时间、变量换名等。Ø 动态调度(硬件方法):在程序执行中,由专门硬件预测将要发生的冲突、控制指令在流水线. 流水线处理机的实际 CPI = 理想流水线的 CPI加上各类停顿的时钟周期数:CPI流水线 = CPI理想 + 停顿 结构冲突 + 停顿 数据冲突 + 停顿 控制冲突CPI理想 是衡量流水线最高性能的一个指标。本式表明降低实际 CPI有许多途径。换一个角度,有时从 CPI的倒数看问题会有新思路, IPC( Instructions Per Cycle) 是每个时钟周期完成的指令条数。在不能缩短单条指令周期数的情况下,在每个时钟周期里启动更多的指令(提高 IPC), 同样可以提高处理机的性能。这就是 ILP的基本思想。1. 开发 ILP的方法分类2014.2.17 4计算机系统结构Ø 基本程序块:一串连续的代码除了入口和出口以外,没有其他的分支指令和转入点 。Ø 程序平均每 4~ 7条指令就会有一个分支。4. 循环级并行:使一个循环中的不同循环体并行执行。Ø 开发循环的不同叠代之间存在的并行性(最常见、最基本思路)Ø 这是指令级并行研究的重点之一5. 最基本的开发循环级并行的技术Ø 循环展开( loop unrolling) 技术Ø 采用向量指令和向量数据表示3. 基本程序块2014.2.17 5计算机系统结构多发射技术( Multiple Issue): 同时启动多条指令。为什么要多发射?在传统流水线上,要减少 CPU时间,可以减少 CPI或者 Cycle。 CPI的下限是 1,减少 Cycle碰到了 “4G墙 ”(指 Intel公司开发4GHz P4计划失败,因为功耗正比于主频 3次方),工程师们无奈又回头来打 CPI的主意,想使 CPI低于 1,即在一个时钟周期内流出多条指令。狭义的多指令流出技术(同时启动)包括超标量 (Superscalar)和超长指令字 (VLIW) , 广义的多指令流出技术(分时启动)还包括超流水线(Superpipeline)等。超标量采用多条流水线的多发射技术,每个时钟周期流出的指令数不定,既可以使用编译器静态调度,也可以使用硬件动态调度。 由于管理乱序流动中指令相关问题的硬件复杂度非常大,所以目前超标量 CPU的 ILP没有超过 8的。采用单发射技术的传统处理机又被称为 “标量处理机 ”。5.5 多指令流出技术(又称多发射技术, P141)2014.2.17 6计算机系统结构超长指令字 CPU采用长指令单发射,多个执行部件同时执行小指令的方法,每个时钟周期流出的小指令数是限定的。在编译过程中,由编译程序来判断实际指令之间的相关关系,进行静态调度,把抽取 ILP的复杂工作转移给编译器,而执行指令的硬件则大大简化,也比较规则,有利于低功耗设计。超流水线则是将每个功能部件进一步流水化,使得一个功能部件在一拍中可以分时处理多条指令。5.5 多指令流出技术(续 )2014.2.17 7计算机系统结构5.5.0 超标量技术:一个时钟节拍内 同时 发射多条指令( P142第 1段)。时空图“超标量 ”的前身是 “多操作部件技术 ”。 它是通过 “ 设备并联 ” 技术扩充的单流水线,被扩充的部件通常是运算部件、访存部件等 “ 瓶颈 ” 部件。2014.2.17 8计算机系统结构5.5.3 超长指令字技术 VLIW ( P147, P163)把多条无相关关系的常规指令打包在一个超长的指令字中,让它们同时被处理,分别控制多个功能部件并行工作的技术。每个操作放在一个槽( slot) 内。这种技术的实质,是把超标量技术中的相关性识别任务,由 CPU硬件转移给程序员或编译程序去实现。2014.2.17 9计算机系统结构5.5.5 超流水技术:一个时钟节拍内 分时 发射多条指令( P149)时空图2014.2.17 10计算机系统结构

  下载提示(请认线.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

本文链接:http://f-taiken.net/zhilingjibingxing/91.html