流水技术与向量处理_第1页
流水技术与向量处理_第2页
流水技术与向量处理_第3页
流水技术与向量处理_第4页
流水技术与向量处理_第5页
已阅读5页,还剩76页未读, 继续免费阅读

下载本文档

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

文档简介

流水技术与向量处理第1页,课件共81页,创作于2023年2月流水技术与向量处理交叉开关★~是提高主机效率的一个重要措施★~基本原理是时间上的“重叠”处理★~向量技术和流水技术结合称为向量流水技术,可以获得高的处理速度★~的指标是吞吐率、效率和加速比第2页,课件共81页,创作于2023年2月设计处理机的主要目标之一是提高处理机指令执行速度,通常有三条途径:①提高CPU工作主频,目前依靠提高集成度来提高半导体器件主频几乎达到极限;②采用更好的算法和功能部件。例如采用RISC,改进乘法、除法的算法等;③采用指令并行技术,这是目前提高处理机性能的主要方法,其基本方法有3个,即流水线技术;超标量超流水线技术以及超长指令字技术。流水技术与向量处理第3页,课件共81页,创作于2023年2月5.1 标量流水工作原理5.1.1

基本概念——指令的重叠解释方式

1.产品生产流水线

下面通过一个例子来说明流水线的好处:◆两种方案◆两种方案的工作过程对比第5章流水技术与向量处理第4页,课件共81页,创作于2023年2月第5页,课件共81页,创作于2023年2月◆流水线生产过程的抽象描述◆这种流水工作方式的主要特点第6页,课件共81页,创作于2023年2月2.指令流水线把指令的解释过程分解为“分析”和“执行”

两个子过程,并让这两个子过程分别用独立的分

析部件和执行部件来实现。

理想情况:速度提高一倍第5章流水技术与向量处理第7页,课件共81页,创作于2023年2月第8页,课件共81页,创作于2023年2月第5章流水技术与向量处理流水处理概述第9页,课件共81页,创作于2023年2月第10页,课件共81页,创作于2023年2月取指k析指k执指k取指k+1析指k+1执指k+1取指k+2析指k+2执指k+2取指k析指k执指k取指k+1析指k+1执指k+1取指k+2析指k+2执指k+2第11页,课件共81页,创作于2023年2月指令的多种执行方式取指分析执行取指分析执行取指分析执行取指分析执行取指分析执行取指分析执行取指分析执行取指分析执行取指分析执行123456789第k条第k+1条第k+2条第k+1条第k+2条第k+1条第k+2条T=3nt1、顺序执行方式T=(1+2n)t2、一次重叠执行方式T=(2+n)t3、二次重叠执行方式第5章流水技术与向量处理第12页,课件共81页,创作于2023年2月012671317t1234512345123451234512345678678678678678910345建立时间正常流水工作时间排空时间21345周期满重叠流水线的时空图功能编号111213141514151618199101112131415910111213141591011121314159101112131415水深第5章流水技术与向量处理第13页,课件共81页,创作于2023年2月指令的重叠执行对计算机组成提出什么要求?首先,需要把顺序执行方式中的一个集中的指令控制器,分解成三个功能独立的部件:存控(存储控制器)、指控(指令控制器)、运控(运算控制器)其次,要解决三个阶段访问主存冲突问题,实现并行访存。有3种解决办法:(1)将主存分为两个独立编址的存储器:指令存储器和数据存储器,CPU可分别独立访问,这样就没有取指和析指访存的冲突。

(2)低位交叉存取方式,可并行访问不在同一个存储体中的指令或数据。(3)根本解决办法是采用先行控制技术

第14页,课件共81页,创作于2023年2月再次,还要求各个功能部件的运行速度大致相等,避免在重叠中的相互等待,如图5-3所示。这需要用到先行控制技术中的缓冲技术,以及依靠RISC技术的支持。

