Computerarithmetik (1)



Ähnliche Dokumente
Computerarithmetik (6a)

Zahlen und Zeichen (1)

(eindimensionaler) Paritätscode: Codes (8a)

Binäre Gleitkommazahlen

Computerarithmetik (1)

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Zahlendarstellungen und Rechnerarithmetik*

Technische Informatik - Eine Einführung

Binärdarstellung von Fliesskommazahlen

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Grundlagen der Informatik

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Vertiefungsstoff zum Thema Darstellung von Zahlen

Computerarithmetik ( )

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

N Bit binäre Zahlen (signed)

Einführung in die Informatik I

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Das Rechnermodell - Funktion

2 Darstellung von Zahlen und Zeichen

Binäre Division. Binäre Division (Forts.)

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

3 Rechnen und Schaltnetze

Zahlensysteme Seite -1- Zahlensysteme

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Technische Informatik I

Lösungen: zu 1. a.) b.) c.)

Das Maschinenmodell Datenrepräsentation

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 11/12

Algorithmen zur Integer-Multiplikation

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

Grundstrukturen: Speicherorganisation und Zahlenmengen

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

Numerisches Programmieren, Übungen

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

2. Negative Dualzahlen darstellen

Zahlensysteme: Oktal- und Hexadezimalsystem

Daten, Informationen, Kodierung. Binärkodierung

Zeichen bei Zahlen entschlüsseln

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

Daten verarbeiten. Binärzahlen

Information in einem Computer ist ein

Übungen zu Informatik 1

Übung RA, Kapitel 1.2

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zahlensysteme. von Christian Bartl

Computerarithmetik (15b)

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Eine Logikschaltung zur Addition zweier Zahlen

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

a) Da die Zahlen im IEEE-32Bit-Format dargestellt werden sollen, ist der Bias = 127.

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Teil II. Schaltfunktionen

Primzahlen und RSA-Verschlüsselung

Lösung 1. Übungsblatt

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Binär Codierte Dezimalzahlen (BCD-Code)

Grundlagen der Informatik (BSc) Übung Nr. 5

Grundlagen der Technischen Informatik. 4. Übung

Mikro-Controller-Pass 1

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Einführung in die Programmierung

3 Zahlensysteme in der Digitaltechnik

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

5 Verarbeitungsschaltungen

, WS2012 Übungsgruppen: Mo.,

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Grundlagen der Informatik I Informationsdarstellung

2 Einfache Rechnungen

Das Verfahren in Hardware

Binär- und Hexadezimal-Zahl Arithmetik.

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Numerische Datentypen. Simon Weidmann

Konzepte der Informatik

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Der Zwei-Quadrate-Satz von Fermat

Informatik I: Abschnitt 7

Inhalt: Binärsystem 7.Klasse - 1 -

Theoretische Informatik SS 04 Übung 1

5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm

Im Original veränderbare Word-Dateien

Musterlösungen zur Linearen Algebra II Blatt 5

Rationale Zahlen. Weniger als Nichts? Ist Null nichts?

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Negative Zahlen. Lösung: Ordne in einen Zahlenstrahl ein! 7;5; 3; 6. Das Dezimalsystem

Transkript:

Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis einer Operation größer ist als die größte darzustellende Zahl? Hauptunterschied zwischen Computer- und menschlicher Arithmetik: Computer arbeiten mit einer anderen Zahlendarstellung Genauigkeit der sowie Platzbedarf für die Darstellung von Zahlen sind beim Computer endlich und begrenzt. Rechner speichern die Information (Zahlen) in Einheiten festgesetzter Bitlänge, genannt Worte. So dargestellte Zahlen heißen Zahlen mit begrenzter Genauigkeit. Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett

Computerarithmetik (a) Prozessortyp Wortlänge (in Bits) 885, Z8, 689 8 886, 68 6 8386, 682 32 Pentium, PowerPC 32 (Sun SPARC, IBM AIX) typischer Mikrocontroller 4 Cray- Supercomputer 64 Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 2

Computerarithmetik (2) Beispiel für Zahlendarstellung mit unterschiedlichen Basen: binär 2 + 2 9 + 2 8 + 2 7 + 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 24 + 52 + 256 + 28 + 64 + + 6 + + + + oktal 3 7 2 3 8 3 + 7 8 2 + 2 8 + 8 536 + 448 + 6 + dezimal 2 2 3 + 2 + + 2 + + + hexadezimal 7 D 7 6 2 + 3 6 + 6 792 + 28 + Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 3

