Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Ähnliche Dokumente
Schaltwerke Schaltwerk

III. Asynchrone und synchrone Schaltwerke

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

A.1 Schaltfunktionen und Schaltnetze

Teil 1: Digitale Logik

Digitaltechnik II SS 2007

C. Sequentielle Logik

Logik mit Gedächtnis : Sequentielle Logik

7.0 Endliche Zustandsautomaten und Steuerwerke

Grundtypen Flip-Flops

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

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

Vorbereitung zum Versuch

Computertechnik Schaltwerke, Sequentielle Schaltungen Register. Register. Dr. Wolfgang Koch

Teil 1: Digitale Logik

Praktikum Digitaltechnik

Wir benutzen im nachfolgenden Versuch ein PLA zur Implementierung zweier boolscher Funktionen. Dazu einige Vorüberlegungen.

Grundtypen Flip-Flops

13 Programmierbare Speicher- und Logikbausteine

Computertechnik Schaltwerke, Sequentielle Schaltungen. Flip-Flops (FF) Flip-Flops (FF) Dr. Wolfgang Koch

5. Aussagenlogik und Schaltalgebra

Digitaltechnik II SS 2007

Protokoll zu Grundelemente der Digitaltechnik

Flip Flops allgemein - Digitale Signalspeicher

AND OR NOT NAND NOR XNOR XOR A B Y

Das große All-in-All CPLD/FPGA Tutorial

Benutzte Quellen. Benutzte Bezeichnungen. Logik. Logik

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

Hardwarearchitekturen und Rechensysteme

Sequenzielle Schaltungen (1)

Basisinformationstechnologie I

Kombinatorische Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Grundlagen der Informationverarbeitung

KLAUSUR DIGITALTECHNIK SS 00

Formelsammlung. Wahrscheinlichkeit und Information

Praktikum Grundlagen der Elektronik

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

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

Teil II. Schaltfunktionen

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Kapitel 5 Schaltungen mit Delays. Kapitel 5: Schaltungen mit Delays Seite 1 / 68

Schaltungen Jörg Roth 197

Angewandte Physik II: Elektronik

Rechnerstrukturen WS 2012/13

N Bit binäre Zahlen (signed)

Versuch P1-63 Schaltlogik Vorbereitung

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Reguläre Sprachen Endliche Automaten

Grundbegriffe der Informatik

Informatik II. Sequentielle Schaltwerke. sequentielle Schaltwerke. sequentielle Schaltwerke. Rainer Schrader. 14. November 2005

BA-Mannheim, 2. Semester IT Digitaltechnik (Hr. Schillack)

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

Technische Informatik

Lehrbuch Digitaltechnik

1. Praktische Übung zur Vorlesung Technische Informatik I

Grundlagen der Digitaltechnik

9 Multiplexer und Code-Umsetzer

Grundlagen der Informatik

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

Speicherung digitaler Signale

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

D Sequentielle Logik. D Sequentielle Logik. 1 Schaltwerke (2) 1 Schaltwerke. Einordnung in das Schichtenmodell:

Flipflops. asynchron: Q t Q t+t

Lösung 3.1 Schaltalgebra - Schaltnetze (AND, OR, Inverter)

2.5.1 Das Basis-Flipflop

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden?

5. Schaltwerke und Speicherelemente S Q

Digitale Elektronik, Schaltlogik

5. Schaltwerke und Speicherelemente

Endliche Automaten. Endliche Automaten 1 / 108

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

Schaltlogik. Versuch: P Vorbereitung - Physikalisches Anfängerpraktikum 1 Wintersemester 2005/06 Julian Merkert ( )

FPGA. Übersicht der Aktuellen Bausteine. Inhaltsverzeichnis. 1. Einführung 1.1 Was ist ein FGPA?

Technische Informatik. Der VON NEUMANN Computer

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

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

Technische Informatik Basispraktikum Sommersemester 2001

DuE-Tutorien 17 und 18

Anwenderprogrammierbare

Vorlesung Theoretische Informatik

10. Elektrische Logiksysteme mit

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign"

Was ist VHDL? V: very high speed integrated circuit HDL hardware description language. mächtige HW-Beschreibungssprache. Wozu hat man VHDL entwickelt?

Klausur zur Vorlesung

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

Programmierbare Logik mit GAL und CPLD

COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M

Rechnerstrukturen. 2. Grundlagen. Inhalt. Vorlesung Rechnerstrukturen Winter 2002/03. (c) Peter Sturm, Universität Trier 1. Elektronische Schalter

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

