Geschwindigkeit ist nur eine Komponente der Leistung

07.06.1991

Begrenzte Rechnerressourcen - in der Vergangenheit das Hemmnis mancher DV-Entwicklung - gehören heute der Vergangenheit an. Ein wesentlicher Grund dafür liegt im ungebremsten Vormarsch der RISC-Architekturen. Über diesen Prozessortyp sind nämlich mit relativ geringem Aufwand erstaunliche technische Innovationen und enorme Leistungssteigerungen erreichbar.

Leistungszalen wie MIPS und Mflops indes interessieren die Anwender relativ wenig. Für eine höhere Produktivität ihrer Computersysteme sind im wesentlichen zwei andere Kriterien verantwortlich. Erstens: Welche Arbeitsvorgänge bewältigt werden können und welchen Funktionsumfang das System bietet. Zweitens: Mit welcher Arbeitsgeschwindigkeit arbeitet das System, wie fehlertolerant ist es, und wie verhält es sich bei sonstigen Systemstörungen.

Die klassischen sequentiellen Architekturen sind für eine Vielzahl von neuartigen Anwendungen, wie etwa strömungsmechanische Berechnungen oder Einsatz von Datenbanken und Expertensystemen, bei weitem nicht ausreichend.

In der Vergangenheit war die reine Prozessorleistung für den Anwender von Computersystemen eigentlich kein Thema. Dies wird verständlich, wenn man sich die Leistung der damals verfügbaren und genutzten Systeme anschaut. Denn aus Sicht der Anwender hat sich das Leistungsangebot seit den späten 60er Jahren bis Mitte der 80er Jahre nicht wesentlich verändert:

Eine IBM 370/Modell 158 leistete etwa 1 MIPS, die PDP-11/ 70 von DEC - Anfang der 70er Jahre ein beliebter Minicomputer - leistete ebenfalls 1 MIPS, auch das Nachfolgemodell der 80er Jahre, die VAX-11/780, brachte es lediglich auf etwa 1 Mips. Die Systeme der frühen 80er Jahre, die den Motorola-Prozessor 68010 nutzen, boten auch nur 1 MIPS System-leistung.

Aus Sicht des Anwenders wird die Systemleistung durch viele Komponenten bestimmt. Die Leistung der Zentraleinheit spielt da auf den ersten Blick nur eine untergeordnete Rolle. Viele Anforderungen werden durch Softwarefunktionen abgedeckt. Andere Wünsche können schließlich durch das Betriebssystem des jeweiligen Rechners abgedeckt werden. Aber die grundlegenden Eigenschaften, die dem Anwender einen gewissen Komfort, eine angemessene Arbeitsgeschwindigkeit sowie Rechnereinsatz bei völlig neuen, komplexen Anwendungen erlauben beruhen auf der Konzeption der Systemhardware. Entscheidend allerdings ist das Zusammenspiel von Prozessor, Speichersystem sowie Ein- und Ausgabe-System. Alle Computersysteme arbeiten heute mit einer, bezogen auf die Zugriffszeit, abgestuften Speicherhierarchie.

Ferner darf nicht vergessen werden, daß die Gesamtleistung

eines Systems neben der Geschwindigkeit der einzelnen Komponenten durch die Art der Integration bestimmt wird. Insofern führte die häufige Forderung der Anwender nach immer mehr CPU-Leistunz - es wurde und wird nur auf die Geschwindigkeit des Prozessors geschielt - nicht zwangsläufig zum erwarteten Ergebnis.

Die Entwicklung immer schnellerer Zentraleinheiten zwingt die Ingenieure in den Entwicklungslabors dazu, auch entsprechend angepaßte Verbesserungen an den anderen Systemkomponenten zu entwickeln und in neue Systeme zu integrieren. Vor diesem Hintergrund ist die Frage der weiteren Leistungssteigerung der RISC-Zentraleinheiten nur eine Facette auf dem Weg zu höheren Systemleistungen, die sich der Anwender in der Zukunft erwartet.

