欢迎来到天天文库
浏览记录
ID:50597906
大小:1.09 MB
页数:125页
时间:2020-03-14
《计算机体系结构之流水线技术(.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、3流水线技术张伟计算机学院大纲1概念定义2流水线分类3MIPS五级流水线4性能分析5流水线相关6高级流水线技术1概念定义洗衣店的例子A,B,C,D均有一些衣物要清洗,甩干,折叠清洗要花30分钟甩干要用40分钟叠衣物也需要20分钟四人衣物一共要花4*(30+40+20)=360分钟流水线的基本概念ABCD6PM789TaskOrderTime304040404020四人衣物一共要花30+40*4+20=210分钟流水线的基本概念流水线技术:把一个重复的过程分解为若干个子过程,每个子程序可以与其他子过程同时进行描述流水线的工作,最常用
2、的方法是时间-空间图(时空图)横坐标:表示时间,即各个任务在流水线中所经过的时间纵坐标:表示空间,即流水线的各个子过程,也称为级、段、流水线深度(Stage)流水线的时空图流水线的特点流水线实际上是把一个功能部件分解成多个独立的子功能部件(一个任务也就分成了几个子任务,每个子任务由一个子功能部件完成),并依靠多个子功能部件并行工作来缩短所有任务的执行时间流水线有助于提高整个程序(所有任务)的吞吐率,但并没有减少每个指令(任务)的执行时间流水线各个功能段所需时间应尽量相等。否则,时间长的功能段将成为流水线的“瓶颈”,会造成流水线的“
3、阻塞”(Stall)流水线开始需要“通过时间”(Fill)和最后需要“排空时间”(Drain)。流水线只有处理连续不断的任务才能发挥其效率2流水线分类流水线的分类(1)按流水线所完成的功能分类单功能流水线:只能完成一种固定功能的流水线多功能流水线:流水线的各段可以进行不同的连接,使流水线在不同的时间,或者在同一时间完成不同的功能例如:TIASC的多功能流水线多功能流水线流水线的分类(2)按流水线在同一时间内各段的连接方式分类静态流水线:在同一时间内,多功能流水线各段只能按同一种功能连接。只有当按这种方式工作的所有任务都流出流水线之
4、后,才能重新连接以实现其他功能。在静态流水线中,只有当输入是一串相同的运算操作时,流水的效率才能得到发挥。动画演示动态流水线:在同一时间内,多功能流水线各段可以按不同方式连接,同时执行多种功能动画演示动态流水线VS静态流水线优点:能提高流水线的效率缺点:会使流水线的控制变得复杂静态和动态流水线时空图对比流水线的分类(3)按照流水线的级别来分部件级流水线(运算操作流水线):把处理机的算术逻辑部件分段,使得各种数据类型的操作能够进行流水。处理机级流水线(指令流水线):把指令的解释执行过程按照流水方式进行处理。处理机间流水线(宏流水线)
5、:它是指由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。动画解析流水线的分类(4)按流水线是否有反馈回路分类线性流水线:流水线的各段逐个串接,输入数据从流水线一端输入从另一端输出;每个段都只流过一次。非线性流水线:流水线的各段除有串接外,还有反馈回路;在一次流水过程中,有的段要被多次使用。(举例)非线性流水线流水线的分类(5)按照数据表示来分标量处理机:不具有向量指令和向量数据表示,仅对标量进行流水处理的处理机。例如:IBM360/91,Amdahl470V/6等向量处理机:具有向量指令和向量数据表示的处理机
6、。例如:TIASC,CRAY-I等流水线的分类(6)按照流动是否可以乱序来分顺序流动流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序相同。异步流动流水线(乱序流水线):流水线输出端任务流出的顺序与输入端任务流入的顺序不同。3MIPS五级流水线DLX(DancingLinks)DLX是一种简单的指令集(教学、简单芯片)在不流水的情况下,如何实现DLX。实现DLX指令的一种简单数据通路MIPS的基本流水线MIPS指令集结构用5个功能段实现,每个功能段用一个时钟周期取指令周期IF(InstructionFetch)指令译码/读寄
7、存器周期ID(InstructionDecode)执行/地址计算周期EX(Execute)存储器访问(计算有效地址)寄存器-寄存器ALU操作寄存器-立即数ALU操作存储器访问周期MEM(MemoryAccess)写回周期WB(WriteBack)MIPS的简单实现MemoryAccessWriteBackInstructionFetchInstr.DecodeReg.FetchExecuteAddr.CalcLMDALUMUXMemoryRegFileMUXMUXDataMemoryMUXSignExtend4AdderZero?
8、NextSEQPCAddressNextPCWBDataInstRDRS1RS2Imm一条MIPS指令最多需要以下5个时钟周期:取指令周期(IF)操作IR←Mem[PC]NPC←PC+4指令译码/读寄存器周期(ID)操作A←Regs[rs]B←Re
此文档下载收益归作者所有