Speicherung von Signalen - Flipflops, Zähler, Schieberegister

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

3. Steuerungstechnik Teil I

Eine Logikschaltung zur Addition zweier Zahlen

Kapitel 3: Boolesche Algebra

HANSER. von Prof. Dipl.-Ing. Johannes Borgmeyer. 2., verbesserte Auflage

Thema 2. Digtale Logik und wie der Computer rechnet

Transkript:

Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik Sommer 2014 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 15. Mai 2014 1/50

1 Boolesche Funktionen und Schaltnetze 2 Programmierbare Bausteine Einleitung Einsatz von PLAs 3 Sequenzielle Schaltungen Einleitung Modellierung mit Automaten 4 Synchrone Schaltwerke Einleitung Flip-Flops 2/50

Realisierung von Schaltnetzen Gedanken zur Anwendung 1. Problem 2. boolesche Funktion 3. Schaltnetz-Entwurf 4. Schaltnetz-Realisierung Realisierungen hoch-integrierte Schaltung teuer Lohnt sich nur bei großen Stückzahlen. direkte Umsetzung mit Gattern umständlich 3/50

Realisierung mit Gattern Datenblatt von Texas Instruments (www.ti.com) 4/50

Alternative Realisierung massenhaft produzierte darum preisgünstige nach der Fertigstellung in ihrer Funktion noch beeinflussbare funktional vollständige also universelle Standardbausteine Programmable Logic Array (PLA) Varianten PAL, PROM, FPGA,... (zum Teil eingeschränkte Funktionalität) 5/50

Programmable Logic Array (PLA) Datenblatt von Lattice (www.latticesemi.com) 6/50

PLA Grundbausteine x y t f 1 (x,y) f 2 (x,y) Name Typ f 1 (x,y) f 2 (x,y) Identer 0 y x Addierer 1 x y x Multiplizierer 2 y x y Negat-Multiplizierer 3 y x y klar funktional vollständig 7/50

PLA t 0,0 t 0,1 t 0,2 t 0,3 t 0,4 t 0,5 t 0,6 t 1,0 t 1,1 t 1,2 t 1,3 t 1,4 t 1,5 t 1,6 t 2,0 t 2,1 t 2,2 t 2,3 t 2,4 t 2,5 t 2,6 t 3,0 t 3,1 t 3,2 t 3,3 t 3,4 t 3,5 t 3,6 t 4,0 t 4,1 t 4,2 t 4,3 t 4,4 t 4,5 t 4,6 8/50

PLA für f : {0,1} 3 {0,1} 1 1 1 1 1 1 x 1 t 0,0 t 0,1 t 0,2 t 0,3 t 0,4 t 0,5 x 2 t 1,0 t 1,1 t 1,2 t 1,3 t 1,4 t 1,5 x 3 t 2,0 t 2,1 t 2,2 t 2,3 t 2,4 t 2,5 0 t 3,0 t 3,1 t 3,2 t 3,3 t 3,4 t 3,5 f(x 1,x 2,x 3 ) Wie wählt man die Bausteintypen? 9/50

PLA: Bausteinwahl klar jede Funktion als Polynom darstellbar Erinnerung Polynom = Disjunktion einiger Monome erster Schritt Wie realisieren wir Monome? exemplarisch am Beispiel x 1 x 2 x 4 10/50

PLA: Monomrealisierung Beispiel Monom x 1 x 2 x 4 Erinnerung 1 x Name Typ f r (o,l) f u (o,l) 1 2 x 1 1 x Identer 0 l o 1 = x 1 x 2 3 x 2 Addierer 1 o l o x 1 x 2 Multiplizierer 2 l o l x 3 0 x 3 Negat-Multiplizierer 3 l o l x 1 x 2 x 4 2 x 4 x 1 x 2 x 4 also jedes Monom leicht realisierbar falls Variable fehlt Typ 0 falls x i vorkommt Typ 2 falls x i vorkommt Typ 3 11/50

PLA: Polynomrealisierung gesehen für f : {0,1} n {0,1} k verschiedene Monome m 1, m 2,..., m k in n Zeilen und k Spalten realisierbar Wie können wir f realisieren, z.b. f = m 1 m 2 m 4? m 1 m 2 m 3 m 4 0 1 m 1 1 m1 m2 0 m1 m2 1 m 1 m 2 m 4 Erinnerung Name Typ f r (o,l) f u (o,l) Ist das sinnvoll? Identer 0 l o klar: nicht für f : {0,1} n {0,1} Addierer 1 o l o aber für Multiplizierer 2 l o l f : {0,1} n {0,1} m Negat-Multiplizierer 3 l o l 12/50

