41
Folie Folie 1 Rechnen mit Rechnen mit garantierter garantierter Genauigkeit Genauigkeit Wolfgang Mühlbauer Wolfgang Mühlbauer Stephan Thoma Stephan Thoma Proseminar Rechnerarchitekturen Proseminar Rechnerarchitekturen

Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Embed Size (px)

Citation preview

Page 1: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 11

Rechnen mit garantierter Rechnen mit garantierter GenauigkeitGenauigkeit

Wolfgang MühlbauerWolfgang MühlbauerStephan ThomaStephan Thoma

Proseminar RechnerarchitekturenProseminar Rechnerarchitekturen5. Juli 20015. Juli 2001

Page 2: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 22

ÜberblickÜberblick

Erweiterte Arithmetik: Erhöhung der Erweiterte Arithmetik: Erhöhung der RechengenauigkeitRechengenauigkeit

Intervallarithmetik: Garantie, dass ein Intervallarithmetik: Garantie, dass ein Ergebnis richtig istErgebnis richtig ist

Page 3: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 33

Ein einführendes BeispielEin einführendes Beispiel

a = 12345678 b = 12345679b2 - ab - a = ?

Ausrechnen per Hand: Ausrechnen per Hand: bb22 - ab - a = b (b - a) - a = - ab - a = b (b - a) - a = 11

Ausrechnen mit Taschenrechner: Ausrechnen mit Taschenrechner: bb2 2 - ab - a = - ab - a = 322322

Page 4: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 44

Das Gleitkommaformat:Das Gleitkommaformat:floating-pointfloating-point

Das single-Format: 32 bitDas single-Format: 32 bit

0 00000010 11000000000000000000000

± Exponent Mantisse 8 bit 23 bit

Prinzip der Normalisierung!

Page 5: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 55

Beispiel

Vorzeichenbit : positivVorzeichenbit : positiv

Exponent Exponent : 2 : 2

Mantisse Mantisse : 1,75 : 1,75

= + 1,75 * 22 = 7

0 00000010 11000000000000000000000

± Exponent Mantisse

Page 6: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 66

IEEE-Standard 754IEEE-Standard 754

±± ExponentExponent MantisseMantisse GesamtGesamt

SingleSingle 11 88 2323 3232

DoubleDouble 11 1111 5252 6464

Single Single ExtendedExtended 11 1515 6464 8080

DoubleDoubleExtendedExtended 11 1515 112112 128128

Page 7: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 77

Warum Gleitkommaformat?Warum Gleitkommaformat?

Darstellung von Zahlen unter- Darstellung von Zahlen unter- schiedlichster Größenordnung schiedlichster Größenordnung

Einsparen von SpeicherplatzEinsparen von Speicherplatz

Kleine Register und AddiererKleine Register und Addierer

Historische GründeHistorische Gründe

Page 8: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 88

Beispiel 1Beispiel 1

a = 1,109632969473378 * 100

b = 6,748659387134009 * 10-12

Darstellung im Dezimalsystem Darstellung im Dezimalsystem Mantisse mit 16 StellenMantisse mit 16 Stellen

Annahme:

a + b – a = ?

Page 9: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 99

a = 1,109632969473378 * 100

b = 6,748659387134009 * 10-12

1,1096329694733786,748659387134009 * 10-12

a + b0,000000000006748659387134009

1,109632969480126659387134009

+

- a - 1,109632969473378

0,000000000006748 = 6,748 * 10-12

Exakt: b = 6,7486559387134009 * 10-12

Beispiel 1: AuslöschungBeispiel 1: Auslöschung

Page 10: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1010

Beispiel 2: Auslöschung Beispiel 2: Auslöschung

10102020 + 17 - 10 + 130 - 10 + 17 - 10 + 130 - 1020 20 ==

10102020 + 17 - 10 + 17 - 1020 20 - 10 + 130 =- 10 + 130 =

10102020 - 10 - 102020 + 17 - 10 + 130 = + 17 - 10 + 130 =

101020 20 + 17 + 130 - 10+ 17 + 130 - 1020 20 - 10 =- 10 =

0

120

137

-10

Verletzung des Kommutativgesetzes!

Page 11: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1111

Beispiel 3: AuslöschungBeispiel 3: Auslöschung

64 919 121 x – 159 018 721 y = 141 869 520,5 x – 102 558 961 y = 0

Mit Gleitkommarechnung: Mit Gleitkommarechnung: xx = 102 558 961 = 102 558 961 yy = 41 869 520,5 = 41 869 520,5

Richtige Lösung: Richtige Lösung: xx = 205 117 922 = 205 117 922 yy = 83 739 041 = 83 739 041

Lösung:

Page 12: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1212

Wo stehen wir?Wo stehen wir?

Darstellung reeller Zahlen durch das Darstellung reeller Zahlen durch das GleitkommaformatGleitkommaformat

