Rechnerstrukturen. 3. Elementare Bausteine. Inhalt. Vorlesung Rechnerstrukturen. Latches und Register. Decoder. Multiplexer.

Ähnliche Dokumente
Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

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

Rechnerstrukturen. 3. Elementare Bausteine. Inhalt. Vorlesung Rechnerstrukturen Winter 2002/03. (c) Peter Sturm, Universität Trier 1

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Minimierung nach Quine Mc Cluskey

Integrierte Schaltungen

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Carry Lookahead Adder

Rechnernetze und Organisation

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Informatik I Modul 5: Rechnerarithmetik (2)

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

3.8 Sequentieller Multiplizierer 159

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

Grundlagen der Technischen Informatik

Teil IV. Schaltwerke

Inhaltsverzeichnis. Inhaltsverzeichnis

12. Tutorium Digitaltechnik und Entwurfsverfahren

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Speichern von Zuständen

Tutorium: Einführung in die technische Informatik

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Minimierung nach Quine Mc Cluskey

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Mikroprozessortechnik Grundlagen 1

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

Teil V. Programmierbare Logische Arrays (PLAs)

Grundlagen der Rechnerarchitektur

E Zahlendarstellungen und Rechnerarithmetik

Klausur-Nachbesprechung

3 Verarbeitung und Speicherung elementarer Daten

Kapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

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

Rechnergrundlagen SS Vorlesung

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

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

Rechnerstrukturen WS 2012/13

6. Zahlendarstellungen und Rechnerarithmetik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

Digital Design 4 Schaltwerke

Digital Design 2 Schaltnetze (kombinatorische Logik) Digital Design

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Elektronikerin. Beispielhafte Situation. integriert integriert. Semester. Lernkooperation Betrieb Bemerkungen. ID Ressourcen

E Q 1 Q 0 D 1 D X X X X

Grundlagen der Technischen Informatik

Grundlagen der Informationsverarbeitung:

3 Arithmetische Schaltungen

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b

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

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel


Rechnerstrukturen, Teil 1

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

Computerarithmetik (1)

Computational Engineering I

Rechnerstrukturen WS 2012/13

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

Logische Bausteine. Addierwerke. Grundlagen der Rechnerarchitektur Logik und Arithmetik 48

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

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

Aufbau und Funktionsweise eines Computers - II

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Logik mit Gedächtnis : Sequentielle Logik

N Bit Darstellung von Gleitkommazahlen

Computer Arithmetik. Computer Arithmetik Allgemein

3 Arithmetische Schaltungen

Computerarithmetik (6a)

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

G Zahlendarstellung und Rechnerarithmetik

Inhaltsverzeichnis. Inhaltsverzeichnis 3

IEEE 754 Encoding. Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? Double Precision (Bias=1023)

Teil 1: Digitale Logik

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

5. Aufgabenblatt mit Lösungsvorschlag

2 Darstellung von Zahlen und Zeichen

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach

Darstellung von negativen binären Zahlen

Zahlendarstellungen und Rechnerarithmetik*

Einführung in die Digitaltechnik

Inhalt. Zahlendarstellungen

Der Zahlenformatstandard IEEE 754

Von der Schaltungslogik zur Informationsverarbeitung

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Wertebereiche, Overflow und Underflow

Rechnerstrukturen WS 2012/13

Anmerkungen zu den Aufgabenstellungen, Lösungen und Bewertungen. Beachten Sie also bei Ihrer Lösung unbedingt

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Grundlagen der Technischen Informatik

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

5 Verarbeitungsschaltungen

Technische Grundlagen der Informatik

Transkript:

Rechnerstrukturen 3. Elementare Bausteine Latches und Register Decoder Inhalt Multiplexer Speicher Arithmetische Einheiten Endliche Automaten 3.2 1

