Informatik II. - A - Vorlesung an der Universität Bonn im Sommersemester 2002. A Bausteine von Rechnern. Prof. Dr. Rainer Manthey



Ähnliche Dokumente
A.1 Schaltfunktionen und Schaltnetze

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Q R. reset (R) set (S) unzulässig! Unkontrollierte Rückkopplung von Gatterausgängen auf Gattereingänge führt zu logisch "inkonsistentem" Verhalten!

Grundlagen der Informationverarbeitung

9 Multiplexer und Code-Umsetzer

Einführung in. Logische Schaltungen

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

N Bit binäre Zahlen (signed)

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Eine Logikschaltung zur Addition zweier Zahlen

10. Elektrische Logiksysteme mit

Teil 1: Digitale Logik

Informatik I WS 07/08 Tutorium 24

Grundtypen Flip-Flops

Daten verarbeiten. Binärzahlen

Logik. A.3 Logik und Mengenlehre A.32 A.32. Logik und Mengenlehre. Logik Prof. Dr. Rainer Manthey Informatik I 21

Technische Informatik Basispraktikum Sommersemester 2001

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Schaltungen Jörg Roth 197

, WS2012 Übungsgruppen: Mo.,

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Schaltwerke Schaltwerk

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

zugehöriger Text bei Oberschelp/Vossen:

Lineare Gleichungssysteme

Vorbereitung zum Versuch

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

Elektrische Logigsystem mit Rückführung

Binärdarstellung von Fliesskommazahlen

Grundtypen Flip-Flops

Erfüllbarkeit und Allgemeingültigkeit

Daten, Informationen, Kodierung. Binärkodierung

Praktikum Digitaltechnik

Primzahlen und RSA-Verschlüsselung

Grundlagen der Informatik

5. Aussagenlogik und Schaltalgebra

III. Asynchrone und synchrone Schaltwerke

5 Verarbeitungsschaltungen

Dennis S. Weiß & Christian Niederhöfer. Versuchsprotokoll. (Fortgeschrittenen-Praktikum) zu Versuch 15. Digitalelektronik

Kapitel 3: Boolesche Algebra

Eingebettete Systeme

Protokoll zu Grundelemente der Digitaltechnik

Binär Codierte Dezimalzahlen (BCD-Code)

Musterlösungen zur Linearen Algebra II Blatt 5

Praktikum Grundlagen der Elektronik

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

2. Negative Dualzahlen darstellen

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Angewandte Physik II: Elektronik

Technische Informatik - Eine Einführung

Einteilung der Kippschaltungen (Schaltwerke) (=Flipflops)

Markus Kühne Seite Digitaltechnik

DuE-Tutorien 17 und 18

Übung 1 RS-FFs mit NOR- oder NAND-Gattern

4 Binäres Zahlensystem

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Formelsammlung. Wahrscheinlichkeit und Information

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Flip Flops allgemein - Digitale Signalspeicher

1 Mathematische Grundlagen

Lineare Gleichungssysteme

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Versuch P1-63 Schaltlogik Vorbereitung

Zeichen bei Zahlen entschlüsseln

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

Flipflops. asynchron: Q t Q t+t

Informationsblatt Induktionsbeweis

KLAUSUR DIGITALTECHNIK SS 00

Grundlagen der Informatik

Versuch Nr. 8c Digitale Elektronik I

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Theoretische Informatik SS 04 Übung 1

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Vorkurs Mathematik Übungen zu Polynomgleichungen

2 Darstellung von Zahlen und Zeichen

Ergänzen Sie die Werte für y in dem unten angegebenen Ausschnitt der Schaltbelegungstabelle. Falsche Antworten führen zu Punktabzug.

Grundlagen der Künstlichen Intelligenz

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Data Mining: Einige Grundlagen aus der Stochastik

Eigenschaften von Zählerschaltungen (1) 1 1. Richtung

Teil II. Schaltfunktionen

1 topologisches Sortieren

7 Rechnen mit Polynomen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Übung RA, Kapitel 1.2

Binäre Suchbäume (binary search trees, kurz: bst)

Grundlagen der Theoretischen Informatik, SoSe 2008

Schaltbild E Tec Module Schaltbeispiel (Prüfschaltung)

Aufbau eines Digitalzählers

Von Bits, Bytes und Raid

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Transkript:

Titelfolie Bausteine von Rechnern Informatik II - - Vorlesung an der Universität Bonn im Sommersemester 22 Bausteine von Rechnern Prof. Dr. Rainer Manthey 22 Prof. Dr. Rainer Manthey Informatik II 22 Prof. Dr. Rainer Manthey Informatik II 2 Inhaltsverzeichnis Teil : Bausteine von Rechnern. Schaltfunktionen und Schaltnetze 5.2 Vereinfachung von Schaltnetzen 33.3 Spezielle Schaltnetze 77.4 Schaltwerke 33.5 Realisierung von Gattern durch Halbleiterbausteine 8.6 Rechnerarithmetik 23.7 PLs, Speicher und Chips 26 278 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 4

Schaltfunktionen und Schaltnetze Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware gültiger Grundsatz: Die elementaren Bausteine jedes Rechners besitzen zwei Zustände, darstellbar durch die Binärzahlen und.. Schaltfunktionen und Schaltnetze Wesentliche Grundbausteine dabei: bistabile Speicherelemente binäre Schalter Funktionsweise von Rechnern und Rechnerkomponenten wird daher beschrieben durch Funktionen mit binären Ein- und usgaben. in diesem bschnitt: Einführung der wichtigsten Begriffe und Techniken zum Umgang mit und zur Untersuchung von derartigen Funktionen ("logische Grundlagen der Hardware") Bezeichnungsweise für Menge der Binärzahlen: B = def {,} ('B' von 'Boole', nicht von 'binär') 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 6 Schaltfunktionen Boolesche Funktionen B = {,} n, m B = {,} n Spezialfall: m = Funktionen des Typs f : B n B m heissen Schaltfunktionen. Funktionen des Typs f : B n B heissen Boolesche Funktionen. n-stellige, zweiwertige Eingabe... f... m-stellige, zweiwertige usgabe n-stellige, zweiwertige Eingabe... f einstellige, zweiwertige usgabe f (x,x 2,...,x n ) = (y,y 2,..., y m ) f (x,x 2,...,x n ) = y 22 Prof. Dr. Rainer Manthey Informatik II 7 22 Prof. Dr. Rainer Manthey Informatik II 8

Darstellung von Schaltfunktionen durch Boolesche Funktionen Motivierendes Beispiel: larmanlage Schaltfunktionen mit m > usgängen lassen sich durch m Boolesche Komponentenfunktionen darstellen, die das "Verhalten" jedes einzelnen usgangs separat definieren. n-stellige Eingabe f f 2... f... f m m einstellige usgaben einführendes Beispiel: Entwurf einer einfachen larmanlage für eine Bank binäre Eingabegrössen: Zustände von vier Schaltern Hauptschalter bei der Polizei (H) Spezialschalter am Eingang der Bank (S) - nur durch Spezialschlüssel zu öffnen Vibrationsschalter in der Tresortür (V) - schliesst sich bei Beschädigung Türschalter an der Bank (T) - schliesst beim Öffnen der Eingangstür f (x,x 2,...,x n ) = ( f (x,x 2,...,x n ),..., f m (x,x 2,...,x n ) ) binäre usgabegrösse: larm bei der Polizei () : Es reicht im Prinzip, sich näher mit Booleschen Funktionen zu beschäftigen, wenn man Schaltungen beschreiben und untersuchen will. binäre Kodierung: larm: passiv (), aktiv () Schalter: geöffnet (), geschlossen () 22 Prof. Dr. Rainer Manthey Informatik II 9 22 Prof. Dr. Rainer Manthey Informatik II Funktionstafel für larmfunktion Realisierung durch konkretes Netzwerk von Schaltern H S V T zugehörige Schaltfunktion dargestellt mittels Funktionstafel. Tür geöffnet, ohne S zu schliessen 2. Tresortür beschädigt 3.. und 2. gleichzeitig H: Hauptschalter S: Spezialschalter V: Vibrationsschalter T: Türschalter : larm 4. S geschlossen, Tür zu, aber Tresor beschädigt 5. S geschlossen, Tür offen, aber Tresor beschädigt H S V T Vernetzung von vier "physischen" Schaltern, die - nachvollziehbar - dieselbe Funktion realisiert: H T S V Wie kommt man systematisch von der Funktionstafel zu einer solchen offenbar sehr "ökonomischen" Hardwarerealisierung? 22 Prof. Dr. Rainer Manthey Informatik II 22 Prof. Dr. Rainer Manthey Informatik II 2

elementare Schaltkombinationen elementare Schaltfunktionen und Schaltkombinationen Die Schaltfunktion des larmbeispiels lässt sich mit nur drei Kombinationsprinzipien für elementare Schaltelemente realisieren - geht das immer? Die drei Kombinationstechniken realisieren unäre/binäre Schaltfunktionen, die den drei aussagenlogischen Junktoren ND, OR und NOT entsprechen: B B Serienschaltung Parallelschaltung Invertierung (Weiterschalten bei offenem Schalter) 22 Prof. Dr. Rainer Manthey Informatik II 3 Serienschaltung Parallelschaltung Invertierung B B B ND B 22 Prof. Dr. Rainer Manthey Informatik II 4 B OR B NOT Boolesche Grundfunktionen (?) Zweistellige Boolesche Funktionen Die gesamte Schaltung lässt sich also auf die drei Booleschen Funktionen ND, OR und NOT zurückführen und durch einen "logischen usdruck" darstellen: H T S V Geht das immer mit diesen dreien? Es gibt insgesamt 6 verschiedene zweistellige Boolesche Funktionen, die sich am einfachsten mittels einer Funktionstafel definieren lassen. ntivalenz, exklusive Disjunktion (XOR) Disjunktion (OR) ntidisjunktion (NOR) = f (H, T, S, V) = H ND ( V OR (T ND NOT S) ) wesentlich "ökonomischer" in der Darstellung als Funktionstafel! Optimal? Konjunktion (ND) Äquivalenz ntikonjunktion (NND) 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 6

Polynomdarstellung Boolescher Funktionen: Prinzip arithmetische Notation für Boolesche Funktionen Für höhere Stelligkeiten ist die Verwendung von Funktionstafeln zur Definition von Booleschen Funktionen nicht mehr ratsam, da die Tafeln zu gross und redundant in der Darstellung werden. lternativ bietet sich eine sehr ökonomische Polynomdarstellung für Boolesche Funktionen an, wenn man für jede Inputgrösse eine eigene Variable x,..., x n einführt, z.b.: x x 2 x 3 f(x,x 2,x 3 ) f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 pro Zeile mit Funktionswert ein Produktterm Gesamtdarstellung als Summe x x 2 x 3 f(x,x 2,x 3 ) f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 üblich: arithmetische Notation für Boolesche Grössen: ddition (+) Disjunktion (OR) Multiplikation ( ) Konjunktion (ND) Komplement ( ) Negation (NOT) x x 2 x 3 kurz für x x 2 x 3 22 Prof. Dr. Rainer Manthey Informatik II 7 22 Prof. Dr. Rainer Manthey Informatik II 8 Herleitung der arithmetischen Darstellung aus Funktionstafel Begriffe zur Termdarstellung Boolescher Funktionen x x 2 x 3 f(x,x 2,x 3 ) f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 Nur diejenigen Zeilen der Funktionstafel, in denen die Funktion den Wert ("wahr") besitzt, werden in der Polynomdarstellung berücksichtigt. Jede dieser Zeilen wird durch einen Produktausdruck dargestellt, der einer logischen Konjunktion entspricht: f ist wahr, wenn x falsch und x 2 wahr und x 3 wahr ist. Die verschiedenen lternativen, f wahr zu machen, werden durch ddition, d.h. logische Disjunktion, ausgedrückt. gegeben: x,x 2,...,x n n Boolesche Variablen x i bzw. x i : Literale Produkt von Literalen: Monom ( z.b.: x x 2 x 5 ) Summe von Monomen: Polynom ( z.b.: x x 2 + x 5 ) vollständiges Monom (Minterm): Monom, in dem alle n Variablen vorkommen vollständiges Polynom: alle vorkommenden Monome sind vollständig Minterme definieren (für geg. n) "minimale" Boolesche Funktionen, die sich "minimal" von der -Funktion unterscheiden (d.h., die nur in einer Zeile der Funktionstafel eine aufweisen). 22 Prof. Dr. Rainer Manthey Informatik II 9 22 Prof. Dr. Rainer Manthey Informatik II 2

"Darstellungssatz" für Boolesche Funktionen Mintermdarstellung und disjunktive Normalform Konstruktionsverfahren der Polynomdarstellung im Beispiel lässt sich für jede Boolesche Funktion anwenden: Jede Boolesche Funktion lässt sich durch ein vollständiges Polynom (bis auf Reihenfolge der Monome) eindeutig darstellen. Berücksichtigt man wieder die "logische Interpretation" von Summe und Produkt, dann wird deutlich, dass die Darstellung durch vollständige Polynome der disjunktiven Normalform der ussagenlogik entspricht: f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 x x 2 x 3 f(x,x 2,x 3 ) Minterme (zu -Zeilen) x x 2 x 3 x x 2 x 3 x x 2 x 3 Summenbildung: f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 ( NOT x ND x 2 ND x 3 ) OR ( x ND NOT x 2 ND x 3 ) OR ( x ND x 2 ND x 3 ) Eine analoge Darstellung mittels Maxtermen (Summen von Literalen) und Produkten solcher Summen ist ebenfalls möglich und entspricht der konjunktiven Normalform der Logik. 22 Prof. Dr. Rainer Manthey Informatik II 2 22 Prof. Dr. Rainer Manthey Informatik II 22 Vollständige Systeme Boolescher Funktionen und Äquivalenz Gatter Die universelle Darstellungsmöglichkeit Boolescher Funktionen durch Mintermsummen ("DNF-Darstellung") zeigt, dass die drei Grundfunktionen ND, OR (zweistellig) und NOT (einstellig) ausreichen, um jede andere Funktion auszudrücken. Eine Menge Boolescher Funktionen heisst vollständig, wenn es möglich ist, jede andere Boolesche Funktion durch einen usdruck äquivalent darzustellen, der nur die Elemente dieser Menge verwendet. ( {ND, OR, NOT } bzw. {, +, } ist vollständig.) Zwei Boolesche Funktionen heissen äquivalent, wenn sie für alle Eingaben dasselbe usgabeverhalten zeigen, d.h. dasselbe Ergebnis liefern. Elementare, aber aufwändige Methode des "Äquivalenzbeweises": Funktionstafelvergleich Es gibt noch andere vollständige Systeme als nur {ND, OR, NOT }: z.b.: { ND, NOT }, {OR, NOT}, {NND}, {NOR} Die drei Booleschen Grundfunktionen ND, OR und NOT werden durch entsprechende elektronische Grundbausteine realisiert, die (logische) Gatter genannt werden: ND OR NOT logischer Operator x y x y x x Gattersymbol x y x + y x algebraischer Term 22 Prof. Dr. Rainer Manthey Informatik II 23 22 Prof. Dr. Rainer Manthey Informatik II 24

Negationsdarstellung und andere Gatter Schaltnetze In zusammengesetzten Schaltdiagrammen wird das Negationssymbol meist direkt am negierten Eingang platziert: x y z Werden die usgänge von ND- bzw. OR-Gattern negiert, entstehen kombinierte Gatterdarstellungen, die den Booleschen Funktionen NOR und NND entsprechen: Wegen der Vollständigkeit von (z.b.) {ND, OR, NOT} lässt sich jede "physische" Schaltung, die eine Boolesche Funktion realisiert, durch Verknüpfung von entsprechenden Gattern implementieren. Man nennt Diagramme, die durch Gatterverknüpfung bestehen und zyklenfrei sind, Schaltnetze. x x 2 x 3 f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 NND x y NOR x y Schaltnetz zur Realisierung der Bsp.funktion x y x + y 22 Prof. Dr. Rainer Manthey Informatik II 25 22 Prof. Dr. Rainer Manthey Informatik II 26 Zweistellige Boolesche Funktionen in DNF-Darstellung Boolesche Funktionen in unvollständiger Polynomdarstellung x y f f f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f f f 2 f 3 f 4 f 5 x y f f f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f f f 2 f 3 f 4 f 5 Die DNF-Darstellung kann sehr unterschiedlich "aufwändig" ausfallen: f :? f : x y f 2 : x y f 3 : x y + x y f 4 : x y f 5 : x y + x y f 6 : x y + x y f 7 : x y + x y + x y f 8 : x y f 9 : x y + x y f : x y + x y f : x y + x y + x y f 2 : x y + x y f 3 : x y + x y + x y f 4 : x y + x y + x y f 5 : x y + x y + x y + x y Gibt es "ökonomischere" Darstellungen durch unvollständige Polynome? notwendige Spezialnotation f : f : x y f 2 : x y f 3 : x f 4 : x y f 5 : y f 6 : x y + x y f 7 : x y + x f 8 : x y f 9 : x y + x y f : y f : y + x f 2 : x f 3 : x + y f 4 : x + x y f 5 : Sind diese kürzeren Notationen schon "optimal"? Kann man Äquivalenz auch eleganter beweisen? Bezeichnung: disjunktive Form analog zu 22 Prof. Dr. Rainer Manthey Informatik II 27 22 Prof. Dr. Rainer Manthey Informatik II 28

Gesetze der Booleschen lgebra Resolutionsregel Äquivalenzerhaltende Transformationen von Booleschen usdrücken lassen sich mit Hilfe der Gesetze der Booleschen lgebra durchführen, die ganz analog den Gesetzen der ussagenlogik entsprechen. Eine ganz wichtige Regel zur Vereinfachung von Booleschen usdrücken ist die sogenannte Resolutionsregel: x + = x x + x = x + y = y + x (x + y) + z = x + (y + z) (x + y) z = x z + y z x + = x + x = x x + y = x y x = x Gesetz vom neutralen Element Gesetz vom inversen Element Kommutativgesetz ssoziativgesetz Distributivgesetz bsorptionsgesetz Idempotenzgesetz Gesetz von de Morgan Gesetz von der doppelten Negation Kommen in einer disjunktiven Form zwei Summanden vor, die sich nur in genau einer komplementären Variablen unterscheiden, so können beide Summanden durch ihren gemeinsamen Teil ersetzt werden. einfachste Form von Resolution: x y + x y = x Resolutionsregel herleitbar mittels Distributivgesetz, Gesetz vom inversen Element und Gesetz vom neutralen Element: Ersetzt man konsistent + durch, durch + und durch bzw. durch, erhält man weitere, duale Gesetze. us den ersten fünf Gesetze lassen sich die anderen herleiten. x y + x y = x (y + y) = x = x 22 Prof. Dr. Rainer Manthey Informatik II 29 22 Prof. Dr. Rainer Manthey Informatik II 3 nwendung der Resolutionsregel in Beispielen Die vereinfachten Formen der Polynomdarstellung zweistelliger Funktionen lassen sich überwiegend mittels Resolution herleiten, z.b.: f 3 : x y + x y = x f : x y + x y + x y = x y + x Die dreistellige Beispielfunktion lässt sich ebenfalls durch Resolution vereinfachen: f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 = x x 2 x 3 + x x 3 Durch das Distributivgesetz ist eine weitere Veränderung möglich, aber auch "Vereinfachung"?... = x 3 (x x 2 + x ) 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 32

Vereinfachung von Schaltnetzen Spezielle resolutionsbasierte Vereinfachungsmethoden "Direktes" nwenden der Resolutionsregel und anderer Gesetze der Booleschen lgebra auf Polynomdarstellung erfordert viel Übung und Geschick (für höhere Stelligkeiten: kaum mehr zu leisten!) daher: spezielle Visualisierungs- und Programmierhilfen erforderlich.2 Vereinfachung von Schaltnetzen im Folgenden: zwei mittlerweile "klassische" Methoden zur systematischen Vereinfachung Boolescher Funktionen (beide basierend auf der Resolutionsregel): Verfahren von Karnaugh und Veitch (graphisch, interaktiv, nur für kleine Stelligkeiten) Verfahren von uine und McCluskey (tabellarisch, gut programmierbar, für beliebige Stelligkeit) Beide Verfahren gehen von der DNF-Darstellung aus und reduzieren systematisch die nzahl an Monomen im gesamten Polynom und die nzahl der Literale pro Monom (Resultat jeweils: disjunktive Form). 22 Prof. Dr. Rainer Manthey Informatik II 33 22 Prof. Dr. Rainer Manthey Informatik II 34 KV-Diagramme: Prinzip KV-Diagramme: Prinzip (2) Grundprinzip der Methode von Karnaugh-Veitch: Darstellung der 2 n Zeilen der Funktionstafel einer n-stelligen Booleschen Funktion als Matrix mit 2 n Feldern Markieren der -Zeilen der Funktionstafel durch Einsen in die entsprechenden Felder des KV-Diagramms Nullen werden weggelassen (Übersichtlichkeit) x 2 x x x 2 f(x, x 2 ) KV-Diagramm einfachster Fall: n = 2 x x 2 f(x, x 2 ) x 2 x 22 Prof. Dr. Rainer Manthey Informatik II 35 22 Prof. Dr. Rainer Manthey Informatik II 36

KV-Diagramme: Prinzip (3) KV-Diagramme: Prinzip (4) lternative Markierung der Felder im Diagramm durch entsprechende Terme hilft beim blesen der Polynomdarstellung der Funktion: Idee der "graphikunterstützten" Vereinfachung: Zusammenfassen benachbarter Felder mit Einsen zu Blöcken, die durch einen Term mit geringerer Variablenzahl darstellbar sind x x 2 f(x, x 2 ) x 2 x 2 x 2 x x x x 2 x 2 x 2 x x x Blockbildung entspricht direkt nwendung der Resolutionsregel: f(x, x 2 ) = x x 2 + x x 2 = x 2 (x + x ) = x 2 f(x, x 2 ) = x x 2 + x x 2 22 Prof. Dr. Rainer Manthey Informatik II 37 22 Prof. Dr. Rainer Manthey Informatik II 38 KV-Diagramme: Prinzip (5) KV-Diagramme für n=3 Um die entstehenden Terme zu verkürzen, darf man -Zellen auch durch mehrere Blöcke überdecken: x 2 x x x Für n = 3 müsste man eigentlich dreidimensionale KV-Diagramme verwenden. Das ist allerdings ein recht aufwändiges Unterfangen! x 2 x 2 Die "Berechtigung" dazu liefert das Idempotenzgesetz der Booleschen lgebra ( a + a = a): f(x, x 2 ) = x x 2 + x x 2 + x x 2 = x x 2 + x x 2 + x x 2 + x x 2 = x + x 2 x 3 x x 2 Stattdessen verwendet man ein zweidimensionales bbild dieser dreidimensionalen Struktur, bei der sich zwei Variablen eine Dimension "teilen". 22 Prof. Dr. Rainer Manthey Informatik II 39 22 Prof. Dr. Rainer Manthey Informatik II 4

Beschriftungsreihenfolge: "resolutionskompatibel" Zusammenfassen von Randfeldern x 3 x x 2 Um nach wie vor auf direkt benachbarte Zellen die Resolutionsregel anwenden zu können, weicht man von der "üblichen" Reihenfolge der Beschriftung ab. Damit sind dann aber auch die jeweiligen Randfelder einer Zeile "über Eck" miteinander benachbart und dürfen durch einen Zweierblock überdeckt werden: x 3 x x 2 Die Markierung je zwei direkt benachbarter Zellen unterscheidet sich an genau einer Stelle. f(x, x 2, x 3 ) = x x 2 x 3 + x x 2 x 3 = x 2 x 3 22 Prof. Dr. Rainer Manthey Informatik II 4 22 Prof. Dr. Rainer Manthey Informatik II 42 Randfelder (2) Viererblöcke Um das Zusammenfassen von Randfeldern besser zu verstehen, kann man sich das zweidimensionale Diagramm dreidimensional gekrümmt und an den Rändern "zusammengeklebt" vorstellen: Bildung von Viererblöcken entspricht doppelter Resolution: x 3 x x 2 f(x, x 2, x 3 ) = x 2 (mit abc statt x x 2 x 3 ) (chterblock bei n=3 wie Viererblock bei n=2: Darstellung der -Funktion) 22 Prof. Dr. Rainer Manthey Informatik II 43 22 Prof. Dr. Rainer Manthey Informatik II 44

