124
fakultät für informatik technische universität dortmund 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 [email protected] http://ls1-www.cs.tu-dortmund.de

Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

fakultät für informatiktechnische universität dortmund

Rechnerstrukturen, Teil 1

Vorlesung 4 SWS WS 14/15

Prof. Dr Jian-Jia ChenDr. Lars Hildebrand

Fakultät für Informatik – Technische Universität [email protected]

http://ls1-www.cs.tu-dortmund.de

Page 2: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 2 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

Übersicht

1. Organisatorisches

2. Einleitung

3. Repräsentation von Daten

4. Boolesche Funktionen und Schaltnetze

5. Rechnerarithmetik

6. Optimierung von Schaltnetzen

7. Programmierbare Bausteine

8. Synchrone Schaltwerke

Page 3: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 3 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6. Optimierung von Schaltnetzen

6. Optimierung von Schaltnetzen

1. Einleitung & Strukturierter Entwurf

2. Algebraische Vereinfachung

3. KV-Diagramme

4. Algorithmus von Quine/McCluskey

5. Unvollständig definierte Funktionen

6. Hazards

Page 4: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 4 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Was bedeutet Optimierung?

• bestmögliche Lösung finden• Vorgehen

1. Lösungen finden2. beweisen, dass es keine bessere gibt

In RS sehen wir das nicht ganz so streng• Wir wollen zu einem besseren Entwurf kommen• nicht zwingend zum optimalen Entwurf,

• da es häufig konkurrierende Ansätze gibt• die sich zum Teil auch widersprechen

Strukturierter Entwurf

Page 5: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 5 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter Schaltnetz-Entwurf

Schaltnetz-Entwurf bisher• ad hoc• Normalformen

Wunsch• Systematisierung• Strukturierung

Hoffnungen• einfacher zu guten Entwürfen• Schaltnetze verständlicher• Schaltnetze besser verifizierbar

Page 6: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 6 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Systematisierung Schaltnetz-Entwurf

Grundidee• Wiederverwendung guter Schaltnetze als Komponenten• bereits angewendet:

• bei allen Addierern HA verwendet• HA zur Bestimmung ob Übertrag generiert oder weitergegeben

wird

Zum Einstieg: Kann man VA sinnvoll aus HA bauen?

Page 7: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 7 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Wir wollen Volladdierer aus Halbaddierern bauen (Wiederverwendung)

���� � � � �

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

VA"���� + x + y"

Page 8: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 8 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Einsatz eines Halbaddierers• berechnet x + y

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

Page 9: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 9 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Einsatz eines Halbaddierers• berechnet c und s ohne existierenden Übertrag korrekt• berechnet c und s mit existierendem Übertrag fast immer falsch

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

Page 10: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 10 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Einsatz eines weiteren Halbaddierers• berechnet ��lt + As

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

�� ��

0 0

0 1

0 1

0 0

0 1

1 0

1 0

0 1

HA"��lt + As"

Page 11: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 11 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Einsatz eines weiteren Halbaddierers• berechnet c und s ohne existierenden Übertrag fast korrekt• berechnet c und s mit existierendem Übertrag fast korrekt

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

�� ��

0 0

0 1

0 1

0 0

0 1

1 0

1 0

0 1

HA"��lt + As"

Page 12: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 12 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Übertrag der Gesamtsumme entsteht, wenn mindestens einer der beiden Halbaddierer einen Übertrag erzeugt: �� bzw. ��

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

� 0

0 0

0 1

0 1

� 0

HA"x + y"

�� ��

0 0

0 1

0 1

0 0

0 1

� 0

� 0

0 1

HA"��lt + As"

Page 13: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 13 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

Fügen wir die Verknüpfung von �� bzw. �� als Disjunktion (mindestens einer der Übertrage muss erzeugt worden sein) hinzu

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

�� ��

0 0

0 1

0 1

0 0

0 1

1 0

1 0

0 1

HA"��lt + As"

�� v ��

0

0

0

1

0

1

1

1

Page 14: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 14 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Noch einmal zum Volladdierer

���� � � � �

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

