计算机体系结构第三部分

上传人:今*** 文档编号:111728046 上传时间:2019-11-03 格式:PPT 页数:146 大小:1.96MB
返回 下载 相关 举报
计算机体系结构第三部分_第1页
第1页 / 共146页
计算机体系结构第三部分_第2页
第2页 / 共146页
计算机体系结构第三部分_第3页
第3页 / 共146页
计算机体系结构第三部分_第4页
第4页 / 共146页
计算机体系结构第三部分_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《计算机体系结构第三部分》由会员分享,可在线阅读,更多相关《计算机体系结构第三部分(146页珍藏版)》请在金锄头文库上搜索。

1、第三部分,流水线技术,3.1 流水线的基本概念 3.2 DLX 的基本流水线 3.3 流水线中的相关 3.4 向量处理机,3.1 流水线的基本概念 3.1.1 基本概念 3.1.2 流水线的分类,3.1 流水线的基本概念,每当谈起流水线,人们就可能会将它与生产车间的产品生产流水线联系起来。的确,计算机技术中的流水线概念正是由此得来的。为了对计算机技术中的流水线概念有明确的认识,下面我们首先通过一个例子来看看产品生产流水线的作用。,3.1.1 基本概念 A 产品流水线 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,3.1.1 基本概念 A 产品

2、流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,特点: 每件产品还是要经过4道工序处理,单件产品的加工时间并没有改变,但是它将各个工人的操作时间重叠在一起,使得每件产品的产出时间从表面看是从原来的4分钟缩减到1分钟,提高了产品的产出率,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,可以将上述思想引入到计算机技术

3、中来。例如,把一条指令解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。 理想情况:速度提高一倍,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,把浮点加法的全过程分解为求阶差、对阶、尾数相加、规格化四个子过程,并让它们分别用各自独立的部件来实现。 理想情况:速度提高三倍,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C

4、浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,流水技术是指:将一个重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象

5、描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,3.1 流水线的基本概念,3.1.1 基本概念 A 产品流水线 A.1 两种方案及工作过程对比 A.2 流水线过程的抽象描述及其特点 B 指令流水线 C 浮点加法流水线 D 时-空图 E 流水技术及其特点,流水技术的特点是指: (1) 流水过程由多个相联系的子过程组成,每个子过程称为流水线的级或段。段的数目称为流水线的深度。 (2) 每个子过程由专用的功能段实现; (3) 各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的堵塞和断流。这个时间一般为一个时钟周期(拍); (4)

