Motorola 68060

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von 68060)
Wechseln zu: Navigation, Suche
Motorola MC 68EC060 im Keramikgehäuse

Der Motorola 68060 ist ein 32-Bit-Prozessor von Motorola. Er wurde 1994 als Nachfolger des Motorola 68040 veröffentlicht. Der 68060 ist der leistungsstärkste Prozessor der 680x0 Prozessorfamilie.

Inhaltsverzeichnis

[Bearbeiten] Architektur

Der Motorola 68060 (meistens einfach nur 060 genannt, sprich null-sechzig) ist kein einfaches Redesign des 68040, sondern wurde komplett neu – basierend auf den Erfahrungen mit dem 68040 – entwickelt. Es wurde eine zweite Einheit für Ganzzahlberechnungen hinzugefügt (Superskalarität) und eine Erweiterung für Ganzzahl-Multiplikationen, die nur zwei Takte pro Multiplikation benötigt. Die Einheit für Gleitkommaberechnungen (FPU) wurde durch eine schnellere Variante ersetzt, dabei wurden einige komplexere Funktionen des 68881/68882 nicht mit implementiert. Selbst gegenüber der FPU des 68040 wurden weitere Funktionen gestrichen, was aber enorm zur Gesamtperformance der 68060-FPU beiträgt (etwa Faktor 3,5). Die fehlende Funktionalität muss durch eine vom Hersteller bereitgestellte Softwarebibliothek emuliert werden. Weiterhin wurde eine Logik für Sprungvorhersagen (branch prediction) eingefügt. Der 68060 hat in etwa die zwei- bis dreifache Rechenleistung eines 68040 bei gleichem Takt. Das Designteam hinter dem 68060 wurde von Joe Circello geleitet.

Der 68060 hat eine dem Intel Pentium ähnliche Architektur. Ein Teil der inneren Logik (einige Funktionsblöcke) arbeitet im Vergleich zum 68040 nicht mit der doppelten, sondern mit der dreifachen Busgeschwindigkeit. Dies ist aber nicht mit der Taktverdopplung und -verdreifachung der DX-Prozessoren im PC-Bereich vergleichbar. Beide Prozessoren besitzen zwei superskalare in-order Pipelines. Jede Pipeline verfügt dabei jeweils über einen Befehlsdekoder. Der Dekoder zerlegt komplexe Maschinenbefehle in einfachere, bevor sie verarbeitet werden. Die interne Verarbeitung erfolgt in 4-Stages nach dem RISC-Prinzip. Der eigentliche Unterschied zum Pentium liegt in der nicht superskalar ausgeführten Gleitkommaeinheit (FPU) des 68060. Entweder können zwei Integer-Instruktionen und eine Branch-Instruktion oder eine Integer-, eine Fließkomma- und eine Branch-Instruktion parallel verarbeitet werden. Allerdings können nicht alle Instruktionen unabhängig von einander verarbeitet werden, so dass sich eine durchschnittliche IPC von etwa 1,3 ergibt. Der 68060 erreicht daher im Gleitkommabereich nur etwa ein Drittel der Geschwindigkeit eines Pentiums bei gleichem Takt. Im Gegensatz dazu sind die ganzzahligen Multiplikations- und Bitschiebeoperationen (bit shifting) wesentlich schneller. Der 68060 kann außerdem in der Adressierungs-Einheit einfache Befehle ausführen, so dass Resultate der Adressierungslogik zwei Rechenzyklen vor denen der (ALU) zur Verfügung stellen. Diese Art der Verarbeitung führt zu dem Zero-Cycle-Branch-Verhalten, das heißt, dass eine Verzweigung in der Regel keine Rechenzyklen kostet. Für diese Optimierungen wurde eine große Menge an kompiliertem kommerziellem Code analysiert. Darüber hinaus verfügt der 68060 gemäß der Harvard-Architektur über zwei MMUs, eine für Daten- und eine für Instruktionen-Paging. Der 68060 ist im Integerbereich zu seinen Vorgängern größtenteils binärkompatibel. Ein Teil der komplexeren Adressierungsarten des 68020/68030 werden nicht unterstützt. Die Kompatibilität im FPU-Bereich ist nur durch den Einsatz der Emulationsbibliothek gewährleistet. Die MMU ist im Vergleich zum 68030 und 68040 in der Funktionalität reduziert wurden, zum Beispiel werden nur noch 4k und 8k Seitengrößen unterstützt.

Der 68060 ist der erste und einzige Vertreter der 68000er-Familie, der über energiesparende Powermanagement-Funktionen verfügt. Die CPU ist in der Lage, verschiedene Logikblöcke dynamisch je nach Auslastung herunter- oder herauf zu takten, oder sie vollständig zu deaktivieren. Auf die Funktionen kann per Software zugegriffen werden.

Der 68060 war die letzte Entwicklung der Motorola 68000er-Familie. Motorola brach die Weiterentwicklung zugunsten der PowerPC Prozessoren ab. Der 68060 wurde zuletzt in einigen späten Amiga-Modellen und dessen Turbokarten-Erweiterungen eingesetzt. Es gab auch einige Atari-ST-Abkömmlinge, die ebenfalls von der letzten Generation Gebrauch machten. Der TOS-Kompatible Medusa Hades mit 68060 Prozessor sowie die Erweiterungskarten CT60 und CT63 für den Atari Falcon gehörten dazu. Apple sowie ein Großteil der Unix-Welt stiegen nach dem 68040 auf RISC-basierende Prozessoren um. Der 68060 wurde mit einer Geschwindigkeit von 50 MHz eingeführt (basierend auf Motorolas 0,6-µm-Herstellungsprozess). Spätere Modelle erfuhren eine Reduzierung der Strukturbreite auf 0,42-µm und konnten so mit 66 MHz, teilweise sogar mit 75 MHz betrieben werden. Einige der EC- und LC-Varianten wurden sogar mit 80 MHz oder gar 90 MHz betrieben. Die 0,42-µm-Prozessoren waren sehr selten, da sich Motorola auf seine PowerPC-Prozessoren konzentrierte.

