高级时间体系结构课件——第3章

上传人:F****n 文档编号:88061420 上传时间:2019-04-18 格式:PPT 页数:206 大小:2.41MB
返回 下载 相关 举报
高级时间体系结构课件——第3章_第1页
第1页 / 共206页
高级时间体系结构课件——第3章_第2页
第2页 / 共206页
高级时间体系结构课件——第3章_第3页
第3页 / 共206页
高级时间体系结构课件——第3章_第4页
第4页 / 共206页
高级时间体系结构课件——第3章_第5页
第5页 / 共206页
点击查看更多>>
资源描述

《高级时间体系结构课件——第3章》由会员分享,可在线阅读,更多相关《高级时间体系结构课件——第3章(206页珍藏版)》请在金锄头文库上搜索。

1、第3章 流水线技术 张晨曦 刘依 www.GotoS ,3.1 重叠执行和先行控制 3.2 流水线的基本概念 3.3 流水线的性能指标 3.4 流水线的相关与冲突 3.5 流水线的实现 3.6 向量处理机,将一条指令的执行过程分为三个阶段,3.1 重叠执行和先行控制,3.1.1 重叠执行,一条指令的执行过程,3.1 重叠执行和先行控制,取指令 按照指令计数器PC的内容访问主存,取出一条指令 送到指令寄存器。 指令分析 对指令的操作码进行译码,按照给定的寻址方式和 地址字段形成操作数的地址,并用这个地址读取操 作数。 指令执行 按照操作码的要求,完成指令规定的功能。 在指令的执行过程中还要更新P

2、C值,为读取下一 条指令做好准备。,3.1 重叠执行和先行控制,三种执行方式 顺序执行方式 一次重叠执行方式 二次重叠执行方式,3.1 重叠执行和先行控制,执行n条指令所花的时间,顺序执行方式 指令的执行过程,3.1 重叠执行和先行控制,如果取指令、指令分析和指令执行的时间相等, 都是t,则 T=3nt 优点 控制简单,节省设备。 主要缺点 处理机执行指令的速度慢 功能部件的利用率很低,3.1 重叠执行和先行控制,一次重叠执行方式 指令的执行过程,执行第k条指令与取第k+l条指令同时进行。 (一种最简单的重叠方式),3.1 重叠执行和先行控制,如果执行一条指令的3个阶段的时间相等,都是 t,则

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

4、件。,3.1 重叠执行和先行控制,访问主存的冲突问题 4种解决方法 设置两个独立编址的存储器: 指令存储器(存放指令)、数据存储器(存放数据) 指令和数据仍然混合存放在同一个主存中,但设置 两个Cache: 指令Cache、数据Cache 程序空间和数据空间相互独立的系统结构被称为哈佛结构。 指令和数据仍然混合存放在同一个主存中,但主存采用 多体交叉结构。 (有一定的局限性),3.1 重叠执行和先行控制,在主存和指令分析部件之间增设指令缓冲站 (又被称为先行指令缓冲站 ) 主存不是满负荷工作的,插空从主存中预先把后面将 要执行的指令取出来,存放到指令缓冲站中。 在“取指令”阶段从指令缓冲站读取

5、指令(如果指令 缓冲站不为空),而不用去访问主存。,3.1 重叠执行和先行控制,先行指令缓冲站 先行指令缓冲站的组成,3.1 重叠执行和先行控制,指令缓冲存储区和相应的控制逻辑 按队列方式工作。 只要指令缓冲站不满,它就自动地向主存控制器发 取指令请求,不断地预取指令。 指令分析部件 每分析完一条指令,就自动向指令缓冲站发出取下 一条指令的请求。指令取出之后就把指令缓冲站中 的该指令作废。 指令缓冲站中存放的指令的条数是动态变化的。 两个程序计数器,3.1 重叠执行和先行控制,先行程序计数器PC1:用于从主存预取指令; 现行程序计数器PC:用来记录指令分析部件当前正在 分析的指令的地址。 先行

