Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

03.01.1986 - 

Der Kampf der Giganten, Teil 2 und Schluß

32-Bit-Prozessoren: Die Invasion der Innovation

Von CW-Mitarbeiter Christoph Hammerschmidt

Erst knapp 15 Jahre ist die Mikroprozessortechnik nun alt. Sie hat Entwicklungen in Gang gesetzt, die zu Beginn niemand vermuten konnte. Während die Taktfrequenzen eine wahre Inflation über sich ergehen lassen müssen, werden die Chips immer komplexer. Immer mehr Funktionen lassen sich auf einem solchen Kristallplättchen integrieren. Analog dazu wachsen die Anwendungsmöglichkeiten: Die heutigen Chips der 32-Bit-Generation steuern Roboter und ermöglichen bei Computern bisher unerreichte Leistungsfähigkeit.

Ein völlig neues Konzept verfolgen die Designer des "Transputers" T414 von Inmos. Der Transputer ist eine fast komplette Rechnerarchitektur auf einem Chip mit 200 000 Transistorfunktionen. Viel Aufwand wird dabei in die Kommunikation mit anderen Prozessoren investiert. Neben einem 32-Bit-RISC-Prozessor besitzt der Transputer auf dem Chip ein mit 50 Nanosekunden Zugriffszeit sehr schnelles RAM mit zwei Kilobyte Kapazität, eine Schnittstelle für Zugriff auf einen globalen gemultiplexten Bus, einen Event Handler und je vier serielle I/O-Kanäle, etwa vergleichbar einem UART-(Universal Asynchronous-Receiver / Transmitter)-Baustein.

Alle diese Funktionsblöcke besitzen eigene Steuereinheiten, so daß schon durch diese rein konstruktiven Maßnahmen ein möglichst hoher Grad an Gleichzeitigkeit erreicht wird. Über die genannten seriellen "Link Interfaces erfolgt die Kommunikation mit ebenso vielen weiteren Transputern. Die Topologie ist vom Systementwickler frei wählbar und nur der Beschränkung durch die maximal mögliche Anzahl von Leitungen pro Transputer unterworfen.

Das ist der Clou bei der Geschichte: Der Transputer eignet sich zwar durchaus für Anwendungen mit nur einer CPU und kann dabei nach Ansicht seiner Entwickler auch durchaus den gängigen Typen Paroli bieten, aber seine Stärken werden erst in Multiprozessor-Systemen voll ausgeschöpft. Mit der Verbindung über serielle Leitung wird zwar seine Geschwindigkeit reduziert (sie beträgt dann immer noch zehn Megabit pro Sekunde), aber er vermeidet den Flaschenhals herkömmlicher Systeme: Das gemeinsame Bussystem.

Damit ist eine aus Transputern aufgebaute Anordnung kein Von-Neumann-Rechner mehr. Es gibt auch keinen globalen Speicher für verschiedene Tasks, was einen Speicherzugriffschutz gewissermaßen selbsttätig impliziert.

Die Taktfrequenz beträgt fünf Megahertz. Interne Phase-Locked-Loop Schaltungen (PLLs) heben die Frequenz auf dem Chip auf 20 MHz an, womit dieser Prozessor dann von allen besprochenen die höchste interne Abarbeitungsgeschwindigkeit erreicht, wenn man in Betracht zieht, daß durch Ausnutzung beider Taktfrequenzen ein Effekt analog einer nochmaligen Verdoppelung der Frequenz erreicht wird. Der Prozessor selbst ist relativ simpel, wie bei einem RISC-System zu erwarten. Er besitzt lediglich einen dreistufigen Stack, ein Workspace-Register, einen Instruction-Pointer und ein Operandenregister Das Workspace Register zeigt auf einen Datenbereich im RAM. Mit seinen kurzen Zugriffszeiten kann der adressierte Bereich praktisch wie ein interner Registersatz behandelt werden.

Dieser unterscheidet sich nur durch die Adresse (und durch die Zugriffszeit) von dem Arbeitsspeicher außerhalb des Chips. Mit dem 32 Bit breiten Adreßbus lassen sich bis zu vier Gigabyte adressieren. (Abb. 4).

Der Instruktionssatz ist weitgehend vereinfacht, die dreizehn meistbenutzten Instruktionen werden durch Opcodes von nur jeweils vier Bit Länge repräsentiert. Kompliziertere Operationen erfordern einen längeren Opcode, oder falls dieser nicht vorhanden ist, eine Software-Routine.

