Requirements for faster performance, greater software compatibility and reduced cost have driven the development of microprocessors for space projects since the 1990s. How is this trend affecting the work of engineers who need software testing tools to detect timing problems and conduct effective code coverage measurement?
Rapita Systems worked with the European Space Agency (ESA) on the EU-funded PEAL (Prototype Execution-time Analyser for LEON) projects.
The initial PEAL project showed that cache effects are a major source of variability in the execution time of programs. The PEAL project identified patterns of program execution and code layout that result in cache risks, so called "cache killers", and quantified their impact.
The main objectives of the PEAL2 project were to define:
- a solution to the problem of unpredictable cache behaviour;
- a method of analysis and code layout that guarantees an upper bound on the maximum number of cache misses, and minimises, or even completely eliminates, the number of cache conflicts.
As part of the PEAL projects, Rapita Systems put its expertise in developing RapiTime to work on the COLA (Cache Optimizations for LEON Analysis) project. COLA studied cache effects and its implications in space applications using the LEON2 processor earmarked for the European-led ExoMars (Exobiology on Mars) robotic mission programme.