Ziel war eine einheitliche, durchgängige Architektur

HP: Mehrzweckregister an der Stelle von Microcode

28.09.1990

*Dr. Horst Kiel, Hewlett-Packard GmbH, Bad Homburg Computer einer bestimmten Größe oder Leistung bringen ein entsprechendes Maß an Komplexität oder Redundanz mit sich. Soll eine Rechnerarchitektur als Grundlage einer einheitlichen Computerfamilie dienen, müssen Kompromißlösungen für das Zusammenspiel von Hardware, Software und Systemorganisation gefunden werden, wie dies am Beispiel der HP Precision Architecture (PA-RISC) im folgenden gezeigt werden soll.

So hat es beispielsweise keinen Zweck, eine Maschine mit kurzen Ausführungszeiten zu bauen, wenn kein großer virtueller Adreßraum berücksichtigt wird, oder wenn lange Leerzeiten entstehen, während Information aus einem Speicher-System geholt wird, oder die Ausführung stockt, weil sich die Ein-/Ausgabemechanismen gegenseitig blockieren. Es ist von nicht zu unterschätzender Wichtigkeit, Speichereinrichtungen und E/A-Subsysteme als wesentliche Teile des Systemkonzepts zu betrachten, denn erst das Zusammenwirken dieser Elemente bestimmt den Systemdurchsatz und die Leistungsfähigkeit, die durch Optimierung der Architektur in bestimmten Fällen erreicht werden kann.

Kompatibilität als Klotz um Bein

Ziel der Entwicklung der HP Precision Architecture (PA-RISC) war es, eine in Preis und Leistung maßstäblich veränderbare Mikro- und Minicomputerfamilie für alle von Hewlett-Packard bedienten Anwendungsbereiche zu entwickeln. Diese Aufgabe wurde durch eine wesentliche Einschränkung erschwert: Die neue Architektur mußte eine reibungslose Verlagerung der Applikationen von allen bereits vorhandenen Produkten zulassen.

Die Frage der Kompatibilität - ein echter Klotz am Bein - hat Computerhersteller mehr als einmal davon abgehalten, einheitliche Produktlinien einzuführen. Einerseits sind die Kosten einer Neucodierung abschreckend hoch, andererseits hat die Erfahrung gezeigt, daß Lösungen, die zum Zweck der Einheitlichkeit die spezifischen Anforderungen einer technischen, kommerziellen oder Realzeitanwendung vernachlässigen, gegenüber speziell optimierten Anlagen weniger leistungsfähig sind.

Allerdings birgt die Vorgabe einer maßstäblich veränderbaren Rechnerarchitektur auch viele Vorzüge. Sind Schnittstellen für Subsysteme und Peripheriegeräte gleichermaßen für die Mitglieder einer Rechnerfamilie und verschiedene Anwendungsbereiche gültig, werden der erforderliche Entwicklungsaufwand und die Kosten für Wartung und Modifikation der Software und Hardware maßgeblich gesenkt.

Mehr Leistung durch direkte Ausführung

Für den Kunden ergeben sich gleichzeitig Vorteile aus niedrigeren Betriebskosten, flexiblen Anlagenkonfigurationen und einer Modularität, die sich besonders in Netzwerken bemerkbar macht, wo der selbe Maschinencode von Arbeitsplatzrechnern, Netzwerk-Servereinheiten und Timeshare-Systemen verwendet wird. Die Herausforderung besteht in der Realisierung eines einfachen, gemeinsamen Kerns, der je nach Betriebsumgebung durch weitere funktionale Elemente ergänzt wird.

In den HP-Laboratorien wurde das Verhalten von Milliarden von Instruktionen analysiert und aus den Ergebnissen ein Befehlssatz abgeleitet, bei dem die am häufigsten aufgerufenen Instruktionen direkt als Hardware implementiert sind.

Während in der Fachliteratur bei RISC-Rechnern immer auf den Unterschied zwischen mikrocodierten und festverdrahteten Instruktionen hingewiesen wird, hat PA-RISC die nicht minder wichtige Eigenschaft, daß leistungsfähige Mehrzweckregister an die Stelle von Mikrocode getreten sind. Ein Computer, dessen oberste (schnellste) Ebene in der Speicherhierarchie durch Mehrzweckregister verkörpert wird, bietet eine ganze Reihe von Vorteilen.