PLA: Ein konkretes Beispiel Beispiel f(x 1,x 2,x 3,x 4 ) = x 1 x 2 x 4 x 2 x 3 x 4 x 1 x 3 x 4 x 2 x 3 x 1 3 0 3 0 1 1 1 1 x 2 2 2 0 3 Und-Teil x 3 0 2 2 2 x 4 2 2 2 0 Oder-Teil 0 1 1 1 1 f(x 1,...,x 4 ) 13/50

Fazit zur PLA-Nutzung also Wir können jede Funktion f : {0,1} n {0,1} m, für deren Polynom insgesamt k Implikanten ausreichen, mit einem PLA mit n+m Zeilen und k Spalten realisieren. klar Wir wünschen uns k klein. dafür Minimalpolynome Wie findet man Minimalpolynome für Funktionen f : {0,1} n {0,1} m? 14/50

Minimalpolynome für f : {0,1} n {0,1} m Notation statt f : {0,1} n {0,1} m (f 1,f 2,...,f m ) mit f i : {0,1} n {0,1} für i {1,2,...,m} Definition Ein Minimalpolynom für f : {0,1} n {0,1} m ist (p 1,p 2,...,p m ) mit minimalen Kosten, dabei ist p i Polynom für f i. Bei den Kosten zählen mehrfach vorkommende Monome nur einmal. Also suchen wir Minimalpolynome p i für f i? Nein! Beispiel p 1 (x 1,x 2,x 3 ) = x 1 x 3 x 2 x 3 ist Minimalpolynom p 2 (x 1,x 2,x 3 ) = x 1 x 2 x 2 x 3 ist Minimalpolynom p 1 (x 1,x 2,x 3 ) = x 1 x 2 x 3 x 2 x 3 stellt auch p 1 dar p 2 (x 1,x 2,x 3 ) = x 1 x 2 x 1 x 2 x 3 stellt auch p 2 dar Gesamtkosten (p 1,p 2 ) = (n+m) k = (3+2) 4 Gesamtkosten (p 1,p 2 ) = (n+m) k = (3+2) 3 15/50

Monome für Minimalpolynome für f : {0,1} n {0,1} k Welche Monome übernehmen die Rolle der Primimplikanten? Definition Ein Monom m ist ein multipler Primimplikant von f = (f 1,f 2,...,f k ) mit f i : {0,1} n {0,1}, wenn m Primimplikant von f i ist für eine i I nicht-leere Menge I {1,2,...,k}. Theorem Minimalpolynome für f : {0,1} n {0,1} k enthalten nur multiple Primimplikanten von f. Beweis und Algorithmus zur Berechnung Skript 16/50

Multiple Primimplikanten berechnen Wie finden wir alle ( multiplen ) Primimplikanten? Theorem m PI f i i I: m i PI(f i ): m = i I Beweis und Algorithmus zur Berechnung Skript m i i I 17/50

Minimalpolynomberechnung für f : {0,1} n {0,1} m Algorithmus 1. Für alle f i berechne alle Primimplikanten. 2. Berechne alle multiplen Primimplikanten. (ergeben sich potentiell als paarweise Verknüpfung normaler Primimplikanten) 3. Berechne eine möglichst günstige Überdeckung. also günstigste Darstellung für PLA-Realisierungen mit uns bekannten Mitteln berechenbar allerdings sehr aufwendig 18/50

PLA als ROM Aufgabe Speichere 2 n Wörter der Länge m. w 0 = w 0,0 w 0,1 w 0,2 w 0,m 1 {0,1} m w 1 = w 1,0 w 1,1 w 1,2 w 1,m 1 {0,1} m w 2 = w 2,0 w 2,1 w 2,2 w 2,m 1 {0,1} m.. w 2 n 1 = w 2 n 1,0w 2 n 1,1w 2 n 1,2 w 2 n 1,m 1 {0,1} m Benutze PLA mit n+m Zeilen, 2 n Spalten Beobachtung m 2 n Zellen für m 2 n zu speichernde Bits mindestens erforderlich Adressierung mit jeweils n Bits in n zusätzlichen Zeilen 19/50

