Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Dietlinde Gerg Geändert vor über 9 Jahren
1
Rechnen mit garantierter Genauigkeit Wolfgang Mühlbauer Stephan Thoma Proseminar Rechnerarchitekturen 5. Juli 2001
2
Überblick Erweiterte Arithmetik: Erhöhung der Rechengenauigkeit
Intervallarithmetik: Garantie, dass ein Ergebnis richtig ist
3
Ein einführendes Beispiel
a = b = b2 - ab - a = ? Ausrechnen per Hand: b2 - ab - a = b (b - a) - a = 1 Ausrechnen mit Taschenrechner: b2 - ab - a = 322
4
Das Gleitkommaformat: floating-point
Das single-Format: 32 bit ± Exponent Mantisse 8 bit bit Prinzip der Normalisierung!
5
Beispiel = + 1,75 * 22 = 7 Vorzeichenbit : positiv Exponent : 2
± Exponent Mantisse Vorzeichenbit : positiv Exponent : 2 Mantisse : 1,75 = + 1,75 * 22 = 7
6
IEEE-Standard 754 ± Exponent Mantisse Gesamt Single 1 8 23 32 Double
11 52 64 Extended 15 80 112 128
7
Warum Gleitkommaformat?
Darstellung von Zahlen unter- schiedlichster Größenordnung Einsparen von Speicherplatz Kleine Register und Addierer Historische Gründe
8
Beispiel 1 a + b – a = ? Annahme: Darstellung im Dezimalsystem
Mantisse mit 16 Stellen a = 1, * 100 b = 6, * 10-12 a + b – a = ?
9
Beispiel 1: Auslöschung
a + b 1, 0, 6, * 10-12 + 1, - a - 1, 0, = 6,748 * 10-12 Exakt: b = 6, * 10-12
10
Beispiel 2: Auslöschung
= = = = 120 137 -10 Verletzung des Kommutativgesetzes!
11
Beispiel 3: Auslöschung
x – y = 1 ,5 x – y = 0 Lösung: Mit Gleitkommarechnung: x = y = ,5 Richtige Lösung: x = y =
12
Wo stehen wir? Darstellung reeller Zahlen durch das Gleitkommaformat
Probleme des Gleitkommaformats Auslöschung gültiger Ziffern Verletzung von mathematischen Gesetzen
13
Vermeiden von Auslöschung
– 1020 = 0 ersetzen durch: = 137 Optimierung von Algorithmen: Algorithmen, die ohne Subtraktion nahezu gleicher Zahlen auskommen
14
Mehrfachlange Arithmetiken
Exponent Mantisse + - eine Gleitkommazahl Speicheradresse x y Speicherinhalt 1,3 * 10-1 1,2*10-19 Wert: 0,
15
Festkommadarstellung
Festkommdarstellung (fixed point): Das Komma sitzt an einer festen Stelle. (vgl. Darstellung von ganzen Zahlen) Beispiel: , = 13, 875
16
Beispiel a = 1, * 100 b = 6, * 10-12 a + b – a = ? Vorher: 6,748 * 10-12 Festkommaregister (29 Stellen) 0, =6, * 10-12 0, 0, 1, 1, 1, 1,
17
Festkommarithmetik Prinzip: Rechnen mit extrem langen Festkommazahlen
Vorteil: Keine Normalisierung Nachteil: Mangelnde Unterstützung durch die Hardware
18
Bedeutung des Skalarproduktes
Zentrale Bedeutung in der Mathematik Lineare Algebra: Lösen von linearen Gleichungssystemen Numerik: Elimination von Rundungsfehlern Zentrale Bedeutung im Zusammenhang mit mehrfachlanger Arithmetik a = a1 + a b = b1 + b2 a * b = (a1 + a2) * (b1 + b2) = = a1b1 + a1b2 + a2b1 + a2b Skalarprodukt!
19
Das Skalarprodukt als fünfte Grundrechenart
Idee: Berechnung des Skalarproduktes mit nur einer Rundung am Ende des Ergebnisses Realisierung: 1. Aufaddieren in einem Langzahlregister 2. Erst das Endergebnis runden!
20
Erweiterte Arithmetik
Advanced Computer Arithmetic erhöht die Genauigkeit grundlegender Operationen Skalarprodukt als 5. Grundrechenart (einmalige Rundung) Intervallrechnung (dazu gleich mehr) Ausweitung der Rechenoperationen auf reelle und komplexe Vektoren und Matrizen Realisierung durch: Software: Neue Programmiersprachen Hardware: Co-Prozessor-Chip XPA 3233
21
Wo stehen wir? Das Gleitkommaformat Auswege und Lösungsmöglichkeiten
Auslöschung gültiger Ziffern Verletzung mathematischer Gesetze Auswege und Lösungsmöglichkeiten Optimierte Algorithmen Mehrfachlange Arithmetiken Festkommaarithmetik Skalarprodukt als neue Grundrechenart
22
Inhalt Intervallarithmetik Iterative Verfahren Spezielle Chips
23
Intervallarithmetik Wozu der ganze Aufwand?
24
Intervallarithmetik
25
Intervallarithmetik Ergebnisverifikation Wie genau ist mein Ergebnis?
26
Theorie a = [a1; a2]; b=[b1; b2] a+b = [(a1+b1); D(a2+b2)] Beispiel
1,075 ± 0,002 ↔ [1,073; 1,077] Addition a = [a1; a2]; b=[b1; b2] a+b = [(a1+b1); D(a2+b2)]
27
Rechenzeichen Standard + - x / Abrunden + - x / Aufrunden + - x /
Subtraktion Division Addition Multiplikation Skalarprod. IEEE 754, 854 Standard + - x / Intervallarithmetik Abrunden + - x / Aufrunden + - x /
28
Praxis Spezielle Programmiersprachen Spezielle Chips
Pascal-XSC Extended Scientific Computing C-XSC Class Library für C++ Fortran-XSC Spezielle Chips XPA 3233
29
Praxis - Polynomaddition
Standard-Pascal Berechnung z=a+b+c procedure add(a, b: Poly; var c: Poly); begin ... end add(a, b, z); add(c, z, z);
30
Praxis - Polynomaddition
Pascal-XSC Berechnung z=a+b+c . . z:=a+b+c;
31
Nachteile Umschalten zwischen Auf- und Abrunden
Überschätzung der Intervallgrößen
32
Inhalt Intervallarithmetik Iterative Verfahren Spezielle Chips
33
Newtonverfahren Klassisch
Tangente xneu = x - f(x) / f‘(x) x xneu f
34
Newtonverfahren Mit Intervallarithmetik
X2 = m1 - f(m1) / f‘(X1) Tangenten X2 m1 X1 f
35
Inhalt Intervallarithmetik Iterative Verfahren Spezielle Chips
36
XPA System-Struktur
37
XPA Daten Entwickelt an der Uni Karlsruhe, Uni Stuttgart und TU Hamburg Harburg VHDL und Compass CMOS 8µm VLSI-Technologie 33 MHz Transistoren 6 Mflops Maximalleistung
38
XPA 3233 - Architektur Komm. mit dem Prozessor Operanden/ Ergebnis
53x53106 Bit Verschieben/ Runden Ergebnis Zusammen-führen
39
XPA Floorplan
40
XPA Foto
41
Vielen Dank für die Aufmerksamkeit !
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.