DocumentCode :
2834677
Title :
Relational Cache Analysis for Static Timing Analysis
Author :
Hahn, Sebastian ; Grund, Daniel
Author_Institution :
Saarland Univ., Saarbrücken, Germany
fYear :
2012
fDate :
11-13 July 2012
Firstpage :
102
Lastpage :
111
Abstract :
Static cache analysis is an indispensable part of static timing analysis, which is employed to verify the timing behaviour of programs in safety-critical real-time systems. State-of-the-art cache analyses classify memory references as `always hit´, `always miss´, or `unknown´. To do so, they rely on a preceding address analysis that tries to determine the referenced addresses. If a referenced address is not determined precisely, however, those cache analyses cannot predict this reference as hit or miss. On top of that, information about other cache contents is lost upon such references. We present a novel approach to static cache analysis that alleviates the dependency on precise address analysis. Instead of having to argue about concrete addresses, we only need to argue about relations between referenced addresses, e.g. `accesses same memory block´ or `maps to different cache set´. Such relations can be determined by congruence analyses, without precise knowledge about the actual addresses. The subsequent cache analysis then only relies on relations to infer cache information and to classify references. One advantage of this approach is that hits can be predicted for references with imprecisely determined addresses, even if there is no information about accessed addresses. In particular, this enables the prediction of hits for references whose addresses depend on an unknown stack pointer or even depend on the program input. Relational cache analysis is always at least as precise as the corresponding state-of-the-art cache analysis. Furthermore, we demonstrate significant improvements for three classes of program constructs.
Keywords :
cache storage; program diagnostics; real-time systems; safety-critical software; address analysis; always hit memory references; always miss memory references; cache contents; cache information; cache set; congruence analyses; memory block; memory reference classification; preceding address analysis; program timing behaviour; reference classification; relational cache analysis; safety-critical real-time systems; stack pointer; state-of-the-art cache analyses; static cache analysis; static timing analysis; unknown memory references; Abstracts; Approximation methods; Context; Hardware; Program processors; Timing; Upper bound; Congruence Analysis; LRU Replacement; Static Cache Analysis; WCET Analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Real-Time Systems (ECRTS), 2012 24th Euromicro Conference on
Conference_Location :
Pisa
ISSN :
1068-3070
Print_ISBN :
978-1-4673-2032-0
Type :
conf
DOI :
10.1109/ECRTS.2012.14
Filename :
6257563
Link To Document :
بازگشت