MIPS-Architektur - LinkFang.de





MIPS-Architektur


Die MIPS-Architektur (englisch Microprocessor without interlocked pipeline stages; deutsch etwa „Mikroprozessor ohne verschränkte Pipeline-Stufen“) ist eine Befehlssatzarchitektur im RISC-Stil, die ab 1981 von John L. Hennessy und seinen Mitarbeitern an der Stanford-Universität entwickelt wurde. Die Weiterentwicklung erfolgte ab 1984 bei der neugegründeten Firma MIPS Computer Systems Inc., später MIPS Technologies.

MIPS war ursprünglich eine 32-Bit-Architektur, die 64-Bit-Erweiterung folgte 1991 und wurde mit dem R4000 eingeführt. Viele RISC-Architekturen aus dieser Zeit beeinflussten sich gegenseitig, hierzu gehören Sun SPARC, DECs Alpha-Prozessor oder Hewlett-Packards PA-RISC.

Die MIPS-Architektur nutzt das Register/Register-Ausführungsmodell.[1]

Verwendung

MIPS-Prozessoren wurden von Silicon Graphics in Unix-Workstations (z. B. SGI Indigo2) und Unix-Servern (z. B. SGI Origin2000) eingesetzt. Früher boten auch andere Workstation-Hersteller wie z. B. die Digital Equipment Corporation (DEC) Maschinen mit MIPS-Prozessoren an, so z. B. die DECstation-Familie (2100, 3100, 5000) und die DECsystem unter dem Betriebssystem Ultrix. Beispielsweise bestückten Siemens bzw. SNI ihre Server der RM-Serie mit MIPS-Prozessoren der R4000-, R5000- und R10000-Familie.

MIPS-Prozessoren werden auch häufig in eingebetteten Systemen eingesetzt. Dazu zählen z. B. Cisco-, MikroTik- und TP-Link-Router, Suns Cobalt-Server bis RaQ/Qube2, Kraftfahrzeug-Navigationssysteme, die Fritz!Box, Satellitenreceiver, Dreambox, Konica Minolta DSLRs und Sony- und Nintendo-Spielkonsolen.

Es gab Versuche, MIPS-Prozessoren mit Hilfe der ECL-Technik zu beschleunigen. Man verwendete dazu den Typ Mips R6000, letztlich eine ECL-Variante des Mips R3000. Dieser Prozessortyp wurde in Computern des Typs CDC 4680 der Firma Control Data Corporation eingesetzt.

Funktion

Ein Befehl in diesen Prozessoren wird in mehreren Stufen in einer Pipeline abgearbeitet, so dass mehrere Befehle in unterschiedlichen Bearbeitungsschritten (etwa Befehl holen, Befehl dekodieren und Operanden holen, Befehl mit Operanden ausführen, Hauptspeicher lesen oder schreiben und das Ergebnis rückschreiben) gleichzeitig im Prozessor sein können. Falls ein nachfolgender Befehl auf das Ergebnis eines vorangehenden angewiesen ist, muss der nachfolgende Befehl eventuell angehalten werden, bis das Ergebnis zur Verfügung steht. Dies wird normalerweise durch Sperren (engl. „locks“, „stalls“) erreicht. Eine andere Möglichkeit der Verarbeitung solcher Datenhürden ist das sogenannte „Forwarding“, bei dem die für den folgenden Befehl benötigten Rechenergebnisse direkt nach Berechnung zum nächsten Befehl geleitet werden, statt den Wert im nächsten möglichen Zyklus aus einem Register zu holen.

Die MIPS-Architektur verzichtet auf solche Sperren und verlangt vom Assemblersprachenprogrammierer oder Compiler entsprechende Maßnahmen wie Umsortierung oder das Einfügen von Nulloperationen (NOP). Dadurch kann die Architektur einfach gehalten werden.

Ein weiterer Mechanismus, der zur Beschleunigung der MIPS-Architektur dient, ist das sogenannte Superpipelining. Im Gegensatz zu räumlich parallelen Architekturen (z. B. VLIW-Prozessoren) wird hier eine zeitliche Parallelität der Befehlsabarbeitung durch Unterteilung der Befehlspipeline in mehr Stufen erreicht. So entsteht eine feinere Unterteilung des Fließbandes. Die Stufen der Pipeline haben auf diese Weise eine kürzere Durchlaufzeit, und daher kann die Taktrate erhöht werden. Superpipelining wurde erstmals in den MIPS-R4000-Prozessoren implementiert.

MIPS-Prozessoren

MIPS-Mikroprozessor-Spezifikationen
Modell Frequenz
in MHz
Jahr Herstellungsprozess
in µm
Transistoren
in Millionen
Die-Größe
in mm²
IO-Pins Leistung
in W
Spannung
in V
Dcache
in KiB
Icache
in KiB
Scache
in KiB
R2000 8,3…16,7 1985 2,0 0,11 80 ? ? ? 32 64
R2000A 12,5…16,7 1988 2,0 0,11 80 ? ? ? 32 64
R3000 20…33 1988 1,2 0,11 66,12 145 4 ? 64 64
R3000A 25…40 1989 1,2 0,11 66,12 145 4 ? 64 64
R4000 100 1991 1–0,8 1,35 213 179 15 5 8 8 1024
R4300 93,75 1996 ? ? ? ? ? ? ? ? ?
R4400 150…250 1992 0,6 2,3 186 179 15 5 16 16 1024
R4600 133 1994 0,64 2,2 77 179 4,6 5 16 16 512
R5000 150…200 1996 0,35 3,7 84 223 10 3,3 32 32 1024
R7000 250…600 2000 0,13 ? ? 304 2–3 3,3(io)/1,2(int) 16 16 256
R8000 75…90 1994 0,5 2,6 299 591 30 3,3 16 16 1024…8192
R10000 150…270 1995 0,35 6,8 299 599 30 3,3 32 32 512…16384
R12000 300…400 1998 0,18–0,25 6,9 204 600 20 2,3 32 32 512…16384
R14000 500…600 2001 0,13 7,2 204 527 17 1,5 32 32 512…16384
R16000 700 2002 0,11 ? ? ? 20 1,5 32 32 512…16384
R16000A 800…1000 2004 0,11 ? ? ? ? 1,5 32 32 512…16384

Emulatoren

Siehe auch

Literatur

  • David A. Patterson, John L. Hennessy: Computer Organization & Design, The Hardware / Software Interface. 4. Auflage. Morgan Kaufmann Publishers, San Francisco 2008, ISBN 0-12-374493-8.
  • John L. Hennessy, David A. Patterson: Computer Architecture – A Quantitative Approach. 3. Auflage. Morgan Kaufmann Publishers, San Francisco 2003, ISBN 1-55860-724-2.

Weblinks

 Commons: MIPS-Architektur  – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. MIPS architecture overview. Abgerufen am 27. Mai 2012.
  2. QtSpim
  3. courses.missouristate.edu MARS (MIPS Assembler and Runtime Simulator)

Kategorien: Prozessorarchitektur nach Befehlssatz

Quelle: Wikipedia - http://de.wikipedia.org/wiki/MIPS-Architektur (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.