Alternative Rechnerarchitekturen (Teil 4)

Universal Configurable Machine

Ein UCB muss mit fertigen Konfigurationen versehen werden. Diese Übersetzung obliegt dem PDSP-Algorithmus. Allerdings treten eine Reihe von weiteren Aufgaben auf, die allesamt in der höheren Maschine, mit UCM (Universal Configurable Machine) bezeichnet, vereinigt sind:

  • Während der PDSP-Algorithmus einen Instruktionsblock übersetzt, muss die Fetch-Einheit den Kontrollfluss innerhalb des Programms (beziehungsweise Threads) weiter verfolgen. Diese Aufgabe zählt zur UCM.

  • Bei mehreren UCB-Blöcken müssen diese mit verschiedenen Aufgaben versorgt und gegebenenfalls synchronisiert werden.

Bild 5 gibt einen Überblick zur Mikroarchitektur der UCMs. Hier sind mehrere Blöcke mit Signalisierungen und Kommunikationspfaden vorgesehen. Diese UCM-Architektur lässt sich durch vier Parameter, (b,h,s,c) beschreiben: b ist die Anzahl der UCBs, h der Hardware Scheduler, s der Instruktionsblock-Sequencer und c die Beschreibung der internen Kommunikation.

Die Fähigkeit einer UCM zur sequenziellen Ausführung von UCB-Konfigurationen (Hyperblocks) ist durch den Parameter s beschrieben. Bei s = 1 ist der Sequencer vorhanden, bei s = 0 nicht. Die Fähigkeit zur sequenziellen Bearbeitung bedeutet, dass die UCM wie ein Mikroprozessor arbeiten kann.

Trotz der offensichtlichen Einschränkung für s = 0 sind UCMs mit dieser Eigenschaft durchaus sinnvoll, insbesondere in kleineren Applikationen. Hier wird das Programm in dem Multicontext-UCB selbst gespeichert. Bei kleineren Applikationen geht man davon aus, dass lediglich eine kleine Anzahl von Rekonfigurationen überhaupt notwendig ist. Konsequenterweise besteht die kleinste UCM, eine (1, 0, 0,-)-UCM aus einem UCB mit Multicontext-Konfigurationsspeicher, einer PDSP-Übersetzungseinheit und einem Bootloader für den Start.

Der Parameter h ist interessanter. h = 1 beschreibt die Fähigkeit der UCM, UCBs zu schedulen, ihnen also exklusive oder sequenziell fortschreitende Aufgaben zuzuordnen. Dies ist eine sehr wichtige Funktion, die in den Bereich der Betriebssysteme fällt: Das Scheduling von Ressourcen bedeutet, dass die UCM auf besondere Aufgaben – Interrupt Service beispielsweise – vorbereitet sein kann.

Der Parameter c wurde zur Klassifizierung hinzugefügt, weil die Intra-Chip-Kommunikation gerade für Multiblock-Anwendungen mit zur Laufzeit veränderlichen Zuordnungen sehr wichtig ist. Dieser Parameter beschreibt Funktionalitäten: Die vordefinierte Funktion „lc“ (loosely coupled) beschreibt dabei jene Kopplung, in der Statusleitungen zwischen verschiedenen UCBs verfügbar sind, ein Datentransfer jedoch via Hauptspeicher ablaufen muss.

Im Gegensatz dazu beschreibt „tc“ (tightly coupled) die Kopplung benachbarter UCBs via Shared-Register. Eng gekoppelte Systeme können gerade bei hohem Datenkommunikationsaufkommen sehr effektiv arbeiten. Mit „-“ ist keine Kommunikation verfügbar, „x“ beschreibt eine nicht explizit definierte Kopplung.