x 2 x 1 1 1 1 1 1 1 1 1 3 3 3 3 2 2 2 2 3 3 2 2 3 3 2 2 Beispiel n = 3, m = 6 2 3 = 8 Wörter jeweils 6 Bits x 0 3 2 3 2 3 2 3 2 Beobachtung Und-Teil fest 0 w 0,0 w 1,0 w 2,0 w 3,0 w 4,0 w 5,0 w 6,0 w 7,0 nur von Größe abhängig 0 w 0,1 w 1,1 w 2,1 w 3,1 w 4,1 w 5,1 w 6,1 w 7,1 Anmerkung 0 w 0,2 w 1,2 w 2,2 w 3,2 w 4,2 w 5,2 w 6,2 w 7,2 PLAs mit festem Und-Teil werden 0 w 0,3 w 1,3 w 2,3 w 3,3 w 4,3 w 5,3 w 6,3 w 7,3 als PROM verkauft. 0 w 0,4 w 1,4 w 2,4 w 3,4 w 4,4 w 5,4 w 6,4 w 7,4 0 w 0,5 w 1,5 w 2,5 w 3,5 w 4,5 w 5,5 w 6,5 w 7,5 20/50

Zwischen-Fazit PLAs PLAs sind preiswerte, universelle Bausteine, die beliebige boolesche Funktionen leicht realisierbar machen, Minimalpolynomdarstellungen motivieren, Speicherung von 2 n Wörtern der Länge m in einem (n+m) 2 n -PLA erlauben. Nachteil nur einmal programmierbar Wie kann man PLAs beliebig neu programmierbar machen? 21/50

Software -PLAs x y Typ f 1 (x,y) Typ s t f 1 (x,y) f 2 (x,y) 0 0 0 y x 1 0 1 x y x 2 1 0 y x y f 2 (x,y) 3 1 1 y x y klar vier verschiedene Typen, mit zwei Bits codierbar Idee erweitere PLA-Baustein um zwei zusätzliche Eingaben, die den Baustein-Typ codieren jetzt f 1 und f 2 als Funktionen von (s,t,x,y) darstellen f 1 (s,t,x,y) = y stx f 2 (s,t,x,y) = sx sx(t y) 22/50

Bemerkung zum Einsatz klar für ein n m-pla werden zur Programmierung 2nm Bits gebraucht. Beobachtung Man kann diese 2nm Bits gut in einem PROM speichern. Fazit einfache und günstige Realisierung von booleschen Funktionen besonders geeignet für kleine Stückzahlen besonders geeignet bei nur temporärem Gebrauch 23/50

Sequenzielle Schaltungen x 1 1 klar Das ist kein Schaltnetz. allerdings Es ist eine baubare Schaltung. Was passiert in dieser Schaltung? 24/50

Eine konkrete sequenzielle Schaltung x y 1 1 Was passiert in dieser Schaltung? x y x y 0 0 1 0 1 0 1 0 1 1 1 1 klar und immer so weiter... natürlich in der Realität viel schneller darum heißt die Schaltung Flimmerschaltung 25/50

Bewertung des Effekts klar Unkontrolliertes Flimmern ist sehr unschön. Also Kreise konsequent verbieten? Wozu können Kreise gut sein? Beobachtung Ausgänge werden zu Eingaben... etwas anders Man kann schon Berechnetes noch einmal sehen. Einsicht Das realisiert so etwas wie Speicher. 26/50

Ein zweites Beispiel R S & & schneller P Q langsamer x y x y 0 0 1 0 1 1 1 0 1 1 1 0 R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 0 1 0 1 0 Q t 1 0 1 1 1 Q t Q t Q t Q t 27/50

Ein zweites Beispiel R S & & langsamer P Q schneller x y x y 0 0 1 0 1 1 1 0 1 1 1 0 R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 P t 1 0 1 0 0 1 0 1 1 1 P t P t P t P t 28/50

Bi-stabile NAND-Kippstufe R & P Anmerkung heißt auch Latch S & Q positiv kippt, flimmert nicht negativ Verhalten hängt von Schaltzeiten der beiden Gatter ab genauer beobachtet Verhalten hängt manchmal von Schaltzeiten der beiden Gatter ab 29/50

Analyse der bi-stabilen NAND-Kippstufe 1. Fall oberes NAND-Gatter schneller R R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 0 1 0 1 0 Q t 1 0 1 1 1 Q t Q t Q t Q t S & & P Q P t+2 = RQ t+ = R Q t+ = R S P t+ = R S P t+ = R S R Q t = R S ( R Q t ) = R S R S Q t = R S Q t 30/50

