Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen...

22
Bericht zum Referat MIPS R10000 LCT-Labor (RST) Version: 1.1 Hochschule Bremen Fachbereich Elektrotechnik Studiengang Technische Informatik im Fach : Labor Computer Technik (RST) Abgabetermin: 24.01.2003 Vorgelegt von: Frank Bremer Enno Wattenberg Matr.-Nr.: 11081 11626 Aus: Am Sportplatz 6 27327 Martfeld Tel.: 04255 – 982045 E-Mail: [email protected] An der Beeke 2 31636 Linsburg Tel.: 05027 – 463 E-Mail: [email protected] Bremen, 30.01.2003

Transcript of Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen...

Page 1: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Bericht zum Referat

MIPS R10000

LCT-Labor (RST)

Version: 1.1 Hochschule Bremen Fachbereich Elektrotechnik Studiengang Technische Informatik im Fach: Labor Computer Technik (RST) Abgabetermin: 24.01.2003 Vorgelegt von: Frank Bremer Enno Wattenberg Matr.-Nr.:

11081

11626

Aus: Am Sportplatz 6 27327 Martfeld Tel.: 04255 – 982045 E-Mail: [email protected]

An der Beeke 2 31636 Linsburg Tel.: 05027 – 463 E-Mail: [email protected]

Bremen, 30.01.2003

Page 2: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 2 -

Inhaltsverzeichnis 1. Die Firma MIPS..................................................................................................................3

1.1 Geschäftliche Ziele von MIPS Technologies, Inc. .....................................................3 1.2 Endverbraucher und der embedded Markt..................................................................3 1.3 High-end embedded Produkte.....................................................................................3 1.4 MIPS Höhepunkte.......................................................................................................4 1.5 Nennenswerte MIPS-Prozessoren...............................................................................5

2. Der MIPS 10000 Prozessor.................................................................................................6 2.1 Leistungsmerkmale ....................................................................................................6 2.2 Fakten des R10K.........................................................................................................7 2.3 Strukturen des Prozessors ...........................................................................................8

3. Das Cache-System ..............................................................................................................9 3.1 Der Level 1 Cache (L1) ..............................................................................................9

3.1.1. Der primäre Instruction Cache (I-cache) ..........................................................10 3.1.2. Der primäre Daten Cache (D-cache).................................................................10

3.2 Der 2. Level Cache (L2) ...........................................................................................11 4. Das Pipeline-System .........................................................................................................12 5. Die Instruction Queues / Execution Pipelines ..................................................................14 6. Register-Renaming............................................................................................................15 7. Spekulationen und Vorhersagen .......................................................................................15 8. Das System-Interface ........................................................................................................16 9. Verschiedenes über den R10000.......................................................................................18 10. Ein Vergleich zum MIPS R12000 ................................................................................19 11. PowerPC, Alpha und MIPS im Vergleich ....................................................................20 12. Abbildungsverzechnis ...................................................................................................21 13. Quellen- und Literaturverzeichnis ................................................................................22

Page 3: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 3 -

1. Die Firma MIPS1 MIPS Technologies ist der Nachfolger des Prozessorgeschäfts von MIPS Computer Systems, Inc., welches 1984 gegründet und 1992 von Silicon Graphics, Inc. an sich gezogen wurde. Silicon Graphics, Inc. hält mehr als 80 Prozent Eigentum von MIPS Technologies, Inc.

Durch Entwicklungen auf dem embedded Markt arbeitet MIPS mit vielen namhaften Firmen zusammen, wie beispielsweise Broadcom Corporation., LSI Logic Corporation, NEC Corporation, Philips Semiconductors, Texas Instruments, Toshiba Corporation, Commquest (IBM), Sony Corporation.

1.1 Geschäftliche Ziele von MIPS Technologies, Inc. MIPS Technologies, Inc. entwickelt kostengünstige high-performance 32- und 64-bit RISC (reduced instruction set computing) Prozessoren für den Endbenutzer und den high-end embedded Markt.

Entwicklungen von MIPS Technologies sind Bestandteile von Produkten wie beispielsweise Video-Spielkonsolen, set-top Boxen, digitalen Kameras, und handlichen Rechengeräten, die Mircosoft Windows CE unterstützen.

1.2 Endverbraucher und der embedded Markt MIPS Technologien können in einem großen Anwendungsbereich von Video Games, wie z.B. Nintendo 64 und die PlayStation Spielekonsole gefunden werden. Aber auch in Network Computers von Tektronix und in Network Computing Devices, Inc.; handlichen Geräten unter Benutzung von Microsoft Windows CE und Philips Velo 500, Samsung PalmPC und NEC® MobilePro 750c; und digitalen set-top Boxen von General Instruments, EchoStar Communications Corporation und WebTV, aber auch in anderen Andwendungen von arcade games, Kommunikationsgeräten und mehr.

1.3 High-end embedded Produkte Die MIPS-Architektur entfaltet seine Kraft in einer Reihe von Anwendungen wie Laser-Drucker von Hewlett-Packard, Okidata und Lexmark sowie zahlreiche Kopierer, genauso wie Router von Cisco, Bay Networks und mehr.

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 4: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 4 -

1.4 MIPS Höhepunkte 12 Heute gibt es mehr als 35 separate Teams zur Entwicklung MIPS-basierter Produkte. Es existieren mehr als 80 verschiedene MIPS Prozessoren, die entwickelt wurden und vermarktet werden von MIPS Technologies, Inc. und/oder den Partnern. Folgend kurz eine Auflistung der Höhepunkte von MIPS.

• 1981: Beginn des MIPS Architektur Projekts an der Stanford University • 1984: Gründung von MIPS Computer Systems • 1991: R4000TM erster (!) kommerzieller 64-bit Microprozessor. • 1995: R4700TM ernannt zum "Microprocessor of the Year" von Microprocessor Report. • 1996: MIPS wurde zur größten und am schnellsten wachsenden RISC Architektur in der Welt mit 19.2 Millionen Prozessoren. MIPS verzeichnete mehr als 10faches Wachstum von 1994 bis 1996. • 1997: MIPS Vertragspartner verkauften 48 Millionen Prozessoren und MIPS wurde dadurch die erste RISC Architektur in der Geschichte, die

Motorola's 32-bit 68000 CISC Einheit übertraf. • 1997: NEC's MIPS RISC VR4300TM wurde zum "Microprocessor of the

Year" ernannt von Microprocessor Report. • 1998: MIPS Technologies, Inc. gab Order raus: „Die Firmenstrategie ist es, den Endverbraucher anzusprechen und die bereits vorhandene Position im traditionellen embedded Mark verstärkt auszubauen“. • 1998: MIPS gewinnt NEC und Toshiba als Vertragspartner. • 2000: Sony erhält die Auszeichnung „Best Embedded Prozessor“ für die MIPS basierende 128-bit Emotion Engine in der Playstation 2 • 2001: fast alle namhaften Hersteller von Microprozessoren haben eine Lizenz von MIPS Technologie erworben • 2002: Microsoft lizensiert Windows CE für MIPS Prozessoren

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html 2 Quelle: http://www.mips.com

Page 5: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 5 -

1.5 Nennenswerte MIPS-Prozessoren1

R4000

Der R4000 ist ein 64-bit Prozessor. Auf ihm können jedoch auch problemlos 32-Bit Applikationen laufen, selbst dann, wenn der Prozessor im 64-bit Operationsmodus läuft.

R4000 Highlights

• 64-bit On-chip Floating-point Unit (FPU) • 64-bit Integer Arithmetic Logic Unit (ALU) • 64-bit Integer Register • 64-bit Virtueller Adressraum • 64-bit Systembus

R4300

Der MIPS R4300 ist ein high-performance, low-cost RISC Mikroprozessor, der für den kostengünstigen embedded Markt entworfen wurde.

R4300 Highlights

• 64-bit Architektur • 3.3V, 100+MHz, 1.8W

R5000

Der MIPS R5000 Mikroprozessor ist eine echte 64-bit Implementierung der MIPS IV Architektur und ist ISA kompatibel mit der R4000 Familie. Der R5000 besitzt On-chip-1st Level Caches, 32KB Instruktion und 32KB Data.

R5000 Highlights

• 2-way superskalare Pipeline • Accelerates 3D graphics • MIPS IV ISA kompatibel

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 6: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 6 -

2. Der MIPS 10000 Prozessor 2.1 Leistungsmerkmale 1

Der R10000 ist ein Einchip superskalarer RISC-Mikroprozessor, der eine konsequente Weiterentwicklung der Prozessoren R2000, R3000 (Embedded Systems), R6000, R4400 (bekannt aus NintendoTM) ist.

Skalierbarkeit bezeichnet die Möglichkeit, die Zahl der Prozessoren mit dem tatsächlichen Rechenbedarf zu erweitern, ohne dass eine andere Betriebssoftware erforderlich wird. Neben der dynamischen Erweiterbarkeit eines Rechnersystems ist auch einer Reduktion der Zahl der Prozessoren im laufenden Betrieb von Wichtigkeit, da bei großen Prozessorzahlen die Wahrscheinlichkeit eines Prozessorausfalls erheblich zunimmt. Die Skalierbarkeit erlaubt in solchen Fällen die Fortsetzung des Betriebs mit einer geringeren Zahl von Prozessoren.

Diese Konzeption erhält allerdings dadurch einen empfindlichen Dämpfer, dass bei der effizienten Verteilung einer Berechnung auf mehrere Prozessoren die Laufzeit durch die Zahl der verfügbaren Prozessoren sowie die Art ihrer Kommunikation erheblich beeinflusst wird. Der Ausfall von einem oder mehreren Knoten kann dann über die Leistungsreduktion hinaus zu zusätzlichen Leerzeiten der verbleibenden Prozessoren und damit zu einer substantiellen Verschlechterung des Durchsatzes führen. Deshalb wird der Wert einer Skalierbarkeit in erster Linie für die Bearbeitung unabhängiger Aufträge, und weniger für den Multiprogrammierungsbetrieb, gesehen.

