Minimaler Befehlssatz Computer - Minimal instruction set computer

Generische 4-stufige Pipeline; Die farbigen Kästchen stehen für unabhängige Anweisungen

MISC ( Minimal Instruction Set Computer ) ist eine CPU-Architektur ( Central Processing Unit ), üblicherweise in Form eines Mikroprozessors , mit einer sehr kleinen Anzahl von Grundoperationen und entsprechenden Opcodes , die zusammen einen Befehlssatz bilden . Solche Mengen sind üblicherweise eher stapelbasiert als registergestützt , um die Größe von Operandenspezifizierern zu verringern .

Eine solche Stapelmaschinenarchitektur ist von Natur aus einfacher, da alle Anweisungen mit den obersten Stapeleinträgen arbeiten.

Ein Ergebnis der Stapelarchitektur ist ein insgesamt kleinerer Befehlssatz, der eine kleinere und schnellere Befehlsdecodierungseinheit mit insgesamt schnellerem Betrieb einzelner Befehle ermöglicht.

Eigenschaften und Designphilosophie

Unabhängig von der Stapeldefinition einer MISC-Architektur wird die MISC-Architektur durch die Anzahl der unterstützten Anweisungen definiert.

  • Typischerweise wird ein Computer mit minimalem Befehlssatz mit 32 oder weniger Befehlen angesehen, wobei Befehle vom Typ NOP, RESET und CPUID aufgrund ihrer fundamentalen Natur normalerweise nicht im Konsens gezählt werden.
  • 32 Anweisungen werden als die höchstzulässige Anzahl von Anweisungen für ein MISC angesehen, obwohl 16 oder 8 Anweisungen näher an dem liegen, was unter "Minimale Anweisungen" zu verstehen ist.
  • Eine MISC-CPU kann keine Nullbefehle haben, da dies ein Nullbefehlssatzcomputer ist .
  • Eine MISC-CPU kann keinen Befehl haben, da dies ein Computer mit einem Befehlssatz ist .
  • Die implementierten CPU-Anweisungen sollten standardmäßig keinen großen Satz von Eingaben unterstützen. Dies bedeutet normalerweise eine 8-Bit- oder 16-Bit-CPU.
  • Wenn eine CPU ein NX-Bit hat , wird sie eher als komplexer Befehlssatzcomputer (CISC) oder reduzierter Befehlssatzcomputer (RISC) angesehen.
  • MISC-Chips haben normalerweise keinen Hardware-Speicherschutz jeglicher Art, es sei denn, es gibt einen anwendungsspezifischen Grund für diese Funktion.
  • Wenn eine CPU über ein Mikrocode- Subsystem verfügt, wird diese als MISC ausgeschlossen.
  • Der einzige Adressierungsmodus, der für eine MISC-CPU als akzeptabel angesehen wird, ist das Laden / Speichern , genau wie bei RISC-CPUs ( Reduced Instruction Set Computer ).
  • MISC-CPUs können normalerweise zwischen 64 KB und 4 GB zugänglichen adressierbaren Speicher haben - die meisten MISC-Designs haben jedoch weniger als 1 Megabyte.

Außerdem sind die Anweisungspipelines von MISC in der Regel sehr einfach. Befehlspipelines , Verzweigungsvorhersage , Ausführung außerhalb der Reihenfolge , Umbenennen von Registern und spekulative Ausführung schließen eine CPU weitgehend von der Klassifizierung als MISC-Architektur aus.

Während 1-Bit- CPUs ansonsten veraltet sind (und weder MISCs noch OISCs waren), ist der erste Kohlenstoffnanoröhrencomputer ein 1-Bit- Ein-Befehlssatz-Computer und hat nur 178 Transistoren und damit wahrscheinlich die geringste Komplexität (oder die nächste) niedrigste) bisher produzierte CPU (nach Transistoranzahl ).

Geschichte

Einige der ersten digitalen Computer, die mit Befehlssätzen implementiert wurden, waren nach moderner Definition Minimalbefehlssatzcomputer.