6、 流水线需要有通过时间 (第一个任务流出结果所需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果;,3.1 流水线的基本概念 3.1.1 基本概念 3.1.2 流水线的分类,3.1 流水线的基本概念,只能完成一种固定功能的流水线。,3.1.2 流水线的分类 A 按照功能多少来分 A.1 单功能流水线 A.2 多功能流水线,3.1 流水线的基本概念,流水线的各段可以进行不同的连接,从而实现不同的功能。,3.1.2 流水线的分类 A 按照功能多少来分 A.1 单功能流水线 A.2 多功能流水线,有八个段可以进行不同的连接以实现不同的功能。 例如浮点运算和乘法运算,3.

7、1 流水线的基本概念,在同一时刻,流水线的各段只能按同一种功能的连接方式工作。 在静态流水线中,只有当输入是一串相同的运算操作时,流水的效率才能得到发挥。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 B.1 静态流水线 B.2 动态流水线,1,2,3,4,5,6,7,8,下述静态流水线共八段,按不同连接方法实现两种功能,假设流水线现在正在进行加法操作,1,2,3,4,5,6,7,8,下述静态流水线共八段,按不同连接方法实现两种功能,假设流水线现在正在进行加法操作,这时候来一个乘法操作任务,能否进入流水线? 不能!,1,2,3,4,5,6,7,8,下

8、述静态流水线共八段,按不同连接方法实现两种功能,加法操作已经排空,必须等到加法操作排空后才能进入,3.1 流水线的基本概念,在同一时刻,流水线的各段可以按不同功能的连接方式工作。 这样就不是非得相同运算的一串操作才能流水处理。 优点:能提高流水线的效率。 缺点:会使流水线的控制变得复杂。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 B.1 静态流水线 B.2 动态流水线,1,2,3,4,5,6,7,8,下述动态流水线共八段,按不同连接方法实现两种功能,假设流水线现在正在进行加法操作,这时候来一个乘法操作任务,能否进入流水线? 可以!,1,2,3,4

9、,5,6,7,8,下述动态流水线共八段,按不同连接方法实现两种功能,3.1 流水线的基本概念,它是把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 C.1 部件级流水线 C.2 处理机级流水线 C.3 处理机间流水级,3.1 流水线的基本概念,它是把指令的解释执行过程按照流水方式进行处理。 例如,DLX的基本流水线把指令解释过程分解为: 取指令、指令译码、执行、访存、写回。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C

10、按照流水线的级别来分 C.1 部件级流水线 C.2 处理机级流水线 C.3 处理机间流水级,从指令存储器中取指令,对指令进行译码,并访问寄存器,读取操作数,对操作数进行有效地址计算,Load 或 Store指令在该段访问数据存储器,把运算结果或者从DM中取得的数写入寄存器,3.1 流水线的基本概念,它是指由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 C.1 部件级流水线 C.2 处理机级流水线 C.3 处理机间流水级,3.1 流水线的基本概念,不具有向量

11、指令和向量数据表示,仅对标量进行流水处理的处理机。 例如IBM360/91,Amdah1 470V/6等,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 D 按照数据表示来分 D.1 标量处理机 D.2 向量处理机,3.1 流水线的基本概念,具有向量指令和向量数据表示的处理机。 例如:TI ASC, CRAY-I等。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 D 按照数据表示来分 D.1 标量处理机 D.2 向量处理机,3.1 流水线的基本概念,流水线中

12、的各段串行连接,没有反馈回路。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 D 按照数据表示来分 E 按照是否有反馈回路来分 E.1 线性流水机 E.2 非线性流水机 E.2.1 流水线调度问题,3.1 流水线的基本概念,流水线中的各段除有串行连接外,还有反馈回路。,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 D 按照数据表示来分 E 按照是否有反馈回路来分 E.1 线性流水机 E.2 非线性流水机 E.2.1 流水线调度问题,3.1 流水线的基本概念

13、,3.1.2 流水线的分类 A 按照功能多少来分 B 按照同一时间段各段之间的连接方式来分 C 按照流水线的级别来分 D 按照数据表示来分 E 按照是否有反馈回路来分 E.1 线性流水机 E.2 非线性流水机 E.2.1 流水线调度问题, 流水线的调度问题,3.2 DLX的基本流水线 3.2.1 DLX的一种简单实现 3.2.2 基本的DLX流水线 3.2.3 流水线的性能分析,首先谈一下在不涉及流水的情况下DLX如何实现,3.2.1 DLX的一种简单实现,3.2 DLX的基本流水线,首先谈一下在不涉及流水的情况下DLX如何实现,3.2.1 DLX的一种简单实现 A 实现DLX的一种简单数据通

14、路,3.2 DLX的基本流水线,程序计数器,加法器,指令寄存器,多路选择器,临时寄存器,用来暂存需从上一个时钟周期传递到下一个时钟周期的值,3.2.1 DLX的一种简单实现 A 实现DLX的一种简单数据通路 B 一条DLX指令最多所需要的5个时钟周期,3.2 DLX的基本流水线,存放下一条指令的PC值,存放从寄存器中读取的内容,存放立即数,存放条件码,存放ALU运算结果,存放从存储器中取出的数,IR MemPC NPC PC + 4,3.2.1 DLX的一种简单实现 A 实现DLX的一种简单数据通路 B 一条DLX指令最多所需要的5个时钟周期 B.1 取指令周期,3.2 DLX的基本流水线,1

15、,根据PC值从存储器中取指令,2,将指令送入指令寄存器IR,3, PC值加4,指向下一条指令,4, 放入临时寄存器NPC中,A RegsIR610 B RegsIR1115 Imm(IR16)16#IR1631),3.2.1 DLX的一种简单实现 A 实现DLX的一种简单数据通路 B 一条DLX指令最多所需要的5个时钟周期 B.1 取指令周期(IF) B.2 指令译码/读寄存器周期(ID),3.2 DLX的基本流水线,指令的译码操作和读寄存器操作是并行进行的。之所以能做到这一点,是因为DLX指令格式中,操作码在固定位置。这种技术也称为固定字段译码技术。值得注意的是,在上述过程中,可能读出了一些

16、在后面周期中并不会使用到的寄存器内容,但是这并不会影响指令执行的正确性。相反,却可以有效地降低问题的复杂性。 另外,由于立即值在DLX指令格式中处于固定位置,因此这里也对其进行符号扩展,以便在下一个周期能使用它。当然由于指令的不同,也许在后面的周期中并不会用到这个立即值,但无论如何,提前形成立即值总是有益无害的。,3.2.1 DLX的一种简单实现 A 实现DLX的一种简单数据通路 B 一条DLX指令最多所需要的5个时钟周期 B.1 取指令周期(IF) B.2 指令译码/读寄存器周期(ID),3.2 DLX的基本流水线,A,进行指令译码,B-1,以IR610和IR1115为地址访问寄存器,B-2,读出的结果放在临时寄存器A和B中,C-1,同时对IR寄存器中低16

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

当前位置:首页 > 高等教育 > 大学课件

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