MIPS Architektur

MIPS (ursprünglich ein Akronym für den Mikroprozessor ohne Ineinandergeschachtelte Rohrleitungsstufen) ist eine Befehlssatz-Architektur (ISA) des reduzierten Befehlssatz-Computers (RISC), die von MIPS Technologies (früher MIPS Computer Systems, Inc.) entwickelt ist. Die frühen MIPS Architekturen waren 32 Bit, und spätere Versionen waren 64 Bit. Vielfache Revisionen des MIPS Befehlssatzes, bestehen einschließlich MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32 und MIPS64. Die aktuellen Revisionen sind MIPS32 (für 32-Bit-Durchführungen) und MIPS64 (für 64-Bit-Durchführungen). MIPS32 und MIPS64 definieren ein Kontrollregister-Set sowie den Befehlssatz.

Mehrere fakultative Erweiterungen sind auch einschließlich des MIPS-3D verfügbar, der ein einfacher Satz des Schwimmpunkts SIMD Instruktionen ist, die allgemeinen 3D-Aufgaben, MDMX (MaDMaX) gewidmet sind, der eine umfassendere ganze Zahl SIMD Befehlssatz mit den 64-Bit-Schwimmpunkt-Registern, MIPS16e ist, der Kompression zum Instruktionsstrom hinzufügt, um Programme weniger Zimmer und MIPS MT aufnehmen zu lassen, das Nebenläufigkeitsfähigkeit hinzufügt.

Computerarchitektur-Kurse in Universitäten und Berufsschulen studieren häufig die MIPS Architektur. Die Architektur hat außerordentlich später RISC Architekturen wie Alpha beeinflusst.

MIPS Durchführungen werden in erster Linie in eingebetteten Systemen wie Geräte des Windows CE, Router, Wohntore und Videospiel-Konsolen wie Sony PlayStation 2 und Tragbarer PlayStation verwendet. Bis zum Ende 2006 wurden sie auch in vielen Computerprodukten von SGI verwendet. MIPS Durchführungen wurden auch von Digital Equipment Corporation, NEC, Pyramide-Technologie, Siemens Nixdorf, Tandem-Computern und anderen während des Endes der 1980er Jahre und der 1990er Jahre verwendet. Mitte zum Ende der 1990er Jahre wurde es geschätzt, dass ein in drei RISC erzeugten Mikroprozessoren MIPS Durchführungen waren.

Geschichte

RISC Pionier

1981 hat eine Mannschaft, die von John L. Hennessy an der Universität von Stanford geführt ist, Arbeit daran angefangen, was der erste MIPS Verarbeiter werden würde. Das grundlegende Konzept sollte Leistung durch den Gebrauch von tiefen Instruktionsrohrleitungen vergrößern. Pipelining als eine grundlegende Technik war vorher weithin bekannt (sieh IBM 801 zum Beispiel), aber nicht entwickelt in sein volles Potenzial. Zentraleinheiten werden von mehreren hingebungsvollen Subeinheiten wie Instruktionsdecoder, ALUs (ganze Zahl arithmetics und Logik), Einheiten der Last/Ladens aufgebaut (Gedächtnis behandelnd) und so weiter. In einem traditionellen nichtoptimierten Design muss eine besondere Instruktion in einer Programmfolge (fast) vollendet werden, bevor das folgende für die Ausführung ausgegeben werden kann; in einer pipelined Architektur können aufeinander folgende Instruktionen stattdessen in der Ausführung überlappen. Zum Beispiel zur gleichen Zeit wird eine Matheinstruktion in die Schwimmpunkt-Einheit gefüttert, die Einheit der Last/Ladens kann die folgende Instruktion herbeiholen.

Eine Hauptbarriere für pipelining war, dass einige Instruktionen, wie Abteilung, länger nehmen, um zu vollenden, und die Zentraleinheit deshalb vor dem Übergang der folgenden Instruktion in die Rohrleitung warten muss. Eine Lösung dieses Problems ist, eine Reihe dessen zu verwenden, greift ineinander, der Stufen erlaubt anzuzeigen, dass sie beschäftigt sind, die anderen Stufen stromaufwärts Pause machend. Die Mannschaft von Hennessy hat angesehen diese greifen als eine Hauptleistungsbarriere ineinander, seitdem sie zu allen Modulen in der Zentraleinheit kommunizieren mussten, die Zeit in Anspruch nimmt und geschienen ist, die Uhr-Geschwindigkeit zu beschränken. Ein Hauptaspekt des MIPS Designs sollte jede Subphase einschließlich des Zugangs des geheimen Lagers aller Instruktionen in einen Zyklus passen, dadurch irgendwelche Bedürfnisse nach dem Ineinanderschachteln und Erlauben eines einzelnen Zyklus-Durchflusses entfernend.

Obwohl dieses Design mehrere nützliche Instruktionen beseitigt hat, die multiplizieren und sich teilen, wurde es gefühlt, dass die gesamte Leistung des Systems drastisch verbessert würde, weil die Chips an viel höheren Uhr-Raten laufen konnten. Das das Aufrichten der Geschwindigkeit würde mit dem Ineinanderschachteln beteiligt als die Zeit schwierig sein, musste sich niederlassen Schlösser ist so viel eine Funktion dessen sterben Größe wie Uhr-Rate. Die Beseitigung dieser Instruktionen ist ein streitsüchtiger Punkt geworden.

