DocumentCode
3847051
Title
Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems
Author
Aleksandar Milenkovic;Vladimir Uzelac;Milena Milenkovic;Martin Burtscher
Author_Institution
The University of Alabama in Huntsville, Huntsville
Volume
60
Issue
7
fYear
2011
Firstpage
992
Lastpage
1005
Abstract
The increasing complexity of modern embedded computer systems makes software development and system verification the most critical steps in system development. To expedite verification and program debugging, chip manufacturers increasingly consider hardware infrastructure for program debugging and tracing, including logic to capture and filter traces, buffers to store traces, and a trace port through which the trace is read by the debug tools. In this paper, we introduce a new approach to capture and compress program execution traces in hardware. The proposed trace compressor encompasses two cost-effective structures, a stream descriptor cache, and a last stream predictor. Information about the program flow is translated into a sequence of hit and miss events in these structures, thus dramatically reducing the number of bits that need to be sent out of the chip. We evaluate the efficiency of the proposed mechanism by measuring the trace port bandwidth on a set of benchmark programs. Our mechanism requires only 0.15 bits/instruction/CPU on average on the trace port, which is a sixfold improvement over state-of-the-art commercial solutions. The trace compressor requires an on-chip area that is equivalent to one third of a 1 kilobyte cache and it allows for continual and unobtrusive program tracing in real time.
Keywords
"Silicon","Debugging","Detectors","Program processors","Hardware","Bandwidth","Complexity theory"
Journal_Title
IEEE Transactions on Computers
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2010.146
Filename
5487509
Link To Document