Hier wird deutlich, warum der Vergleich zweier Prozessoren über die Angabe des Instruktionsdurchsatzes nur sehr bedingt zulässig ist, denn eine komplizierte und komfortable Instruktion eines "Mainstream"-Prozessors erledigt wesentlich mehr Dinge zur gleichen Zeit als eine solche RISC-Anweisung. Daher sagen die zehn Mips, die der Prozessor laut Datenblatt leistet, auch nicht allzuviel aus.

Programmiert wird der Transputer ohnehin nicht in Maschinensprache. Der Hersteller betrachtet dies als wenig sinnvoll und vermarktet keinen Assembler. Statt dessen gibt es die Programmiersprache Occam, eine Art C für Parallelverarbeitung.

Compiler sind auch für weitere Hochsprachen erhältlich, aber der Occam-Compiler wird von Inmos als optimiert hinsichtlich der Dichte des Codes beschrieben. Außerdem erlaubt nur Occam die volle Ausnutzung der Stärken des Transputers, und diese liegen in der parallelen Datenverarbeitung. Mit Hilfe von Occam lassen sich Prozesse als parallel definieren und werden dann je nach Anzahl der vorhandenen und zusammengeschaltenen Transputer gleichzeitig abgearbeitet.

Das ist auch die Art, wie das System Multitasking unterstützt: Durch Verteilung auf verschiedene Prozessoren. In Systemen mit mehr Tasks als Zentraleinheiten müssen dann die Tasks, die ein und derselben CPU zugeordnet sind, ein Timesharing durchführen.

Dieses wird vom Compiler unterstützt, indem er in seinen Code Instruktionen einbindet, die einen ebenfalls auf dem Chip befindlichen Timer aufziehen welcher dann in Abständen von einer Millisekunde einen Taskwechsel-Interrupt erzeugt. Der Wechsel selbst erfolgt in einfacher Weise durch Umladen des Workspace-Registers. Das Transputer-Konzept beinhaltet weitere Überraschungen.

Virtuelle Speicherverwaltung gibt es nicht als Hardware. Es gibt auch keine komplexen Systemunterstützungsbausteine, wie sie bei anderen Familien üblich sind. Einbauen lassen sich diese trotzdem, so läßt sich beispielsweise eine Floating Point Unit anderer Hersteller in ein Transputersystem integrieren. Geplant sind auch Transputer mit zusätzlichen Spezialbegabungen zum Beispiel als Grafik-Controller oder Fließkommaeinheit.

Unix, das bei allen anderen 32-Bit-Prozessoren zum Standard avancierte Betriebssystem ist zumindest zum gegenwärtigen Zeitpunkt noch nicht erhältlich. Dafür sind zwei Gründe ausschlaggebend. Zum einen besitzt Occam nach Meinung seiner Väter so viele Betriebssystemeigenschaften, daß sich ein reguläres Betriebssystem erübrigt. Beispielsweise bearbeitet es I/O, Multitasking durch Parallelisierung und Timeraufrufe. Zum anderen hat Inmos eigentlich weniger den breiten DV-Markt im Auge, sondern CAD/CAM-Systeme, Workstations, Grafische Bildverarbeitung, KI und ähnliche ehrgeizige Dinge. Das spiegelt sich im Spektrum der Kunden wider: Das japanische ICOT-Institut beispielsweise will den Transputer als "basic element" einsetzen. Das britische Pendant dazu, das Alvey-Programm zur Erforschung von Großrechnerstrukturen arbeitet ebenfalls mit dem T414, und ICL, Plessey, die Manchester University und das London Imperial College wollen mit dem Chip gemeinsam den Parallelrechner "Alice" bauen.

Fairchilds Clipper segelt am High End

Mit dem Clipper stellt Fairchild ein Mikroprozessor-Konzept vor, das sich sichtlich an den Erfordernissen höherer Leistungsklassen der Datenverarbeitung orientiert. Dementsprechend verkünden seine Väter auch einen Prozessor mit der fünffachen Leistungsfähigkeit der VAX 11/780 von DEC. Um auf eine derartige Leistung zu kommen, ist Fairchild unkonventionelle Wege gegangen. Deutlich wird dies an der Aufteilung der Pfade für Daten und Instruktionen. Es gibt also einen Instruktionsbus und einen Datenbus. Beide werden jeweils mit ihren Adressen auf dem gleichen Bus gemultiplext.

