
Der R4000 ist ein von MIPS Computer Systems entwickelter Mikroprozessor , der die MIPS-III- Befehlssatzarchitektur (ISA) implementiert . Er wurde am 1. Oktober 1991 offiziell vorgestellt und war einer der ersten 64-Bit-Mikroprozessoren sowie die erste MIPS-III-Implementierung. Anfang der 1990er-Jahre, als RISC- Mikroprozessoren die CISC-Mikroprozessoren wie den Intel i486 ablösen sollten , wurde der R4000 als Mikroprozessor für die Advanced Computing Environment (ACE) ausgewählt, einen Industriestandard zur Definition einer gemeinsamen RISC-Plattform. ACE scheiterte letztendlich aus verschiedenen Gründen , doch der R4000 konnte sich auf dem Workstation- und Servermarkt erfolgreich etablieren.
Modelle
Es gibt drei Konfigurationen des R4000: den R4000PC, ein Einsteigermodell ohne Unterstützung für einen Sekundärcache; den R4000SC, ein Modell mit Sekundärcache, aber ohne Multiprozessorfähigkeit; und den R4000MC, ein Modell mit Sekundärcache und Unterstützung für die von Multiprozessorsystemen benötigten Cache-Kohärenzprotokolle.
Beschreibung
Der R4000 ist ein skalarer Superpipeline- Mikroprozessor mit einer achtstufigen Integer-Pipeline. In der ersten Stufe (IF) wird eine virtuelle Adresse für einen Befehl generiert und der Befehlsübersetzungspuffer ( TLB) beginnt mit der Übersetzung dieser Adresse in eine physische Adresse. In der zweiten Stufe (IS) ist die Übersetzung abgeschlossen und der Befehl wird aus einem internen 8 KB großen Befehlscache geladen. Der Befehlscache ist direkt abgebildet und virtuell indiziert, physisch getaggt . Er hat eine Zeilengröße von 16 oder 32 Byte. Architektonisch ist er auf 32 KB erweiterbar.
In der dritten Phase (RF) wird der Befehl dekodiert und die Registerdatei gelesen. MIPS III definiert zwei Registerdateien: eine für die Integer-Einheit und eine für Gleitkommaoperationen. Jede Registerdatei ist 64 Bit breit und enthält 32 Einträge. Die Integer-Registerdatei verfügt über zwei Lese- und einen Schreibanschluss, die Gleitkomma-Registerdatei über zwei Lese- und zwei Schreibanschlüsse. Die Ausführung beginnt in Phase vier (EX) sowohl für Integer- als auch für Gleitkommabefehle und wird nach Abschluss in Phase acht (WB) wieder in die Registerdateien geschrieben. Ergebnisse können, falls möglich, übersprungen werden.
Ganzzahlausführung
Der R4000 verfügt über eine arithmetisch-logische Einheit (ALU), einen Schieber, einen Multiplizierer und einen Dividierer sowie einen Load-Aligner zur Ausführung von Integer-Befehlen. Die ALU besteht aus einem 64-Bit -Carry-Select-Addierer und einer Logikeinheit und ist pipelined. Der Schieber ist ein 32-Bit -Barrel-Shifter . Er führt 64-Bit-Schiebungen in zwei Taktzyklen durch, wodurch die Pipeline blockiert wird. Diese Bauweise wurde gewählt, um Chipfläche zu sparen. Multiplizierer und Dividierer sind nicht pipelined und weisen erhebliche Latenzen auf: Multiplikationen haben eine Latenz von 10 bzw. 20 Taktzyklen für 32-Bit- bzw. 64-Bit-Integer; Divisionen hingegen eine Latenz von 69 bzw. 133 Taktzyklen für 32-Bit- bzw. 64-Bit-Integer. Die meisten Befehle haben eine Latenz von einem Taktzyklus. Der ALU-Addierer wird auch zur Berechnung virtueller Adressen für Lade-, Speicher- und Sprungoperationen verwendet.
Die Lade- und Speicherbefehle werden von der Integer-Pipeline ausgeführt und greifen auf den On-Chip 8 KB großen Datencache zu.
Gleitkommaausführung
Der R4000 verfügt über eine integrierte, IEEE 754-1985 -konforme Gleitkommaeinheit (FPU), die als R4010 bezeichnet wird. Die FPU ist ein Koprozessor mit der Bezeichnung CP1 [ 1 ] (die MIPS-ISA definierte vier Koprozessoren, CP0 bis CP3). Die FPU kann in zwei Modi betrieben werden: 32-Bit oder 64-Bit. Die Auswahl erfolgt durch Setzen des FR-Bits im CPU-Statusregister. Im 32-Bit-Modus sind die 32 Gleitkommaregister bei Verwendung für einfachgenaue Gleitkommazahlen jeweils 32 Bit breit. Bei Verwendung für doppeltgenaue Zahlen stehen 16 Gleitkommaregister zur Verfügung (die Register sind paarweise angeordnet).
Die FPU kann parallel zur ALU arbeiten, sofern keine Daten- oder Ressourcenabhängigkeiten bestehen, die zu einem Stillstand führen. Sie besteht aus drei Untereinheiten: einem Addierer, einem Multiplizierer und einem Dividierer. Multiplizierer und Dividierer können Befehle parallel zum Addierer ausführen, nutzen diesen jedoch in ihren letzten Ausführungsphasen, wodurch die Überlappung der Ausführung begrenzt wird. Unter bestimmten Bedingungen kann die FPU daher maximal drei Befehle gleichzeitig ausführen, jeweils einen in jeder Untereinheit. Die FPU kann pro Taktzyklus einen Befehl abschließen.
Addierer und Multiplizierer sind pipelined. Der Multiplizierer verfügt über eine vierstufige Multipliziererpipeline. Für eine optimale Leistung wird er mit der doppelten Taktfrequenz des Mikroprozessors getaktet und nutzt dynamische Logik , um diese hohe Taktfrequenz zu erreichen. Die Division hat eine Latenz von 23 oder 36 Zyklen für einfach- oder doppeltgenaue Operationen, die Quadratwurzel eine Latenz von 54 oder 112 Zyklen. Division und Quadratwurzel verwenden den SRT- Algorithmus.
Speicherverwaltung
Die Speichermanagementeinheit (MMU) verwendet einen 48-Einträge umfassenden Translation Lookaside Buffer (TLB) zur Übersetzung virtueller Adressen . Der R4000 nutzt eine 64-Bit-virtuelle Adresse, implementiert aber nur 40 der 64 Bit, wodurch 1 TB virtueller Speicher möglich ist ; die verbleibenden Bit werden auf Nullen geprüft. Der R4000 verwendet eine 36-Bit -physische Adresse und kann somit 64 GB physischen Speicher adressieren .
Sekundärer Cache
Der R4000 (nur SC- und MC-Konfigurationen) unterstützt einen externen Sekundärcache mit einer Kapazität von 128 KB bis 4 MB. Der Zugriff auf den Cache erfolgt über einen dedizierten 128-Bit-Datenbus. Der Sekundärcache kann entweder als einheitlicher Cache oder als getrennter Befehls- und Datencache konfiguriert werden. In der letzteren Konfiguration kann jeder Cache eine Kapazität von 128 KB bis 2 MB aufweisen. [ 2 ] Der Sekundärcache ist physisch indiziert, physisch getaggt und verfügt über eine programmierbare Zeilengröße von 128, 256, 512 oder 1024 Byte. Der Cache-Controller ist auf dem Chip integriert. Der Cache besteht aus Standard- SRAM ( Static Random Access Memory ). Die Daten- und Tag-Busse sind ECC-geschützt.
Systembus
Der R4000 verwendet einen 64-Bit-Systembus namens SysAD-Bus. Der SysAD-Bus ist ein Adress- und Datenmultiplexbus, d. h., er nutzt dieselben Leitungen zur Übertragung von Daten und Adressen. Dies reduziert zwar die Bandbreite, ist aber kostengünstiger als ein separater Adressbus, der mehr Pins benötigt und die Systemkomplexität erhöht. Der SysAD-Bus kann mit der Hälfte, einem Drittel oder einem Viertel der internen Taktfrequenz betrieben werden. Sein Taktsignal wird durch Teilung der Betriebsfrequenz erzeugt.
Transistoranzahl, Chipabmessungen und Prozessdetails
Der R4000 enthält 1,2 Millionen Transistoren. [ 3 ] Er wurde für einen 1,0 μm CMOS-Prozess ( Complementary Metal–Oxide–Semiconductor ) mit zwei Metallisierungsschichten entwickelt . Da MIPS ein fabless Unternehmen war, wurde der R4000 von Partnern in deren eigenen Prozessen mit einer minimalen Strukturgröße von 0,8 μm gefertigt. [ 4 ]
Zeiterfassung
Der R4000 erzeugt die verschiedenen Taktsignale aus einem extern generierten Master-Taktsignal. Für die Betriebsfrequenz multipliziert der R4000 das Master-Taktsignal mithilfe einer integrierten Phasenregelschleife (PLL) mit zwei.
Verpackung
Der R4000PC ist in einem 179-poligen Keramik- Pin-Grid-Array (CPGA) untergebracht. Der R4000SC und der R4000MC sind in einem 447-poligen Keramik- Staggered-Pin-Grid-Array (SPGA) untergebracht. Die Pinbelegung des R4000MC unterscheidet sich von der des R4000SC; einige Pins, die beim R4000SC ungenutzt bleiben, werden beim R4000MC für Signale zur Implementierung der Cache-Kohärenz verwendet . Die Pinbelegung des R4000PC ähnelt derjenigen der PGA-gekapselten Mikroprozessoren R4200 und R4600 . Diese Eigenschaft ermöglicht es einem entsprechend konzipierten System, jeden der drei Mikroprozessoren zu verwenden.
R4400