Elementare Bausteine Häufig verwendete Grundfunktionen Umwandeln (Decoder) Verteilen (Multiplexer) und Zusammenfassen (Demultiplexer) Speicherung Steuerungen (Endliche Automaten, State Machine) Arithmetisch-logische Funktionen Zählen (Zähler, Counter) Addieren, Subtrahieren,... Vergleichen (Komparator) Shiften, Rotieren Funktionsweise, Realisierungsvarianten, Zeit- und Platzeffizienz Spezifikation Ein- und Ausgänge, Steuerungsanschlüsse Zeitverhalten, elektrische Eigenschaften 3.3 Umwandlung Inverse Funktion häufig auch interessant Decoder Encoder Decoder E n Decoder m A Beispiele 7-Segment 1 aus n Priorität Parität E n Decoder m A Klassische Schaltnetze Minimierung A m Encoder n E 3.4 2

7-Segment-Decoder 3.5 Realisierung: 7-Segment-Decoder Zusätzliche Steuereingänge LT = Lamp Test BI = Blank Input RBI = Ripple Blank Input RBO = Ripple Blank Output 4 \BI 5 \RBI 3 \LT 7 A 1 B 2 C D D 74LS47 \RBO 4 a b c d e f g 13 12 11 10 9 15 14 \LT \RBI D C B A \BI/\RBO a b c d e f g H H L L L L H L L L L L L H H X L L L H H.............. H X H H H H H X X X X X X L H H H H H H H H L L L L L L H H H H H H H L X X X X X H L L L L L L L 3.6 3

1 aus n -Dekoder Maximal 1 aus n Ausgängen aktiv 1 aus 4 1 aus 8 1 aus 16 Kaskadierbarkeit 6 G1 4 5 \G2A \G2B Y0 Y1 Y2 15 14 13 1 A Y3 Y4 Y5 12 11 10 2 B Y6 9 3 C Y7 7 74LS138A G1 \G2A \G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 X X H X X X H H H H H H H H X H X X X X H H H H H H H H L X X X X X H H H H H H H H H L L L L L L H H H H H H H H L L L L H H L H H H H H H H L L L H L H H L H H H H H H L L L H H H H H L H H H H H L L H L L H H H H L H H H H L L H L H H H H H H L H H H L L H H L H H H H H H L H H L L H H H H H H H H H H L 3.7 Primäre Anwendung eines 1 aus n -Decoders A B C 74LS138A Enable Baustein B0 (Tri-State) Enable Baustein B1 (Tri-State) Enable Baustein B7 (Tri-State) 3.8 4

Realisierung: 1 aus n -Decoder 3.9 Kaskadierung A B C D Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 3.11 5

1 aus n -Encoder (Prioritätsdecoder) Umkehrung des 1 aus n -Decoders 8 nach 3 16 nach 4 5 \EI \EO 15 10 I0 \GS 14 11 I1 12 I2 13 I3 1 I4 2 I5 A2 6 3 I6 A1 7 4 I7 A0 9 74LS148 \EI I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 \GS \EO H X X X X X X X X H H H H H L H H H H H H H H H H H H L L X X X X X X X L L L L L H L X X X X X X L H L L H L H L X X X X X L H H L H L L H L X X X X L H H H L H H L H L X X X L H H H H H L L L H L X X L H H H H H H L H L H L X L H H H H H H H H L L H L L H H H H H H H H H H L H 3.14 \EI I0 I1 I2 I3 I4 I5 I6 I7 Prioritätsdecoder 16 nach 4? A3 A2 A1 I8 I9 I10 I11 I12 I13 I14 I15 A0 \EO \GS 3.15 6

Paritätsdecoder Einfaches Prüfsummenverfahren Gerade Parität: n Bits enthalten gerade Anzahl 1 Ungerade Parität: n Bits enthalten ungerade Anzahl 1 Wahrheitstabelle etwas umständlich? Baustein einsetzbar Erzeugung des Paritätsbit Überprüfung des Paritätsbit 8 A Even 5 9 B Odd 6 10 C 11 D 12 E 13 F 1 G 2 H 4 I 74LS280 3.17 Realisierung: Paritätsdecoder 3.18 7

