Grundlegende Schaltungen

download Grundlegende Schaltungen

of 23

Transcript of Grundlegende Schaltungen

TestDafQQ972122107Informatik B, WS 98/99 2-28

2.3 Grundlegende Schaltungen2.3.1 Schaltgatter (2.22) Definition: Eine Schaltung zur Realisierung spezieller (ausgezeichneter) schaltalgebraischer Verknpfungen nennt man Schaltgatter. (auch: digitales Verarbeitungsglied, Gatter)

Gatter

Gattersymbol (DIN 40700)

NICHT-Gatter (Negationsglied) abkrzende Darstellung

1

a

a

ODER-Gatter (Disjunktionsglied)

1

ab

" =1 " : Am Ausgang liegt "1" an, wenn an mindestens einem Eingang "1" anliegt

UND-Gatter (Konjunktionsglied)

&

a b

TestDafQQ972122107Informatik B, WS 98/99 2-29

NOR-Gatter (Peirce-Funktion)

1

ab

NAND-Gatter (Sheffer-Funktion)

&

a|b

XOR-Gatter (Antivalenz)

2k+1

a b

XOR: ( a b = ( a b) (a b ) )a b a b & Cricket Software1 & a b a b

"2k+1":

Am Ausgang liegt "1" an, wenn bei einer ungeraden Zahl von Eingngen "1" anliegt

ODER-Gatter mit n Eingngen

1

a1 a2 ... an

UND-, NOR-, NAND-Gatter mit n Eingngen entsprechend

TestDafQQ972122107Informatik B, WS 98/99 2-30

2.3.2 Schaltnetze (2.23) Definition: Ein Schaltnetz F ist die technische Realisierung einer Abbildung f : IBn IBm

(a144 2 ,K,an ) ,a 1 24 43=:a

a

f(a) = ( f1(a), f2(a), ... , fm (a) )

mit ai :

Werte an den Eingngen von F (i = 1,...,n) ("Eingaben") fj : Schaltfunktionen fj(a) : Werte an den Ausgngen von F (j = 1,...,m) ("Ausgaben")

anschaulich: a1 a a 2 a n F f (a) 1 f2(a) f (a)m

f(a)

Bemerkung: Schaltverhalten "kombinatorisch" (Werte an den Ausgngen nur abhngig von denen an den Eingngen) f : Zusammenfassung von (i.a.) mehreren Schaltfunktionen; (falls m=1: (f, F) ist (Schaltfunktion, Schaltung))

TestDafQQ972122107Informatik B, WS 98/99 2-31

Beispiele: (fr Schaltnetze)

(A) Alle (elementaren) Schaltgatter (B) Halbaddierer (HA) berechnet die Summe zweier Dualziffern a und b Darstellung der Summe in zwei Dualziffern s (Summe modulo 2) und (bertrag) Schalttabelle: a 0 0 1 1 b 0 1 0 1 s 0 1 1 0 0 0 0 1 s (a, b) = a b (a, b) = a b

Aufbau eines HAa b

Symbol fr HA

a b& 2k+1

HA s

s

TestDafQQ972122107Informatik B, WS 98/99 2-32

(C) Volladdierer (VA) berechnet die Summe zweier Dualziffern a und b unter Bercksichtigung eines bertrags (aus voriger Stelle) Darstellung der Summe in zwei Dualziffern s und ' Schalttabelle: a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 s 0 1 1 0 1 0 0 1 ' 0 0 0 1 0 1 1 1 ' = (a b) (a ) (b ) Symbol fr VAa b

s = (a b)

Aufbau eines VA

a b& & & 2k+1

VA1 2k+1

'

s

'

s

TestDafQQ972122107Informatik B, WS 98/99 2-33

Verwendung von Halb-/Volladdierern z.B. in einem Addierer mit durchlaufendem bertrag: Addition zweier n-stelliger Dualzahlen a = (an-1 an-2 ... a1 a0) und b = (bn-1 bn-2 ... b1 b0) zur Summe (n-1 sn-1 sn-2 ... s1 s0)an-1 b n-1 n-2 a2 b 2 1 a 1 b1 0 a b0

0

VA n-1 s n-1

VA 1

VA s1 0

HA s0

Dieser Addierer heit auch Ripple-Carry Adder, da der bertrag von der niedrigst- zur hchstsignifikanten Dualstelle durchlaufen kann. lange Schaltzeit (linear in der Wortlnge) Bemerkung: Fgt man in jede "bertragsleitung" ein Verzgerungselement ein, so erhlt man einen "getakteten Ripple-Carry Adder", in den man die n Bitpaare der Summanden in n aufeinanderfolgenden Takten eingibt. Jede Addition dauert zwar n Takte, aber man kann in jedem Takt eine neue Addition beginnen, d.h. es knnen bis zu n Additionen gleichzeitig jeweils um einen Takt versetzt ausgefhrt werden. Fr k Additionen nur k+n-1 Takte!

