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

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

Integrierte Schaltungen

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Vorlesung Rechnerstrukturen Winter 2002/03. 3b. Endliche Automaten. Modellierung und Realisierung von Steuerungen

Logik mit Gedächtnis : Sequentielle Logik

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

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

Schaltwerke Schaltwerk

Theoretische Informatik I

5.2 Endliche Automaten

Einführung in die Informatik

C. Sequentielle Logik

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Digitaltechnik II SS 2007

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

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Vorbereitung zum Versuch

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

DuE-Tutorien 16 und 17

Eine Logikschaltung zur Addition zweier Zahlen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

DIGITALTECHNIK 08 FREQUENZ-ZÄHLER

Es gibt drei unterschiedliche Automaten:

Teil 1: Digitale Logik

das Ausgabealphabet [Fehler im Skript korrigiert (Schiffmann256)] -Z=z 1

Versuch: D1 Gatter und Flipflops

Grundlagen der Digitaltechnik GD. Aufgaben

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

Digital Design 4 Schaltwerke

Praktikum Digitaltechnik

Rekursiv aufzählbare Sprachen

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

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

Digitalelektronik. Philipp Fischer. 9. Dezember 2002

C. Sequentielle Logik

11.1 Kontextsensitive und allgemeine Grammatiken

GTI ÜBUNG 10 FLIPFLOPS UND AUTOMATEN

Angewandte Physik II: Elektronik

6. Aufgabenblatt mit Lösungsvorschlag

Sequenzielle Schaltungen (1)

II. Grundlagen der Programmierung

Formale Sprachen und Automaten

Basisinformationstechnologie I

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen

Grundtypen Flip-Flops

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08

Reguläre Sprachen und endliche Automaten

Grundlagen der Theoretischen Informatik

III. Asynchrone und synchrone Schaltwerke

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

5.4 Endliche Automaten

Technische Informatik (RO)

8. Turingmaschinen und kontextsensitive Sprachen

3 Rechnen und Schaltnetze

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

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

Rechnerorganisation I Zusammenfassung

Grundlagen der Theoretischen Informatik

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat

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

12. Tutorium Digitaltechnik und Entwurfsverfahren

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

Speicherung digitaler Signale

Protokoll zu Grundelemente der Digitaltechnik

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Theoretische Grundlagen der Informatik

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Theoretische Informatik 1

Zahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Versuch P1-63 Schaltlogik Vorbereitung

Flip Flops allgemein - Digitale Signalspeicher

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

7. Schaltwerke und Automaten

Operationen auf endlichen Automaten und Transduktoren

Grundlagen der Theoretischen Informatik

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

7.0 Endliche Zustandsautomaten und Steuerwerke

Grundbegriffe der Informatik

N Bit binäre Zahlen (signed)

Einführung in die Theoretische Informatik

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 2 Sequentielle Logik. Aufgabe 1:

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Systemorientierte Informatik 1

Diplomarbeit. Entwurf eines TI-Coaching Systems. von. Christof Kuhn

6. Basissysteme -NAND -NOR -ANF

Asynchrone Schaltungen

Deterministische endliche Automaten - Wiederholung

AND OR NOT NAND NOR XNOR XOR A B Y

zugehöriger Text bei Oberschelp/Vossen:

Hardwarearchitekturen und Rechensysteme

Arbeitsblatt Logische Verknüpfungen Schaltnetzsynthese

5 Verarbeitungsschaltungen

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

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

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

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

Lösungsvorschläge Blatt Z1

Transkript:

Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik SS 2013 Hinweis: Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 13. Mai 2013

1 Sequenzielle Schaltungen Einleitung (Wiederholung) Modellierung mit Automaten 2 Synchrone Schaltwerke Einleitung Flip-Flops 3 Schaltwerk-Entwurf Einleitung von Neumann-Addierwerk

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

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

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

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!

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

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

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

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).

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

Ä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

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

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

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

Ä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 1 0 0 0 1 1 1 0 0 1? 1 1

Automaten und Schaltungen: Synchrone 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 11/1 01/1 Q = {0,1}, q 0 = 0 Σ = {01,10,11} = {0,1}

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}

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

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

D-Flip-Flop D 1 R Q T T S Q R S Q 0 0 Q 0 1 1 1 0 0 1 1 nicht erlaubt D Q 0 0 1 1 Sinnlos? Verzögerung um 1 Takt Name Delay

JK-Flip-Flop K T J & & R T S Q Q R S Q 0 0 Q 0 1 1 1 0 0 1 1 nicht erlaubt J K R S Q 0 0 0 0 Q 0 1 Q 0 0 1 0 0 Q 1 1 1 Q Q Q positiv alle Eingaben erlaubt, sinnvolle Funktionalität, vielseitig

T-Flip-Flop T J Q Clk Clk K Q J K Q 0 0 Q 0 1 0 1 0 1 1 1 Q T Q 0 Q 1 Q Name Toggle