Blockbildung: Fehlerquellen KV-Diagramme für n = 4 Blöcke, mit denen -Zellen überdeckt werden, müssen stets rechteckig sein aus 2 k Elementen bestehen (k n) um die nalogie zu Resolutionsschritten zu respektieren. Nicht erlaubt sind u.a. folgende "Blöcke": x 3 x x 2 Wirklich interessant und nützlich wird die KV-Methode aber erst für Dimension 4, denn dann ist das Vereinfachen in Polynomnotation bereits sehr problematisch: f(x, x 2, x 3, x 4 ) = x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 Wie weit kann man diesen usdruck mit Resolution vereinfachen? Dagegen sind Blöcke, die nur eine Zelle abdecken, erlaubt und oft auch nicht zu vermeiden (s. oben für die beiden rechten Einsen). Lösung: f(x, x 2, x 3, x 4 ) = x x 3 + x 2 + x 3 x 4 22 Prof. Dr. Rainer Manthey Informatik II 45 22 Prof. Dr. Rainer Manthey Informatik II 46 KV-Diagramme für n = 4 (2) Beispielfunktion im KV-Diagramm Die zweidimensionale Darstellung für vierstellige Funktionen basiert auf derselben Idee wie im Fall n=3: f(x, x 2, x 3, x 4 ) = x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 Minterm mit zugehörigem Feld x x 2 x 3 x 4 Darstellung der "Monsterfunktion" im KV-Diagramm 22 Prof. Dr. Rainer Manthey Informatik II 47 22 Prof. Dr. Rainer Manthey Informatik II 48

Beispielfunktion im KV-Diagramm Randfelderüberdeckung bei n = 4 Überdeckung durch zwei Viererblöcke und einen chterblock ist so leicht zu erkennen: uch in dieser Dimension wieder möglich: Bilden von Blöcken "über Eck", diesmal in zwei Dimensionen (wieder geometrisch: "Torus") x 3 x 4 x x 2 x 3 x 4 x 2 x x 2 x 3 x 4 zugehörige Funktion: x x 3 f(x, x 2, x 3, x 4 ) = x 2 x 4 f(x, x 2, x 3, x 4 ) = x x 3 + x 2 + x 3 x 4 22 Prof. Dr. Rainer Manthey Informatik II 49 22 Prof. Dr. Rainer Manthey Informatik II 5 Designüberlegungen bei KV-Blöcken KV-Diagramme für Dimensionen > 4? Es ist nicht immer vorteilhaft, den grössten Block zu verwenden: Dasselbe Prinzip lässt sich zwar für n > 4 analog fortsetzen, beginnt dann aber aufgrund der grossen Felderzahl schnell "unhandlich" zu werden und wird in der Praxis meist nicht mehr verwendet: x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x x 4 5 Monom mit 2 Literalen 4 Monome mit 4 Literalen 4 Monome mit 3 Literalen besser! KV-Diagramm für n = 5 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 52

KV-Diagramme für n=2, 3, 4 Wanted! KV-Diagramme für n = 2,3,4: x 2 x 3 x x x 2. Funktionstafel in Matrixform überführen 2. Überdeckung aller Einsen durch Blöcke der Grösse, 2, 4,..., 2 n 3. blesen der zugehörigen Polynomdarstellung x x 2 x 3 x 4 Wer waren (sind?) Karnaugh und Veitch? Maurice Karnaugh: amer. Elektroingenieur, der nfang der 95er Jahre bei den Bell Labs die Vereinfachungsmethode entwickelt hat (geb. 924, ab 97 bei IBM) Maurice Karnaugh: "The Map Method for Synthesis of Combinational Logic Circuits', Transactions of the IEE, Vol. 72, No. 9 (953), 593-599 Edward W. Veitch: amer. Mathematiker, der ungefähr gleichzeitig eine ganz ähnliche Methode mit etwas anderer graphischer Darstellung erfand. E. W. Veitch: " chart method for simplifying truth functions" Mai 952, Proc. ssoc. for Computing Machinery, Pittsburgh Vielen Dank an alle "Internetdetektive", die nach ntworten gesucht haben! 22 Prof. Dr. Rainer Manthey Informatik II 53 22 Prof. Dr. Rainer Manthey Informatik II 54 KV-Diagramme für Dimensionen > 4? uine-mccluskey-verfahren KV-Diagramme für n > 4: praktisch nicht mehr handhabbar x x 2 x 3 x x 4 5 für höhere Stelligkeiten: Rückkehr zu einem Verfahren, das die Polynomdarstellung ("textuell") in einer geeigneten Kodierung verwendet Verfahren von uine und McCluskey entwickelt von W. uine (952), verbessert von E. McCluskey (956) wiederum Bitte um Internetrecherche-Unterstützung: Nähere biografische Details über & M! Verfahren eignet sich relativ gut als Grundlage für eine algorithmische (d.h. programmierte und automatisierte) Lösung Was tun mit Funktionen der Stelligkeit n = 5, 6, 7,....? zunächst: Diskussion einiger weiterer Grundlagen und Begriffe 22 Prof. Dr. Rainer Manthey Informatik II 55 22 Prof. Dr. Rainer Manthey Informatik II 56

Disjunktive Form und Normalform "Gatterexplosion" bei höheren Stelligkeiten zur Erinnerung: Eine Boolesche Funktion ist in disjunktiver Form dargestellt, wenn f durch eine Summe von Produkten von Literalen ausgedrückt ist. (Literal: Variable oder komplementierte Variable) Realisiert man Boolesche Funktionen in disjunktiver (Normal-)Form ausschliesslich durch die "klassischen" Gatter mit jeweils zwei Eingängen, dann entstehen vielstufige Schaltnetze schon für einfache DNF-Polynome: z.b.: f(x, x 2, x 3, x 4 ) = x x 3 + x 2 + x 3 x 4 Die Darstellung liegt in disjunktiver Normalform vor, wenn alle Produkte vollständige Monome sind (d.h. wenn alle Variablen in jedem der Monome vorkommen) x x 2 x 3 f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 z.b.: f(x, x 2, x 3, x 4 ) = x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 + x x 2 x 3 x 4 22 Prof. Dr. Rainer Manthey Informatik II 57 22 Prof. Dr. Rainer Manthey Informatik II 58 Verallgemeinerte Gatter und zweistufige Schaltnetze Was heisst "Vereinfachen"? Konsequenz: Zulassen von verallgemeinerten ND- und OR-Gattern mit mehr als zwei Eingängen Disjunktive Formen führen immer zu zweistufigen Schaltnetzrealisierungen. Vereinfachungsproblem für Boolesche Funktionen: Man bestimme für eine Boolesche Funktion f: B n B, die durch eine Funktionstafel oder ein vollständiges (DNF-) Polynom gegeben ist, eine sie darstellende disjunktive Form mit minimalen Kosten. x x 2 x 3 f(x,x 2,x 3 ) = x x 2 x 3 + x x 2 x 3 + x x 2 x 3 Mit Hilfe der KV-Methode kann man das Vereinfachungsproblem lösen! Was "kostet" ein Polynom? Bezeichnung: Ein Minimalpolynom einer Booleschen Funktion ist ein die Funktion darstellendes Polynom mit minimalen Kosten. (Zu gegebener Funktion lassen sich u.u. verschiedene Minimalpolynome finden.) 22 Prof. Dr. Rainer Manthey Informatik II 59 22 Prof. Dr. Rainer Manthey Informatik II 6

Was "kostet" ein Polynom? nwenden von Polynomen auf Boolesche rgumente sehr einfaches Maß für Kosten eines Booleschen usdrucks: nzahl an (binären) Konjunktionen und Disjunktionen (= nzahl benötigter elementarer Gatter) vernachlässigt u.a. Negationen, Leitungslängen, Überkreuzungen für weitere Begriffsbildung erforderlich: Notation für das nwenden eines Booleschen usdrucks auf ein n-stelliges Boolesches rgument Kosten eines Monoms = nzahl der Konjunktionen (= nzahl der Literale - ) Kosten eines Polynoms = nzahl der Disjunktionen (= nzahl der Monome -) + Summe der Kosten aller Monome z.b.: f(x, x 2, x 3, x 4 ) = x x 3 + x 2 + x 3 x 4 f(,,, ) = + + = + + = Beispiel: f(x, x 2, x 3, x 4 ) = x x 3 + x 2 + x 3 x 4 Gesamtkosten: 5 Konjunktionen Disjunktionen Kurzform: f(x) für X B n 22 Prof. Dr. Rainer Manthey Informatik II 6 22 Prof. Dr. Rainer Manthey Informatik II 62 Implikanten und Primimplikanten Implikanten und Primimplikanten: Beispiel f: B n B Boolesche Funktion Funktion f und drei Monome: Ein wichtiges Kriterium auf der Suche nach Minimalpolynomen: Finde Monome, die zur Darstellung von f beitragen und so wenig wie möglich kosten! Ein Monom M heisst Implikant von f, wenn für alle X B n gilt: M(X) = f (X) = m (x,x 2,x 3 ) = x x 3 m 2 (x,x 2,x 3 ) = x x 2 x 3 m 3 (x,x 2,x 3 ) = x x 2 x 3 X B 3 f(x) m (X) m 2 (X) m 3 (X) M heisst Primimplikant von f, wenn keine Verkürzung von M mehr die Eigenschaft besitzt, Implikant von f zu sein. offensichtlich: x x 3 ist Verkürzung von x x 2 x 3 Idee: Implikanten braucht man, um um Einsen in f zu "überdecken"! m und m 2 sind Implikanten von f m 3 ist kein Implikant von f m ist Primimplikant von f, m 2 nicht 22 Prof. Dr. Rainer Manthey Informatik II 63 22 Prof. Dr. Rainer Manthey Informatik II 64

Idee der uine-mccluskey-methode Suche nach Primimplikanten Prinzipielles Vorgehen bei der Methode von uine und McCluskey: Suche nach Primimplikanten:. Finde alle Primimplikanten der zu vereinfachenden Funktion! (durch systematisches nwenden der Resolutionsregel) 2. Bilde hieraus eine kostengünstigste Überdeckung von f! (durch geschickte uswahl geeigneter Primimplikanten). Gehe (wie bei KV-Diagrammen) aus von der DNF-Darstellung! 2. Kodiere Minterme wieder "zurück" in Binärdarstellung: eindeutig bestimmte Eingangskombination, die den Minterm wahr macht ("einschlägiger Index" des Minterms) Berechtigung dieser Vorgehensweise: Sei f eine Boolesche Funktion und sei M +... + M k ein Minimalpolynom für f. Dann sind alle M i ( i k) Primimplikanten von f. Beweis: siehe Oberschelp/Vossen, S.74 Beispiel: x x 2 x 3 x 4 Minterm einschlägiger Index 22 Prof. Dr. Rainer Manthey Informatik II 65 22 Prof. Dr. Rainer Manthey Informatik II 66 Suche nach Primimplikanten (2) uine-mccluskey: Beispiel 3. Teile - ausgehend von der kodierten DNF-Darstellung - alle Monome ein in Gruppen gleichen Gewichts (d.h. mit gleich viel Einsen) 4. Wende auf alle Mitglieder benachbarter Gruppen auf alle möglichen Weisen die Resolutionsregel an! Ersetze dabei die wegfallenden Stellen der Binärdarstellung durch das Symbol! z.b.: x x 4 Gewicht 2 Minterme der DNF von f einschlägige Indizes x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 Vorbereitung 5. Iteriere Schritte 3 und 4 - jeweils angewandt auf die Resultate der letzten Iteration und die dabei "nicht verbrauchten" Terme! Iteriere solange, bis keine Resolution mehr möglich ist! 3 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 Dann sind alle Primimplikanten gefunden! 22 Prof. Dr. Rainer Manthey Informatik II 67 22 Prof. Dr. Rainer Manthey Informatik II 68

uine-mccluskey: Beispiel (2) uine-mccluskey: Beispiel (3) Gewicht Minterme der DNF von f einschlägige Indizes. Iteration Gewicht Minterme der DNF von f einschlägige Indizes Monome nach einer Iteration 2. Iteration 2 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 2 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 3 x x 2 x 3 x 4 x x 2 x 3 x 4 nicht verbraucht 3 x x 2 x 3 x 4 x x 2 x 3 x 4 22 Prof. Dr. Rainer Manthey Informatik II 69 22 Prof. Dr. Rainer Manthey Informatik II 7 uine-mccluskey: Beispiel (4) uine-mccluskey: Beispiel (5) Gewicht 2 3 Minterme der DNF von f einschlägige Indizes x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 x x 2 x 3 x 4 Monome nach einer Iteration Monome nach zweiter Iteration letzter Schritt: ufstellen einer Überdeckungsmatrix aus Mintermen der DNF-Darstellung und gefundenen Primimplikanten Primimplikant Minterm Wähle möglichst "billige" Primimplikantenmenge aus, mit denen man alle Minterme (d.h. alle Einsen in der Matrix) überdecken kann! keine weitere Iteration möglich! in diesem Bsp.: lle Primimplikanten benötigt! 22 Prof. Dr. Rainer Manthey Informatik II 7 22 Prof. Dr. Rainer Manthey Informatik II 72

uine-mccluskey: Beispiel (5) Primimplikantenauswahl: ein potentiell sehr schwieriges Problem resultierendes Minimalpolynom aus benötigten Primimplikanten direkt ablesbar: x x 3 x 4 x 2 x 4 x x 2 x 3 x 4 x x 2 x 3 f(x, x 2, x 3, x 4 ) = x x 3 x 4 + x 2 x 4 + x x 2 x 3 x 4 + x x 2 x 3 im vorgeführten Beispiel: uswahl einer Minimalüberdeckung der Minterme durch Primimplikanten eindeutig ("keine Wahl!") im allgemeinen Fall: unter Umständen extrem viele lternativen zu vergleichen ufwand für Lösung des Überdeckungsproblems wächst mit steigender Stelligkeit sehr schnell (z.b. exponentiell) Untersuchung des generellen Phänomens derartiger "harter" algorithmischer Probleme in Informatik IV: NP-vollständige Probleme Detaillierte Behandlung des Überdeckungsproblems im Buch von Oberschelp/Vossen in Kapitel 3 (empfohlen zum Selbststudium!) sonstige Kapitelzuordnung Vorlesung Buch:.:.2-.4.2: 2.4 22 Prof. Dr. Rainer Manthey Informatik II 73 22 Prof. Dr. Rainer Manthey Informatik II 74 22 Prof. Dr. Rainer Manthey Informatik II 75 22 Prof. Dr. Rainer Manthey Informatik II 76

Spezielle Schaltnetze Übersicht in diesem bschnitt: Vorstellung einiger wichtiger Bausteine vieler elektronischer Schaltungen, die sich aus mehreren Gattern zusammensetzen ("spezielle Schaltnetze") und häufig benötigte Boolesche Funktionen realisieren zugehöriger Text bei Oberschelp/Vossen: 2. - 2.3.3 Spezielle Schaltnetze Graphiken auf den folgenden Folien stammen weitgehend aus der zum Buch gehörenden Foliensammlung von Prof. Vossen in Münster im WWW (Copyright dieser Folien oder Folienteile bei W. Oberschelp/G.Vossen; zusätzliche Texte auf diesen Folien von R. Manthey) zunächst sowohl zum "Einüben" als auch im Vorgriff auf ddiernetze: Baustein für exklusives Oder (XOR-Funktion) dann: Multiplexer und Demultiplexer, Encoder und Decoder, Halb- und Volladdierer 22 Prof. Dr. Rainer Manthey Informatik II 77 22 Prof. Dr. Rainer Manthey Informatik II 78 XOR () XOR (2) B XOR B B XOR B x x x y =^ x y x y =^ x y alternatives Symbol für XOR-Funktion y y 22 Prof. Dr. Rainer Manthey Informatik II 79 22 Prof. Dr. Rainer Manthey Informatik II 8

XOR (3) Multiplexer mit 2 Steuereingängen ("2-MUX") B XOR B Multiplexer: Wählt einen der vier Dateneingänge x,.., x 3 aus und "schaltet ihn auf den usgang z durch". Steuerung erfolgt durch Setzen eines Steuereingang y oder y 2 (binär kodierter Index des jeweiligen Dateneingangs) x y x =^ x y y 22 Prof. Dr. Rainer Manthey Informatik II 8 z = x y y 2 + x y y 2 + x 2 y y 2 + x 3 y y 2 22 Prof. Dr. Rainer Manthey Informatik II 82 llgemeiner MUX-ufbau 2-MUX: Prinzip 2 d Dateneingänge durchgeschalteter Dateneingang gemäß dem binärem Index an den Steuereingängen "zur Basis 2" d Steuereingänge 22 Prof. Dr. Rainer Manthey Informatik II 83 22 Prof. Dr. Rainer Manthey Informatik II 84