Computerarithmetik (3) Kollektion von Zahlendarstellungen mit den 4 verschiedenen Basen: dezimal binär oktal hexadezimal 2 3 7 8 2 5 6 2 5 6 8 2989 2 3 7 2 3 4 7 2 24 62 74 2 44 75 5655 2 3 7 8 A B C F 4 32 3C 5 64 3E8 BAD Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 4

Computerarithmetik (4) Tabelle für Umwandlung binär - hexadezimal: Beispiel für Konversion einer Dezimalzahl in eine Binärzahl: Hexadezimal 2 3 4 5 6 7 binär Hexadezimal 8 9 A B C D E F binär Quotient 492 746 373 86 93 46 23 5 2 Rest Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 5

Computerarithmetik (5) BCD (Binary Coded Decimal): weitere Möglichkeit der Zahlendarstellung mit Hilfe von nur 2 Ziffern, aber im Dezimalsystem verbleibend. Prinzip: Jede Dezimalziffer wird für sich in die entsprechende Binärzahl konvertiert. (Analogie zum Binärblock mit den Basen 2, 8, 6) Vorteil: sehr einfache Konvertierung von dezimaler zu binärer Darstellung Nachteile: komplexere Arithmetik verschwenderische (ineffiziente) Ausnutzung der zur Verfügung stehenden Wortbreite und damit des gesamten Speichers Konsequenz: Einsatz nur in Applikationen mit sehr geringem Speicherbedarf Beispiele: Taschenrechner, Digitaluhr Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 6

Computerarithmetik (6) Darstellung ganzer Zahlen (signed numbers). Die Vorzeichen/Betrags - Darstellung (sign and magnitude): Das höchstgewichtete Bit wird exklusiv für die Angabe des Vorzeichens genutzt. (Exklusiv heißt: Das Vorzeichenbit ist nicht Teil der Zahl) Sei S (=d n ) das Vorzeichenbit und N der Betrag (Größe) einer ganzen Zahl Z, dann ist ihr Wert gegeben durch: Z =: (-) d n N Beispiel für n=3: Der Wertebereich bei einem gegebenen n-bit-wort liegt im Intervall [-(2 n- -), 2 n- -] ---> Der Zahlenbereich ist symmetrisch bzgl. des Nullpunkts ---> keine eindeutige Darstellung der Null (-, +) Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 7

Computerarithmetik (6a) Weitere Nachteile: erfordert separates Subtrahierwerk erfordert zusätzliche Logik, um zu entscheiden, welches Vorzeichen das Ergebnis der Operation hat 2. Die Komplement - Darstellung Das höchstgewichtete Bit wird weiterhin (aber nicht exklusiv) für die Angabe des Vorzeichens genutzt, d.h. das Vorzeichenbit ist Teil des Summanden und wird in eine arithmetische Operation mit eingeschlossen Subtraktion wird auf die Addition zurückgeführt Keine Notwendigkeit für ein zusätzliches Subtrahierwerk Keine zusätzliche Logik zur Bestimmung des Vorzeichens 2a. Einer - Komplement Sei N der Betrag (Größe) einer negativen ganzen Zahl Z (d.h. d n =). Dann gilt: -N = N - (2 n - ) Das Einer - Komplement - N einer positiven binären Zahl N aus [, 2 n- -] erreicht man durch bitweises Invertieren von N ---> -N aus [-, -2 n- -] Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 8

Computerarithmetik (7) Beispiel für n=3: Subtraktion:= Addition + end-around-carry, d.h. zu der Summe wird das Übertragsbit aufaddiert. Vorteil: zusätzliches Subtrahierwerk überflüssig Nachteile: keine eindeutige Darstellung der Null kein echtes Komplement, da -x + x sondern = -, also... Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 9

Computerarithmetik (7b) 2b. Zweier - Komplement Sei N der Betrag (Größe) einer negativen ganzen Zahl Z (d.h. d n =). Dann gilt: -N = N - 2 n -N = Einer - Komplement + -N = (bitweises Invertieren von N ) + Es gibt eine eindeutige Darstellung der Null (...) -N aus [-, -2 n- ] Der Wertebereich des Zweier - Komplements ist [-2 n-, 2 n- -] Das Zweier - Komplement ist ein echtes Komplement: N+(-N) = 2 n = (...) Beispiel für n=3: Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett

Computerarithmetik (8a) Einfache Additions (Subtraktions-) Regeln x+y: x-y = x+(-y): Addition der entsprechenden 2er - Komplemente ergibt korrekte Summe im 2er - Komplement, solange der Wertebereich nicht überschritten wird. Bilde das 2er - Komplement von y und führe Addition wie oben aus. Konsequenz: Die logische Einfachheit und die daraus resultierende Geschwindigkeit (arithmetische Operation erfolgt immer in einem Schritt) führt dazu, dass das Zweier - Komplement in den ALU s moderner Rechner eingesetzt wird. Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett

Computerarithmetik (8) Visualisierung des Zweier - Komplements sowie der Addition -2-3 - + +2 +3-4 +4-5 +5-6 +6-7 -8 +7 Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 2

Computerarithmetik (9) Overflow (Summe liegt außerhalb des Wertebereiches): Wichtig: Erkennung des Overflows Bei Integer-Addition dient das carry-out-bit als Overflow-Indikator. Bei Addition ganzer Zahlen (signed numbers) gilt dies nicht Addition von Summanden mit unterschiedlichem Vorzeichen ergibt nie einen Overflow (Absoluter Wert ihrer Summe ist immer kleiner als der absolute Wert von einem der beiden Summanden) Folgerung: Overflow nur möglich, wenn beide Summanden das gleiche Vorzeichen haben Prüfung auf Overflow: O = a n bn sn + a n b n s n (Die Faktoren repräsentieren die Vorzeichenbits der Summanden a und b sowie der Summe s) Gilt O = Es existiert ein Overflow! Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 3

Computerarithmetik (27) Kriterien für die Qualität der Zahlendarstellung: Größe des darstellbaren Zahlenbereichs (range) Genauigkeit (precision) der Zahlendarstellung Diese beiden Kriterien sind prinzipiell unabhängig voneinander. Wissenschaftliche Notation: d = a x r E a Mantisse (Argument), r Radix (Basis), E Exponent (Charakteristik) Parameter für mögliche Darstellungen von Floating point - Zahlen : Anzahl der insgesamt verfügbaren Bits (Wortlänge bzw. Worte) Anzahl der verfügbaren Bits jeweils für Mantisse bzw. Exponent (Trade-off!) Darstellung von Mantisse und Exponent Lokalisierung (Mantisse vor Exponent oder umgekehrt) Mantissendarstellung in normierter Form: d = (-) s x a x 2 E mit s als Vorzeichenbit und a < 2 Exponentendarstellung mit Bias: d = (-) s x a x 2 E mit E := E + 27 Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 4

Computerarithmetik (27a) Darstellung im IEEE Standard 754: Einfache Genauigkeit: 32 Bits S E M Vorzeichen der Zahl = + = - 8 Bit vorzeichenbehafteter Exponent Excess-27 Darstellung 23 Bit Mantisse Darstellung entspricht: ±,M 2 E -27 Beispiel mit Einfacher Genauigkeit: Doppelte Genauigkeit: Darstellung entspricht:,... 2-87 64 Bits S E M Vorzeichen Bit Excess-23 Exponent 52 Bit Mantisse Darstellung entspricht: ±,M 2 E -23 Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 5

Computerarithmetik (28) Verallgemeinerter Additions/Subtraktions - Algorithmus: Rechtsshift auf der Mantisse des kleineren Operanden zur Angleichung der Exponenten ----> Exponent der Summe/Differenz := Exponent des größten Operanden Addition/Subtraktion der Mantissen und Bestimmung des Vorzeichens Wenn nötig, Normalisierung des Ergebnisses Verallgemeinerter Multiplikations/Divisions- Algorithmus: Multipliziere/Dividiere die Mantissen und bestimme das Vorzeichen Wenn nötig, normalisiere das Ergebnis Addiere/Subtrahiere die Exponenten und subtrahiere/addiere 27 Rundung: Kappung überzähliger Bits durch Abspalten (chopping) von Neuman - runden runden Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 6

Computerarithmetik (28a) (vorläufige) Zusammenfassung: Computerarithmetik ist endlich und kann folglich nicht übereinstimmen mit der natürlichen Arithmetik Selbst der IEEE 754 - Standard für die Fließkomma - Darstellung, wie jede andere auch, ist fast immer eine Approximation der realen Zahlen. Rechnersysteme müssen dafür sorgen, den daraus resultierenden Unterschied zwischen Computerarithmetik und Arithmetik in der realen Welt möglichst zu minimieren. Informatiker sollten sich dieser Zusammenhänge bewusst sein. Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 7

