文档介绍:
http://scs.bupt./cs_web/流水线基础(PipeliningBasic)(Prof.ChunluWang)******@bupt.流水线技术相关性分析技术超标量处理机超流水线处理机超标量超流水线处理机流水线技术流水线是很自然的!°洗衣店的例子°A,B,C,D均有一些衣务要清洗,甩干,折叠°清洗要花30分钟°甩干要用30分钟°叠衣物也需要30分钟°还要花费30分钟的时间将衣物放在衣柜里ABCD顺序操作°洗4个人的衣物,顺序操作需要8个小时°如果使用流水线作业,将需要多少时间呢?30任务顺序BCDA时间3030303030303030303030303030306下午78910111212上午流水线作业°流水线作业洗4个人的衣物只需要3.5个小时!任务顺序122上午6下午78910111时间BCDA30303030303030流水线°流水线无法帮助解决单个任务的延迟,有利于减少整个工作全部时间°多个任务同时操作需要不同的资源°可能的加速比=流水线的段数°流水线的速率受速度最慢的流水段的限制°流水线各段长度不均会降低加速比°充满流水线所需的时间和排空流水线所需的时间影响加速比°会由于依赖而造成阻塞6下午789时间BCDA30303030303030任务顺序传统的流水线执行表示IFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWB程序流时间轴为什么采用流水线呢?因为有资源空闲!指令顺序时间(时钟周期)Inst0Inst1Inst2Inst4Inst3ALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmReg单时钟周期,多时钟周期,同流水线比较.ClkCycle1多时钟周期的实现:IfetchRegExecMemWrCycle2Cycle3Cycle4Cycle5Cycle6Cycle7Cycle8Cycle9Cycle10LoadIfetchRegExecMemWrIfetchRegExecMemLoadStore流水线的实现:IfetchRegExecMemWrStoreClk单时钟周期的实现:LoadStoreWasteIfetchR-typeIfetchRegExecMemWrR-typeCycle1Cycle2为什么使用流水线?°设想我们要执行100条指令°单周期的机器•45ns/cyclex1CPIx100inst=4500ns°多周期的机器•10ns/cyclex4.2CPI(duetoinstmix)x100inst=4200ns°理想的流水线机器•10ns/cyclex(1CPIx100inst+4cycledrain)=1040ns
内容来自淘豆网www.taodocs.com转载请标明出处.