Motorola 68020 - Motorola 68020

Motorola 68020
Allgemeine Information
Gestartet 1984
Entworfen von Motorola
Leistung
max. CPU- Taktrate 12,5 MHz bis 33 MHz
Datenbreite 32 Bit
Adressbreite 32 Bit
Zwischenspeicher
L1- Cache 256-Byte- Icache
Architektur und Klassifizierung
Befehlssatz Motorola 68000-Serie
Physikalische Spezifikationen
Transistoren
Pakete)
Produkte, Modelle, Varianten
Variante(n)
Geschichte
Vorgänger Motorola 68010
Nachfolger Motorola 68030
XC68020, ein Prototyp des 68020

Das Motorola 68020 („ sechzig-acht-oh-zwanzig “, „ sechzig-acht-oh-zwei-oh “ oder „ sechs-acht-oh-zwei-oh “) ist ein 32-Bit- Mikroprozessor von Motorola , der 1984 auf den Markt kam Eine kostengünstigere Version, bekannt als 68EC020, wurde ebenfalls zur Verfügung gestellt . In Übereinstimmung mit den Benennungspraktiken, die bei Motorola-Designs üblich sind, wird der 68020 normalerweise als "020" bezeichnet, ausgesprochen "oh-two-oh" oder "oh-twenty".

Beschreibung

Motorola 68020

Der 68020 verfügt über 32-Bit-interne und -externe Daten- und Adressbusse, im Vergleich zu den frühen 680x0-Modellen mit 16-Bit-Daten- und 24-Bit-Adressbussen. Die ALU des 68020 ist ebenfalls nativ 32-Bit, kann also 32-Bit-Operationen in einem Taktzyklus ausführen, während der 68000 aufgrund seiner 16-Bit-ALU mindestens zwei Taktzyklen benötigt. Neuere Verpackungsmethoden ermöglichten es dem '020, mehr externe Pins zu verwenden, ohne die große Größe zu haben, die die frühere duale Inline-Gehäusemethode erforderte. Der 68EC020 senkt die Kosten durch einen 24-Bit-Adressbus. Der 68020 wurde mit Geschwindigkeiten von 12 MHz bis 33 MHz produziert.

Motorola 68020 sterben erschossen
Unteransicht eines Motorola XC68020

Verbesserungen gegenüber dem 68010

Der 68020 verfügt über eine 32-Bit- Arithmetic-Logic-Unit (ALU), externe 32-Bit-Daten- und Adressbusse. Es fügt zusätzliche Anweisungen und zusätzliche Adressierungsmodi hinzu. Der 68020 (und 68030) hat eine richtige dreistufige Pipeline. Obwohl der 68010 einen "Loop-Modus" hatte, der Schleifen durch einen eigentlich winzigen Befehls-Cache beschleunigte, enthielt er nur zwei kurze Befehle und wurde daher wenig verwendet. Der 68020 ersetzte dies durch einen richtigen Instruktions-Cache von 256 Bytes, der erste Prozessor der 68k-Serie, der über echten On-Chip-Cache-Speicher verfügt.

Die vorherigen Prozessoren 68000 und 68010 konnten nur dann auf Wort- (16-Bit) und Langwort- (32-Bit) Daten im Speicher zugreifen, wenn sie wortausgerichtet (an einer geraden Adresse angeordnet) waren. Der 68020 hat keine Ausrichtungsbeschränkungen für den Datenzugriff. Natürlich sind nicht ausgerichtete Zugriffe langsamer als ausgerichtete Zugriffe, da sie einen zusätzlichen Speicherzugriff erforderten.

Der 68020 verfügt über einen kleinen 256-Byte-Direct-Mapped-Instruction-Cache, der als 64 4-Byte-Einträge angeordnet ist. Obwohl es klein war, machte es dennoch einen erheblichen Unterschied in der Leistung vieler Anwendungen aus. Der daraus resultierende Rückgang des Busverkehrs war besonders wichtig bei Systemen, die stark auf DMA angewiesen waren .

Coprozessor-Unterstützung

