Affiliation:
1. McGill University, Quebec, Canada
Abstract
In recent years, on-chip trace generation has been recognized as a solution to the debugging of increasingly complex software. An
execution trace
can be seen as the most fundamentally useful type of trace, allowing the execution path of software to be determined post hoc. However, the bandwidth required to output such a trace can be excessive. Our architecture-aware trace compression (AATC) scheme adds an on-chip branch predictor and branch target buffer to reduce the volume of execution trace data in real time through on-chip compression. Novel redundancy reduction strategies are employed, most notably in exploiting the widespread use of
linked branches
and the compiler-driven movement of return addresses between link register, stack, and program counter. In doing so, the volume of
branch target addresses
is reduced by 52%, whereas other algorithmic improvements further decrease trace volume. An analysis of spatial and temporal redundancy in the trace stream allows a comparison of encoding strategies to be made for systematically increasing compression performance. A combination of differential, Fibonacci, VarLen, and Move-to-Front encodings are chosen to produce two compressor variants: a performance-focused xAATC that encodes 56.5 instructions/bit using 24,133 gates and an area-efficient fAATC that encodes 48.1 instructions/bit using only 9,854 gates.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference28 articles.
1. ARM. 2011a. Embedded Trace Macrocell Architecture Specification. http://infocenter.arm.com/help/topic/com.arm.doc.ihi0014q/IHI0014Q_etm_architecture_spec.pdf. ARM. 2011a. Embedded Trace Macrocell Architecture Specification. http://infocenter.arm.com/help/topic/com.arm.doc.ihi0014q/IHI0014Q_etm_architecture_spec.pdf.
2. ARM. 2011b. RealView Debugger User Guide—Version 4.1.2. http://infocenter.arm.com/help/index.jsp? topic=/com.arm.doc.dui0153n/Babdjcjf.html. ARM. 2011b. RealView Debugger User Guide—Version 4.1.2. http://infocenter.arm.com/help/index.jsp? topic=/com.arm.doc.dui0153n/Babdjcjf.html.
3. The VPC Trace-Compression Algorithms
4. High-Level Design and Validation of the BlueSPARC Multithreaded Processor
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Enabling On-the-Fly Hardware Tracing of Data Reads in Multicores;ACM Transactions on Embedded Computing Systems;2019-07-31
2. Dynamic Analysis of Multi-threaded Embedded Software to Expose Atomicity Violations;2016 13th International Conference on Embedded Software and Systems (ICESS);2016-08
3. On-the-fly load data value tracing in multicores;Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems - CASES '16;2016