Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik"

Transkript

1 Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik

2 Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division Gleitkommazahlen Gleitkommaarithmetik Grundlagen der Rechnerarchitektur Logik und Arithmetik 2

3 Logische Operationen Grundlagen der Rechnerarchitektur Logik und Arithmetik 3

4 AND, OR und XOR A B AND A B OR A B XOR Notationen: Notationen: Notation: Beispiele: AND OR XOR Grundlagen der Rechnerarchitektur Logik und Arithmetik 4

5 NOT, NAND und NOR A NOT 0 1 Notationen: A B NAND A B NOR Beispiele: NOT NAND NOR Grundlagen der Rechnerarchitektur Logik und Arithmetik 5

6 Rechenregeln auf logischen Ausdrücken Kommutativgesetz Assoziativgesetz Distributivgesetz De Morgansche Regeln Grundlagen der Rechnerarchitektur Logik und Arithmetik 6

7 Rechenregeln auf logischen Ausdrücken Rechnen mit den Konstanten 0 und 1 Doppelte Negation Kürzungsregeln Grundlagen der Rechnerarchitektur Logik und Arithmetik 7

8 Logischer Links und Rechts Shift Logischer Links Shift b << x : Verschiebe Bits in b nach links, um den angegebenen Wert x. Die neuen leeren Stellen werden mit 0 aufgefüllt. Logischer Rechts Shift b >> x : Verschiebe Bits nach rechts, um den angegeben Wert x. Die neuen leeren Stellen werden mit 0 aufgefüllt. Links und Rechts Shift am Beispiel von 8 Bit Zahlen: << 1 = << 2 = >> 1 = >> 2 = Grundlagen der Rechnerarchitektur Logik und Arithmetik 8

9 Was bedeutet Shift um i? Links Shift: Rechts Shift: Grundlagen der Rechnerarchitektur Logik und Arithmetik 9

10 Links und Rechts Rotation Links Rotation von b um x Stellen: Verschiebe Bits in b nach links, um den angegebenen Wert x. Die leeren Stellen werden mit den herausgeschobenen aufgefüllt. Rechts Rotation von b um x Stellen: Verschiebe Bits nach rechts, um den angegeben Wert x. Die leeren Stellen werden mit den herausgeschobenen aufgefüllt. Links und Rechts Rotation am Beispiel von 8 Bit Zahlen: Links Rotation um 2 Stellen: > Rechts Rotation um 2 Stellen: > Grundlagen der Rechnerarchitektur Logik und Arithmetik 10

11 Addition, Subtraktion und negative Zahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 11

12 Addition und Subtraktion von binären Zahlen Beispiel C = A + B: (Carry) (A) (B) = (C) Beispiel C = A B: (A) (B) (Carry) = (C) Grundlagen der Rechnerarchitektur Logik und Arithmetik 12

13 Darstellung von negativen binären Zahlen Beobachtung für eine beliebige Binärzahl B, z.b. B=110010: B + NOT(B) = B + NOT(B) 1 + (Carry) Also gilt: Bezeichnung: B = Einerkomplement, B+1 = Zweierkomplement Grundlagen der Rechnerarchitektur Logik und Arithmetik 13

14 Quiz Zweierkomplement Binärzahl B= als Dezimalzahl? Was ist die Dezimalzahl 7 als Binärzahl B in Zweierkomplement? Grundlagen der Rechnerarchitektur Logik und Arithmetik 14

15 Subtraktion von binären Zahlen nochmal Beispiel C = A B: (A) (B) Bestimme Zweierkomplement zu B, also B: Also ist C: (Carry) (A) (-B) = (C) Grundlagen der Rechnerarchitektur Logik und Arithmetik 15

16 N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl = = -3 MSB bestimmt das Vorzeichen. MSB=0 bedeutet nicht negativ, MSB=1 bedeutet negativ. Beispiel vorzeichenbehaftete 8 Bit Binärzahlen: Beispiel: 16 Bit = = = = = = = = = = = = -1 Grundlagen der Rechnerarchitektur Logik und Arithmetik 16

17 Nicht vorzeichenbehaftete Zahlen (unsigned) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl = = MSB bestimmt das Vorzeichen nicht. Zahl ist immer nicht negativ. Beispiel nicht vorzeichenbehaftete 8 Bit Binärzahlen: Beispiel: 16 Bit = = = = = = = = = = = = 255 Grundlagen der Rechnerarchitektur Logik und Arithmetik 17

18 Signed N Bit Binär in Dezimal umrechnen Beispiel 8 Bit Binärzahl B: binär ist dezimal: Beobachtung für folgende 8 Bit Zahl C (Erinnerung: binär ist 128): Also für signed n Bit Binärzahl b = b n 1 b n 2... b 0 gilt: Grundlagen der Rechnerarchitektur Logik und Arithmetik 18

19 Sign Extension Gegeben 6 und 3 in 16 Bit Darstellung in 16 Bit Binärdarstellung Wie sieht die 32 Bit Binärdarstellung aus? in 16 Bit Binärdarstellung 6 in 32 Bit Binärdarstellung? 3 in 32 Bit Binärdarstellung? Erinnerung: n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl = = -3 Grundlagen der Rechnerarchitektur Logik und Arithmetik 19

20 Arithmetischer Rechts Shift Arithmetischer Rechts Shift von b um x Stellen: Verschiebe Bits nach rechts, um den angegeben Wert x. Die neuen leeren Stellen werden mit dem Sign Bit aufgefüllt. Arithmetischer Rechts Shift am Beispiel von 8 Bit Zahlen: Arithmetischer Rechts Shift um 2 Stellen: > Arithmetischer Rechts Shift um 2 Stellen: > Grundlagen der Rechnerarchitektur Logik und Arithmetik 20

21 Overflow Einschränkung auf n Bit kann einen Overflow bei Addition erzeugen: (Carry) (A) (B) = (C) Addition von negativer und nicht negativer Zahl. Overflow möglich? Overflow erfordert, dass mindestens gilt: Also Overflow in diesem Fall nicht möglich. Grundlagen der Rechnerarchitektur Logik und Arithmetik 21

22 Overflow Subtraktion von zwei negativen Zahlen x und y. Overflow möglich? Der Fall zwei nicht negativen Zahlen ist analog. Also: Overflow in diesem Fall nicht möglich. Zusammenfassung: Wann kann ein Overflow eintreten? Operation Operand A Operand B Ergebnis welches Overflow anzeigt A+B 0 0 < 0 A+B < 0 < 0 0 A B 0 < 0 < 0 A B < Grundlagen der Rechnerarchitektur Logik und Arithmetik 22

23 Randbemerkung Andere Darstellungsformen für negative Binärzahlen: Einerkomplement: Negativer Wert von B ist NOT(B) Sign and Magnitude: MSB ist das Vorzeichen. Rest ist der Wert. Biased Notation (Beispielsweise mit 0 auf ): = kleinster negativer Wert = kleinster negativer Wert = = = = größter positiver Wert = größter positiver Wert Grundlagen der Rechnerarchitektur Logik und Arithmetik 23

24 Logische Bausteine Grundlagen der Rechnerarchitektur Logik und Arithmetik 24

25 Logische Bausteine Kombinatorische Schaltungen Grundlagen der Rechnerarchitektur Logik und Arithmetik 25