Der R10000 wurde in der MIPS ANDES -Architektur realisiert, was ausgeschrieben heißt Achitektur with Non-sequential Dynamic Execution Scheduling oder Architektur mit nicht-sequentie ller Befehlsausführung.

Hier einige Produkte, in denen der MIPS R10000 Anwendung findet:

- Silicon Graphics

o CRAY Origin2000

o Indigo ² 10000 High Impact

o SGI™ -Serie

- Compaq

o Integrity S5000

o NonStop® Himalaya S70000

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 7: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 7 -

2.2 Fakten des R10K12

• Es wurde der 64-Bit MIPS IV Befehlssatz implementiert, welcher binär abwärtskompatibel zu den Vorgängern ist

• d.h. es können auch ältere 32-Bit Applikationen (MIPS I , MIPS II) ausgeführt werden (auch neben 64-Bit Applikationen)

• 64 GP-64-Bit-Integer Register, davon 32 logische Register für den Programmierer sichtbar (Register Renaming)

• 64 GP-64-Bit-Floationg-Point Register, hier wieder nur 32 sichtbar (wieder Register Renaming)

• ANDES (Architecture with Nonsequential Dynamic Execution Scheduling) • Superscalar pipelined Prozessor, mit 5 (Integer), 6 (Load/Store) bzw. 7 (FP)

Pipelinestages • Es können 4 Instructions pro Takt decodiert werden, welche dann in eine der 3

Instruction Queues ("Reservation Stations") eingefügt werden. • 5 unabhängige Execution-Pipelines, davon 2 für die separaten Integer Units, weitere 2

für die Floating-Point (Add, Mult) Units und eine für die Load-Store Unit • Dynamisches Befehls Scheduling (dynamische Zuweisung an die Functional

Units/Execution-Pipeline) und Out-of-order Execution • Spekulative Befehlsausführung (speculative branch) von Befehlen nach einem Sprung

gemäß einer Vorhersage, miss-prediction-recovery in einem Zyklus • Insgesamt 6.7 Millionen Transistoren, davon 4.4 Millionen für den 1.Level Cache • Kerntakt bis 200 MHz • 599-Pin Ball-grid-Array • max. 30 Watt Leistungsaufnahme • Nichtblockierende Cache-Interfaces mit Prefetchfunktion • Je 32K 1.Level Code und Daten Cache, zweifach assoziativ • Interner 2.Level Cache Controller für den externen 2.Level Cache, zweifach assoziativ • Programmierbare Taktrate zum L2-Cache (System-Boottime) • 128-Bit 2.Level Cache Datenbus mit 3,2 GB/sec. peek Datentransferrate • es können 512K bis 16M L2 Cache implementiert werden • Internes System Controller Interface, mit Multiprozessor Unterstützung, nicht

blockierend • 64 Translation Lookaside Buffer (TLB) Einträge • 0.35 µm CMOS Technologie • ANSI / IEEE Standard 754-1985 für binäre FP-Arithmetik • Fehlerkorrektur für Cache-Bus und Systembus • Hardware-Debugging-Interface ( JTAG ) • Präzise Zuordnung von Unterbrechungen zu ihren verursachenden Befehlen

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html 2 Quelle: http://www.inf.fu-berlin.de/lehre/SS98/RA/referate/mips10k/

Page 8: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 8 -

2.3 Strukturen des Prozessors Die folgende Abbildung zeigt die grundsätzlichen Strukturen des MIPS R10000. In der unteren Bildhälfte ist der Taktgeber und sind die Pipelines zu sehen. Die Caches befinden sich im oberen Teil der Abbildung. Hierbei befindet sich der 1. Level Cache auf dem Prozessorchip. Der 1. Level Cache besteht dabei aus dem Instruction Cache sowie dem Data cache. Der 2. Level Cache befindet sich hingegen außerhalb.

Abbildung 1: Schema des MIPS R100001

1 Quelle: http://www.tik.ee.ethz.ch/tik/education/lectures/DRS/Folien/AdvancedPipe.pdf

Page 9: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 9 -

3. Das Cache-System1

Der R10000 besitzt die Kontroller für den L.1 und L.2 Cache on Chip. Auf den L1.Cache entfallen dabei ~1/10 der Chipfläche und ~2/3 der Transistoren.

Zur Verdeutlichung siehe Abbildung 1: Schema des MIPS R10000

3.1 Der Level 1 Cache (L1)

Unterstützt fünf verschiedene Cache Algorithmen:

1. Uncached Load's/Store's gehen direkt über das System-Interface in den Hauptspeicher. (double-, single-, partial-word)

2. Cacheable noncoherent Auf einen L2-miss folgt ein „Prozessor noncoherent block read request“, d.h. die externen Bauteile mit Cache brauchen keinen coherency check durchzuführen.

3. Cacheable coherent exclusive L2-miss resultiert in einem „Prozessor coherent block read exclusive request“, d.h. der coherency Check muss erfolgen und der Cacheblock muss im clean Exclusive-State zurückgeliefert werden.

4. Cacheable coherent exclusive on write L2-write-miss wie vorhergehend. L2-read-miss resultiert in „Prozessor coherent block read shared request“, d.h. der coherency Check muss erfolgen, der Cacheblock kann entweder im Shared- oder im Exclusive-State zurückgeliefert werden. Ein Write-Hit zu einem shared Block hat einen Prozessor Upgrade-Request zurfolge, d.h. die externen Bauteile mit Cache müssen diesen Block bei sich invalidieren.

5. Uncached accelerated Für Read-Requests verhält sich diese Methode wie die erste, für Write-Request werden aufeinander folgende Requests für den gleichen "Cacheblock" gesammelt und als ein „Prozessor block write request“ abgeschickt.

1 Quelle : http://www.inf.fu-berlin.de/lehre/SS98/RA/referate/mips10k/

Page 10: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 10 -

Der L1 Cache teilt sich auf in zwei logische Einheiten:

3.1.1. Der primäre Instruction Cache (I-cache)

• Der L1 Instruction Cache ist Teil des L2-Caches • Größe 32K bei 16 Worten pro Cacheblock • 2-way set associative mit 27-Bit Tags • Ersetzen von Cachelines nach dem least-recently used (LRU) Verfahren • Liefert 4 aufeinander folgende Befehle pro Cycle, wobei diese an einer beliebigen

Wortgrenze innerhalb eines Cacheblockes liegen dürfen, jedoch nicht über eine Blockgrenze hinweg

• Die Befehle werden predecoded, die Befehlsfelder umsortiert und ein 4 Bit großer Unit-Selection-Code angehängt

• Parity Check pro Wort • Non-blocking Instruction fetch • Addressierung erfolgt mit virtuellen Adressen, die Tags enthalten jedoch

physikalische Adressen

Der Cache kennt je Cacheline folgende Zustände, die per valid-Bit dargestellt werden:

• Invalid • Valid

3.1.2. Der primäre Daten Cache (D-cache)

• Größe 32K bei 8 (Doppel-)Worten pro Cacheblock • 2-way set associative mit 28-Bit Tags • Ersetzen von Cachelines nach dem least-recently used (LRU) Verfahren • 64 Bit Load/Store Operationen • 128 Bit Refill bzw. Write-Back Operationen • Non-Blocking Load/Store • Parity Check pro Byte • Addressierung erfolgt mit virtuellen Adressen, die Tags enthalten jedoch

physikalische Adressen (wie beim I-cache)

Der Cache kennt folgende Zustände, die über 2 Bit dargestellt werden:

• Invalid • CleanExclusive • DirtyExclusive • Shared

Es wird die Write-Back Strategie mit Write Allocate benutzt, sofern das Caching nicht ausgeschaltet ist.

Page 11: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 11 -

3.2 Der 2. Level Cache (L2)

Der L2 Cache besitzt einen 138-Bit breites Datenfeld, zusammengesetzt aus 128 Bit Daten + 9 Bit ECC (Error Correcting Code) + 1 Bit Parity, sowie ein 33-Bit Tag-Feld (26 Bit Tag + 7 Bit ECC).

Die Tag's bestehen aus 22 Bit physikalische Adresse, 2 Bit für virtuelles aliasing, da sich virtuelle Adressbereiche physikalisch im Cache überschneiden können, und 2 Bit für den Zustand der Cacheline.

Page 12: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 12 -

4. Das Pipeline-System1 Der Prozessorkern ist in einem superskalaren Design ausgeführt und arbeitet mit insgesamt fünf weitestgehend unabhängigen Pipelines und ebenso vielen Ausführungseinheiten, die maximal 7-stufig sind. Für jede der Operationstypen Integer, Float und Load/Store steht eine Warteschlange für Befehle zur Verfügung. Für letztere steht eine streng nach dem FIFO-Prinzip geordnete Warteschlange bereit, um Speicherabhängigkeiten und Datenkonsistenz zu gewährleisten. Die anderen beiden sind keiner strengen Ordnungsregeln unterworfen. Es verlässt ein Befehl, dessen Abhängigkeiten in Bezug auf Operanden erfüllt sind, die Warteschlange und wird ausgeführt. Jede der Einheiten (Inter oder Float) verfügt über ein Registerfile mit 32 logischen Registern zu 64 Bit, die auf 64 physikalischen Registern (Integer- oder Float-Register) abgebildet werden. Zu jedem physikalischen Register gehört immer nur ein Wert. Wird auf ein logisches Register eine Operation ausgeführt, so wird das Ergebnis in ein nicht zugewiesenes Register geschrieben. Die Floatingpoint Multiplizierer/Dividierer bzw. die Integer Multiplizierer/Dividierer Pipeline zeichnen sich durch die eingezeichneten Rückführungen aus, da in diesen Pipelines iterative Ausführungen stattfinden. Daher ergeben sich auch fälschlicherweise Angaben wie „insgesamt sechs oder sieben weitestgehend unabhängigen Pipelines“. Nachfolgend die sieben Stufen der 4-Wege-Pipeline (vier Befehle gleichzeitig):

- Stufe 1: Diese Stufe holt pro Zyklus bis zu 4 Befehle, unabhängig, wie sie innerhalb einer Cachezeile ausgerichtet sind. Die einzige Einschränkung besteht darin, dass der Prozessor nicht über die Grenze einer Cachezeile laden kann.

- Stufe 2: In der 2. Stufe werden die Befehle dekodiert und die Operandenregister, die durch logische Adressen referenziert werden, umbenannt, d.h. an ihrer Stelle die physikalische Adresse eingetragen und als benutzt markiert. Des Weiteren wird ein freies Register reserviert, das das Ergebnis des Befehls aufnimmt.

- Stufe 3: In dieser Stufe werden die Befehle in die Warteschlangen vor den Ausführungseinheiten eingetragen. Nach dieser Stufe beginnt die eigentliche Befehlsausführung.

- Stufen 4-6: In den Stufen 4-6 werden die eigentlichen Operationen ausgeführt. Für die einzelnen Ausführungseinheiten stehen verschiedene Pipelines zur Verfügung.

o Floating-Point-Multiplizierer Diese Pipeline ist 3-stufig. In ihr werden Multiplikation und bedingte Speicherbefehle für einfache und doppelte Genauigkeit mit einer Wiederholrate von 1 Zyklus und einer Latenzzeit von 2 Zyklen ausgeführt. In der dritten Stufe wird das Ergebnis in das Zielformat gepackt und in das Registerfile zurückgeschrieben.

o Floating-Point-Dividierer und Radizierer Diese Einheit hat keine Pipeline im eigentlichen Sinn. Vielmehr verwendet sie

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 13: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 13 -

die Recheneinheiten der Multiplizierereinheit und arbeitet iterativ. Sie ist in der Lage, Divisionen und Radizierungen parallel auszuführen.

o Floating-Point-Addierer Auch diese Pipeline ist 3-stufig. In ihr werden Additionen, Subtraktionen Vergleiche und Formatwandlungen mit einer Wiederholrate von 1 Zyklus und einer Latenzzeit von 1 Zyklus ausgeführt.

o Integer-Einheit 1 Diese Pipeline ist, sofern man davon sprechen kann, 1-stufig. Diese Stufe führt Additionen, Subtraktionen, logische Operationen und die Auswertung der Sprungvorhersage aus. Die Latenzzeit ist 1 Zyklus und die Wiederholrate ebenfalls 1 Zyklus.

o Integer-Einheit 2 In dieser, ebenfalls 1-stufigen, Pipeline werden Additionen und Subtraktionen sowie Multiplikationen und Divisionen durchgeführt. Die Latenzzeit ist 1 Zyklus und die Wiederholrate ebenfalls 1 Zyklus für Addition und Subtraktion, ansonsten deutlich höher, nach Tabellen bestimmbar.

o Load/Store Diese Einheit hat einen 16-Einträge-Stack um ebenso viele Speicherzugriffe nicht blockierend auszuführen. Sie verfügt über ein eigenes 44-Bit Adressrechenwerk für logische Adressen und einen 64 Einträge großen TLB, der vollassoziativ ist.

- Stufe 7: In dieser Stufe beenden die Befehle gemäß ihrer ursprünglichen Programmreihenfolge. Es können bis zu 32 Befehlen außerhalb ihrer Reihenfolge behandelt werden.

Page 14: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 14 -

Abbildung 2: Pipeline des MIPS R10000

5. Die Instruction Queues / Execution Pipelines1

Der R10000 besitzt drei von einander unabhängige Instruction Queues, in die die Befehle durch die Decodeunit eingereiht werden.

• Integer Queue o 16 Einträge umfassende Instructionqueue, mit dynamischem Instruction Issue o 64 Bit breites Register File mit 64 physikalischen Registern (32 logische

Register), 7 Leseports und 3 Schreibports o 2 64 Bit breite ALU's, mit jeweils eigener Execution Pipeline

§ ALU1 § Integer Add, Integer Sub, etc. § Shifter § BranchComparator

§ ALU2 § Integer Add, Integer Sub, etc. § Integer Mult § Integer Div

• Address Queue o 16 Einträge umfassende Adressqueue, mit dynamischem Issue, benutzt das

Integer-Register-File für Baseregister und Indexregister o 16 Einträge umfassender Adressstack für Nonblocking Load's und Store's o Einheit zum Berechnen von 44 Bit großen virtuellen Adressen o 16 Einträge umfassender, voll assoziativer Translation-Lookaside Buffer

(TLB), zum Konvertieren der virtuellen Adressen in physikalische Adressen (40 Bit), jeder Eintrag mapped 2 Pages à 4K - 16M, in Potenzen von 4

• Floating-Point Queue o 16 Einträge umfassende Instructionqueue, mit dynamischem Instruc tion Issue o 64 Bit breites Register File mit 64 physikalischen Registern (32 logische

Register), 5 Leseports und 3 Schreibports o 64 Bit, parallel arbeitende Add Unit (3 Execution Cycles, 2 Latenz Cycles),