Die Entwicklung des 68000er Kerns wurde von Motorola für embedded-Zwecke weitergeführt. Der Kern wurde hierfür um zusätzliche Peripherie erweitert. Zusätzlich wurde die Komplexität reduziert, um den Stromverbrauch und die Herstellungskosten zu senken. Aus diesen Änderungen gingen die Motorola Coldfire- und die Motorola Dragonball-Familie hervor, die heute in vielen embedded Geräten (wie Mobiltelefonen und PDAs) eingesetzt wird.

[Bearbeiten] Geschichte

Die Prozessoren mit geraden Nummern (68000, 68020, 68040, 68060) waren für größere Änderungen an der Architektur vorgesehen. Die ungeraden Nummern (68010, 68030, 68050, 68070) waren dagegen für Architekturoptimierungen. Die 68050 und 68070 Prozessoren waren zwar geplant, wurden aber nie produziert.

Zum Beispiel: der Motorola 68010 (und auch der eigenartige 68012) waren ein 68000 mit Optimierungen für Schleifenoperationen und die Möglichkeit nach einem Seitenfehler (pagefault) eine Instruktion zu pausieren. Dies ermöglichte den Einsatz von virtuellem Speicher (virtual memory) unter dem Einsatz einer Speicherverwaltungseinheit (MMU). Ansonsten gab es keine weiteren Änderungen an der Architektur. Ähnlich war es auch bei dem 68030. Dieser war im Prinzip nur eine Die-Shrink Version des 68020, bei der die MMU und ein zusätzlicher Datencache (256 Byte) in die CPU integriert wurden. Den 68030 gab es mit einer Geschwindigkeit von bis zu 50 MHz.

Die Änderungen vom 68000/68010 zum 68020/68030 waren dagegen sehr umfangreich.

[Bearbeiten] Varianten

  • 68060 – vollständige CPU mit FPU und MMU
  • 68LC060 – deaktivierte FPU, MMU vorhanden
  • 68EC060 – FPU und MMU deaktiviert

[Bearbeiten] Technische Merkmale

Arbeitsfrequenzen 50 MHz, 60 MHz, 66 MHz, 75 MHz
Betriebsspannung
  • Vcore 3,3 V
  • I/O 5 V
Arbeitstemperatur −40 °C bis 70 °C (85 °C bei aktuelleren Masken)
Herstellungsprozess static-CMOS 0,6 μm und später 0,42 μm
Bauweise PGA 206 (kompatibel zum 68040), TBGA 304 31*31*1.7P1.27
Datenbus 32 Bit
Adressbus 32 Bit
Instructionset CISC (intern ähnlich der RISC-Arbeitsweise durch Zerlegung von Macro-Ops in Micro-Ops)
Cache
  • KiB DCache (4-fach assoziativ)
  • 8 KiB ICache (4-fach assoziativ)
  • 96 Byte FIFO Instruction Buffer
  • 256 Entry Branch Cache
  • 64 Entry ATC MMU Buffer (4-fach assoziativ)
Register
  • 8x 32Bit Datenregister
  • 7x 32Bit Adressregister
  • 1x 32Bit Stack Register (2x vorhanden, einmal für User Mode (USP) und einmal für Supervisor Mode (SSP))
  • 1x 32Bit Programmzähler-Register
  • 1x 16Bit Statusregister (jeweils 8Bit für User und Supervisor Mode)
  • 1x 32Bit Prozessor-Konfigurationsregister
  • 1x 32Bit Vector-Base-Register
  • 2x 32Bit Source/Destination-Function-Register
  • 1x 32Bit Cache-Control-Register
  • 2x 32Bit Root-Pointer-Register (jeweils für User und Supervisor Mode)
  • 1x 32Bit Bus-Control-Register
  • 5x 32Bit MMU-Register (nur 68060 und 68LC060)
  • 8x 80Bit FPU-Register (nur 68060)
  • 3x 32Bit FPU-Statusregister (nur 68060)
Transistoren ~2.500.000
Performance
  • ~88 Mips @ 66 MHz
  • ~110 Mips @ 75 MHz
  • ~36 MFlops @ 66 MHz

[Bearbeiten] Trivia

  • LC und EC Varianten sind defekte CPUs, bei denen die FPU- oder MMU-Logik zuviele Fehler aufweisen und deshalb deaktiviert wurden
  • die Viper 1260 (eine Amiga 1200 Turbokarte) nutzte einen 68060 mit 50 MHz übertaktet auf 56 MHz
  • die Apollo 1260 (eine Amiga 1200 Turbokarte) lässt sich mit einem 68060 Rev.6 bis 80 MHz takten
  • die CT60 (eine ATARI Falcon Erweiterungskarte) erreicht mit Prozessoren der Rev.6 Taktraten von 90 MHz bis über 100 MHz


Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen