mini|200px|K1810WM86
Der K1810WM87 () 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 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 Der K1810WM87 besitzt folgende Register: 8 Gleitkommaregister, als Stapel organisiert, jedes 80 Bit breit 1 16-Bit-Steuerwort 1 16-Bit-Statuswort 1 16-Bit-TAG-Wort 1 Instruktionszeiger 1 Operandenzeiger 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
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
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 Der Befehlssatz lässt sich folgendermaßen unterteilen: Datentransferbefehle Arithmetikbefehle Vergleichsbefehle Transzendente Befehle Befehle zum Laden von Konstanten Befehle zur Prozessorsteuerung
Siehe auch K1810WM86 Intel 8087 Intel 8086
Literatur Jochen Bonitz: Der 16-Bit-Mikroprozessor des ESER-PC. VEB Verlag Technik Berlin, 1989, ISBN 3-341-00704-0.
Kategorie:Mikroprozessor