Multiplexer und Demultiplexer Erweiterung des einfachen Wechselschalters auf n Eingänge Demultiplexer: Umkehrung des Multiplexers 11 10 9 11 10 9 7 7 4 D0 A B C \G 3 D1 2 D2 1 D3 Y 5 15 D4 W 6 14 D5 13 D6 12 D7 5 6 \G C Y W B A D0 D1 D2 D3 D4 D5 D6 D7 4 3 2 1 15 14 13 12 74LS151 3.20 4 D0 A B C \G 3 D1 11 10 9 7 Funktionsweise Multiplexer 2 D2 1 D3 15 D4 14 D5 13 D6 Y 5 W 6 C B A \G Y W 12 D7 74LS151 X X X H L H L L L L D0 \D0 L L H L D1 \D1 L H L L D2 \D2 L H H L D3 \D3 H L L L D4 \D4 H L H L D5 \D5 H H L L D6 \D6 H H H L D7 \D7 3.21 8

D0 C B A Realisierung: Multiplexer G Y D1 W D7 3.23 Kaskadierung 3.24 9

Speicherung von Bitvektoren Register Zusammenfassen mehrerer Flip-Flops Manuell über externe Verdrahtung Spezielle Registerbausteine Breites Spektrum Verschiedene Flip-Flops Preset Clear Tri-State-Ausgänge 3.26 \CLR \PRE CLK D0 D1 D2 D3 D4 D5 D6 D7 Beispiel: 8 Bit-Register Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 \CLR \PRE CLK Dx Qx L L X X X L H X X L H L X X H H H L L H H H H 3.27 10

74LS47A: 2 D-Flip-Flop Preset Clear Wieviele Chips sind notwendig? Realisierung: Mit 74LS47A D \PRE CLK \CLR Q \Q Wieviele Ein/Ausgänge? 1 \CLR1 Q1 5 4 \PRE1 \Q1 6 3 CLK1 2 D1 13 \CLR2 Q2 9 10 \PRE2 \Q2 8 11 CLK2 12 D2 74LS47A 3.28 Realisierung: 8 Bit-Register? 3.29 11

Adressierung einzelner Speicherzellen Speicherbaustein Kapazität (Anzahl Zellen, 2 n ) Größe des Datenvektors pro Adresse (k Bit) Einfache Speicher \CS \RD \WR Tri-State-Ausgänge A0 D0 Häufig kombinierte Leitung R/W High = Lesen Low = Schreiben Zwei Grundtypen RAM: Lesen und Schreiben ROM: Nur Lesen An Speicher Dk 3.31 Realisierung: 16 mal 4 Bit RAM? 3.32 12

Shift Bitvektor um k Bit nach links oder rechts schiften k Bit fallen raus k Bit kommen hinzu Rotieren Bitvektor um k Bit nach links oder rechts zyklisch shiften Shiften und Rotieren 1 0 1 1 0 1 0 0 Shift rechts um 1 1 0 1 1 0 1 0 0 Betrachtung von Shift reicht? 0 1 1 0 1 0 0 Shift rechts um 1 0 0 1 1 0 1 0 3.37 4 Zustände Wert speichern Wert laden Shift links um 1 Shift rechts um 1 Beispiel: Shift-Register \CS \C0 \C1 SI SO Tri-State-Ausgang D0 Q0 Dk Qk \CS \C0 \C1 Dx Qx SO L X X Ω Ω Ω H L L X Qx X Hold H L H Dx Dx X Load H H L X Qx+1 Q0 Shift right, Qk=SI H H H X Qx-1 Qk Shift left, Q0=SI 3.38 13

Realisierung: 2 Bit-Shift-Register? 3.39 Barrel-Shifter Jede beliebige Shift-Operation eines k Bit-Vektors in einem Schritt Beispiel k=8 Realisierung: Multiplexer Für jeden Ausgang: 2 k nach 1 \CS S0 S1 S2 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 \CS S0 S1 S2 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 L L L L D7 D6 D5 D4 D3 D2 D1 D0 L L L H D6 D5 D4 D3 D2 D1 D0 D7 L L H L D5 D4 D3 D2 D1 D0 D7 D6 L L H H D4 D3 D2 D1 D0 D7 D6 D5 L H L L D3 D2 D1 D0 D7 D6 D5 D4 L H L H D2 D1 D0 D7 D6 D5 D4 D3 L H H L D1 D0 D7 D6 D5 D4 D3 D2 L H H H D0 D7 D6 D5 D4 D3 D2 D1 3.41 14