Probleme des GleitkommaformatsProbleme des Gleitkommaformats Auslöschung gültiger Ziffern Auslöschung gültiger Ziffern Verletzung von mathematischen Gesetzen Verletzung von mathematischen Gesetzen

Page 13: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1313

Vermeiden von AuslöschungVermeiden von Auslöschung

1020 + 17 - 10 + 130 – 1020 = 0

ersetzen durch:

1020 - 1020 + 17 - 10 + 130 = 137

Optimierung von Algorithmen: Algorithmen, die ohne Subtraktion nahezu gleicher Zahlen auskommen

Page 14: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1414

Mehrfachlange ArithmetikenMehrfachlange Arithmetiken

Exponent Mantisse+- Exponent Mantisse+-

eine Gleitkommazahl

SpeicheradresseSpeicheradresse xx yySpeicherinhaltSpeicherinhalt 1,3 * 101,3 * 10-1-1 1,2*101,2*10-19-19

Wert: 0,130000000000000000120

Page 15: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1515

FestkommadarstellungFestkommadarstellung

Festkommdarstellung (fixed point): Das Komma sitzt an einer festen Stelle.(vgl. Darstellung von ganzen Zahlen)

0 0 0 1 1 0 1 1 1 1 0 0 0 0

Beispiel:

, = 13, 875

Page 16: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1616

Beispiel Beispiel

a = 1,109632969473378 * 100

b = 6,748659387134009 * 10-12

a + b – a = ? Vorher: 6,748 * 10-12

Festkommaregister (29 Stellen)

0,00000000000000000000000000001,1096329694733781,1096329694733780000000000000

6748659387134009

1,10963296948012665938713400901,1096329694733780,00000000000000000000000000000,0000000000067486593871340090

=6,748659387134009 * 10-12

Page 17: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1717

FestkommarithmetikFestkommarithmetik

Prinzip: Rechnen mit extrem langen Prinzip: Rechnen mit extrem langen FestkommazahlenFestkommazahlen

Vorteil: Keine NormalisierungVorteil: Keine Normalisierung

Nachteil: Mangelnde Unterstützung durch die Nachteil: Mangelnde Unterstützung durch die HardwareHardware

Page 18: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1818

Bedeutung des Bedeutung des SkalarproduktesSkalarproduktes

Zentrale Bedeutung in der MathematikZentrale Bedeutung in der Mathematik Lineare Algebra: Lösen von linearen Lineare Algebra: Lösen von linearen

GleichungssystemenGleichungssystemen Numerik: Elimination von RundungsfehlernNumerik: Elimination von Rundungsfehlern

Zentrale Bedeutung im Zusammenhang mit Zentrale Bedeutung im Zusammenhang mit mehrfachlanger Arithmetikmehrfachlanger Arithmetik

a = a1 + a2 b = b1 + b2

a * b = (a1 + a2) * (b1 + b2) =

= a1b1 + a1b2 + a2b1 + a2b2 Skalarprodukt!

Page 19: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 1919

Das Skalarprodukt als Das Skalarprodukt als fünfte Grundrechenartfünfte Grundrechenart

Idee: Berechnung des Skalarproduktes mit nur einer Rundung am Ende des Ergebnisses

Realisierung:1. Aufaddieren in einem Langzahlregister2. Erst das Endergebnis runden!

Page 20: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2020

Erweiterte ArithmetikErweiterte Arithmetik

Advanced Computer Arithmetic erhöht die Advanced Computer Arithmetic erhöht die Genauigkeit grundlegender OperationenGenauigkeit grundlegender Operationen

Skalarprodukt als 5. Grundrechenart (einmalige Skalarprodukt als 5. Grundrechenart (einmalige Rundung)Rundung)

Intervallrechnung (dazu gleich mehr)Intervallrechnung (dazu gleich mehr)

Ausweitung der Rechenoperationen auf reelle und Ausweitung der Rechenoperationen auf reelle und

komplexe Vektoren und Matrizenkomplexe Vektoren und Matrizen

Realisierung durch:Realisierung durch: Software: Neue ProgrammiersprachenSoftware: Neue Programmiersprachen

Hardware: Co-Prozessor-Chip XPA 3233Hardware: Co-Prozessor-Chip XPA 3233

Page 21: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2121

Wo stehen wir?Wo stehen wir? Das GleitkommaformatDas Gleitkommaformat

Auslöschung gültiger ZiffernAuslöschung gültiger Ziffern

Verletzung mathematischer GesetzeVerletzung mathematischer Gesetze

Auswege und Lösungsmöglichkeiten Auswege und Lösungsmöglichkeiten Optimierte AlgorithmenOptimierte Algorithmen Mehrfachlange ArithmetikenMehrfachlange Arithmetiken FestkommaarithmetikFestkommaarithmetik Skalarprodukt als neue GrundrechenartSkalarprodukt als neue Grundrechenart

Page 22: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2222

InhaltInhalt

IntervallarithmetikIntervallarithmetik

Iterative VerfahrenIterative Verfahren

Spezielle ChipsSpezielle Chips

Page 23: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2323

IntervallarithmetikIntervallarithmetik

Wozu der ganze Aufwand?Wozu der ganze Aufwand?

Page 24: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2424

IntervallarithmetikIntervallarithmetik

Page 25: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2525

IntervallarithmetikIntervallarithmetik

ErgebnisverifikationErgebnisverifikation Wie genau ist mein Ergebnis?Wie genau ist mein Ergebnis?

Page 26: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2626

TheorieTheorie

BeispielBeispiel

1,075 1,075 ± 0,002 ↔ [1,073; 1,077]± 0,002 ↔ [1,073; 1,077]

AdditionAddition

a = [aa = [a11; a; a22]; ]; b=[bb=[b11; b; b22]]

a+b = [a+b = [(a(a11+b+b11); ); (a(a22+b+b22)])]

Page 27: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2727

RechenzeichenRechenzeichen

x-+ /

x-+ / + - x / StandardStandard

AbrundenAbrunden

AufrundenAufrunden

AdditionAddition

SubtraktionSubtraktion

MultiplikationMultiplikation

DivisionDivision

Skalarprod.Skalarprod.

Intervallarithmetik

IEEE 754, 854

Page 28: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2828

PraxisPraxis

Spezielle ProgrammiersprachenSpezielle Programmiersprachen Pascal-XSC Pascal-XSC

EExxtended tended SScientific cientific CComputingomputing C-XSCC-XSC

Class Library für C++Class Library für C++ Fortran-XSCFortran-XSC

Spezielle ChipsSpezielle Chips XPA 3233XPA 3233

Page 29: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 2929

Praxis - PolynomadditionPraxis - Polynomaddition

Standard-PascalStandard-PascalBerechnung z=a+b+cBerechnung z=a+b+c

procedure add(a, b: Poly; var c: Poly);procedure add(a, b: Poly; var c: Poly);beginbegin

......endend

add(a, b, z);add(a, b, z);add(c, z, z);add(c, z, z);

Page 30: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3030

Praxis - PolynomadditionPraxis - Polynomaddition

Pascal-XSCPascal-XSCBerechnung z=a+b+cBerechnung z=a+b+c

..

..

..z:=a+b+c;z:=a+b+c;......

Page 31: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3131

NachteileNachteile

Umschalten zwischenUmschalten zwischenAuf- und AbrundenAuf- und Abrunden

Überschätzung der IntervallgrößenÜberschätzung der Intervallgrößen

Page 32: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3232

InhaltInhalt

IntervallarithmetikIntervallarithmetik

Iterative VerfahrenIterative Verfahren

Spezielle ChipsSpezielle Chips

Page 33: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3333

NewtonverfahrenNewtonverfahrenKlassischKlassisch

xxxxneuneu

TangenteTangentexxneu neu = x - f(x) / f‘(x)= x - f(x) / f‘(x)

ff

Page 34: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3434

NewtonverfahrenNewtonverfahrenMit IntervallarithmetikMit Intervallarithmetik

mm11

XX2 2 = m= m11 - f(m - f(m11) / f‘(X) / f‘(X11))

ff

TangentenTangenten

XX11

XX22

Page 35: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3535

InhaltInhalt

IntervallarithmetikIntervallarithmetik

Iterative VerfahrenIterative Verfahren

Spezielle ChipsSpezielle Chips

Page 36: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3636

XPA 3233 - System-StrukturXPA 3233 - System-Struktur

CPUCACHE

Host Bus

PCIBridge

DRAMDRAM

PCI Bus

XPA SRAM

Page 37: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3737

XPA 3233 - DatenXPA 3233 - Daten

Entwickelt an der Uni Karlsruhe, Uni Entwickelt an der Uni Karlsruhe, Uni Stuttgart und TU Hamburg HarburgStuttgart und TU Hamburg Harburg

VHDL und CompassVHDL und Compass

CMOS 8CMOS 8µµm VLSI-Technologiem VLSI-Technologie

33 MHz33 MHz

207.000 Transistoren207.000 Transistoren

6 Mflops Maximalleistung6 Mflops Maximalleistung

Page 38: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3838

XPA 3233 - ArchitekturXPA 3233 - ArchitekturKomm. mit dem Prozessor

Operanden/Ergebnis

53x53106 Bit

Verschieben/Runden

ErgebnisZusammen-führen

Page 39: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 3939

XPA 3233 - FloorplanXPA 3233 - Floorplan

Page 40: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Folie Folie 4040

XPA 3233 - FotoXPA 3233 - Foto

Page 41: Folie 1 Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001

Vielen Dank für die Vielen Dank für die Aufmerksamkeit !Aufmerksamkeit !