26 Gatter Funktion Eingabe Symbol Ausgabe Verallgemeinerung auf n Eingänge AND A B A AND B A 1 A 2 A 1 AND A 2... AND A n Und Gatter A n OR A B Oder Gatter A OR B A 1 A 2 Und Gatter mit n Eingängen A 1 OR A 2... OR A n NOT A NOT A A n Inverter Oder Gatter mit n Eingängen Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 26

27 Kombinatorische Schaltungen Jede boolesche Funktion (gegeben als logischer Ausdruck) wie z.b. f(a,b) = NOT( NOT(A) OR B) Lässt sich als kombinatorische Schaltung realisieren. Das Beispiel: Inverter werden häufig abgekürzt dargestellt. Das Beispiel: Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 27

28 Wahrheitstabellen Jede boolesche Funktion lässt sich mit einer Wahrheitstabelle darstellen. Beispiel: f(a,b,c) = A AND NOT(B OR C) als Wahrheitstabelle A B C B OR C NOT(B OR C) f(a,b,c)=a AND NOT(B OR C) Grundlagen der Rechnerarchitektur Logik und Arithmetik 28

29 Wahrheitstabellen Jede Wahrheitstabelle kann man mit einem logischen Ausdruck darstellen. Beispiel: A B C f(a,b,c) Als Disjunktive Normalform (DNF); Oder Verknüpfung aller Minterme: Ziel ist aber nicht irgend einen Ausdruck zu finden, sondern einen möglichst kleinen (also eine möglichst kleine kombinatorische Schaltung). Mehr dazu gleich. Grundlagen der Rechnerarchitektur Logik und Arithmetik 29

30 Wahrheitstabellen A B C f(a,b,c) Neben der disjunktiven Normalform gibt es noch die Konjunktive Normalform (KNF); Und Verknüpfung aller Maxterme Allgemein: für den Entwurf von digitalen Schaltungen verwendet man in der Regel eine Darstellung von booleschen Funktionen mittels Normalformen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 30

31 Wahrheitstabellen Bei der Suche nach möglichst kleinen kombinatorischen Schaltungen können auch sogenannte Don t Care Terme recht hilfreich sein. A B C f(a,b,c) X X X Don t Care Terme: In der kombinatorischen Schaltung, die diese Funktion implementiert, ist es egal welche Ausgabe die Schaltung für die Eingaben 011, 101 und 110 produziert. Grundlagen der Rechnerarchitektur Logik und Arithmetik 31

32 Wahrheitstabellen In einer Wahrheitstabelle kann für die Eingaben auch mehrere Ausgabe Bits festgelegt werden. Beispiel: Eingabe Bit 0 Eingabe Bit 1 Eingabe Bit 2 Ausgabe Bit 0 Ausgabe Bit Grundlagen der Rechnerarchitektur Logik und Arithmetik 32

33 Beispiel: Addition zweier Bits mit Übertrag Wahrheitstabelle A B s(a,b)=a+b c(a,b)=carry Kombinatorische Schaltung Boolesche Ausdrücke Ist das eine gute Schaltung? Wie sieht n Bit Addition aus? Mehr dazu gleich. (Im Folgenden nehmen wir häufig logische Bauelemente als Blackbox mit Eingängen und Ausgängen an. Die Funktion des Bausteins wird nur textuell beschrieben.) Grundlagen der Rechnerarchitektur Logik und Arithmetik 33

34 Logische Bausteine Minimierung Grundlagen der Rechnerarchitektur Logik und Arithmetik 34

35 Minimierung mittels Rechenregeln Beispiel: Minimierung der folgenden DNF (!A *!B * C) + (!A * B *!C) + (A *!B *!C) + (A *!B * C) +(A * B *!C) Grundlagen der Rechnerarchitektur Logik und Arithmetik 35

36 Minimierung mittels KV Diagramm A B C D f(a,b,c,d) Ordne Variablen einer 2, 3 oder 4 Stelligen Funktion in Tabelle so an, dass sich benachbarte Felder nur in einer Variablen unterscheiden. Grundlagen der Rechnerarchitektur Logik und Arithmetik 36

37 Minimierung mittels KV Diagramm A B C D f(a,b,c,d) Trage für alle Minterme eine 1 in dem Diagramm ein. C C B A B A B D D D Grundlagen der Rechnerarchitektur Logik und Arithmetik 37

38 Minimierung mittels KV Diagramm A B C D f(a,b,c,d) Fasse benachbarte 1en zu den größtmöglichen Blöcken der Größe 2^n zusammen. C C B A 1 1 B 1 A B D D D Grundlagen der Rechnerarchitektur Logik und Arithmetik 38

39 KV Diagramm: Noch ein Beispiel A B C D f(a,b,c,d) X X X Bemerkung 1: Don t cares können beliebig für 0 oder 1 stehen. Bemerkung 2: Blöcke können auch über den KV Diagrammrand hinaus reichen. C C B A B A B D D D Grundlagen der Rechnerarchitektur Logik und Arithmetik 39

40 KV Diagramm: Noch ein Beispiel A B C D f(a,b,c,d) Bemerkung 3: anstatt der 1en können auch die 0en zusammengefasst werden (dann als KNF). C C B A B A B D D D Grundlagen der Rechnerarchitektur Logik und Arithmetik 40

41 Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente und fasse diese zu Gruppen zusammen Die Binärelemente werden nach den in ihnen vorkommenden Einsen in jeweilige Gruppen eingeteilt. Grundlagen der Rechnerarchitektur Logik und Arithmetik 41

42 Minimierung nach Quine Mc Cluskey Ermitteln der Primterme # A B C D OK # A B C D OK # A B C D OK Grundlagen der Rechnerarchitektur Logik und Arithmetik 42

43 Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle # A B C D OK m9 + m P1 m7 + m P2 m11 + m P3 m0 + m1 + m4 + m5 0 0 P4 m0 + m1 + m8 + m9 0 0 P5 m4 + m5 + m6 + m7 0 1 P6 P1 P2 P3 P4 P5 P6 m0 m1 m4 m5 m6 m7 m8 m9 m11 m15 Grundlagen der Rechnerarchitektur Logik und Arithmetik 43

44 Minimierung nach Quine Mc Cluskey Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung m0 m1 m4 m5 m6 m7 m8 m9 m11 m15 P1 X X P2 X X P3 X X P4 X X X X P5 X X X X P6 X X X X Grundlagen der Rechnerarchitektur Logik und Arithmetik 44

45 Minimierung nach Quine Mc Cluskey Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung m6 m8 m11 m15 P1 X P2 X P3 X X P4 P5 X P6 X Grundlagen der Rechnerarchitektur Logik und Arithmetik 45

46 Minimierung nach Quine Mc Cluskey Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung m6 m8 m11 m15 P3 X X P5 X P6 X Grundlagen der Rechnerarchitektur Logik und Arithmetik 46

47 Minimierung nach Quine Mc Cluskey Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung P3 P5 P6 m6 m8 m11 X X X Grundlagen der Rechnerarchitektur Logik und Arithmetik 47

48 Logische Bausteine Addierwerke Grundlagen der Rechnerarchitektur Logik und Arithmetik 48