Bisher Parallel/Parallel Eingabe: Bitvektor Ausgabe: Bitvektor Serielle/Parallele Shift-Register Umwandlung Seriell-Parallel Seriell nach Parallel Eingabe: 1 Bit Ausgabe: Bitvektor Parallel nach Seriell Eingabe: Bitvektor Ausgabe: 1 Bit 3.42 8 Bit-Seriell In/Parallel Out-Shift-Register? Welche Ein- und Ausgänge sind notwendig? Realisierung? 3.43 15

Logische und arithmetische Operationen Bitvektor Logische Operationen bitweise Gleichheit Bitvektor wird als Dualzahl aufgefaßt Ganze Zahl ohne Nachkomma, Festkommazahl Addition, Subtraktion, Multiplikation, Division Gleichheit Größer, Kleiner Bitvektor ist BCD-kodierte Dezimalzahl Addition, Subtraktion, Multiplikation, Division Gleichheit Größer, Kleiner Bitvektor ist IEEE 754-kodierte Gleitkommazahl 3.47 Exkurs: Binäre Zahlensysteme Hier nur ganze Zahlen oder Festkommazahlen Zahlen zur Basis 2 01101111. 2 = 12 3 + 12 2 + 12 0 + 12 1 + 12 2 + 12 3 = 8 + 4 + 1+ 0. 5+ 0. 25+ 0125. = 13875. 10 Feste Anzahl Stellen 8, 16, 32, 64 Bit gängig Führende Nullen Darstellung negativer Zahlen? 3.48 16

2er-Komplement Zahl negativ MSB = 1-1 +0 n 1111 0000 N = 2 N -2 +1-3 1110 1101 0001 0010 +2 Einfache Umwandlung 1) 1er-Komplement 0 1 1 0 2) 1 addieren -4-5 -6 1100 1011 1010 1001 0011 0100 0101 0110 +3 +4 +5-00110101 (-53) -7 +6 1000 0111 11001010 +00000001 11001011-8 +7 3.49 Addition 00101111 +01111101 10101100 3.50 17

A B Halb- und Volladdierer? Carry Halbaddierer A B S Carry Out Volladdierer Carry In S 3.51 Wahrheitstabelle: Halbaddierer A B S CO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Lösung S = A B CO = A B Halb- und Volladdierer Wahrheitstabelle: Volladdierer A B CI S CO 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Lösung S = A B CI CO = A B + A CI + B CI 3.52 18

8 Bit-Ripple-Addierer 3.53 C4 Carry-Select-Addierer 4 Bit-Addierer [7..4] 0 4 Bit-Addierer [7..4] 1 1 0 1 0 1 0 1 0 C4 4 Bit-Addierer [3..0] C0 Carry Out S7 S6 S5 S4 S3 S2 S1 S0 3.55 19

Vorberechnete Summen in Nurlesespeicher Carry In, Carry Out? Zugegeben, für Addition vielleicht etwas übertrieben, aber... Tabellenbasierter Addierer A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 64 Kbyte ROM S0 S1 S2 S3 S4 S5 S6 S7 3.56 Ripple-Addierer Ci+ 1 = AiBi + CiAi + CiBi C0 = 0 Carry-Lookahead-Addierer Laufzeit O(n) Carry-Lookahead Direkte Berechnung eines Carry-Bits Ci+ 1 = f ( A0,, Ai, B0,, Bi) Zweistufiges Schaltnetz Laufzeit O(1) 3.57 20

Carry-Generate und Carry-Propagate Wann entsteht ein Carry? Gi = Ai Bi Wann wird ein Carry weitergegeben? Pi = Ai Bi Addition durch G und P beschreiben Si = Ai Bi Ci = Pi Ci Ci+1 = AiBi + AiCi + BiCi = AB i i + Ci( Ai + Bi) = AB i i + Ci( Ai Bi) = Gi + CiPi 3.58 4 Bit Carry-Lookahead-Addierer 3.59 21