6、控制方式中的一次重叠执行 若取指令阶段的时间很短,可以把这个操作合并 到分析指令中。 上述的二次重叠就演变成了一次重叠 把一条指令的执行过程分为分析和执行两个阶段; 让前一条指令的执行与后一条指令的分析重叠进行。,3.1 重叠执行和先行控制,如果指令分析和指令执行所需要的时间都是t,则采用这种方式连续执行n条指令所需要的时间为: T= (1+n)t 控制方式比较简单,得到了广泛应用。,3.1 重叠执行和先行控制,当指令分析和指令执行所需要的时间不相等时, 其执行过程为:,指令分析部件和指令执行部件存在相互等待的时候,会出 现部件空闲的情况。,3.1 重叠执行和先行控制,先行控制技术:缓冲技术和

7、预处理技术的结合 缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。 预处理技术:预取指令、对指令进行加工以及预取操作数等。 采用先行控制方式的处理机结构,3.1.2 先行控制,3.1 重叠执行和先行控制,3.1 重叠执行和先行控制,设置了4个缓冲站 (平滑主存、指令分析部件、运算器三者之间的工作) 先行指令缓冲站(前面已讲述) 先行操作站 先行读数站 后行写数站 共同特点:按先进先出的方式工作,而且都是由一组若 干个能快速访问的存储单元和相关的控制逻 辑组成。,3.1 重叠执行和先行控制,先行操作站 在指令分析部件和运算器之间提供缓冲 先行:因为其中的指令对于运算器

8、正在执行的 指令来说是后续的,但却被先行取出并预处理。 指令分析部件 从先行指令缓冲站取指令,并进行预处理,加工成 统一格式的RR型操作命令,然后送入先行操作站。 对于不同指令做不同的处理。,3.1 重叠执行和先行控制,寄存器-寄存器型(RR型)指令:可以不作任何处理,直 接送入。 操作数来自主存的运算指令:计算出操作数的有效地 址,并将该地址送入先行读数站的某个存储单元(设其地址为i),同时用i替换原来指令中的操作数地址码字段。 向主存“写数”的指令:把形成的有效地址送入后行写 数站的某个存储单元(设其地址为j),同时用j替换原来指令中的目标地址码字段。 立即数型指令:把指令中的立即数送入读

9、数站(设为第l 个存储单元),同样也用l替换原来指令中的立即数字 段。,3.1 重叠执行和先行控制,运算器 从先行操作站取出RR型操作命令并执行。 每执行完一条,将运算结果写入通用寄存器组或者 后行写数站。 继续执行先行操作站中的后续命令。 先行读数站 作用:接收指令分析部件送来的访问主存的有效地 址,按顺序依次从主存读取操作数,提供给运算器 使用。 先行:因为对于正在执行的指令来说,先行读数站 中的操作数是先行取出的。,3.1 重叠执行和先行控制,每个存储单元由3部分组成: 先行地址字段、先行操作数字段、标志字段 每当从指令分析部件接收有效地址时,将之放 入先行地址字段,并将地址有效标志置位

10、。 等到该单元成为队列的第一项时,先行读数站 会用该地址向主存发出读请求,把取来的操作数 放入该单元的先行操作数字段,同时将数据有效标 志置位。 当以后运算器需要该操作数时,就可以直接从 先行读数站取得,而不必去访问主存。,3.1 重叠执行和先行控制,后行写数站 作用:接收从运算器送来的结果数据,并负责将之 写入主存。 后行:因为站在运算器的角度来看,结果数据不是在相应的指令运算完后立即写入主存,而是由后行写数站滞后写入的。 每一个存储单元由3部分组成: 后行地址字段、后行数据字段、标志字段 每当从运算器接收数据时,将之放入后行数据字段,并把相应的数据有效标志置位。后行写数站的控制逻辑自动向主