RISC-Prozessoren bieten die gleiche Funktionalität wie CISC-Prozessoren. Sie implementieren diese Funktionen jedoch mit einem wesentlich kleineren Instruktionssatz. Obwohl RISC-Programmcode im allgemeinen die Ausführung von mehr Befehlen erfordert im Vergleich zu CISC-Code, wird bei RISC-CPUs jede einzelne Instruktion sehr viel schneller abgearbeitet.

Schnellere Speicher förderten RISC-Konzepte

CICS-Prozessoren waren das Ergebnis der Limitationen der Speichertechnologie vergangener Tage. Der Vergleich der Arbeitsweise von CICS- und RISC-Systemen macht dies recht deutlich. Der interne Mikrocode der CISC-Systeme arbeitet als eine weitere Softwareschicht unterhalb der Maschinensprache. Der Hauptspeicher war früher viel langsamer als die Ausführung von internem Mikrocode. Dieser Umstand förderte die Entwicklung immer komplexerer Instruktionssätze, weil zwischen jedem Instruktionsladen Zeit für die Ausführung einer Vielzahl von Mikrocodeschritten zur Verfügung stand. Die VAX-11/780 beispielsweise benötigte im Mittel über zehn Taktzyklen für die Ausführung eines einzigen Befehls.

Die RISC-Konzepte gewannen durch höhere Zugriffsgeschwindigkeiten der Hauptspeicher an Bedeutung. Dadurch

läßt sich das Instruktionsladen so beschleunigen, daß der Mikrocode überflüssig wird. RISC ersetzt den CISC-Mikrocode durch optimierende Compiler. Wegen der einfachen Instruktionssätze sind bei RISC-Prozessoren festverdrahtete Befehlsdekodiereinheiten möglich. Komplexe Programme werden mehr Befehle benötigen, jedoch wird bei RISC jeder Befehl signifikant schneller als bei CISC-Prozessoren abgearbeitet.

Die Ausführungzeit T eines bestimmten Programms auf einem RISC-Prozessor läßt slcn mit folgender Beziehung berechnen:

T = i * cpi * t

Die Zeit T ist das Produkt aus der Anzahl der Befehle des Programm (i), der Anzahl der Taktzyklen, in der ein Befehl abgearbeitet wird (cpi), und der Zeit pro Taktzyklus (t).

Einheitsbefehlsformat macht Pipelining möglich

Um die Laufzeit eines gegebenen Programms zu reduzieren, muß jeder der drei Faktoren minimiert werden. Die Optimierung der benötigten Taktzyklen pro Instruktion (cpi) geschieht durch das sogenannte Pipelining, das ursprünglich für den Einsatz in Supercomputern entwickelt wurde. Heute nutzen alle Hochleistungs-Prozessoren, Cisc wie RISC, Pipelining zur Leistungsverbesserung.

Die vielfältigen, unregelmäßigen Instruktionsformate der CICS-Prozessoren bedingen äußert komplexe Pipelines, die sogar den Befehlsdurchsatz verschlechtern können. Die Erweiterung des Instruktionssatzes um einen Befehl, der eine weitere Stufe an Dekodierlogik benötigt, verlangsamt dadurch den gesamten Befehlsdurchsatz des CISC-Prozessors. Dieses sogenannte "n + l" - Phänomen tritt bei RISC-Prozessoren wegen des einheitlichen Instruktionsformats nicht auf. Dadurch lassen sich bei RISC-Prozessoren Pipelines sehr effektiv einsetzen.

RISC nutzt das Pipelining, um die Anzahl der Zyklen einer Befehlsabarbeitung zu minimieren. Die Anzahl der Pipeline-Stufen ist abhängig von der jeweiligen Prozessorimplementierung. Bei einer vierstufigen Pipeline beispielsweise werden die Befehle im Fetch-Zyklus aus dem Speicher, genauer gesagt aus dem Cache, geladen.

Sequentielles Arbeiten ist nicht sehr effizient

Im nächsten Zyklus wird der Typ des Befehls festgestellt und dekodiert, welche Operanden und Prozessorressourcen benötigt werden. Anschließend wird der Befehl im dritten Zyklus ausgeführt und das Ergebnis im nächsten Schritt zurückgeschrieben. Jede dieser Pipeline-Stufen benötigt bei den RISC-Maschinen typischerweise nur einen Taktzyklus. Dadurch läßt sich eine vierfach überlappende Pipeline einsetzen.