2er-Komplement addieren Erweiterung n Bit-Addierer zu n Bit-Addierer/Subtrahierer? Subtraktion 3.61 N Bit-Addierer/Subtrahierer 3.62 22

Vorzeichenlos Einfach erweiterbar auf vorzeichenbehaftete Multiplikation? Maximale Größe des Resultats? n Bit Multiplikant n Bit Multiplikator Schaltnetz Akkumulation der partiellen Produkte Multiplikation 1001 (9) * 1011 (11) 1001 1001 0000 1001 1100011 3.63 Akkumulation der partiellen Produkte? A3 A2 A1 B3 B2 B1 A0 B0 S 6 S 5 S 4 S3 S2 S1 S0 3.64 23

A3 B3 S6 Akkumulation der partiellen Produkte A3 B1 A3 B2 A2 B2 A2 B3 A1 B3 S5 S4 A3 B3 A3 B0 A2 B1 A1 B2 A0 B3 S3 A2 B2 A2 B0 A1 B1 A0 B2 S2 A1 B1 A1 B0 A0 B1 S1 A0 B0 A0 B0 S0 3.65 Realisierung mit Halb- und Volladdierern? 3.66 24

Test auf Gleichheit Kleiner Größer Realisierung 4 Bit-Komparator? Komparatoren A0 A1 A2 A3 A=B A<B A>B B0 B1 B2 B3 3.68 Realisierung 4 Bit-Komparator 3.69 25

Arithmetische-logische Einheit (ALU) Zusammenfassung vieler arithmetischer und logischer Operation Beispiel 74LS181 Mode = 1: Logik 16 Funktionen Mode = 0: Arithmetik 32 Funktionen z.t. außergewöhnlich F=AB plus (A+ not B) plus 1 G, P? Auch als Komparator einsetzbar Carry In Mode S0 S1 S2 S3 G P A0 A=B A1 Carry Out A2 A3 B0 F0 B1 F1 B2 F2 B3 F3 74LS181 3.70 2 Bit-ALU 3.71 26

BCD = Binary Coded Decimal 0000 0 0001 1... 1001 9 Beispiel Addition Realisierungsvarianten? Explizite Modellierung Binäre Addition und Korrektur? Umwandlung Binär BCD BCD-Arithmetik 0111 (7) + 0110 (6) 1101 2 (13) 0111 (7) + 0110 (6) 1 0011 BCD (1,3) 3.73 Gleitkomma-Arithmetik Getrennte Behandlung von Mantisse und Exponent Mantisse normalisieren Welche Operation wird hier eingesetzt? 3.74 27

Projekt TVMUL: Iterative 8-Bit Multiplikation Sequentielle Berechnung der partiellen Summen Steuerung der Abläufe Steuerwerk Geringer Hardwareaufwand Höherer Zeitbedarf Bausteinvorrat: 1 8-Bit Register 1 8-Bit Schieberegister (parallel Ein- und Ausgabe) 1 16-Bit Schieberegister (parallel Ein- und Ausgabe) 1 8-Bit Addierer 1 Flip-Flop 1 1-Bit Halbaddierer 3.75 Shift Right 1 Load 1 LSB Load 2 [A7..A0] 8 8 Bit Shift (A) [B7..B0] 8 8 Bit (B) 0 8 8 MUX MUX LSB steuert MUX 8 Carry Addierer [7] [6..0] Load 3 Shift Right 2 Load 4 Clear FF HA 7 [M15] [M14..M8] 16 Bit Shift (M) 8 8 [M15..M8] [M7..M0] 3.76 28