Analyse der bi-stabilen NAND-Kippstufe 2. Fall unteres NAND-Gatter schneller R R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 P t 1 0 1 0 0 1 0 1 1 1 P t P t P t P t S & & P Q P t+2 = RQ t+2 = R Q t+2 = R S P t+ = R S P t+ = R S R Q t+ = R S ( R Q t+ ) = R S R S Q t+ = R S Q t+ = R S S P t = R S S P t = R S P t 31/50

Fazit zum Ausgang P der bi-stabilen NAND-Kippstufe 1. Fall oberes NAND-Gatter schneller P t+2 = R S Q t 2. Fall unteres NAND-Gatter schneller P t+2 = R S P t Beobachtung Wenn P t = Q t, ist das Verhalten an P t stabil, also von den Schaltzeiten der Gatter unabhängig. Was ist mit dem anderen Ausgang? 32/50

Analyse der bi-stabilen NAND-Kippstufe 1. Fall oberes NAND-Gatter schneller R R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 0 1 0 1 0 Q t 1 0 0 1 1 Q t Q t Q t Q t S & & P Q Q t+2 = S P t+2 = S P t+2 = S R Q t+ = S RQ t+ = S RSP t+ = S R ( S P t+ ) = S RS RP t+ = S RP t+ = S RRQ t = S RRQ t = S R Q t 33/50

Analyse der bi-stabilen NAND-Kippstufe 2. Fall unteres NAND-Gatter schneller R R t S t P t+ Q t+ P t+2 Q t+2 0 0 1 1 1 1 0 1 1 P t 1 0 1 0 0 1 0 1 1 1 P t P t P t P t S & & P Q Q t+2 = S P t+ = S P t+ = S RQ t+ = S RQ t+ = S RSP t = S R ( S P t ) = S RS RP t = S R P t 34/50

Fazit der Analyse der bi-stabilen NAND-Kippstufe 1. Fall oberes NAND-Gatter schneller P t+2 = R S Q t Q t+2 = S R Q t 2. Fall unteres NAND-Gatter schneller P t+2 = R S P t Q t+2 = S R P t also Wenn Q t = P t, so ist das Verhalten stabil, von den Schaltzeiten der Gatter unabhängig. also Forderung P t Q t 35/50

Wertetabelle bi-stabile NAND-Kippstufe oberes Gatter schneller unteres Gatter schneller R t S t P t+2 Q t+2 P t+2 Q t+2 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 Q t Q t P t P t Beobachtung Wir müssen nur R = S = 0 ausschließen. R t S t P t+2 Q t+2 0 1 1 0 1 0 0 1 1 1 P t P t (R,S) = (0,1) setzt P = 1 (R,S) = (1,0) setzt P = 0 (R,S) = (1,1) lässt P unverändert Fazit Bi-stabile NAND-Kippstufe realisiert 1-Bit-Speicher! 36/50

Erstes Fazit zu sequenziellen Schaltungen Bi-stabile NAND-Kippstufe realisiert 1-Bit-Speicher. also Kreise in Schaltnetzen manchmal sinnvoll neue Funktionalität Analyse schwierig Wunsch strukturierter Entwurf 37/50

Automaten Wunsch formales Modell eines Automaten Was ist überhaupt ein Automat? Beispiele Getränke-Automat einfache Ampelsteuerung Steuerung einer Waschmaschine Gegenbeispiele Geldspielautomat wegen der Zufalls-Komponente Computer zu komplex Mensch für uns nicht formal beschreibbar 38/50

Automatenmodell Grobbeschreibung verarbeitet eine Eingabe erzeugt eine Ausgabe ist in einem Zustand arbeitet in Takten arbeitet deterministisch (exakt vorhersagbar) jetzt exakte, formale Beschreibung 39/50

Definition Mealy-Automat Definiton 19 Ein Mealy-Automat M = (Q,q 0,Σ,,δ,λ) ist definiert durch: endliche Zustandsmenge Q Startzustand q 0 Q endliches Eingabealphabet Σ endliches Ausgabealphabet Zustandsüberführungsfunktion δ: Q Σ Q Ausgabefunktion λ: Q Σ {ε} In einem Takt mit aktuellem Zustand q und Eingabesymbol w schreibt der Automat λ(q,w), wechselt der Automat in den Zustand δ(q,w). 40/50

