1、* 中国科学技术大学 Chapter3.1计算机体系结构周学海0551-63601556, 63492271中国科学技术大学第三章 流水线技术3.1流水线的基本概念3.2 DLX(MIPS)基本流水线3.3 流水线的相关3.4 异常处理3.5 DLX (MIPS)中多周期操作的处理3.6 MIPS R4000流水线* 中国科学技术大学 chapter3.3Review:性能评测 平均 CPI? 每类指令的使用频度Type CPIi for type Frequency CPIi x freqIi Arith/Logic 4 40% 1.6Load 5 30% 1.5Store 4 10% 0.
2、4branch 3 20% 0.6Average CPI:4.1* 中国科学技术大学 chapter3.4是否可以使 CPI 4.1?IdealMemoryWrAdrDinRAdr323232DoutMemWr32ALU3232ALUOpALUControl32IRWrInstruction Reg32Reg FileRaRwbusWRb5532busA32busBRegWrRsRtMux01RtRdPCWrALUSelAMux 01RegDstMux0132PCMemtoRegExtendExtOpMux01320123416Imm 32 2ALUSelBMux1032ZeroZeroPCW
3、rCond PCSrc32IorDMem Data RegALU OutBA 在一条指令执行过程中下图有许多空闲部件 可以让指令重叠执行 ?* 中国科学技术大学 chapter3.5 洗衣为例 Ann, Brian, Cathy, Dave 每人进行洗衣的动作: wash, dry, and fold washer需要 30 minutes Dryer 需要 40 minutes “Folder” 需要 20 minutesA B C D3.1 流水线的基本概念* 中国科学技术大学 chapter3.6Sequential Laundry 顺序完成这些任务需要 6 小时 如果采用流水作业 ,
4、需要多长时间 ? ABCD30 40 20 30 40 20 30 40 20 30 40 206 PM 7 8 9 10 11 MidnightTaskOrderTime* 中国科学技术大学 chapter3.7流水线作业 : 尽可能让任务重叠进行 流水作业完成四人的洗衣任务只需要 3.5 hours ABCD6 PM 7 8 9 10 11 MidnightTaskOrderTime30 40 40 40 40 20* 中国科学技术大学 chapter3.8流水线技术要点 流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率 流水线中的瓶颈 最慢的那一段 多个任务同时执行,但
5、使用不同的资源 其潜在的加速比流水线的级数 流水段所需时间不均衡将降低加速比 流水线存在装入时间和排空时间,使得加速比降低 由于存在相关问题,会导致流水线停顿* 中国科学技术大学 chapter3.9 指令流水线: CPU执行大量的指令,指令吞吐率非常重要 DLX 的指令格式3.2 DLX (MIPS)的基本流水线Op31 26 01516202125rs rt immediateOp31 26 025Op31 26 01516202125rs rtoffset added to PCrdRegister-Register (R-type) ADD R1, R2, R3561011Regist
6、er-Immediate (I-type) SUB R1, R2, #3Jump / Call (J-type) JUMP endfunc(jump, jump and link, trap and return from exception)所有指令相同长度在指令格式中寄存器位于同一位置只有 Loads和 Stores可以对存储器操作* 中国科学技术大学 chapter3.10DLX(MIPS)数据通路一种简单实现 MemoryAccessWriteBackInstructionFetchInstr. DecodeReg. FetchExecuteAddr. CalcLMDALUMUXMemory Reg File MUXMUX DataMemoryMUXSignExtend4AdderZero?Next SEQ PCAddressNext PCWB DataInstRDRS1RS2Imm