Alternative Rechnerarchitekuren (Teil 1)

Bereich des Reconfigurable Computing

Zusammenfassend ergeben die verschiedenen Ausführungsformen eines Rechenprogramms folgende Möglichkeiten:

Alle drei Formen der programmierbaren Hardware ermöglichen es dem Systementwickler, ein berechenbares Problem zu lösen. Sie besitzen nach entsprechender Programmierung alle die gleiche (logische oder arithmetische) makroskopische Funktionalität. Hardware für Sequential Computing (Mikroprozessoren) optimiert dabei auf die Fläche zu Ungunsten der Ausführungszeit, Hardware für Configurable Computing (PLD) auf die Zeit zu Ungunsten der Fläche. Bei Hardware für Reconfigurable Computing kann man zwischen beiden Optimierungsformen variieren: Größere Konfigurationen bedeuten mehr Fläche, mehr Konfigurationen hingegen mehr Ausführungszeit ( Space-Time-Mapping).

Nimmt man zu der Darstellung der Anzahl und Variabilität der Instruktionen in Bild 5 als dritte Darstellungsdimension noch die Komplexität der Operation hinzu, so erhält man die komplette Klassifizierung der verschiedenen Rechnerplattformen in Bild 6. Hier wird bei den Operationen zwischen logisch (bitweise) und arithmetisch (Wort-weise) unterschieden. Gemäß dieser Darstellung existieren zwei Klassen von Hardware-Plattformen für Reconfigurable Computing: Multicontext-PLDs und die UCB-Klasse.

Die beiden Komplexitätsstufen lassen sich auch definieren und dabei auf die Abhängigkeit eines Ausgangsbits von den Eingangsbits zurückführen: Bei logischen Funktionen besteht nur die Abhängigkeit von einem Eingangsbit pro Eingangsvektor (zum Beispiel beim logischen AND oder einem Shift-Befehl). Bei arithmetischen Funktionen hängt das Ausgangsbit von mehreren Eingangsbits pro Eingangsvektor (beispielsweise bei der Addition) ab.

Diese Komplexität beinhaltet die Anpassbarkeit an verschiedene Algorithmenklassen: Die Multicontext-PLDs mit ihren logischen Operationen sind für Bit-Level-Algorithmen sehr gut geeignet. Das sind zum Beispiel irreguläre Steueralgorithmen, kompakte Speicherung von Zustandskodierungen et cetera. Die UCBStrukturen eignen sich besser für arithmetisch basierte Algorithmen, etwa aus der digitalen Signalverarbeitung.