49 Addition eines einzigen Bits Eingang Ausgang a b CarryIn CarryOut Sum CarryIn a b + Sum CarryOut Grundlagen der Rechnerarchitektur Logik und Arithmetik 49

50 CarryIn Ripple Carry Adder a0 b0 a1 b1 a2 b2 + CarryOut CarryIn + CarryOut CarryIn + CarryOut Sum Sum Sum Problem: Berechnung benötigt O(n) Gatterlaufzeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 50

51 Carry Lookahead Adder Beobachtung 1: wenn zwei Binärzahlen a(0)...a(n 1) und b(0)...b(n 1) addiert werden, dann findet ein Übertrag an der Stelle i statt, wenn Also können wir als Carry Generierer g(i) definieren: Beobachtung 2: ein Übertrag von der Stelle i 1 wird von der Stelle i an die nächste Stelle i+1 weiter geleitet, wenn Also können wir als Carry Propagierer p(i) definieren: Grundlagen der Rechnerarchitektur Logik und Arithmetik 51

52 Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit: Wie hilft uns das jetzt weiter? Grundlagen der Rechnerarchitektur Logik und Arithmetik 52

53 Wie hilft uns das jetzt weiter? Carry Lookahead Adder Expandieren durch Substitution: Laufzeit: O(1), aber die hohe Anzahl der benötigten Gatter limitiert die Größe eines solchen Bausteins. (Lösung: zusammenfassen mehrerer CLA zu einer Gruppe) Grundlagen der Rechnerarchitektur Logik und Arithmetik 53

54 Logische Bausteine Sequentielle Schaltungen Grundlagen der Rechnerarchitektur Logik und Arithmetik 54

55 Sequentielle Schaltungen n Eingänge m Ausgänge n Eingänge m Ausgänge Zustand Ausgänge hängen nur von den Eingängen ab. Wie schon gezeigt, ist dies durch eine Wahrheitstabelle beschreibbar. Ausgänge hängen von den Eingängen und dem aktuellen Zustand des Bausteins ab. Wie kann man dieses Verhalten beschreiben? Kombinatorische Schaltungen Sequentielle Schaltungen Grundlagen der Rechnerarchitektur Logik und Arithmetik 55

56 Zustandsautomat Ein Beispiel: Eingabe 01 / Ausgabe 00 Eingabe 00 / Ausgabe 11 Eingabe 10 / Ausgabe 01 Eingabe 11 / Ausgabe 10 Zustand 00 2 Bit Eingabe Eingabe 11 / Ausgabe 00 Zustand 01 2 Bit Ausgabe Zustand 10 Grundlagen der Rechnerarchitektur Logik und Arithmetik 56

57 Speichern von Zuständen Speichern eines Bits am Beispiel R S Latch (S=Set, R=Reset) Beobachtung: das Speichern von Zustand erfordert Rückkopplungen (d.h. Ausgang ist wieder Eingang) in der Schaltung. R S altes Q neues Q Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 57

58 Speichern von Zuständen Erweiterung eines R S Latch zu einem D Latch (D=Data, C=Clock) R S altes Q neues Q R S C D altes Q neues Q Grundlagen der Rechnerarchitektur Logik und Arithmetik 58

59 Beispiel Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem D Latch speichern. Q soll wohldefiniert entweder den Inhalt vor oder nach der Berechnung speichern. Kombinatorische Schaltung Q Eingang n Bit Ergebnis ist ein Bit C (Clock) D (Daten) D Latch NOT(Q) Problem: Wann liegt das Ergebnis Bit stabil an D an? Zeit Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 59

60 Lösung: Taktung Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem D Latch speichern. Q soll wohldefiniert entweder den Inhalt vor oder nach der Berechnung speichern. Kombinatorische Schaltung Q Eingang n Bit Ergebnis ist ein Bit C (Clock) D (Daten) D Latch NOT(Q) Letztes Clock Signal Takt Zyklus Nächstes Clock Signal Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 60 Zeit

61 D Latches sind Transparent bzgl. Taktsignal R S D C Q Grundlagen der Rechnerarchitektur Logik und Arithmetik 61

62 D Flip Flop (ist nicht transparent) Ausgang ändert sich nur bei einer fallenden Taktflanke. D D C D Latch Q D C D Latch Q!Q C D C Q Grundlagen der Rechnerarchitektur Logik und Arithmetik 62

63 Logische Bausteine Blockschaltdiagramme Grundlagen der Rechnerarchitektur Logik und Arithmetik 63

64 Bausteine als Black Box Wir haben jetzt einige Basisbausteine kennen gelernt. In dieser Vorlesung sind wir mit Blockschaltbildern in der Regel eine Abstraktionsebene höher. Die betrachteten Bausteine sind Kästen mit Eingangsleitungen und Ausgangsleitungen. Die Leitungen können entweder Daten (Datenleitungen) oder Steuersignale (Steuerleitungen) transportieren. Wie die Bausteine der Blockschaltbilder intern mit Grundbausteinen aufgebaut sind und wie die Taktung der einzelnen Bausteine genau abläuft betrachten wir in dieser Vorlesung nicht weiter. Eingangsleitungen Bemerkung: In Blockschaltbildern wird das für sequentielle Bausteine erforderliche Clock Signal häufig der Übersicht halber weg gelassen. Baustein Beispiel eines abstrakten Bausteins Ausgangsleitungen Grundlagen der Rechnerarchitektur Logik und Arithmetik 64

65 Verschaltung von Bausteinen Verbinden von Bauelementen Bus (lassen häufig die Markierung n Bits weg) Einzelne Leitung n Bits Datenflussrichtung Ausgabe eines logischen Bausteins Eingabe eines logischen Bausteins Kreuzungen und Verbindungen Beispiel Baustein A Leitungen kreuzen sich, sind aber nicht verbunden Verbindungen außerhalb der Leitungsendpunkte sind durch einen Punkt gekennzeichnet. Baustein B Baustein C Grundlagen der Rechnerarchitektur Logik und Arithmetik 65

66 Arithmetische, logische Einheit (ALU) ALU Operation (k) Angabe in Klammern ist die Anzahl Bits. Beispiel Funktionen AND A (n) OR B (n) ALU CarryOut (1) Zero (1) Result (n) Overflow (1) Ggf. ist die ALU auf eine Operation festgelegt. Dann Entfällt der Eingang und ALU wird mit dem Namen der Operation ersetzt. NOT Addition Subtraktion Vergleich Kombinatorisch? Sequentiell? Grundlagen der Rechnerarchitektur Logik und Arithmetik 66

67 Register und Shift Register Eingang (n) Speichert n Bits Reset (1) Load (1) Shift (1) Ausgang (n) Kombinatorisch? Sequentiell? Grundlagen der Rechnerarchitektur Logik und Arithmetik 67

68 Control Eingänge sind Datenleitungen aus anderen Bausteinen Control Ausgänge sind Steuerleitungen in andere Bausteine Ein Baustein der das Zusammenarbeiten von anderen Bausteinen koordiniert. In Abhängigkeit der Eingänge werden die passenden Steuerleitungen geschaltet. Kombinatorisch? Sequentiell? Grundlagen der Rechnerarchitektur Logik und Arithmetik 68