Der 68020 verfügt über eine Coprozessor- Schnittstelle, die bis zu acht Coprozessoren unterstützt. Die Haupt- CPU erkennt "F-Leitungs"-Befehle (mit den vier höchstwertigen Opcode-Bits alle eins) und verwendet spezielle Buszyklen, um mit einem Coprozessor zu interagieren, um diese Befehle auszuführen. Zwei Arten von Coprozessoren wurden definiert: Gleitkommaeinheiten ( MC68881 oder MC68882 FPUs ) und die ausgelagerte Speicherverwaltungseinheit ( MC68851 PMMU ). Es kann nur eine PMMU mit einer CPU verwendet werden. Prinzipiell könnten mehrere FPUs mit einer CPU verwendet werden, was jedoch nicht üblich war. Die Coprozessor-Schnittstelle ist asynchron, so dass es möglich ist, die Coprozessoren mit einer anderen Taktrate als die CPU zu betreiben.

Multiprocessing-Funktionen

Multiprocessing-Unterstützung wird extern durch die Verwendung eines RMC-Pins implementiert, um einen laufenden unteilbaren Lese-Modifizier-Schreib- Zyklus anzuzeigen . Alle anderen Prozessoren müssen Speicherzugriffe zurückhalten, bis der Zyklus abgeschlossen ist. Die Softwareunterstützung für Multiprocessing umfasst die Anweisungen TAS , CAS und CAS2 .

In einem Multiprozessorsystem könnten die Coprozessoren nicht zwischen den CPUs geteilt werden. Um Probleme mit Rückgaben von Coprozessor-, Busfehler- und Adressfehlerausnahmen zu vermeiden, war es in einem Multiprozessorsystem im Allgemeinen erforderlich, dass alle CPUs das gleiche Modell haben und auch alle FPUs das gleiche Modell haben.

Befehlssatz

Die neuen Anweisungen beinhalten einige kleinere Verbesserungen und Erweiterungen des Supervisor-Status, mehrere Anweisungen für die Softwareverwaltung eines Multiprozessorsystems (die im 68060 entfernt wurden), einige Unterstützung für Hochsprachen, die nicht viel verwendet wurden (und aus dem zukünftige 680x0-Prozessoren), größere Multiplikations- (32 × 32 → 64 Bits) und Divisionsbefehle (64 × 32 → 32 Bits Quotient und 32 Bits Rest) und Bitfeldmanipulationen.

Die neuen Adressierungsmodi fügen vielen der bereits existierenden Modi eine skalierte Indizierung und eine weitere Indirektionsebene hinzu .

Obwohl der 68000 einen 'Supervisor-Modus' hatte, erfüllte er nicht die Virtualisierungsanforderungen von Popek und Goldberg, da der einzelne Befehl 'MOVE from SR' nicht privilegiert, aber sensibel war. Unter 68010 und höher wurde dies privilegiert, um Virtualisierungssoftware besser zu unterstützen.

Die Architektur

Motorola 68020 registriert
3 1 ... 2 3 ... 1 5 ... 0 7 ... 0 0 (Bitposition)
Datenregister
D0 Daten 0
D1 Daten 1
D2 Daten 2
D3 Daten 3
D4 Daten 4
D5 Daten 5
D6 Daten 6
D7 Daten 7
Adressregister
A0 Adresse 0
A1 Adresse 1
A2 Adresse 2
A3 Adresse 3
A4 Adresse 4
A5 Adresse 5
A6 Adresse 6
Stapelzeiger
A7 / USP Stapelzeiger (Benutzer)
A7' / SSP Stapelzeiger (Supervisor)
Programm zähler
PC Programm zähler
Zustandscode-Register
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (Bitposition)
  T S m 0 ich 0 0 0 x n Z V C CCR

Bei vollen 32-Bit internen und externen Adressbussen konnten die Adressregister (A0 bis A7) ihre volle 32-Bit-Breite nutzen und waren in der Lage, den gesamten Adressraum von 4 GB zu adressieren.

Die größeren effektiven Breiten der Adreßregister stellten einige Probleme für frühere Software dar, die nicht als " 32-Bit-sauber " angesehen wurde. Einige Programme verwendeten die hohen 8 Bits (Bits 24-31) von Adressen, um verschiedene Flag-Bits zu enthalten, mit dem Verständnis, dass die früheren 680x0-CPUs diese hohen Bits sicher ignorieren würden. Diese Software musste neu geschrieben werden, um sich an den größeren physischen Adressraum anzupassen, der für die 68020 und spätere CPUs verfügbar war.

Verwendungszweck

