minimierung nach quine mccluskey - userpages.uni …unikorn/lehre/gdra/ss15/02%20bin... ·...
TRANSCRIPT
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 alsBinärelemente und fasse diese zuGruppen 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
Addition eines einzigen BitsEingang 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 BausteineSequentielle 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 11Eingabe 10 / Ausgabe 01Eingabe 11 / Ausgabe 10
Eingabe 11 / Ausgabe 00
Eingabe 01 / Ausgabe 00
2‐Bit E
ingabe
2‐Bit AusgabeEin Beispiel:
Speichern von Zuständen
Grundlagen der Rechnerarchitektur ‐ Logik und Arithmetik 57Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012
R S altes Q neues Q0 0 00 0 10 1 00 1 11 0 01 0 1
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.