Title :
Time-predictable code execution — Instruction-set support for the single-path approach
Author :
Geyer, Clemens B. ; Huber, Ben ; Prokesch, Daniel ; Puschner, Peter
Author_Institution :
Inst. of Comput. Eng., Vienna Univ. of Technol., Vienna, Austria
Abstract :
When designing modern real-time systems, which have to deliver results at specified deadlines, knowing the worst-case execution time (WCET) of software components is of utmost importance. Although there has been much research in the field of WCET analysis in the last years, with a focus on improving the accuracy of processor models and WCET-calculation methods, researchers have paid little attention to exploring the impact of the instruction set architecture (ISA) on the time predictability of the code executing on a given real-time processor. In this paper we explore ISA extensions that allow compilers to generate highly time-predictable code. To this end, an existing instruction set has been extended by a number of instructions, and the LLVM compiler framework has been adapted to use these new instructions in its assembler-code generator. The timing behavior of the generated code has been evaluated by means of an instruction-set simulator. The results of the experiments allowed us to identify a promising combination of the newly introduced instructions. The use of these instructions leads to a reduction of the number of branches in the assembler code, thus improving time predictability while still providing competitive worst-case timing.
Keywords :
instruction sets; object-oriented programming; program assemblers; program compilers; real-time systems; ISA extensions; LLVM compiler; WCET analysis; WCET-calculation methods; assembler-code generator; instruction set architecture; instruction-set simulator; instruction-set support; modern real-time systems; processor models; real-time processor; single-path approach; software components; time-predictable code execution; timing behavior; worst-case execution time; Algorithm design and analysis; Hardware; Instruction sets; Programming; Real-time systems; Registers; Timing;
Conference_Titel :
Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2013 IEEE 16th International Symposium on
Conference_Location :
Paderborn
DOI :
10.1109/ISORC.2013.6913195