取指k析指k执指k取指k+1析指k+1执指k+1取指k+2析指k+2执指k+2指令的重叠执行对计算机组成提出什么要求?第15页,课件共81页,创作于2023年2月还有,如果指令K是转移指令,则顺序取来的指令k+1势必无效,重叠运行就会被打断;类似的如数据相关等问题都必须解决。可见,实现功能部件的多次重叠,使程序运行如同生产流水线一般源源不断地执行指令和得到结果,就需要RISC系统的支持和采用先行控制技术,并解决有关控制转移、数据相关、资源冲突带来的可能使流水线断流的问题。

指令的重叠执行对计算机组成提出什么要求?第16页,课件共81页,创作于2023年2月第5章流水技术与向量处理5.1.2先行控制技术1.先行控制技术原理先行控制技术的关键是缓冲技术和预处理技术,以及这两者的结合。缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲区,以平滑它们之间的工作速度。它们是先行指令缓冲栈、先行操作栈、先行读数栈、后行写入栈。预处理技术:把进入运算器的指令都预处理成R-R型指令,与缓冲技术结合,为进入运算器的指令准备好全部操作数。第17页,课件共81页,创作于2023年2月第5章流水技术与向量处理5.1.2先行控制技术2.先行控制技术的实现主存储器主存控制器先行指令栈先行读数栈后行写数栈指令分析器先行操作栈执行部件

第18页,课件共81页,创作于2023年2月5.1.3标量流水工作原理1.重叠到流水

(图示)第19页,课件共81页,创作于2023年2月5.1.3标量流水工作原理第20页,课件共81页,创作于2023年2月浮点加法流水线

把浮点加法的全过程分解为“求阶差”、“对

阶”、“尾数相加”、“规格化”四个子过程,并让

它们分别用各自独立的部件来实现。

理想情况:速度提高3倍5.1.3标量流水工作原理第21页,课件共81页,创作于2023年2月第5章流水技术与向量处理第22页,课件共81页,创作于2023年2月2.时-空图

时-空图从时间和空间两个方面描述了流水

线的工作过程。时-空图中,横坐标代表时间,

纵坐标代表流水线的各个段。第5章流水技术与向量处理第23页,课件共81页,创作于2023年2月第24页,课件共81页,创作于2023年2月5.1标量流水工作原理5.1.3标量流水工作原理3.流水线的特点一个流水线通常由若干个功能段组成;每个流水段有专门的功能部件对指令进行某种加工;各流水段所需时间是一样的,因各功能段之间及输入、输出都需要有锁定电路,以暂存欲传送的中间结果;流水线工作阶段可分为建立、正常工作和排空三个阶段在理想情况下,当流水线正常工作后,每隔△t时间将有一个结果输出流水线。第25页,课件共81页,创作于2023年2月流水技术

流水技术是指:将一个重复的时序过程分解

成为若干个子过程,而每个子过程都可有效地在

其专用功能段上与其他子过程同时执行。(1)流水过程由多个相联系的子过程组成,每个

子过程称为流水线的“级”或“段”。“段”的数

目称为流水线的“深度”。(2)每个子过程由专用的功能段实现;流水技术小结流水技术的特点第26页,课件共81页,创作于2023年2月(4)流水线需要有“通过时间”(第一个任务流出结果所

需的时间),在此之后流水过程才进入稳定工作状

态,每一个时钟周期(拍)流出一个结果;(3)各个功能段所需时间应尽量相等,否则,时间长

的功能段将成为流水线的瓶颈,会造成流水线的

“堵塞”和“断流”。这个时间一般为一个时钟周期

(拍);(5)流水技术适合于大量重复的时序过程,只有输入

端能连续地提供任务,流水线的效率才能充分发

挥。流水技术小结第27页,课件共81页,创作于2023年2月第28页,课件共81页,创作于2023年2月1.按照流水线的处理级别来分◆部件级流水线(运算操作流水线):把处理机的

算术逻辑部件分段,使得各种数据类型的操作能

够进行流水。◆指令级流水线(指令流水线):把指令的解释

执行过程按照流水方式进行处理。

例如:前面把指令解释过程分解为:

分析和执行

DLX的基本流水线把指令解释过程分解为:

取指令、指令译码、执行、访存、写回。

(图示)5.1.4流水线的分类第29页,课件共81页,创作于2023年2月5.1.4流水线的分类第30页,课件共81页,创作于2023年2月◆处理机间流水线(宏流水线):它是指由两个

以上的处理机串行地对同一数据流进行处理,

每个处理机完成一项任务。

动画解析

5.1.4流水线的分类第31页,课件共81页,创作于2023年2月◆单功能流水线:只能完成一种固定功能的

流水线。

◆

多功能流水线:流水线的各段可以进行不同的

连接,从而实现不同的功能。

例如:TIASC的多功能流水线2.按功能的多少来分5.1.4流水线的分类第32页,课件共81页,创作于2023年2月第33页,课件共81页,创作于2023年2月在静态流水线中,只有当输入是一串相同

的运算操作时,流水的效率才能得到发挥。动画演示3.按工作方式(同一时间内各段之间的连接方式)来分◆

静态流水线:在同一时刻,流水线的各段只能 按同一种功能的连接方式工作。

5.1.4流水线的分类第34页,课件共81页,创作于2023年2月◆

动态流水线:在同一时刻,流水线的各段可以

按不同功能的连接方式工作。

动画演示

这样就不是非得相同运算的一串操作才能

流水处理。

优点:能提高流水线的效率

缺点:会使流水线的控制变得复杂5.1.4流水线的分类第35页,课件共81页,创作于2023年2月◆静、动态流水线时空图的对比第36页,课件共81页,创作于2023年2月*5.按照数据表示来分◆向量处理机:具有向量指令和向量数据表示的

处理机。

例如:TIASC,CRAY-I等◆

标量处理机:不具有向量指令和向量数据表示,

仅对标量进行流水处理的处理机。

例如:IBM360/91,Amdahl470V/6等4.按照连接方式——是否有反馈回路◆

线性流水线:流水线中的各段串行连接,没

有反馈回路。◆非线性流水线:流水线中的各段除有串行连接

外,还有反馈回路。(举例)5.1.4流水线的分类第37页,课件共81页,创作于2023年2月5.1.4流水线的分类第38页,课件共81页,创作于2023年2月5.5.1标量流水线性能分析

吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量。1.吞吐率(1)最大吞吐率TPmax

最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。

◆

若流水线各段的时间相等,均为△t0

,

则:

TPmax=1/△t05.5.1标量流水线性能分析第39页,课件共81页,创作于2023年2月◆

若流水线各段的时间不等,则:◆

最大吞吐率取决于流水线中最慢的一段所

需的时间,这段就成了流水线的瓶颈。◆

消除瓶颈的方法(举例)细分瓶颈段重复设置瓶颈段(时-空图)1max{△ti}TPmax=─────标量流水线性能分析第40页,课件共81页,创作于2023年2月第41页,课件共81页,创作于2023年2月重复设置瓶颈段(时-空图举例)第42页,课件共81页,创作于2023年2月◆

第一种情况:各段时间相等(设为△t0)

假设流水线由m段组成,完成n个任务。时空图完成n个任务所需的时间

T流水=m△t0+(n-1)△t0

(说明)(2)实际吞吐率TP

流水线的实际吞吐率小于最大吞吐率。标量流水线性能分析第43页,课件共81页,创作于2023年2月第44页,课件共81页,创作于2023年2月完成n个任务所需的时间第45页,课件共81页,创作于2023年2月实际吞吐率TP=───=──────────T流水nm△t0+(n-1)△t0n(1+)△t0

m-11TPmaxn=────────=─────1+nm-1TP<TPmax

当n>>m时,TP≈TPmax标量流水线性能分析第46页,课件共81页,创作于2023年2月

完成n个任务所需的时间T流水=∑△ti+(n-1)△tj△tj=max{△ti}

实际吞吐率TP=──────────∑△ti+(n-1)△tjmi=1ni=1m标量流水线性能分析◆