11、存发出写数请求。当写数据操作完成后,也要置位有关标志。,3.1 重叠执行和先行控制,采用先行控制后的一次重叠执行,指令分析部件在不间断地分析指令,而指令执行部件则在 不间断地执行指令,它们都始终处于忙碌状态。,3.1 重叠执行和先行控制,理想情况下,指令执行部件应该是一直忙碌的。 处理机连续执行n条指令所需要的时间为,工业生产流水线 下面通过一个例子来说明流水线的好处: 两种方案 两种方案的工作过程对比 流水线生产过程的抽象描述 这种流水工作方式的主要特点,3.2 流水线的基本概念,3.2.1 什么是流水线,3.2 流水线的基本概念,流水线技术 把一个重复的过程分解为若干个子过程,每个子过程由

12、专门的功能部件来实现。 把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。 流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。,3.2 流水线的基本概念,指令流水线 把指令的解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。 理想情况:速度提高一倍 4段指令流水线,3.2 流水线的基本概念,浮点加法流水线 把流水线技术应用于运算的执行过程,就形成了 运算操作流水线,也称为部件级流水线。 把浮点加法的全过程分解为求阶差、对阶、尾数 相加、规格化4个子过程。

13、理想情况:速度提高3倍,时空图 时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。 4段指令流水线的时空图,3.2 流水线的基本概念,流水技术的特点 流水线把一个处理过程分解为若干个子过程(段),每个子过程由一个专门的功能部件来实现。 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞、断流。 时间长的段将成为流水线的瓶颈。 流水线每一个功能部件的后面都要有一个缓冲寄存器(锁存器),称为流水寄存器。 作用:在相邻的两段之间传送数据,以保证提供后 面要用到的数据,并把各段的处理工作相互隔离。,3.2 流水线的基本概念,流水技术适合于大量重复的

14、时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。 流水线需要有通过时间和排空时间。 通过时间:第一个任务从进入流水线到流出结果 所需的时间。 排空时间:最后一个任务从进入流水线到流出结 果所需的时间。,3.2 流水线的基本概念,从不同的角度和观点,把流水线分成多种不同的种类。 单功能流水线与多功能流水线 (按照流水线所完成的功能来分类) 单功能流水线:只能完成一种固定功能的流水线。 多功能流水线:流水线的各段可以进行不同的 连接,以实现不同的功能。 例: ASC的多功能流水线,3.2.2 流水线的分类,3.2 流水线的基本概念,静态流水线与动态流水线 (按照同一时间内各段之间的

15、连接方式对多功能流水线做 进一步的分类) 静态流水线:在同一时间内,多功能流水线中的 各段只能按同一种功能的连接方式工作。 对于静态流水线来说,只有当输入的是一串相同的 运算任务时,流水的效率才能得到充分的发挥。 例如:ASC的8段流水线,3.2 流水线的基本概念,动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。 动画 优点 灵活,能够提高流水线各段的使用率,从而 提高处理速度。 缺点 控制复杂。 静、动态流水线时空图的对比,3.2 流水线的基本概念,部件级、处理机级及处理机间流水线 (按照流水的级别来进行分类) 部件级流水线(运算操作流水线):把处理机

16、的算术逻辑运算部件分段,使得各种类型的运算操作能够按流水方式进行。 处理机级流水线(指令流水线):把指令的解释执行过程按照流水方式处理。把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。 例如:前面的4段指令流水线,3.2 流水线的基本概念,处理机间流水线(宏流水线):它是由两个或者 两个以上的处理机串行连接起来,对同一数据流 进行处理,每个处理机完成整个任务中的一部 分。 动画解析,3.2 流水线的基本概念,线性流水线与非线性流水线 (按照流水线中是否有反馈回路来进行分类) 线性流水线:流水线的各段串行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。 非线性流水线:流水线中除了有串行的连接外,还有反馈回路。 (举例) 非线性流水线的调度问题 确定什么时候向流水线引进新的任务,才能使该任务不会与先前进入流水线的任务发生冲突争用流水段。,3.2 流水线的基本概念,3.2 流水线的基本

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号