Sie sind auf Seite 1von 23

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-28

2.3 Grundlegende Schaltungen

2.3.1 Schaltgatter

(2.22) Definition:

Eine Schaltung zur Realisierung spezieller (ausgezeichneter) schaltalgebraischer Verknüpfungen nennt man Schaltgatter. (auch: digitales Verarbeitungsglied, Gatter)

Gatter

Gattersymbol (DIN 40700)

NICHT-Gatter

(Negationsglied)

abkürzende Darstellung

ODER-Gatter

(Disjunktionsglied)

1

 

a

1   a   a 1   a ⁄ b
 
  a

a

1

 

ab

" =1 " :

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

UND-Gatter

(Konjunktionsglied)

&
&
&
&
&

&

&
&
&
&
&
&

aŸ b

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-29

NOR-Gatter

(Peirce-Funktion)

NAND-Gatter

(Sheffer-Funktion)

XOR-Gatter

(Antivalenz)

1 aØb & a|b 2k+1 a b
1
aØb
&
a|b
2k+1
a b

XOR:

a

b

( a b = (a Ÿ b) ⁄ (a Ÿ a Ÿ b Cricket Software
( a b
=
(a Ÿ b) ⁄ (a Ÿ
a
Ÿ b
Cricket Software
&
1
a
Ÿ b
&

b ) )

a b

"2k+1":

Am Ausgang liegt "1" an, wenn bei einer ungeraden Zahl von Eingängen "1" anliegt

ODER-Gatter mit n Eingängen

1
1
1
1
1
1

1

1
1
1
1
1

a 1 a 2

a n

UND-, NOR-, NAND-Gatter mit n Eingängen entsprechend

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-30

2.3.2 Schaltnetze

(2.23) Definition:

Ein Schaltnetz F ist die technische Realisierung einer Abbildung

f

(

:

IB n Æ

a ,a ,

1

2

K

IB m

,a

n

)

14424 43

= :a

a f(a)

=

( f 1 (a), f 2 (a),

,

f m (a) )

mit

a i :

Werte an den Eingängen von F (i = 1,

,n)

f j :

("Eingaben") Schaltfunktionen

f j (a) : Werte an den Ausgängen von F (j = 1, ("Ausgaben")

anschaulich:

Ï

Ô

a Ì

Ô

Ó

a f (a) 1 1 a F f (a) 2 f(a) 2 a f (a)
a
f
(a)
1
1
a
F
f
(a)
2
f(a)
2
a
f
(a)
n
m

,m)

Bemerkung:

Schaltverhalten "kombinatorisch" (Werte an den Ausgängen nur abhängig von denen an den Eingängen)

f : Zusammenfassung von (i.a.) mehreren Schaltfunktionen; (falls m=1: (f, F) ist (Schaltfunktion, Schaltung))

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-31

Beispiele: (für 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

b

s

ü

0

0

0

0

0

1

1

0

ü (a, b)

=

a Ÿ b

1

0

1

0

1

1

0

1

s (a, b)

=

a b

Aufbau eines HA

a b

& 2k+1
& 2k+1

ü

s

Symbol für HA

a b HA
a
b
HA

ü s

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-32

(C) Volladdierer (VA)

berechnet die Summe zweier Dualziffern a und b unter Berücksichtigung eines Übertrags ü (aus voriger Stelle)

Darstellung der Summe in zwei Dualziffern s und ü'

Schalttabelle:

a

b

ü

s

ü'

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

s =

(a b)

ü

1

1

0

0

1

1

1

1

1

1

ü' =

(a Ÿ b) (a Ÿ ü) (b Ÿ ü)

Aufbau eines VA

a

b

ü

& & & 2k+1 1 2k+1
&
&
&
2k+1
1
2k+1

ü'

s

Symbol für VA

ü'

a b VA
a
b
VA

s

ü

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-33

Verwendung von Halb-/Volladdierern z.B. in einem Addierer mit durchlaufendem Übertrag:

Addition zweier n-stelliger Dualzahlen

a

zur Summe (ü n-1 s n-1 s n-2

(a n-1

a n-2

a

1

a 0 )

und

b

(b n-1

b n-2

b 1

=

=

s 1 s 0 )

b 0 )

a b n-1 n-1 ü n-2 VA ü s n-1 n-1
a
b
n-1
n-1
ü n-2
VA
ü
s
n-1
n-1

a

2

b

2

ü 1

a

1

b

1

ü 0

a

0

b

0

VA HA VA ü 1 s 1 ü 0 s 0
VA
HA
VA
ü 1
s 1
ü 0
s 0

Dieser Addierer heißt auch Ripple-Carry Adder, da der Übertrag von der niedrigst- zur höchstsignifikanten Dualstelle durchlaufen kann.

lange Schaltzeit

(linear in der Wortlänge)

Bemerkung:

Fügt man in jede "Übertragsleitung" ein Verzögerungselement ein, so erhält 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 können bis zu n Additionen gleichzeitig jeweils um einen Takt versetzt ausgeführt werden.

Für k Additionen nur k+n-1 Takte!

TestDaf考试免费咨询:QQ972122107

Informatik 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

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-35

2.3.3

Bei Schaltnetzen:

Schaltwerke

Ausgabe hängt nur von der aktuellen Eingabe ab.

Bei Schaltwerken:

Ausgabe hängt zusätzlich von endlich vielen vorausgegangenen Eingaben ab.

Dafür notwendig: "Gedächtnis" in Form sogenannter innerer Zustände. (Æ "endliche Automaten", siehe Informatik C)

(2.24) Definition:

Ein Schaltwerk F ist die technische Realisierung zweier Abbildungen:

f : IB n x IB r Æ

IB m

(a, z) Æ

f(a,z) = (f 1 (a, z), f 2 (a, z),

,

f m (a, z))

mit

a := (a 1 , a 2 ,

,

a n )

und

z := (z 1 , z 2 ,

,

z r )

und

g : IB n x IB r Æ

IB r

(a, z) Æ

g(a,z) = (g 1 (a, z), g 2 (a, z),

,

g r (a, z))

mit a i z j f k , g j

: Schaltzustände an Eingängen von F (Eingaben) : innere Zustände : Schaltfunktionen (Ausgabe-/Übergangsfunktion)

f k (a, z) : Schaltzustände an den Ausgängen von F

(Ausgaben)

g j (a, z) : neue (rückzuführende) innere Zustände

( i = 1,

,n;

j = 1,

,r;

k = 1,

,m)

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-36

Grundeinheiten eines Schaltwerks:

Schaltnetz

Verzögerungsglieder t (zur Rückführung spezieller, den inneren Zustand darstellender Schaltnetzausgänge; Verzögerung um Zeit t)

anschaulich:

Ï

a 1

Ô

a Ì

Ô

Ó a n

t F t Ï z ¸ g 1 (a,z) 1 Ô Ô … z Ì
t
F
t
Ï
z
¸
g 1 (a,z)
1
Ô
Ô
z Ì
˝
g(a,z)
Ô
Ô
g r (a,z)
Ó z r
˛
Schaltnetz
¸
f 1 (a,z)
Ô
˝
Ô
f m (a,z)
˛

y =

f(a,z)

Bemerkung:

Schaltverhalten "sequentiell"

Den Zustand eines Schaltwerkes bezeichnet man als

stabil, falls g(a, z)

=

z

(dann: Rückführung ohne Verzögerungsglieder mögl.)

instabil, falls g(a, z) ? z

t wird (bei Rückführungen) nicht immer eingezeichnet

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-37

(2.25) Beispiele: (für einfache Schaltwerke)

a & t f(a,z) z Eingabe a = 1 (ständig): f(a, z) =
a
&
t
f(a,z)
z
Eingabe a = 1 (ständig): f(a, z) =

0|1|0|1|0|1|

;

Zustand des Schaltwerkes instabil

Eingabe a = 0 (ständig): f(a, z) = 1 (immer);

Zustand des Schaltwerks stabil

a

z 1 t
z
1
t

f(a,z)

Falls einmal a = 1

d.h. Schaltung merkt sich: "einmal 1 gewesen"

, dann immer f(a, z)

1,

=

Schwierigkeit insbesondere bei größeren Schaltwerken:

Beschreibung und Verfolgung des zeitlichen Signalverlaufs;

abhängig von

t

Laufzeit der Signale

Wechsel "0"Æ "1", "1"Æ "0" (nicht schlagartig möglich)

Wann beobachte man einen Schaltwerkszustand?

Ausweg:

dem Schaltwerk zeitlichen Rhythmus von außen vorgeben (Æ synchrone Schaltwerke)

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-38

2.3.3.1 Synchrone Schaltwerke

Merkmale synchroner, d.h. getakteter Schaltwerke:

Es werden nur diskrete Zeitpunkte t t mit tΠIN o betrachtet.

Solch einen diskreten Zeitpunkt nennt man Taktzeitpunkt, die Zeitspanne t Taktzeit.

Die Schaltzeit t s gibt an, wie lange ein Schaltnetz braucht, um aus einer Eingangsinformation a den Wert f(a) zu bestimmen. Beträgt t s höchstens t max Zeiteinheiten, so wählt man

t = t max . werden.

t s braucht dann weiter nicht berücksichtigt zu

Zustandsänderungen erfolgen nur während der Taktzeiten.

Auslösendes Moment für "Beobachtung" von Zustandsänderungen: Taktsignal oder einfach Takt.

Vereinfachend spricht man meist von Taktzeitpunkten t anstatt von t t,

d.h. von Taktzeitpunkten anstatt von

0,

0 t, 1 t, 2 t, 3 t,

1,

2,

3,

,

,

t,

t+1,

t t, (t+1) t,

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-39

Es liegt somit folgende Situation vor (t = 0, 1, 2,

einfaches Schema:

):

a(t)

Takt

t z(t+1)= g(a(t),z(t)) z(t) Schaltnetz
t
z(t+1)=
g(a(t),z(t))
z(t)
Schaltnetz

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 Verzögerungsgliedes.

Der Takt wirkt wie eine "Schleuse", muß also aus zwei verschiedenen (komplementären) Signalen (oder Ereignissen) bestehen, damit das Verzögerungsglied stets nur nach einer Seite geöffnet sein kann.

Andernfalls wäre das Verzögerungsglied "transparent" und der gewünschte Effekt wäre nicht erzielbar.

Eingaben:

Zustände:

Ausgaben:

a(t) frei wählbar

z(0)

abhängig von Entwurf des Schaltnetzes

• beliebig (d.h. unbekannt) oder

• fest initialisiert z(t+1) = g(a(t),z(t))

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

TestDaf考试免费咨询:QQ972122107

Informatik 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 Zustände 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 Schaltwerksausgängen zur Verfügung stehen.

Ein Schaltwerk mit den Eigenschaften (FF1), (FF2) und (FF3) wird auch als Flipflop bezeichnet:

Flipflop verharrt in stabilem Zustand, bis durch Anstoß von außen in anderen stabilen Zustand umgeschaltet wird.

( Flip Æ Flop Æ Flip

Æ

Flop

Æ

Flip

Æ

Flop )

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-41

(B) Das asynchrone (also ungetaktete) RS-Flipflop RS: Rücksetzen (reset), Setzen (set)

Schaltbild: q* 1 s 1 r
Schaltbild:
q*
1
s
1
r

Schaltsymbol:

s

 

q

 
 
 
 
 
 
 
 
 
 
 
 
 

r

 

q

q

q

1 innerer Zustand: q* (rückgeführtes q)

Schalttabelle:

r

s

q*

q

Zustand

0

0

0

0

stabil

("0" gespeichert)

0

0

1

1

stabil

("1" gespeichert)

0

1

0

1

instabil

¸

 

˝

(„1“setzen)

0

1

1

1

stabil

˛

1

0

0

0

stabil

¸

 

˝

(„0“rücksetzen)

1

0

1

0

instabil

˛

1

1

0

-

unzulässig

1

1

1

-

unzulässig

Diese Schalttabelle erfüllt (FF1), (FF2), (FF3). s - Eingang: Setzleitung; r - Eingang: Rücksetzleitung

Schaltfunktion:

q = s q * r = (s q*) Ÿ r = s Ÿ r q * r ,

und damitq = s q *r

,

da

r = s = 1 unzulässig

TestDaf考试免费咨询:QQ972122107

Informatik 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 möglich, wenn t = 1

Schaltbild Schaltsymbol:

s

r

t

& &
&
&
q s s q q r r q
q
s
s
q
q
r
r
q

t

(D) Das synchrone JK-Flipflop

ähnlich RS-Flipflop; hier aber Eingangskombination j=k=1 erlaubt

Schaltbild: Schaltsymbol:

q * j & k & t
q *
j
&
k
&
t

q *

q

q

j

k

j q k q
j
q
k
q

t

Schaltfunktion: q = (j q*) Ÿ (k q *) ;

j = k = t = 1

q erhält Wert von q und umgekehrt;

(Beweis über Schalttabelle)

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-43

(E) Das RS-MS-Flipflop

MS: Master Slave

Zusammenschalten von 2 synchronen RS-Flipflops mit demselben t

VF: HF: Vorspeicher-Flipflop ("Master") Hauptspeicher-Flipflop ("Slave") VF HF s d s s q r r
VF:
HF:
Vorspeicher-Flipflop ("Master")
Hauptspeicher-Flipflop ("Slave")
VF
HF
s
d
s
s
q
r
r
q
t
t
= 1 : Eingänge von HF gesperrt
Übernahme von d in VF (solange wie t = 1)
t
= 0 : Eingänge von VF gesperrt
HF übernimmt Schaltzustand von VF

Einschreiben in den Speicher nur möglich, wenn t = 1; Speicher erst auslesbar, wenn anschließend t = 0

oft: MS-Flipflops nur mit q-Ausgang

Schaltsymbol (für Flipflops mit dieser Eigenschaft):

d s q r
d
s
q
r

t

(d: delay; Verzögerung)

TestDaf考试免费咨询:QQ972122107

Informatik 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;

einzelner / aller Flipflops

(b)

Auf-1-setzen;

"

(c)

Invertieren;

"

Realisierung von (a) - (c)

parallel, d.h. gleichzeitiges Ansprechen der entsprechenden Flipflops; Nachteil: Anzahl der Anschlüsse (pins) hoch

seriell, unter Verwendung von Schiebeoperationen

(d) Schieben (shift);

q

falls zusätzlich q 1 := q n

q

falls zusätzlich q n := q 1

:= q i-1

(i = 2,

, n)

i

:= q i+1

(i = 1,

, n-1)

i

Rechtsshift

zyklischer Rechtsshift

Linksshift

zyklischer Linksshift

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-45

Beispiel 1: Schieberegister

Zusammenschalten von n RS-MS-Flipflops zu einem Schieberegister

e

Schieberichtung: 1 2 3 n s s s s r r r r
Schieberichtung:
1
2
3
n
s
s
s
s
r
r
r
r

t

q

zyklisches Schieberegister, falls "… "

jedes Flipflop des Registers kann auch einzeln eine q-Leitung nach außen haben ("Schieberegister mit Parallelausgabe")

Taktleitung wird häufig nicht eingezeichnet (innerhalb eines Schaltwerks wird meist mit demselben Takt gearbeitet)

(Zyklisches) Schieberegister kurz auch in folgender Darstellung:

…

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-46

Beispiel 2: 8-Bit-Speicherregister

d q 0 0 s & r d q 1 1 s & r d
d
q
0
0
s
&
r
d
q
1
1
s
&
r
d
q
2
2
s
&
r
d
q
3
3
s
&
r
d
q
4
4
s
&
r
d
q
5
5
s
&
r
d
q
6
6
s
&
r
q
d
7
7
s
&
r
Ausgabebus
Eingabebus
t
a
Steuersignale
Takt
t
= 0:
Registerinhalt bleibt unberührt vom Eingabebus
t
= 1:
Register lädt Daten vom Eingabebus

"Ausgabesperre"

a = 0: Register und Ausgabebus entkoppelt

a = 1: Registerinhalt gelangt auf Ausgabebus

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-47

2.3.3.3 Schaltwerke für die Arithmetik

(A) Zähler

Ein Schaltwerk heißt Zähler (für q, q Œ IN), falls

bei einmaliger "1" über eine Setzleitung genau q mal die Ausgabe "1" erfolgt

danach wieder nur Ausgabe "0", bis zur nächsten Eingabe "1"

Realisierung: beispielsweise mit q Flipflops

e

1 2 3 q … … 1 &
1
2
3
q
… 1
&

t

Anfangszustand: "0" für alle Flipflops

einmal e = "1": "1" läuft durch

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-48

(B) Schaltwerk für serielle Binäraddition

Addition zweier q-stelliger Dualzahlen a und b, gespeichert in zwei Schieberegistern A und B

<

<

A

B

>=

>=

a

b

=

=

(a

(b

q

-

-

q

1

1

,a

q

-

,b

q

-

2

2

,

,

,a

0

,b

0

) ¸

)

Æ

<

<

A

˝ B

˛

>=

a

>=

b

+

b

Beispiel (q = 4):

t

r r r a r a 3 a 2 a 0 1 VA s s
r
r
r
a
r
a 3
a 2
a 0
1
VA
s
s
s
s
r
r
r
r
b
b
b
b
3
2
0
r
s
s
s
1
s
ü

Es fehlt noch:

Zähler für 4; Anfangsstellung 0; gibt 4 mal Takt

ü muß zu Beginn auf 0 gesetzt werden

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-49

(C) Schaltwerke für arithmetische Binäroperationen (Prinzip-Skizzen, q Stellen)

bitserielle Addition: A VA B t
bitserielle Addition:
A
VA
B
t

Binäraddierwerk

bitserielle Subtraktion: <A> - <B> Æ

<A>

A

B

Binär- addier- Komplement- werk bildung
Binär-
addier-
Komplement-
werk
bildung

TestDaf考试免费咨询:QQ972122107

Informatik B, WS 98/99

2-50

bitserielle Multiplikation

a b

a

Æ

M Q R

(Multiplikator-Quotientenregister)

b

Æ

B

(Speicherregister)

0

Æ

A

(Akkumulatorregister)

A

B

0 Æ A (Akkumulatorregister) A B MQR 0 a * b "Prüfbit" Binär- addierwerk
0 Æ A (Akkumulatorregister) A B MQR 0 a * b "Prüfbit" Binär- addierwerk

MQR

0 a *
0
a
*

b

b
b
0 Æ A (Akkumulatorregister) A B MQR 0 a * b "Prüfbit" Binär- addierwerk Algorithmus :

"Prüfbit"

Binär-

addierwerk

Algorithmus:

Wiederhole q mal

wenn *

verschiebe <A, MQR> um 1 Stelle nach rechts ;

"1" ,

dann <A> + <B>

A ;

=

Æ

Ergebnis

a

b

= <A , MQR>.