




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.4流水线技术,5.4.1并行处理技术概述5.4.2流水线技术5.4.3流水线的分类5.4.4流水计算机的组成5.4.5流水计算机的时空图5.4.6指令的相关性,为了充分发挥计算机的效能,满足不断增长的应用需求,近几十年来,CPU的新技术层出不穷基于时间并行原理的流水线技术,使计算机系统结构产生了重大的变革CPU技术的发展,还包括优化编译,采用好的指令调度算法,重新组织指令执行顺序,降低相关技术带来的干扰,以及开发多发射技术(即设法在一个时钟周期内发出多条指令)等等,5.4.1并行处理技术概述,早期计算机采用串行处理计算机各个操作只能串行完成,任一时刻只能进行一个操作并行处理使多个操作能同时进行,大大提高了计算机速度广义地讲,并行性有两种含义同时性:指两个以上事件在同一时刻发生并发性:两个以上事件在同一时间间隔内发生,1.时间并行,时间并行指时间重叠让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度时间并行的实现方式是采用流水处理部件这是一种非常经济实用的并行技术,能保证计算机系统具有较高的性能价格比目前的高性能计算机几乎无一例外地使用了流水技术,2.空间并行,空间并行指资源重复以资源的重复配置来大幅度提高计算机的处理速度大规模和超大规模集成电路的迅速发展,为空间并行技术带来了巨大生机,成为目前实现并行处理的一个主要途径空间并行技术主要体现在多处理器系统和多处理机系统但是在单处理器系统中也得到了广泛应用,3.时间并行+空间并行,指时间重叠和资源重复的综合应用既采用时间并行性又采用空间并行性相对而言,这种并行技术带来的高速效益是最好的现代计算机往往同时具有时间并行性和空间并行性,5.4.2流水线技术,在任一条指令的执行过程中,各个功能部件都会随着指令执行的进程而呈现出时忙时闲的现象要加快计算机的工作速度,就应使各个功能部件并行工作以各自可能的高速度同时、不停地工作,使得各部件的操作在时间上重叠进行,实现流水式作业,计算机的流水线(Pipeline)工作方式将一个计算任务细分成若干个子任务,每个子任务都由专门的功能部件进行处理,一个计算任务的各个子任务由流水线上各个功能部件轮流进行处理(即各子任务在流水线的各个功能阶段并发执行),最终完成工作这样,不必等到上一个计算任务完成,就可以开始下一个计算任务的执行,流水线的硬件基本结构由一系列串联的功能部件(Si)组成各个功能部件之间设有高速缓冲寄存器(L),暂存上一功能部件的处理结果,同时又能接受新的处理任务在一个统一的时钟(C)控制下,计算任务从功能部件的一个功能段流向下一个功能段所有功能段同时对不同的数据进行不同的处理,各个处理步骤并行地操作,当任务连续不断地输入流水线时,在流水线的输出端便连续不断地输出执行结果流水线达到不间断流水的稳定状态,实现子任务级并行当指令流不能顺序执行时,流水过程会中断(即断流)为保证流水过程的工作效率,流水过程不应经常断流在一个流水过程中,实现各个子过程的各个功能段所需要的时间应该尽可能保持相等,以避免产生瓶颈,导致流水线断流,流水线技术本质将一个重复的时序过程分解成若干个子过程每一个子过程都可有效地在其专用功能段上与其他子过程同时执行采用流水线技术通过硬件实现并行操作后,就某一条指令而言,其执行速度并没有加快但就程序执行过程的整体而言,程序执行速度大大加快流水线技术适合于大量的重复性的处理,5.4.3流水线的分类,1.按级别分类2.按数据分类,1.按级别分类,一个计算机系统可以在不同的并行等级上采用流水线技术按照流水的级别,可以把流水线分为以下几类:1)算术流水线2)指令流水线3)处理机流水线,1)算术流水线,算术流水线指运算操作步骤的并行,是部件级流水线可以把处理器的算术逻辑部件分段,使各种数据类型均能进行流水操作如流水加法器、流水乘法器、流水除法器等也可以将具体的算术逻辑运算分成多个阶段,分别由不同的部件实现将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化4个子过程来进行流水处理现代计算机中已广泛采用了流水的算术运算器。,2)指令流水线,指令流水线表示指令步骤的并行,是处理器级流水线通常可以将指令的执行过程划分为取指令、译码、执行、取数、写回5个并行处理的过程段,并按流水方式组织起来,形成指令流水线目前,几乎所有的高性能计算机都采用了指令流水线,3)处理机流水线,处理机流水线指程序步骤的并行,又称为宏流水线处理机流水线由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务处理机流水线大多应用在多机系统中,随着高档微处理器芯片的出现,构造处理机流水线变得更为容易,2.按数据分类,按照数据表示,流水线可分为标量流水线和向量流水线1)标量流水线只能对标量数据进行流水处理2)向量流水线具有向量指令,能对向量数据的各元素进行流水处理,5.4.4流水计算机的组成,现代流水计算机系统的组成存储器体系流水CPU,1.存储器体系,为了解决存储器的速度匹配问题,使存储器的存取时间与流水线其他各过程段的速度相匹配,一般都采用多模块交叉存储器在现有的流水线计算机中,存储器几乎都是采用交叉存取的方式工作的高速缓存Cache的普遍采用,也大大提高了CPU对存储器的访问速度,2.流水CPU,CPU内部通常按流水线方式进行组织由指令部件、指令队列、执行部件3部分组成这3个功能部件可以组成一个3级流水线1)指令部件2)指令队列3)执行部件,1)指令部件,指令部件本身又构成一个流水线即指令流水线由取指令、指令译码、执行指令、访存取数、结果写回等几个过程段组成,2)指令队列,指令队列是一个先进先出(FIFO)的寄存器栈用于存放经过译码的指令和取来的操作数同时也是由若干个过程段组成的流水线,3)执行部件,执行部件可以具有多个算术逻辑运算部件这些部件本身又用流水线方式构成当执行部件正在执行第I条指令时,指令队列中存放着I+1,I+2,I+k条指令与此同时,指令部件正在取第I+k+1条指令,执行段的速度匹配问题,通常采用并行的运算部件以及部件流水线的方式来解决一般采用的方法:将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令在浮点执行部件中,包括浮点加法部件和浮点乘/除法部件,它们可以同时执行不同的指令浮点运算部件均以流水线方式工作,5.4.5流水计算机的时空图,描述流水线的工作过程,通常采用时(间)空(间)图的方法在时空图中,纵坐标表示指令序列横坐标表示时间,1.指令流水线过程段,流水CPU中一个指令周期的任务分解取指令(IF)、指令译码(ID)、指令执行(EX)、访存取数(MEM)、结果写回(WB)5个子过程(过程段)流水线由这5个串联的过程段组成各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段,2.非流水计算机工作方式,非流水计算机的时空图FLASH演示,对于非流水计算机而言,上一条指令的5个子过程全部执行完毕后才能开始下一条指令每隔5个时钟周期才有一个输出结果用15个时钟周期完成3条指令,每条指令平均用时5个时钟周期非流水线工作方式控制比较简单,但部件利用率较低,系统工作速度较慢,3.标量流水计算机工作方式,标量(Scalar)流水计算机只有一条指令流水线时空图FLASH演示,对标量流水计算机而言,上一条指令与下一条指令的5个子过程在时间上可以重叠执行当流水线满载时,每一个时钟周期就可以输出一个结果用9个时钟周期完成5条指令每条指令平均用时1.8个时钟周期采用标量流水线工作方式,虽然每条指令的执行时间并未缩短,但CPU运行指令的总体速度却能成倍提高作为提速的代价,需要增加部分硬件才能实现标量流水,4.超标量流水计算机工作方式,超标量(Superscalar)流水计算机具有两条以上的指令流水线时空图FLASH演示,当流水线满载时,每一个时钟周期可以执行2条以上的指令用9个时钟周期完成10条指令每条指令平均用时0.9个时钟周期超标量流水计算机是时间并行技术和空间并行技术的综合应用,5.4.6指令的相关性,指令流水线的一个特点流水线中的各条指令之间存在一些相关性,使得指令的执行受到影响要使流水线发挥高效率,就要使流水线连续不断地流动,尽量不出现断流情况然而,由于流水过程中存在的相关性冲突,断流现象是不可避免的,1.数据相关,在流水计算机中,指令的处理是重叠进行的前一条指令还没结束,第二、三条指令就陆续开始工作由于多条指令的重叠处理,当后继指令所需的操作数刚好是前一指令的运算结果时,便发生数据相关冲突由于这两条指令的执行顺序直接影响到操作数读取的内容,必须等前一条指令执行完毕后才能执行后一条指令在这种情况下,这两条指令就是数据相关的,数据相关是由于指令之间存在数据依赖性而引起的根据指令间对同一寄存器读和写操作的先后次序关系,可将数据相关性分为三种类型写后读(Read-After-Write,RAW)相关读后写(Write-After-Read,WAR)相关写后写(Write-After-Write,WAW)相关解决数据相关冲突的办法采用编译的方法由硬件监测相关性的存在,采用数据旁路技术设法解决,采用编译的方法编译程序通过在两条相关指令之间插入其他不相关的指令(或空操作指令)而推迟指令的执行,使数据相关消失,从而产生没有相关性的程序代码这种方式简单,但降低了运行效率,由硬件监测相关性的存在,采用数据旁路技术设法解决当前一条指令要写入寄存器而下一条指令要读取同一个寄存器时,在前一条指令执行完毕、结果数据还未写入寄存器前,由内部数据通路把该结果数据直接传递给下一条指令也就是说,下一条指令所需的操作数不再通过读取寄存器获得,而是直接获取这种方式效率较高,但控制较为复杂,【例5-5】流水线中有三类数据相关冲突:写后读(RAW)相关、读后写(WAR)相关、写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1:ADDR1,R2,R3;(R2)+(R3)R1I2:SUBR4,R1,R5;(R1)-(R5)R4(2)I3:STAM(x),R3;(R3)M(x),M(x)是存储器单元I4:ADDR3,R4,R5;(R4)+(R5)R3(3)I5:MULR3,R1,R2;(R1)(R2)R3I6:ADDR3,R4,R5;(R4)+(R5)R3,【解】(1)I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关(2)I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。(3)如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关,2.资源相关,资源相关,是指多条指令进入流水线后在同一机器周期内争用同一个功能部件所发生的冲突在标量流水计算机中在第4个时钟周期时,第1条指令处于访存取数(MEM)阶段,而第4条指令处于取指令(IF)阶段如果数据和指令存放在同一存储器中,且存储器只有一个端口,便会发生这两条指令争用存储器的冲突,因为每一条指令都可能需要2次访问存储器(读指令和读写数据),在指令流水过程中,可能会有2条指令同时需要访问存储器,导致资源相关冲突解决资源相关冲突的一般办法是增加资源增设一个存储器,将指令和数据分别放在两个存储器中,3.控制相关,控制相关冲突是由转移指令引起的当执行转移指令时,依据转移条件的产生结果,可能顺序取下一条指令,也可能转移到新的目标地址取指令若转移到新的目标地址取指令,则指令流水线将被排空,并等待转移指令形成下一条指令的地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年证券从业资格模拟试题带答案详解(综合卷)
- 小口径顶管施工方案
- 客家方言防疫指南解读
- 2026届吉林省农安县三岗中学九上化学期中考试模拟试题含解析
- 2026届浙江省绍兴市迪荡新区九年级化学第一学期期中考试试题含解析
- 2026届衡水市重点中学英语九年级第一学期期末学业水平测试试题含解析
- 委农办半年工作总结
- 食堂消防安全培训大纲
- 绿色学校知识培训大纲
- 教师企业实践培训汇报
- 俄乌局势进展
- 2025甘肃兰州兴蓉环境发展有限责任公司招聘内控管理岗等岗位5人笔试模拟试题及答案解析
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材)
- 用电安全与消防知识培训课件
- 2025年法考真题及答案
- 基孔肯雅热防护知识科普课件
- 2025年思想政治教育实践考试试题及答案解析
- 志愿者个人汇报
- 医院安全教育培训课件
- 食品安全规章制度目录16项
- 2025至2030年中国导热散热材料行业市场发展现状及投资方向研究报告
评论
0/150
提交评论