TestDafQQ972122107Informatik B, WS 98/99 2-34

Alternativen: Carry-Select Adder Divide-and-Conquer Ansatz: rekursive Anwendung ergibt eine Rechenzeit in O(log n) !

Carry-Look-Ahead Adder Nutze aus, da jedes Bitpaar entweder einen bertrag erzeugt ( (1,1) ), einen bertrag weiterleitet ( (1,0) oder (0,1) ) oder einen bertrag absorbiert ( (0,0) ). logarithmische Zeit durch baumartige Berechnung der Summe

Carry-Save Adder konstante Zeit durch Verwendung einer anderen Zahlendarstellung, der carry-save Zahlendarstellung

TestDafQQ972122107Informatik B, WS 98/99 2-35

2.3.3 Schaltwerke Bei Schaltnetzen: Ausgabe hngt nur von der aktuellen Eingabe ab. Bei Schaltwerken: Ausgabe hngt zustzlich von endlich vielen vorausgegangenen Eingaben ab. Dafr notwendig: "Gedchtnis" in Form sogenannter innerer Zustnde. ( "endliche Automaten", siehe Informatik C) (2.24) Definition: Ein Schaltwerk F ist die technische Realisierung zweier Abbildungen: f : IBn x IBr IBm (a, z) f(a,z) = (f1(a, z), f2(a, z), ..., fm(a, z)) mit a := (a1, a2, ..., an) und z := (z1, z2, ..., zr) und g : IBn x IBr IBr (a, z) g(a,z) = (g1(a, z), g2(a, z), ..., gr(a, z)) mit ai zj fk, gj fk(a, z) : Schaltzustnde an Eingngen von F (Eingaben) : innere Zustnde : Schaltfunktionen (Ausgabe-/bergangsfunktion) : Schaltzustnde an den Ausgngen von F (Ausgaben) gj(a, z) : neue (rckzufhrende) innere Zustnde ( i = 1, ... ,n; j = 1, ... ,r; k = 1, ... ,m)

TestDafQQ972122107Informatik B, WS 98/99 2-36

Grundeinheiten eines Schaltwerks: Schaltnetz Verzgerungsglieder (zur Rckfhrung spezieller, den inneren Zustand darstellender Schaltnetzausgnge; Verzgerung um Zeit ) anschaulich: F

z1 z z r

a1 a a n

Schaltnetz

g1(a,z) g(a,z) gr (a,z) f1(a,z) y = f (a,z) f m (a,z)

Bemerkung: Schaltverhalten "sequentiell" Den Zustand eines Schaltwerkes bezeichnet man als stabil, falls g(a, z) = z (dann: Rckfhrung ohne Verzgerungsglieder mgl.) instabil, falls g(a, z) ? z wird (bei Rckfhrungen) nicht immer eingezeichnet

TestDafQQ972122107Informatik B, WS 98/99 2-37

(2.25) Beispiele: (fr einfache Schaltwerke) a z & f(a,z)

Eingabe a = 1 (stndig): f(a, z) = ... 0 | 1 | 0 | 1 | 0 | 1 | ... ; Zustand des Schaltwerkes instabil Eingabe a = 0 (stndig): f(a, z) = 1 (immer); Zustand des Schaltwerks stabil z a 1 f(a,z)

Falls einmal a = 1 , dann immer f(a, z) = 1, d.h. Schaltung merkt sich: "einmal 1 gewesen"

Schwierigkeit insbesondere bei greren Schaltwerken: Beschreibung und Verfolgung des zeitlichen Signalverlaufs; abhngig von Laufzeit der Signale Wechsel "0" "1", "1" "0" (nicht schlagartig mglich) Wann beobachte man einen Schaltwerkszustand? Ausweg: dem Schaltwerk zeitlichen Rhythmus von auen vorgeben ( synchrone Schaltwerke)

TestDafQQ972122107Informatik B, WS 98/99 2-38

2.3.3.1 Synchrone Schaltwerke Merkmale synchroner, d.h. getakteter Schaltwerke: Es werden nur diskrete Zeitpunkte t mit t INo betrachtet. Solch einen diskreten Zeitpunkt nennt man Taktzeitpunkt, die Zeitspanne Taktzeit. Die Schaltzeit s gibt an, wie lange ein Schaltnetz braucht, um aus einer Eingangsinformation a den Wert f(a) zu bestimmen. Betrgt s hchstens max Zeiteinheiten, so whlt man = max. s braucht dann weiter nicht bercksichtigt zu werden. Zustandsnderungen erfolgen nur whrend der Taktzeiten. Auslsendes Moment fr "Beobachtung" von Zustandsnderungen: Taktsignal oder einfach Takt. Vereinfachend spricht man meist von Taktzeitpunkten t anstatt von t , d.h. von Taktzeitpunkten 0, 1, 2, 3, ..., t, t+1,... anstatt von 0 1 2 3 ..., t (t+1) , , , , , ,...