diese Einheit führt Additionen, Subtraktionen und diverse andere FP-Operationen aus

o 64 Bit, parallel arbeitende Multiply Unit (3 Execution Cycles, 2 Latenz Cycles), diese Einheit führt auch 'move'-Befehle aus

o je eine separate, unabhängige 64 Bit breite Divisions- bzw. Quadratwurzel Unit, beide Einheiten teilen sich die Issue- und Completion-Logic mit der Multiply-Unit

1 Quelle: http://www.inf.fu-berlin.de/lehre/SS98/RA/referate/mips10k/

Page 15: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 15 -

6. Register-Renaming1 Registerrenaming ist eine Methode, um auf relativ einfache Art und Weise Operandenabhängigkeiten zu überprüfen und die spekulativen Ergebnisse von Befehlen reversible zu machen. Die Implementierung im R10000 macht von dieser Methode sehr aggressiv Gebrauch. Wie oben erwähnt, besitzt der Prozessor zwei Registerbänke zu 32 logischen, die auf 64 physikalische Register abgebildet werden und im Bezug auf das Renaming identisch sind. Beim Renaming werden im ersten Schritt logische Registeradressen durch physikalische Adressen ersetzt und dem Zielregister ein neues physikalisches Register zugewiesen. Das Originalregister und dessen logische Adresse werden bis zur Befehlsbeendigung durch die siebte Stufe der Pipeline zwischengespeichert. Dadurch ist es möglich, Befehle außerhalb ihrer Reihenfolge zu bearbeiten und die produzierten Ergebnisse gemäß der Programmreihenfolge in die Registerfiles zu schreiben. Ferner ist das Abbrechen von spekulativ ausgeführten Befehlen möglich, wie sie bei bedingten Sprüngen auftreten.

7. Spekulationen und Vorhersagen2

Die Entwickler des Prozessors sind wahrscheinlich nach dem Prinzip vorgegangen, dass man so ziemlich alles vorhersagen kann. Die in diesem Zusammenhang herausragende Funktion ist die speculativ execution. Der Prozessor führt intern eine Sprungvorhersage nach einem statistischen 2-Bit-Kriterium aus und führt die Befehle entlang des vorhergesagt Pfades aus. Es wird die Sprunggeschichte der letzten 512 ausgeführten Sprünge protokolliert. Er ist in der Lage, bis zu vier falsch vorhergesagte Sprünge zu revidieren, was durch den Mechanismus des Registerrenaming vereinfacht wird. Beim Abbruch oder Rückgängigmachen einer Operation wird dem logischen Ergebnisregister sein ursprüngliches physikalisches Register wieder zugewiesen und somit das spekulative Ergebnis verworfen. Des weiteren trifft der Prozessor Vorhersagen darüber, wo in dem, wie Eingangs erwähnt 2-fach assoziativen, Cache die Daten liegen. Er ist in der Lage, bis zu einer Cachegröße von 2 MByte und einer Zeilenlänge von 32 Words, Vorhersagen zu machen. Laut Entwicklerangaben ist der Performancegewinn größer, als wenn man mehr Cache verwendet.

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html 2 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 16: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 16 -

8. Das System-Interface1 Die Schnittstelle zum Chipsatz, der hier external-agent (ea) heiß, und zu anderen Prozessoren besteht im Wesentlichen aus einem 64-Bit Adress-/Daten-Multiplexbus, einem 12-Bit Commandbus und einer Anzahl von Signalen zur Datenflusskontrolle. Das Interface ist asynchron und nicht blockierend, was durch mehrere Pufferspeichern, teils auch FIFO's, realisiert wird. Darunter befindet sich auch die Logik für den oben erwähnten uncached accelerated-Mode. Ferner unterstützt das Interface auch Multiprocessing in zwei verschiedenen Arten:

• Multiprocessing using dedictated external agents Diese Variante findet Anwendung bei großen Rechner-Arrays, wo man deutlich mehr Leistung braucht, als man es aus einem Computer in Big-Tower-Größe erwarten könnte. Es können hiermit beliebig viele Prozessoren verbunden werden. Jeder von ihnen muss über einen externa l agent verfügen, der für die Kommunikation mit dem Hauptspeicher, der I/O und den anderen ea verantwortlich ist. Es muss selbstverständlich dafür Sorge getragen werden, dass die Verbindung der ea kohärent ist.

• Multiprocessing using a cluster-bus Dieses is t die einfachere Variante, wo 2 bis 4 Prozessoren direkt am Systeminterface verbunden sind und sich den ea, der Jet cluster-coordinator heißt, teilen. Die Verteilung der Zugriffsrechte wird mit den drei Signalen SysRequest, SysRelease und SysGrant durch den cluster-coordinator gesteuert.

In den beiden Betriebsarten werden folgende drei Kohärenzprotokolle unterstützt:

• snoopy-based Die Prozessoren im Slave-Mode "schnüffeln" auf dem Bus und reagieren, je nachdem, ob sie angesprochen sind oder nicht. Dieses ist das einfachste aller Protokolle, mit dem geringsten Hardware-Aufwand, aber auch das langsamste. Jeder Prozessor, wenn er nichts mit den Informationen auf dem Bus anfangen kann, muss dieses dem aktuellen Master-Prozessor mitteilen, was bei drei Slaves einen beträchtlichen Protokoll-Overhead ausmacht.