69 Control Beispiel Store R1 4 Bit Register R1 SUB 4 Bit Register R2 Store R2 R2 Bit 0 Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Eingabe R2 Bit 0 Zero 0 0 Ausgabe Store R1 Store R2 Zero Control Control soll folgenden Algorithmus implementieren: wenn R2 gerade und R1-R2=0, dann R1 = 0 wenn R2 ungerade und R1-R2!=0, dann R2 = R1-R2 sonst R1 = R1-R2 Anhand der Wahrheitstabelle wird dann die Schaltung gebaut. Rückgekoppelte Register haben immer einen wohldefinierten Zustand, da Register nur zur Clock Flanke aktualisiert werden. Grundlagen der Rechnerarchitektur Logik und Arithmetik 69

70 Darstellung von Algorithmen Grundlagen der Rechnerarchitektur Logik und Arithmetik 70

71 Pseudo Code Darstellungen Elementaranweisungen Variablenzuweisungen, z.b.: x = 42 Arithmetik, z.b.: y = 10 x = (42 + y) * 20 Das Symbol = beinhaltet implizit eine zeitliche Abfolge, damit ist z.b. sinnvoll: x = x + 1 Abkürzende Schreibweise für voriges Konstrukt: x++ Allgemein: als Elementaranweisung betrachten wir jede Anweisung, die auf der betrachteten Abstraktionsebene nicht weiter sinnvoll in eine Folge von einfacheren Anweisungen unterteilbar ist. Grundlagen der Rechnerarchitektur Logik und Arithmetik 71

72 Felder Felder für den Zugriff auf den Speicher, z.b.: A[] Zugriff auf ite Speicherstelle: A[i] Beispiel: 0x0f00 : 14 A[0] 0x0f01 : 15 A[1] 0x0f02 : 42 A[2] 0x0f03 : 43 A[3] x0f0f : 255 A[15] Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

73 Sequenz von Elementaranweisungen Jedes Programm beginnt an einer Stelle und terminiert (hoffentlich) irgendwann. Start Im Flussdiagramm ist Beginn und Ende des Programms mit den ovalen Symbolen dargestellt. Im Beispiel also Start und Ende. Das einfachste Programm arbeitet einfach eine Sequenz von elementaren Anweisungen ab. Setze i auf i+1 Setze j auf 2*i usw. Im Flussdiagramm wird so eine Sequenz durch ein Rechteck dargestellt. Die Abarbeitungsrichtung des Programms wird durch die Pfeile gekennzeichnet. Ende Grundlagen der Rechnerarchitektur Logik und Arithmetik 73

74 If then else if then else am Beispiel: if(i<10) then <Code-Block 1> else <Code-Block 2> Ist i<10? ja nein Code Block 1 Code Block 2 Grundlagen der Rechnerarchitektur Logik und Arithmetik 74

75 Switch Statement Switch Statement am Beispiel: i=1? ja Code Block 1 switch(i) case 1: <Code-Block 1> case 2: <Code-Block 2>... defaut: <Code-Block n> nein i=2? nein... ja Code Block 2 Code Block n Grundlagen der Rechnerarchitektur Logik und Arithmetik 75

76 For Schleife For Schleife am Beispiel: for(i=0; i<10; i++) { <das innere der Schleife> } Bedeutet: Initialisiere i mit 0 Führe das innere der Schleife aus Erhöhe i um eins Wiederhole wenn immer noch i<10 Start Setze i auf 0 Ist i<10? ja Innere der Schleife nein Erhöhe i um 1 Ende Grundlagen der Rechnerarchitektur Logik und Arithmetik 76

77 While Schleife While Schleife am Beispiel: Start i=0 while(i<10) { <das innere der Schleife> i++ } Bedeutet: Initialisiere i mit 0 Führe das innere der Schleife aus Erhöhe i um eins Wiederhole wenn immer noch i<10 Setze i auf 0 Ist i<10? ja Innere der Schleife Erhöhe i um 1 nein Ende Grundlagen der Rechnerarchitektur Logik und Arithmetik 77

78 Beispiel Gegeben seien die ganzzahligen Variablen n und m. Bestimme größtes k welches n k < m erfüllt: Grundlagen der Rechnerarchitektur Logik und Arithmetik 78

79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

80 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: Multiplikator B: * Produkt: Grundlagen der Rechnerarchitektur Logik und Arithmetik 80

81 Maximale Länge des Ergebnisses Beobachtung: Multiplikand der Länge n Bits und Multiplikator der Länge m Bits ergibt Produkt einer Länge mit maximal n+m Bits. Grundlagen der Rechnerarchitektur Logik und Arithmetik 81

82 Das Verfahren als Algorithmus 1 Addiere Multiplikand zum Produkt Beispiel für 4 Bit Zahlen Start Teste erstes Multiplikator Bit Shifte Multiplikand ein Bit nach Links Shifte Multiplikator ein Bit nach Rechts 5ter Durchlauf? ja Ende nein 0 Beispiel 1001*0101: * Grundlagen der Rechnerarchitektur Logik und Arithmetik 82

83 Das Verfahren in Hardware Links Shift 8 Bit Multiplikand Demonstration mit 1001 * 0110 = Links Shift 8 Bit ALU Rechts Shift 4 Bit Multiplikator 3.Rechts Shift 8 Bit Produkt 1. Produkt = Produkt + Multiplikand, wenn Bit 0 des Multiplikators = 1 Control Test 4. Anzahl Durchläufe = 5 Ende Beispiel für 4 Bit Zahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 83

84 Vorzeichenbehaftete Multiplikation Betrachte Multiplikand x und Multiplikator y. Sei x = x wenn x nicht negativ bzw. x = x sonst. Sei y = y wenn y nicht negativ bzw. y = y sonst. Berechne z = x * y. Ergebnis z = z wenn x und y nicht negativ oder x und y negativ, ansonsten ist z = z. Möglichkeit 2: Tausche im Verfahren der vorigen Folie das Produktregister mit einem vorzeichenbehafteten Rechts Shift Register aus. Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 84

85 Weitere Beschleunigungen Eine ALU für jede Summation x 3 *y x 2 *y 4 Bit ALU c s 3 s 2 s 1 s 0 x 1 *y 4 Bit ALU c s 3 s 2 s 1 s 0 x 0 *y 3 y 2 y 1 4 Bit ALU c s 3 s 2 s 1 s 0 x 0 *y 0 Beobachtung: (Y) * (X) = = = (Z) z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 Beispiel für 4 Bit Zahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 85

86 Weitere Beschleunigungen Parallele Organisation der ALUs in einen Binärbaum (keine weiteren Details hier) Jede ALU Operation verbrauche einen Taktzyklus. Wie viele Taktzyklen dauert die Multiplikation von 32 Bit Zahlen? Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Logik und Arithmetik 86

87 Division Grundlagen der Rechnerarchitektur Logik und Arithmetik 87

88 Division nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a : b? Beispiel: Dividend Divisor Quotient : = Rest: Grundlagen der Rechnerarchitektur Logik und Arithmetik 88

89 Shifte Quotient nach Links und setze dessen LSB=1. Beispiel für 4 Bit Zahlen Das Verfahren als Algorithmus 0 Start Subtrahiere Divisor vom Rest Teste Rest Shifte Divisor ein Bit nach Rechts 6ter Durchlauf? ja Ende <0 Restauriere den alten Rest. Shifte Quotient nach Links und setze dessen LSB=0. nein Beispiel 1001 : 10: Dvdt :Dvsr= Qtnt : 10 = Rest Grundlagen der Rechnerarchitektur Logik und Arithmetik 89