2-MUX: Prinzip (2) 2-MUX: Prinzip (3) 22 Prof. Dr. Rainer Manthey Informatik II 85 22 Prof. Dr. Rainer Manthey Informatik II 86 2-MUX: Prinzip (4) Realisierung eines 2-MUX. Stufe: NOT 2. Stufe: ND 3. Stufe: OR z = x y y 2 + x y y 2 + x 2 y y 2 + x 3 y y 2 22 Prof. Dr. Rainer Manthey Informatik II 87 22 Prof. Dr. Rainer Manthey Informatik II 88

Nachteile der direkten Realisierung Top-Down-Multiplexer-Entwurf für grössere nzahl an Eingangsgrößen: Direkte Realisierung ist nicht empfehlenswert, da die nzahl der Eingangsleitungen ("Fan-In") auf 2. und 3. Stufe zu hoch ist. 2d-Multiplexer realisiert durch Kopplung von 2 d + d-multiplexern lternative: Realisierung eines 2d-Multiplexers durch zweistufige Kopplung von 2 d + Exemplaren eines d-multiplexers Kosten K(n) eines n-mux gemäss dieser alternativen Realisierung (gemessen in nzahl an ND-/OR-Gattern): K() = 3 K(2d) = (2 d + ) K(d) für d > vollständige Induktion K(n) = 3 (2 n - ) zum Vergleich: nzahl binäre Gatter bei direkter Realisierung K'(n) = 2 n (n+) - 22 Prof. Dr. Rainer Manthey Informatik II 89 22 Prof. Dr. Rainer Manthey Informatik II 9 -MUX -MUX (2) x ausgewählt x ausgewählt 22 Prof. Dr. Rainer Manthey Informatik II 9 22 Prof. Dr. Rainer Manthey Informatik II 92

-MUX (3) -MUX (4) x ausgewählt x ausgewählt 22 Prof. Dr. Rainer Manthey Informatik II 93 22 Prof. Dr. Rainer Manthey Informatik II 94 -MUX (5) -MUX (6) x ausgewählt x ausgewählt 22 Prof. Dr. Rainer Manthey Informatik II 95 22 Prof. Dr. Rainer Manthey Informatik II 96

-MUX (7) -MUX (8) x ausgewählt x ausgewählt z = y x + y x 22 Prof. Dr. Rainer Manthey Informatik II 97 22 Prof. Dr. Rainer Manthey Informatik II 98 Systematische Konstruktion eines 2-MUX noch mal zum Vergleich: 2-MUX bei direkter Realisierung K(2) = 3 (2 2 - ) = 9 Kosten, wenn nur binäre Gatter verwendet würden: K'(2) = 2 2 (2 + ) - = z = x y y 2 + x y y 2 + x 2 y y 2 + x 3 y y 2 = y (y 2 x + y 2 x ) + y (y 2 x 2 + y 2 x 3 ) 22 Prof. Dr. Rainer Manthey Informatik II 99 22 Prof. Dr. Rainer Manthey Informatik II

Kostenvergleich: numerisch MUX zur Realisierung Boolescher Funktionen Multiplexer sind "Universalbausteine", mit denen sich beliebige andere Boolesche Funktionen systematisch realisieren lassen; n K(n) = 3 (2 n - ) K'(n) = 2 n (n+) - 2 9 4 45 79 8 765 233 6 9665 494......... z.b.: Minterme m m m 2 m 3 m 4 bei grösseren n: erhebliche Einsparung bei den "Gatterkosten" durch zweistufige MUX-rchitektur m 5 m 6 m 7 22 Prof. Dr. Rainer Manthey Informatik II 22 Prof. Dr. Rainer Manthey Informatik II 2 Realisierung der Funktion Realisierung der Funktion 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 4

Realisierung der Funktion Realisierung der Funktion 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 6 Hardware-Lookup lternative, die auf beliebige f anwendbar ist: -DeMUX Minterme m m Steuereingang Dateneingang m 2 m 3 m 4 m 5 m 6 m 7 De-Multiplexer: Dateneingang d Steuereingänge 2 d usgänge auf die der Dateneingang durchgeschaltet wird die an den Steuereingängen binär adressiert werden 22 Prof. Dr. Rainer Manthey Informatik II 7 22 Prof. Dr. Rainer Manthey Informatik II 8

-DeMUX -DeMUX 22 Prof. Dr. Rainer Manthey Informatik II 9 22 Prof. Dr. Rainer Manthey Informatik II -DeMUX llgemeiner ufbau eines DeMUX 22 Prof. Dr. Rainer Manthey Informatik II 22 Prof. Dr. Rainer Manthey Informatik II 2

2-DeMUX 2 x 4-Decoder wird durch "Setzen" des Dateneingangs zum...... 2 x 4 - Decoder 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 4 2 x 4-Decoder 2 x 4-Decoder binäre : binäre : Binärzahl an den Eingängen wird durch nsteuern des zugehörigen usgangs (dezimaler Index) "dekodiert". 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 6

2 x 4-Decoder 2 x 4-Decoder binäre 2: binäre 3: spielt wichtige Rolle beim Umsetzen von dressen vor Speicherzugriffen 22 Prof. Dr. Rainer Manthey Informatik II 7 22 Prof. Dr. Rainer Manthey Informatik II 8 4 x 2-Encoder 4 x 2-Encoder Index des angesteuerten Eingangs wird binär am usgang kodiert binäre : binäre : 22 Prof. Dr. Rainer Manthey Informatik II 9 22 Prof. Dr. Rainer Manthey Informatik II 2

4 x 2-Encoder 4 x 2-Encoder binäre 2: binäre 3: 22 Prof. Dr. Rainer Manthey Informatik II 2 22 Prof. Dr. Rainer Manthey Informatik II 22 ddiernetze Halbaddierer letztes Thema dieses bschnitts: Schaltnetze zur ddition von Binärzahlen bilden Grundlage aller arithmetischen Operationen auf Rechnern ausführlichere Behandlung des Themas folgt noch im Zusammenhang mit Zahldarstellung und Rechnerarithmetik Schaltnetz für einstellige binäre ddition mit Übertrag: Halbaddierer x y binäre ddition einstellig: XOR ND B Übertrag Resultat ND B XOR B dezimal: 2 Resultat R U Übertrag 22 Prof. Dr. Rainer Manthey Informatik II 23 22 Prof. Dr. Rainer Manthey Informatik II 24