Computerarithmetik (29) Beispiel für die HW - Implementierung einer Addition/Subtraktion: 32 Bit Operanden A: S { A, E A, M A B: S B, E B, M B } E A E B M A M B Addition / Subtraktion 8 Bit Subtrahierer Vorzeichen S A S B n = [E A - E B ] kombinatorisches Steuerungs- Netzwerk Addition Subtraktion Vorzeichen Vertauscher Schieberegister n Bit nach rechts Mantisse add. / sub. M von Zahlen mit kleinerem E M von Zahlen mit größerem E E A E B Multiplexer E X Vornullen- Erkennung Normalisieren und Runden Größe M 8 Bit Subtrahierer { R : S R E R E - X M R } 32 Bit Ergebnis: R = A + B Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 8

Computerarithmetik () Wahrheitstabelle Halbaddierer: Symbol: A B S C Summe: A B S = AB + AB = (Exklusiv-Oder) Carry: A B HA C = AB S C out Implementierung: A B A A S B S S C B C C Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 9

Computerarithmetik () Wahrheitstabelle Volladdierer: A B C in C in A B S C out C HA S HA 2 C 2 S 2 A B C in Symbol: C out S S FA C out Implementierung eines Volladdierers mittels zweier Halbaddierer Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 2

Computerarithmetik (2) Schaltung für einen Volladdierer: A B C in C in A B C out S Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 2

Computerarithmetik (3) Serieller Addierer: A Shift-Register Summen-Shift-Register B Shift-Register A S B FA C in C out Shift Takt Carry Flip Flop Q D C n Pulse pro Addition Paralleladdierer: A B C in A B C in A B A B C in C in Übertrag. Ebene FA FA FA FA Übertrag C out S m- C out S m-2 C out S C out S Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 22

Computerarithmetik (4) Rohrleitungsanalogie für Carry-lookahead: Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 23

Computerarithmetik (4a) Rechenzeit zur Addition zweier 32 Bit-Zahlen A) serieller Addierer 3 GLZ pro Additionsschritt (Mindestzeit, da Taktung entscheidend) 32 * 3 GLZ = 96 GLZ B) Carry Ripple Adder (CRA) 3 * 2 GLZ (Ripple Carry) * 3 GLZ (letzte Addition) = 62 GLZ = 3 GLZ 65 GLZ C) Carry-Lookahead Adder (CLA) Zusammenschaltung von m 4-Bit CLA (im Beispiel m=8) * GLZ (g i und p i ) 8 * 2 GLZ (c... c 4 ) * 3 GLZ (letzte Addition) = GLZ = 6 GLZ = 3 GLZ 2 GLZ Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 24

Computerarithmetik (5) Multiplikation Multiplication is vexation, Division is as bad. Anonymus, Elizabethan manuscript, 57. Version einer Multiplikationshardware: 64 Bit Multiplikand Linksshift 64-Bit ALU Kontroll Test Write 64 Bit Produkt 32 Bit Multiplikator Rechtsshift Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 25

Computerarithmetik (5a) Dazugehöriger Algorithmus: Start Nein. Test Multiplikator =? Ja a. Addiere den Multiplikand zum Produkt speichere das Ergebnis im Produktregister 2. Das Multiplikandenregister um Bit nach links shiften 3. Das Multiplikatorregister um Bit nach rechts shiften 32. Wiederholung? Nein Ja Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett Stop 26

Computerarithmetik (5b) Dazugehöriges Beispiel: Schleife Schritt Multiplikator Multiplikand Produkt Anfangswerte a: -> Prod. = Prod. + Mcand 2: Shifte Multiplikand nach links 3: Shifte Multiplikator nach rechts 2 a: -> Prod. = Prod. + Mcand 2: Shifte Multiplikand nach links 3: Shifte Multiplikator nach rechts 3 : -> Keine Operation nötig 2: Shifte Multiplikand nach links 3: Shifte Multiplikator nach rechts 4 : -> Keine Operation nötig 2: Shifte Multiplikand nach links 3: Shifte Multiplikator nach rechts Vorlesung Techn. Grundlagen der Informatik WS 8/9 E. Nett 27