Beispiel Mealy-Automat Q = {q 0,q 1,q 2 }, Σ = {0,1}, = {a,b,c} 0/c q 1 0/a q 0 1/b 0/a 1/c 1/b q 2 Eingabe 0 1 0 0 Ausgabe a b a c 41/50

Äquivalenz von Automaten Definition Zwei Mealy-Automaten heißen äquivalent, wenn sie für jede Eingabe w Σ die gleiche Ausgabe a erzeugen. klar Äquivalente Automaten können unterschiedlich groß sein. klar Man wünscht sich möglichst kleine Automaten. Anmerkung Komplexer Problemkreis, umfasst auch effiziente Minimierung von Automaten Näher i.d. Theoretischen Informatik (GTI/TIfAI) Hier: noch ein anderes (ähnliches!) Automaten-Modell 42/50

Definition Moore-Automat Definiton 20 Ein Moore-Automat M = (Q,q 0,Σ,,δ,λ) ist definiert durch: endliche Zustandsmenge Q Startzustand q 0 Q endliches Eingabealphabet Σ endliches Ausgabealphabet Zustandsüberführungsfunktion δ: Q Σ Q Ausgabefunktion λ: Q {ε} In einem Takt mit aktuellem Zustand q und Eingabesymbol w schreibt der Automat λ(δ(q,w)), wechselt der Automat in den Zustand δ(q,w). Unterschied zum Mealy-Automaten: Ausgabe Zustand 43/50

Mealy- und Moore-Automaten Beobachtung Zu jedem Moore-Automaten gibt es einen äquivalenten Mealy-Automaten. denn zu Moore-Automat A = (Q,q 0,Σ,,δ,λ) ist Mealy-Automat A = (Q,q 0,Σ,,δ,λ ) mit λ (q,w) := λ(δ(q,w)) offensichtlich äquivalent Beobachtung Zu jedem Mealy-Automaten gibt es eine äquivalenten Moore-Automaten. denn zu Mealy-Automaten A = (Q,q 0,Σ,,δ,λ) ist Moore-Automat A = (Q,q 0,Σ,,δ,λ ) mit Q := Q ( {ε}), q 0 := (q 0,ε), δ (q,w) = δ ((q,v),w) := (δ(q,w),λ(q,w)), λ(δ(q,w)) = λ ((q,v)) := v offensichtlich äquivalent 44/50

Einfacher Beispiel-Automat Aufgabe einfache Datenglättung Filtere isolierte Bits aus Datenstrom aus. klar Σ := {0,1}, := {0,1} Mealy-Automat 1/0 1/1 0/0 0? 1 1/1 0/0 0/1 übrigens Q := {0,1,?}, q 0 := 0 45/50

Äquivalente Automaten Bit-Filter Mealy-Automat 1/0 1/1 0/0 0? 1 1/1 Moore-Automat 0/0 0 0? 0 1 0/1 0 0 0 0 1 1 0? 1 1 1 1 1 46/50

Automaten & Schaltungen: Synchr. Schaltwerke Erinnerung bi-stabile NAND-Kippstufe R S & P R t S t P t+2 Q t+2 0 1 1 0 1 0 0 1 1 1 P t P t & Q 11/0 10/0 01/1 0 1 10/0 11/1 01/1 Q = {0,1}, q 0 = 0 Σ = {01,10,11} = {0,1} 47/50

Vergleich Automat und NAND-Kippstufe nicht getaktet R S & P R t S t P t+2 Q t+2 0 1 1 0 1 0 0 1 1 1 P t P t & Q 11/0 10/0 getaktet 01/1 0 1 10/0 11/1 01/1 Q = {0,1}, q 0 = 0 Σ = {01,10,11} = {0,1} 48/50

Synchrone Schaltwerke ab jetzt getaktete Schaltwerke also Führe Taktsignal T ein verschiedene technische Möglichkeiten Pegelsteuerung: aktiv, wenn 1 anliegt positive Flankensteuerung: aktiv, wenn Wechsel von 0 nach 1 negative Flankensteuerung: aktiv, wenn Wechsel von 1 nach 0 digital-logische Ebene technisches Detail ignorieren 49/50

RS-Flip-Flop R T & & P R S Q 0 0 Q 0 1 1 1 0 0 1 1 nicht erlaubt S & & Zustandstabelle NAND-Kippstufe R t S t P t+2 Q t+2 0 0 nicht erlaubt 0 1 1 0 1 0 0 1 1 1 Q t Q t Q Wertetabelle NAND x y x y 0 0 1 0 1 1 1 0 1 1 1 0 50/50