第5章-计算机体系结构教学课件

上传人:仙*** 文档编号:241645810 上传时间:2024-07-12 格式:PPT 页数:95 大小:1.01MB
返回 下载 相关 举报
第5章-计算机体系结构教学课件_第1页
第1页 / 共95页
第5章-计算机体系结构教学课件_第2页
第2页 / 共95页
第5章-计算机体系结构教学课件_第3页
第3页 / 共95页
点击查看更多>>
资源描述
第第5章流水和指令级高级并行的超级机章流水和指令级高级并行的超级机5.1 指令的重叠执行方式5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机提高指令执行速度的主要途径:提高指令执行速度的主要途径:(1)提高处理机的工作主频提高处理机的工作主频(2)采用更好的算法和设计更好的功能部件采用更好的算法和设计更好的功能部件(3)采用指令级并行技术采用指令级并行技术三种指令级并行处理机:三种指令级并行处理机:(1)流水线处理机和超流水线流水线处理机和超流水线(Super-pipelining)处理机处理机(2)超标量超标量(Superscalar)处理机处理机(3)超长指令字超长指令字(VLIW:Very Long Instruction Word)处理机处理机5.1 指令的重叠执行方式1、顺序执行方式、顺序执行方式执行执行n条指令所用的时间为:条指令所用的时间为:如果每段时间都为如果每段时间都为t,则执行则执行n条指令所条指令所用的时间为:用的时间为:T=3nt取指令k 分析k 执行k 取指令k+1 分析k+1 执行k+1主要优点:主要优点:控制简单,节省设备。控制简单,节省设备。主要缺点:主要缺点:执行指令的速度慢,功能部件的利用率很执行指令的速度慢,功能部件的利用率很低。低。2、一次重叠执行方式、一次重叠执行方式一种最简单的流水线方式一种最简单的流水线方式如果两个过程的时间相等,则执行如果两个过程的时间相等,则执行n条指条指令的时间为:令的时间为:T=(1+2n)t取指 分析 执行取指 分析 执行取指 分析 执行主要优点:主要优点:指令的执行时间缩短指令的执行时间缩短功能部件的利用率明显提高功能部件的利用率明显提高主要缺点:主要缺点:需要增加一些硬件需要增加一些硬件控制过程稍复杂控制过程稍复杂如果三过程的时间相等,执行如果三过程的时间相等,执行n条指令的条指令的时间为:时间为:T=(2+n)t理想情况下同时有三条指令在执行理想情况下同时有三条指令在执行处理机的结构要作比较大的改变,必须采处理机的结构要作比较大的改变,必须采用先行控制方式用先行控制方式取指k+2 分析k+2 执行k+2取指k+1 分析k+1 执行k+1取指k分析k执行k3、二次重叠执行方式、二次重叠执行方式1 1、采用二次重叠执行方式,必须解决两个问题:、采用二次重叠执行方式,必须解决两个问题:(1)(1)有独立的取指令部件、指令分析部件有独立的取指令部件、指令分析部件 和指令执行部件和指令执行部件 独立的控制器:存储控制器、指令控制器、运算控制器存储控制器、指令控制器、运算控制器 (2)(2)要解决访问主存储器的冲突问题要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器2 2、解决访存冲突的方法:、解决访存冲突的方法:(1)(1)采用低位交叉存取方式采用低位交叉存取方式:这种方法不能根本解决冲突问题。取指令、读操作数、写结果。先行控制方式的原理先行控制方式的原理(2)(2)两个独立的存储器两个独立的存储器:独立的指令存储器和数据存储器。独立的指令存储器和数据存储器。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行。存器,那么,取指令、分析指令和执行指令就可以同时进行。在许多高性能处理机中,有独立的指令在许多高性能处理机中,有独立的指令CacheCache和数据和数据CacheCache。这这种结构被称为哈佛结构。种结构被称为哈佛结构。(3)(3)采用先行控制技术。采用先行控制技术。先行控制技术的关键是缓冲技术和预处理技术。先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。冲栈,用以平滑它们的工作。在采用了缓冲技术和预处理技术之后,运算器能够专心于在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。数据的运算,从而大幅度提高程序的执行速度。第五章标量处理机第五章标量处理机5.1 先行控制技术5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机5.2.1 流水线工作原理流水线工作原理5.2.2 流水线的分类流水线的分类5.2.3 线性流水线的性能分析线性流水线的性能分析5.2.4 非线性流水线的调度技术非线性流水线的调度技术5.2 流水线技术空间并行性:空间并行性:设置多个独立的操作部件设置多个独立的操作部件多操作部件处理机多操作部件处理机超标量处理机超标量处理机时间并行性:时间并行性:采用流水线技术。采用流水线技术。不增加或只增加少量硬件就能使运算速不增加或只增加少量硬件就能使运算速度提高几倍度提高几倍流水线处理机流水线处理机超流水线处理机超流水线处理机5.2 流水线技术5.2.1 流水线工作原理1、简单流水线、简单流水线流水线的每一个阶段称为流水步、流水流水线的每一个阶段称为流水步、流水步骤、流水段、流水线阶段、流水功能步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等。段、功能段、流水级、流水节拍等。分析器分析k+1流水锁存器执行部件执行k流水锁存器输入输出t1t2在每一个流水段的末尾或开头必须设置一个寄在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存器、流水锁存器、流水闸存器,称为流水寄存器、流水锁存器、流水闸门寄存器等。会增加指令的执行时间。门寄存器等。会增加指令的执行时间。为了简化,在一般流水线中不画出流水锁存器。为了简化,在一般流水线中不画出流水锁存器。2、一种指令流水线、一种指令流水线一般一般4至至12个流水段,等于及大于个流水段,等于及大于8个流水段的个流水段的称为超流水线处理机称为超流水线处理机取指形成操作数地址译码取操作数执行保存结果3、流水线的时空图、流水线的时空图一条简单流水线的时空图:一条简单流水线的时空图:分析k 分析k+1分析k+2分析k+3执行k 执行k+1执行k+2执行k+3时间空间0t1t2t3t4t5一个浮点加法器流水线的时空图一个浮点加法器流水线的时空图(由求阶由求阶差、对阶、尾数加和规格化差、对阶、尾数加和规格化4个流水段组个流水段组成成):ED1时间空间0t1t2t3t4t5ED2 ED3 ED4 ED5EA1 EA2 EA3 EA4 EA5MA1MA2MA3MA4MA5NL1 NL2 NL3 NL4 NL5t6t7t8NL:规格化MA:尾数加EA:对阶ED:求阶差4、流水线的主要特点、流水线的主要特点只有连续提供同类任务才能充分发挥流水线的只有连续提供同类任务才能充分发挥流水线的效率:效率:对于指令流水线:要尽量减少因条件分支造成对于指令流水线:要尽量减少因条件分支造成的的“断流断流”对于操作部件:主要通过编译技术,尽量提供对于操作部件:主要通过编译技术,尽量提供连续的同类操作连续的同类操作在流水线的每一个流水线段中都要设置一个流在流水线的每一个流水线段中都要设置一个流水锁存器水锁存器时间开销:流水线的执行时间加长时间开销:流水线的执行时间加长是流水线中需要增加的主要硬件之一是流水线中需要增加的主要硬件之一各流水段的时间应尽量相等各流水段的时间应尽量相等流水线处理机的基本时钟周期等于时间最长的流水流水线处理机的基本时钟周期等于时间最长的流水段的时间长度段的时间长度流水线需要有流水线需要有“装入时间装入时间”和和“排空时间排空时间”1、线性流水线与非线性流水线、线性流水线与非线性流水线流水线的各个流水段之间是否有反馈信号流水线的各个流水段之间是否有反馈信号线性流水线线性流水线(Linear Pipelining)每个流水段都流过一次,且仅流过一次每个流水段都流过一次,且仅流过一次非线性流水线非线性流水线(Nonlinear Pipelining)在流水线的某些流水段之间有反馈回路或前馈回路在流水线的某些流水段之间有反馈回路或前馈回路线性流水线能够用流水线连接图唯一表示线性流水线能够用流水线连接图唯一表示非线性流水线必须用流水线连接图流水线预约表等共非线性流水线必须用流水线连接图流水线预约表等共同表示同表示 5.2.2 流水线的分类S1输入S2S3输出前馈回路反馈回路一种简单的非线性流水线2、按照流水线的级别来分、按照流水线的级别来分处理机级流水线处理机级流水线,又称为指令流水线又称为指令流水线(Instruction Pipelining)例如:在采用先行控制例如:在采用先行控制器的处理机中,各功能部件之间的流水线器的处理机中,各功能部件之间的流水线先行指令缓冲栈输入先 行 控 制 方 式中的指令流水线先行指令分析器先行读数栈先行操作栈取指译码取操作数指令执行部件后行写数栈输出执行写结果处理机之间的流水线称为处理机之间的流水线称为宏流水线宏流水线(Macro Pipelining)每个处理机对同一个数据流的不同部分每个处理机对同一个数据流的不同部分分别进行处理分别进行处理求阶差输入输出t1对阶尾数加规格化t2t3t4P1输入任务1MMP2任务2MP3任务3输出部件级流水线(操作流水线)部件级流水线(操作流水线)如浮点加法器流水线如浮点加法器流水线3、单功能流水线与多功能流水线、单功能流水线与多功能流水线单功能流水线:单功能流水线:只能完成一种固定功能的流水线只能完成一种固定功能的流水线Cray-1计算机中有计算机中有12条;条;YH-1计算机有计算机有18条;条;Pentium有一条有一条5段的定点和一条段的定点和一条8段的浮点流水线;段的浮点流水线;Pentium有三条指令流水线,其中两条定点指令有三条指令流水线,其中两条定点指令流水线,一条浮点指令流水线。流水线,一条浮点指令流水线。多功能流水线:多功能流水线:流水线的各段通过不同连接实现不同功能流水线的各段通过不同连接实现不同功能 Texas公司的公司的ASC计算机中的计算机中的8段流水线,能够段流水线,能够实现:定点加减法、定点乘法、浮点加法、浮点实现:定点加减法、定点乘法、浮点加法、浮点乘法、逻辑运算、移位操作、数据转换、向量运乘法、逻辑运算、移位操作、数据转换、向量运算等。算等。4、静态流水线与动态流水线、静态流水线与动态流水线静态流水线:静态流水线:同一段时间内,多功能流水线中的各个功能段只同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能按照一种固定的方式连接,实现一种固定的功能。能。只有连续出现同一种运算时,流水线的效率才能只有连续出现同一种运算时,流水线的效率才能得到充分的发挥。得到充分的发挥。动态流水线:动态流水线:在同一段时间内,多功能流水线中的各段可以按在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。照不同的方式连接,同时执行多种功能。1时间空间02 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 4 1 2 3 1 2 1输入求阶差对阶尾数加规格化尾数乘累加输出静态流水线时空图浮点加法定点乘法1时间空间02 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n输入求阶差对阶尾数加规格化尾数乘累加输出动态流水线时空图1 2 35461 2 3541 2 3 41 2 3浮点加法定点乘法按照数据表示方式:按照数据表示方式:标量流水线和向量流水线标量流水线和向量流水线按照控制方式:按照控制方式:同步流水线和异步流水线同步流水线和异步流水线顺序流水线与乱序流水线:顺序流水线与乱序流水线:乱序流水线又称为无序流水线、错序流水线或异乱序流水线又称为无序流水线、错序流水线或异步流水线等步流水线等S1就绪回答S2就绪回答S3就绪回答输出就绪回答输入5、流水线的其他分类方法衡量流水线性能的主要指标有:衡量流水线性能的主要指标有:吞吐率、加速比和效率吞吐率、加速比和效率1、吞吐率(、吞吐率(Though Put)求流水线吞吐率的最基本公式:求流水线吞吐率的最基本公式:TP=n/Tkn为任务数为任务数,Tk为完成为完成n个任务所用时间个任务所用时间各段执行时间相等,输入连续任务情况下完成各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:个连续任务需要的总时间为:Tk=(k+n-1)t k为流水线的段数,为流水线的段数,t为时钟周期为时钟周期5.2.3 线性流水线的性能分析1时间空间S123 n-1 nS2S3S4123 n-1 n123 n-1 n123 n-1 nkt(n-1)tnt(k-1)tT吞吐率:吞吐率:最大吞吐率为:最大吞吐率为:各段执行时间不相各段执行时间不相等、输入连续任务等、输入连续任务情况下:情况下:吞吐率为:吞吐率为:最大吞吐率为:最大吞吐率为:流水线各段执行时间不相等的解决办法流水线各段执行时间不相等的解决办法S1输入t1=tS2t2=3tS3t3=tS4t4=t输出1时间空间S1S2S3S4ti(n-1)t2Tk23 n123n123 n123 n二是将二是将“瓶颈瓶颈”流水段重复设置:流水段重复设置:S1输入输出tS2-1tS2-2tS2-3tS3tS4tS2(3t)S1输入输出t1=tS2-1S2-1S2-1S3S4t3=tt4=tt2=3t一是将将“瓶颈瓶颈”流水段细分流水段细分(如果可分的话如果可分的话):1时间空间2 3nS1流水段重复设置的流水线S2-14 5 614-2-1n-225n-136n1 2 3n4 5 6-2-11 2 3n4 5 6-2-1S2-2S2-3S3S42、加速比(、加速比(Speedup)计算流水线加速比的基本公式:计算流水线加速比的基本公式:S=顺序执行时间顺序执行时间T0/流水线执行时间流水线执行时间Tk各段执行时间相等,输入连续任务情况下各段执行时间相等,输入连续任务情况下加速比为:加速比为:最大加速比为:最大加速比为:各段执行时间不等,输入连续任务情况下各段执行时间不等,输入连续任务情况下实际加速比为:实际加速比为:K=6K=10任务个数加速比10246811 2 4 8 16 32 64128计算流水线效率的一般公式:各流水段执行时间相等,输计算流水线效率的一般公式:各流水段执行时间相等,输入入n个连续任务个连续任务流水线的效率为:流水线的效率为:流水线的最高效率为:流水线的最高效率为:各流水段执行时间不等,输入各流水段执行时间不等,输入n个连续任务个连续任务流水线的效率为:流水线的效率为:3、效率(Efficiency)流水线各段的设备量或各段的价格不相等时:流水线各段的设备量或各段的价格不相等时:流水线的效率为:流水线的效率为:即:即:其中其中,ai k,且且流水线的吞吐率、加速比与效率的关系:流水线的吞吐率、加速比与效率的关系:因为因为因此:因此:E=TP t,S=kE5、流水线性能分析举例、流水线性能分析举例对于单功能线性流水线,输入连续任务的情况,通过上对于单功能线性流水线,输入连续任务的情况,通过上面给出的公式很容易计算出流水线的吞吐率、加速比和面给出的公式很容易计算出流水线的吞吐率、加速比和效率。效率。例例5.2:用一条用一条4段浮点加法器流水线求段浮点加法器流水线求8个浮点数的和:个浮点数的和:ZABCDEFGH解:解:Z=(A+B)+(C+D)+(E+F)+(G+H)1时间空间2 3求阶差45671 2 3 45671 2 3 45671 2 3 4567对阶尾数加规格化加数A C E GA+BE+FB D F HC+DG+HA+B+C+DE+F+G+H结果A+BC+DE+FG+HA+B+C+DE+F+G+H7个浮点加法共用了个浮点加法共用了15个时钟周期。个时钟周期。流水线的吞吐率为:流水线的吞吐率为:流水线的加速比为:流水线的加速比为:流水线的效率为:流水线的效率为:第五章标量处理机第五章标量处理机5.1 先行控制技术5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机5.3 超标量处理机5.3.1 基本结构基本结构5.3.2 单发射与多发射单发射与多发射超标量处理机:超标量处理机:Intel公司的公司的i860,i960,Pentium处理机处理机Motolora公司的公司的MC88110IBM公司的公司的Power 6000SUN公司的公司的SuperSPARC等。等。超流水线处理机:超流水线处理机:SGI公司的公司的MIPS R4000,R5000,R10000等。等。超标量超流水线处理机:超标量超流水线处理机:DEC公司的公司的Alpha等。等。k段流水线基准标量处理机m度超标量n度超流水线(m,n)度超标量超流水机器类型机器流水线周期同时发射指令条数指令发射等待时间指令级并行度ILP1个时钟周期1条1个时钟周期11m1m1/n11/nn1/nm1/nmn超标量、超流水、超标量超流水处理机的主要性能5.3.1 基本结构一般流水线处理机:一般流水线处理机:一条指令流水线,一条指令流水线,一个多功能操作部件,每个时钟周期平一个多功能操作部件,每个时钟周期平均执行指令的条数小于均执行指令的条数小于1。多操作部件处理机:多操作部件处理机:一条指令流水线,一条指令流水线,多个独立的操作部件,操作部件可以采多个独立的操作部件,操作部件可以采用流水线,也可以不流水。多操作部件用流水线,也可以不流水。多操作部件处理机的指令级并行度小于处理机的指令级并行度小于1。超标量处理机典型结构:超标量处理机典型结构:多条指令流水线多条指令流水线先进的超标量处理机有:定点处理部件先进的超标量处理机有:定点处理部件CPU,浮点处理部件浮点处理部件FPU,图形加速部件图形加速部件GPU大量的通用寄存器,两个一级高速大量的通用寄存器,两个一级高速Cache超标量处理机的指令级并行度大于超标量处理机的指令级并行度大于1Motorola公司的公司的MC88110:10个操作部件个操作部件两个寄存器堆:两个寄存器堆:整数部件通用寄存器堆,整数部件通用寄存器堆,32个个32位寄存器;浮点部件扩展寄存器堆,位寄存器;浮点部件扩展寄存器堆,32个个80位寄存器。每个寄存器堆有位寄存器。每个寄存器堆有8个端口,个端口,分别与分别与8条内部总线相连接,有一个缓冲深条内部总线相连接,有一个缓冲深度为度为4的先行读数栈和一个缓冲深度为的先行读数栈和一个缓冲深度为3的后的后行写数栈。行写数栈。两个独立的高速两个独立的高速Cache中中,各为,各为8KB,采用两路组相联方式,采用两路组相联方式,转移目标指令转移目标指令Cache,在有两路分支时,在有两路分支时,存放其中一路分支上的指令存放其中一路分支上的指令整数部件整数部件位操作浮点加乘法部件除法部件图形部件图形部件内部总线读数存数部件通用寄存器堆扩展寄存器堆目标指令指令分配转移部件数据Cache(8KB)指令Cache(8KB)系统总线32位地址总线32位数据总线超标量处理机MC88110的结构5.3.2 单发射与多发射单发射处理机:单发射处理机:每个周期只取一条指令、只译码一条每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一个运算指令,只执行一条指令,只写回一个运算结果结果取指部件和译码部件各设置一套取指部件和译码部件各设置一套可以只设置一个多功能操作部件,也可以只设置一个多功能操作部件,也可以设置多个独立的操作部件可以设置多个独立的操作部件操作部件中可以采用流水线结构,也操作部件中可以采用流水线结构,也可以不采用流水线结构可以不采用流水线结构设计目标是每个时钟周期平均执行一设计目标是每个时钟周期平均执行一条指令,条指令,ILP的期望值的期望值1IF时钟周期指令I1I2I3IDEXWRIFIDEXWRIFIDEXWR123456单发射处理机的指令流水线时空图IFIDFA1 FA2 FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WR来自指令Cache通用寄存器后行写数栈多发射处理机:多发射处理机:每个周期同时取多条指令、同时译码每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多条指令,同时执行多条指令,同时写回多个运算结果多个运算结果需要多个取指令部件,多个指令译码需要多个取指令部件,多个指令译码部件和多个写结果部件部件和多个写结果部件设置多个指令执行部件,复杂的指令设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构执行部件一般采用流水线结构设计目标是每个时钟周期平均执行多设计目标是每个时钟周期平均执行多条指令,条指令,ILP的期望值大于的期望值大于1IF时钟周期指令I1I2I3IDEXWR123456多发射处理机的指令流水线时空图I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDFA1 FA2 FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWR超标量处理机:超标量处理机:一个时钟周期内能够同时发射多条指令一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机的处理机称为超标量处理机必须有两条或两条以上能够同时工作的必须有两条或两条以上能够同时工作的指令流水线指令流水线先行指令窗口:先行指令窗口:能够从指令能够从指令Cache中预取多条指令中预取多条指令能够对窗口内的指令进行数据相关性分能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测析和功能部件冲突的检测窗口的大小:一般为窗口的大小:一般为2至至8条指令条指令采用目前的指令调度技术,每个周期发采用目前的指令调度技术,每个周期发射射2至至4条指令比较合理条指令比较合理例如:例如:Intel公司的公司的i860、i960、Pentium处理处理机机,Motolora公司的公司的MC88110处理机,处理机,IBM公司的公司的Power 6000处理机等每个周期都发处理机等每个周期都发射两条指令射两条指令TI公司生产的公司生产的SuperSPARC处理机以及处理机以及Intel的的Pentium III处理机等每个周期发射三处理机等每个周期发射三条指令条指令操作部件的个数多于每个周期发射的指操作部件的个数多于每个周期发射的指令条数。令条数。4个至个至16个操作部件个操作部件超标量处理机的指令级并行度:超标量处理机的指令级并行度:1ILPm;m为每个周期发射的指令条数。为每个周期发射的指令条数。IFIDFA1 FA2 FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFID先行指令窗口第五章标量处理机第五章标量处理机5.1 先行控制技术5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机5.4 超流水线处理机两种定义:两种定义:一个周期内能够分时发射多条指令一个周期内能够分时发射多条指令的处理机称为超流水线处理机的处理机称为超流水线处理机指令流水线有指令流水线有8个或更多功能段的个或更多功能段的流水线处理机称为超流水线处理机流水线处理机称为超流水线处理机提高处理机性能的不同方法:提高处理机性能的不同方法:超标量处理机是通过增加硬件资源超标量处理机是通过增加硬件资源为代价来换取处理机性能的为代价来换取处理机性能的超流水线处理机则通过各硬件部件超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能充分重叠工作来提高处理机性能两种不同并行性:两种不同并行性:超标量处理机采用的是空间并行性超标量处理机采用的是空间并行性超流水线处理机采用的是时间并行性超流水线处理机采用的是时间并行性5.4.1 指令执行时序每隔每隔1/n个时钟周期发射一条指令,流个时钟周期发射一条指令,流水线周期为水线周期为1/n个时钟周期个时钟周期在超标量处理机中,流水线的有些功能在超标量处理机中,流水线的有些功能段还可以进一步细分段还可以进一步细分例如:例如:ID功能段可以再细分为译码、读功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段。第一操作数和读第二操作数三个流水段。也有些功能段不能再细分,如也有些功能段不能再细分,如WR功能功能段一般不再细分。因此有超流水线的另段一般不再细分。因此有超流水线的另外一种定义:有外一种定义:有8个或个或8个以上流水段的个以上流水段的处理机称为超流水线处理机处理机称为超流水线处理机IF时钟周期指令I1I2I3IDEXWR123456每个时钟周期分时发送3条指令的超流水线I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWR5.4.2 典型处理机结构MIPS R4000处理机每个时钟周期包含处理机每个时钟周期包含两个流水段,是一种很标准的超流水线两个流水段,是一种很标准的超流水线处理机结构。指令流水线有处理机结构。指令流水线有8个流水段个流水段有两个有两个Cache,指令指令Cache和数据和数据Cache的容量各的容量各8KB,每个时钟周期可每个时钟周期可以访问以访问Cache两次,因此在一个时钟周两次,因此在一个时钟周期内可以从指令期内可以从指令Cache中读出两条指令,中读出两条指令,从数据从数据Cache中读出或写入两个数据。中读出或写入两个数据。主要运算部件有整数部件和浮点部件主要运算部件有整数部件和浮点部件指令CacheMIPS R4000处理机的流水线操作IF:取第一条指令IS:取第二条指令RF:读寄存器堆,指令译码EX:执行指令DF:取第一个数据DS:取第二个数据TC:数据标志校验;WB:写回结果指令译码读寄存器堆ALU数据Cache标志检验寄存器堆IF ISRFEXDF DSWBTCIF流水线周期当前CPU周期IS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WB主时钟周期MIPS R4000正常指令流水线工作时序如果在如果在LOAD指令之后的两条指令中,指令之后的两条指令中,任何一条指令要在它的任何一条指令要在它的EX流水级使用流水级使用这个数据,则指令流水线要暂停一个这个数据,则指令流水线要暂停一个时钟周期时钟周期采用顺序发射方式采用顺序发射方式暂停IFIS RF EX DF DS TC WBMIPS R4000正常指令流水线工作时序IS RF EX DF DS TC WBRF EX DF DS TC WBEX DF DS TC WBEX DF DS TC WBDF DS TC WBIFISRFI1I2I3I4I5I6运行运行Load指令使用Load数据5.4.3 超流水线处理机性能指令级并行度为指令级并行度为(1,n)的超流水线处理的超流水线处理机,执行机,执行N条指令所的时间为:条指令所的时间为:超流水线处理机相对于单流水线普通标超流水线处理机相对于单流水线普通标量处理机的加速比为:量处理机的加速比为:即:即:超流水线处理机的加速比的最大值为:超流水线处理机的加速比的最大值为:S(1,n)MAX=n第五章标量处理机第五章标量处理机5.1 先行控制技术5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机5.5 超标量超流水线处理机把超标量与超流水线技术结合在一起,把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机就成为超标量超流水线处理机5.5.1 指令执行时序指令执行时序5.5.2 典型处理机结构典型处理机结构5.5.3 超标量超流水线处理机性能超标量超流水线处理机性能5.5.4 三种指令级并行性处理机性能三种指令级并行性处理机性能比较比较5.5.1 指令执行时序超标量超流水线处理机在一个时钟周期超标量超流水线处理机在一个时钟周期内分时发射指令内分时发射指令n次,每次同时发射指次,每次同时发射指令令m条,每个时钟周期总共发射指令条,每个时钟周期总共发射指令m n条。条。IF时钟周期指令I1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每时钟周期发射3次,每次3条指令5.5.2 典型处理机结构DEC公司的公司的Alpha处理机处理机采用超标量超采用超标量超流水线结构。主要由四个功能部件和两流水线结构。主要由四个功能部件和两个个Cache组成:整数部件组成:整数部件EBOX、浮点浮点部件部件FBOX、地址部件地址部件ABOX和中央控和中央控制部件制部件IBOX。中央控制部件中央控制部件IBOX可以同时从指令可以同时从指令Cache中读入两条指令,同时对读入的中读入两条指令,同时对读入的两条指令进行译码,并且对这两条指令两条指令进行译码,并且对这两条指令作资源冲突检测,进行数据相关性和控作资源冲突检测,进行数据相关性和控制相关性分析。如果资源和相制相关性分析。如果资源和相关性允许,关性允许,IBOX就把两条指令同时发就把两条指令同时发射给射给EBOX、ABOX和和FBOX三个指令三个指令执行部件中的两个。执行部件中的两个。指令流水线指令流水线采用顺序发射乱序完成的采用顺序发射乱序完成的控制方式。在指令控制方式。在指令Cache中有一个转移中有一个转移历史表,实现条件转移的动态预测。在历史表,实现条件转移的动态预测。在EBOX内还有多条专用数据通路,可以内还有多条专用数据通路,可以把运算结果直接送到执行部件。把运算结果直接送到执行部件。Alpha 21064处理机共有三条指令流水处理机共有三条指令流水线线整数操作流水线和访问存储器流水线分整数操作流水线和访问存储器流水线分为为7个流水段,其中,取指令和分个流水段,其中,取指令和分析指令为析指令为4个流水段,运算个流水段,运算2个流水段,个流水段,写结果写结果1个流水段。浮点操作流水线分个流水段。浮点操作流水线分为为10个流水段,其中,浮点执行部件个流水段,其中,浮点执行部件FBOX的延迟时间为的延迟时间为6个流水段。个流水段。所有指令执行部件所有指令执行部件EBOX、IBOX、ABOX和和FBOX中都设置由专用数据通中都设置由专用数据通路。路。析指令为析指令为4个流水段,运算个流水段,运算2个流水段,个流水段,写结果写结果1个流水段。浮点操作流水线分个流水段。浮点操作流水线分为为10个流水段,其中,浮点执行部件个流水段,其中,浮点执行部件FBOX的延迟时间为的延迟时间为6个流水段。个流水段。所有指令执行部件所有指令执行部件EBOX、IBOX、ABOX和和FBOX中都设置由专用数据通中都设置由专用数据通路。路。Alpha 21064处理机的处理机的三条指令流水线三条指令流水线的平均段数为的平均段数为8段段,每个时钟周期发射,每个时钟周期发射两条指令。因此,两条指令。因此,Alpha 21064处理机处理机是超标量超流水线处理机。是超标量超流水线处理机。SWAPIF取值SWAP 交换双发射指令、转移预测I0指令译码I1访问通用寄存器堆,发射校验A1计算周期1,IBOX计算新的PC值A2计算周期2,查指令快表WR写整数寄存器堆,指令Cache命中检测17个流水段的整数操作流水线IFI0I1A0A1WR234560SWAPIF取值SWAP 交换双发射指令、转移预测I0指令译码I1访问通用寄存器堆,发射校验ACABOX计算有效数据地址TB查数据快表HM写读数缓冲栈,数据Cache命中/不命中检测17个流水段的访问存储器流水线IFI0I1ACTBHM234560SWAPIF取值SWAP 交换双发射指令、转移预测I0指令译码I1访问通用寄存器堆,发射校验F1-F5浮点计算流水线FWR写回浮点寄存器堆110个流水段的浮点操作流水线IFI0I1F1F2FWR234560F3F4F57895.5.3 超标量超流水线处理机性能指令级并行度为指令级并行度为(m,n)的超标量超流水的超标量超流水线处理机,连续执行线处理机,连续执行N条指令所需要的条指令所需要的时间为:时间为:超标量超流水线处理机相对于单流水超标量超流水线处理机相对于单流水线标量处理机的加速比为:线标量处理机的加速比为:在理想情况下,超标量超流水线处理在理想情况下,超标量超流水线处理机加速比的最大值为:机加速比的最大值为:S(m,n)MAXm n5.5.4 三种指令级并行处理机性能比较超标量处理机、超流水线处理机和超超标量处理机、超流水线处理机和超标量超流水线处理机相对于单流水线普标量超流水线处理机相对于单流水线普通标量处理机的性能曲线。通标量处理机的性能曲线。0.00.51.01.52.02.512345678相对性能超标量超流水线超标量超流水线指令级并行度从三种指令级并行处理机的性能曲线从三种指令级并行处理机的性能曲线中,可以得出如下结论:中,可以得出如下结论:1、三种处理机的性能关系、三种处理机的性能关系超标量处理机的相对性能最高,其次超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理是超标量超流水线处理机,超流水线处理机的相对性能最低,主要原因如下:机的相对性能最低,主要原因如下:(1)超标量处理机在每个时钟周期的一超标量处理机在每个时钟周期的一开始就同时发射多条指令,而超流水线处开始就同时发射多条指令,而超流水线处理机则要把一个时钟周期平均分成多个流理机则要把一个时钟周期平均分成多个流水线周期,每个流水线周期发射一条指令;水线周期,每个流水线周期发射一条指令;因此,超流水线处理机的启动延迟比超标因此,超流水线处理机的启动延迟比超标量处理机大。量处理机大。(2)条件转移造成的损失,超流条件转移造成的损失,超流水线处理机要比超标量处理机大。水线处理机要比超标量处理机大。(3)在指令执行过程中的每一个功能段,在指令执行过程中的每一个功能段,超标量处理机都重复设置有多个相同的指超标量处理机都重复设置有多个相同的指令执行部件,而超流水线处理机只是把同令执行部件,而超流水线处理机只是把同一个指令执行部件分解为多个流水级;因一个指令执行部件分解为多个流水级;因此,超标量处理机指令执行部件的冲突要此,超标量处理机指令执行部件的冲突要比超流水线处理机小。比超流水线处理机小。2、实际指令级并行度与理论指令级并行度、实际指令级并行度与理论指令级并行度的关系的关系当横坐标给出的理论指令级并行度比当横坐标给出的理论指令级并行度比较低时,处理机的实际指令级并行度较低时,处理机的实际指令级并行度的提高比较快。的提高比较快。当理论指令级并行度进一步增加时,当理论指令级并行度进一步增加时,处理机实际指令级并行度提高的速度越来处理机实际指令级并行度提高的速度越来越慢。越慢。在实际设计超标量、超流水线、超标在实际设计超标量、超流水线、超标量超流水线处理机的指令级并行度时要适量超流水线处理机的指令级并行度时要适当,否则,有可能造成花费了大量的硬件,当,否则,有可能造成花费了大量的硬件,但实际上处理机所能达到的指令级并行度但实际上处理机所能达到的指令级并行度并不高。并不高。目前,一般认为,目前,一般认为,m 和和 n 都不要超过都不要超过4。3、最大指令级并行度、最大指令级并行度一个特定程序由于受到本身的数据相一个特定程序由于受到本身的数据相关和控制相关的限制,它的指令级并行度关和控制相关的限制,它的指令级并行度的最大值是有限的,是有个确定的值。这的最大值是有限的,是有个确定的值。这个最大值主要由程序自身的语义来决定,个最大值主要由程序自身的语义来决定,与这个程序运行在那一种处理机上无关。与这个程序运行在那一种处理机上无关。对于某一个特定的程序,图中的三条曲线对于某一个特定的程序,图中的三条曲线最终都要收拢到同一个点上。当然,对于最终都要收拢到同一个点上。当然,对于各个不同程序,这个收拢点的位置也是不各个不同程序,这个收拢点的位置也是不同的。同的。本 章 重 点1、指令的重叠执行方式及时空图表示方、指令的重叠执行方式及时空图表示方法法2、线性流水线的性能分析及计算、线性流水线的性能分析及计算3、超标量处理机的指令执行时序及性能、超标量处理机的指令执行时序及性能4、超流水线处理机的指令执行时序及性、超流水线处理机的指令执行时序及性能能5、超标量超流水线处理机的指令执行时、超标量超流水线处理机的指令执行时序序 及性能及性能练习题:练习题:5.35.75.85.95.18xiexie!xiexie!谢谢!谢谢!xiexie!xiexie!谢谢!谢谢!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!