VA"���� + x + y"

�� ��

0 0

0 1

0 1

1 0

0 0

0 1

0 1

1 0

HA"x + y"

�� ��

0 0

0 1

0 1

0 0

0 1

1 0

1 0

0 1

HA"��lt + As"

�� v ��

0

0

0

1

0

1

1

1

Page 15: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 15 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter Volladdierer

Ad-Hoc Volladdierer aus 5.2

Page 16: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 16 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter Volladdierer

Eigenschaften• Größe 5• Tiefe 3• Erinnerung Halbaddierer: Größe 2, Tiefe 1• Erinnerung ”alter“ Volladdierer: Größe 5, Tiefe 3

immerhin nichts verloren im Vergleich zum sorgfältigen ”ad hoc-Entwurf“

Page 17: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 17 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter Multiplexer

Die Idee eines strukturierten Entwurfs eines Volladdierers• wir haben Halbaddierer• bauen wir daraus einen Volladdierer

übertragen wir nun auf die Multiplexer:• wir haben einen MUXd

• bauen wir daraus einen MUX2d

Page 18: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 18 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Multiplexer

Erinnerung vereinfachte Wertetabelle

normale (ausführliche) Wertetabelle

�� MUX(��,��,��)

0 ��

1 ��

�� �� �� MUX(��,��,��)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

Page 19: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 19 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Multiplexer

reduziertes Schaltnetz durch Anwendung der Resolution

�� �� �� MUX(��,��,��)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

MUX(��,��,��)

Page 20: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 20 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturiert zum Schaltnetz für MUX2

Beobachtung• �� = 0 ⇒ MUX2(��, ��, ��, ��, ��, ��)∈ {��, ��}• �� = 1 ⇒ MUX2(��, ��, ��, ��, ��, ��)∈ {��, ��}

also ein MUX1 wählt mittels �� aus {��, ��}

ein MUX1 wählt mittels �� aus {��, ��}

ein MUX1wählt mittels �� aus den Ergebnissen

�� �� MUX(��,��,��,��,��,��)

0 0 ��

0 1 ��

1 0 ��

1 1 ��

Page 21: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 21 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter MUX2

MUX2(��,��,��,… ,��)

Page 22: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 22 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter MUX4

• wir haben einenMUXd

• bauen wir daraus einen MUX2d

�� �� �� �� MUX(��,��,��,��,��,��,��,… ,���)

0 0 0 0 ��

0 0 0 1 ��

0 0 1 0 ��

0 0 1 1 ��

0 1 0 0 ��

0 1 0 1 ��

0 1 1 0 ��

0 1 1 1 ��

1 0 0 0 ��

1 0 0 1 ��

1 0 1 0 ���

1 0 1 1 ���

1 1 0 0 ���

1 1 0 1 ���

1 1 1 0 ���

1 1 1 1 ���

Page 23: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 23 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturiert MUX4

• wir haben einenMUXd

• bauen wir daraus einen MUX2d

Beobachtung

• (��,��) = (0,0) ⇒MUX4(… )∈ {��, ��,��,���}

• (��,��) = (0,1) ⇒MUX4(… )∈ {��, ��,��,���}

• (��,��) = (1,0) ⇒MUX4(… )∈ {��, ��,���,���}

• (��,��) = (1,1) ⇒MUX4(… )∈ {��, ��,���,���}

�� �� �� �� MUX(��,��,��,��,��,��,��,… ,���)

0 0 0 0 ��

0 0 0 1 ��

0 0 1 0 ��

0 0 1 1 ��

0 1 0 0 ��

0 1 0 1 ��

0 1 1 0 ��

0 1 1 1 ��

1 0 0 0 ��

1 0 0 1 ��

1 0 1 0 ���

1 0 1 1 ���

1 1 0 0 ���

1 1 0 1 ���

1 1 1 0 ���

1 1 1 1 ���

Page 24: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 24 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturiert MUX4

• 4 MUX2

wählen 4 Eingänge4 aus 16

• 1 MUX2

wählt Ergebnis1 aus 4

MUX2

x 1

x 0

x 3

MUX2x 2

x 5

x 4

x 7

MUX2x 6

x 9

x 8

x 11

MUX2x 10

x 13

x 12

x 15

MUX2x 14

y 1 y 2y 3 y 4

Page 25: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 25 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturiert MUX2d

MUX2d(��,… ���,��,… ,������)

Page 26: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 26 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturiert MUX2d

MUX2d(��,… ���,��,… ,������)

Zur Realisierung eines MUX2d werden 2d+1 MUXd

benötigt.

Page 27: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 27 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.1 Einleitung & Strukturierter Entwurf

Strukturierter Entwurf

Vorteile des strukturierten Entwurfs• einfaches Grundprinzip, dessen Korrektheit leicht zu zeigen ist• auch komplexe Schaltnetze intuitiv korrekt• schnelle Vorgehensweise

Nachteile des strukturierten Entwurfs• entstehende Schaltnetze sind groß• bereits berechnete Werte werden in der Regel nicht

wiederverwendet, das sie vom Konstruktionsprinzip nicht erkannt werden

Page 28: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 28 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6. Optimierung von Schaltnetzen

6. Optimierung von Schaltnetzen

1. Einleitung & Strukturierter Entwurf

2. Algebraische Vereinfachung

3. KV-Diagramme

4. Algorithmus von Quine/McCluskey

5. Unvollständig definierte Funktionen

6. Hazards

Page 29: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 29 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Entwurf kleiner Schaltnetze

Erinnerung Normalformen (DNF, RNF, KNF) direkt in

Schaltnetz umsetzbar

Beobachtung dabei jede Variable höchstens einmal negieren

ab jetzt Wir zählen Negationsgatter nicht mehr.

für große Schaltnetze nicht wesentlich

dann Schaltnetzgröße b≙ Anzahl Minterme/Maxterme + 1

Verbesserung äquivalenter kleinerer boolescher Ausdruck

führt zu kleinerem Schaltnetz

Vorsicht Kleinerer Ausdruck ist keine Normalform mehr!

Page 30: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 30 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

Erinnerung Rechengesetze für boolesche Algebra (Satz 3)

Beispiel � ∶ {0,1}�→ 0,1 mit Wertevektor

(1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

einschlägige Indizes 0, 2, 4, 6, 8, 9, 10, 11

Minterm zu i ist Funktion �� : {0,1}�→ {0,1}mit �� ��,��,��,�� = 1⇔ ��,��,��,�� � = �

am Beispiel i = 2 �� ��,��,��,�� = ��������

denn �������� = 1

⇔ (�� = 0) ∧ (�� = 0) ∧ (�� = 1) ∧ (�� = 0)

⇔ ��,��,��,�� � = 2

Page 31: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 31 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

Größe (ohne Negationen) 8 + 1 = 9

Wie können wir das verkleinern?

Resolution

� ��,��,��,�� = �������� ⋁ �������� ⋁ �������� ⋁ ��������⋁ ���� ���� ⋁ ���� �� �� ⋁ �������� ⋁ ��������

���� ⋁ ����� = ��

Page 32: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 32 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

Vereinfacht

Größe (ohne Negationen) 8 + 1 = 9

Wie können wir das verkleinern?

Resolution

� ��,��,��,�� = �������� ⋁ �������� ⋁ �������� ⋁ ��������⋁ ���� ���� ⋁ ���� �� �� ⋁ �������� ⋁ ��������

���� ⋁ ����� = ��

� ��,��,��,�� = ������ ⋁ ...

Page 33: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 33 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

Vereinfacht

Größe (ohne Negationen) 8 + 1 = 9

Wie können wir das verkleinern?

Resolution ���� ⋁ ����� = ��

� ��,��,��,�� = �������� ⋁ �������� ⋁ �������� ⋁ ��������⋁ ���� ���� ⋁ ���� �� �� ⋁ �������� ⋁ ��������

� ��,��,��,�� = ������ ⋁ ������ ⋁ ...

Page 34: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 34 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

Vereinfacht

Größe (ohne Negationen) 8 + 1 = 9

Wie können wir das verkleinern?

Resolution ���� ⋁ ����� = ��

� ��,��,��,�� = �������� ⋁ �������� ⋁ �������� ⋁ ��������⋁ ���� ���� ⋁ ���� �� �� ⋁ �������� ⋁ ��������

� ��,��,��,�� = ������ ⋁ ������ ⋁ ���� �� ⋁ ...

Page 35: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 35 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

DNF dazu

Vereinfacht

Größe (ohne Negationen) 8 + 1 = 9

Wie können wir das verkleinern?

Resolution ���� ⋁ ����� = ��

� ��,��,��,�� = �������� ⋁ �������� ⋁ �������� ⋁ ��������⋁ ���� ���� ⋁ ���� �� �� ⋁ �������� ⋁ ��������

� ��,��,��,�� = ������ ⋁ ������ ⋁ ���� �� ⋁ ������ ⋁ ...

Page 36: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 36 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

Vereinfacht

Größe (ohne Negationen) 4 + 1 = 5

Wie können wir das verkleinern?

Resolution ���� ⋁ ����� = ��

� ��,��,��,�� = �� ����⋁ ������ ⋁ ���� �� ⋁ ������

Page 37: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 37 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

dazu

Vereinfacht

Größe (ohne Negationen) 4 + 1 = 5

Wie können wir das verkleinern?

Resolution ���� ⋁ ����� = ��

� ��,��,��,�� = �� ���� ⋁ ������ ⋁ ���� �� ⋁ ������

� ��,��,��,�� = �� �� ⋁ ...

Page 38: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 38 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.2 Algebraische Vereinfachung

Algebraische Vereinfachungen

� ∶ {0,1}�→ 0,1 mit Wertevektor (1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0)

dazu

Vereinfacht

Größe (ohne Negationen) 4 + 1 = 5, vereinfacht: 2 + 1 = 3

Wie können wir das verkleinern?

Resolution

klar Größe 9 3 beeindruckend aber recht schwierig

���� ⋁ ����� = ��

� ��,��,��,�� = �� ���� ⋁ ������ ⋁ ���� �� ⋁ ������

� ��,��,��,�� = �� �� ⋁ ����

Page 39: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 39 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6. Optimierung von Schaltnetzen

6. Optimierung von Schaltnetzen

1. Einleitung & Strukturierter Entwurf

2. Algebraische Vereinfachung

3. KV-Diagramme

4. Algorithmus von Quine/McCluskey

5. Unvollständig definierte Funktionen

6. Hazards

Page 40: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 40 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramme

entwickelt von• Maurice Karnaugh (1953)• Edward W. Veitch (1952)

KV-Diagramme • systematischer, anschaulicher und • viel übersichtlicherer Weg, um Funktionen �: 0,1 � → 0,1 und �: 0,1 � → 0,1zu vereinfachen

aber schon für �: 0,1 � → 0,1 unübersichtlich

⇒ darum vor allem im HaPra wichtig.

Page 41: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 41 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramme• Mittels eines KV-Diagramms lässt sich jede disjunktive Normalform in

einen disjunktiven logischen Ausdruck umwandeln• disjunktiver logischer Ausdruck ist minimal

Vorgehensweise1. Erstellen einer Funktionstabelle2. Ableitung der DNF3. Umwandlung der DNF in ein KV-Diagramm4. Auffinden von Strukturen, die zur minimalen Disjunktionen führen.

Dieser Schritt basiert auf der Resolution

Page 42: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 42 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Besonderheit• Kanten sind mit Variablen

beschriftet• jede Variable verfügt über eine

Zeile/Spalte für Variable und negierte Variable

• Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur in einerStelle

Page 43: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 43 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Page 44: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 44 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Page 45: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 45 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Page 46: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 46 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 47: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 47 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 48: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 48 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 49: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 49 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 50: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 50 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 51: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 51 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

Nachbarschaften, d.h. Variablenbelegungen unterscheiden sich nur

in einer Stelle

Hinweis: Nachbarschaften sind zyklisch

Page 52: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 52 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

Page 53: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 53 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 54: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 54 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

Was fällt bei der Variablenbelegung auf? Warum ist das so?

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 55: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 55 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 56: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 56 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 57: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 57 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

1

Page 58: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 58 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 01

1

Page 59: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 59 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

1

10

Page 60: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 60 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 61: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 61 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

KV-Diagramm für �: �,� �→ �,�

�: 0,1 � → 0,1 mit Wertevektor 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0(Beispielfunktion wie bereits gesehen)

Nullen weglassen

für mehr Übersichtlichkeit

6.3 KV-Diagramme

�� �� �� �� � ��,… ,��

0 0 0 0 1

⋮ ⋮

1 0 1 1 1

⋮ ⋮

1 1 1 1 0

Page 62: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 62 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Page 63: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 63 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Page 64: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 64 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Page 65: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 65 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Page 66: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 66 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

Page 67: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 67 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

�� = 1,�� = 0 ⇒ ����

Page 68: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 68 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

�� = 1,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

Page 69: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 69 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

�� = 1,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

Page 70: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 70 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

Decke alle Einsen durch sparsame Rechteckauswahl ab.

�� = 1,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

Page 71: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 71 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

KV-Diagramm für Beispielfunktion �: �,� �→ �,�

Suche alle größten Rechtecke mit Zweierpotenzlänge.

Bilde für jedes Rechteck passendes Monom.

Decke alle Einsen durch sparsame Rechteckauswahl ab.

Bilde f als Disjunktion der korrespondierenden Monome.

�� = 1,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

�� = 0,�� = 0 ⇒ ����

� ��,��,��,�� = ���� ∨����

Page 72: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 72 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Einordnung KV-Diagramme

Was leisten KV-Diagramme?

Beobachtung Wir lösen mit KV-Diagrammen ein Problem, das wir

noch gar nicht definiert haben.

klar Wir holen das jetzt nach.

vorab Begriffsfestlegungen

• Variable Beispiele ��,��,��,. . .

• Literale Variable und Negationen Beispiele ��,��,��,��,. . .

• Monom Konjunktion einiger Literale Beispiele ������,��

• Polynom Disjunktion einiger Monome Beispiel ����∨��∨����

Page 73: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 73 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Weitere Begriffsdefinitionen

Wir haben schon Variable, Literal, Monom, Polynom.

• Implikant von f Monom m mit folgender Eigenschaft: ∀�� 0,1 �:� � = 1 ⇒ � � = 1

Beispiel Monom (auch Minterm) eines Polynoms für f

• Verkürzung eines Monoms m Monom m′, für das m Implikant ist

Beispiel ���� ist Verkürzung von ����

Page 74: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 74 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Weitere Begriffsdefinitionen

• echte Verkürzung eines Monoms m Monom m′, das Verkürzung

von m ist und echt weniger Literale enthält

Beispiel �� ist echte Verkürzung von ����

• Primimplikant von f Implikant von f , für den es keine echte

Verkürzung gibt, die auch Implikant von f ist

Beispiel ���� ist Primimplikant von ��∨����

Page 75: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 75 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Verbindung zu Schaltnetzen

Erinnerung Wir zählen keine Negationen mehr.

Monom mit i Literalen• Und-Gatter mit Fan-In i • oder i − 1 Und-Gatter mit Fan-In 2• angemessen Kosten i

Polynom mit j Monomen• zusätzlich Oder-Gatter mit Fan-In j oder• j − 1 Oder-Gatter mit Fan-In 2• angemessen zusätzlich Kosten j

direkte Verbindung zwischen Polynom-Kosten und Schaltnetz-Kosten

Noch ein letzter Begriff

Minimalpolynom zu f Polynom für f mit minimalen Kosten unter allen Polynomen für f

Page 76: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 76 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Minimalpolynome

Minimalpolynome liefern ”günstigste“ Schaltnetze. . .

Vorsicht• Stimmt nicht so ganz!• nur richtig, wenn man sich auf• direkte Polynomrealisierung einschränkt• trotzdem suchen wir Minimalpolynome

Wie finden wir systematisch Minimalpolynome?

Page 77: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 77 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Minimalpolynome und Primimplikanten

Theorem Minimalpolynome enthalten nur Primimplikanten.

Annahme � = ��∨��∨ … ∨�� Minimalpolynom, �� kein Primimplikant zu �

gemäß Definition ∃��: ��ist Implikant von ��, �� ist echte Verkürzung

von �� und �� ist Implikant von �

klar �� = 1⇒ �� = 1, da �� Implikant von��

Beobachtung ��= 1⇒ � = 1, da �� Implikant von � ist

also ��∨��∨ … ∨�� ist günstigeres Polynom für f

Widerspruch zur Voraussetzung, dass ��∨��∨ … ∨��

Minimalpolynom für �

Beweis (indirekt)

Page 78: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 78 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Minimalpolynomberechnung

Idee für Minimalpolynomberechnung

1. Berechne alle Primimplikanten von f.

2. Berechne günstigste

”Überdeckung“ von f mit diesen Monomen.

Beobachtung Dieser Ansatz ist sicher schlecht, wenn das Minimalpolynom zu f klein ist, f aber viele Primimplikanten hat.

Wir verfolgen diesen Ansatz dennoch.

Page 79: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 79 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Minimalpolynomberechnung

Behauptung Wir haben mit KV-Diagrammen Minimalpolynome berechnet.

Das bedeutet Wir haben günstigste Überdeckung von f gesucht.

Entsprechen maximale Rechtecke mit Zweierpotenzseitenlängen genau Primimplikanten?

Es gilt Für �: 0,1 � → 0,1 gibt es Monome der Längen 0, 1, 2, 3 und 4.

Wir schauen uns die Situation für jede mögliche Monomlänge an.

Page 80: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 80 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 0

Page 81: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 81 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 0

Monom1

Page 82: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 82 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Page 83: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 83 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 84: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 84 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 85: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 85 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 86: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 86 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 87: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 87 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 88: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 88 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 89: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 89 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 90: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 90 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 1

Monom��

Page 91: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 91 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 2

Page 92: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 92 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 2

Monom����

Page 93: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 93 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 2

Monom����

Page 94: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 94 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 2

Monom����

Page 95: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 95 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 3

Page 96: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 96 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 3

Monom������

Page 97: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 97 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 3

Monom������

Page 98: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 98 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 3

Monom������

Page 99: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 99 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 3

Monom������

Page 100: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 100 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Page 101: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 101 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Monom��������

1

Page 102: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 102 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Monom��������

Page 103: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 103 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Monom��������

Page 104: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 104 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Monom��������

Page 105: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 105 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Monom��������

Page 106: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 106 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Primimplikanten der Länge 4

Beobachtung Primimplikanten entsprechen genau KV-Rechtecken

Monom��������

Page 107: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 107 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Minimalpolynombestimmung mit KV-Diagramm

Aufgabe Bestimme für �: 0,1 � → 0,1 ein Minimalpolynom.

Vorgehen1. Eintragen der Funktion ins KV-Diagramm2. Finden aller maximaler Zweierpotenz-Rechtecke3. Finden eines Primimplikanten für jedes Rechteck4. Finden einer Überdeckung aller Einsen durch eine minimale

Monomauswahl

jetzt noch ein Beispiel

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

Page 108: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 108 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Eintragen der Funktion ins KV-Diagramm

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

0 = 0000 �

1 = 0001 �

2 = 0010 �

3 = 0011 �

4 = 0100 �

5 = 0101 �

6 = 0110 �

7 = 0111 �

8 = 1000 �

9 = 1001 �

10 = 1010 �

11 = 1011 �

12 = 1100 �

13 = 1101 �

14 = 1110 �

15 = 1111 �

0123456789101112131415

Page 109: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 109 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Eintragen der Funktion ins KV-Diagramm

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

0 = 0000 �

1 = 0001 �

2 = 0010 �

3 = 0011 �

4 = 0100 �

5 = 0101 �

6 = 0110 �

7 = 0111 �

8 = 1000 �

9 = 1001 �

10 = 1010 �

11 = 1011 �

12 = 1100 �

13 = 1101 �

14 = 1110 �

15 = 1111 �

0123456789101112131415

Page 110: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 110 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Eintragen der Funktion ins KV-Diagramm

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

1

1

1

1

1

1 1

1

1

0 = 0000 �

1 = 0001 �

2 = 0010 �

3 = 0011 �

4 = 0100 �

5 = 0101 �

6 = 0110 �

7 = 0111 �

8 = 1000 �

9 = 1001 �

10 = 1010 �

11 = 1011 �

12 = 1100 �

13 = 1101 �

14 = 1110 �

15 = 1111 �

0123456789101112131415

Page 111: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 111 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

0 = 0000 �

1 = 0001 �

2 = 0010 �

3 = 0011 �

4 = 0100 �

5 = 0101 �

6 = 0110 �

7 = 0111 �

8 = 1000 �

9 = 1001 �

10 = 1010 �

11 = 1011 �

12 = 1100 �

13 = 1101 �

14 = 1110 �

15 = 1111 �

6.3 KV-Diagramme

Eintragen der Funktion ins KV-Diagramm

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

1

1

1

1

1

1 1

1

1

0123456789101112131415

Page 112: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 112 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Eintragen der Funktion ins KV-Diagramm

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

1

1

1

1

1

1 1

1

1

0 = 0000 �

1 = 0001 �

2 = 0010 �

3 = 0011 �

4 = 0100 �

5 = 0101 �

6 = 0110 �

7 = 0111 �

8 = 1000 �

9 = 1001 �

10 = 1010 �

11 = 1011 �

12 = 1100 �

13 = 1101 �

14 = 1110 �

15 = 1111 �

0123456789101112131415

Page 113: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 113 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Finden aller maximaler Zweierpotenz-Rechtecke

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

1

1

1

1

1

1 1

1

1

Page 114: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 114 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Finden eines Primimplikanten für jedes Rechteck

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

����������������������������������

Page 115: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 115 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

����������������������������

������

Page 116: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 116 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

����������������������������������erforderlich

Page 117: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 117 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

���������������������������� erforderlich������erforderlich

Page 118: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 118 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

���������������������� erforderlich������ erforderlich������erforderlich

Page 119: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 119 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

���������������� erforderlich������ erforderlich������ erforderlich������erforderlich

Page 120: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 120 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

���� besteWahl������������ erforderlich������ erforderlich������ erforderlich������erforderlich

Page 121: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 121 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Überdeckung aller Einsen durch minimale Monomauswahl

�: 0,1 � → 0,1 mit 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1

���� besteWahl������������ erforderlich������ erforderlich������ erforderlich������erforderlich

also����˅������˅������˅������˅������Minimalpolynom

Page 122: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 122 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Anmerkungen zu KV-Diagramme

KV-Diagramm für 3 Variablen

KV-Diagramm für 6 Variablen

Quelle: Hand Lohninger

Page 123: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 123 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6.3 KV-Diagramme

Fazit KV-Diagramme

Mit KV-Diagrammen effizient beide Schritte zur

Minimalpolynomberechnung durchführbar1. Bestimmung aller Primimplikanten2. Bestimmung einer minimalen Überdeckung für Funktionen

�: 0,1 � → 0,1 für �� 3,4klar Das reicht nicht aus.

Wie bestimmen wir Minimalpolynome für �: 0,1 � → 0,1

für größeres �?

klar Wir suchen einen Algorithmus.

Page 124: Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 · technischeuniversität - 2-dortmund fakultätfür informatik Rechnerstrukturen(Teil1) TU Dortmund Übersicht 1. Organisatorisches

- 124 -technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU Dortmund

6. Optimierung von Schaltnetzen

6. Optimierung von Schaltnetzen

1. Einleitung & Strukturierter Entwurf

2. Algebraische Vereinfachung

3. KV-Diagramme

4. Algorithmus von Quine/McCluskey

5. Unvollständig definierte Funktionen

6. Hazards