When are instructions decompressed?
On Instruction Cache (ICache) fill
- Cache fill is a slow operation to begin with; limited by speed of external memory bus
- Compression algorithm can be more complicated because have more time to perform the operation
- ICache has to hold uncompressed instructions - limits cache size
On instruction fetch
- ICache holds compressed instructions
- Decompression in critical path of fetch stage, may have to add one or more pipeline stages just for decompression