流水线CPU技术ppt课件_第1页
流水线CPU技术ppt课件_第2页
流水线CPU技术ppt课件_第3页
流水线CPU技术ppt课件_第4页
流水线CPU技术ppt课件_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

流水线式中央处理器,1,并行的概念,1。并行性的含义,同时性指的是同时发生的两个或多个事件。并发是指在同一时间间隔内发生两个或更多事件。2 .并行性的概念,2 .并行处理技术的主要形式,(1)时间并行性-时间重叠,它允许多个处理过程在时间上交错,并且使用同一组硬件的每个部分交替重叠,从而赢得高速。实现方式:使用水处理组件。(2)空间并行资源复制,例如奔腾处理器使用的超标量流水线技术。用多个相同的组件处理多个事件。实现:多处理器系统和多计算机系统或单处理器系统。(3)时间平行性和空间平行性,即时间平行性和空间平行性。3,管道计算机系统组成现代管道计算机系统的组成原理如左图所示。中央处理器以流水线方式组织,通常由三部分组成:指令单元、指令队列和执行单元。这三个功能组件可以形成一个三级管道。图3.33流水线计算机系统组成原理示意图,流水线CPU结构,4。指令流水线的原理,问题的提出,串行执行模式中组件的低利用率(空闲时间)。每个流程段中使用的组件是不同的。当一个进程段空闲时,其他进程段中的组件空闲,5,6,(2)流水线原理,1)指令周期的三个主要过程:输入,输出,7,2)指令执行过程的时空图,A .非流水线时空图,B .标量流水线时空图,C .超标量流水线时空图,8,流水线与非流水线,1)非流水线指令执行是串行的;(2)标量流水线从满负荷开始每周期完成一条指令;(3)超标准流水线提高了吞吐量,但是需要硬件和两个(或更多)流水线的其他电路。(见附图),9,常见超标量管道结构,10,(3)管道工作模式的特点,时间的并行性;(2)管道中的分工越细,同时运行的指令越多,吞吐率越高。然而,需要额外的硬件来使控制更加复杂。(3)管道各阶段的执行时间应尽可能一致;(4)当管道满(满载)时,达到最大吞吐率。流水线相关性是指相邻指令由于某种关系而不能同时流水线化的现象。装配线的相关性会导致流水线停止,影响整个装配线的效率。12,管道相关的原因,资源相关数据相关索引传输的中断,全局相关,局部相关,13,局部相关:资源相关,在同一机器时钟周期内竞争同一功能单元的冲突。在时钟3-资源关联时出现内存争用问题。解决方法:将手指抓取延迟一个时钟;(2)添加存储器以分别存储指令和数据;(3)使用双端口存储器。14,局部相关性:数据相关性。在一个程序中,一条指令的执行直到前一条指令的执行完成后才能执行,这时就有了数据关联。(1)推迟ADD指令的提取操作;(2)采用数据旁路(内部转发)技术将结果直接发送给下一条指令。全局相关:由条件分支指令或中断引起的控制相关。解决方法:延迟转移方式:增加空操作,等待转移条件形成。(2)猜测法:选择出现概率较高的分支进行指令预取。管道中有三种类型的数据关联冲突:写后读关联;阅读和写作是相关的;写完后,写相关的。判断以下三组指令中的每一组中存在哪种类型的数据相关性。(1)地址1,R2,R3;(R2)(R3)-R1 I 2: UBR 4,R1,R5;(R1)-(R5)-R4(2)I3:STAM(x),R3;R3)-M(x),M(x)是存储单元,R4,r5;(R4)(R5)-R3(3)I5: R2 R1;(R1)(R2)-R3地址3,R4,R5;(R4) (R5)-R3,17,(1)I1:地址1,R2,R3;(R2)(R3)-R1 I 2: UBR 4,R1,R5;(R1)-(R5)-R4在指令组(1)中,首先将I1指令的计算结果写入R1,然后在I2指令中读出R1内容。当I2指令进入流水线时,I2指令在I1指令被写入R1之前读取R1内容,导致RAW(写后读取)相关。局部相关性:数据相关性,18,(2)I: STAM(x),R3;(R3)-M(x),M(x)是存储单元I4:ADDR3地址3,R4,r5;(R4)(R5)-在R3的指令组(2)中,I3指令应首先读出R3的内容并存储在存储单元M(x)中,然后将运算结果写入I4指令中的R3。然而,由于I4指令进入流水线,I4指令在I3指令读出R3的内容之前被写入R3,导致WAR(读和写)相关。位置相关性:数据相关性,19,(3)R2 R1;(R1)(R2)-R3I 6:地址3,R4,R5;(R4)(R5)-在R3的组(3)指令中,如果I6指令的加法完成时间早于I5指令的乘法时间,指令I6将在指令I5被写入R3之前被写入R3,导致R3和WAW(写后写)相关的内容错误。局部相关性:数据相关性,20,局部相关性处理方法,指令调度方法,设置多个功能组件的内部数据方向,静态调度动态调度,21,(1)指令调度方法,指令调度改变指令的执行顺序,解决相关性引起的问题。静态指令调度变更程序中指令的位置由编译器实现。动态指令调度改变指令的实际执行顺序,而不改变指令提取和指令解码的顺序。无序执行是由控制器硬件实现的。记分卡方法保存站方法,22。静态调度:流水线延迟,x=yza=BC。指令启动:启动处理器功能单元执行指令的过程。23.静态调度:编译检测。编译器优化后,所需时间为17个时钟周期。24.动态调度-记分卡方法。25.记分卡是一个位向量,每个位对应于寄存器文件中的一个寄存器。传输指令时,记分板中的目标寄存器设置为1。写回时,记分板中的目标寄存器清零。判断一条指令是否可以传输的条件是:该指令的所有目的寄存器和源寄存器在记分板中都有相应的0位;否则,等待位清零。采用定向传输技术解决数据关联:将先前指令的执行结果直接发送到后续指令所需的源操作数的功能组件,即动态调度-记分板方法26、动态调度-记分板方法27、动态调度-记分板方法,依靠流水线停止来解决关联。集中式调度记分板组件不消除数据相关性是一个性能瓶颈,记分板的缺点是,28、动态调度-保存站方法,29、动态调度-保存站方法,如果有空的保存站,则传输指令;只要操作数有效,它就会被提取到保存站,以避免在发出指令时从寄存器中提取数据。如果没有空的保存站或高速缓存单元,当指令被临时执行以发出指令时,存储操作数的寄存器名将被改变为对应于寄存器的保存站名(寄存器重命名),并且当结果被写回时,结果将通过数据总线被直接发送到等待结果的所有保存站,30,具有分布式阻塞检测机制的动态调度-保存站方法,31;消除了数据写后写和读后写之间的相关性所造成的阻塞,并且保存站方法(相对记分板方法)、动态调度-保存站方法(也被称为托马苏罗调度方法)的优点,32、(2)布置了多个功能组件,并且在某个流水线段中将产生流水线的瓶颈;该瓶颈必须对应于保留表中符号最多的行。可以设置几个相同的段来解决该段的瓶颈问题。(2)设置多个功能单元(34)和(3)内部数据定向,内部数据定向的原理是消除访问存储器或寄存器的一些不必要的中间链接,从而减少资源和数据之间的相关性并提高流水线的吞吐量。数据方向分为:读写方向、读写方向和写写方向。35,(3)内部数据定向解决方案:延迟分支方法分支预测方法,38,1)延迟分支方法,延迟分支方法:目的是当分支成功时,分支指令后进入流水线的指令不会失效,并寻找方法使其有助于减少延迟时间的损失。i0ldr4,bi1ldr1,AI2DECR3,1I3JZR3,I50I4ADDR2,R4I5SUBR5,R6.i50.i2decr3,I50I0LDR4,BI1LDR1,AI4ADDR2,R4I5SUBR5,R6.i50.39,示例:i0ldr4,bi1ldr1,AI2DECR3,1I3JZR3,I50I4ADDR2,R4I5SUBR5,r6i6ldb,R5.i50.以及,1)延迟分支方法,40,分支延迟槽:流水线中分支指令的提前执行,1)延迟分支方法,41,2)分支预测方法,分支预测方法:在程序执行之前,根据分支代码的类型静态地或者根据分支历史表动态地预测下一分支是否成功。获得的预测值是暂定的,不能作为最终结果。根据运算结果,如果预测正确,则测试结果上的测试标记被去除,成为正式结果。如果不正确,应清除试验结果。42,使用预取缓冲器执行分支预测,预取缓冲器有三种类型:顺序缓冲器:顺序流入流水线的指令。目标缓冲区:从传输目标提取的指令。循环缓冲区:保持小循环的顺序指令。在条件分支指令到达之前,根据预测策略用它们各自的指令填充序列缓冲器和目标缓冲器。在检测到传输条件之后,选择两个缓冲器之一的指令流进入流水线,而另一个缓冲器的指令流无效。根据原始程序的顺序,指令流通过顺序缓冲区加载到流水线中。如果预测正确,则取消探测标志,结果存储在用户寄存器或存储器中,目标缓冲器中的指令被丢弃。如果预测错误,将指令从目标缓冲区重新加载到管道中。分支预测策略,44,分支预测执行不成功和重新执行过程,分支预测策略,45,分支预测分支预测,静态从不分支永远分支动态1位2位多位(级别1,级别2),46,1位动态分支预测,根据最后分支情况预测下一个情况,47,2位动态分支预测根据最后两个分支预测下一个分支,以及预测状态机003360 strong lynottaken 01: weaklinottaken 13360N表示尚未发生转换:T,T,T,N,T,T,N,T,N,N,T,N,N,N,尝试分析预测的状态和预测在指令的每个时间的成功率。假设:1)采用1位动态预测,预测器的初始状态为T;2)采用2位动态预测,预测器的初始状态为11。(1)指令每次预测的状态和结果如下:预测成功6次,成功率为0.46。50,答案,(2)每条指令预测的状态和结果如下:预测成功8次,成功率为0.62。全局关联:中断,中断也会导致转移;中断通常是不可预测的;中断处理的目的不是如何缩短中断时间,而是如何处理中断地点和中断后恢复的问题。中断处理(1)不精确断点方法:不管哪一段指令有中断应用,当时还没有进入流水线的后续指令不再允许重新进入,但是已经进入流水线的指令可以流动,直到执行完成,然后转移到中断处理程序。例如:输入/输出设备应用的中断,53,中断处理(2),精确断点方法:指使用备份寄存器保存进入流水线的每条指令的现场状态。因此,不管进入流水线的指令的任何段中的中断应用如何,断点都是准确的。示例:执行错误中断,54,4。超标量管道,4.2.1超标量管道标量管道:每个时钟周期仅发出一条指令,每个时钟周期仅需要一条指令流出管道。超标量管道:指t3.发出超标量流水线56。超标量管线将由于数据相关性、资源冲突、分支指令、循环、中断等而导致管线断开。中断延迟时间与超标量流水线的调度方法有关。调度方法包括:顺序启动、顺序启动、顺序启动、无序启动、无序启动、无序完成、超标量流水线调度方法,57、有序执行与无序执行,后续指令的无序执行在前一条指令之前开始进入执行阶段,后续指令在前一条指令之前完成执行。真正相关的指令暂停,继续读取操作数,并且不改变获取和解码的顺序。有序执行开始执行有序完成,EX,EX,我不确定我是否能做到这一点。I1R 1M(a)I2R 2(R1)(R2)I3R 3(R3)(R4)I4R 4(R4)(R5)I5R 6R 6(R6)(R7),61,顺序排放无序完成。I1R 1M(a)I2R 2(R1)(R2)I3R 3(R3)(R4)I4R 4(R4)(R5)I5R 6 R6(R6)(R7),62,无序发射在无序中完成。I1R 1M(a)I2R 2(R1)(R2)I3R 3(R3)(R4)I4R 4(R4)(R5)I5R 6 R6(R6)(R7),63,64,超标量流水线调度方法,无序执行机制在无序执行函数内有序执行指令预取函数之间可以提高程序执行速度,65,5。超级流水线技术:将通常完成一条指令的流水线段细分成更多的流水线段。通过这种方式,指令可以以原始时钟周期的一部分的时间间隔发出,并且结果可以流出流水线。超级流水线超标量处理技术,使用超级流水线和超标量技术。超标量为3,超标量为3,超标量为9。动态多指令启动68性能分析,n条无关指令通过流水线,流水线的参考段为s,超级流水线的程度为n,超标量流水线的程度为m,那么参考标量机、超级流水线机和超标量机所需的处理时间(基本时钟周期)分别为:69,流水线加速比,1。超级流水线与参考标量流水线:2。超标量流水线与参考标量流水线:3。超级流水线超标量流水线与参考标量流水线:70,多指令启动的限制,流水线中功能组件之间的不平衡在一个时钟周期内启动的多条指令可能会在周期的每次迭代中与资源开销冲突通常,在数据依赖循环中存在数据依赖。需要大量的相关性检测逻辑来控制相关性,以缩短分支指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论