Overview
Traditional instruction caches store raw instructions as they appear in memory. A trace cache stores instructions after they have been decoded into micro-ops and in the order they were actually executed, including across branches.
Benefits
- Saves Decoding Time: The CPU doesn't have to re-decode the same instructions every time a loop runs.
- Higher Bandwidth: Can provide multiple instructions per cycle even if they are not contiguous in memory.
Notable Usage
Most famously used in the Intel Pentium 4 (NetBurst) architecture. While not used in exactly the same way today, modern CPUs use similar 'Micro-op Caches' to achieve similar benefits.