Online cache state dumping for processor debug

Post-silicon processor debugging is frequently carried out in a loop consisting of several iterations of the following two key steps: (i) processor execution for some duration, followed by (ii) dumping out of the processor's internal state into an external logic analyzer for further offline processing. Internal state of the processor is dominated by the L2 cache. During the process of dumping the cache content, the processor's execution is halted so that the state can be faithfully reproduced offline. In order to reduce the duration for which the processor is halted, and indirectly reduce debug time, we propose two online cache dumping strategies, retransmit non-dumped line (RNL) and dump history table (DHT), with the objective of transferring the cache contents while the processor is executing, and yet maintaining fidelity of the dumped data. For typical experimental debug scenarios, we observe that the effective dump times are reduced to between 0.01% and 3.5% of the original times. We also employ compression to reduce the cache content transfer time and logic analyzer space. Our experiments indicate an average compression ratio of 59.2%.

[1]  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.

[2]  David A. Wood,et al.  Adaptive cache compression for high-performance processors , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

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

[4]  Doug Josephson,et al.  The good, the bad, and the ugly of silicon debug , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[5]  Valeria Bertacco,et al.  Reversi: Post-silicon validation system for modern microprocessors , 2008, 2008 IEEE International Conference on Computer Design.

[6]  David A. Wood,et al.  Frequent Pattern Compression: A Significance-Based Compression Scheme for L2 Caches , 2004 .

[7]  Norman P. Jouppi,et al.  Cacti 3. 0: an integrated cache timing, power, and area model , 2001 .

[8]  Preeti Ranjan Panda,et al.  Cache aware compression for processor debug support , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[9]  S. Jones,et al.  Design and performance of a main memory hardware data compressor , 1996, Proceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000: Hardware and Software Design Strategies.

[10]  Sandeep Kumar Goel,et al.  Automatic generation of breakpoint hardware for silicon debug , 2004, Proceedings. 41st Design Automation Conference, 2004..

[11]  Frank Vahid,et al.  A Way-Halting Cache for Low-Energy High-Performance Systems , 2005, IEEE Computer Architecture Letters.

[12]  Jörg Henkel,et al.  A decompression architecture for low power embedded systems , 2000, Proceedings 2000 International Conference on Computer Design.

[13]  Nicola Nicolici,et al.  Low Cost Debug Architecture using Lossy Compression for Silicon Debug , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[14]  Jang-Soo Lee,et al.  Design and evaluation of a selective compressed memory system , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[15]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[16]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[17]  Xu Cheng,et al.  Cachecompress: a novel approach for test data compression with cache for IP embedded cores , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[18]  Subhasish Mitra,et al.  IFRA: Instruction Footprint Recording and Analysis for post-silicon bug localization in processors , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[19]  Nur A. Touba,et al.  Compressing Functional Tests for Microprocessors , 2005, 14th Asian Test Symposium (ATS'05).