Der Vorteil einer überlappenden Pipeline ist sofort ersichtlich. Ein sequentiell agierender Prozessor arbeitet jede Instruktion nacheinander ab. Alle Phasen der Befehlsausführung - in diesem Beispiel die vier Stufen fetch, decode, execute und write - müssen beendet sein, bevor der nächste Befehl begonnen werden kann. Dieses Verfahren ist nicht besonders effektiv, was den Befehlsdurchsatz betrifft.

RISC-CPU verarbeitet einen Befehl in einem Taktzyklus

Bei einem Prozessor mit Pipeline findet jede Befehlsausführungsphase überlappend mit den anderen Stufen statt. Der Instruktions-Fetch des nächsten Befehls wird unmittelbar dann begonnen, wenn der vorhergehende Befehl aus dem Speicher geladen wurde. Dadurch ist es möglich, daß im laufenden Betrieb mit jedem Taktzyklus eine Befehlsausführung fertig wird. Vereinfacht wird auch oft gesagt, daß ein RISC-Prozessor (fast) jeden Befehl in nur einem Taktzyklus abarbeiten kann.

Der Pipeline-Fluß gerät dann ins Stocken, wenn direkt aufeinanderfolgende Befehle die gleichen Prozessorressourcen wie ALU oder Register benötigen. Ein weiteres Pipeline-Hindernis sind Datenabhängigkeiten zwischen aufeinanderfolgenden Befehlen. Auch bei Verzweigungsoperationen ist der Pipeline-Inhalt zum Teil wertlos. Alle diese Faktoren tragen dazu bei, daß die heutigen skalaren RISC-Prozessoren CPI-Werte zwischen 1,2 und 1,6 erreichen.

Der Spielraum bei den beiden anderen Parametern - Anzahl der Befehle eines Programms und Taktfrequenz - ist durch die Fortschritte bei der Compiler-Technologie und der Halbleiter-Herstellungsmethoden - 40 Megahertz Frequenzen bei CMOS-Bausteinen sind heute in der Industrie üblich - relativ gering. Die Steigerung der Taktfrequenz von 40 auf 50 Megahertz bewirkt theoretisch eine Leistungssteigerung um 25 Prozent. In der Praxis wird sich dieser Wert bei einem Computersystem nur dann erreichen lassen, wenn neben dem Prozessor Cache, Hauptspeicher- und

Bussystem auf diese Taktfrequenz abgestimmt sind.

1964, im Gründungsjahr von Intel, wurde Gordon Moore auf einer Konferenz gefragt, wie viele Transistoren man auf einem Chip integrieren könne. Moore, einer der Firmengründer von Intel, antwortete mit einer Formel: 2 hoch (aktuelles Jahr minus 1964). Für 1980 errechnete sich damit die Zahl der Transistoren pro Chip auf 65 000, was auch in etwa der Realität entsprach. Diese Beziehung wurde als das "Mooresche Gesetz" bekannt und charakterisierte den technologischen Fortschritt über 25 Jahre.

20 Jahre später prophezeite Bill Joy, einer der Firmengründer des Workstation-Marktführers Sun Microsystems, daß für die Entwicklung der Prozessorleistung folgende Beziehung gelte: Die Rechenleistung von

RISC-Systemen in MIPS = 2 hoch (aktuelles Jahr minus 1984). Auch diese Beziehung erweist sich bei etwas großzügiger Betrachtung als bislang korrekt.

Heute sind RISC-Prozessoren der Garant für weiteres Leistungswachstum. Es ist keine Frage, daß die Halbleiter-Integrationsdichte weiter zunehmen wird.

Bereits heute gibt es Labormuster von 64-Mbit-Speicher-Chips. Dies entspricht einer Zahl von etwa 140 Millionen Transistoren pro Chip. Das RISC-Konzept reduziert die Anzahl der Transistorfunktionen erheblich. Die heute auf dem Markt befindlichen RISC-Prozessoren belegen nur zwischen 50 000 und 300 000 Transistoren. Stand der Volumenproduktion in CMOS-Technologie sind jedoch heute bereits eine bis drei Millionen Transistorfunktionen. Nach übereinstimmender Meinung von Experten eröffnet sich dadurch der Spielraum für weitere Steigerungen der Prozessorleistung. Heute sind drei wesentliche Zukunftstendenzen sichtbar, die alle auf dem gleichen Prinzip beruhen: Die verfügbare Integrationsdichte wird für Parallelität auf verschiedenen Architekturebenen genutzt.