Der 68020 wurde in den Personalcomputern Apple Macintosh II und Macintosh LC , Sun 3- Workstations, Amiga 1200 (Anmerkung: der Amiga 1200 verwendete die kostengünstigere Variante 68EC020), den Netzwerkanalysatoren der Hewlett-Packard 8711-Serie und späteren Mitgliedern der HP . verwendet 9000 /300-Familie und das Alpha Microsystems AM-2000. Auch der 68020 war ein alternatives Upgrade zum 68008 des Sinclair QL- Computers in der Super Gold Card-Schnittstelle von Miracle Systems .

Der Amiga 2500 und A2500UX wurden mit dem A2620 Accelerator mit einem 68020, einer 68881 Gleitkommaeinheit und der 68851 Memory Management Unit ausgeliefert. Der 2500UX wird mit Amiga Unix geliefert und erfordert einen '020- oder '030-Prozessor.

Eine Reihe digitaler Oszilloskope von Mitte der 80er bis Ende der 90er Jahre verwendeten den 68020, einschließlich der LeCroy 9300-Serie (höhere Modelle einschließlich der Modelle mit dem Suffix "C" verwendeten den leistungsstärkeren 68EC030 ; die 9300er Modelle mit einem 68020-Prozessor können aufgerüstet werden zum 68EC030 mit einem Wechsel der CPU-Platine) und der früheren LeCroy 9400-Serie (alle Modelle außer 9400/9400A, die den 68000 verwendet haben ), zusammen mit bestimmten Modellen der Tektronix TDS-Serie. Die HP 54520, 54522, 54540 und 54542 verwenden auch den 68020 zusammen mit einem 68882 Math Coprozessor.

Es ist auch der Prozessor, der an Bord von TGV- Zügen verwendet wird, um Signalisierungsinformationen zu entschlüsseln, die über die Schienen an die Züge gesendet werden. Darüber hinaus wird es in den Flugsteuerungs- und Radarsystemen des Kampfflugzeugs Eurofighter Typhoon eingesetzt.

Die Telefonvermittlungsstelle DMS-100 von Nortel Networks verwendete ebenfalls den 68020 als ersten Mikroprozessor des SuperNode-Rechenkerns.

Variante

Motorola MC68EC020

Der 68EC020 ist eine kostengünstigere Version des Motorola 68020. Der Hauptunterschied zwischen den beiden besteht darin, dass der 68EC020 nur über einen 24-Bit-Adressbus verfügt und nicht über den 32-Bit-Adressbus des vollständigen 68020 Adresse 16 MB Speicher.

Der Amiga 1200 Computer und die Amiga CD32 Spielekonsole verwenden den kostenreduzierten 68EC020; auch die Arcade-Boards Namco System 22 , Taito F3 und Konami GX verwendeten diesen Prozessor. Der Atari Jaguar II-Prototyp war auch damit ausgestattet, um den 68000 der ursprünglichen Atari Jaguar- Konsole zu ersetzen . Es fand auch Verwendung in Laserdruckern. Apple hat es im LaserWriter IIɴᴛx verwendet. Kodak verwendete es im Ektaplus 7016PS und Dataproducts verwendete es im LZR 1260.

Im Jahr 2014 hat Rochester Electronics die Fertigungskapazitäten für den Mikroprozessor 68020 wiederhergestellt und ist heute noch verfügbar.

Technische Daten

Formeller Name MC68020
CPU- Taktrate 12,5, 16,67, 20, 25, 33 MHz (mindestens 8 MHz, keine Takterzeugung auf dem Chip)
Spannungsversorgung 5 V
Maximale Leistung 1,75 W
Herstellungsprozess HCMOS, 3/8" Silikonstück
Chipträger PGA 169 (114 Pins verwendet) 34,16 mm × 34,16 mm (53 °C/W ohne Kühlkörper)
Adressbus 32-Bit (4 GB direkt linear zugänglich)
Datenbus 32-Bit
Befehlssatz 101 CISC- Anweisungen
Zwischenspeicher 256-Byte- Icache
Registrieren
  • 7 für Adressoperationen (32-Bit)
  • 8 für Datenoperationen (32-Bit)
Filialabwicklung Verzweigungsvorhersage:
  • Feste Verzweigungsvorhersage, Verzweigungsniedergang-Ansatz
Transistoren ~200 000
Leistung 10 MIPS @ 33 MHz

Verweise

Externe Links