Der andere Unterschied zwischen dem MIPS Design und dem konkurrierenden Berkeley RISC hat das Berühren von Unterprogramm-Anrufen eingeschlossen. RISC hat eine Technik genannt Register-Fenster verwendet, um Leistung dieser sehr allgemeinen Aufgaben zu verbessern, aber das hat die maximale Tiefe von Mehrniveau-Anrufen beschränkt. Jeder Unterprogramm-Anruf hat seinen eigenen Satz von Registern verlangt, die der Reihe nach mehr Immobilien auf der Zentraleinheit und mehr Kompliziertheit in seinem Design verlangt haben. Hennessy hat gefunden, dass ein sorgfältiger Bearbeiter freie Register finden konnte, ohne eine Hardware-Durchführung aufzusuchen, und dass einfach das Steigern der Zahl von Registern das einfach nicht nur machen, aber die Leistung aller Aufgaben vergrößern würde.

Auf andere Weisen war das MIPS Design grossenteils ein typisches RISC Design. Um Bit im Instruktionswort zu sparen, vermindern RISC Designs die Anzahl von Instruktionen zu verschlüsseln. Das MIPS Design verwendet 6 Bit des 32-Bit-Wortes für den grundlegenden opcode; der Rest kann eine einzelne 26-Bit-Sprung-Adresse enthalten, oder er kann bis zu vier 5-Bit-Felder haben, die bis zu drei Register plus ein mit weiteren 6 Bit von opcode verbundener Verschiebungswert angeben; ein anderes Format, unter mehreren, gibt zwei Register an, die mit einem unmittelbaren 16-Bit-Wert usw. verbunden sind. Das hat dieser Zentraleinheit erlaubt, die Instruktion und die Daten zu laden, die es in einem einzelnen Zyklus, wohingegen ein (älteres) non-RISC Design, wie die MOS Technologie 6502 zum Beispiel, erforderliche getrennte Zyklen gebraucht hat, um den opcode und die Daten zu laden. Das war eine der Hauptleistungsverbesserungen das angebotener RISC. Jedoch erreichen moderne non-RISC Designs diese Geschwindigkeit durch andere Mittel (wie Warteschlangen in der Zentraleinheit).

Die erste Hardware

1984 war Hennessy vom zukünftigen kommerziellen Potenzial des Designs überzeugt, und hat Stanford verlassen, um MIPS Computersysteme zu bilden. Sie haben ihr erstes Design, den R2000 veröffentlicht, 1985 das Design als der R3000 1988 verbessernd. Diese 32-Bit-Zentraleinheiten haben die Basis ihrer Gesellschaft im Laufe der 1980er Jahre, verwendet in erster Linie in der Reihe von SGI von Arbeitsplätzen und späterer Digital Equipment Corporation DECstation Arbeitsplätze und Server gebildet. Die SGI kommerziellen Designs sind vom Stanford abgegangen die akademische Forschung durch das Einführen des grössten Teiles des Ineinanderschachtelns in der Hardware, die Versorgung voll multipliziert und teilt Instruktionen (unter anderen). Die Designs wurden teilweise vom Softwarearchitekten Earl Killian geführt, der den MIPS III 64-Bit-Befehlssatz-Erweiterung entworfen hat, und die Arbeit an der R4000 Mikroarchitektur geführt hat.

1991 hat MIPS den ersten 64-Bit-Mikroprozessor, den R4000 veröffentlicht. Der R4000 hat einen fortgeschrittenen TLB, wo der Zugang nicht nur virtuelle Adresse sondern auch den virtuellen Adressraum id enthält. Solcher Puffer beseitigt die Hauptleistungsprobleme von Mikrokernen, die auf konkurrierenden Architekturen (Pentium, PowerPC, Alpha) wegen des Bedürfnisses langsam sind, den TLB auf den häufigen Zusammenhang-Schaltern zu spülen. Jedoch hatte MIPS Finanzschwierigkeiten, während er ihm dazu gebracht hat einzukaufen. Das Design war für SGI, zurzeit einer von wenigen Hauptkunden von MIP so wichtig, dass SGI die Gesellschaft 1992 gegen sofortige Bezahlung gekauft hat, um zu versichern, das Design würde nicht verloren. Als eine Tochtergesellschaft von SGI ist die Gesellschaft bekannt als MIPS Technologies geworden.

Architektur von Licensable

Am Anfang der 1990er Jahre hat MIPS angefangen, ihre Designs Drittverkäufern zu lizenzieren. Das hat sich ziemlich erfolgreich wegen der Einfachheit des Kerns erwiesen, der ihr erlaubt hat, in mehreren Anwendungen verwendet zu werden, die früher viel weniger fähige CISC Designs der ähnlichen Tor-Zählung und des Preises verwendet hätten — sind die zwei stark verbunden; der Preis einer Zentraleinheit ist allgemein mit der Zahl von Toren und der Zahl von Außennadeln verbunden. Sonne-Mikrosysteme haben versucht, ähnlichen Erfolg durch das Genehmigen ihres SPARC Kerns zu genießen, aber waren nicht fast als erfolgreich. Bis zum Ende der 1990er Jahre war MIPS ein Maschinenhaus im eingebetteten Verarbeiter-Feld, und 1997 die 48 millionste MIPS-basierte verladene Zentraleinheit, es die erste RISC Zentraleinheit zu outship die berühmte 68k Familie machend. MIPS war so erfolgreich, dass SGI von MIPS Technologies 1998 gesponnen hat. Völlig kommt die Hälfte des Einkommens von MIP heute daraus, ihre Designs zu lizenzieren, während viel vom Rest aus der Vertragsdesignarbeit an Kernen kommt, die dann von Dritten erzeugt werden.

