![]() | This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
Hardware scout is a technique that uses otherwise idleprocessor execution resources to performprefetching duringcache misses. When a thread is stalled by a cache miss, the processor pipeline checkpoints theregister file, switches torunahead mode, and continues to issue instructions from the thread that is waiting for memory. The thread of execution in run-ahead mode is known as ascout thread. When the data returns from memory, the processor restores the register file contents from the checkpoint, and switches back to normal execution mode.
The computation during run-ahead mode is discarded by the processor; nevertheless, scouting provides speedup becausememory level parallelism (MLP) is increased. The cache lines brought into the cache hierarchy are often used by the processor again when it switches back to normal mode.
Sun'sRock processor (later cancelled) used a form of hardware scout. However, any computations in run-ahead mode that donot depend on the cache miss may be retired immediately. This allows both prefetching and traditionalinstruction-level parallelism.
Scouting andsimultaneous multithreading (SMT) both use hardware threads to fight thememory wall. With scouting, the scout thread runs the instructions from the same instruction stream as the instruction that causes the pipeline stall. In the case of SMT, the SMT thread executes instruction in another context.
Thus, SMT increases the throughput of the processor while scouting increases the performance by lowering the number of cache misses.