Alternative Rechnerarchitekturen (Teil 4)

Procedural-driven Structural Programming

Der Übersetzungsalgorithmus, der zur Erzeugung einer Konfiguration aus einem Instruktionsfluss notwendig ist, entspricht demjenigen für rRISC und >S<puter (Teil 3) und wird Procedural Driven Structural Programming (PDSP) genannt. In speziellen Fällen werden zusätzlich Datenabhängigkeiten erkannt und aufgelöst, wie in Bild 3 dargestellt.

Im Beispiel wird der Inhalt von r1 (Variable a) mit der Konstanten 0 verglichen und davon abhängig der Inhalt in r2 (Variable b) kopiert oder nicht. Dies ist eine klare Datenabhängigkeit (RAW), die aber bei der Übersetzung in die Konfiguration aufgelöst wird und „lediglich“ eine Verlängerung der Bearbeitungszeit nach sich zieht. Die Übersetzung von Verzweigungsbefehlen ist speziell zu berücksichtigen. Alle Branches, die aus Verzweigungen stammen, lassen sich prinzipiell in bedingte Befehle (Bild 10.27) übersetzen. Das gilt nicht für Rückwärtssprünge, deren Herkunft in den Schleifen liegt. Schleifen lassen sich zwar entrollen, dies liefert im allgemeinen Fall aber nur eine Verringerung der Anzahl der Sprünge.

Konsequenterweise müssen die UCBs (oder die übergeordnete Maschine) Verzweigungen behandeln können. Eine solche Verzweigung bedeutet gegebenenfalls den Wechsel einer Konfiguration.