Der R4400 ist eine Weiterentwicklung des R4000. Er wurde Anfang November 1992 angekündigt. Muster des Mikroprozessors wurden bereits zuvor an ausgewählte Kunden ausgeliefert, die allgemeine Verfügbarkeit erfolgte im Januar 1993. Der R4400 arbeitet mit Taktfrequenzen von 100, 133, 150, 200 und 250 MHz. Die einzige wesentliche Verbesserung gegenüber dem R4000 sind die größeren primären Caches, deren Kapazität von 8 KB auf jeweils 16 KB verdoppelt wurde. Er enthielt 2,3 Millionen Transistoren.
Der R4400 wurde von Integrated Device Technology (IDT), LSI Logic , NEC , Performance Semiconductor, Siemens AG und Toshiba lizenziert . IDT, NEC, Siemens und Toshiba fertigten und vermarkteten den Mikroprozessor. LSI Logic setzte den R4400 in kundenspezifischen Produkten ein. Performance Semiconductor verkaufte seine Logiksparte an Cypress Semiconductor , wo die Produktion der MIPS-Mikroprozessorprodukte eingestellt wurde.
NEC vermarktete seine Version unter der Bezeichnung VR4400. Die erste Version mit 150 MHz wurde im November 1992 angekündigt. Frühe Versionen wurden in einem 0,6-µm-Prozess gefertigt. [ 5 ] Mitte 1995 begann die Auslieferung einer 250-MHz-Version. Diese wurde in einem 0,35-µm-Vierschicht-Metallisierungsprozess hergestellt. [ 6 ] NEC produzierte außerdem den MR4401, ein keramisches Multi-Chip-Modul (MCM), das einen VR4400SC mit zehn 1-Mbit-SRAM-Chips enthielt, welche einen 1 MB großen Sekundärcache implementierten. Das MCM war pinkompatibel mit dem R4x00PC. Die erste Version mit 150 MHz wurde 1994 angekündigt. 1995 folgte eine 200-MHz-Version.
Toshiba vermarktete seine Version unter der Bezeichnung TC86R4400. Ein 200-MHz-Bauteil mit 2,3 Millionen Transistoren und einer Fläche von 134 mm², gefertigt in einem 0,3-µm-Prozess, wurde Mitte 1994 vorgestellt. Der R4400PC kostete 1.600 US-Dollar , der R4400SC 1.950 US-Dollar und der R4400MC 2.150 US-Dollar, jeweils bei einer Abnahmemenge von 10.000 Stück. [ 7 ]
Verwendung
Der R4400 wird verwendet von:
- Carrera Computers in ihren Windows NT- Personalcomputern und Workstations [ 8 ]
- Concurrent Computer Corporation in ihren Echtzeit-Multiprozessorsystemen Maxion [ 9 ]
- DeskStation-Technologie in ihren Windows NT-PCs und der DeskStation Tyne- Workstation [ 10 ]
- Digital Equipment Corporation in ihrer DECstation 5000/260 Workstation und ihrem Server
- NEC Corporation in ihren RISCstation- Workstations, RISCserver-Servern und dem Supercomputer Cenju-3 [ 11 ]
- NeTPower in ihren Windows NT-Workstations und Servern
- Pyramid Technology verwendete den R4400MC in ihren Servern der Nile-Serie [ 12 ].
- Siemens Nixdorf Informationssysteme (SNI) in seinen UNIX -Servern der RM-Serie und dem SR2000 -Mainframe
- Silicon Graphics in ihren Onyx- , Indigo- , Indigo2- und Indy -Workstations sowie in ihrem Challenge -Server
- Tandem Computers in ihren NonStop Himalaya -Fehlertoleranzservern
Chipsätze
Die Mikroprozessoren R4000 und R4400 wurden über kundenspezifische ASICs oder handelsübliche Chipsätze mit dem System verbunden. Systemanbieter wie SGI entwickelten eigene ASICs für ihre Systeme. Kommerzielle Chipsätze wurden von Unternehmen wie Toshiba mit ihrem Tiger Shark-Chipsatz entwickelt, gefertigt und vermarktet, der einen i486 -kompatiblen Bus bereitstellte. [ 13 ]
Anmerkungen
- ^ Benutzerhandbuch für den MIPS R4000 Mikroprozessor, zweite Auflage , S. 152
- ^ Heinrich, „MIPS R4000 Mikroprozessor Benutzerhandbuch“, S. 248
- ^ Mirapuri, „Der MIPS R4000 Prozessor“ , S. 10
- ^ Mirapuri, „Der MIPS R4000 Prozessor“ , S. 21
- ^ „NEC VR4400 RISC hat 2 m Transistoren“ . Unigramm/X . 30. November 1992. p. 4 . Abgerufen am 6. Oktober 2025 .
- ^ „NEC Ready with 250MHz Version of the 64-Bit MIPS R4400 RISC“ . Unigram/X . 5. Juni 1995. S. 3. Abgerufen am 6. Oktober 2025 .
- ^ „Toshiba hat 200 MHz MIPS R4400“ . Unigramm/X . 30. Mai 1994. p. 3 . Abgerufen am 6. Oktober 2025 .
- ^ „Tangent und Carrera imitieren Indigo zum halben Preis“ . Unigram/X . 12. Juli 1993. S. 3. Abgerufen am 6. Oktober 2025 .
- ^ „Concurrent stellt neue Multiprozessorsysteme mit neuer Busarchitektur vor“ . Unigram/X . 18. Oktober 1993. S. 4. Abgerufen am 6. Oktober 2025 .
- ^ „DeskStation präsentiert ARCStation-1 R-Series Personal Computer für NT“ . Unigram/X . 30. November 1992. S. 3. Abgerufen am 6. Oktober 2025 .
- ^ Byrnes, Anita (17. Mai 1993). „NEC Goes after the Business Market with New Unix Workstations“ . Unigram/X . S. 6. Abgerufen am 6. Oktober 2025 .
- ^ „Pyramid Technology will mit der Nile-Serie den Mainframe zum Absturz bringen“ . Unigram/X . 11. Oktober 1993. Abgerufen am 6. Oktober 2025 .
- ^ „Toshiba stellt Muster des 80486-Bus-Chipsatzes für die R-Serie bereit“.
Referenzen
- Heinrich, Joe. MIPS R4000 Mikroprozessor Benutzerhandbuch , Zweite Auflage.
- Sunil Mirapuri, Michael Woodacre, Nader Vasseghi, „Der MIPS-R4000-Prozessor“, IEEE Micro , Bd. 12, Nr. 2, S. 10–22, März/April 1992