6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Rechnergrundlagen Teil 2 - 60 - Prof. Dipl.-Ing. Komar<br />
Datentypen und Formate<br />
(zwischen dem Gleitpunktstandard IEEE und der Realisierung im 8087/80287 bestehen einige wenige kleinere<br />
Unterschiede, die aber ab 80387 durch zusätzliche Befehle korrigiert worden sind )<br />
Die FPU kennt sieben verschiedene Datentypen, die in drei Klassen unterteilt werden können und die nur im<br />
Arbeitsspeicher existieren, da sie beim Laden in die FPU in das interne 80-Bit erweiterte Real-Format<br />
konvertiert werden:<br />
- Binär Integer sind vorzeichenbehaftete 2-, 4-, oder 8-Byte Dualzahlen<br />
Vorzeichen ( S=Sign) Wertebereich<br />
Word Integer 16 Bit Bit 15 -32768 � � + 32767 - einfache Genauigkeit<br />
Short Integer 32 Bit 31 - 2 * 10 9 � � + 2 * 10 9 - doppelte Genauigkeit<br />
Long Integer 64 Bit 63 - 9 * 10 18 � � + 9 * 10 18 - erweiterte Genauigkeit<br />
- Packed Dezimal Integer -> Gepackte 10 Byte BCD-Zahl mit höchstwertigem Bit 79 als Vorzeichen S,<br />
die restlichen Bit 72-78 des höchstwertigen Byte haben keine Bedeutung<br />
und in den restlichen 9 Byte sind jeweils zwei Dezimalziffern gepackt.<br />
Genauigkeit dieses Typs ist 18 Dezimalstellen (Digits) +/- 10 18<br />
Länge [Bit] Vorzeichen Characteristik Bias k Mantisse [Bit]<br />
- Binär Real Short Real 32 1 8 127 24<br />
Long Real 64 1 11 1023 53<br />
Temporary Real 80 1 15 16383 64<br />
Beachtung: Die Mantisse des Temporary Real-Formats beinhaltet in Abweichung zum Short- und Long-Real-<br />
Format auch die 1 der normalisierten Dualzahl vor dem Komma und zwar in Bit-Position 63.<br />
Damit entspricht die Mantisse einer Normalisierung nach (0.m)2 mit Minimalwert 0.5<br />
Die Mehrbyte-Operanden werden im Arbeitsspeicher nach dem INTEL-Prinzip höher-/niederwertiges Byte<br />
(High-/Low-Byte) nach höherer / niedrigerer Adresse ( High-/Low-Adresse) angeordnet.<br />
Spezielle Numerikzahlen<br />
Neben den typischen Real und Intergerwerten können bei gewissen Berechnungssituationen und Operationen<br />
Spezialwerte auftreten.<br />
Denormal-Realzahlen entstehen immer dann, wenn eine sehr kleine Realzahl in der normalisierten Form nicht<br />
mehr exakt dargestellt werden kann, weil sie im Bereich – 2 Emin < R < + 2 Emin liegt.<br />
Denormal-Operanden haben wie die beiden Nullen (+ 0 und – 0 ) die Charakteristik 0, im Gegensatz zu diesen<br />
aber eine Mantisse ≠ 0.<br />
Wenn nach einer Floating-Point-Operation ein Unterlauf (Underflow) auftritt, weil der wahre Exponent E des<br />
Ergebnisses zu klein ist (E < Emin), dann denormalisiert die FPU das Ergebnis und zeigt dies im DE-Bit des<br />
Statuswortes an ( DE = 1 ).<br />
NaN (Not-a-Number) werden durch ihre Charakteristik 11....11 2 gekennzeichnet. Die Mantisse kann bis auf<br />
.10....00 2 jeden beliebigen Bitstring enthalten.<br />
Sonderfälle (zeigen ungültige Operationen und Ausnahme Bedingungen an :<br />
- Signaling NaNs , das MSB der Mantisse ist gelöscht (MSB = 0)<br />
- Quiet NaNs , das MSB der Mantisse ist gesetzt (MSB = 1)<br />
Infinity (Unendlich)<br />
Alle Realformate unterstützen die vorzeichenbehaftete Darstellung von + und – Unendlich.<br />
Darstellung: Vorzeichenbit 0 oder 1, Charakteristik 11....11 2 und Mantisse 00...0002<br />
Nicht-unterstützte Datenformate sind Bitmuster, die zum großen Teil vom 8087/80287 unterstützt werden<br />
aber vom 80387 und der FPU der späteren Prozessoren nicht mehr.<br />
Trifft die FPU auf solche Operanden, so führt dies zur Exception Ungültige Operation.