1999 hat MIPS ihr Genehmigen des Systems ungefähr zwei grundlegende Designs, der 32-Bit-MIPS32 (gestützt auf MIPS II mit einigen zusätzlichen Eigenschaften von MIPS III, MIPS IV und MIPS V) und der 64-Bit-MIPS64 (gestützt auf MIPS V) formalisiert. NEC, Toshiba und SiByte (später erworben von Broadcom) jeder hat Lizenzen für den MIPS64 erhalten, sobald es bekannt gegeben wurde. Philips, LSI Logik und IDT haben sich ihnen seitdem angeschlossen. Erfolg ist Erfolg gefolgt, und heute sind die MIPS Kerne einer der am meisten verwendeten "Schwergewichts"-Kerne im Marktplatz für computerähnliche Geräte (Taschencomputer, mit dem Satz oberste Kästen, usw.).

Da die MIPS Architektur licensable ist, hat sie mehrere Verarbeiter-Anlauf-Gesellschaften im Laufe der Jahre angezogen. Einer der ersten Anläufe, um MIPS Verarbeiter zu entwerfen, war Quant-Wirkungsgeräte (sieh folgende Abteilung). Die MIPS Designmannschaft, die den R4300i entworfen hat, hat die Gesellschaft SandCraft angefangen, der den R5432 für NEC entworfen hat und später den SR71000, einen der ersten in Unordnung Ausführungsverarbeiter für den eingebetteten Markt erzeugt hat. Der ursprüngliche DEZ Mannschaft von StrongARM hat sich schließlich in zwei MIPS-basierte Anläufe aufgespalten: SiByte, der den SB-1250, eines der ersten MIPS-basierten Hochleistungssysteme auf einem Span (SOC) erzeugt hat; während Alchimie-Halbleiter (später erworben durch AMD) Au-1000 SoC für Anwendungen der niedrigen Macht erzeugt hat. Lexra hat eine MIPS ähnliche Architektur verwendet und hat DSP Erweiterungen für den Audiospan-Markt und Nebenläufigkeitsunterstützung für den Netzwerkanschlussmarkt hinzugefügt. Wegen Lexras, der nicht die Architektur lizenziert, wurden zwei Rechtssachen zwischen den zwei Gesellschaften angefangen. Das erste wurde schnell aufgelöst, als Lexra versprochen hat, ihre Verarbeiter als MIPS-vereinbar nicht anzukündigen. Das zweite (über MIPS patentieren 4814976, um unausgerichteten Speicherzugang zu behandeln), war in die Länge gezogen, hat das Geschäft der beider Gesellschaften verletzt, und hat in MIPS Technologies kulminiert, die Lexra eine freie Lizenz und eine große Kassenzahlung gibt.

Zwei Gesellschaften sind erschienen, die sich auf das Gebäude von Mehrkerngeräten mit der MIPS Architektur spezialisieren. Raza Microelectronics, Inc. hat das Erzeugnis darin gekauft, SandCraft zu fehlen, und hat später Geräte erzeugt, die acht Kerne enthalten haben, die am Fernmeldewesen und den Netzwerkanschlussmärkten ins Visier genommen wurden. Cavium ursprünglich hat ein Sicherheitsverarbeiter-Verkäufer auch Geräte mit acht Zentraleinheitskernen, und später bis zu 32 Kerne für dieselben Märkte erzeugt. Beide dieser Gesellschaften haben ihre Kerne innerbetrieblich entworfen, gerade die Architektur statt Kaufkerne von MIPS lizenzierend.

Die Arbeitsfläche

Unter den Herstellern, die Computerarbeitsplatz-Systeme mit MIPS Verarbeitern gemacht haben, sind SGI, MIPS Computer Systems, Inc., Whitechapel Arbeitsplätze, Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC und DeskStation.

Zur Architektur getragene Betriebssysteme schließen den IRIX von SGI, Windows NT des Microsofts (bis zu v4.0), Windows CE, Linux, BSD, UNIX System V, SINIX, QNX und der eigene RISC/os von Systemen des MIPS Computers ein.

Es gab Spekulation am Anfang der 1990er Jahre, dass MIPS und andere starke RISC Verarbeiter die Architektur von Intel IA32 einholen würden. Das wurde durch die Unterstützung der ersten zwei Versionen von Windows NT des Microsofts für Alpha, MIPS und PowerPC - und in einem kleineren Ausmaß die Klipper-Architektur und SPARC gefördert. Jedoch, weil Intel schnell schnellere Versionen ihrer Klassenzentraleinheiten von Pentium veröffentlicht hat, hat Microsoft Windows NT v4.0 Unterstützung für irgendetwas außer Intel und Alpha fallen lassen. Mit der Entscheidung von SGI, zu Itanium und IA32 Architekturen zu wechseln, ist der Gebrauch von MIPS Verarbeitern auf der Arbeitsfläche jetzt fast völlig verschwunden.

Eingebettete Märkte

Im Laufe der 1990er Jahre wurde die MIPS Architektur durch den eingebetteten Markt, einschließlich für den Gebrauch in Computernetzwerkanschluss, Fernmeldewesen, Videoarkade-Spielen, Videospiel-Konsolen, Computerdruckern, mit dem Satz obersten Digitalkästen, Digitalfernsehen, DSL und Kabelmodems und persönlichen Digitalhelfern weit angenommen.

Niedrige Macht-Verbrauch und Hitzeeigenschaften von eingebetteten MIPS Durchführungen, die breite Verfügbarkeit von eingebetteten Entwicklungswerkzeugen und Kenntnisse über die Architektur bedeuten, dass der Gebrauch von MIPS Mikroprozessoren in eingebetteten Rollen wahrscheinlich üblich bleiben wird.

Kerne von Synthesizeable für eingebettete Märkte