Volladdierer Volladdierer: Funktionsweise y x u Übertrag aus einer vorherigen ddition. Halbaddierer H : x y Ü R Übertrag aus der vorigen Stelle ("carry in") H einstelliger Binäraddierer, der zu einem mehrstelligen ddierer erweiterbar ist: 2. Halbaddierer H 2 : R H 2 U U 2 U R 2 R Volladdierer U = U OR U 2 U = x ND y U 2 = R ND u R = x XOR y R = R 2 R 2 = R XOR u XOR auch hier möglich, da Input (,) nie auftritt! OR-Gatter: R u Ü 2 R 2 R 22 Prof. Dr. Rainer Manthey Informatik II 25 22 Prof. Dr. Rainer Manthey Informatik II 26 ddiernetz für zwei 4-stellige Dualzahlen n-stelliges ddiernetz "(durch)rieseln" "(über)tragen" ufbau von ddiernetzen für höhere Stelligkeiten (hier z.b. 32 Bit) durch Hintereinanderschalten von 4-Bit-Ripple-Carry-ddierern: 4 wie 4, aber nur aus Volladdierern aufgebaut offensichtlicher Nachteil bei grossen n: Zeit für das Durchlaufen ("ripple" der Überträge wird immer grösser 22 Prof. Dr. Rainer Manthey Informatik II 27 22 Prof. Dr. Rainer Manthey Informatik II 28

Carry-Bypass-ddiernetz usweg: separates Schaltnetz für Übertragsbehandlung zur Vermeidung des "Ripple"-Effekts Carry-Bypass-ddierer 22 Prof. Dr. Rainer Manthey Informatik II 29 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 3 22 Prof. Dr. Rainer Manthey Informatik II 32

Schaltwerke Schaltwerke: Übersicht generelles Problem grösserer Schaltnetze: Länge der Laufzeiten wird relevant Notwendigkeit der Zwischenspeicherung von Resultaten Notwendigkeit der Synchronisation verschiedener Teilnetze durch nlegen eines Taktsignals für das Gesamtnetz.4 Schaltwerke daher in diesem Kapitel: Schaltnetze mit Speicherelementen und Taktung Schaltwerke bei Oberschelp/Vossen: 4. (Schaltwerke allg.) und 4.2 (ddierwerke) zunächst aber wichtige Frage, die bei O/V nicht behandelt wird: Ist es möglich, ein Schaltnetz als Speicher zu verwenden? ntwort: ja, mittels spezieller rückgekoppelter Netze Flipflops 22 Prof. Dr. Rainer Manthey Informatik II 33 22 Prof. Dr. Rainer Manthey Informatik II 34 RS-Flipflop Gefährlichkeit von Rückkopplungen: "Flimmerschaltung" Durch ufgabe des bei Schaltnetzen strikt eingehaltenen Prinzips der Zyklenfreiheit lässt sich eine eine elementare Schaltung konstruieren, die in der Lage ist, ein Bit Information zu speichern: RS-Flipflop Unkontrollierte Rückkopplung von Gatterausgängen auf Gattereingänge führt zu logisch "inkonsistentem" Verhalten! S noch konsistent R unzulässig! S R unverändert reset (R) set (S) "Flimmerschaltung"...... inkonsistent: wird nicht stabil! 22 Prof. Dr. Rainer Manthey Informatik II 35 22 Prof. Dr. Rainer Manthey Informatik II 36

RS-Flipflop (2) RS-Flipflop (2) Das besondere bei diesem Konstrukt ist, dass erstmals zwischen dem Zustand vor und nach dem nlegen einer Eingabekonstellation unterschieden werden kann (und muss): Die Rückkopplung der auf das untere NOR-Gatter "bestätigt" den dort "vorgefundenen" Wert : "erhaltende" Eingangsbelegung angelegt S R S R Fall : Im Vorzustand lag am usgang der Wert an. Wegen der Rückkopplung von auf das obere NOR-Gatter liegt am anderen usgang an. Das nlegen von (,) verändert den alten Zustand nicht: Vorzustand = Nachzustand. stabiler Zustand 22 Prof. Dr. Rainer Manthey Informatik II 37 22 Prof. Dr. Rainer Manthey Informatik II 38 RS-Flipflop (3) RS-Flipflop (4) Mit ganz analogen rgumenten sieht man ein, dass der "inverse Zustand" bei nlegen von (,) ebenfalls stabil bleibt: Setzen auf erfolgt durch belegen des Set-Eingangs S mit (bei gleichzeitiger -Belegung am anderen Eingang): S S X R R X Die Schaltung besitzt zwei stabile Zustände, die erhalten bleiben, solange an den Eingängen die Konstellation (,) liegt. bistabiler Speicher Es ist dabei unerheblich, welchen Vorzustand das Flipflop hatte! 22 Prof. Dr. Rainer Manthey Informatik II 39 22 Prof. Dr. Rainer Manthey Informatik II 4

RS-Flipflop (5) RS-Flipflop (6) Ganz analog sorgt das nlegen von an den Reset-Eingang R für das "Zurücksetzen" von auf : S R Stets bleibt das inverse Verhältnis der beiden usgänge zueinander erhalten. X X Nur beim nlegen der "verbotenen Konstellation" (,) wird die "Logik" des Flipflops (inverse usgänge) zerstört: S R X X identisch statt invers 22 Prof. Dr. Rainer Manthey Informatik II 4 22 Prof. Dr. Rainer Manthey Informatik II 42 Flipflops in NND-Technologie JK-Flipflop nstatt mit NOR-Gattern lassen sich Flipflops auch analog aus NND-Gattern konstruieren: Durch Vorschalten einer zusätzlichen ND-Stufe und Einziehen einer weiteren Rückkopplung wird die "verbotene Konstellation" vermieden: S J (S) R K (R) Um dasselbe Schaltverhalten wie im NOR-Fall zu erhalten, müssen die Eingänge aber vor NND-Gattern invertiert werden. Das RS-Flipflop wird zum JK-Flipflop. 22 Prof. Dr. Rainer Manthey Informatik II 43 22 Prof. Dr. Rainer Manthey Informatik II 44

JK-Flipflop (2) JK-Flipflop (2) Wie beim RS-Flipflop wird der Vorzustand bei (,) erhalten: Wie beim RS-Flipflop wird auch die Set-Funktion (und analog die Reset-Funktionalität) nicht beeinträchtigt:. Fall: Flipflop im Vorzustand ungesetzt J (S) J (S) K (R) K (R) "erhaltender" Input der RS- Teilschaltung alt = neu = 22 Prof. Dr. Rainer Manthey Informatik II 45 22 Prof. Dr. Rainer Manthey Informatik II 46 JK-Flipflop (4) JK-Flipflop (5) Zweiter Fall für Eingangskonstellation "Setzen" (,): Bisher "verbotene" Konstellation (,) erhält "sinnvolle" Rolle:. Fall: Flipflop im Vorzustand ungesetzt J (S) J (S) K (R) K (R) "Setzen" am externen Eingang "Erhalten" am internen Eingang (weil schon gesetzt) alt = neu = alt = neu = 22 Prof. Dr. Rainer Manthey Informatik II 47 22 Prof. Dr. Rainer Manthey Informatik II 48

JK-Flipflop (6) JK-Flipflop (7) Zweiter Fall für Eingangskonstellation (,): "Neue Rolle" für Konstellation (,): Invertieren des alten Zustands! J (S) J (S) X X K (R) K (R) X X "Reset" am internen Eingang alt = neu = alt = neu = alt = neu = 22 Prof. Dr. Rainer Manthey Informatik II 49 22 Prof. Dr. Rainer Manthey Informatik II 5 JK-Flipflop (8) JK-Flipflop (9) aber: Sowie bei (J,K) = (,) der Zustandswechsel stattgefunden hat, führt die erneute Rückkopplung zu einem "Flimmereffekt" - die Schaltung wird nicht stabil! Zusammenfassung des Schaltverhaltens eines JK-Flipflops: J K alt neu J K X X (S) (R) X X X X X X........ zugehörige Zustandsübergangsgleichung: erhalten zurücksetzen setzen invertieren neu = J alt + K alt bhilfe: Steuerung des JK-Flipflops durch kurze Taktimpulse (s. übernächste Folie)! Wieder eine Frage für "uellendetektive": Wofür stehen die Buchstaben J und K? 22 Prof. Dr. Rainer Manthey Informatik II 5 22 Prof. Dr. Rainer Manthey Informatik II 52

Getaktetes Flipflop Taktflankensteuerung Will man erreichen, dass verschiedene verbundene Speicherelemente gleichzeitig schalten, muss ein externer Taktgeber angeschlossen werden, der in festen Zeitintervallen ein -Signal aussendet (sonst auf steht). Nur wenn das Taktsignal kommt, schaltet ein getaktetes JK-Flipflop. "Flimmereffekte" bei Input (,) werden dadurch vermieden, dass das Taktsignal kürzer als die Laufzeit der Signale durch das Flipflop ist. Meist wird nur die "aufsteigende Flanke" des Takts zum Schalten genutzt. Takt J (S) taktflankengesteuertes Flipflop t K (R) lternativ kann auch die Laufzeit des rückgekoppelten Signals durch Einbau verzögernder (aber logisch irrelevanter) Inverter verlangsamt werden. 22 Prof. Dr. Rainer Manthey Informatik II 53 22 Prof. Dr. Rainer Manthey Informatik II 54 Bausteinsymbol für JK-Flipflop Schieberegister uch Flipflops werden zur Konstruktion "höherer" Schaltwerke als Elementarbausteine betrachtet, bei denen die interne Realisierung nicht mehr interessiert, und daher oft mit eigenen Symbolen notiert: Flipflops werden meist in mehreren Exemplaren zu eigenen Speicherbausteinen zusammenfasst, sogenannten Registern. besonders wichtig: Register, bei denen die Speicherzellen linear miteinander verkettet sind Schieberegister J Clk Inhalt jeder Speicherzelle kann bei jedem Takt zum rechten bzw. linken direkten Nachbarn weitergeschoben werden: K Linksschieben uffüllen mit Clk = clock, engl.: Uhr, Takteingang 22 Prof. Dr. Rainer Manthey Informatik II 55 22 Prof. Dr. Rainer Manthey Informatik II 56

Schieberegister realisiert durch Flipflops Delay Schieberegister lassen sich durch Hintereinanderschalten von JK-Flipflops realisieren. Getaktete Flipflops lassen sich als Verzögerungsglieder ("Delays") einsetzen: serielle Eingabe J J J J Clk K Clk K Clk K Clk K Takt 4-Bit-Rechtsschieberegister 22 Prof. Dr. Rainer Manthey Informatik II 57 22 Prof. Dr. Rainer Manthey Informatik II 58 4-Bit-Ringzähler Modulo 6-Inkrementierer: rbeitsweise nwendungsbeispiel für Delays: 4-Bit-Ringzähler x 3 x 2 x x R Beispiel für rbeitsweise des Inkrementierers: x 3 x 2 x x R Grundlage: Inkrementierer modulo 6 Input: 4-Bit-Binärzahl d (dezimal - 5) Output: (d+) modulo 6 y 3 y 2 "normaler" Schritt: 4 5 y 3 y 2 Ziel: Erweiterung zu Zähler, der modulo 6 zählt:,,..., 5,,,... y 22 Prof. Dr. Rainer Manthey Informatik II 59 y y 22 Prof. Dr. Rainer Manthey Informatik II 6 y

Modulo 6-Inkrementierer: rbeitsweise (2) 4-Bit-Ringzähler mit Delays Beispiel für rbeitsweise des Inkrementierers: Modulo- Schritt: 5 x 3 x 2 x x R y 3 Zählverhalten erreichbar durch Einbau von vier Delays und y 2 Rückkopplung der usgänge als jeweils neuen Input y y 22 Prof. Dr. Rainer Manthey Informatik II 6 22 Prof. Dr. Rainer Manthey Informatik II 62 ddierwerke: Prinzip 4-Bit-Parallel-ddierwerk (Ripple-Carry-dder mit Delays) weitere zentrale nwendung von Registern und Delays: Schaltwerke zum ddieren ddierwerke Resultate werden bitweise in den kkumulatorzellen abgelegt. zwei Register, die zu Beginn der ddition die Summanden enthalten (kkumulator) (etwa Ripple-Carry- ddierer) Delay zur ufnahme des Gesamtübertrags 22 Prof. Dr. Rainer Manthey Informatik II 63 22 Prof. Dr. Rainer Manthey Informatik II 64

4-Bit-Serien-ddierer 4-Bit-Serien-ddierer (2) lternative: serielles ddieren mit nur einem Volladdierer und zwei getakteten Schieberegistern Beispiel: serielles ddieren von 3 und 5 (binär kodiert) 3 5 Nach 4 Takten enthält der kkumulator die Summe der Eingaben, das Delay U den Übertrag (bei Vorbesetzung mit ). 22 Prof. Dr. Rainer Manthey Informatik II 65 22 Prof. Dr. Rainer Manthey Informatik II 66 4-Bit-Serien-ddierer (3) 4-Bit-Serien-ddierer (4) Beispiel: serielles ddieren von 3 und 5 (binär kodiert) Takt Beispiel: serielles ddieren von 3 und 5 (binär kodiert) Takt 2 usw..... 22 Prof. Dr. Rainer Manthey Informatik II 67 22 Prof. Dr. Rainer Manthey Informatik II 68

4-Bit-Serien-ddierer (5) 4-Bit-von-Neumann-ddierwerk... bis zum Erreichen des Ergebnisses nach Takt 4: binär: = dezimal: 8 = 3 + 5 von Neumann-ddierer: verbindet parallele und serielle ddition miteinander berechnet Summe und Übertrag separat (nur Hs!) 22 Prof. Dr. Rainer Manthey Informatik II 69 22 Prof. Dr. Rainer Manthey Informatik II 7 4-Bit-von-Neumann-ddierwerk (2) 4-Bit-von-Neumann-ddierwerk (3) zunächst zur Vereinfachung: Leitungen für Ein- und uslesen von Summanden bzw. Resultat weggelassen (Taktleitungen fehlen auch) "Status-Delay": gibt an, ob ddierer im Eingabe- oder Rechenmodus ist 22 Prof. Dr. Rainer Manthey Informatik II 7 Beispiel-ddition: 3+. Schritt: Einlesen Status : bereit zum Lesen der Summanden Status : bereit zum Rechnen 22 Prof. Dr. Rainer Manthey Informatik II 72

4-Bit-von-Neumann-ddierwerk (4) 4-Bit-von-Neumann-ddierwerk (5) Übertrag aus Stelle 3 Resultat in Stelle i: in i abgelegt Beispiel-ddition: 3+ 2. Schritt: stellenweise parallele ddition Übertrag in Stelle i: an P i*! weitergeschoben Beispiel-ddition: 3+ 2. Schritt: stellenweise parallele ddition (simultan beim. Takt) Puffer wird von hinten mit aufgefüllt 22 Prof. Dr. Rainer Manthey Informatik II 73 22 Prof. Dr. Rainer Manthey Informatik II 74 4-Bit-von-Neumann-ddierwerk (6) 4-Bit-von-Neumann-ddierwerk (7) kkuinhalt: Zwischenergebnis "endgültiger" Übertrag bleibt durch Rückkopplung erhalten Beispiel-ddition: 3+ Zustand nach dem. dditionsschritt 22 Prof. Dr. Rainer Manthey Informatik II 75 Pufferinhalt: noch zu addierende Überträge Status noch (weil noch Überträge vorhanden sind) Beispiel-ddition: 3+ Zustand nach drei dditionsschritten 22 Prof. Dr. Rainer Manthey Informatik II 76

4-Bit-von-Neumann-ddierwerk (8) Beispiele zur rbeitsweise des von Neumann-ddierwerks Resultat der letzten Teiladdition weitere Beispiele: letzter Übertrag "verschwindet" 3+ immer: max. 5 Schritte +2 Beispiel-ddition: 3+ 5+5 4. dditionsschritt Resultat im kku und in U: = 24 dadurch: Status geht auf (= Ende der Berechnung) 9+ + 22 Prof. Dr. Rainer Manthey Informatik II 77 22 Prof. Dr. Rainer Manthey Informatik II 78 Fan-In-Problem bei Delay-Eingängen () Fan-In-Problem bei Delay-Eingängen (2) weggelassene Eingabeleitungen führen bei kku-delays zu einem "Fan In-Problem": Inputeingang Resultateingang S I + S R dazu erforderlich: Ersetzen der kkudelays (a) durch Delays mit vorgeschalteter "Steuerlogik" gemäss Funktionstafel auf der vorigen Folie (b) Welche Leitung soll geschaltet werden? Einlesephase Lösung: Rückkoppeln der Statusinformation an kkueingänge Rechenphase S I + S R 22 Prof. Dr. Rainer Manthey Informatik II 79 22 Prof. Dr. Rainer Manthey Informatik II 8

Halbleitertechnologie Übersicht Ziel dieses kurzen bschnitts: Einführung in einige grundlegende Konzepte und Zusammenhänge der Elektrotechnik, die erforderlich sind, um die Funktionsweise logischer Gatter zu verstehen wesentliche Begriffe: Halbleiter und Transistor.5 Realisierung von Gattern durch Halbleiterbausteine Problem dieser Thematik: detaillierte Darstellung setzt viele physikalische Grundkenntnisse voraus (die hier nicht vermittelt und nicht bei allen aus der Schule vorausgeseetzt werden können) daher: Darstellungsweise in diesem bschnitt bleibt notwendigerweise oberflächlich und stark vereinfachend für "seriöse" Beschäftigung mit elektrotechnischen Grundlagen der Digitaltechnik: Selbststudium erforderlich! z.b.: W. Schiffmann/R. Schmitz: "Technische Informatik I", Springer-Verlag, 4. ufl. 2 22 Prof. Dr. Rainer Manthey Informatik II 8 22 Prof. Dr. Rainer Manthey Informatik II 82 Transistor Transistorprinzip: "Wasserhahnanalogie" Transistor: Kurzform für "transfer resistor" (dt.: "Übertragungswiderstand") erfunden 947 durch die Physiker John Bardeen, Walter Brattain und William Shockley bei den Bell Labs der Telephongesellschaft T & T (Nobelpreis für die drei Erfinder 956) Transistor als Schalter: "tap analogy" (nach Prof. Bestavros /Univ. Boston) löste bis dahin übliche Röhrentechnologie für elektrische Schaltungen ab Transistoren Röhre engl./amer.: source = uelle sink = bfluss gate = Tor tap = Becken 22 Prof. Dr. Rainer Manthey Informatik II 83 22 Prof. Dr. Rainer Manthey Informatik II 84