Constructing instruction traces from cache-filtered address traces (CITCAT)

  • Authors:
  • Charlton D. Rose;J. Kelly Flanagan

  • Affiliations:
  • Performance Evaluation Laboratory, Department of Computer Science, Brigham Young University;Performance Evaluation Laboratory, Department of Computer Science, Brigham Young University

  • Venue:
  • ACM SIGARCH Computer Architecture News
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Instruction traces are useful tools for studying many aspects of computer systems, but they are difficult to gather without perturbing the systems being traced. In the past, researchers have collected instruction traces through various techniques, including single-stepping, instruction inlining, hardware monitoring, and processor simulation. These approaches, however, fail to produce accurate traces because they interfere with the processor's normal execution.Because processors are deterministic machines, their behavior can be predicted if their initial states and external inputs are known. We have developed a technique, called "CITCAT," which exploits this fact to generate nearly perfect instruction traces through trace-driven simulation. CITCAT combines the best features of instruction inlining, hardware monitoring, and processor simulation to produce long, accurate instruction traces without perturbing the system being traced. Because CITCAT instruction traces are computed, rather than stored, this hybrid technique delivers not just accurate traces, but also an extremely efficient trace compression algorithm.