Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124
Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir vereinfacht die beim Mantissen Alignment rechst heraus geschobenen Bits einfach abgeschnitten. Zum Beispiel: Mantissen Alignment um 5 Stellen 10111001000111011010110 Mantisse In Wirklichkeit (z.b. IEEE 754 Spezifikation) wird zur Steigerung der Genauigkeit etwas geschickter vorgegangen. Obiges Beispiel: Mantisse Rechenoperationen finden auf dieser erweiterten Mantisse statt. Grundlagen der Rechnerarchitektur Logik und Arithmetik 125
Quiz Wir betrachten 8 Bit Mantissen. Es seien die folgenden beiden binären Zahlen zu addieren. 1, 100 0110 * 2 6 + 1, 011 1010 * 2 2 Wie sehen Mantisse, Guard Bit, Round Bit und Sticky Bit nach dem Mantissen Alignment aus? 1, 100 0110 * 2 6 1, 011 1010 * 2 2 8 Bit Mantisse 8 Bit Mantisse Grundlagen der Rechnerarchitektur Logik und Arithmetik 126
IEEE 754 Rounding Modes + / Round toward + Round toward Round toward 0 Round to nearest Synonym Ergebnis Beispiel 21,7 Beispiel 21,7 Ceil Floor Truncate Mantisse M G R S Kleinster Wert nicht kleiner als M Größter Wert nicht größer als M Genau M Wert, der am nächsten zu M liegt Grundlagen der Rechnerarchitektur Logik und Arithmetik 127
IEEE Rounding Modes: Round to Nearest Mantisse G R S Eingabe Form bei Tie Rundung Ergebnis M Mantisse 000 Same M = Mantisse Mantisse 001 Down M = Mantisse Mantisse 010 Down M = Mantisse Mantisse 011 Down M = Mantisse Mantisse 100...0 100 Down M = Mantisse (Tie)...1 100 Up M = Mantisse + 1 Mantisse 101 Up M = Mantisse + 1 Mantisse 110 Up M = Mantisse + 1 Mantisse 111 Up M = Mantisse + 1 Grundlagen der Rechnerarchitektur Logik und Arithmetik 128
Quiz Was ist das Rundungsergebnis bei Round to Nearest für folgende Instanzen von 8 Bit Mantisse Guard Round Sticky? A.) 0000 1101 110 B.) 0011 0011 100 C.) 0101 0101 010 GRS Mantisse Richtung 001 Down 010 Down 011 Down 100...0 Down...1 Up 101 Up 110 Up 111 Up Übersicht zu Round to Nearest Grundlagen der Rechnerarchitektur Logik und Arithmetik 129
Beispiel für die Genauigkeitssteigerung Wir betrachten 8 Bit Mantissen. Zu addieren sei: 1,100 0110 * 2 6 (dezimal = 99,0000) + 1,011 1010 * 2 2 (dezimal = 5,8125) (Summe dezimal = 104,8125) Das Mantissen Alignment und GRS Bits kennen wir schon, also: Rechnung: Mantisse GRS Mantisse 11000110 000 11000110 + 00001011 101 + 00001011 -------------- ---------- 11010001 101 11010001 Rundung: 11010010 ohne 11010001 Ergebnis: 1,1010010 * 2 6 1,1010001 * 2 6 Dezimal : 105,0 104,5 Also hat man mit GRS Bits und Rundung einen Abstand von 105,0 104,8125 = 0,1875. Ohne GRS Bits und Rundung ist der Abstand 104,8125 104,5 = 0,3125. Grundlagen der Rechnerarchitektur Logik und Arithmetik 130
Denormalized Numbers Kleinste mit IEEE754 Single Precision darstellbare normalized Zahl > 0: 1,000 0000 0000 0000 0000 0000 * 2 126 Der Exponent 127 ist für die 0 reserviert; die Fraction ist dabei 0:.,000 0000 0000 0000 0000 0000 * 2 127 Warum die Fraction für Exponent 127 nicht sinnvoll nutzen? Eine Denormalized Number der Form.,000 1010 1110 1000 1111 0011 * 2 127 bedeutet: 0,000 1010 1110 1000 1111 0011 * 2 126 Somit, kleinste mit IEEE754 Single Precision darstellbare Zahl > 0: 0,000 0000 0000 0000 0000 0001 * 2 126 = 1,0 * 2 149 Grundlagen der Rechnerarchitektur Logik und Arithmetik 131
Quiz Was ist mit denormalized Numbers bei IEEE 754 Double Precision die kleinste darstellbare Zahl > 0? Erinnerung: IEEE 754 Double Precision: Fraction: 52 Bits Exponent Bias: 1023 Grundlagen der Rechnerarchitektur Logik und Arithmetik 132
Webseiten Tipp zum Üben users tima.imag.fr/cis/guyot/cours/oparithm/english/flottan.htm Floating point numbers format Rounding to the nearest Addition and subtraction Grundlagen der Rechnerarchitektur Logik und Arithmetik 133
Zusammenfassung und Literatur Grundlagen der Rechnerarchitektur Logik und Arithmetik 134
Zusammenfassung Rechnerarithmetik endlich und stimmt damit nicht exakt mit Arithmetik über reellen Zahlen überein Häufig Approximation realer Zahlen Assoziativgesetzt gilt z.b. nicht Hat Konsequenz auf paralleles rechnen Beschränkter Zahlenbereich Overflow, Underflow Wichtigste Entwicklung über die Jahre Zweierkomplement und IEEE 754 In jedem modernen Computer so Grundlagen der Rechnerarchitektur Logik und Arithmetik 135
Quiz Annahme es gäbe ein 16 Bit IEEE 754 Floating Point Format mit 5 Bits für den Exponenten. Welcher Zahlenbereich wird durch dieses Format abgedeckt? A: 1.0000 0000 00 * 2 0 bis 1.1111 1111 11 * 2 31, 0 B: +/ 1.0000 0000 0 * 2 14 bis +/ 1.1111 1111 1 * 2 15 +/ 0, +/ 1, NaN C: +/ 1.0000 0000 00 * 2 14 bis +/ 1.1111 1111 11 * 2 15, +/ 0, +/ 1, NaN D: +/ 1.0000 0000 0 * 2 15 bis +/ 1.1111 1111 1 * 2 14, +/ 0, +/ 1, NaN Grundlagen der Rechnerarchitektur Logik und Arithmetik 136
Literatur [PattersonHennessy2012] David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 2.4 Signed and Unsigned Numbers 2.6 Logical Operations 3.1 Introduction 3.2 Addition and Subtraction 3.3 Multiplication 3.4 Division 3.5 Floating Point 3.6 Parallelism and Computer Arithmetic: Associativity Grundlagen der Rechnerarchitektur Logik und Arithmetik 137