Unter diesen verschiedenen Computern verfügten nur ILLIAC und ORDVAC über kompatible Befehlssätze.

Frühe Computer mit gespeicherten Programmen

  • Die IBM SSEC hatte die Fähigkeit, Anweisungen als Daten zu behandeln, und wurde am 27. Januar 1948 öffentlich demonstriert. Diese Fähigkeit wurde in einem am 28. April 1953 erteilten US-Patent beansprucht. Sie war jedoch teilweise elektromechanisch und nicht vollständig elektronisch. In der Praxis wurden Anweisungen aufgrund des begrenzten Speichers von Papierbändern gelesen.
  • Das Manchester Baby der Victoria University of Manchester war der erste vollelektronische Computer, auf dem ein gespeichertes Programm ausgeführt wurde. Am 21. Juni 1948 wurde ein Factoring-Programm für 52 Minuten ausgeführt, nachdem ein einfaches Teilungsprogramm und ein Programm ausgeführt worden waren, um zu zeigen, dass zwei Zahlen relativ prim waren .
  • Der elektronische numerische Integrator und Computer ( ENIAC ) wurde so modifiziert, dass er als primitiver Nur-Lese-Computer für gespeicherte Programme (unter Verwendung der Funktionstabellen für den Nur-Lese- Programmspeicher (ROM)) ausgeführt wird, und am 16. September 1948 als solcher demonstriert Programm von Adele Goldstine für von Neumann.
  • Der binäre automatische Computer ( BINAC ) führte im Februar, März und April 1949 einige Testprogramme aus, die jedoch erst im September 1949 abgeschlossen wurden.
  • Der Manchester Mark 1 wurde aus dem Baby-Projekt entwickelt. Eine Zwischenversion des Mark 1 war für die Ausführung von Programmen im April 1949 verfügbar, wurde jedoch erst im Oktober 1949 fertiggestellt.
  • Der Electronic Delay Storage Automatic Calculator (EDSAC) führte am 6. Mai 1949 sein erstes Programm aus.
  • Der elektronische diskrete variable automatische Computer ( EDVAC ) wurde im August 1949 ausgeliefert, hatte jedoch Probleme, die ihn bis 1951 vom regulären Betrieb abhielten.
  • Der automatische Computer des Commonwealth für wissenschaftliche und industrielle Forschung ( CSIRAC , ehemals CSIR Mk I) führte im November 1949 sein erstes Programm durch.
  • Der Standard Eastern Automatic Computer ( SEAC ) wurde im April 1950 demonstriert.
  • Der Pilot ACE führte sein erstes Programm am 10. Mai 1950 durch und wurde im Dezember 1950 demonstriert.
  • Der Standard Western Automatic Computer ( SWAC ) wurde im Juli 1950 fertiggestellt.
  • Der Wirbelwind wurde im Dezember 1950 fertiggestellt und war im April 1951 in Betrieb.
  • Der erste ERA-Atlas (später der kommerzielle ERA 1101 / UNIVAC 1101) wurde im Dezember 1950 installiert.

Designschwächen

Der Nachteil eines MISC besteht darin, dass Befehle tendenziell mehr sequentielle Abhängigkeiten aufweisen, wodurch die Parallelität auf Befehlsebene insgesamt verringert wird .

MISC-Architekturen haben viele Gemeinsamkeiten mit einigen Funktionen einiger Programmiersprachen, wie beispielsweise der Verwendung des Stacks durch Forth und der virtuellen Java-Maschine . Beide sind schwach darin, eine vollständige Parallelität auf Befehlsebene bereitzustellen .

Bemerkenswerte CPUs

Das wahrscheinlich kommerziell erfolgreichste MISC war die ursprüngliche INMOS- Transputerarchitektur ohne Gleitkommaeinheit . Viele 8-Bit- Mikrocontroller für eingebettete Computeranwendungen gelten jedoch als MISC.

Jedes STEREO- Raumschiff enthält zwei P24-MISC-CPUs und zwei CPU24-MISC-CPUs.

Siehe auch

Verweise

Externe Links