• 20Minuten
blank

Dritte und vierte Generation

1990 kam der 68040 auf den Markt. Er war das erste Mitglied der 680×0-Familie mit einer On-Chip Floating-Point Unit (FPU) und enthielt somit alle Funktionen, für die zuvor externe Chips erforderlich waren. Außerdem verfügte er über einen geteilten Befehls- und Daten-Cache von jeweils 4 Kilobyte.

Motorola 68040 Chipsatz mit FPU auf der linken Seite
Motorola 68040 Chipsatz mit FPU auf der linken Seite (Foto: Wikipedia)

Versionen des 68040 wurden für bestimmte Marktsegmente entwickelt, darunter der 68LC040, bei dem die FPU entfernt wurde, und der 68EC040, bei dem sowohl die FPU als auch die MMU entfernt wurden. Motorola hatte die EC-Variante für den Einsatz in eingebetteten Systemen vorgesehen, aber eingebettete Prozessoren benötigten zur Zeit des 68040 nicht die Leistung des 68040, so dass EC-Varianten des 68020 und 68030 weiterhin häufig verwendet wurden.

Motorola produzierte mehrere Geschwindigkeitsstufen. Die 16-MHz- und 20-MHz-Teile wurden nie qualifiziert und als Prototyping-Muster verwendet. Die 25-MHz- und 33-MHz-Versionen waren in der gesamten Produktlinie vertreten, die 40-MHz-Variante war jedoch bis etwa 2000 nur für den „vollen“ 68040 vorgesehen. Ein geplanter 50-MHz-Typ wurde gestrichen, nachdem er den thermischen Entwicklungsbereich überschritten hatte.

Der 68040 stieß schon früh in der Entwicklung an die Grenzen des Transistorbudgets. Während die MMU nicht viele Transistoren benötigte – es wurden sogar Transistoren eingespart, da sie sich auf demselben Chip wie die CPU befand – war dies bei der FPU der Fall. Die externe FPU 68882 war als sehr leistungsstarke Einheit bekannt, und Motorola wollte nicht riskieren, dass Integratoren die „LC“-Version mit einem 68882 anstelle der profitableren „RC“-Einheit verwenden. Die FPU im 68040 war daher nicht in der Lage, IEEE-Transzendentalfunktionen zu verarbeiten, die sowohl vom 68881 als auch vom 68882 unterstützt wurden. Diese wurden von der damals beliebten Software zur Erzeugung von Fraktalen verwendet. Das Motorola Floating Point Support Package (FPSP) emulierte diese Befehle in Software unter Interrupt. Da es sich dabei um einen Exception-Handler handelte, führte die intensive Nutzung der transzendentalen Funktionen zu erheblichen Leistungseinbußen.

Die Wärmeentwicklung war während der gesamten Lebensdauer des 68040 immer ein Problem. Er lieferte zwar mehr als das Vierfache der Leistung pro Takt des 68020 und 68030, aber die Komplexität des Chips und der Stromverbrauch waren auf einen großen Chip und große Caches zurückzuführen. Dies wirkte sich auf die Skalierung des Prozessors aus, und er war nie in der Lage, mit einer Taktrate von mehr als 40 MHz zu arbeiten. Enthusiasten, die ihn übertakten wollten, berichteten von Erfolgen beim Erreichen von 50 MHz, indem sie einen 100-MHz-Oszillator anstelle eines 80-MHz-Teils verwendeten und die damals neuartige Technik des Hinzufügens von übergroßen Kühlkörpern mit Lüftern einsetzten.

Der 68040 verfügte über die gleichen Funktionen wie der Intel 80486 (1989), war aber bei den Ganzzahl- und Gleitkommaanweisungen deutlich leistungsfähiger als der Konkurrent.

In Apple Macintosh-Computern wurde der 68040 im Macintosh Quadra eingeführt, der nach dem Chip benannt wurde. Die schnellste Variante mit 40 MHz wurde nur im Quadra 840AV (ab 1993) verwendet. Die teureren Modelle der kurzlebigen Macintosh Centris-Reihe (1992-1993) enthielten ebenfalls den 68040, während die billigeren Quadra, Centris und Macintosh Performa den 68LC040 nutzen. Der 68040 wurde auch in anderen Personal Computern wie dem Amiga 4000 und dem Amiga 4000T sowie in einer Reihe von Workstations, Alpha Microsystems Servern, der HP 9000/400 Serie und späteren Versionen des NeXT-Computers verwendet.

1994 erschien mit dem 68060 die vierte Generation. Er teilt die meisten architektonischen Merkmale mit dem P5 Pentium (1993). Beide haben eine sehr ähnliche superskalare In-Order-Doppelbefehls-Pipeline-Konfiguration und einen Befehlsdecoder, der komplexe Befehle vor der Ausführung in einfachere zerlegt. Ein wesentlicher Unterschied besteht jedoch darin, dass die 68060 FPU keine Pipeline hat und daher bei Fließkomma-Anwendungen bis zu dreimal langsamer ist als der Pentium. Im Gegensatz dazu sind Ganzzahlmultiplikationen und Bitverschiebungsbefehle auf dem 68060 deutlich schneller. Er hat die Fähigkeit, einfache Befehle in der Adressgenerierungseinheit (AGU) auszuführen und damit das Ergebnis zwei Zyklen vor der ALU zu liefern. Bei der Entwicklung des 68060 wurden große Mengen kommerziellen kompilierten Codes analysiert, um herauszufinden, welche Befehle sich am besten für eine Leistungsoptimierung eignen würden.

Motorola MC68060RC50
Motorola MC68060RC50 (Foto: Wikipedia)

Im Vergleich zum Pentium kann der 68060 bei gemischtem Code besser abschneiden. Der Decoder des Pentium kann nicht bei jeder Gelegenheit einen FP-Befehl ausgeben, und daher ist die FPU nicht superskalar, wie es die ALUs waren. Wenn die nicht gepipelte FPU des 68060 einen Befehl akzeptieren kann, kann der Dekoder einen ausgeben. Das bedeutet, dass die Optimierung für den 68060 einfacher ist: Es gibt keine Regeln, die verhindern, dass FP-Befehle ausgegeben werden, wann immer es für den Programmierer günstig ist, abgesehen von gut verstandenen Befehlslatenzen. Bei ordnungsgemäß optimiertem und zeitgesteuertem Code ist die FPU des Pentium jedoch in der Lage, einen doppelt so hohen Taktdurchsatz zu erzielen wie die FPU des 68060.

Der 68060 ist die letzte Entwicklung der 68000er-Familie für allgemeine Zwecke, die zugunsten der PowerPC-Chips (ab 1992) aufgegeben wurde. Er wurde in einigen späten Amiga-Maschinen und Amiga-Beschleunigerkarten sowie in einigen Atari ST-Klonen und Falcon-Beschleunigerkarten und in sehr späten Modellen der Mehrbenutzer-Computer von Alpha Microsystems vor deren Umstellung auf x86 verwendet. Apple Inc. und die Unix-Welt waren zu der Zeit, als der 68060 verfügbar war, bereits zu verschiedenen RISC-Plattformen übergegangen. Der 68060 wurde mit 50 MHz im 0,6-µm-Fertigungsprozess von Motorola eingeführt. Einige Jahre später wurde er auf 0,42 µm verkleinert und die Taktrate auf 66 MHz und 75 MHz erhöht. Einigen Anwendern gelang es, die rev6 120 oder 133 MHz zu übertakten.

Autor

Abonnieren
Benachrichtige mich bei
guest

0 Comments
Inline Feedbacks
Alle Kommentare anzeigen