Reasoning About Time in Higher-Level Language Software
IEEE Transactions on Software Engineering
Adaptation in natural and artificial systems
Adaptation in natural and artificial systems
Improvement in feasibility testing for real-time tasks
Real-Time Systems
Bounding Pipeline and Instruction Cache Performance
IEEE Transactions on Computers
An Accurate Worst Case Timing Analysis for RISC Processors
IEEE Transactions on Software Engineering
Adding instruction cache effect to schedulability analysis of preemptive real-time systems
RTAS '96 Proceedings of the 2nd IEEE Real-Time Technology and Applications Symposium (RTAS '96)
Cache modeling for real-time software: beyond direct mapped instruction caches
RTSS '96 Proceedings of the 17th IEEE Real-Time Systems Symposium
Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
Journal of Systems Architecture: the EUROMICRO Journal
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.00 |
Cache memories are crucial to obtain high performance on contemporary processors. However, they have been traditionally avoided in embedded real-time systems due to their lack of determinism. Unfortunately, most of the techniques to attain predictability on caches are complex to apply, precluding their use on real applications. This work reviews several techniques developed by the authors to use cache memories in “real” embedded real-time systems, with the ease of use in mind. Those techniques are based on a locking cache, which offers a very predictable behaviour. Both static and dynamic use are proposed as well as the algorithms and methods required to make the schedulability analysis using two different scheduling policies. Also proposed is a genetic algorithm that finds, within acceptable computational cost, the sub-optimal set of instructions that must be preloaded in cache. Finally, a set of statistical analyses compares the locking cache versus a conventional one.