• Keine Ergebnisse gefunden

• Logische Operationen

N/A
N/A
Protected

Academic year: 2022

Aktie "• Logische Operationen"

Copied!
23
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(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

(3)

Logische Operationen

(4)

AND, OR und XOR

A B AND 0 0

0 1 1 0 1 1

A B OR 0 0

0 1 1 0 1 1

A B XOR 0 0

0 1 1 0 1 1

Beispiele:

1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 AND 0 1 1 1 1 OR 1 1 1 0 1 XOR 1 0 1 0 1 --- --- ---

Notationen: Notationen: Notation:

(5)

NOT, NAND und NOR

A NOT 0

1

A B NAND 0 0

0 1 1 0 1 1

A B NOR 0 0

0 1 1 0 1 1 Beispiele:

1 1 0 0 1 1 1 0 0 1 NOT 1 1 0 0 1 NAND 1 1 1 0 1 NOR 1 0 1 0 1 --- --- ---

Notationen:

(6)

Rechenregeln auf logischen Ausdrücken

• Kommutativgesetz

• Assoziativgesetz

• Distributivgesetz

• De Morgansche Regeln

(7)

Rechenregeln auf logischen Ausdrücken

• Rechnen mit den Konstanten 0 und 1 

• Doppelte Negation

• Kürzungsregeln

(8)

Logischer Links‐ und Rechts‐Shift

Links‐ und Rechts‐Shift am Beispiel von 8‐Bit‐Zahlen:

0 1 0 0 1 1 1 1 << 1 = 0 0 1 1 1 1 0 0 << 2 = 0 1 0 0 1 1 1 1 >> 1 = 1 1 1 1 0 0 0 0 >> 2 = 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.

(9)

Was bedeutet Shift um i?

Links‐Shift:

Rechts‐Shift:

(10)

Links‐ und Rechts‐Rotation

Links‐ und Rechts‐Rotation am Beispiel von 8‐Bit‐Zahlen:

Links‐Rotation um 2 Stellen:

0 1 0 0 1 1 1 1 -->

Rechts‐Rotation um 2 Stellen:

1 1 1 1 0 0 0 1 -->

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.

(11)

Addition, Subtraktion und negative Zahlen

(12)

Addition und Subtraktion von binären Zahlen

Beispiel C = A + B:

(Carry) 1 1 1 0 1 0 (A)

+ 1 0 1 0 1 1 (B) ---

= (C)

Beispiel C = A – B:

1 1 1 0 1 0 (A) - 1 0 1 0 1 1 (B)

(Carry) ---

= (C)

(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:

(14)

Quiz

Was ist die Dezimalzahl –7  als Binärzahl B in Zweierkomplement?

Zweierkomplement‐Binärzahl B=...1111011 als Dezimalzahl?

(15)

Subtraktion von binären Zahlen nochmal

Beispiel C = A – B:

1 1 1 0 1 0 (A) - 1 0 1 0 1 1 (B)

Bestimme Zweierkomplement zu B, also –B:

Also ist C:

(Carry) 1 1 1 0 1 0 (A)

+ ... 1 1 0 1 0 1 0 1 (-B) ---

(16)

N‐Bit binäre Zahlen (signed)

n‐Bit‐Darstellung ist ein Fenster auf die ersten n Stellen der Binär‐Zahl

…0000000000000000000000000000000000000000000000000110 = 6

…1111111111111111111111111111111111111111111111111101 = -3

MSB bestimmt das Vorzeichen. MSB=0 bedeutet nicht‐negativ, MSB=1 bedeutet negativ.

Beispiel: 16‐Bit

Beispiel vorzeichenbehaftete 8‐Bit‐Binärzahlen:

0 0 0 0 0 0 0 0 = 0 1 0 0 0 0 0 0 0 = -128 0 0 0 0 0 0 0 1 = 1 1 0 0 0 0 0 0 1 = -127 0 0 0 0 0 0 1 0 = 2 1 0 0 0 0 0 1 0 = -126

. .

. .

. .

0 1 1 1 1 1 0 1 = 125 1 1 1 1 1 1 0 1 = -3 0 1 1 1 1 1 1 0 = 126 1 1 1 1 1 1 1 0 = -2 0 1 1 1 1 1 1 1 = 127 1 1 1 1 1 1 1 1 = -1

(17)

Nicht‐vorzeichenbehaftete Zahlen (unsigned)

n‐Bit‐Darstellung ist ein Fenster auf die ersten n Stellen der Binär‐Zahl

…0000000000000000000000000000000000000000000000000110 = 6

…0000000000000000000000000000000000001111111111111101 = 65533

MSB bestimmt das Vorzeichen nicht. Zahl ist immer nicht‐negativ.

Beispiel: 16‐Bit

Beispiel nicht‐vorzeichenbehaftete 8‐Bit‐Binärzahlen:

0 0 0 0 0 0 0 0 = 0 1 0 0 0 0 0 0 0 = 128 0 0 0 0 0 0 0 1 = 1 1 0 0 0 0 0 0 1 = 129 0 0 0 0 0 0 1 0 = 2 1 0 0 0 0 0 1 0 = 130

. .

. .

. .

(18)

Signed‐N‐Bit Binär in Dezimal umrechnen

Beispiel 8‐Bit‐Binärzahl B:

1 1 1 1 1 1 0 1 binär ist dezimal:

Beobachtung für folgende 8‐Bit‐Zahl C (Erinnerung: 10000000 binär ist –128):

1 0 0 0 0 1 0 1

Also für signed n‐Bit‐Binärzahl b = bn‐1 bn‐2 ... b0 gilt:

Beobachtung für folgende 8‐Bit‐Zahl C (Erinnerung: 10000000 binär ist –128):

1 0 0 0 0 1 0 1

Also für signed n‐Bit‐Binärzahl b = bn‐1 bn‐2 ... b0 gilt:

(19)

Sign‐Extension

Gegeben 6 und –3 in 16‐Bit‐Darstellung.

Wie sieht die 32‐Bit‐Binärdarstellung aus?

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 6 in 16‐Bit‐Binärdarstellung

1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 –3 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

(20)

Arithmetischer Rechts‐Shift

Arithmetischer Rechts‐Shift am Beispiel von 8‐Bit‐Zahlen:

Arithmetischer Rechts‐Shift um 2 Stellen:

0 1 0 0 1 1 1 1 -->

Arithmetischer Rechts‐Shift um 2 Stellen:

1 1 1 1 0 0 0 1 -->

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.

(21)

Overflow

Einschränkung auf n‐Bit kann einen Overflow bei Addition erzeugen:

(Carry) (A)

+ (B) ---

= (C) 0 1 0 1 1 0 1 0

0 1 1 0 0 1 1 1

Addition von negativer und nicht‐negativer Zahl. Overflow möglich?

Overflow erfordert, dass mindestens gilt:

(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 < 0 0 0

(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 1000...0000):

0000 0000 0000 0000 0000 0000 0000 0000 = kleinster negativer Wert 0000 0000 0000 0000 0000 0000 0000 0001 = kleinster negativer Wert + 1

...

0111 1111 1111 1111 1111 1111 1111 1111 = ‐1 1000 0000 0000 0000 0000 0000 0000 0000 = 0 1000 0000 0000 0000 0000 0000 0000 0001 = 1

...

Referenzen

ÄHNLICHE DOKUMENTE

Es sind Wortgruppen (manchmal ganze Sätze), die immer gleich lauten: etwas ist „Schnee von gestern“ (aber kaum Regen von morgen) oder gehört „zum guten Ton“ (aber nicht zur

die Hand im Spiel haben O heimlich beteilig sein O sich verbrennen O sich

Lässt sich als kombinatorische Schaltung realisieren Das

Kleinster Exponent müsste 00000000 und größter Exponent müsste 11111111  sein dann könnte man Exponent und Fraction für einen Vergleich

Binäre Logik, Arithmetik und  Digitaltechnik.?.

Was bedeutet Shift

Was bedeutet Shift

Was bedeutet Shift