Erst der Bruch mit Altem bringt den wahren Fortschritt. Dies hat Intel nie verstanden, doch IBM und Motorola haben es mit der PowerPC-Reihe eindrucksvoll vorgemacht.
von David G�hler
Moderne CPUs m�ssen schlank und schnell sein - RISC (Reduced Instruction Set CPU) hei�t das Zauberwort. Eine 680x0-CPU ist das genaue Gegenteil: Sie geh�rt zur Klasse der CISCs (Complex Instruction Set CPU). CISCs sind f�r Assembler-Programmierer optimal. Mittlerweile werden aber fast alle Programme nur noch mit Compilern erzeugt, und daf�r bieten sich RISCs an, da sie zwar nur wenige Befehle beherrschen, diese aber sehr schnell ausf�hren k�nnen.
Dies ist nicht der einzige Grund, warum die 68000-Linie nicht weiterentwickelt wird. Sie ist auf 32 Bit begrenzt. Dies war 1982 fantastisch (damals war der Z80 sehr popul�r), aber heutzutage sieht man schon 64 und 128 Bit f�r CPUs kommen.
Damit ist auch f�r Motorola und IBM vor wenigen Jahren die Entscheidung gefallen, den Bruch zu wagen und gegen Intel eine neue CPU zu plazieren: die PowerPCs. Sie sind - wie die 68000er-Reihe - mit Blick auf k�nftige Erweiterungen entworfen worden. Bei den ersten PowerPC-Entwicklungen war die Fachwelt �berrascht, da� beide Firmen perfekt den selbst vorgegebenen Zeitplan einhielten und manchmal sogar fr�her ein neues Mitglied der CPU-Familie vorstellen konnten.
Die Prozessoren basieren auf einer IBM-Entwicklung mit dem Namen POWER (Performance Optimization With Enhanced RISC). Motorola hat viel Know-how beigetragen, um den Prozessor auch f�r preiswerte Desktop-Maschinen einsatzf�hig und attraktiv zu machen.
Ziel war, einen RISC-Prozessor zu schaffen, der
Die Erfinder haben dabei die Definition des Begriffs RISC nicht allzu w�rtlich genommen, denn ein PowerPC kennt weit mehr als 200 Befehle. Gemeinhin nennt man eine CPU nur RISC, wenn sie weniger als 100 Befehle kennt.
Daneben besitzt eine PowerPC-CPU nat�rlich noch diverse F�higkeiten, die einem Prozessor geh�rig auf die Spr�nge helfen:
Die schnelleren Br�der der Familie weisen alle Feinheiten moderner CPUs auf: Register-Umbenennung zur Optimierung, Vorhersage von Spr�ngen, mehrfach vorhandene Recheneinheiten f�r ganzzahlige Operationen, die Logik f�r einen weiteren externen Cache (Level-2-Cache genannt) und etliches mehr.
Alle Chips werden in CMOS-Technik gefertigt und zeichnen sich vor allem durch geringen Stromverbrauch aus. Die Prozessoren eignen sich daher auch besonders f�r Laptops. Einige wie der MPC 603e sind speziell f�r geringe Stromaufnahme entwickelt und ben�tigen selbst bei voller Leistung weniger als 5 Watt. Bis auf den 601 werden alle Bausteine nicht mit 5, sondern nur noch mit 3,3 Volt betrieben.
Die Prozessor-Schar besteht im wesentlichen aus f�nf verschiedenen CPUs: dem MPC 601, 602, 603, 604 und 620. F�r industrielle Anwendungen gibt es noch weitere Prozessoren, die aber nicht in Desktop-Systemen wie Amigas und Macs zum Einsatz kommen werden.
Im Gegensatz zur 68000-Familie hei�t h�here Typennummer nicht automatisch auch mehr Leistung (s. Kasten Familien-Power). Die Chips sind jeweils f�r bestimmte Zwecke optimiert.
MPC 601: Er war der erste der Familie und entspricht in der Leistung in etwa seinem Nachfolger 603e. Man findet ihn haupts�chlich in Macintosh-Rechnern. Er ist eine 32-Bit-CPU mit 32 KByte Cache (nicht getrennt f�r Befehle und Daten). Allerdings wird es ihn nicht f�r Taktfrequenzen von etwa 200 MHz geben.
MPC 602: Die Variante f�r Settop-Boxen, die weniger Leistung bei minimalem Stromverbrauch (etwas mehr als 1 Watt) bringt.
MPC 603: Ihn gibt es sowohl als 603 als auch 603e, wobei die e-Version die modernere mit gr��erem Cache (zweimal 16 KByte) ist. Sie gibt es mittlerweile mit Taktfrequenzen bis 200 MHz, an Varianten mit noch schnellerem Antrieb wird bereits intensiv gearbeitet.
Der MPC 603e verbraucht sehr wenig Strom und ist ein 32-Bit-PowerPC. Bis zu drei Befehle k�nnen gleichzeitig abgearbeitet werden, diverse Kommandos ben�tigen nur einen Takt f�r die Ausf�hrung. Die FPU beherrscht einfache und doppelte Genauigkeit f�r Flie�komma-Berechnungen. Au�erdem ist der MPC 603e bereits darauf vorbereitet, in einem Multiprozessor-System zu arbeiten. Dies wird beispielweise schon bei der BeBox von Be Inc. ausgenutzt [2].
MPC 604: Beim 604 erh�lt die Bezeichnung superscalar ihre richtige Bedeutung: Bei diesem Prozessor gibt es drei Integer-Einheiten, die gleichzeitig rechnen k�nnen. Zusammen mit einem breiteren Bus (der Anbindung an das Computersystem) macht dieser PowerPC in der Leistung nochmals einen Sprung nach vorn.
Dadurch, da� auf der CPU vieles gleichzeitig l�uft, kann es passieren, da� Berechnungen nicht in der Reihenfolge beendet werden, wie sie gestartet wurden. Um in einem solchen Fall nicht warten zu m�ssen, beherrscht der Prozessor Tricks wie das Umbenennen von Prozessor-Registern, um sofort weiterzuarbeiten.
MPC 620: Das ist momentan das Flaggschiff der Familie: eine echte 64-Bit-CPU (alle nicht spezialisierten Register sind 64 Bit breit). Vom Aufbau �hnelt sie sehr stark dem MPC 604, nur ist alles eben 64 Bit breit. Au�erdem sind die Caches f�r Daten und Befehle doppelt so gro�.
Leider gibt es noch keinen Rechner mit diesem Prozessor, da er sich immer noch in der Testphase befindet. Die von Motorola angegebenen Leistungswerte zeigen aber, da� er schneller als alle anderen PowerPCs ist und auch einen Intel Pentium Pro bei gleicher Taktfrequenz �bertrumpft (s. Tabelle).
Allen CPUs gemeinsam ist, da� sie 32 allgemeine Integer- und 32 Flie�komma-Register haben. Eine Unterscheidung in Daten- und Adre�-Register wie bei der 68000-CPU gibt es nicht mehr. Dar�berhinaus existiert (je nach Leistungsf�higkeit) ungef�hr noch einmal die gleiche Menge an speziellen Registern f�r Timer, MMU, Cache- und Ausnahmeverwaltung, Konfiguration der CPU und Performance-Monitor (nur MPC 604 und 620).
Doch was n�tzt die sch�nste CPU-Familie, wenn die CPU nicht in einem Amiga sitzt? Neben reinen Hardware-Problemen (wie etwa 3,3 Volt Stromversorgung oder Bus-Anpassung) m�ssen das Amiga-OS und jegliche Anwendungssoftware angepa�t werden, wenn ein PowerPC im Amiga sitzt - oder etwa nicht?
Die Befehle eines PowerPCs sind v�llig inkompatibel zu einer 68000-CPU. Die hohe Geschwindigkeit des PowerPCs erlaubt es aber, Emulationssoftware ins Betriebssystem einzubauen, die Programme f�r bisherige Amigas w�hrend des Programmablaufs f�r den PowerPC umarbeitet. Damit w�ren zumindest alte Programme auch weiterhin lauff�hig.
Diesen Trick kann man verst�ndlicherweise auch aufs Amiga-Betriebssystem selbst anwenden. Er bringt dann aber �berhaupt keinen Geschwindigkeitsvorteil gegen�ber einem Amiga mit 68040 oder 68060. Erst wenn man das Betriebssystem umschreibt (zumindest den Kern), gibt es einen ordentlichen Leistungsschub.
Apple ist mit den Power-Macs genau diesen Weg gegangen. Sie als Anwender merken nichts davon, ob ein Programm f�r eine 68000-CPU oder PowerPC geschrieben wurde - das Installationsprogramm findet selbst heraus, auf was f�r einem Rechner es l�uft und kopiert nur die richtige Software. Gibt es ein Programm nur in der 68000-Version, wird automatisch - ohne Eingriff des Anwenders - der Emulator benutzt, sonst l�uft die PowerPC-Variante in voller Geschwindigkeit.
Damit ist ein �bergang von einer zur n�chsten CPU m�glich, ohne Software �ber Board werfen zu m�ssen. Voraussetzung ist allerdings ein Amiga-OS, das auf einem Power-Amiga l�uft und einen Emulator eingebaut hat. Diesbez�glich sind einige Anstrengungen vor allem von Drittfirmen wie proDAD und phase5 schon unternommen worden.
Haage & Partner entwickelt schon einen StromC/C++-Compiler, der PowerPC-Code erzeugt. Nach eigenen Aussagen ist er schon soweit gediehen, da� er auf einem 68000-Amiga PowerPC-Assembler-Code generiert. Damit sind die Software-Vorausetzungen insgesamt g�nstig f�r einen Power-Amiga. Was jetzt noch fehlt, ist die passende Hardware, an der zumindest bei phase5 flei�ig gearbeitet wird.
Mit der PowerPC-Familie hat Motorola (zusammen mit IBM) wieder Prozessoren entwickelt, die im Rennen gegen Intel gut dastehen und auch in Zukunft Boden gutmachen k�nnen. Die PowerPC-Platform ist ein weiterer Standard, der die Position von Motorola festigt und die PowerPC-Entwicklung f�r die Zukunft sichert. Wir k�nnen gespannt sein, was auf der K�lner Messe vom 15. bis 17. November 1996 zu sehen sein wird.
Literatur:
[1] Motorola-Informationen mit Leistungsangaben: http://www.mot.com/SPS/PowerPC/products/semiconductor/chips.html
[2] To Be or not to Be, c't x/95 http://www.be.com/
[3] SPECint92-Werte von Intel: http://www.intel.com/PROCS/PERF/pr/spcint92.htm
CPU theor. Leistung bei m�gliche Taktfreqenzen 100 MHz (in SPECint92)* MPC 601 106 66 - 120 MHz MPC 602 68 66 MHz MPC 603e 115 80 - 200 MHz MPC 604 160 100 - 166 MHz MPC 620 169 133 - MHz Pentium 137 100 - 166 MHz Pentium Pro 160 150 - 200 MHz
* ist der Chip nicht f�r 100 MHz erh�ltlich, wurde der Wert errechnet.
Cache: schneller Zwischenspeicher auf der CPU, der verhindert, da� der Prozessor zu oft auf den relativ langsamen Hauptspeicher zugreifen und damit warten mu�.
MMU: Memory Management Unit. Sie sorgt daf�r, da� bei Speicherplatzmangel Daten auf die Platte zwischengelagert werden (virtueller Speicher). Au�erdem kann eine MMU illegale Speicherzugriffe abfangen und damit Amok-L�ufe und Abst�rze des Rechners verhinden.
Register: Ultraschneller Speicher eines Prozessors, auf den ohne Verz�gerung zugegriffen werden kann. Die Anzahl der Register ist meist auf 16 oder 32 beschr�nkt.
RISC: Reduced Instruction Set CPU; ein Prozessor mit nur sehr wenigen Befehlen, die er daf�r in meist nur einem Takt ausf�hrt (evtl. auch mehrere gleichzeitig).
Superscalar: darf man eine CPU nennen, wenn sie aus mehreren Einheiten besteht, die unabh�ngig voneinander Daten verarbeiten. Dies kann ein Integer- und eine FPU-Einheit sein, es k�nnen aber auch mehrere, gleiche Einheiten auf einem Chip existieren.
Taktfrequenz: Jeder Prozessor arbeitet mit einem Takt, den man wie den Arbeitstakt in einer Firma auffassen kann. Je h�her dieser ist, um so schneller arbeitet der Prozessor und damit der Computer.
� Copyright by MagnaMedia Verlag AG, Haar bei M�nchen
Ver�ffentlichung und Vervielf�ltigung nur mit schriftlicher Genehmigung des Verlags