90 Das Verfahren in Hardware Rechts Shift 8 Bit Divisor Demonstration mit 1001 : 0010 = 100 Rest 1 3. Rechts Shift Links Shift 4 Bit Quotient 8 Bit ALU 2. Links Shift; LSB=Rest wurde verändert 1. Rest=Rest Divisor, wenn Divisor < Rest 4. Anzahl Durchläufe = 6 Ende 8 Bit Rest Control Test Beispiel für 4 Bit Zahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 90

91 Vorzeichenbehaftete Division Umgang mit dem Quotienten (analog wie für Multiplikation): Betrachte Divisor x und Dividend y (also: Quotient z von y:x). Sei x = x wenn x nicht negativ bzw. x = x sonst. Sei y = y wenn y nicht negativ bzw. y = y sonst. Berechne Quotient z von y : x. Ergebnis z = z wenn x und y nicht negativ oder x und y negativ, ansonsten ist z = z. Und was ist das Vorzeichen des Rests? Beispiel: Dividend : Divisor Quotient Rest Quotient * Divisor + Rest = Dividend 7 : * = 7-7 : * 2 1 = -7 7 : * = 7-7 : * -2 1 = -7 Also: Vorzeichen des Rests ist Vorzeichen des Dividend. Grundlagen der Rechnerarchitektur Logik und Arithmetik 91

92 Gleitkommazahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 92

93 Reelle Gleitkommazahlen Beispiel Kleine Zahl Große Zahl Wissenschaftliche Darstellung (eine Ziffer links des Kommas) Normalisierte Darstellung (keine führende Null) Grundlagen der Rechnerarchitektur Logik und Arithmetik 93

94 Binäre Gleitkommazahlen Was ist der Dezimalwert der binären Gleitkommazahl 101,1001? Was bedeutet 11,011 * 2 2? Also: mit 2 i multiplizieren verschiebt das Komma um i Stellen nach rechts. Analog: mit 2 i multiplizieren verschiebt das Komma um i Stellen nach links. Grundlagen der Rechnerarchitektur Logik und Arithmetik 94

95 Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 95

96 Nebenbemerkung Betrachte die recht harmlose Dezimalzahl 0,8. Für die folgende unendliche Reihe rechnet man leicht nach: ( ) + ( ) + ( ) + ( ) +... = 4/5 = 0.8 Folglich ist die Binärdarstellung von 0.8 unendlich lang, nämlich: 0, Annahme wir speichern nur die ersten 32 Bits. Rechnet man in den Dezimalwert x zurück, dann ergibt sich: x = ( ) + ( ) + ( ) ( ) = / = 0, ,8 Oha, 0,8 ist scheinbar doch nicht so harmlos. Es gibt folglich Zahlen mit endlicher dezimaler Gleitkommadarstellung, die binär nicht mit endlicher Anzahl Bits darstellbar sind. Grundlagen der Rechnerarchitektur Logik und Arithmetik 96

97 N Bit Darstellung von Gleitkommazahlen Normalisierte, wissenschaftliche Darstellung zur Basis 2. Beispiel: Allgemein: Sign and Magnitude Darstellung für beispielsweise 32 Bits: (s=0 für + und s=1 für ) s exponent fraction 1 Bit 8 Bits 23 Bits Tradeoff: Viele Fraction Bits: hohe Genauigkeit der Fraction Viele Exponent Bits: großer darstellbarer Zahlenbereich Grundlagen der Rechnerarchitektur Logik und Arithmetik 97

98 Beispiel s exponent fraction 1 Bit 8 Bits 23 Bits Was ist der Dezimalwert x des folgenden Bit Strings? Grundlagen der Rechnerarchitektur Logik und Arithmetik 98

99 Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * Größte darstellbare Zahl annähernd 2,0 * Was, wenn die darzustellende Zahl außerhalb dieses Bereichs ist? Overflow: Zahl zu groß (Exponent ist zu groß um im Exponent Feld darstellbar zu sein) Underflow: Zahl zu klein (Negativer Exponent ist zu groß um im Exponent Feld darstellbar zu sein) Grundlagen der Rechnerarchitektur Logik und Arithmetik 99

100 Beispiel: Single Precision Double Precision Double und Single Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Double Precision hat höhere Genauigkeit der Fraction und mit größerem Exponent auch einen größeren darstellbaren Zahlenbereich. Double Precision in diesem Beispiel: Kleinste darstellbare nicht negative Zahl annähernd 2,0 * Größte darstellbare Zahl annähernd 2,0 * Grundlagen der Rechnerarchitektur Logik und Arithmetik 100

101 Der Zahlenformatstandard IEEE 754 Single Precision Double Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Bit Aufteilungen in dieser Form sind in IEEE 754 spezifiziert. Betrachte die wissenschaftliche, normalisierte Darstellung: [+ oder ] 1,xxxxxxxx * 2 yyyy Beobachtung: die 1 vor dem Komma ist redundant. Somit: Bei IEEE 754 wird die 1 implizit angenommen und in fraction nicht codiert. fraction speichert nur Nachkommastellen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 101

102 Beispiel s exponent fraction 1 Bit 8 Bits 23 Bits Es sei die 1 vor dem Komma implizit angenommen. Fraction speichere damit nur die Nachkommastellen. Was ist der Dezimalwert x des folgenden Bit Strings? Grundlagen der Rechnerarchitektur Logik und Arithmetik 102

103 Weitere Eigenschaften von IEEE 754 Unterscheidung von Fraction und 1+Fraction in der Darstellung ( 1) S * (1 + Fraction) * 2 Exponent 1+Fraction wird als Significant (deutsch: Mantisse) bezeichnet. Grundlagen der Rechnerarchitektur Logik und Arithmetik 103

104 Motivation für eine geeignete Exponent Darstellung Annahme: Exponent wäre mit Zweierkomplement dargestellt. Wie macht man einen Größer Kleiner Vergleich der folgenden beiden Zahlen? Zahl 1: Zahl 2: Vergleiche erst mal die Vorzeichenbits. Bei unterschiedlichen Vorzeichenbits ist der Vergleich beendet. 2. Vergleiche die Exponenten. Ist einer größer als der andere, ist der Vergleich beendet. (Signed Vergleich) 3. Vergleiche die Fractions. (Unsigned Vergleich) Kann man Schritt 2 und 3 in einem durchführen? Kleinster Exponent müsste und größter Exponent müsste sein, dann könnte man Exponent und Fraction für einen Vergleich einfach konkatenieren. Grundlagen der Rechnerarchitektur Logik und Arithmetik 104

105 Darstellung des Exponenten in Biased Notation Erinnerung: Biased Notation (hier mit 8 Bit und Bias 127): = -127 (0-Bias = -127) = -126 (1-Bias = -126) = -1 (126-Bias = -1) = 0 (127-Bias = 0) = 1 (128-Bias = 1) = 127 (254-Bias = 127) = 128 (255-Bias = 128) Zusammengefasst: Der Wert x einer Zahl in IEEE 754 Darstellung ist (Single Precision (8 Bit Exponent) Bias=127, Double Precision (11 Bit Exponent) Bias=1023) Grundlagen der Rechnerarchitektur Logik und Arithmetik 105