Im ersten Fall wird der Gesamtdurchsatz des Computersystems durch Einsatz mehrerer Prozessoren in einem Multiprozessor-System gesteigert. Die Zuordnung der einzelnen Prozesse zu den verfügbaren Zentraleinheiten übernimmt dabei das Betriebssystem.

Die ersten auf dem Markt befindlichen Systeme arbeiteten mit asymmetrischem Multiprocessing. Bei dieser Methode übernimmt eine CPU die Ausführung aller Betriebssystem-Funktionen, während sich die anderen Zentraleinheiten die Abarbeitung der anstehenden Prozesse teilen. Diese Konzeption verbessert den Durchsatz von vielen Prozessoren jedoch nur dann, wenn diese durch die CPU-Ressourcen begrenzt sind. Bei vielen Ein- und Aüsgabeabhängigen Programmen wird die CPU, auf der das Betriebssystem läuft, zum Engpaß. Unter Umständen kann je nach Anwendungsmix der Gesamtsystemdurchsatz sogar schlechter werden, als bei einem System mit nur einer Zentraleinheit.

Diese Erkenntnis führte zur Konzeption der zweiten Generation von Multiprozessor-Systemen, den Systemen mit symmetrischem Multiprocessing. Durch die wahlfreie Auflistung der Betriebssystem-Funktionen auf alle verfügbaren Zentraleinheiten wird der Engpaß der ersten Multiprozessor-Konzepte gelöst. Entscheidend für den Gesamtdurchsatz dieser speichergekoppelten MP-Systeme ist der Overhead, der für die Cache-Konsistenz benötigt wird. Multiprozessor-Systeme sind heute ein gutes Konzept zur Leistungssteigerung, wenn auf einem System viele gleichartige oder auch unterschiedliche Aufgaben parallel ausgeführt werden sollen.

Durch die Weiterentwicklung der Compiler-Technologie kann in der nächsten Stufe der Multiprozessor-Systeme die Parallelisierung auf Programmebene realisiert werden.

Durch Superskalarität CPI-Werte kleiner als 1

Die beiden anderen Entwicklungstendenzen - Superskalar- und Superpipeline-Dedesign - verlangen die Parallelität von der Prozessorebene bis auf prozessorinterne Strukturen.

Die bei fast allen RISC-Prozessoren realisierte Parallelität bei der Abarbeitung von Integer- und Gleitkomma-Befehlen wird bei Superskalar-Design konsequent auf andere Befehlsklassen ausgedehnt. Die IBM-RISC-Prozessoren der Power-Serie nutzen bereits heute erste Superskalar-Designprinzipien und erreichen dadurch CPI-Werte kleiner als 1. Das komplexe Design läßt jedoch keine hohen Taktfrequenzen zu.

LSI-Logic, Cypress Semiconductor und Texas Instruments arbeiten an einer Superskalar-Implementierung des Sparc-Prozessors. Durch parallel arbeitende Befehlsausführungseinheiten verschiedener Befehlsklassen mit parallelen, überlappenden Pipelines können drei, fünf oder sogar sechs verschiedene Befehle im Mittel pro Taktzyklus abgearbeitet werden. Theoretisch führt dies zu CPI-Werten von 0,33, 0,2 oder sogar zu 0,16, so daß Leistungssteigerungen des Prozessors bei gleicher Taktfrequenz maximal um den Faktor 6 möglich sind. In der Praxis wird dies aus zwei Gründen nicht erreicht werden können. Zum einen benötigen Superskalar-Designs wegen der mehrfach vorhandenen Befehlsausführungseinheiten und der zugehörigen Pipelines Integrationsdichten von mehreren Millionen Transistorfunktionen.

