R5000 - R5000
Der R5000 ist ein superskalarer 64-Bit- Little-Endian- Mipsel (Mipsel) , der in der Reihenfolge ausgeführt wird und einen 2-Issue-Design- Mikroprozessor ausführt , der die 1996 von Quantum Effect Design (QED) entwickelte MIPS IV- Befehlssatzarchitektur (ISA) implementiert finanziert von MIPS Technologies, Inc (MTI), ebenfalls dem Lizenzgeber. MTI lizenzierte das Design dann an Integrated Device Technology (IDT), NEC , NKK und Toshiba . Der R5000 trat die Nachfolge des QED R4600 und R4700 als Flaggschiff des eingebetteten High-End-Mikroprozessors an. IDT vermarktete seine Version des R5000 als 79RV5000, NEC als VR5000, NKK als NR5000 und Toshiba als TX5000. Der R5000 wurde an PMC-Sierra verkauft, als das Unternehmen QED erwarb. Derivate des R5000 für eingebettete Systeme werden heute noch produziert.
Benutzer
Benutzer des R5000 in Workstation- und Servercomputern waren Silicon Graphics, Inc. (SGI) und Siemens-Nixdorf . SGI verwendete den R5000 in seinen Low-End-Workstations O2 und Indy . Der R5000 wurde auch in eingebetteten Systemen wie Netzwerkroutern und High-End-Druckern verwendet. Das R5000 fand seinen Weg in die Arcade-Gaming-Branche. R1000-Mainboards wurden von Atari und Midway verwendet. Anfänglich verwendeten Cobalt Qube und Cobalt RaQ ein Derivatmodell, RM5230 und RM5231. Der Qube 2700 verwendete den Mikroprozessor RM5230, während der Qube 2 den RM5231 verwendete. Die ursprünglichen RaQ-Systeme waren mit RM5230- oder RM5231-CPUs ausgestattet, aber spätere Modelle verwendeten AMD K6-2-Chips und schließlich Intel Pentium III-CPUs für die endgültigen Modelle.
Geschichte
Die ursprüngliche Roadmap sah einen Betrieb mit 200 MHz Anfang 1996 und einen Betrieb mit 250 MHz Ende 1996 vor, der 1997 von R5000A abgelöst wurde. Der R5000 wurde im Januar 1996 eingeführt und erreichte 200 MHz nicht und erreichte 180 MHz. Als Low-End-Workstation-Mikroprozessor waren IBM und Motorola PowerPC 604 , der HP PA-7300LC und der Intel Pentium Pro im Wettbewerb .
Beschreibung
Der R5000 ist ein superskalares Zwei-Wege- Design, das Anweisungen in der richtigen Reihenfolge ausführt . Der R5000 kann gleichzeitig eine Ganzzahl- und eine Gleitkommaanweisung ausgeben. Es gab eine einfache Pipeline für ganzzahlige Anweisungen und eine andere für Gleitkomma, um Transistoren und Chipfläche zu sparen und die Kosten zu senken. Der R5000 führte aus Kostengründen keine dynamische Verzweigungsvorhersage durch. Stattdessen wird ein statischer Ansatz verwendet, bei dem die vom Compiler in den verzweigungswahrscheinlichen Anweisungen, die zuerst in der MIPS II-Architektur eingeführt wurden, codierten Hinweise verwendet werden, um zu bestimmen, wie wahrscheinlich eine Verzweigung ist.
Der R5000 hatte große L1- Caches , ein charakteristisches Merkmal von QED, dessen Designer einfache Designs mit großen Caches bevorzugten. Der R5000 hatte zwei L1-Caches, einen für Anweisungen und einen für Daten. Beide haben eine Kapazität von 32 KB. Der Cache - Speicher ist Zwei-Wege - Satz-assoziativ , hat eine 32-Byte - Zeilengröße und ist praktisch indiziert, physikalisch markiert . Anweisungen wurden vorab codiert, als sie in den Anweisungscache eingegeben wurden, indem vier Bits an jede Anweisung angehängt wurden. Diese vier Bits geben an, ob zusammen ausgegeben werden kann und von welcher Ausführungseinheit sie ausgeführt werden. Dies unterstützte das Problem mit superskalaren Anweisungen, indem ein Teil der Abhängigkeits- und Konfliktprüfung aus dem kritischen Pfad entfernt wurde.
Die Ganzzahleinheit führt die meisten Befehle mit einer Latenz und einem Durchsatz von einem Zyklus aus, mit Ausnahme von Multiplizieren und Dividieren. 32-Bit-Multiplikationen haben eine Latenz von fünf Zyklen und einen Durchsatz von vier Zyklen. 64-Bit-Multiplikationen haben zusätzliche vier Latenzzyklen und die Hälfte des Durchsatzes. Divides haben eine Latenz und einen Durchsatz von 36 Zyklen für 32-Bit-Ganzzahlen, und für 64-Bit-Ganzzahlen werden sie auf 68 Zyklen erhöht.
Die Gleitkommaeinheit (FPU) war ein schnelles Design mit einfacher Genauigkeit (32 Bit), um die Kosten zu senken und SGI zu helfen, dessen 3D-Grafikarbeitsplätze im mittleren Bereich für 3D-Grafikanwendungen hauptsächlich auf Mathematik mit einfacher Genauigkeit beruhten. Es war vollständig mit Pipelines ausgestattet, was es deutlich besser machte als das des R4700 . Der R5000 implementiert den Multiplikationsadditionsbefehl des MIPS IV ISA. Addierungen, Multiplikationen und Multiplikationsadditionen mit einfacher Genauigkeit haben eine Latenz von vier Zyklen und einen Durchsatz von einem Zyklus. Teilungen mit einfacher Genauigkeit haben eine Latenz von 21 Zyklen und einen Durchsatz von 19 Zyklen, während Quadratwurzeln eine Latenz von 26 Zyklen und einen Durchsatz von 38 Zyklen haben. Teilung und Quadratwurzel wurden nicht per Pipeline übertragen. Anweisungen, die mit Zahlen mit doppelter Genauigkeit arbeiten, haben eine deutlich höhere Latenz und einen geringeren Durchsatz, mit Ausnahme von add, das die gleiche Latenz und den gleichen Durchsatz wie add add mit einfacher Genauigkeit aufweist. Multiplizieren und Multiplizieren addieren haben eine Latenz von fünf Zyklen und einen Durchsatz von zwei Zyklen. Divide hat eine Latenz von 36 Zyklen und einen Durchsatz von 34 Zyklen. Die Quadratwurzel hat eine Latenz von 68 Zyklen und einen Durchsatz von 66 Zyklen.
Der R5000 verfügte über einen integrierten L2-Cache-Controller, der Kapazitäten von 512 KB, 1 MB und 2 MB unterstützte. Der L2-Cache teilt den SysAD-Bus mit der externen Schnittstelle. Der Cache wurde mit benutzerdefinierten synchronen SRAMs (SSRAMs) erstellt. Der Mikroprozessor verwendet den SysAD- Bus , der auch von mehreren anderen MIPS-Mikroprozessoren verwendet wird. Der Bus ist gemultiplext (Adresse und Daten teilen sich den gleichen Kabelsatz) und kann mit Taktfrequenzen bis zu 100 MHz betrieben werden. Der ursprüngliche R5000 unterstützte keine Mehrfachverarbeitung , aber das Paket reservierte acht Pins für die zukünftige Hinzufügung dieser Funktion.
QED war eine Fabless-Firma und fertigte keine eigenen Designs an. Der R5000 wurde von IDT, NEC und NKK hergestellt. Alle drei Unternehmen stellten den R5000 in einem komplementären Metalloxid-Halbleiter- Prozess (CMOS) von 0,35 μm her , jedoch mit unterschiedlichen Prozessmerkmalen. IDT stellte den R5000 in einem Prozess mit zwei Ebenen Polysilicium und drei Ebenen Aluminiumverbindung her . Die zwei Polysiliciumpegel ermöglichten es IDT, eine SRAM-Zelle mit vier Transistoren zu verwenden, was zu einer Transistoranzahl von 3,6 Millionen und einem Chip mit einer Größe von 8,7 mm × 9,7 mm (84,39 mm 2 ) führte. NEC und NKK stellten den R5000 in einem Prozess mit einer Ebene Polysilicium und drei Ebenen Aluminiumverbindung her. Ohne einen zusätzlichen Polysiliciumgehalt mussten beide Unternehmen eine SRAM-Zelle mit sechs Transistoren verwenden, was zu einer Transistoranzahl von 5,0 Millionen und einem größeren Chip mit einer Fläche von etwa 87 mm 2 führte . Werkzeuggrößen im Bereich von 80 bis 90 mm 2 wurden von MTI beansprucht. 0,8 Millionen der Transistoren in beiden Versionen waren für die Logik bestimmt, und der Rest war in den Caches enthalten. Es wurde in einem 272-Kugel-Kunststoff- Kugelgitter-Array (BGA) oder einem 272-Pin-Kunststoff- Stiftgitter-Array (PGA) verpackt . Es war mit keinem früheren MIPS-Mikroprozessor Pin-kompatibel.
Derivate
In den späten 1990er Jahren erwarb Quantum Effect Design eine Lizenz zur Herstellung und zum Verkauf von MIPS-Mikroprozessoren von MTI und wurde ein Anbieter von Mikroprozessoren, der seinen Namen in Quantum Effect Devices änderte, um seinem neuen Geschäftsmodell Rechnung zu tragen. Die ersten Produkte des Unternehmens waren Mitglieder der RM52xx-Familie, die ursprünglich aus zwei Modellen bestand, dem RM5230 und dem RM5260. Diese wurden am 24. März 1997 angekündigt. Der RM5230 war ursprünglich bei 100 und 133 MHz und der RM5260 bei 133 und 150 MHz erhältlich. Am 29. September 1997 wurden neue RM5230 mit 150 und 175 MHz sowie RM5260 mit 175 und 200 MHz eingeführt.
Sowohl der RM5230 als auch der RM5260 sind Ableitungen des R5000 und unterscheiden sich in der Größe ihrer primären Caches (jeweils 16 KB statt 32 KB), der Breite ihrer Systemschnittstellen (der RM5230 verfügt über einen 32-Bit-67-MHz-SysAD-Bus und dem RM5260 (64-Bit-75-MHz-SysAD-Bus) und Hinzufügen von Multiplikationsadditions- und Dreioperanden-Multiplikationsbefehlen für digitale Signalverarbeitungsanwendungen . Diese Mikroprozessoren wurden von der Taiwan Semiconductor Manufacturing Company (TSMC) in einem 0,35-μm-Verfahren mit drei Verbindungsebenen hergestellt. Sie wurden von Amkor Technology in seinen Power-Quad 4-Paketen, dem RM5230 in einer 128-Pin-Version und dem RM5260 in einer 208-Pin-Version verpackt.
Zur RM52xx-Familie kam später der RM5270 hinzu, der auf der Embedded Systems Conference am 29. September 1997 angekündigt wurde. Der RM5270 war für High-End-Embedded-Anwendungen vorgesehen und mit 150 und 200 MHz erhältlich. Verbesserungen waren die Hinzufügung eines On-Chip-Sekundär-Cache-Controllers, der bis zu 2 MB Cache unterstützte. Der SysAD-Bus ist 64 Bit breit und kann mit 100 MHz betrieben werden. Es wurde in einem 304-Pin-Super-BGA (SBGA) verpackt, der mit dem RM7000 Pin-kompatibel war und als Migrationspfad zum RM7000 angeboten wurde.
Am 20. Juli 1998 wurde die RM52x1-Familie angekündigt. Die Familie bestand aus RM5231, RM5261 und RM5271. Diese Mikroprozessoren waren Derivate der entsprechenden Vorrichtungen aus der RM52x0-Familie, die in einem 0,25 & mgr; m-Verfahren mit vier Metallstufen hergestellt wurden. Der RM5231 war ursprünglich mit 150, 200 und 250 MHz erhältlich. Die RM5261 und RM5271 waren bei 250 und 266 MHz erhältlich. Am 6. Juli 1999 wurde ein 300-MHz-RM5271 mit einem Preis von 140 US-Dollar in Mengen von 10.000 US-Dollar eingeführt. Der RM52x1 hat sich gegenüber der Vorgängerfamilie durch größere primäre 32-KB-Caches und einen schnelleren SysAD-Bus verbessert, der Taktraten von bis zu 125 MHz unterstützt.
Nach der Übernahme von QED durch PMC-Sierra wurden die Familien RM52xx und RM52x1 als PMC-Sierra-Produkte weitergeführt. PMC-Sierra führte am 4. April 2001 zwei RM52x1-Derivate ein, RM5231A und RM5261A. Diese Mikroprozessoren wurden von TSMC in einem 0,18-μm-Verfahren hergestellt und unterscheiden sich von den vorherigen Geräten durch höhere Taktraten und geringeren Stromverbrauch. Der RM5231A war mit Taktraten von 250 bis 350 MHz und der RM5261A mit 250 bis 400 MHz erhältlich.
Der in Sonys PlayStation 2 verwendete R5900 ist eine modifizierte Version der R5000-CPU, die als Emotion Engine bezeichnet wird, mit einer angepassten Anordnung von Anweisungen und Datencaches und Sonys proprietären 107-Vektor-SIMD-Multimedia-Erweiterungen (MMI). Die benutzerdefinierte FPU ist im Gegensatz zu den von R5000 verwendeten FPUs nicht IEEE 754- kompatibel. Es hat auch einen zweiten MIPS-Kern, der als Synchronisationscontroller für spezialisierte Vektorkoprozessoren fungierte, wichtig für die 3D-Mathematik, die zu dieser Zeit hauptsächlich auf der CPU berechnet wurde.
Verweise
- Computergramm (8. Januar 1996). "MIPS bereit mit R5000 Nachfolger des 4600/4700". Computer Business Review .
- Gwennap, Linley (22. Januar 1996). "R5000 verbessert FP für MIPS Midrange". Mikroprozessorbericht , 10 (1).
- Halfhill, Tom R. (April 1996). "R5000 senkt 3D-Kosten". Byte .
- Halfhill, Tom R. (Mai 1996). "Mips R5000: Schnelle, erschwingliche 3-D". Byte , 161–162.
- Technischer Hintergrund für MIPS Technologies, Inc. MIPS R5000-Mikroprozessor .
- PMC-Sierra, Inc. (4. April 2001). "PMC-Sierra liefert MIPS-Mikroprozessoren der dritten Generation R5200A". Pressemitteilung.
- Quanteneffektgeräte (24. März 1997). "QED stellt RM52xx-Mikroprozessorfamilie vor". Pressemitteilung.
- Quanteneffektgeräte (29. September 1997). "QED stellt den superskalaren 64-Bit-Mikroprozessor RM5270 vor". Pressemitteilung.
- Quanteneffektgeräte (20. Juli 1998). "QED stellt die RM52x1-Mikroprozessorfamilie vor". Pressemitteilung.
- Quanteneffektgeräte (6. Juli 1999). "QEDs RM5271 sofort bei 300 MHz verfügbar". Pressemitteilung.