Die CPU wurde nach der RISC-Philosophie entworfen. Aus diesem Grund gibt es kein Mikrocode-ROM, keinen Sequenzer und dergleichen. Die Instruktionen sind unmittelbar hartverdrahtet, was natürlich der Geschwindigkeit zugute kommt.

So lassen sich viele der 101 Grundinstruktionen in einem einzigen Taktzyklus von 30 Nanosekunden Dauer erledigen. Durch die Hintertür ließ Fairchild dann aber doch wieder die Standard-Technik herein: Statt eines Mikrocodes-ROMs gibt es nun einen "Macroinstruction ROM", der in der gegenwärtigen Version 67 Makros enthält.

Damit sollen vor allem Betriebssystemroutinen in einer Form bearbeitet werden, die geringere Busbelastung mit sich bringt und auch hinsichtlich des Prefetching / Pipelining-Systems optimiert ist (keine Verzweigungen).

Die CPU selbst zerfällt in vier Funktionsblöcke: Die Integer Execution Unit enthält ein 32 x 32-Bit-Register-File mit drei Ports, einem 64-Bit-Shifter und einer ALU. Die Prefetch-Logik versorgt einen Instruktionspuffer von acht Byte Tiefe und enthält auch die Hardware zur Dekodierung und Bearbeitung der geladenen Instruktionen.

Das bereits erwähnte Makro-ROM steuert die Umsetzung bestimmter Codes in (Betriebssystem) Routinen. Last not least ist auf dem Kristall auch eine Floating Point Unit realisiert, die alle Gleitkommaoperationen nach IEEE 754 bewältigt. Das bedeutet: Transzendente Funktionen, etwa zur Berechnung von Winkelfunktionen oder Logarithmen sind darin nicht enthalten; sie sind in Software zu implementieren.

Die beiden Busse für Daten respektive Instruktionen führen logischerweise zu zwei verschiedenen MMUs. Diese sind nicht auf dem Chip integriert, aber so eng mit dem Clipper-Konzept verknüpft, daß in diesem Rahmen auch auf sie eingegangen werden muß.

Hinsichtlich des Aufbaus sind die beiden MMUs identisch. Im Betrieb wird in der Instruktions-MMU ein Programmzähler aktiviert, der die Prefetch-Aktivitäten in den Cache steuert. Durch dieses Prefetching wird nach Angaben von Fairchild eine Trefferquote von mehr als 96 Prozent für Instruktionen erreicht.

Die beiden Chips enthalten jeweils einen vier Kilobyte umfassenden Cache mit einer Zugriffszeit von maximal 120 Nanosekunden. Dieser ist satz-assoziativ organisiert in Zeilen zu je 16 Bytes. Mit der Anordnung ist virtuelle Speicherverwaltung nach dem "Demand Paging"-Verfahren möglich. Ein Translation Lookaside Buffer" mit 128 Einträgen enthält die gleiche Anzahl zuletzt benutzter Adreßübersetzungen.

Jede MMU verwaltet zwei virtuelle Adreßräume von je vier Gigabyte, je einen für den Supervisor- (Betriebssystem-) und User-mode, entsprechend den Unix-Anforderungen, für die dieser Prozessor in erster Linie konzipiert ist.

Der Haken am Clipper ist seine Verfügbarkeit: Muster werden erst Mitte nächsten Jahres erwartet, Produktionsquantitäten gar erst im vierten Quartal. Wenn er dennoch in diesem Vergleich behandelt wurde, so liegt das an seiner ausgesprochenen innovativen Architektur, die durchaus zeigen könnte, in welche Richtung bei 32-Bit-Rechnern künftig die Entwicklung gehen wird.

Anmerkung: Beim ersten Teil dieses Berichts hat uns der Setzteufel in vorweihnachtlicher Hektik einen Streich gespielt und einige Absätze durcheinandergewürfelt. Die Zeilen sechs bis 30 in der ersten Spalte der Seite 17 gehören nämlich eigentlich zum Kapitel über den 68020, und zwar an den Schluß. Außerdem heißt es natürlich nicht Taktwechsel, sondern Taskwechsel.