TestDafQQ972122107Informatik B, WS 98/99 2-39

Es liegt somit folgende Situation vor (t = 0, 1, 2, ... ): einfaches Schema:Takt z(t) a(t) Schaltnetz z(t+1)= g(a(t),z(t))

y(t)= f(a(t),z(t))

Erst beim Takt "erscheint" das neue z(t) = g(a(t-1), z(t-1)) am Ausgang des Verzgerungsgliedes. Der Takt wirkt wie eine "Schleuse", mu also aus zwei verschiedenen (komplementren) Signalen (oder Ereignissen) bestehen, damit das Verzgerungsglied stets nur nach einer Seite geffnet sein kann. Andernfalls wre das Verzgerungsglied "transparent" und der gewnschte Effekt wre nicht erzielbar. Eingaben: Zustnde:

a(t) frei whlbar z(0) abhngig von Entwurf des Schaltnetzes beliebig (d.h. unbekannt) oder fest initialisiert z(t+1) = g(a(t),z(t))

Ausgaben: y(t) = f(a(t),z(t))

TestDafQQ972122107Informatik B, WS 98/99 2-40

2.3.3.2 Schaltwerke zur Speicherung: Flipflops und Register (A) Forderungen an ein Schaltwerk zur Speicherung einer Schaltvariablen (FF1) Speicherung: Schaltwerk mu mindestens zwei stabile Zustnde haben. (FF2) Einschreiben in den Speicher: Schaltwerk mu definierte Einstellung durch Eingangssignale gestatten. (FF3) Auslesen aus dem Speicher: Speicherinhalt mu in negierter oder nichtnegierter Form an den Schaltwerksausgngen zur Verfgung stehen.

Ein Schaltwerk mit den Eigenschaften (FF1), (FF2) und (FF3) wird auch als Flipflop bezeichnet: Flipflop verharrt in stabilem Zustand, bis durch Ansto von auen in anderen stabilen Zustand umgeschaltet wird. ( Flip Flop Flip Flop Flip Flop )

TestDafQQ972122107Informatik B, WS 98/99 2-41

(B) Das asynchrone (also ungetaktete) RS-Flipflop RS: Rcksetzen (reset), Setzen (set) Schaltbild:q* s r 1

Schaltsymbol:s 1 q q r q q

1 innerer Zustand: q* (rckgefhrtes q) Schalttabelle: r 0 0 0 0 1 1 1 1 s 0 0 1 1 0 0 1 1 q* 0 1 0 1 0 1 0 1 q 0 1 1 1 0 0 Zustand stabil stabil instabil stabil stabil instabil unzulssig unzulssig ("0" gespeichert) ("1" gespeichert)

1 ( setzen) 0 ( rcksetzen)

Diese Schalttabelle erfllt (FF1), (FF2), (FF3). s - Eingang: Setzleitung; r - Eingang: Rcksetzleitung Schaltfunktion: q = s q * r = (s q*) r = s r q * r , und damit q = s q *r , da r = s = 1 unzulssig

TestDafQQ972122107Informatik B, WS 98/99 2-42

(C)

Das synchrone RS-Flipflop

bernahme einer Information in den Speicher zu frei bestimmbaren Zeitpunkten Hinzunahme eines Takts t: Einschreiben in den Speicher nur mglich, wenn t = 1 Schaltbilds & q

Schaltsymbol:sq

s r t

q q

r t

&

r

(D) Das synchrone JK-Flipflop hnlich RS-Flipflop; hier aber Eingangskombination j=k=1 erlaubt Schaltbild:q* j & q q k t q*t j k j k q q

Schaltsymbol:

&

Schaltfunktion: q = (j q*) (k q * ) ; j = k = t = 1 q erhlt Wert von q und umgekehrt; (Beweis ber Schalttabelle)

TestDafQQ972122107Informatik B, WS 98/99 2-43

(E)

Das RS-MS-Flipflop

MS: Master Slave Zusammenschalten von 2 synchronen RS-Flipflops mit demselben t VF: Vorspeicher-Flipflop ("Master") HF: Hauptspeicher-Flipflop ("Slave")s VF s r s r HF q q

d

t