In den letzten Jahren ist der grösste Teil der in den verschiedenen MIPS Generationen verwendeten Technologie als IP-Kerne (Bausteine) für eingebettete Verarbeiter-Designs angeboten worden. Sowohl grundlegende als auch 32-Bit-64-Bit-Kerne werden angeboten, als der 4K und 5K bekannt. Diese Kerne können mit Zusatzfunktionseinheiten wie FPUs, SIMD Systeme, verschiedene Geräte des Eingangs/Produktion usw. gemischt werden.

MIPS Kerne sind gewerblich erfolgreich gewesen, jetzt in vielen Verbraucher und Industrieanwendungen verwendet. MIPS Kerne können in neuerem Cisco, Linksys routerboard Routern und Mikrotiks, Kabelmodems und ADSL Modems, smartcards, Laserdrucker-Motoren, mit dem Satz obersten Kästen, Robotern, Taschencomputern, Sony PlayStation 2 und Sony Tragbarer PlayStation gefunden werden. In cellphone/PDA Anwendungen ist MIPS größtenteils unfähig gewesen, die obliegende, konkurrierende ARM-Architektur zu versetzen.

MIPS Architektur-Verarbeiter schließen ein: IDT RC32438; ATI/AMD Xilleon; Alchimie Au1000, 1100, 1200; Broadcom Sentry5; RMI XLR7xx, Cavium Octeon CN30xx, CN31xx, CN36xx, CN38xx und CN5xxx; Infineon Technologies EasyPort, der Amazonas, die Donau, der ADM5120, WildPass, INCA-IP, INCA-IP2; Mikrochip-Technologie PIC32; NEC EMMA und EMMA2, NEC VR4181A, VR4121, VR4122, VR4181A, VR5432, VR5500; Generation von Oak Technologies; PMC-Gebirgs-RM11200; QuickLogic QuickMIPS BESONDERS; Toshiba Donau, Toshiba TMPR492x, TX4925, TX9956, TX7901.

MIPS-basierte Supercomputer

Eine der interessanteren Anwendungen der MIPS Architektur ist sein Gebrauch in massiven Verarbeiter-Supercomputern der Zählung. Silikongrafik (SGI) hat sein Geschäft von Tischgrafikarbeitsplätzen bis den Hochleistungsrechenmarkt am Anfang der 1990er Jahre wiedereingestellt. Der Erfolg des ersten Raubzuges der Gesellschaft in Server-Systeme, die Herausforderungsreihe, die auf dem R4400 und R8000, und später R10000, motivierter SGI gestützt ist, um ein gewaltig stärkeres System zu schaffen. Die Einführung des einheitlichen R10000 hat SGI erlaubt, ein System, der Ursprung 2000 zu erzeugen, der schließlich zu 1024 Zentraleinheiten mit seiner NUMAlink Verbindung des Cc-NUMA ersteigbar ist. Der Ursprung 2000 begat der Ursprung 3000 Reihen, die mit derselben 1024 maximalen Zentraleinheitszählung, aber dem Verwenden des R14000 und der R16000 Chips bis zu 700 MHz überstiegen haben. Gestützten Supercomputer seines MIPS wurden 2005 zurückgezogen, als SGI die strategische Entscheidung getroffen hat, sich zur IA-64 Architektur von Intel zu bewegen.

Ein Hochleistungsrechenanlauf genannt SiCortex, Inc. hat gestützten Supercomputer eines massiv parallelen MIPS 2007 eingeführt. Die Maschinen basieren auf der MIPS64 Architektur und einer hohen Leistungsverbindung das Verwenden einer Graph-Topologie von Kautz. Das System ist sehr Macht effizient und rechenbetont stark. Der einzigartigste Aspekt des Systems ist sein in einer Prozession gehender Mehrkernknoten, der sechs MIPS64 Kerne, einen Querbalken-Speicherkontrolleur, DMA Verbindungsmotor, Gigabit Ethernet und Kontrolleure von PCI Express alle auf einem einzelnen Span integriert, der nur 10 Watt der Macht verbraucht, noch hat eine Maximalschwimmpunkt-Leistung von 6 GFLOPs. Die stärkste Konfiguration, der SC5832, ist ein einzelner Kabinettssupercomputer, der aus 972 solchen Knotenchips für insgesamt 5832 MIPS64 Verarbeiter-Kerne und 8.2 teraFLOPS der Maximalleistung besteht.

Loongson

Loongson ist eine MIPS-vereinbare Familie von von der chinesischen Akademie von Wissenschaften entworfenen Mikroprozessoren. Die innere Mikroarchitektur von Mikroprozessoren von Loongson wurde unabhängig von den Chinesen entworfen, und frühe Durchführungen der Familie haben an vier von MIPS Technologies patentierten Instruktionen Mangel gehabt. Im Juni 2009 hat ICT den MIPS32 und die MIPS64 Architekturen direkt von MIPS Technologies lizenziert.

Von 2006 anfangend, haben mehrere Gesellschaften mit Sitz in Loongson Computer, einschließlich nettops und für den Gebrauch der niedrigen Macht entworfenen netbooks veröffentlicht.

6000 dämmernd