106 IEEE 754 Encoding Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Single Precision (Bias=127) Double Precision (Bias=1023) Dargestelltes Objekt Exponent Fraction Exponent Fraction Nicht Null 0 Nicht Null (+/ Denormalised Number) 1bis 254 Beliebig 1 bis 2046 Beliebig +/ Gleitkommazahl / Unendlich 255 Nicht Null 2047 Nicht Null NaN (Not a Number) Grundlagen der Rechnerarchitektur Logik und Arithmetik 106

107 Quiz Betrachte IEEE 754 Single Precision, also Bias = 127. Was ist der Dezimalwert der folgenden Binärzahl? ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Grundlagen der Rechnerarchitektur Logik und Arithmetik 107

108 Quiiiiz Bestimme S, Fraction und Exponent der IEEE 754 Single Precision Repräsentation (also Bias = 127) der Dezimalzahl ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Grundlagen der Rechnerarchitektur Logik und Arithmetik 108

109 Gleitkommaarithmetik Grundlagen der Rechnerarchitektur Logik und Arithmetik 109

110 Gleitkommaarithmetik Addition von binären n Bit Gleitkommazahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 110

111 Vorüberlegung Addition mit gleichem Exponent (Nachkomma mit 4 Bits kodiert): Addition mit unterschiedlichen Exponenten (Nachkomma 4 Bits): Grundlagen der Rechnerarchitektur Logik und Arithmetik 111

112 Vorüberlegung Ergebnis muss unter Umständen wieder normalisiert werden: Bei Einschränkung auf n Bit (z.b. Nachkomma auf 4 Bit eingeschränkt) kann dies anschließendes Auf bzw. Abrunden erfordern. Beispiel: Runden nach der Schulmethode Grundlagen der Rechnerarchitektur Logik und Arithmetik 112

113 Vorüberlegung Das Runden kann ggf. neues Normalisieren erforderlich machen: Normalisierungen können Overflows und Underflows hervorrufen. Beispiel: IEEE 754 Single Precision erlaubt Exponenten von 126 bis 127. Somit ist zum Beispiel: Grundlagen der Rechnerarchitektur Logik und Arithmetik 113

114 Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. Start (1) (2) Beispiel 1 Beispiel 2 1,000 * 2 1 1,001 * ,110 * ,101 * 2 11 (1) Vergleiche Exponenten der beiden Zahlen. Shifte die kleinere Zahl nach rechts, so dass der Exponent mit dem Exponent der größeren Zahl übereinstimmt. (Mantissen Alignment) (2) Addiere die Mantissen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 114

115 Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. Beispiel 1 Beispiel 2 (2) 0,001 * ,001 * 2 11 (3) (3) Normalisiere die Summe, entweder durch Rechts Shift und hoch setzen oder durch Links Shift und runter setzen des Exponenten. Im Beispiel 8 Bit für den Exponenten. Overflow oder Underflow? ja nein Exception Grundlagen der Rechnerarchitektur Logik und Arithmetik 115

116 Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. zurück nach (3) Beispiel 1 Beispiel 2 (3) 1,000 * 2 4 1,0001 * 2 12 (4) (4) Runde die Mantisse auf die verfügbare Anzahl Bits. Immer noch normalisiert? nein ja Fertig Grundlagen der Rechnerarchitektur Logik und Arithmetik 116

117 Noch eine Bemerkung Betrachte die folgenden binären Floats mit 8 Bit Mantisse: x = 1, * 2 100, y = 1, * 2 100, z = 1, Was ist x + (y + z)? Was ist (x + y) + z? Somit ist x + (y + z) (x + y) + z, d.h. die Gleitkommaaddition ist nicht assoziativ! Quiz: Was ist die Konsequenz, wenn man x 1 + x x n parallel berechnen möchte? Grundlagen der Rechnerarchitektur Logik und Arithmetik 117

118 Gleitkommaarithmetik Multiplikation von binären n Bit Gleitkommazahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 118

119 Vorüberlegung Multiplikation von zwei beliebigen binären Floats in normalisierter Darstellung. Was ist der Exponent des Ergebnisses? Multiplikation der Mantissen. Wo kommt das Komma hin? Was ist das Vorzeichen v von x * y? Grundlagen der Rechnerarchitektur Logik und Arithmetik 119

120 Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (1) 1,101 * 2 1 * 1,100 * 2 2 Start (1) Addiere die Exponenten. (Subtrahiere Bias im Falle von Biased Notation ) Grundlagen der Rechnerarchitektur Logik und Arithmetik 120

121 Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (1) Der Exponent ist 3 Die Mantissen sind: 1,101 und 1,100 (2) (2) Multipliziere die Mantissen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 121

122 Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (2) 10, * 2 3 (3) (3) Normalisiere das Produkt Falls notwendig. Normalisierung erfolgt durch Rechts Shift und erhöhen des Exponenten. Im Beispiel 8 Bit für den Exponenten. Overflow oder Underflow? ja nein Exception Grundlagen der Rechnerarchitektur Logik und Arithmetik 122

123 Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (Eingabe: 1,101 * 2 1 * 1,100 * 2 2 ) Algorithmus (4) Runde die Mantisse auf die verfügbare Anzahl Bits. zurück nach (3) (3) 1, * 2 2 (4) Immer noch normalisiert? nein (5) ja (5) Setze Vorzeichen auf + wenn die Vorzeichen der Eingaben gleich waren. Sonst setze Vorzeichen auf. Fertig Grundlagen der Rechnerarchitektur Logik und Arithmetik 123

124 Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

125 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 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

126 Quiz Wir betrachten 8 Bit Mantissen. Es seien die folgenden beiden binären Zahlen zu addieren. 1, * , * 2 2 Wie sehen Mantisse, Guard Bit, Round Bit und Sticky Bit nach dem Mantissen Alignment aus? 1, * 2 6 1, * Bit Mantisse 8 Bit Mantisse Grundlagen der Rechnerarchitektur Logik und Arithmetik 126

127 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

128 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 Down M = Mantisse (Tie) 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

129 Quiz Was ist das Rundungsergebnis bei Round to Nearest für folgende Instanzen von 8 Bit Mantisse Guard Round Sticky? A.) B.) C.) GRS Mantisse Richtung 001 Down 010 Down 011 Down Down...1 Up 101 Up 110 Up 111 Up Übersicht zu Round to Nearest Grundlagen der Rechnerarchitektur Logik und Arithmetik 129

130 Beispiel für die Genauigkeitssteigerung Wir betrachten 8 Bit Mantissen. Zu addieren sei: 1, * 2 6 (dezimal = 99,0000) + 1, * 2 2 (dezimal = 5,8125) (Summe dezimal = 104,8125) Das Mantissen Alignment und GRS Bits kennen wir schon, also: Rechnung: Mantisse GRS Mantisse Rundung: ohne Ergebnis: 1, * 2 6 1, * 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, ,5 = 0,3125. Grundlagen der Rechnerarchitektur Logik und Arithmetik 130