t = 1 : Eingnge von HF gesperrt bernahme von d in VF (solange wie t = 1) t = 0 : Eingnge von VF gesperrt HF bernimmt Schaltzustand von VF Einschreiben in den Speicher nur mglich, wenn t = 1; Speicher erst auslesbar, wenn anschlieend t = 0 oft: MS-Flipflops nur mit q-Ausgang Schaltsymbol (fr Flipflops mit dieser Eigenschaft):d s r t q

(d: delay; Verzgerung)

TestDafQQ972122107Informatik B, WS 98/99 2-44

(F) Register Eine geordnete Menge von synchronen Flipflops mit derselben Taktleitung bezeichnet man als Register. Operationen mit einem Register bestehend aus n Flipflops (a) Auf-0-setzen; (b) Auf-1-setzen; (c) Invertieren; einzelner / aller Flipflops " "

Realisierung von (a) - (c) parallel, d.h. gleichzeitiges Ansprechen der entsprechenden Flipflops; Nachteil: Anzahl der Anschlsse (pins) hoch seriell, unter Verwendung von Schiebeoperationen

(d) Schieben (shift); qi := qi-1 (i = 2, ... , n) Rechtsshift zyklischer Rechtsshift

falls zustzlich q1 := qn qi := qi+1

(i = 1, ... , n-1) Linksshift zyklischer Linksshift

falls zustzlich qn := q1

TestDafQQ972122107Informatik B, WS 98/99 2-45

Beispiel 1: Schieberegister Zusammenschalten von n RS-MS-Flipflops zu einem Schieberegister

Schieberichtung:

1 e s r s r

2 s r

3 s r

n q

t

zyklisches Schieberegister, falls " " jedes Flipflop des Registers kann auch einzeln eine q-Leitung nach auen haben ("Schieberegister mit Parallelausgabe") Taktleitung wird hufig nicht eingezeichnet (innerhalb eines Schaltwerks wird meist mit demselben Takt gearbeitet) (Zyklisches) Schieberegister kurz auch in folgender Darstellung:

TestDafQQ972122107Informatik B, WS 98/99 2-46

Beispiel 2: 8-Bit-Speicherregister

d

q0

s r

0

& q1

d

1

s r

& q2

d

2

s r

& q3

d

3

s r

& q4

d

4

s r & q

d

5

s r

5

& q6

d

6

s r

& q7

d

7

s r

&

Eingabebus

Ausgabebus

t

a

Steuersignale

Takt t = 0: Registerinhalt bleibt unberhrt vom Eingabebus t = 1: Register ldt Daten vom Eingabebus "Ausgabesperre" a = 0: Register und Ausgabebus entkoppelt a = 1: Registerinhalt gelangt auf Ausgabebus

TestDafQQ972122107Informatik B, WS 98/99 2-47

2.3.3.3 Schaltwerke fr die Arithmetik (A) Zhler Ein Schaltwerk heit Zhler (fr q, q IN), falls bei einmaliger "1" ber eine Setzleitung genau q mal die Ausgabe "1" erfolgt danach wieder nur Ausgabe "0", bis zur nchsten Eingabe "1" Realisierung: beispielsweise mit q Flipflops1 e 2 3 q

1 &

t

Anfangszustand: "0" fr alle Flipflops einmal e = "1": "1" luft durch

TestDafQQ972122107Informatik B, WS 98/99 2-48

(B) Schaltwerk fr serielle Binraddition Addition zweier q-stelliger Dualzahlen a und b, gespeichert in zwei Schieberegistern A und B< A > = a = (a q 1, a q 2 ,..., a 0 ) < A > = a + b < B > = b = (b q 1, b q 2 ,..., b 0 ) < B > = b

Beispiel (q = 4):tr s a3

r s

a2

r s

a1

r s

a0

VA

r s

b3

r s

b2

r s

b1

r s

b0

r

s

Es fehlt noch: Zhler fr 4; Anfangsstellung 0; gibt 4 mal Takt mu zu Beginn auf 0 gesetzt werden

TestDafQQ972122107Informatik B, WS 98/99 2-49

(C) Schaltwerke fr arithmetische Binroperationen (Prinzip-Skizzen, q Stellen) bitserielle Addition:

A

VA

B

Binraddierwerk

bitserielle Subtraktion: - A KomplementbildungBBinraddierwerkTestDafQQ972122107Informatik B, WS 98/99 2-50bitserielle Multiplikation a b a M Q R (Multiplikator-Quotientenregister) b B (Speicherregister) 0 A (Akkumulatorregister)MQR A 0 a * "Prfbit" BinraddierwerkBbAlgorithmus: Wiederhole q mal wenn * = "1" , dann + A ; verschiebe um 1 Stelle nach rechts ; Ergebnis a b = .