Compiling for time-predictability with dual-issue single-path code

Emad Jacob Maroun, Martin Schoeberl, Peter Puschner

Research output: Contribution to journalJournal articleResearchpeer-review

66 Downloads (Orbit)

Abstract

Designed for real-time systems, the Patmos instruction-set architecture's features ensure a high degree of predictability. One such feature is its dual-issue pipeline, which can issue and execute bundles of up to two instructions at a time. Executing instructions in the second issue slot is a predictable way to increase the throughput of a processor, but without dedicated support from the compiler, this benefit cannot be unlocked. A compiler generates highly predictable programs by generating single-path code. This technique produces code that always follows the same trace of instructions. While Patmos’ compiler can already produce single-path code, it does not assign any instructions to the second issue-slot. This limitation is unfortunate, as single-path code inherently possesses a high degree of instruction-level parallelism. In this paper, we present a single-path code generation technique with support for dual-issue pipelines. It can also support different bundling algorithms, which allows changing algorithms without having to edit other parts of the compiler. We present a simple bundling algorithm plugged into the single-path code generator. It looks for branches and bundles the basic blocks on each path of the branch. While this specific bundling algorithm is too simple to provide a real-world benefit, it highlights the potential that further work on bundling algorithms can unlock.
Original languageEnglish
Article number102230
JournalJournal of Systems Architecture
Volume118
Number of pages11
ISSN1383-7621
DOIs
Publication statusPublished - 2021

Keywords

  • Real-time systems
  • Single-path code generation
  • Time-predictable computer architecture

Fingerprint

Dive into the research topics of 'Compiling for time-predictability with dual-issue single-path code'. Together they form a unique fingerprint.

Cite this