131 Denormalized Numbers Kleinste mit IEEE754 Single Precision darstellbare normalized Zahl > 0: 1, * Der Exponent 127 ist für die 0 reserviert; die Fraction ist dabei 0:., * Warum die Fraction für Exponent 127 nicht sinnvoll nutzen? Eine Denormalized Number der Form., * bedeutet: 0, * Somit, kleinste mit IEEE754 Single Precision darstellbare Zahl > 0: 0, * = 1,0 * Grundlagen der Rechnerarchitektur Logik und Arithmetik 131

132 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

133 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

134 Zusammenfassung und Literatur Grundlagen der Rechnerarchitektur Logik und Arithmetik 134

135 Zusammenfassung Rechnerarithmetik endlich und stimmt damit nicht exakt mit Arithmetik über reellen Zahlen überein Häufig Approximation realer Zahlen Assoziativgesetz gilt z.b. nicht Hat z.b. Konsequenz auf paralleles Rechnen Beschränkter Zahlenbereich Overflow, Underflow Wichtigste Entwicklung über die Jahre Zweierkomplement und IEEE 754 Ist in jedem modernen Computer so Grundlagen der Rechnerarchitektur Logik und Arithmetik 135

136 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: * 2 0 bis * 2 31, 0 B: +/ * 2 14 bis +/ * / 0, +/, NaN C: +/ * 2 14 bis +/ * 2 15, +/ 0, +/, NaN D: +/ * 2 15 bis +/ * 2 14, +/ 0, +/, NaN Grundlagen der Rechnerarchitektur Logik und Arithmetik 136

137 Literatur [PattersonHennessy2012] David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 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

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control Control Beispiel Store R1 4 Bit Register R1 SUB 4 Bit Register R2 Store R2 R2 Bit 0 Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Eingabe R2 Bit 0 Zero 0 0 Ausgabe

Mehr

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator

Mehr

Darstellung von negativen binären Zahlen

Darstellung von negativen binären Zahlen Darstellung von negativen binären Zahlen Beobachtung für eine beliebige Binärzahl B, z.b. B=110010: B + NOT(B) ---------------------------------------------- = B + NOT(B) 1 + (Carry) ----------------------------------------------

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 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

Mehr

Logische Bausteine. Addierwerke. Grundlagen der Rechnerarchitektur Logik und Arithmetik 48

Logische Bausteine. Addierwerke. Grundlagen der Rechnerarchitektur Logik und Arithmetik 48 Logische Bausteine Addierwerke Grundlagen der Rechnerarchitektur Logik und Arithmetik 48 Addition eines einzigen Bits Eingang Ausgang a b CarryIn CarryOut Sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1

Mehr

Wertebereiche, Overflow und Underflow

Wertebereiche, Overflow und Underflow Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die

Mehr

Logische Bausteine. Grundlagen der Rechnerarchitektur Logik und Arithmetik 31

Logische Bausteine. Grundlagen der Rechnerarchitektur Logik und Arithmetik 31 Logische Bausteine Sequentielle Schaltungen Shlt Grundlagen der Rechnerarchitektur Logik und Arithmetik 31 Sequentielle Schaltungen n Eingänge m Ausgänge n Eingänge m Ausgänge Zustand Ausgänge hängen nur

Mehr

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

2.1.2 Gleitkommazahlen

2.1.2 Gleitkommazahlen .1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Arithmetische und bitweise Operatoren im Binärsystem Prof. Dr. Nikolaus Wulff Operationen mit Binärzahlen Beim Rechnen mit Binärzahlen gibt es die ganz normalen arithmetischen

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)

Mehr

Motivation 31. Mai 2005

Motivation 31. Mai 2005 Motivation 31. Mai 25 Zuletzt behandelt: Zahlendarstellung und Rechnerarithmetik Festkommazahlen: Vorzeichen/Betrag-Darstellung Einerkomplement, Zweierkomplement Rückführung der Subtraktion auf die Addition

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion 6.2 Non-Restoring Division Restoring Division Divisor wird subtrahiert falls Unterlauf (Ergebnis negativ) Divisor wird wieder addiert im nächsten Durchlauf wird die Hälfte des Divisor subtrahiert (Linksshift

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2 Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie

Mehr

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

6. Zahlendarstellungen und Rechnerarithmetik

6. Zahlendarstellungen und Rechnerarithmetik 6. Zahlendarstellungen und Rechnerarithmetik... x n y n x n-1 y n-1 x 1 y 1 x 0 y 0 CO Σ Σ... Σ Σ CI z n z n-1 z 1 z 0 Negative Zahlen, Zweierkomplement Rationale Zahlen, Gleitkommazahlen Halbaddierer,

Mehr

Inhalt. Zahlendarstellungen

Inhalt. Zahlendarstellungen Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

3 Verarbeitung und Speicherung elementarer Daten

3 Verarbeitung und Speicherung elementarer Daten 3 Verarbeitung und Speicherung elementarer Daten 3.1 Boolsche Algebra Definition: Eine Boolsche Algebra ist eine Menge B mit den darauf definierten zweistelligen Verknüpfungen (+,*) sowie der einstelligen

Mehr

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4 Aufgabe 1 Eine Zahl a ist mit 8 Bits vorzeichenlos (8 bit unsigned) dargestellt. Die Zahl y soll die Zahl a multipliziert mit 4 sein (y = a 4 D ). a) Wie viele Bits benötigen Sie für die Darstellung von

Mehr

Teil II. Schaltfunktionen

Teil II. Schaltfunktionen Teil II Schaltfunktionen 1 Teil II.1 Zahlendarstellung 2 b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen)

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

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

