Technical Report MSC-2006-26

Title: Effective use of trace caches
Authors: Oren Katzengold
Supervisors: Avi Mendelson, Assaf Schuster
Abstract: Trace cache was found to be very effective in improving the performance of wide machines and reduce the active power of mainly CISC architecture. Unfortunately, in order to achieve high efficiency of the trace cache, large number of traces needs to be maintained in the trace-cache, resulting in significant increase in area and power leakage. This work aims to improve the power efficiency of small trace caches by keeping mainly "good traces". Our solutions focus on sorting the traces either dynamically or statically, helping the trace cache to better decide which traces to keep. We tested two approaches; one calls for filtering technique to remove bad traces from the trace cache while the other uses the compiler which by using a profiling image chooses the good traces in advance and hints the trace cache of them. In the filtering techniques we tried blocking inconsistent traces and use dynamic feedback in order to estimate the already saved ones. In the hints concept, a special pragma instruction was added in order to allow the compiler pass hints to the trace cache. The paper shows that the use of our filtering techniques can improve significantly the overall performance of small trace caches. The paper also shows that if the proposed filters are used in conjunction with a machine without a trace predictor, it can outperform similar systems with Trace cache and trace predictor. The system can even be improved if compiler generated hints are added to improve the quality of the proposed filter by additional 5%-6%.
CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the MSC technical reports of 2006
To the main CS technical reports page

Computer science department, Technion