Runtime Adaptive Cache for the LEON3 Processor

Cache memories are a key component of computing systems because they minimize latency between the processor and the main memory. However, they require a large amount of the total energy consumption of the system. This energy demand depends on the application’s behavior. Thus, reconfiguring the cache to fit to every application’s memory requirements with the minimum resources would save a significant amount of energy. This paper presents an architecture that enables the reconfiguration of the cache associativity during runtime, in order to fit the cache to the executing application. The architecture combines the cache ways using a small amount of logic, maintaining the cache entire capacity. We implemented our architecture in a LEON3 processor model and evaluated it using a Xilinx ZC702 FPGA. Our experiments show that the proposed architecture improves upon a way-shutdown approach in terms of energy savings and execution time.

[1]  Frank Vahid,et al.  A self-tuning cache architecture for embedded systems , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[2]  Sparsh Mittal,et al.  A survey of architectural techniques for improving cache power efficiency , 2014, Sustain. Comput. Informatics Syst..

[3]  Michael Hübner,et al.  A dynamic cache reconfiguration platform for soft real-time systems , 2016, 2016 IEEE International Conference on Electronics, Circuits and Systems (ICECS).

[4]  Zhao Zhang,et al.  MASTER: A Multicore Cache Energy-Saving Technique Using Dynamic Cache Reconfiguration , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Saurabh Gupta,et al.  Adaptive Cache Bypassing for Inclusive Last Level Caches , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[6]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[7]  Ann Gordon-Ross,et al.  Dynamic Cache Reconfiguration for Soft Real-Time Systems , 2012, TECS.

[8]  Lizy Kurian John,et al.  Cache Friendliness-Aware Managementof Shared Last-Level Caches for HighPerformance Multi-Core Systems , 2014, IEEE Transactions on Computers.

[9]  Tosiron Adegbija,et al.  PACT: Priority-Aware Phase-Based Cache Tuning for Embedded Systems , 2017, 2017 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[10]  David H. Albonesi,et al.  Selective cache ways: on-demand cache resource allocation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[11]  Michael Hübner,et al.  A Machine Learning Methodology for Cache Recommendation , 2017, ARC.

[12]  Frank Vahid,et al.  A highly configurable cache architecture for embedded systems , 2003, 30th Annual International Symposium on Computer Architecture, 2003. Proceedings..

[13]  Michael Hübner,et al.  Configurable cache tuning with a victim cache , 2015, 2015 10th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC).

[14]  Pedro C. Diniz,et al.  Run-time cache configuration for the LEON-3 embedded processor , 2015, 2015 28th Symposium on Integrated Circuits and Systems Design (SBCCI).

[15]  Michael Hübner,et al.  An adaptive victim cache scheme , 2014, 2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14).