aiCache is a tool for predicting a program’s intrinsic instruction cache behavior. In other words, aiCache classifies most references to the instruction memory (instruction fetches) as cache hits or misses.
There is a tremendous gap between the cycle times of modern microprocessors and the access times of main memory. Cache memories usually work without any hitches, yet under some circumstances minimal changes in the program code or program input may lead to dramatic changes in cache behavior.
aiCache determines the worst-case intrinsic cache behavior of your task. It allows you to check for the absence of cache conflicts affecting the time-critical parts of your code.
The widely used classical methods of predicting execution times are not generally applicable. Software monitoring or the dual loop benchmark changes the code, in the process influencing cache behavior. Hardware simulation, emulation, or direct measurement using logic analyzers can only determine the execution time for one input.
The predictions of aiCache are valid for all inputs.
aiCache determines a categorization for each instruction from the control flow graph of the program.
| Category | Abbr. | Meaning |
|---|---|---|
| always hit | ah |
The memory reference always results in a cache hit. |
| always miss | am |
The memory reference always results in a cache miss. |
| persistent | ps |
The referenced memory block is loaded once at most. |
| unreachable | un |
The code cannot be reached. |
| not classified | nc |
The memory reference couldn't be classified as
ah,
am,
ps, or
un. |
Representation of analysis resultsThe results can be produced in HTML to allow for convenient browsing. The left window shows the execution contexts which are distinguished and which correspond to a path in the call graph. The right window shows the categorization of the instructions of the function in the corresponding context.
With the launch of the aiT WCET Analyzers product line, aiCache is no longer available as a stand-alone product. Cache analysis has been fully integrated into aiT. Evaluation versions are available for a growing number of target processor architectures. Please contact us for further information.
| » Press release: AbsInt enhances the safety of the A380 |