Shift Right 1 Load 1 Load 2 [A7..A0] 8 8 Bit Shift (A) [B7..B0] 8 8 Bit (B) 0 8 8 MUX 8 Addierer Carry [7] [6..0] Load 3 Shift Right 2 Load 4 Clear FF HA 7 [M15] [M14..M8] 16 Bit Shift (M) 8 8 [M15..M8] [M7..M0] 3.77 Shift Right 1 Load 1 LSB Load 2 [A7..A0] 8 8 Bit Shift (A) [B7..B0] 8 8 Bit (B) [7] [6..0] 8 Addierer 0 Carry [7] [6..0] MUX MUX Load 3 FF [M15] HA 7 [M14..M8] Shift Right 2 Load 4 Clear FF 7 15 Bit Shift (M) 8 Shift Right 2 Load 4 Clear [M15] [M14..M8] [M7..M0] 3.78 29

TVMUL: Steuerwerk Übergeordnete Steuerung Start (Eingang) Argumente A und B liegen an Multiplikation beginnen Ready (Ausgang) Resultat M verfügbar CLK (Eingang) Grundtakt Taktversorgung Eigener Takt (intern) Ein Grundtakt Kleinster betrachteter Schritt Kürzere Schritte nicht nutzbar Mehrere Grundtakte Komplizierte Versorgung CLK Start Ready Shift Right 1 Load 1 LSB Load 2 MUX Load 3 Shift Right 2 Clear Load 4 Beschreibungs- und Realisierungstechniken? 3.79 Endliche Automaten Zustandsautomaten FSM = ( Θ, σ, f, E, A) 0 f: Θ E Θ A ( σ, a) = f ( σ, e) Endliche Zustandsmenge Θ Ausgezeichneter Anfangszustand σ 0 Übergangsfunktion f Eingabealphabet E Ausgabealphabet A Zwei Varianten Moore-Automaten Mealy-Automaten 3.80 30

Graph Knoten: Zustände Kanten: Eingaben und Zustandsübergänge Zustandsdiagramme Ausgaben? Beispiel: Aufzugsteuerung Eingaben Ausgaben Zustände Ziel: Komfortsteuerung? 3.81 Aufzugsteuerung 3.82 31

Clock Moore- und Mealy-Automaten Clock e f σ g a e f σ a Moore Mealy FSM = ( Θ, σ 0, f, g, E, A) FSM = ( Θ, σ 0, f, E, A) f: Θ E Θ, σ = f ( σ, e) f: Θ E Θ A g: Θ A, a = g( σ ) ( σ, a) = f ( σ, e) 3.83 Moore-Automaten Synchrone Ausgabe Ausgaben werden nur durch den Zustand bestimmt Ausgaben im Zustandsdiagramm neben den Zuständen Clock e f σ g a e σ a σ 3.84 32

TVMUL: Moore-Zustandsdiagramm? 3.85 Mealy-Automaten Asynchrone Ausgabe Ausgaben werden durch Zustand und Eingaben bestimmt Ausgaben im Zustandsdiagramm neben den Zustandsübergängen Benötigt häufig weniger Zustände als Moore-Automat Warum? Clock e f e/a σ σ a e /a σ 3.87 33

TVMUL: Mealy-Zustandsdiagramm? 3.88 Synchrone Mealy-Automaten Vorteil Weniger Zustände im Vergleich zu Moore-Automaten Nachteil Asynchrone Ausgaben Lösung Taktung der Ausgabe Clock e f σ Register a 3.90 34

Übergangsfunktion Beschreibung durch Wahrheitstabelle Mealy ( a, σ ) = f ( e, σ ) Moore σ = a = f ( e, g ( σ ) σ ) Zustände minimieren Hilfsautomaten Systematisch Flip-Flop-Typ wählen Ansteuerungsfunktionen bestimmen und minimieren 3.91 Minimierung der Zustandsanzahl 3.92 35

TVMUL: Minimierung der WAIT-Zustände? 3.93 TVMUL: Zusammenfassung der Iterationszustände? 3.95 36

Zähler 3.97 First-In First-Out Nicht jede Speicherzelle direkt adressierbar Kapazität = Tiefe FIFO-Speicher Dn Register 0 D0 Synchrone und asynchrone Variante Register 1 Puffer zwischen unterschiedlich schnellen Komponenten Sender kann schreiben, wenn Puffer nicht voll Empfänger kann lesen, wenn Puffer nicht leer Register 2 Register k Dn D0 3.98 37