Als kritische Frage taucht bei Architekturen mit reduzierter Komplexität auf, ob der Leistungsgewinn, der sich aus der direkten Ausführung ergibt, nicht durch verlängerte Datenwege wieder verloren geht, weil komplexe Instruktionen aus mehreren einfachen Instruktionen aufgebaut werden müssen.

Programmierung in einer Hochsprache

Auf diese Frage gibt es keine einfache Antwort. In vielen Fällen können mit dem geeigneten Compiler Datenwege erreicht werden, die mit konventionellen Lösungen durchaus vergleichbar sind. In anderen Fällen ist zu erwägen, ob komplexe Fähigkeiten nicht durch zusätzliche Hardware realisiert werden sollten. Als Beispiele seien Gleitkomma-Instruktionen, Dezimalarithmetik, hochgenaue Multiplikation und Matrixoperationen genannt. Im allgemeinem sollte der Auslastungsgrad der jeweiligen Anwendung ausschlaggebend sein. Als Grundsatz gilt, die Leistung des primitiven Befehlssatzes zu erhalten und Hardware-Ergänzungen erst dann einzuschalten, wenn sie wirklich notwendig sind.

Der PA-RISC-Befehlssatz zeichnet sich durch seine Regelmäßigkeit aus: Alle Instruktionen sind 32 Bit lang, Opcodes und Registerfelder sind immer an derselben Stelle zu finden, und es besteht eine große Symmetrie zwischen den angebotenen Funktionen. Das Ergebnis ist, daß mit Ausnahme einiger leistungskritischer Routinen wie Interrupt-Serviceroutinen die gesamte Programmierung in einer Hochsprache durchgeführt wird. Dazu kommt, daß kurze, genaue Instruktionen eine Basis für Interpretercode bilden, so daß Sprachen wie LISP auch ohne Hardware-Ergänzungen verwendet werden können.

PA-RISC ist technologieunabhängig in dem Sinn, daß bei Einführung einer Technologie die Wahl so getroffen werden kann, daß lediglich Ausgewogenheit von Größe, Kosten und Leistungsfähigkeit beachtet werden müssen. Gleichzeitig besteht die Sicherheit, daß Programme, die in einer beliebigen Umgebung der Systemfamilie geschrieben wurden, unverändert auch in einer anderen Umgebung dieser Familie ablaufen. Das heißt beispielsweise, daß ein Entwicklungssystem auf einem Großrechner benutzt werden kann, um Programme zu entwickeln, die auf einem Einchip-Mikroprozessor in einem Personal Computer oder einem Arbeitsplatz ablaufen, oder daß andererseits Programme, die normalerweise in einer Arbeitsplatzumgebung ablaufen, bei Bedarf auf einem Netzknoten oder in einem Großrechner mit Timesharing-Betrieb ablaufen können.

Ausgewogenheit zwischen Hard- und Software

Innerhalb einer gegebenen Technologie hängt der Durchsatz in erster Linie von der Ausgewogenheit zwischen Hard- und Software und von der Größe und Anzahl der bereitgestellten Cache-Speicher ab, denn die Effektivität für eine gegebene Anwendung ist in hohem Maße abhängig von der Art der Speicherzugriffe. Zur Steigerung von Durchsatz und Funktionalität kann Zusatzhardware in Form von Unterstützungsprozessoren jeder Basisarchitektur hinzugefügt werden.

Da manche Mitglieder der neuen HP-Computerfamilie für Gerätesteuerung und für Prozeßsteuerung in Realzeit eingesetzt werden, wurde auch versucht, die neue Architektur dahingehend zu optimieren, daß ein breites Spektrum externer und interner Interruptbedingungen abgedeckt wurden.

Auch hier wieder erzielen Geschwindigkeit und Einheitlichkeit des Befehlssatzes sowie die Einfachheit und Regelmäßigkeit der Steuerungsschnittstellen einen erheblichen Durchsatz und funktionale Vorteile gegenüber konventionellen hardwareabhängigen Implementierungen. +