第二种情况:各段时间不等时空图第47页,课件共81页,创作于2023年2月标量流水线性能分析第48页,课件共81页,创作于2023年2月

加速比是指流水线的速度与等功能非流水

线的速度之比。2.加速比SP

SP=T非流水/T流水

(其中T流水和T非流水分别为按流水和按非流水

方式处理n个任务所需的时间)若流水线为m段,且各段时间相等,均为△t0,则:

T非流水=nm△t0

(解释)

T流水=m△t0+(n-1)△t0

标量流水线性能分析第49页,课件共81页,创作于2023年2月3.2DLX的基本流水线第50页,课件共81页,创作于2023年2月可以看出:当n>>m时,SP

≈

m

想一想:m越大越好?效率是指流水线的设备利用率。

(1)由于流水线有通过时间和排空时间,所以

流水线的各段并不是一直满负荷地工作。

故:E

<1SP=───=

─────────T非流水T流水nm△t0m△t0+(n-1)△t0mnm+n-1mn1+

m-1=

────

=────3.效率E3.2DLX的基本流水线第51页,课件共81页,创作于2023年2月3.2DLX的基本流水线第52页,课件共81页,创作于2023年2月(2)若各段时间相等,则各段的效率ei相等,即

e1=e2=e3==em=n△t0/T流水(解释)

整个流水线的效率为:当n>>m时,E

≈1E

=───=────=─────n△t0T流水nm+n-11n1+

m-1(3)从时-空图上看,效率实际上就是n个任务所

占的时空区与m个段总的时空区之比,即:

n个任务占用的时空区

E=━━━━━━━━━━━━━

(解释)

m个段总的时空区……3.2DLX的基本流水线第53页,课件共81页,创作于2023年2月(4)提高流水线效率所采取的措施对于提高

吞吐率也有好处。第54页,课件共81页,创作于2023年2月流水线例5-1

下图四功能段流水线上分别连续输入3条指令和30条指令,求吞吐率、效率和加速比TP=314△tE=3×8△t4×14△tSP=3×8△t14△t,,.当连续输入三个任务:12342△t2△t3△t△t111111112222222233333333123456789101112131401234mT(△t)气泡第55页,课件共81页,创作于2023年2月12342△t2△t3△t△t当连续输入30个任务:E=30×8△t4×95△tSP=TP=308△t+29×3△t完成任务数完成任务共需总时间=3095△t=任务数×每个任务所需△t数功能段数×完成任务需总时间=≈63.16%串行方式需时(同上题分子)同任务流水方式需时=30×8△t95△t≈2

.

53第56页,课件共81页,创作于2023年2月例题5-2:有双功能的静态流水线:功能段1,5,6组成加法,功能段1,2,3,4,6组成乘法。每段延时△t,求执行:∏(ai+bi)的吞吐率和效率4i

=1234615aibi(设数据已从主存中取出,输出数据可直接返回输入)第57页,课件共81页,创作于2023年2月0126713171234178787877834521345T(△t)1314151613131313612341234889101112ma

1+

b1a2+

b2a3+

b3a4+

b4a

1

b1a

2

b2a

3

b3a

4

b4a

1+

b1a

2+

b2a

3+

b3a

4+

b4(a

1+

b1)

(a

2+

b2)(a

3+

b3)(a4+

b4)∏(ai+bi)4i

=1(a

1+

b1)(a2+

b2)(a

3+

b3)(a4+

b4)第58页,课件共81页,创作于2023年2月续5-2TP=完成任务数=7完成7个任务总时间=717△t=E=4×3△t+3×5△t6×17△t完成7个任务所需时空区6个功能段的总时空区=≈26.5%0126713171234178787877834521345T(△t)1314151613131313612341234889101112m(元素输入)(和输出)(和输入)(部分积输出)(部分积输入)(结果)第59页,课件共81页,创作于2023年2月续5-2SP=4×3△t+3×5△t17△t串行方式完成总时间流水完成任务总时间=≈1.59026421345T(△t)1426681012m(分组之和输出)(部分积输出)(结果输出)148814144441313131313131313131313131313131618202224a

