Abstract
Data cache compression is actively studied as a venue to make bet ter use of on-chip transistors, increase apparent capacity of caches, and hide the long memory latencies. While several techniques have been proposed for L2 compression, L1 compression is an elusive goal. This is due to L1’s sen sitivity to latency and the inability to create compression schemes that are both fast and adaptable to program behavior, i.e. dynamic. In this paper, we propose the first dynamic dictionary-based compression mechanism for L1 data caches. Our design solves the problem of keeping the compressed contents of the cache and the dictionary entries consistent, using a timekeeping decay technique. A dynamic compression dictionary adapts to program be havior without the need of profiling techniques and/or training phases. We compare our approach to previously proposed static dictionary techniques and we show that we surpass them in terms of power, hit ratio and energy delay product.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Alameldeen, A., Wood, D.: Adaptive Cache Compression for High-Performance Processors. In: 31st International Symposium on Computer Architecture (2004)
Basu, K., et al.: Power protocol: Reducing Power Dissipation on Off-Chip Data Buses. In: 35th International Symposium on Microarchitecture (2002)
Brooks, D., et al.: Wattch: A framework for Architectural-level power analysis and optimizations. In: 27th International Symposium on Computer Architecture (2000)
Chen, D., et al.: A Dynamically Partitionable Compressed Cache. In: Singapore -MIT Alliance Symposium (2003)
Citron, D., Rudolph, L.: Creating a Wider Bus using Caching Techniques. In: 1st Symposium on High Performance Computer Architecture (1995)
Ekman, M., Stenstrom, P.: A Robust Main-Memory Compression Scheme. In: 32nd International Symposium on Computer Architecture (2005)
Farrens, M., Park, A.: Dynamic Base Register Caching: A technique for Reducing Address Bus width. In: 18th International Symposium on Computer Architecture (1991)
Gabbay, F., Mendelson, A.: Can Program Profiling Support Value Prediction? In: 30th International Symposium on Microarchitecture (1997)
Ghose, K., Kamble, M.B.: Reducing Power in Superscalar Processor Caches using Subbanking, Multiple Line Buffers, and Bit Line Segmentation. In: International Symposium on Low Power Electronics and Design (1999)
Huang, M., et al.: L1 Data Cache Decomposition for Energy Efficiency. In: International Symposium on Low Power Electronics and Design (2001)
Hallnor, E., Reinhardt, S.: A Unified Compressed Memory Hierarchy. In: 11th Symposium on High Performance Computer Architecture (2005)
Kaxiras, S., et al.: Cache Decay: Exploiting Generational Behavior to Reduce Cache Leakage Power. In: 28th International Symposium on Computer Architecture (2001)
Kim, D., et al.: Low-Energy Data Cache using Sign Compression and Cache Line Bisection. In: Workshop on Memory Performance Issues (2002)
Lee, J.S., et al.: An On-chip Cache Compression Technique to Reduce Decompression Overhead and Design Complexity. Journal of Systems Architecture (2000)
Lee, J.S., et al.: Adaptive Methods to Minimize Decompression Overhead for Compressed On-chip Cache. International Journal of Computers and Application (2003)
Lipasti, M., et al.: Value Locality and Load Value Prediction. In: 7th International Conference on Architectural Support for Programming Languages and Operating Systems (1996)
Musoll, E., et al.: Working Zone Encoding for Reducing the Energy in Microprocessor Address Buses. Transaction on VLSI Systems (1998)
Pujara, P., Aggarwal, A.: Restrictive Compression Techniques to Increase Level 1 Cache Capacity. In: International Conference on Computer Design (2005)
Suresh, D., et al.: Tunable Bus Encoder for Off-Chip Data Buses. In: International Symposium on Low Power Electronics and Design (2001)
Suresh, D., et al.: Power Efficient Encoding Techniques for Off-Chip Data Buses. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (2003)
Tremaine, R., et al.: Pinnacle: IBM MXT in a Memory Controller Chip. IEEE Micro (2001)
Villa, L., et al.: Dynamic Zero Compression for Cache Energy Reduction. In: 33rd International Symposium on Microarchitecture (2000)
Yang, J., Gupta, R.: Frequent Value Locality and its Applications. Transactions on Embedded Computing Systems (2002)
Yang, J., Gupta, R.: Frequent Value Encoding for Low Power Buses. Transanctions on Embedded Computing Systems (2004)
Yang, J., et al.: Frequent Value Compression in Data Caches. In: 33rd International Symposium on Microarchitecture (2000)
Zhang, Y., et al.: Frequent Value Locality and Value-centric Data Cache Design. In: 9th International Conference on Architectural Support for Programming Languages and Operating Systems (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keramidas, G., Aisopos, K., Kaxiras, S. (2006). Dynamic Dictionary-Based Data Compression for Level-1 Caches. In: Grass, W., Sick, B., Waldschmidt, K. (eds) Architecture of Computing Systems - ARCS 2006. ARCS 2006. Lecture Notes in Computer Science, vol 3894. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11682127_9
Download citation
DOI: https://doi.org/10.1007/11682127_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-32765-3
Online ISBN: 978-3-540-32766-0
eBook Packages: Computer ScienceComputer Science (R0)