• snoopy-based with external duplicate tags and control Bei diesem Protokoll melden sich Slave-Prozessoren nur, wenn sie vom cluster- coordinater angesprochen werden. Selbiger besitzt eine Kopie aller 2nd-Level- Tags im Cluster und weiß somit, ob sich ein angefordertes Datum in einem der Slave-Caches befindet. Wenn dem so ist, dann gibt er die Anfrage an den entsprechenden Prozessor weiter, der dem Auftraggeber einen Response liefert, ansonsten wird ein

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 17: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 17 -

Hauptspeicher-Zugriff ausgeführt. Der Protokoll-Overhead sinkt auf dem Bus und der Hardware-Aufwand beim vom cluster-coordinater steigt.

• directory-based with external directory structure and control Über dieses Protokoll schweigt sich die Dokumentation weitestgehend aus. Sie ist den duplicated Tags ähnlich. Es werden zusätzlich Informationen über den Prozessor gehalten und darüber, welcher Cache welche Einträge hält.

Die external agents oder cluster-coordinater sind nicht wie bei anderen Prozessoren erhältlich. Sie werden in der Regel nach eigenen Bedürfnissen von dem Systemdesigner entworfen und in ASIC's realisiert.

Virtuelle Adressen

Die Virtuelle Adress-Verwaltung ("TLB") wird vom External Agent gemanaged.

Page 18: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 18 -

9. Verschiedenes über den R100001

Beim Reset des Prozessors sind folgende Features softkonfigurierbar:

• Cache-Algorithmus • Prozessor Nummer (Mehrprozessor-System) • Interfacestruktur (External Agent / Cluster Coordinator) • Systeminterface-Taktrate • L2-Cache-Blockgröße • L2-Cache-Größe • L2-Cache-Taktrate • Cache-Test ein/aus • Big-/Little-Endian Umschaltung für den Speicher • Fehlerkorrektur • Weitere.....

Spezielle Instructions für Cacheoperationen:

• PREF - Prefetch Cacheline • LL(D) - Load Linked (Double) • SC(D) - Store Conditional (Double)

LL und SC werden zur Implementierung von Speicher Semaphoren bereitgestellt • SYNC - Synchronize all Pipelines

1 Quelle: http://www.inf.fu-berlin.de/lehre/SS98/RA/referate/mips10k/

Page 19: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 19 -

10. Ein Vergleich zum MIPS R12000 1 Der MIPS R12000 stellt eine direkte Weiterentwicklung des MIPS R10000 dar. Es wurden einige kleine Verbesserungen vorgenommen, die die Prozessor-Performance insgesamt auf über 23 % gegenüber dem MIPS R10000 erhöhten, Dadurch ist eine eigene Prozessornummer gerechtfertigt. Auszugsweise werden jetzt diese Verbesserungen vorgestellt. Beim MIPS R12000 wurde die Aktive List von 32 Einträgen auf 48 Einträge erhöht. Diese Erweiterung erlaubt mehr Befehlen, entweder in der Liste auf ihre Ausführung zu warten oder ausgeführt zu werden. Bei einem Branch erlaubt diese dem Prozessor, spekulativ mehr Befehle auszuführen, was auch tiefere Spekulation genannt wird. In den allermeisten Situationen erhöhen diese beiden Effekte die Anwendungs-Performance. Wenn der MIPS R10000 Daten vom Systembus zu dem zweiten Cache transferiert, wird der Cache-Controller für eine Weile lahm gelegt, bis die komplette Cache-Zeile vom Hauptspeicher eingelesen wurde. Da der Systembus-Takt entscheidend langsamer ist als der Prozessortakt, kann ein ganzer Zeilenübertrag für den zweiten Cache eine Ruhepause von einigen Duzend Zyklen bedeuten. Während dieser Zeit kann keine andere Anfrage beantwortet werden. Beim MIPS R12000 ist der Transfer einer Cachezeile vom Systembus zum zweiten Cache in zwei Unterblöcke geteilt, vier für den Datencache und drei für den Instruktionencache, mit freien Zyklen zwischen jedem Unterblock. Während dieser Zyklen können andere Operationen vom zweiten Cache Controller initiiert werden. Wenn während dieser Zeit Daten vom Systembus kommen, werden sie gespeichert, bis der Transfer vorbei ist. Insgesamt reduziert diese Veränderung den Zeitverbrauch der anderen Operationen. Dieses hilft insbesondere den Anwendungen, die permanenten Miss auf den ersten und zweiten Cache haben. Zwei Veränderungen verbessern den MIPS R12000 bezüglich seiner Performance bei Branch-Befehlen. Erstens, die 4fache Erweiterung der Voraussagetabelle erhöht die Genauigkeit. Zweitens, ein 32einträgiger Target Adress Cache produziert die Zieladressen für Branch-Befehle. Beim MIPS R10000 verursacht jeder Branch einen Leerlaufzyklus in der Pipeline, während die Zieladresse berechnet wird. Der Leerlauf wird eliminiert, wenn der Branch einen Hit auf den Zielcache macht. Branch-Befehle können 15 % bis 20 % der gesamten auszuführenden Instruktionen einer Anwendung ausmachen. Deshalb hat die Vergrößerung der Branch-Prediction-Table und des Branch-Target-Adress-Caches großen Anteil an der allgemeinen Verbesserung der Anwendungs-Performance. Der MIPS R10000 kann keine Instruktionen dekodieren, wenn die Adress-Warteschlange voll ist. Beim MIPS R12000 werden alle load, store, cacheop, und prefetch Instruktionen zu der Integer-Warteschlange gesendet und in der Address-calculation-Unit veröffentlicht. Sie werden dann aus der Integer-Warteschlange in die load/store Warteschlange platziert. Obwohl dadurch zusätzliche Instruktionen in die Integer-Warteschlange kommen, werden sie normalerweise sehr schnell weitergeleitet. Diese Veränderung vereinfacht beträchtlich das Design dieser Prozessorkomponenten, ohne die Anwendungs-Performance zu verändern.