1+

b1a

2+

b2a

3+

b3a

4+

b4a

1

b1a

2

b2a

3

b3a

4

b4(a

1+

b1)

(a

2+

b2)(a

3+

b3)(a4+

b4)第60页,课件共81页,创作于2023年2月有双功能的静态流水线如下图所示:功能段1,5,6实现加法功能;1,2,3,4,6实现乘法功能。每段延时△t.请:(1)绘制流水执行时空图。(2)求执行∑ai

bi的吞吐率、效率和加速比4i

=1234615aibi(设数据已从主存中取出,输出数据可直接返回输入)课堂练习:第61页,课件共81页,创作于2023年2月标量流水线性能分析在静态流水线上计算

∑

AiBi

,

求:吞吐率,加速比,效率。4i=1第62页,课件共81页,创作于2023年2月解:(1)确定适合于流水处理的计算过程(2)画时空图(3)计算性能

吞吐率

TP=7/(20△t)

加速比

S=(34△t)/(20△t)=1.7

效率

E=(4×4+3×6)/(8×20)=0.21标量流水线性能分析第63页,课件共81页,创作于2023年2月第64页,课件共81页,创作于2023年2月第65页,课件共81页,创作于2023年2月标量流水线性能分析第66页,课件共81页,创作于2023年2月可以看出,在求解此问题时,该流水线的效率

不高。(原因)动态流水线的时-空图举例Ⅰ标量流水线性能分析第67页,课件共81页,创作于2023年2月举例Ⅱ:这样行不行?正确答案标量流水线性能分析第68页,课件共81页,创作于2023年2月5.2

标量流水中的障碍及控制(相关问题)第69页,课件共81页,创作于2023年2月5.2.1局部性相关及处理:多条指令在同一机器争用同一功能部件,发生冲突(冲突的阶段用黄色示意)I

FI

DEXMWBI

FI

DEXMWBIFIDEXMWBIFIDEXMWBii

+1i

+2i

+3i

+

4解决本资源冲突办法有:1.将第i

+3条指令推迟一拍进入流水2.设置双存储器,一个指令存储器和一个数据存储器。通常的办法是设置指令Cache和数据Cache,使存和取互不相干3.采用先行控制,在处理器内设置指令缓冲队列,预取主存I

FI

DEXMWBI

FI

DEXMWBI

FI

DEXMWBM5.2

标量流水中的障碍及控制(相关问题)第70页,课件共81页,创作于2023年2月2、寄存器数据相关(相关问题)第71页,课件共81页,创作于2023年2月2、寄存器数据相关(相关问题)在流水工作过程会出现某些障碍,试看下面指令:1:ADDR1,R2,R3

;(R1)←(R2)+(R3)

2:SUBR4,R1,R5;(R4)←(R1)-(R5)I

FI

DEXWBI

FI

DEXWB指令1:指令2:

黄色方块示出了障碍所在:流水工作使得结果数写入R1(WB周期)之前就要使用结果(ID周期),怎么办?要不把指令2的执行推后,要不就采取别的办法。第72页,课件共81页,创作于2023年2月解决办法指令1:I

FEXI

D办法1.将指令2退迟一个周期指令2:

WBI

FWBI

DEX指令1:指令2:

I

FWBEXI

DI

FWBEXI

D办法2.从专门通道在WB前获取结果数两个解决冲突的办法★★第73页,课件共81页,创作于2023年2月(考虑两条指令i和j

,假设i先进入流水线)第74页,课件共81页,创作于2023年2月第75页,课件共81页,创作于2023年2月第76页,课件共81页,创作于2023年2月第77页,课件共81页,创作于2023年2月全局性相关及处理:多发生在条件转移时,转移指令与后续指令发生相关,使流水性能下降。如:i:条件转移i

+1i

+2i

+3解决本全局性相关办法有:

温馨提示

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

评论

0/150

提交评论