Binäre Division. Binäre Division (Forts.) Binäre Division Umkehrung der Multiplikation: Berechnung von q = a/b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom Dividenden a subtrahiert:

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Aufgabe 5: Aufgabe 6: +/-/*

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung

Mehr

5 Zahlenformate und deren Grenzen

5 Zahlenformate und deren Grenzen 1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines

Mehr

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete

Mehr

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

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen Inhalt Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

DuE-Tutorien 16 und 17

DuE-Tutorien 16 und 17 Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Tutorienwoche 2 am 12.11.2010 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der

Mehr

Computerarithmetik (1)

Computerarithmetik (1) 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

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Rechner-Arithmetik Addition (Wiederholung) Multiplikation Wallace-Tree Subtraktion Addition negativer Zahlen Gleitkommazahlen-Arithmetik

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik SS 2013 Hinweis: Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 25. April 2013 1 Boolesche

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 30. Oktober 2013 1/35 1 Boolesche

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Das Rechnermodell - Funktion

Das Rechnermodell - Funktion Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

Mehr

Grundstrukturen: Speicherorganisation und Zahlenmengen

Grundstrukturen: Speicherorganisation und Zahlenmengen Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen

Mehr

6.2 Kodierung von Zahlen

6.2 Kodierung von Zahlen 6.2 Kodierung von Zahlen Neue Begriffe é Festkommadarstellungen é Zahlendarstellung durch Betrag und Vorzeichen é Einer-/Zweierkomplement-Darstellung é Gleitkommadarstellung é IEEE-754 Format BB TI I 6.2/1

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen Bin are Zahlendarstellungen Binäre Darstellung ("Bits" aus {0, 1) 4. Zahlendarstellungen bn bn 1... b1 b0 entspricht der Zahl bn 2n + + b1 2 + b0 Wertebereich der Typen int, float und double Gemischte

Mehr

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben Zwischenklausur Informatik, WS 206/7 4.2.206 Lösungen zu den Aufgaben. Gegeben sind folgende Dualzahlen in Zweierkomplementdarstellung. Geben Sie den jeweils zugehörigen Dezimalwert an! a) entspricht der

Mehr

Zahlen in Binärdarstellung

Zahlen in Binärdarstellung Zahlen in Binärdarstellung 1 Zahlensysteme Das Dezimalsystem Das Dezimalsystem ist ein Stellenwertsystem (Posititionssystem) zur Basis 10. Das bedeutet, dass eine Ziffer neben ihrem eigenen Wert noch einen

Mehr

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK 1 GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK Aufgabe 1 Bin- und Hex Arithmetik 2 Führen Sie die folgenden Berechnungen im angegebenen Zahlensystem aus, ohne die Zahlen ins Dezimalsystem umzuwandeln:

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 3 AM 13./14.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer. Digitaltechnik Aufgaben + Lösungen 2: Zahlen und Arithmetik Aufgabe 1 Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen a) 4 D b) 13 D c) 118 D d) 67 D Teilen durch die Basis des Zahlensystems.

Mehr

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller

Mehr

Zwischenklausur Informatik, WS 2014/15

Zwischenklausur Informatik, WS 2014/15 Zwischenklausur Informatik, WS /5.. Zugelassene Hilfsmittel: außer Stift und Papier keine Hinweis: Geben Sie bei allen Berechnungen den vollständigen Rechenweg mit an! Alle Aufgaben/Fragen sind unmittelbar

Mehr

WH: Arithmetik: Floating Point

WH: Arithmetik: Floating Point WH: Arithmetik: Floating Point Elmar Langetepe University of Bonn Robuste Implementierungen Floating Point Arithmetik Bonn 06 1 Real RAM Robuste Implementierungen Floating Point Arithmetik Bonn 06 2 Real

Mehr

Übungsklausur - Beispiellösung

Übungsklausur - Beispiellösung Digitale Systeme Übungsklausur - Beispiellösung Aufgabe 1 (a) Benutzt man n Bit für die Darstellung im 2-Komplement, so deckt man den Wertebereich von 2 n 1 bis 2 n 1 1 ab. Also ergibt sich der abgedeckte

Mehr

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

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS Gleit komma zahlen Gleitkommazahlen in vielen technischen und wissenschaftlichen Anwendungen wird eine große Dynamik benötigt: sowohl sehr kleine als auch sehr große Zahlen sollen einheitlich dargestellt

Mehr

1. Tutorium Digitaltechnik und Entwurfsverfahren

1. Tutorium Digitaltechnik und Entwurfsverfahren 1. Tutorium Digitaltechnik und Entwurfsverfahren Tutorium Nr. 25 Alexis Tobias Bernhard Fakultät für Informatik, KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

Computer Arithmetik. Computer Arithmetik Allgemein

Computer Arithmetik. Computer Arithmetik Allgemein Vortrag von René Grohmann und Mirwais Turjalei, 22.11.2000 Computer Arithmetik Computer Arithmetik Allgemein Die ALU: Die Alu ist die Einheit im Computer, die dazu bestimmt ist arithmetische und logische

Mehr

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht

Mehr

Vorzeichenbehaftete Festkommazahlen

Vorzeichenbehaftete Festkommazahlen 106 2 Darstellung von Zahlen und Zeichen Vorzeichenbehaftete Festkommazahlen Es gibt verschiedene Möglichkeiten, binäre vorzeichenbehaftete Festkommazahlen darzustellen: Vorzeichen und Betrag EinerKomplement

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Darstellung von Zahlen Natürliche Zahlen: Darstellungsvarianten Darstellung als Text Üblich, wenn keine Berechnung stattfinden soll z.b. Die Regionalbahn 28023 fährt

Mehr

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

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

Mehr

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung

Mehr

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

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer? Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Kapitel 5: Darstellung von Daten im Rechner

Kapitel 5: Darstellung von Daten im Rechner Kapitel 5: Darstellung von Daten im Rechner Kapitel 5 Darstellung von Daten im Rechner und Rechnerarithmetik Literatur: Oberschelp/Vossen, Kapitel 5 Kapitel 5: Darstellung von Daten im Rechner Seite Kapitel

Mehr

HaDePrak WS 05/ Versuch

HaDePrak WS 05/ Versuch HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen

Mehr

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 4.1: Zahlensysteme a) Bitte füllen Sie die leeren Zellen

Mehr

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen Mathematische Werkzeuge für Computergrafik 2016/17 Gleitkommzahlen 1 Grundlagen 1 Da im Computer nur endliche Ressourcen zur Verfügung stehen, können reelle Zahlen in vielen Fällen nicht exakt dargestellt

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10 TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Zum Nachdenken Wenn die Zahl (123) 10 den Wert 1. 10 2 +2. 10 1 +3. 10 0 hat, was könnte dann (123,45) 10 bedeuten? Wenn Sie beliebige reelle Zahlenwerte

Mehr

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

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Informatik I Übung, Woche 41

Informatik I Übung, Woche 41 Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 7 Bernd Finkbeiner 03/12/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Schaltfunktionen! Schaltfunktion:

Mehr

Binäre Darstellung ganzer Zahlen

Binäre Darstellung ganzer Zahlen Vorlesung Objektorientierte Softwareentwicklung Exkurse use Binäre Darstellung ganzer Zahlen Binärdarstellung natürlicher Zahlen Ganze Zahlen im Einerkomplement Ganze Zahlen im Zweierkomplement Elementare

Mehr

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010 Das negative Zweierkomplementzahlensystem Ines Junold 23. Februar 2010 1 Inhaltsverzeichnis 1 Einleitung 3 2 Das konventionelle Zweierkomplement 4 2.1 Definition.......................................

Mehr

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen Computer and Communication Systems (Lehrstuhl für Technische Informatik) Arithmetik Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen [TI] Winter 2013/2014

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Kapitel 5: Daten und Operationen

Kapitel 5: Daten und Operationen Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 21 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, dh Y = f (X

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

E Zahlendarstellungen und Rechnerarithmetik

E Zahlendarstellungen und Rechnerarithmetik E Zahlendarstellungen und Rechnerarithmetik Einordnung in das Schichtenmodell: 1. Darstellung positiver ganzer Zahlen 2. binäre Addition 3. Darstellung negativer ganzer Zahlen 4. binäre Subtraktion 5.

Mehr

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Datenbanken/Künstliche Intelligenz FAW/n Zahlensysteme Seite Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Inhalt I. Informatik und Zahlen für Wirtschaftswissenschaftler? II. III.

Mehr

Schriftliche Prüfung

Schriftliche Prüfung OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung im Fach: Technische Grundlagen der Informatik Studiengang: Bachelor (CV / CSE / IF / WIF) am: 19. Juli 2008 Bearbeitungszeit:

Mehr

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 6.1: Multiplikation von positiven Dualzahlen Berechnen

Mehr

Informationsverarbeitung auf Bitebene

Informationsverarbeitung auf Bitebene Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung

Mehr

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner Institut für Telematik Universität zu Lübeck Programmieren Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 8/9 Prof. Dr. Christian Werner 3- Überblick Typische Merkmale moderner Computer

Mehr