K1810WM87

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
K1810WM86

Der K1810WM87 (russisch К1810ВМ87) ist ein sowjetischer Nachbau des numerischen Koprozessors Intel 8087. Er ist Teil des K1810-Systems und wurde beispielsweise im ESER-PC EC 1834 verwendet.

Datentypen[Bearbeiten | Quelltext bearbeiten]

Der K1810WM87 unterstützt insgesamt 7 verschiedene Datentypen:

  • 16-Bit-Short Integer
  • 32-Bit-Word-Integer
  • 64-Bit-Long-Integer
  • 80-Bit-BCD
  • 32-Bit-Short Real
  • 64-Bit-Long-Real
  • 80-Bit-Temporary-Real

In den Registern wird immer das Temporary-Real-Format verwendet. Alle anderen Formate werden nur bei Load- und Store-Befehlen verwendet.

Register[Bearbeiten | Quelltext bearbeiten]

Der K1810WM87 besitzt folgende Register:

Stapelregister werden in der Form ST(i), i = 0…7, angegeben. Der Index i zeigt auf das i-te Register nach der Stapelspitze. Die Register ST und ST(0) sind die gleichen.

Programmierung[Bearbeiten | Quelltext bearbeiten]

Als Operanden können Speicherdaten, Stapelregister, Status- und Steuerregister verwendet. Für die Adressierung des Speichers ist der Host-Prozessor (K1810WM86) zuständig. Somit können alle Adressierungsarten der CPU verwendet werden.

Neben normierten Zahlen (Normals) gibt es folgende, spezielle, Werte:

  • Null (0)
  • Denormierte Zahlen (Denormals)
  • Unnormale Zahlen (Unnormals)
  • Unendlich (Infinity)
  • Indefinit-Kode
  • NaN (Not-A-Number)

Für die Synchronisierung zwischen Host- und Koprozessor kann der WAIT-Befehl verwendet werden.

Initialisierung[Bearbeiten | Quelltext bearbeiten]

Der K1810WM87 kann entweder durch ein RESET-Signal oder durch ein externes Programm initialisiert werden. Nach der Initialisierung besitzt der K1810WM87 folgenden Zustände:

  • Steuerwort: Im Steuerwort wird das projektive Modell, Runden zum nächsten Wert, 64 signifikante Stellen, Interrupts verboten und Exceptions maskiert ausgewählt.
  • Statuswort: Im Steuerwort wird das BUSY-Flag auf 0, der Ergebniskode auf undefiniert, der Stapelzeiger auf 0 (Stapel leer), das Interruptflag auf 0 (kein Interrupt) und das Exception-Flag auf 0 (keine Exceptions) gesetzt.
  • TAG-Wort: Jedes der Tags wird auf den Wert 3 (Register frei) gestellt.

Befehlssatz[Bearbeiten | Quelltext bearbeiten]

Der Befehlssatz lässt sich folgendermaßen unterteilen:

  • Datentransferbefehle
  • Arithmetikbefehle
  • Vergleichsbefehle
  • Transzendente Befehle
  • Befehle zum Laden von Konstanten
  • Befehle zur Prozessorsteuerung

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Literatur[Bearbeiten | Quelltext bearbeiten]

Jochen Bonitz: Der 16-Bit-Mikroprozessor des ESER-PC. VEB Verlag Technik Berlin, 1989, ISBN 3-341-00704-0.