MISCHUNG

MISCHUNG ist ein hypothetischer Computer, der in der Monografie von Donald Knuth, Die Kunst der Computerprogrammierung (TAOCP) verwendet ist. Die Musterzahl der MISCHUNG ist 1009, der durch das Kombinieren der Musterzahlen abgeleitet wurde und Namen von mehreren gleichzeitigen, kommerziellen Maschinen für bedeutend durch den Autor gehalten haben. (“MIX” auch hat den Wert 1009 in Römischen Ziffern.)

Die MISCHUNG des Zeitalters der 1960er Jahre ist durch einen neuen (auch hypothetisch) Computerarchitektur, MMIX seitdem ersetzt worden, um in bevorstehenden Ausgaben von TAOCP vereinigt zu werden. Softwaredurchführungen sowohl für die MISCHUNG als auch für MMIX Architekturen sind von Knuth entwickelt und frei verfügbar gemacht worden (genannt “MIXware” und “MMIXware,” beziehungsweise).

Mehrere Ableitungen der MIX/MMIX Emulatoren von Knuth bestehen auch. GNU MDK ist ein solches Softwarepaket; es ist frei und läuft auf einem großen Angebot an Plattformen.

Ihr Zweck für die Ausbildung ist der DLX Architektur von John L. Hennessy und David A. Pattersons von der Computerarchitektur ziemlich ähnlich: Eine Quantitative Annäherung.

Architektur

MISCHUNG ist ein hybrider binär-dezimaler Computer. Wenn programmiert, in der Dualzahl hat jedes Byte 6 Bit (Wertreihe von 0 bis 63). In der Dezimalzahl hat jedes Byte 2 dezimale Ziffern (Wertreihe von 0 bis 99). Bytes werden in Wörter von fünf Bytes plus ein Zeichen gruppiert. Die meisten für die MISCHUNG geschriebenen Programme werden entweder in binärem oder in dezimalem arbeiten, so lange sie nicht versuchen, einen Wert zu versorgen, der größer ist als 63 in einem einzelnen Byte.

Ein Wort hat die Reihe −1,073,741,823 zu 1,073,741,823 (einschließlich) in der binären Weise, und −9,999,999,999 zu 9,999,999,999 (einschließlich) in der dezimalen Weise. Die Darstellung des Zeichens-Und-Umfangs von ganzen Zahlen in der MISCHUNGS-Architektur unterscheidet zwischen “−0” und “+0.” das hebt sich von modernen Computern ab, deren Two'S-Ergänzungsdarstellung von Mengen der ganzen Zahl eine einzelne Darstellung für die Null einschließt, aber dessen Reihe für eine gegebene Zahl von Bit eine mehr negative ganze Zahl einschließt als die Zahl von wiederpräsentablen positiven ganzen Zahlen.

Register

Es gibt 9 Register in der MISCHUNG:

  • rA: Akkumulator (volles Wort, fünf Bytes und ein Zeichen).
  • rX: Erweiterung (volles Wort, fünf Bytes und ein Zeichen).
  • rI1, rI2, rI3, rI4, rI5 rI6: Index-Register (zwei Bytes und ein Zeichen).
  • rJ: Sprung-Adresse (zwei Bytes, immer positiv).
Wie man

annimmt, ist ein Byte mindestens 6 Bit. Die meisten Instruktionen können angeben, welches von den "Feldern" (Bytes) eines Registers, mit einer Nachsilbe der Form (first:last) verändert werden sollen. Das zeroth Feld ist das Ein-Bit-Zeichen.

VERMISCHEN SIE SICH auch registriert, ob die vorherige Operation überflutet, und einen einen-trit Vergleich-Hinweis (weniger hat als, gleich, oder größer als). Im Diagramm unten wird jedes Register geteilt in seine Felder gezeigt.

||||| }\|||||| }\

Gedächtnis und Eingang/Produktion

Die MISCHUNGS-Maschine hat 4000 Wörter der Lagerung (jeder mit 5 Bytes und ein Zeichen), gerichtet von 0 bis 3999. Eine Vielfalt des Eingangs und der Produktionsgeräte wird auch eingeschlossen:

  • Bandgeräte (Geräte 0 … 7).
  • Platte oder Trommel-Einheiten (Geräte 8 … 15).
  • Karte-Leser (Gerät 16).
  • Karte-Schlag (Gerät 17).
  • Liniendrucker (Gerät 18).
  • Schreibmaschine-Terminal (Gerät 19).
  • Lochstreifen (Gerät 20).

Instruktionen

Jede Maschineninstruktion im Gedächtnis besetzt ein Wort, und besteht aus 4 Teilen: Die Adresse (2 Bytes und das Zeichen des Wortes) im Gedächtnis, um zu lesen oder zu schreiben; eine Index-Spezifizierung (1 Byte, der rI Index-Register beschreibend, zu verwenden), um zur Adresse beizutragen; eine Modifizierung (1 Byte), das angibt, welche Teile des Registers oder der Speicherposition gelesen oder verändert werden; und der Operationscode (1 Byte). Alle Operationscodes haben einen verbundenen mnemonischen.

MISCHUNGS-Programme verwenden oft Selbständern-Code in besonderem

von einem Unterprogramm zurückzukehren, weil MISCHUNG an einem automatischen Unterprogramm-Rückstapel Mangel hat. Das Selbständern des Codes wird durch das Modifizierungsbyte erleichtert, dem Programm erlaubend, Daten zu, zum Beispiel, der Adressteil der Zielinstruktion zu versorgen, den Rest der Instruktion unmodifiziert verlassend.

MISCHUNGS-Programme werden normalerweise mit der MIXAL Zusammenbau-Sprache gebaut; für ein Beispiel, sieh die Liste hallo Weltprogramm-Seite.

Siehe auch

  • Bildungsprogrammiersprache
  • DLX
  • LC-3
  • Wenig Mann-Computer
  • MMIX
  • MikroSim

Außenverbindungen


Arno Schmidt / Diels-Erle-Reaktion
Impressum & Datenschutz