Flip-Flops Wir haben also hier 4 verschiedene Flip-Flop-Typen Wozu brauchen wir eigentlich Flip-Flops? klar Realisierung von Speicher Was müssen wir für den Einsatz als Speicher wissen? klar gezielte Änderung von Speicherinhalten also Zustandstabellen eigentlich nicht interessant besser Ansteuertabellen etwas präziser Zustandstabelle Ansteuertabelle Ist-Zustand, Eingabe Zustand Soll-Zustand Eingabe Anmerkung Ansteuertabellen können don t care enthalten

Ansteuertabelle D-Flip-Flop Zustandstabelle D Q 0 0 1 1 Ansteuertabelle Q alt Q neu D 0 0 0 0 1 1 1 0 0 1 1 1 Beobachtung Ansteuerung D vom alten Zustand unabhängig

Ansteuertabelle T-Flip-Flop Zustandstabelle T Q 0 Q 1 Q Ansteuertabelle Q alt Q neu T 0 0 0 0 1 1 1 0 1 1 1 0 Beobachtung Kenntnis des alten Zustands erforderlich

Ansteuertabelle RS-Flip-Flop Zustandstabelle R S Q 0 0 Q 0 1 1 1 0 0 1 1 nicht erlaubt Ansteuertabelle Q alt Q neu R S 0 0 0 0 1 0 1 1 0 1 0 1 1 0 Beobachtung wenn Zustand nicht wechselt, gibt es Freiheit in der Ansteuerung

Ansteuertabelle JK-Flip-Flop Zustandstabelle J K Q 0 0 Q 0 1 0 1 0 1 1 1 Q Ansteuertabelle Q alt Q neu J K 0 0 0 0 1 1 1 0 1 1 1 0 Beobachtung immer Freiheit in der Ansteuerung

Unvollständig definierte Ansteuerfunktionen Wir haben für RS-Flip-Flops und JK-Flip-Flops nur partiell definierte Ansteuerfunktionen Ist das ungünstig? Nein! Erinnerung Minimalpolynome für partiell definierte Funktionen Erinnerung Realisierungen können wesentlich einfacher sein Erinnerung Minimalpolynom für partiell definiertes f durch PI für f 1 und Überdeckung von f 0

Huffmann Schaltwerk-Modell ein allgemeines, formales Schaltwerkmodell x 1 x 2. x n Schaltnetz z 1 z 2. z m. w 1 w l Speicher y 1. y k Beobachtung führt Gelerntes über Schaltnetze, Flip-Flops und Automaten sinnvoll zusammen

Huffmann Schaltwerk-Modell etwas detaillierter x 1. x n. w 1. Ausgabe- Schaltnetz z 1... Ansteuer- Schaltnetz y 1. Speicher y k. w l z m

Schaltwerk-Entwurf Wunsch strukturierter Schaltwerk-Entwurf Was können wir überhaupt als Schaltwerk realisieren? klar alles, was als Automat beschrieben werden kann zum Beispiel Getränke-Automat Ampelsteuerung Waschmaschinen-Steuerung... Anmerkung Heuristiken und Erfahrung sind wichtig

Schritte beim Schaltwerk-Entwurf 0. Verstehen der Aufgabe 1. Spezifikation des Verhaltens (z. B. als Mealy-Automat) 2. Wahl der Coderierung von Eingaben, Zuständen, Ausgaben 3. Wertetabelle mit Eingaben, Zustand, Ausgaben, neuem Zustand 4. Wahl der Flip-Flop-Typen 5. Ergänzung der Wertetabelle um die Flip-Flop-Ansteuerung 6. Entwurf passender boolescher Funktionen 7. Entwurf passender Schaltnetze 8. Entwurf vollständiges getaktetes Schaltwerk

Beispiel zum Schaltwerk-Entwurf zur Einführung ein praktisches Beispiel hilfreich besonders gut verstandenes Problem Aufgabe Addition von zwei Betragszahlen Erinnerung wir haben Verfahren Größe Tiefe Schul-Methode 5n 2n Carry-Look-Ahead n 2 2log 2 n jetzt klein und flach mit einem Schaltwerk aber extrem langsam

Entwurf Addierwerk: Schritt 0 Schritt 0 verstehen der Aufgabe Wunsch Summanden bitweise eingeben Summe bitweise erhalten klar geht nur von rechts nach links Was muss man sich merken? klar nur den aktuellen Übertrag also 1 Bit

Entwurf Addierwerk: Schritt 1 Schritt 1 Spezifikation des Verhaltens Entscheidung Beschreibung durch Mealy-Automat Eingabealphabet Σ = {00, 01, 10, 11} Ausgabealphabet = {0, 1} Zustandsmenge Q = {0, 1} 01/1 10/1 00/0 11/0 0 1 00/1 01/0 10/0 11/1

