18.12.2012 Aufrufe

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!