书签 分享 收藏 举报 版权申诉 / 206
上传文档赚钱

类型高级时间体系结构课件-第3章.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4389635
  • 上传时间:2022-12-05
  • 格式:PPT
  • 页数:206
  • 大小:2.41MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《高级时间体系结构课件-第3章.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    高级 时间 体系结构 课件
    资源描述:

    1、1 1/206/206第3章 流水线技术张晨曦张晨曦 刘依刘依www.GotoS2 2/206/2063.1重叠执行和先行控制3.2流水线的基本概念3.3流水线的性能指标3.4流水线的相关与冲突 3.5流水线的实现3.6向量处理机3 3/206/2061.将一条指令的执行过程分为三个阶段3.1 重叠执行和先行控制3.1.1 重叠执行 取取指指令令 分分 析析 执执 行行 时时间间t 一条指令的执行过程一条指令的执行过程 4 4/206/2063.1 重叠执行和先行控制取指令q按照指令计数器按照指令计数器PCPC的内容访问主存,取出一条指令的内容访问主存,取出一条指令 送到指令寄存器。送到指令寄

    2、存器。指令分析q对指令的操作码进行译码,按照给定的寻址方式和对指令的操作码进行译码,按照给定的寻址方式和 地址字段形成操作数的地址,并用这个地址读取操地址字段形成操作数的地址,并用这个地址读取操 作数。作数。指令执行q按照操作码的要求,完成指令规定的功能。按照操作码的要求,完成指令规定的功能。在指令的执行过程中还要更新PC值,为读取下一 条指令做好准备。5 5/206/2063.1 重叠执行和先行控制1.三种执行方式顺序执行方式一次重叠执行方式二次重叠执行方式 6 6/206/2063.1 重叠执行和先行控制执行n条指令所花的时间 取取指指令令k 分分析析k 执执行行k 取取指指令令k+1 分

    3、分析析k+1 执执行行k+1 1.顺序执行方式指令的执行过程niiiitttT1)(执行分析取指令7 7/206/2063.1 重叠执行和先行控制如果取指令、指令分析和指令执行的时间相等,都是t,则 T=3nt 优点q控制简单,节省设备。控制简单,节省设备。主要缺点q 处理机执行指令的速度慢处理机执行指令的速度慢q 功能部件的利用率很低功能部件的利用率很低8 8/206/2063.1 重叠执行和先行控制 取取指指令令 k 分分析析 k 执执行行 k 取取指指令令 k+1 分分析析k+1 执执行行 k+1 取取指指令令 k+2 分分析析k+2 执执行行k+2 1.一次重叠执行方式 指令的执行过程

    4、执行第k条指令与取第k+l条指令同时进行。(一种最简单的重叠方式)(一种最简单的重叠方式)9 9/206/2063.1 重叠执行和先行控制如果执行一条指令的3个阶段的时间相等,都是 t,则执行n条指令所花的时间为 T=(1+2n)t 优点q程序的执行时间减少了近程序的执行时间减少了近1/31/3。q功能部件的利用率明显提高。功能部件的利用率明显提高。缺点q需要增加一些硬件,控制过程变复杂了。需要增加一些硬件,控制过程变复杂了。1010/206/2063.1 重叠执行和先行控制 取取指指令令k 分分析析k 执执行行k 取取指指令令k+1 分分析析k+1 执执行行k+1 取取指指令令k+2 分分析

    5、析k+2 执执行行k+2 1.二次重叠执行方式 指令的执行过程 取第k+l条指令提前到与分析第k条指令同时进行,分析第k+l条指令与执行第k条指令同时进行。1111/206/2063.1 重叠执行和先行控制如果执行一条指令的3个阶段的时间相等,都是 t,则执行n条指令所花的时间为 T=(2+n)t 优点q与顺序执行方式相比,执行时间缩短了近与顺序执行方式相比,执行时间缩短了近2/32/3。q部件的利用率有了进一步的提高。部件的利用率有了进一步的提高。缺点q需要增加更多的硬件。需要增加更多的硬件。q需要设置独立的取指令部件、指令分析部件和指令执需要设置独立的取指令部件、指令分析部件和指令执行部件

    6、。行部件。1212/206/2063.1 重叠执行和先行控制访问主存的冲突问题 4种解决方法q设置两个独立编址的存储器:设置两个独立编址的存储器:指令存储器指令存储器(存放指令)、(存放指令)、数据存储器数据存储器(存放数据)(存放数据)q指令和数据仍然混合存放在同一个主存中,但设置指令和数据仍然混合存放在同一个主存中,但设置 两个两个CacheCache:指令指令CacheCache、数据、数据CacheCache 程序空间和数据空间相互独立的系统结构被称为程序空间和数据空间相互独立的系统结构被称为哈佛哈佛结构结构。q 指令和数据仍然混合存放在同一个主存中,但主存采用指令和数据仍然混合存放在

    7、同一个主存中,但主存采用 多体交叉结构。多体交叉结构。(有一定的局限性)(有一定的局限性)1313/206/2063.1 重叠执行和先行控制q在主存和指令分析部件之间增设在主存和指令分析部件之间增设指令缓冲站指令缓冲站 (又被称为(又被称为先行指令缓冲站先行指令缓冲站)n主存不是满负荷工作的,插空从主存中预先把后面将主存不是满负荷工作的,插空从主存中预先把后面将要执行的指令取出来,存放到指令缓冲站中。要执行的指令取出来,存放到指令缓冲站中。n在在“取指令取指令”阶段从指令缓冲站读取指令(如果指令阶段从指令缓冲站读取指令(如果指令缓冲站不为空),而不用去访问主存。缓冲站不为空),而不用去访问主存

    8、。1414/206/2063.1 重叠执行和先行控制1.先行指令缓冲站先行指令缓冲站的组成 先先行行程程序序计计数数器器PC1 现现行行程程序序计计数数器器PC 指指令令分分析析部部件件 指指令令寄寄存存器器IR 控控制制逻逻辑辑 主主存存控控制制器器 指指令令缓缓冲冲 存存 储储 区区 1515/206/2063.1 重叠执行和先行控制指令缓冲存储区和相应的控制逻辑q按队列方式工作。按队列方式工作。q只要指令缓冲站不满,它就自动地向主存控制器发只要指令缓冲站不满,它就自动地向主存控制器发 取指令请求,不断地预取指令。取指令请求,不断地预取指令。指令分析部件q每分析完一条指令,就自动向指令缓冲

    9、站发出取下每分析完一条指令,就自动向指令缓冲站发出取下 一条指令的请求。指令取出之后就把指令缓冲站中一条指令的请求。指令取出之后就把指令缓冲站中 的该指令作废。的该指令作废。q指令缓冲站中存放的指令的条数是动态变化的。指令缓冲站中存放的指令的条数是动态变化的。两个程序计数器1616/206/2063.1 重叠执行和先行控制q先行程序计数器先行程序计数器PC1PC1:用于从主存预取指令;用于从主存预取指令;q现行程序计数器现行程序计数器PCPC:用来记录指令分析部件当前正在用来记录指令分析部件当前正在 分析的指令的地址。分析的指令的地址。1.先行控制方式中的一次重叠执行 若取指令阶段的时间很短,

    10、可以把这个操作合并 到分析指令中。上述的二次重叠就演变成了一次重叠q把一条指令的执行过程分为把一条指令的执行过程分为分析分析和和执行执行两个阶段;两个阶段;q让前一条指令的让前一条指令的执行执行与后一条指令的与后一条指令的分析分析重叠进行。重叠进行。1717/206/2063.1 重叠执行和先行控制 分析分析 k 执行执行 k 分析分析k+1 执行执行k+1 分析分析k+2 执行执行k+2 如果指令分析和指令执行所需要的时间都是t,则采用这种方式连续执行n条指令所需要的时间为:T=(1+n)t控制方式比较简单,得到了广泛应用。1818/206/2063.1 重叠执行和先行控制 分分析析 k 执

    11、执行行 k 分分析析 k+1 执执行行 k+1 分分析析 k+2 执执行行 k+2 执执行行 k+3 分分析析 k+3 当指令分析和指令执行所需要的时间不相等时,其执行过程为:指令分析部件和指令执行部件存在相互等待的时候,会出指令分析部件和指令执行部件存在相互等待的时候,会出现部件空闲的情况。现部件空闲的情况。1919/206/2063.1 重叠执行和先行控制1.先行控制技术:缓冲技术和预处理技术的结合缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术:预取指令、对指令进行加工以及预取操作数等。2.采用先行控制方式的处理机结构 3.1.2 先行控制2020/

    12、206/2063.1 重叠执行和先行控制 主主 存存 储储 器器 存存 储储 控控 制制 器器 先先行行指指令令缓缓冲冲站站 先先行行读读数数站站 后后行行写写数数站站 指指令令分分析析部部件件 先先行行操操作作站站 运运算算控控制制器器 运运算算器器 通通 用用 寄寄 存存 器器 2121/206/2063.1 重叠执行和先行控制设置了4个缓冲站(平滑主存、指令分析部件、运算器三者之间的工作)(平滑主存、指令分析部件、运算器三者之间的工作)q先行指令缓冲站(前面已讲述)先行指令缓冲站(前面已讲述)q先行操作站先行操作站q先行读数站先行读数站q后行写数站后行写数站 共同特点:共同特点:按先进先

    13、出的方式工作,而且都是由一组若按先进先出的方式工作,而且都是由一组若 干个能快速访问的存储单元和相关的控制逻干个能快速访问的存储单元和相关的控制逻 辑组成。辑组成。2222/206/2063.1 重叠执行和先行控制先行操作站q在指令分析部件和运算器之间提供缓冲在指令分析部件和运算器之间提供缓冲q 先行:先行:因为其中的指令对于运算器正在执行的因为其中的指令对于运算器正在执行的 指令来说是后续的,但却被指令来说是后续的,但却被先行先行取出并预处理。取出并预处理。指令分析部件 q从先行指令缓冲站取指令,并进行预处理,加工成从先行指令缓冲站取指令,并进行预处理,加工成 统一格式的统一格式的RRRR型

    14、操作命令型操作命令,然后送入先行操作站。,然后送入先行操作站。q对于不同指令做不同的处理。对于不同指令做不同的处理。2323/206/2063.1 重叠执行和先行控制q寄存器寄存器-寄存器型(寄存器型(RRRR型)指令:型)指令:可以不作任何处理,直可以不作任何处理,直 接送入。接送入。q操作数来自主存的运算指令:操作数来自主存的运算指令:计算出操作数的有效地计算出操作数的有效地 址,并将该地址送入先行读数站的某个存储单元(设其址,并将该地址送入先行读数站的某个存储单元(设其地址为地址为i i),同时用),同时用i i替换原来指令中的操作数地址码字段。替换原来指令中的操作数地址码字段。q向主存

    15、向主存“写数写数”的指令:的指令:把形成的有效地址送入后行写把形成的有效地址送入后行写 数站的某个存储单元(设其地址为数站的某个存储单元(设其地址为j j),同时用),同时用j j替换原替换原来指令中的目标地址码字段。来指令中的目标地址码字段。q立即数型指令:立即数型指令:把指令中的立即数送入读数站(设为第把指令中的立即数送入读数站(设为第l l 个存储单元),同样也用个存储单元),同样也用l l替换原来指令中的立即数字替换原来指令中的立即数字 段。段。2424/206/2063.1 重叠执行和先行控制运算器q从先行操作站取出从先行操作站取出RRRR型型操作命令并执行。操作命令并执行。q每执行

    16、完一条,将运算结果写入通用寄存器组或者每执行完一条,将运算结果写入通用寄存器组或者 后行写数站。后行写数站。q继续执行先行操作站中的后续命令。继续执行先行操作站中的后续命令。先行读数站q作用:作用:接收指令分析部件送来的访问主存的有效地接收指令分析部件送来的访问主存的有效地 址,按顺序依次从主存读取操作数,提供给运算器址,按顺序依次从主存读取操作数,提供给运算器 使用。使用。q先行:先行:因为对于正在执行的指令来说,先行读数站因为对于正在执行的指令来说,先行读数站 中的操作数是中的操作数是先行先行取出的。取出的。2525/206/2063.1 重叠执行和先行控制q每个存储单元由每个存储单元由3

    17、 3部分部分组成:组成:先行地址字段、先行操作数字段、标志字段先行地址字段、先行操作数字段、标志字段n每当从指令分析部件接收有效地址时,将之放每当从指令分析部件接收有效地址时,将之放入先行地址字段,并将地址有效标志置位。入先行地址字段,并将地址有效标志置位。n等到该单元成为队列的第一项时,先行读数站等到该单元成为队列的第一项时,先行读数站会用该地址向主存发出读请求,把取来的操作数会用该地址向主存发出读请求,把取来的操作数放入该单元的先行操作数字段,同时将数据有效标放入该单元的先行操作数字段,同时将数据有效标志置位。志置位。n当以后运算器需要该操作数时,就可以直接从当以后运算器需要该操作数时,就

    18、可以直接从先行读数站取得,而不必去访问主存。先行读数站取得,而不必去访问主存。2626/206/2063.1 重叠执行和先行控制后行写数站q作用:作用:接收从运算器送来的结果数据,并负责将之接收从运算器送来的结果数据,并负责将之 写入主存。写入主存。q后行:后行:因为站在运算器的角度来看,结果数据不是在因为站在运算器的角度来看,结果数据不是在相应的指令运算完后立即写入主存,而是由后行写数相应的指令运算完后立即写入主存,而是由后行写数站站滞后滞后写入的。写入的。q每一个存储单元由每一个存储单元由3 3部分部分组成:组成:后行地址字段、后行数据字段、标志字段后行地址字段、后行数据字段、标志字段 每

    19、当从运算器接收数据时,将之放入后行数据字每当从运算器接收数据时,将之放入后行数据字段,并把相应的数据有效标志置位。后行写数站的控段,并把相应的数据有效标志置位。后行写数站的控制逻辑自动向主存发出写数请求。当写数据操作完成制逻辑自动向主存发出写数请求。当写数据操作完成后,也要置位有关标志。后,也要置位有关标志。2727/206/2063.1 重叠执行和先行控制1.采用先行控制后的一次重叠执行 分析分析 k 执行执行 k 分析分析k+1 执行执行k+1 分析分析k+2 执行执行k+2 执行执行k+3 分析分析k+3 指令分析部件在不间断地分析指令,而指令执行部件则在指令分析部件在不间断地分析指令,

    20、而指令执行部件则在不间断地执行指令,它们都始终处于忙碌状态。不间断地执行指令,它们都始终处于忙碌状态。2828/206/2063.1 重叠执行和先行控制理想情况下,指令执行部件应该是一直忙碌的。处理机连续执行n条指令所需要的时间为niiniitttT111执行执行分析先行2929/206/2061.工业生产流水线 下面通过一个例子来说明流水线的好处:两种方案两种方案的工作过程对比流水线生产过程的抽象描述这种流水工作方式的主要特点3.2 流水线的基本概念3.2.1 什么是流水线3030/206/2063.2 流水线的基本概念1.流水线技术把一个重复的过程分解为若干个子过程,每个子过程由专门的功能

    21、部件来实现。把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。2.流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。3131/206/2063.2 流水线的基本概念1.指令流水线 把指令的解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。理想情况:速度提高一倍 4段指令流水线 取指令取指令 译译 码码 执执 行行 存结果存结果 入入 出出 3232/206/2063.2 流水线的基本概念1.浮点加法流水线把流水线技术应用于运算的执行过程,就形成了 运算操作

    22、流水线,也称为部件级流水线。把浮点加法的全过程分解为求阶差、对阶、尾数 相加、规格化4个子过程。理想情况:速度提高3倍 求阶差求阶差 对对 阶阶 尾数相加尾数相加 规格化规格化 t t t t 入入 出出 1.时空图时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。4段指令流水线的时空图 取取指指令令 译译 码码 执执 行行 存存结结果果 空空间间 时时间间 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 5 6 6(单单位位:t)0 1 2 3 4 5 6 7 8 9 3434/206/2063.2

    23、流水线的基本概念1.流水技术的特点流水线把一个处理过程分解为若干个子过程(段),每个子过程由一个专门的功能部件来实现。流水线中各段的时间应尽可能相等,否则将引起流水线堵塞、断流。时间长的段将成为时间长的段将成为流水线的瓶颈。流水线的瓶颈。流水线每一个功能部件的后面都要有一个缓冲寄存器(锁存器),称为流水寄存器。q作用:作用:在相邻的两段之间传送数据,以保证提供后在相邻的两段之间传送数据,以保证提供后 面要用到的数据,并把各段的处理工作相互隔离。面要用到的数据,并把各段的处理工作相互隔离。3535/206/2063.2 流水线的基本概念流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务

    24、,才能充分发挥流水线的效率。流水线需要有通过时间和排空时间。q通过时间:通过时间:第一个任务从进入流水线到流出结果第一个任务从进入流水线到流出结果 所需的时间。所需的时间。q排空时间:排空时间:最后一个任务从进入流水线到流出结最后一个任务从进入流水线到流出结 果所需的时间。果所需的时间。3636/206/2063.2 流水线的基本概念 从不同的角度和观点,把流水线分成多种不同的种类。1.单功能流水线与多功能流水线 (按照流水线所完成的功能来分类)(按照流水线所完成的功能来分类)单功能流水线:只能完成一种固定功能的流水线。多功能流水线:流水线的各段可以进行不同的 连接,以实现不同的功能。例:例:

    25、ASCASC的多功能流水线的多功能流水线3.2.2 流水线的分类 求求 阶阶 差差 对对 阶阶 相相 加加 规规格格化化 相相 乘乘 累累 加加 输输 出出 1 2 3 4 6 5 7 8 输输 入入 输输 入入 相相 加加 规规格格化化 输输 出出 输输 出出 累累 加加 相相 乘乘 输输 入入 求求 阶阶 差差 对对 阶阶 2 3 4 5 6 7 8 6 7 8 (b)浮浮点点连连接接 (a)分分段段 (c)定定乘乘连连接接 1 1 2 3 4 5 3838/206/2063.2 流水线的基本概念1.静态流水线与动态流水线(按照同一时间内各段之间的连接方式对多功能流水线做(按照同一时间内各

    26、段之间的连接方式对多功能流水线做进一步的分类)进一步的分类)静态流水线:在同一时间内,多功能流水线中的 各段只能按同一种功能的连接方式工作。q对于静态流水线来说,只有当输入的是一串相同的对于静态流水线来说,只有当输入的是一串相同的 运算任务时,流水的效率才能得到充分的发挥。运算任务时,流水的效率才能得到充分的发挥。例如:例如:ASCASC的的8 8段流水线段流水线3939/206/2063.2 流水线的基本概念动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。动画q优点优点 灵活,能够提高流水线各段的使用率,从而灵活,能够提高流水线各段的使用率,从而 提高

    27、处理速度。提高处理速度。q缺点缺点 控制复杂。控制复杂。静、动态流水线时空图的对比4141/206/2063.2 流水线的基本概念1.部件级、处理机级及处理机间流水线(按照流水的级别来进行分类)(按照流水的级别来进行分类)部件级流水线(运算操作流水线):把处理机的算术逻辑运算部件分段,使得各种类型的运算操作能够按流水方式进行。处理机级流水线(指令流水线):把指令的解释执行过程按照流水方式处理。把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。例如:前面的例如:前面的4 4段段指令流水线指令流水线4242/206/2063.2 流水线的基本概念处理机间流水线(宏流水线):

    28、它是由两个或者 两个以上的处理机串行连接起来,对同一数据流 进行处理,每个处理机完成整个任务中的一部 分。动画解析 数据流数据流 处理机处理机 1 处理机处理机 2 处理机处理机 n 存储器存储器 存储器存储器 存储器存储器 任务任务 1 任务任务 2 任务任务 n 4343/206/2063.2 流水线的基本概念1.线性流水线与非线性流水线(按照流水线中是否有反馈回路来进行分类)(按照流水线中是否有反馈回路来进行分类)线性流水线:流水线的各段串行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。非线性流水线:流水线中除了有串行的连接外,还有反馈回路。(举例)非线性流水线的

    29、调度问题q确定什么时候向流水线引进新的任务,才能使该任务不确定什么时候向流水线引进新的任务,才能使该任务不会与先前进入流水线的任务发生冲突会与先前进入流水线的任务发生冲突争用流水段。争用流水段。4444/206/2063.2 流水线的基本概念4545/206/2063.2 流水线的基本概念1.顺序流水线与乱序流水线(根据任务流入和流出的顺序是否相同来进行分类(根据任务流入和流出的顺序是否相同来进行分类)顺序流水线:流水线输出端任务流出的顺序与输 入端任务流入的顺序完全相同。每一个任务在流 水线的各段中是一个跟着一个顺序流动的。乱序流水线:流水线输出端任务流出的顺序与输 入端任务流入的顺序可以不

    30、同,允许后进入流水 线的任务先完成(从输出端流出)。也称为无序流水线、错序流水线、异步流水线也称为无序流水线、错序流水线、异步流水线4646/206/2063.2 流水线的基本概念1.标量处理机与向量流水处理机 把指令执行部件中采用了流水线的处理机称为流 水线处理机。标量处理机:处理机不具有向量数据表示和向量 指令,仅对标量数据进行流水处理。向量流水处理机:具有向量数据表示和向量指令 的处理机。向量数据表示和流水技术的结合。向量数据表示和流水技术的结合。4747/206/206 吞吐率:在单位时间内流水线所完成的任务数量或输 出结果的数量。3.3 流水线的性能指标3.3.1 吞吐率KTnTP

    31、n:任务数Tk:处理完成n个任务所用的时间4848/206/2063.3 流水线的性能指标1.各段时间均相等的流水线各段时间均相等的流水线时空图 S1 S2 S3 S4 空间空间 时间时间 1(单位:单位:t)1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n kt(n-1)t Tk 4949/206/2063.3 流水线的性能指标流水线完成n个连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)Tkkt(n-1)t(kn-1)t 流水线的实际吞吐率tnknTP)1(ttnknTPn11limmax最大吞吐率5050/206/2

    32、063.3 流水线的性能指标最大吞吐率与实际吞吐率的关系 max1TPnknTPq流水线的实际吞吐率小于最大吞吐率,它除了与每流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数个段的时间有关外,还与流水线的段数k k以及输入到以及输入到流水线中的任务数流水线中的任务数n n等有关。等有关。q只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。5151/206/2063.3 流水线的性能指标1.各段时间不完全相等的流水线 各段时间不等的流水线及其时空图 举例(时空图)q一条一条4 4段段的流水线的流水线qS1S1,S3S3,S4S4各段的时间:各段的

    33、时间:t tqS2S2的时间:的时间:33t t (瓶颈段)瓶颈段)流水线中这种时间最长的段称为流水线的瓶颈段。5252/206/2063.3 流水线的性能指标5353/206/2063.3 流水线的性能指标各段时间不等的流水线的实际吞吐率:(t ti i为第为第i i段的时间,共有段的时间,共有k k个段个段 )kikitttntnTP121),max()1(流水线的最大吞吐率为),max(121maxktttTP5454/206/2063.3 流水线的性能指标 例如:一条4段的流水线中,S1,S2,S4各段的时间都是t,唯有S3的时间是3t。S1 S3 S2 S4 入入 出出 t t 3t

    34、 t 最大吞吐率为tTP31max5555/206/2063.3 流水线的性能指标1.解决流水线瓶颈问题的常用方法 举例细分瓶颈段 例如:例如:对前面的对前面的4 4段段流水线流水线把瓶颈段把瓶颈段S S3 3细分为细分为3 3个子流水线段:个子流水线段:S S3a3a,S S3b3b,S S3c3c S1 S2 入入 出出 S4 t t t t t t S3a S3c S3b 改进后的流水线的吞吐率改进后的流水线的吞吐率 :tTP1max5656/206/2063.3 流水线的性能指标重复设置瓶颈段q举例:举例:时空图时空图q缺点:缺点:控制逻辑比较复杂,所需的硬件增加了。控制逻辑比较复杂,

    35、所需的硬件增加了。例如:例如:对前面的对前面的4 4段流水线段流水线 重复设置瓶颈段重复设置瓶颈段S S3 3:S S3a3a,S S3b3b,S S3c3c S1 S3a S2 S3b 入入 出出 S3c S4 t t t 3t 5757/206/2063.3 流水线的性能指标 段段 S3b S3a S2 S3c S4 时时间间 S1 1 6 2 3 4 5 7 1 2 3 4 5 6 7 8 9 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 重复设置瓶颈段后的时空图重复设置瓶颈段后的时空图5858/206/2063.3 流水线的性能指标加速比:完成同样一批

    36、任务,不使用流水线所用的时间 与使用流水线所用的时间之比。假设:不使用流水线(即顺序执行)所用的间假设:不使用流水线(即顺序执行)所用的间为为T Ts s,使用流水线后所用的时间为,使用流水线后所用的时间为T Tk k,则该流,则该流水线的加速比为水线的加速比为3.3.2 加速比ksTTS 5959/206/2063.3 流水线的性能指标1.流水线各段时间相等(都是t)一条k段流水线完成n个连续任务 所需要的时间为所需要的时间为 Tk=(kn-1)t顺序执行n个任务 所需要的时间:所需要的时间:Ts=nkt (解释解释)流水线的实际加速比为1nknkS6060/206/2063.3 流水线的性

    37、能指标最大加速比knknkSn1limmax当当n nk k时,时,S S k k思考:思考:流水线的段数愈多愈好?流水线的段数愈多愈好?6161/206/2063.3 流水线的性能指标1.流水线的各段时间不完全相等时一条k段流水线完成n个连续任务的实际加速比为kikikiitttnttnS1211),max()1(6262/206/2063.3 流水线的性能指标效率:流水线中的设备实际使用时间与整个运行时间 的比值,即流水线设备的利用率。由于流水线有通过时间和排空时间,所以在连续由于流水线有通过时间和排空时间,所以在连续完成完成n n个个任务的时间内,各段并不是满负荷地工作。任务的时间内,各

    38、段并不是满负荷地工作。1.各段时间相等各段的效率ei相同 (解释)3.3.3 效率121nknTtneeekk6363/206/2063.3 流水线的性能指标整条流水线的效率为kkkTtknkkekeeeE1211nknE11limmaxnknEn 可以写成 最高效率为 当当n nk k时,时,E E11。6464/206/2063.3 流水线的性能指标当流水线各段时间相等时,流水线的效率与吞吐率 成正比。E=TPt 1.流水线的效率是流水线的实际加速比S与它的最大加速 比k的比值。kSE 当当E E=1=1时,时,S S=k k,实际加速比达到最大。,实际加速比达到最大。6565/206/2

    39、063.3 流水线的性能指标1.从时空图上看,效率就是n个任务占用的时空面积和 k个段总的时空面积之比。个段总的时空区区个任务实际占用的时空knE kikikiitttntktnE1211),max()1(当各段时间不相等时6666/206/2063.3 流水线的性能指标 例例3.13.1 设在下图所示的静态流水线上计算:设在下图所示的静态流水线上计算:流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,试计算其吞吐率、加速比和效率。试计算其吞吐率、加速比和效率。3.3.4 流水线的性能分析举例)(41iiiBA 1 2 3 4

    40、5 乘法乘法 加减法加减法 6 7 8(每段的时间都为每段的时间都为t t)6767/206/2063.3 流水线的性能指标解解:(1 1)选择适合于流水线工作的算法选择适合于流水线工作的算法q先计算先计算A A1 1+B B1 1、A A2 2+B B2 2、A A3 3+B B3 3和和A A4 4+B B4 4;q再计算再计算(A A1 1+B B1 1)(A A2 2+B B2 2)和和(A A3 3+B B3 3)(A A4 4+B B4 4);q然后求总的乘积结果。然后求总的乘积结果。(2 2)画出时空图)画出时空图 3.3 流水线的性能指标 时间 段 1 2 3 4 5 6 7

    41、8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 输 入 A1 B1 A2 B2 A3 B3 A4 B4 A B C D A B C D AB CD AB CD ABCD A=A1+B1 B=A2+B2 C=A3+B3 D=A4+B4 tTP18721836ttS25.01884364E6969/206/2063.3 流水线的性能指标p在在1818个个t t时间中,给出了时间中,给出了7 7个个结果。吞吐率为:结果。吞吐率为:tTP187p 不用流水线,由于一次求和需不用流水线,由于一次求和需6 6t t,一次求积需一次求积需4 4t t,则产生

    42、上述则产生上述7 7个结果共需个结果共需(4 46+36+34 4)t t=36=36t t 加速比为加速比为(3 3)计算性能)计算性能21836ttS7070/206/2063.3 流水线的性能指标p 流水线的效率流水线的效率 25.01884364E可以看出,在求解此问题时,该流水线的效率不高。(原因)7171/206/2063.3 流水线的性能指标主要原因q多功能流水线在做某一种运算时,总有一些段是空多功能流水线在做某一种运算时,总有一些段是空闲的。闲的。q静态流水线在进行功能切换时,要等前一种运算全静态流水线在进行功能切换时,要等前一种运算全部流出流水线后才能进行后面的运算。部流出流

    43、水线后才能进行后面的运算。q运算之间存在关联,后面有些运算要用到前面运算运算之间存在关联,后面有些运算要用到前面运算的结果。的结果。q流水线的工作过程有建立与排空部分。流水线的工作过程有建立与排空部分。7272/206/2063.3 流水线的性能指标 例例3.2 3.2 有一条动态多功能流水线有一条动态多功能流水线由由5 5段组成,加法用段组成,加法用1 1、3 3、4 4、5 5段,乘法用段,乘法用1 1、2 2、5 5段,第段,第2 2段的时间为段的时间为2 2t t,其余各段时间,其余各段时间均为均为t t,而且流水线的输出可以直接返回输入端或暂存于相应,而且流水线的输出可以直接返回输入

    44、端或暂存于相应的流水寄存器中。若在该流水线上计算的流水寄存器中。若在该流水线上计算:试计算其吞吐率、加速比和效率。试计算其吞吐率、加速比和效率。)(41iiiBA 1 2 3 4 5 乘法乘法 加法加法 t 2t t t t 7373/206/2063.3 流水线的性能指标解解:(1)(1)选择适合于流水线工作的算法选择适合于流水线工作的算法p应先计算应先计算A A1 1B B1 1、A A2 2B B2 2、A A3 3B B3 3和和A A4 4B B4 4;p再计算再计算(A A1 1B B1)1)(A A2 2B B2)2)(A A3 3B B3)3)(A A4 4B B4)4);p然

    45、后求总的累加结果。然后求总的累加结果。(2)(2)画出时空图画出时空图(3)(3)计算性能计算性能7474/206/2063.3 流水线的性能指标 时间 段 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 输 入 A1 B1 A2 B2 A3 B3 A4 B4 A B C D A B C D AB CD AB CD ABCD A=A1B1 B=A2B2 C=A3B3 D=A4B4 18 56.11828ttStTP18731.01854344E7575/206/2063.3 流水线的性能指标 下面我们再看一个例子:下面我们再看一个例子

    46、:例例 在在静态流水线静态流水线上计算上计算:求:吞吐率,加速比,效率。求:吞吐率,加速比,效率。解:解:(1)(1)确定适合于流水处理的确定适合于流水处理的计算过程计算过程 (2)(2)画时空图画时空图 (3)(3)性能计算性能计算 吞吐率吞吐率 TPTP7 7(20(20t t)加速比加速比 S S(34(34t t)(20(20t t)1.71.7 效率效率 E E(4(44 43 36)6)(8(820)20)0.210.21)(41iiiBA 7676/206/2063.3 流水线的性能指标7777/206/2063.3 流水线的性能指标可以看出,在求解此问题时,该流水线的效率不高。

    47、动态流水线的时空图 举例举例 :这样行不行?正确答案7878/206/2063.3 流水线的性能指标1.瓶颈问题理想情况下,流水线在工作时,其中的任务是同步地每一个时钟周期往前流动一段。当流水线各段不均匀时,机器的时钟周期取决于瓶颈段的延迟时间。在设计流水线时,要尽可能使各段时间相等。2.流水线的额外开销p流水寄存器延迟流水寄存器延迟p时钟偏移开销时钟偏移开销3.3.5 流水线设计中的若干问题7979/206/2063.3 流水线的性能指标流水寄存器需要建立时间和传输延迟q建立时间:建立时间:在触发写操作的时钟信号到达之前,寄在触发写操作的时钟信号到达之前,寄 存器输入必须保持稳定的时间。存器

    48、输入必须保持稳定的时间。q传输延迟:传输延迟:时钟信号到达后到寄存器输出可用的时时钟信号到达后到寄存器输出可用的时 间。间。时钟偏移开销q流水线中,时钟到达各流水寄存器的最大差值时间。流水线中,时钟到达各流水寄存器的最大差值时间。(时钟到达各流水寄存器的时间不是完全相同)(时钟到达各流水寄存器的时间不是完全相同)8080/206/2063.3 流水线的性能指标几个问题q流水线并不能减少(而且一般是增加)单条指令的流水线并不能减少(而且一般是增加)单条指令的执行时间,但却能提高吞吐率。执行时间,但却能提高吞吐率。q增加流水线的深度(段数)可以提高流水线的性能。增加流水线的深度(段数)可以提高流水

    49、线的性能。q流水线的深度受限于流水线的额外开销。流水线的深度受限于流水线的额外开销。q当时钟周期小到与额外开销相同时,流水已没意义。当时钟周期小到与额外开销相同时,流水已没意义。因为这时在每一个时钟周期中已没有时间来做有用因为这时在每一个时钟周期中已没有时间来做有用的工作。的工作。1.冲突问题 流水线设计中要解决的重要问题之一。8181/206/206介绍一个经典的5段RISC流水线 首先讨论在非流水情况下是如何实现的1.一条指令的执行过程分为以下5个周期:取指令周期(IF)qIR MemPCIR MemPC 。qPCPC值加值加4 4。(假设每条指令占。(假设每条指令占4 4个字节)个字节)

    50、3.4 流水线的相关与冲突3.4.1 一个经典的5段流水线8282/206/2063.4 流水线的相关与冲突指令译码/读寄存器周期(ID)q译码。译码。q用用IRIR中的寄存器编号去访问通用寄存器组,读出所需中的寄存器编号去访问通用寄存器组,读出所需的操作数。的操作数。执行/有效地址计算周期(EX)不同指令所进行的操作不同:q存储器访问指令:存储器访问指令:ALUALU把所指定的寄存器的内容与偏把所指定的寄存器的内容与偏 移量相加,形成用于访存的有效地址。移量相加,形成用于访存的有效地址。q寄存器寄存器寄存器寄存器ALUALU指令:指令:ALUALU按照操作码指定的操按照操作码指定的操 作对从

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:高级时间体系结构课件-第3章.ppt
    链接地址:https://www.163wenku.com/p-4389635.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库