Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 41
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
Binärelemente und fasse diese zu Gruppen zusammen
# A B C D Gruppe
Die Binärelemente werden nach
den in ihnen vorkommenden
Einsen in jeweilige Gruppen
eingeteilt.
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 42
# A B C D OK
0 0 0 0 0
1 0 0 0 1
4 0 1 0 0
8 1 0 0 0
5 0 1 0 1
6 0 1 1 0
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1
15 1 1 1 1
# A B C D OK # A B C D OK
Ermitteln der Primterme
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 43
# A B C D OK
m9 + m11 1 0 ‐ 1 P1
m7 + m15 ‐ 1 1 1 P2
m11 + m15 1 ‐ 1 1 P3
m0 + m1 + m4 + m5 0 ‐ 0 ‐ P4 m0 + m1 + m8 + m9 ‐ 0 0 ‐ P5 m4 + m5 + m6 + m7 0 1 ‐ ‐ P6
Ermitteln der Primtermtabelle
m0 m1 m4 m5 m6 m7 m8 m9 m11 m15 P1
P2
P3
P4
P5
P6
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 44
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
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 45
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
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 46
Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung m6 m8 m11 m15
P3 X X
P5 X
P6 X
Minimierung nach Quine ‐ Mc Cluskey
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 47
Finden einer minimalen Überdeckung durch wiederholte Spalten und Zeilendominanzprüfung m6 m8 m11
P3 X
P5 X
P6 X
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 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 49
+ a
b
CarryIn
CarryOut
Sum
Ripple‐Carry‐Adder
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 50
+ a0
b0
CarryIn
CarryOut
Sum
+ a1
b1
CarryIn
CarryOut
Sum
+ a2
b2
CarryIn
CarryOut
Sum
Problem: Berechnung benötigt
O(n) Gatterlaufzeit.
Carry‐Lookahead‐Adder
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 51
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:
Carry‐Lookahead‐Adder
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 52
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?
Carry‐Lookahead‐Adder
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 53
Wie hilft uns das jetzt weiter?
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)
∙
∙
∙
∙
∙
Logische Bausteine
Sequentielle Schaltungen
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 54
Sequentielle Schaltungen
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 55
Kombinatorische Schaltungen Sequentielle Schaltungen
… …
n Eingänge m Ausgänge
Ausgänge hängen nur von den Eingängen ab. Wie schon
gezeigt, ist dies durch eine Wahrheitstabelle beschreibbar.
Zustand …
…
n Eingänge m Ausgänge
Ausgänge hängen von den
Eingängen und dem aktuellen
Zustand des Bausteins ab. Wie
kann man dieses Verhalten
beschreiben?
Zustandsautomat
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 56
Zustand 00
Zustand 01
Zustand 10
Eingabe 00 / Ausgabe 11 Eingabe 10 / Ausgabe 01 Eingabe 11 / Ausgabe 10
Eingabe 11 / Ausgabe 00 Eingabe 01 / Ausgabe 00
2 ‐ Bit Eing abe 2 ‐ Bit Ausg abe
Ein Beispiel:
Speichern von Zuständen
Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 57 Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012