Das Hochleistungsdämmern 6000, der eine geplante Geschwindigkeit über quadrillion Operationen pro Sekunde hat, wird den Verarbeiter von Loongson als sein Kern vereinigen. Das Dämmern 6000 wird zurzeit vom Institut für die Computerwissenschaft der Technologie unter der chinesischen Akademie von Wissenschaften und Dawning Information Industry Company gemeinsam entwickelt. Li Guojie, Vorsitzender von Dawning Information Industry Company und Direktor und Akademiemitglied des Instituts für die Computerwissenschaft der Technologie, hat gesagt, dass, wie man erwartet, Forschung und Entwicklung des Dämmerns 6000 in zwei Jahren vollendet werden. Bis dahin, wie man erwarten wird, werden Hochleistungscomputer chinesischer Herstellung zwei Hauptdurchbrüche erreichen: erstens, die Adoption von in einer Prozession gehenden Innen-Herstellunghaupteinheiten (Zentraleinheiten); zweitens wird der vorhandene Traube-basierte Systemaufbau von Hochleistungscomputern geändert, sobald die Rechengeschwindigkeit quadrillion Operationen pro Sekunde erreicht.

MIPS IV

MIPS IV ist die vierte Version der Architektur. Es ist eine Obermenge von MIPS III und ist mit allen vorhandenen Versionen von MIPS vereinbar. Die erste Durchführung von MIPS IV war der R8000, der 1994 eingeführt wurde. MIPS IV hat beigetragen:

  • Register + das Register-Wenden, um Punkt-Lasten und Läden schwimmen zu lassen
  • Einzeln - und Schwimmen-Punkt der doppelten Genauigkeit verschmolzen - multiplizieren fügt hinzu und zieht ab
  • Bedingte Bewegungsinstruktionen sowohl für die ganze Zahl als auch für den Schwimmpunkt
  • Extrabedingungsbit in der Schwimmpunkt-Kontrolle und dem Statusregister, die Summe zu acht bringend

MIPS V

MIPS V ist die fünfte Version der Architektur, hat am 21. Oktober 1996 auf dem Mikroprozessor-Forum 1996 bekannt gegeben. MIPS V wurde entworfen, um die Leistung von 3D-Grafikanwendungen zu verbessern. Mitte der 1990er Jahre war ein Hauptgebrauch von nichteingebetteten MIPS Mikroprozessoren Grafikarbeitsplätze von SGI. MIPS V wurde durch die ganze Zahl-Only-MIPS Digitalmediaerweiterungen (MDMX) Multimediaerweiterungen ergänzt, die an demselben Datum wie MIPS V bekannt gegeben wurden.

MIPS V Durchführungen wurden nie eingeführt. 1997 hat SGI den "H1" oder "das Biest" und den "H2" oder "die Capitan" Mikroprozessoren bekannt gegeben. Der erstere sollte der erste MIPS V Durchführung gewesen sein und war erwartet, 1999 vorgestellt zu werden. Die "H1-" und "H2"-Projekte wurden später verbunden und wurden schließlich 1998 annulliert.

MIPS V hat einen neuen Datentyp, den mit dem Paar einzeln (PS) hinzugefügt, der aus zwei einfacher Präzision (32 Bit) in den vorhandenen 64-Bit-Schwimmpunkt-Registern versorgte Schwimmpunkt-Zahlen bestanden hat. Varianten von vorhandenen Schwimmpunkt-Instruktionen für die Arithmetik, vergleichen Sie sich, und bedingte Bewegung wurden hinzugefügt, um auf diesem Datentyp auf eine SIMD Mode zu funktionieren. Neue Instruktionen wurden für das Laden, Umordnen und Umwandeln PS Daten hinzugefügt. Es war die erste Architektur, um Schwimmpunkt SIMD mit vorhandenen Mitteln auszunutzen.

Zentraleinheitsfamilie

Das erste kommerzielle MIPS Modell, der R2000, wurde 1985 bekannt gegeben. Es hat hinzugefügt, dass vielfacher Zyklus multipliziert und Instruktionen in einer etwas unabhängigen Einheit auf dem Span teilt. Neue Instruktionen wurden hinzugefügt, um die Ergebnisse von dieser Einheit zurück zur Register-Datei wiederzubekommen; diese Ergebnis wiederbekommenden Instruktionen wurden ineinandergeschachtelt.

Der R2000 konnte entweder groß-endian oder wenig-endian gestartet werden. Es hatte zweiunddreißig allgemeine 32-Bit-Zweck-Register, aber kein Bedingungscoderegister (haben die Entwerfer es als einen potenziellen Engpass betrachtet), eine Eigenschaft teilt es sich mit dem AMD 29000 und das Alpha. Verschieden von anderen Registern ist der Programm-Schalter nicht direkt zugänglich.

Der R2000 hatte auch Unterstützung für bis zu vier Coprozessoren, von denen eines in die Hauptzentraleinheit und die behandelten Ausnahmen, die Fallen und das Speichermanagement eingebaut wurde, während die anderen drei für anderen Gebrauch verlassen wurden. Einer von diesen konnte durch den fakultativen R2010 FPU gefüllt werden, der zweiunddreißig 32-Bit-Register hatte, die als sechzehn 64-Bit-Register für die doppelte Genauigkeit verwendet werden konnten.