1 Quelle: http://www.syssoft.uni-trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Page 20: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 20 -

11. PowerPC, Alpha und MIPS im Vergleich1 Nachfolgende sehen Sie einige Vergleiche zwischen einem PowerPC 620, einem Alpha 21264 und einem MIPS R10000.

Abbildung 3: Implementierungscharakteristika des PowerPC 620, Alpha 21264 und MIPS R10000

Abbildung 4: Leistungszahlen des PowerPC 620, Alpha 21264 und MIPS R10000

Abbildung 5: Cacheorganisation des PowerPC 620, Alpha 21264 und MIPS R10000

Abbildung 6: Pipelineorganisation des PowerPC 620, Alpha 21264 und MIPS R10000

1 Quelle: http://www.tik.ee.ethz.ch/tik/education/lectures/DRS/Folien/AdvancedPipe.pdf

Page 21: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 21 -

12. Abbildungsverzechnis Abbildung 1: Schema des MIPS R10000 ...................................................................................8 Abbildung 2: Pipeline des MIPS R10000 .................................................................................14 Abbildung 3: Implementierungscharakteristika des PowerPC 620, Alpha 21264 und MIPS R1000020 Abbildung 4: Leistungszahlen des PowerPC 620, Alpha 21264 und MIPS R10000 ...............20 Abbildung 5: Cacheorganisation des PowerPC 620, Alpha 21264 und MIPS R10000 ...........20 Abbildung 6: Pipelineorganisation des PowerPC 620, Alpha 21264 und MIPS R10000 ........20

Page 22: Bericht zum Referat MIPS R10000 LCT-Labor (RST) · Semester I7I WS 02/03 Hochschule Bremen 30.01.2003 Frank Bremer 11081 Enno Wattenberg 11626 LCT-Labor (RST) MIPS R10000 LCT-Labor

Semester I7I WS 02/03

Hochschule Bremen 30.01.2003

Frank Bremer 11081 Enno Wattenberg 11626

LCT-Labor (RST) MIPS R10000

LCT-Labor (RST) Bericht zum Referat – MIPS R10000 - Seite 22 -

13. Quellen- und Literaturverzeichnis [1] http://www.mips.com/ Homepage des Herstellers [2] http://www.sgi.com/ Homepage von Silicon Graphics, Inc [3] http://www.syssoft.uni-

trier.de/systemsoftware/Download/Seminare/Prozessorarchitekturen/Prozessorarchitekturen-7.html

Präsentation über den MIPS R10000 Microprozessor, Uni-Trier von Matthias Brust [4] http://www.inf.fu-berlin.de/lehre/SS98/RA/referate/mips10k/ Präsentation über den MIPS R10000 Microprozessor, FU Berlin von Olaf Dreesen und René Müller [5] http://www.tik.ee.ethz.ch/tik/education/lectures/DRS/Folien/AdvancedPipe.pdf Präsentation „Pipelining für Fortgeschrittene“, Institut der Technischen Informatik an der Eidgenössischen Technischen Hochschule in Zürich von Prof. Dr. Bernhard Plattner [6] http://www.cis.nctu.edu.tw/~yachen/Courses/CA99S/m10k_talk.pdf Präsentation „R10000 Superscalar Microprocessor“, SiliconGraphics [7] http://www.volny.cz/martin.smetana/skola/prace/aps/ Präsentation „Procesor MIPS R10000“, von Martin SMETANA u. Karel REZAC [8] Computer Architecture - A quantitative Approach,

2nd Edition, John L. Hennessy & David Patterson, Morgan Kaufmann Publishers Inc., USA, 1996

[9] MIPS R10000 Microprocessor User’s Manual Version 2.0 (1997) MIPS Technologies, Inc., Mountain View, California [10] MIPS IV Instruction Set Revision 3.2 (1995) MIPS Technologies, Inc., Mountain View, California By Charles Price