Entwurf Addierwerk: Schritt 2 Schritt 2 Wahl der Codierung: Eingaben, Zuständen, Ausgaben klar im Allgemeinen (fast) jede Freiheit hier kanonische Codierung naheliegend q Q Codierung Codierung von Q 0 0 1 1 w Σ Codierung 00 00 Codierung von Σ 01 01 10 10 11 11 w Codierung Codierung von 0 0 1 1

Entwurf Addierwerk: Schritt 3 Schritt 3 Wertetabelle Eingaben, Zustand, neuer Zustand, Ausgaben naheliegend Eingaben heißen x, y alter Zustand heißt c alt neuer Zustand heißt c neu Ausgabe heißt s c alt x y c neu s 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

Entwurf Addierwerk: Schritt 4 Schritt 4 Wahl der Flip-Flop-Typen Entscheidung JK-Flip-Flops Anmerkung nicht viele überzeugende Gründe weil es besonders viele Freiheiten erlaubt weil der Zustandswechsel nichts nahelegt weil es oft benutzt wird

Enturf Addierwerk: Schritt 5 Schritt 5 Ergänzung der Wertetabelle um Flip-Flop-Ansteuerung c alt x y c neu s J K 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 Ansteuertabelle JK-Flip-Flop Q alt Q neu J K 0 0 0 0 1 1 1 0 1 1 1 0

Entwurf Addierwerk: Schritt 6 Schritt 6 Entwurf passender boolescher Funktionen c alt x y c neu s J K 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 c alt 0 1 x y 00 01 11 10 J(c alt,x,y) = x y K(c alt,x,y) = x y s(c alt,x,y) = c alt x y

Entwurf Addierwerk: Schritt 7 Schritt 7 Entwurf passender Schaltnetze c alt x y = 1 = 1 s J(c alt,x,y) = x y K(c alt,x,y) = x y s(c alt,x,y) = c alt x y & J 1 & K 1

Entwurf Addierwerk: Schritt 8 Schritt 8 Entwurf des vollständigen Schaltwerks x y T = 1 & = 1 s J Q T 1 & K Q 0 1 0 0 1 1 + 0 1 0 1 0 1 1 0 1 0 0 0 1 Beobachung Eingabe (0, 0) im letzten Takt wichtig Initialisierung? Eingabe (0, 0)

Unser Addierwerk: Serien-Addierer Fazit addiert beliebig lange Betragszahlen ist sehr klein und flach ist sehr leicht zu initialisieren ist extrem langsam Warum ist das Schaltwerk so langsam? klar und bekannt wegen der Überträge Müssen Überträge so lange dauern? bekannt im Allgemeinen nicht (siehe Addierer) aber Bei bit-weiser Eingabe schon!

Über unsere Modelle Wir wissen schon Überträge werden nur manchmal lange weitergereicht. Kann man ein Schaltwerk bauen, dass nur manchmal langsam ist? Problem unsere Automaten können das zunächst nicht Beobachtung bei Mealy- und Moore-Automat bestimmt Länge der Eingabe die Anzahl der Rechentakte darum Modifikation des Automatenmodells neu Erlaube leere Eingabe ε und signalisiere Ende der Rechnung durch Rechenende-Zeichen Beobachtung Das ist fundamental neu für uns. Rechenzeit kann von der Eingabe abhängen (nicht nur von der Eingabelänge).

Auf dem Weg zum besseren Addierwerk Wie wollen wir vorgehen? Beobachtung Eingaben müssen sofort ganz zur Verfügung stehen sonst kann man nicht schneller sein also Eingabealphabet Σ = {0,1} 2n Eingabe x n 1 x n 2 x 1 x 0 y n 1 y n 2 y 1 y 0 {0,1} 2n interpretieren als x n 1 x n 2 x 0 + y n 1 y n 2 y 0 bekannte Idee zur Lösung Ersetze x und y durch x und y mit x +y = x +y so lange, bis y = 0 gilt.

Eine gute Idee verallgemeinern Erinnerung Wir kennen das schon vom Halbaddierer... x s HA y c mit x +y = 2c +s = (c0) 2 +s klar Das funktioniert auch für alle n Stellen parallel. y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 HA HA HA HA c 3 s 3 c 2 s 2 c 1 s 1 c 0 s 0 x 3 x 2 x 1 x 0 = s 3 s 2 s 1 s 0 Üy 3 y 2 y 1 y 0 = c 3 c 2 c 1 c 0 0 Fortschritt? in y hinten neue 0 also nach n Takten y = 0

Noch offene Fragen Was ist mit dem Ü? klar potenziell kann in jedem Takt vorne ein Überlauf entstehen Also bis zu n Überläufe speichern? zum Glück nein Wir wissen höchstens 1 Überlauf insgesamt Wann ist die Rechnung fertig? klar Rechnung fertig y = 0 also done d = y 0 y 1 y n 1 = n 1 jetzt unsere Ideen zusammensetzen y i i=0