Der R3000 hat dem R2000 1988 nachgefolgt, 32 Kilobytes (bald vergrößert zu 64 Kilobytes) geheime Lager für Instruktionen und Daten zusammen mit der Kohärenz-Unterstützung des geheimen Lagers für den Mehrverarbeiter-Gebrauch hinzufügend. Während es Fehler in der R3000's Mehrverarbeiter-Unterstützung gab, hat sie noch geschafft, ein Teil von mehreren erfolgreichen Mehrverarbeiter-Designs zu sein. Der R3000 hat auch einen eingebauten MMU, ein gemeinsames Merkmal auf Zentraleinheiten des Zeitalters eingeschlossen. Der R3000, wie der R2000, konnte mit einem R3010 FPU paarweise angeordnet werden. Der R3000 war das erste erfolgreiche MIPS Design im Marktplatz, und schließlich wurde mehr als eine Million gemacht. Eine geGeschwindigkeitsstoßene Version des R3000, der auf 40 MHz zuläuft, der R3000A hat eine Leistung von 32 VUPs (VAX Einheit der Leistung) geliefert. Der MIPS R3000A-vereinbare R3051, der an 33.8688 MHz läuft, war der Verarbeiter, der in Sony PlayStation verwendet ist. Drittdesigns schließen Leistungshalbleiter-R3400 und den R3500 von IDT ein, sie beide waren R3000As mit einem einheitlichen R3010 FPU. Der R3900 von Toshiba war eigentlich erster SoC für die frühen tragbaren PCs, die Windows CE geführt haben. Eine strahlengehärtete Variante für Raumanwendungen, den Mungo-V, ist ein R3000 mit einem einheitlichen R3010 FPU.

Die R4000 Reihe, veröffentlicht 1991, hat den MIPS Befehlssatz zu einer vollen 64-Bit-Architektur erweitert, ist übergegangen die FPU auf die Hauptsache sterben, um einen Einchipmikroprozessor, und bedient mit einer radikal hohen inneren Uhr-Geschwindigkeit zu schaffen (es wurde an 100 MHz eingeführt). Jedoch, um die Uhr-Geschwindigkeit zu erreichen, wurden die geheimen Lager auf 8 Kilobytes jeder reduziert, und sie haben drei Zyklen in den Zugang gebracht. Die hohen Betriebsfrequenzen wurden durch die Technik von tiefem pipelining erreicht (hat super-pipelining zurzeit genannt). Der verbesserte R4400 ist 1993 gefolgt. Es hatte größere primäre geheime 16-Kilobyte-Lager, 64-Bit-Operation größtenteils ohne Programmfehler und Unterstützung für ein größeres L2 geheimes Lager.

MIPS, jetzt eine Abteilung von SGI genannt MTI, hat den preisgünstigen R4200, die Basis für den noch preiswerteren R4300i entworfen. Eine Ableitung dieses Mikroprozessors, der NEC VR4300, wurde in Nintendo 64 Spielkonsole verwendet.

Quantum Effect Devices (QED), eine getrennte mit ehemaligen MIPS Angestellten angefangene Gesellschaft, haben den R4600 Orion, den R4700 Orion, den R4650 und den R5000 entworfen. Wo der R4000 Uhr-Frequenz gestoßen und Kapazität des geheimen Lagers, QED geopfert hatte, haben Designs große geheime Lager betont, auf die in gerade zwei Zyklen und effizientem Gebrauch des Silikongebiets zugegriffen werden konnte. Der R4600 und R4700 wurden in preisgünstigen Versionen des SGI Indy Arbeitsplatz verwendet, sowie der erste MIPS hat Router von Cisco, solcher als 36x0 und 7x00-Reihe-Router gestützt. Der R4650 wurde in den ursprünglichen Kästen der Satz-Spitze von WebTV (jetzt Fernsehen von Microsoft) verwendet. Der R5000 FPU hatte flexiblere Schwimmpunkt-Terminplanung der einfachen Präzision als der R4000, und infolgedessen, hat SGI Indys R5000-basiert hatte viel bessere Grafikleistung als ähnlich abgestoppter R4400 Indys mit derselben Grafikhardware. SGI hat dem alten Grafikausschuss einen neuen Namen gegeben, als es mit R5000 verbunden wurde, um die Verbesserung zu betonen. QED später entworfen der RM7000 und die RM9000 Familie von Geräten für eingebettete Märkte wie Netzwerkanschluss und Laserdrucker. QED wurde durch die Halbleiter-Hersteller-PMC-Sierra im August 2000, die letzte Gesellschaft erworben, die fortsetzt, in die MIPS Architektur zu investieren. Der RM7000 hat ein geheimes 256-Kilobyte-Lager des Niveaus 2 an Bord und einen Kontrolleur für das fakultative Niveau drei geheimes Lager eingeschlossen. Die RM9xx0 waren eine Familie von SOC Geräten, die northbridge Peripherie wie Speicherkontrolleur, PCI Kontrolleur, gigabit ethernet Kontrolleur und schneller IO wie ein Hypertransporthafen eingeschlossen haben.

Der R8000 (1994) war das MIPS erste Superskalardesign, fähig, zwei ganze Zahl durchzuführen oder Punkt und zwei Speicherinstruktionen pro Zyklus schwimmen lassend. Das Design wurde über sechs Chips ausgebreitet: eine Einheit der ganzen Zahl (mit 16-Kilobyte-Instruktion und geheimen 16-Kilobyte-Datenlagern), eine Schwimmpunkt-Einheit, drei volle Gewohnheit sekundärer Anhängsel-RAM des geheimen Lagers (zwei für sekundäre Zugänge des geheimen Lagers, ein für das Busschnüffeln), und ein Kontrolleur des geheimen Lagers ASIC. Das Design hatte zwei völlig pipelined doppelte Präzision multiplizieren - tragen Einheiten bei, die Daten vom sekundären geheimen 4-Mb-Lager außer Span verströmen konnten. Der R8000 hat die MACHT-Herausforderungsserver von SGI Mitte der 1990er Jahre angetrieben und ist später verfügbar in der MACHT Indigo2 Arbeitsplatz geworden. Obwohl seine FPU Leistung wissenschaftliche Benutzer ganz so, seine beschränkte Leistung der ganzen Zahl anpasst und hoch feucht gemachte dringende Bitte um die meisten Benutzer kostet, und der R8000 im Marktplatz seit nur einem Jahr war und ziemlich selten bleibt.