Die Entwicklungszeiten für solch komplexe Prozessoren sind entsprechend hoch, die Bauteile selbst relativ teuer. Zum anderen kann das Leistungsangebot dieser RISC-Prozessoren nur durch angepaßte Compiler ausgeschöpft werden, die versuchen, aus einem gegebenen Anwendungsprogramm den für den Prozessor optimalen Instruktionsmix erzeugen. In der Praxis ist daher eine Leistungssteigerung um den Faktor 2,5 bis 3 zu erwarten, das heißt 60 bis 80 MIPS für ein Einprozessorsystem sind realistisch.

Bei der dritten Alternative zur Leistungssteigerung, dem Superpipeline-Design, wird das Ein-Pipeline-Modell beibehalten. Der vor kurzem angekündigte MIPS-R4000-Prozessor basiert auf diesem Modell. Beim Superpipelining wird intern nach jedem halben Taktzyklus eine Befehlsabarbeitung begonnen. Dieses Verfahren fährt zu einer Leistungsverdoppelung bei gleicher Taktfrequenz, entspricht also einem Superskalar-Design mit zwei parallelen Befehlsausführungseinheiten, die 100prozentig ausgelastet sind.

Dies ist jedoch noch nicht das Ende. Experten kombinieren in ihren Vorstellungen bereits die Superskalar- und Superpipeline-Designs zu RISC-basieren Multiprozessor-Systemen mit unvorstellbarem Leistungspotential. Im Jahr 2000 werden die sogenannten 3G-Systeme verfügbar sein: 1 Giga-MIPS (1000 MIPS), 1 GB (1000 MB) Hauptspeicher und 1 GB/s Ein- und Ausgabe-Bandbreite.

System mit Überblick

RISC ist schon lange nichts mehr nur für Exoten - RISC hat sich durchgesetzt. Die Gründe hierfür sind vielfältig:

Da zählt zunächst die pure Rechenleistung. Im Vergleich von CISC- und RISC-Architekturen sehen auch Intels 486-Top-CPUs besonders gegenüber dem Power-Prozessor der IBM oder HPs PA-RISC-Chip nur die Hacken - 76 MIPS gilt es zu überbieten.

Leistung allein - die nachfolgenden Artikel betonen es - ist jedoch nur ein Teil der Geschichte. Für RISC spricht auch, daß es sich gegenüber der PC- Wildnis um ein geordnetes, überschaubares Terrain von Anbietern handelt. Neben den Lizenzgebern Sun, Mips und Motorola sind als marktrelevante RISC-Hersteller nur noch die proprietären CPU-Architekturen von IBM und HP in Sicht.

Dabei hat das vergangene Jahr gezeigt, daß wenige Hersteller am Markt nicht automatisch auch hohe Preise durch eine monopoloder oligopolistische Angebotssituation bedeuten. Durch drastische Preisreduktionen - frühe Kunden von IBMs RISC-6000-Systemen können ein Lied davon singen - sind RISC-Workstations mittlerweile günstiger als annähernd vergleichbare PC-Systeme.

Für RISC spricht weiter, daß Unix sich durchzusetzen scheint - und dies vor allem im kommerziellen Umfeld. Zudem kann auch der andauernde Streit um die unterschiedlichsten Unix-Derivate nicht verdecken, daß die Standardisierungsbemühungen für den Anwender wichtige Ergebnisse gezeitigt haben: Posix und X- Windows, Version 11, OSF/Motif - daneben möglicherweise noch Open Look - XPG 3 und zukünftig 4, Ethernet, NFS, X.400, OSI, TCP/IP sind nur einige der Marksteine, die von der DV-Industrie als einzuhaltende Normen anerkannt sind.

Es bleibt die Frage der Softwarevielfalt. Man muß ja nicht den Rechenkünsten der Hersteller folgen: Die titulieren jeden Treiber als "verfügbare Anwendung". So können sie ihr Hardwareprodukt mit einem scheinbar überbordenden Software-Angebot flankieren. Solche Augenwischerei sollte den Anwender nicht abhalten, sich genau zu überlegen, welches Problem er überhaupt lösen will. Dann könnte ihm der Griff zu einem Softwarekatalog zeigen, daß es auch in der RISC-Welt meistens eine Lösung hierfür gibt - zunehmend auch im kommerziellen Bereich. jm