Loading [MathJax]/extensions/MathMenu.js
A Trace-Capable Instruction Cache for Cost-Efficient Real-Time Program Trace Compression in SoC | IEEE Journals & Magazine | IEEE Xplore

A Trace-Capable Instruction Cache for Cost-Efficient Real-Time Program Trace Compression in SoC


Abstract:

This paper presents a novel approach to make the on-chip instruction cache of a SoC to function simultaneously as a regular instruction cache and a real-time program trac...Show More

Abstract:

This paper presents a novel approach to make the on-chip instruction cache of a SoC to function simultaneously as a regular instruction cache and a real-time program trace compressor, named trace-capable cache (TC-cache). It is accomplished by exploiting the dictionary feature of the instruction cache with a small support circuit attached to the side of the cache. Compared with related work, this work has the advantage of utilizing the existing instruction cache, which is indispensable in modern SoCs, and thus saves significant amount of hardware resource and power consumption. The TC-cache can be configured to work simultaneously as the instruction cache and the trace compressor, named the online mode, or exclusively as the trace compressor, named the bypass mode. The RTL implementation of a 4 KB trace-capable instruction cache, a 4 KB data cache, and an academic ARM processor core has been accomplished. The experiments show that the TC-cache achieves average compression ratio of 90 percent with a very small hardware overhead of 3,652 gates (1.1 percent). It takes only 0.2 percent additional system power for the online mode operation. In addition, the trace support circuit does not impair the global critical path. Therefore, the proposed approach is a highly feasible on-chip debugging/monitoring solution for SoCs, even for cost-sensitive ones such as consumer electronics. Furthermore, the same concept can be applied to the data cache to compress the data address trace as well.
Published in: IEEE Transactions on Computers ( Volume: 60, Issue: 12, December 2011)
Page(s): 1665 - 1677
Date of Publication: 14 October 2010

ISSN Information:

Author image of Chun-Hung Lai
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Chun-Hung Lai received the BS from the Department of Information Engineering and Computer Science, Feng-Chia University, Taiwan, in 2004, and the MS degree from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2007. He is currently working toward the PhD degree at the Department of Computer Science and Engineering, National Sun Yat-Sen University. His research interests inclu...Show More
Chun-Hung Lai received the BS from the Department of Information Engineering and Computer Science, Feng-Chia University, Taiwan, in 2004, and the MS degree from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2007. He is currently working toward the PhD degree at the Department of Computer Science and Engineering, National Sun Yat-Sen University. His research interests inclu...View more
Author image of Fu-Ching Yang
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Fu-Ching Yang received the BS, MS, and PhD degrees from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2003, 2004, and 2009, respectively. His research interests include SoC debugging methodology, trace compression algorithm development, and microprocessor design/verification. He ia a student member of the IEEE.
Fu-Ching Yang received the BS, MS, and PhD degrees from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2003, 2004, and 2009, respectively. His research interests include SoC debugging methodology, trace compression algorithm development, and microprocessor design/verification. He ia a student member of the IEEE.View more
Author image of Ing-Jer Huang
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Ing-Jer Huang received the BS degree in electrical engineering from National Taiwan University in 1986, and the MS and PhD degrees in computer engineering from the University of Southern California in 1989 and 1994, respectively. He is currently a professor at the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan. His research interests include microprocessors, SoC design, design auto...Show More
Ing-Jer Huang received the BS degree in electrical engineering from National Taiwan University in 1986, and the MS and PhD degrees in computer engineering from the University of Southern California in 1989 and 1994, respectively. He is currently a professor at the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan. His research interests include microprocessors, SoC design, design auto...View more

1 Introduction

To debug or analyze a software program running in a processor-based system-on-chip (SoC), it is often necessary to collect the program execution trace directly inside the SoC in real time. However, the problem is that the volume of the real-time trace grows so rapidly that it is impractical to store the trace on chip or send it outside through limited I/O pins. Therefore, various techniques have been proposed to reduce the trace volume directly in hardware. A straightforward approach is to employ a dedicated hardware compressor, which implements some compression algorithms such as the Lempel-Ziv (LZ) algorithm [1]. However, the hardware cost is very high.

Author image of Chun-Hung Lai
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Chun-Hung Lai received the BS from the Department of Information Engineering and Computer Science, Feng-Chia University, Taiwan, in 2004, and the MS degree from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2007. He is currently working toward the PhD degree at the Department of Computer Science and Engineering, National Sun Yat-Sen University. His research interests include memory issues in embedded system design, embedded microprocessors, and hardware/software codesign. He is a student member of the IEEE.
Chun-Hung Lai received the BS from the Department of Information Engineering and Computer Science, Feng-Chia University, Taiwan, in 2004, and the MS degree from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2007. He is currently working toward the PhD degree at the Department of Computer Science and Engineering, National Sun Yat-Sen University. His research interests include memory issues in embedded system design, embedded microprocessors, and hardware/software codesign. He is a student member of the IEEE.View more
Author image of Fu-Ching Yang
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Fu-Ching Yang received the BS, MS, and PhD degrees from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2003, 2004, and 2009, respectively. His research interests include SoC debugging methodology, trace compression algorithm development, and microprocessor design/verification. He ia a student member of the IEEE.
Fu-Ching Yang received the BS, MS, and PhD degrees from the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan, in 2003, 2004, and 2009, respectively. His research interests include SoC debugging methodology, trace compression algorithm development, and microprocessor design/verification. He ia a student member of the IEEE.View more
Author image of Ing-Jer Huang
Department of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan
Ing-Jer Huang received the BS degree in electrical engineering from National Taiwan University in 1986, and the MS and PhD degrees in computer engineering from the University of Southern California in 1989 and 1994, respectively. He is currently a professor at the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan. His research interests include microprocessors, SoC design, design automation, system software, embedded systems, and hardware/software codesign. He has been actively involved in academic, educational, and industrial activities. He has extensive collaboration with several IC-related industries. He is a member of the IEEE and the ACM.
Ing-Jer Huang received the BS degree in electrical engineering from National Taiwan University in 1986, and the MS and PhD degrees in computer engineering from the University of Southern California in 1989 and 1994, respectively. He is currently a professor at the Department of Computer Science and Engineering, National Sun Yat-Sen University, Taiwan. His research interests include microprocessors, SoC design, design automation, system software, embedded systems, and hardware/software codesign. He has been actively involved in academic, educational, and industrial activities. He has extensive collaboration with several IC-related industries. He is a member of the IEEE and the ACM.View more
Contact IEEE to Subscribe

References

References is not available for this document.