1995 wurde der R10000 veröffentlicht. Dieser Verarbeiter war ein Einchipdesign, ist mit einer schnelleren Uhr-Geschwindigkeit gelaufen als der R8000, und hatte größere primäre 32-Kilobyte-Instruktion und geheime Datenlager. Es war auch Superskalar, aber seine Hauptneuerung war in Unordnung Ausführung. Sogar mit einer einzelnen Speicherrohrleitung und einfacherem FPU haben die gewaltig verbesserte Leistung der ganzen Zahl, der niedrigere Preis und die höhere Dichte das R10000 vorzuziehende für die meisten Kunden gemacht.

Spätere Designs haben alle auf den R10000 Kern basiert. Der R12000 hat einen 0.25-Mikrometer-Prozess verwendet, um den Span zusammenschrumpfen zu lassen und höhere Uhr-Raten zu erreichen. Der revidierte R14000 hat höhere Uhr-Raten mit der zusätzlichen Unterstützung für DDR SRAM im geheimen Lager außer Span erlaubt. Spätere Wiederholungen werden den R16000 und den R16000A genannt und zeigen vergrößerte Uhr-Geschwindigkeit, und kleiner sterben, im Vergleich zu vorher verfertigend.

Andere Mitglieder der MIPS Familie schließen den R6000, eine ECL Durchführung ein, die durch Bipolar Einheitliche Technologie erzeugt ist. Der R6000 hat den MIPS II Befehlssatz eingeführt. Sein TLB und Architektur des geheimen Lagers sind von allen anderen Mitgliedern der MIPS Familie verschieden. Der R6000 hat die versprochenen Leistungsvorteile nicht geliefert, und obwohl er etwas Gebrauch in Kontrolldatenmaschinen gesehen hat, ist er schnell vom Hauptströmungsmarkt verschwunden.

MIPS I Instruktionsformate

Instruktionen werden in drei Typen geteilt: R, ich und J. Jede Instruktion fängt mit 6 Bit opcode an. Zusätzlich zum opcode geben R-Typ-Instruktionen drei Register, ein Verschiebungsbetrag-Feld und ein Funktionsfeld an; I-Typ-Instruktionen geben zwei Register und einen unmittelbaren 16-Bit-Wert an; J-Typ-Instruktionen folgen dem opcode mit einem 26-Bit-Sprung-Ziel.

Der folgende ist die drei für den Kernbefehlssatz verwendeten Formate:

MIPS Zusammenbau-Sprache

Das sind Zusammenbau-Sprachinstruktionen, die direkte Hardware-Durchführung im Vergleich mit Pseudobefehlen haben, die in vielfache echte Instruktionen übersetzt werden, bevor sie gesammelt werden.

  • Im folgenden sind die Register-Briefe d, t und s Platzhalter für (das Register) Zahlen oder Registerbezeichnungen.
  • C zeigt eine (unmittelbare) Konstante an.
  • Alle folgenden Instruktionen sind heimische Instruktionen.
  • Opcodes und Funct-Codes sind in hexadecimal.
  • Der MIPS32 Befehlssatz stellt fest, dass das Wort nicht unterzeichnet als ein Teil dessen Hinzufügt und Instruktionen Abzieht, ist eine falsche Bezeichnung. Der Unterschied zwischen unterzeichneten und nicht unterzeichneten Versionen von Befehlen ist nicht eine Zeichen-Erweiterung (oder haben Sie an davon Mangel), des operands, aber der Steuerungen, ob eine Falle auf der Überschwemmung durchgeführt wird (z.B. Tragen Sie Bei), oder eine Überschwemmung wird ignoriert (Tragen Sie nicht unterzeichnet bei). Ein unmittelbarer operand CONST zu diesen Instruktionen ist immer Zeichen-verlängert.

Ganze Zahl

MIPS hat 32 Register der ganzen Zahl. Daten müssen in Registern sein, um Arithmetik durchzuführen. Schreiben Sie sich ein 0 $ hält immer 0 und Register 1 $ wird normalerweise für den Monteur vorbestellt (um Pseudoinstruktionen und große Konstanten zu behandeln).

Die Verschlüsselungsshows, denen Bit der Teile der Instruktion entsprechen. Ein Bindestrich (-) wird verwendet, um anzuzeigen, tun nicht Sorgen.

Zeichen: Im MIPS Zusammenbau-Code kann der Ausgleich für sich verzweigende Instruktionen durch ein Etikett anderswohin im Code vertreten werden.

Zeichen: Es gibt keine entsprechende Last tiefer unmittelbare Instruktion; das kann durch das Verwenden addi getan werden (tragen Sie unmittelbar bei, sieh unten) oder ori (oder unmittelbar) mit dem Register 0 $ (dessen Wert immer Null ist). Zum Beispiel, beide und Last der dezimale Wert 100 ins Register 1 $.

Zeichen: Das Abziehen eines unmittelbaren kann mit dem Hinzufügen der Ablehnung dieses Werts als das unmittelbare getan werden.

Das Schwimmen des Punkts

MIPS hat 32 Schwimmpunkt-Register. Zwei Register werden für doppelte Präzisionszahlen paarweise angeordnet. Sonderbare numerierte Register können für die Arithmetik oder das Ausbreiten nicht verwendet werden, gerade als ein Teil einer doppelten Präzision Paar einschreibt.

Pseudoinstruktionen

Diese Instruktionen werden durch den MIPS Monteur akzeptiert, obwohl sie nicht echte Instruktionen innerhalb des MIPS Befehlssatzes sind. Statt dessen übersetzt der Monteur sie in Folgen von echten Instruktionen.

