Publication | Closed Access
Runahead execution: an alternative to very large instruction windows for out-of-order processors
435
Citations
34
References
2003
Year
Unknown Venue
EngineeringRunahead ExecutionComputer ArchitectureOut-of-order ProcessorsProcessor ArchitectureSoftware AnalysisHardware SecurityMemory Latency ToleranceHigh-performance ArchitectureParallel ComputingManycore ProcessorInstruction-level ParallelismComputer EngineeringComputer SciencePower ConsumptionRuntime SystemExternal-memory AlgorithmProgram AnalysisLarge Instruction WindowsParallel ProgrammingSystem Software
Today's high performance processors tolerate long latency operations by means of out-of-order execution. However, as latencies increase, the size of the instruction window must increase even faster if we are to continue to tolerate these latencies. We have already reached the point where the size of an instruction window that can handle these latencies is prohibitively large in terms of both design complexity and power consumption. And, the problem is getting worse. This paper proposes runahead execution as an effective way to increase memory latency tolerance in an out-of-order processor without requiring an unreasonably large instruction window. Runahead execution unblocks the instruction window blocked by long latency operations allowing the processor to execute far ahead in the program path. This results in data being prefetched into caches long before it is needed. On a machine model based on the Intel/spl reg/ Pentium/spl reg/ processor, having a 128-entry instruction window, adding runahead execution improves the IPC (instructions per cycle) by 22% across a wide range of memory intensive applications. Also, for the same machine model, runahead execution combined with a 128-entry window performs within 1% of a machine with no runahead execution and a 384-entry instruction window.
| Year | Citations | |
|---|---|---|
Page 1
Page 1