Andere Instruktionen

  • NOP (keine Operation) (Maschinencode 0x00000000, der durch die Zentraleinheit als interpretiert ist)
  • Brechung (bricht das Programm, das durch Testhilfeprogramme verwendet ist)
  • syscall (verwendet für das System ruft dem Betriebssystem zu)

Bearbeiter-Register-Gebrauch

Die Hardware-Architektur gibt dass an:

  • Allgemeines Zweck-Register 0 $ gibt immer einen Wert von 0 zurück.
  • Allgemeines Zweck-Register 31 $ wird als das Verbindungsregister für Sprung- und Verbindungsinstruktionen verwendet.
  • HALLO und werden LO verwendet, um auf die Ergebnisse des Vermehrers/Teilers zuzugreifen, die durch den mfhi (Bewegung vom hohen) und Mflo-Befehle zugegriffen sind.

Das sind die einzigen Hardware-Beschränkungen des Gebrauchs der allgemeinen Zweck-Register.

Die verschiedenen MIPS Werkzeug-Ketten führen spezifische rufende Vereinbarung durch, die weiter wie einschränkt

die Register werden verwendet. Diese rufende Vereinbarung wird durch die Software der Werkzeug-Kette völlig aufrechterhalten

und sind durch die Hardware nicht erforderlich.

Register, die über einen Anruf bewahrt werden, sind Register, die (durch die Tagung) durch einen Systemanruf oder Verfahren (Funktion) Anruf nicht geändert werden. Zum Beispiel muss $s-registers zum Stapel durch ein Verfahren gespart werden, das sie verwenden muss, und $sp und $fp immer durch Konstanten und decremented zurück erhöht werden, nachdem das Verfahren mit ihnen getan wird (und das Gedächtnis, das sie auf anspitzen). Im Vergleich wird $ra automatisch durch jeden normalen Funktionsanruf geändert (die jal verwenden), und $t-registers durch das Programm vor jedem Verfahren-Anruf gespart werden muss (wenn das Programm die Werte in ihnen nach dem Anruf braucht).

Simulatoren

Open Virtual Platforms (OVP) schließen frei verfügbar für den nichtkommerziellen Gebrauch-Simulator OVPsim, eine Bibliothek von Modellen von Verarbeitern, Peripherie und Plattformen und APIs ein, die Benutzern ermöglichen, ihre eigenen Modelle zu entwickeln. Die Modelle in der Bibliothek sind offene Quelle, die in C geschrieben ist, und schließen den MIPS 4K, 24K, 34K, 74K, 1004K, 1074K, und M14K Kerne ein. Diese Modelle werden geschaffen und von Imperas aufrechterhalten, und in der Partnerschaft mit MIPS Technologies sind geprüft worden und hat das MIPS-nachgeprüfte (tm) Zeichen zugeteilt. MIPS-basierte Plattformen der Probe schließen sowohl bloße Metallumgebungen als auch Plattformen ein, um unmodifizierten Linux binäre Images zu starten. Diese Plattform-Emulatoren sind als Quelle oder Dualzahlen verfügbar und sind schnell, frei, und leicht zu verwenden. OVPsim wird entwickelt und von Imperas aufrechterhalten und ist (Hunderte von der Million von Instruktionen pro Sekunde), und gebaut sehr schnell, um Mehrkernarchitekturen zu behandeln.

Es gibt einen frei verfügbaren MIPS32 Simulator (frühere Versionen haben nur den R2000/R3000 vorgetäuscht) hat SPIM nach dem Gebrauch in der Ausbildung genannt. EduMIPS64 ist eine GPL grafische Quer-Plattform MIPS64 Zentraleinheitssimulator, der in Java/Schwingen geschrieben ist. Es unterstützt eine breite Teilmenge von MIPS64 ISA und erlaubt dem Benutzer grafisch zu sehen, was in der Rohrleitung geschieht, wenn ein Zusammenbau-Programm durch die Zentraleinheit geführt wird. Es hat Bildungszwecke und wird in einigen Computerarchitektur-Kursen in Universitäten um die Welt verwendet.

MARS ist ein anderer hat MIPS Emulator GUI-basiert, der für den Gebrauch in der Ausbildung, spezifisch für den Gebrauch mit der Computerorganisation und Design von Hennessy entworfen ist.

WebMIPS ist gestützter MIPS Simulator eines Browsers mit der Sehdarstellung eines allgemeinen, pipelined Verarbeiter. Dieser Simulator ist für das Register-Verfolgen während nach und nach der Ausführung ziemlich nützlich.

Fortgeschrittenere freie Emulatoren sind vom GXemul (früher bekannt als das Mips64emul-Projekt) und die QEMU-Projekte verfügbar. Diese eifern mit dem verschiedenen MIPS III und IV Mikroprozessoren zusätzlich zu kompletten Computersystemen wett, die sie verwenden.

Kommerzielle Simulatoren sind besonders für den eingebetteten Gebrauch von MIPS Verarbeitern, zum Beispiel Virtutech Simics (MIPS 4Kc und 5Kc, PMC RM9000, QED RM7000), Systeme von VaST (R3000, R4000), und CoWare (der MIPS4KE, MIPS24K, MIPS25Kf und MIPS34K) verfügbar.

Siehe auch

  • DLX, eine sehr ähnliche Architektur, die von John L. Hennessy (Schöpfer von MIPS) zu lehrenden Zwecken entworfen ist
  • MIPS-X, entwickelt als ein später folgendes Projekt zur MIPS Architektur

Weiterführende Literatur

Links


Mexikanische Kochkunst / Mord
Impressum & Datenschutz