Technische Grundlagen der Informatik - fbi.h

Werbung
Technische Grundlagen der
Informatik
WS 2008/2009
18. Vorlesung
Klaus Kasper
WS 2008/2009
Technische Grundlagen der Informatik
1
Inhalt
• Wiederholung: Endliche Automaten
– Moore
M
– Mealy
– Zwei Beispiele
• Codierung
– Huffman-Codierung
– Codesicherung
– Hamming-Distanz
g
WS 2008/2009
Technische Grundlagen der Informatik
2
Automaten
• Ein endlicher Automat ist ein Modell,
das zur Modellierung diverser
g verwendet werden
Problemstellungen
kann.
• Ursprung: Biologie (McCulloch,
(McCulloch Pitts
1943), Elektrotechnik (Mealy, 1955),
Linguistik (Chomsky, 1956).
WS 2008/2009
Technische Grundlagen der Informatik
3
Anwendung in der
Digitaltechnik
• Mit endlichen Automaten kann eine
abstrakte Beschreibung von
Schaltwerken realisiert werden.
• auch: Finite State Machine (FSM)
• Zur
Z Darstellung
D t ll
d
der M
Modellierung
d lli
werden häufig Zustandsdiagramme und
Zustandsfolgetabellen verwendet.
WS 2008/2009
Technische Grundlagen der Informatik
4
Prinzip
• Aktuelle Zustand des
Automaten wird in
einem Speicher
p
(Register) gehalten.
• Aus dem aktuellen
Zustand und den
Eingangssignalen wird
ein Folgezustand
g
berechnet.
• Der neue Zustand wird
(synchronisiert) in den
Speicher geschrieben.
WS 2008/2009
Technische Grundlagen der Informatik
5
Definition
• Ein endlicher Automat ist ein Fünftupel
A=(X,Y,S,f,g).
• X ist ein endliches nichtleeres
Eingabealphabet.
• Y ist ein endliches nichtleeres
Ausgabealphabet.
• S iistt eine
i endliche
dli h nichtleere
i htl
M
Menge von
Zuständen.
• f: Zustands(überführungs)funktion
• g: Ausgabefunktion
WS 2008/2009
Technische Grundlagen der Informatik
6
Moore Automat
Moore-Automat
Ausgangssignale
A
i
l sind
i d
nur vom Zustand abhängig.
hängig
S = f(S*,X)
Y = g(S)
g( )
WS 2008/2009
Technische Grundlagen der Informatik
7
Mealy Automat
Bei Mealy-Automaten
wechselt das Ausgangsg g
signal schon bei der Veränderung des Eingangssignals.
S = f(S*,X)
Y = g(S
g(S,X)
X)
WS 2008/2009
Technische Grundlagen der Informatik
8
Zustandsgraphen
g p
(Zustandsdiagramme)
• Ein Zustandsgraph besteht aus Knoten und
gerichteten Kanten.
• Die Knoten beschreiben die Z
Zustände.
stände
• Die Kanten stellen die Übergänge zwischen
den Zuständen dar.
• Vor dem ‚/‘ steht die Eingangsbedingung,
hinter dem ‚/‘ steht das Ausgangssignal.
WS 2008/2009
Technische Grundlagen der Informatik
9
Beispiel: SR Flip-Flop
(S ∧ R ) /1
S /0
WS 2008/2009
(S ∧ R ) / 0
Technische Grundlagen der Informatik
R /1
10
Endliche Automaten für Schaltwerke
WS 2008/2009
Technische Grundlagen der Informatik
11
Zyklische Folgeschaltung
t A B
0 0 0
1 1 1
2 1 0
3 1 1
4 0 0
5 0 1
6 0 0
7 1 1
WS 2008/2009
C
0
1
1
0
1
0
0
1
Das System wird vom Takt getrieben
6 Zustände
Zustände, zyklische Wiederholung
3 Flip-Flops können 8 Zustände
realisieren
Realisierung mit SR Flip
Flip-Flops
Flops
Technische Grundlagen der Informatik
12
Zyklische Folgeschaltung
AS = C ∧ B
BS = B
CS = C ∧ (B ∨ A)
AR = C ∧ B
BR = B
CR = C ∧ B
WS 2008/2009
Technische Grundlagen der Informatik
13
Endliche Automaten für Schaltwerke
WS 2008/2009
Technische Grundlagen der Informatik
14
Zyklische Folgeschaltung
A
B
C
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
D1
D2
D3
Erstellen Sie die Zustandsfolgetabelle
WS 2008/2009
Technische Grundlagen der Informatik
15
Zyklische Folgeschaltung
A
B
C
D1
D2
D3
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
•Ermitteln
Ermitteln Sie die Minimalformen
•Skizzieren Sie die Schaltung
g Zustandsgraphen
g p
•Zeichnen Sie den vollständigen
WS 2008/2009
Technische Grundlagen der Informatik
16
D1
A
B
C
D1
D2
D3
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
D2
B
C
1 1 1 *
0 * 0 0
D2 = B
WS 2008/2009
A
C
B
1 0 1 *
0 * 1 0
A
D1 = (C ∧ A) ∨ (C ∧ B )
D3
C
B
1 0 0 *
0 * 1 1
A
D3 = (B ∧ A) ∨ (C ∧ B )
Technische Grundlagen der Informatik
17
Endliche Automaten für Schaltwerke
WS 2008/2009
Technische Grundlagen der Informatik
18
Schaltungsaufbau
Verknüpfungsnetzwerk (VN)
WS 2008/2009
Technische Grundlagen der Informatik
19
vollständiger Aufbau
WS 2008/2009
Technische Grundlagen der Informatik
20
Zustandsgraph
Bedingungen?
vollständig?
WS 2008/2009
Technische Grundlagen der Informatik
21
Vollständiger
g Zustandsgraph
g p
WS 2008/2009
Technische Grundlagen der Informatik
22
Übung
Es sollll eine
E
i zyklische
kli h F
Folgeschaltung
l
h lt
mit
it JK
JK-FlipFlops
Fli Fl
realisiert werden, die in Einerschritten von 0 bis 2 aufwärts
zählt und anschließend wieder abwärts:
{Y1,Y0} = { 0, 1, 2, 1, …ab hier wiederholen }
Skizzieren Sie einen vollständigen Zustandsgraphen der
geforderten Folgeschaltung. Geben Sie die Ausgangssignale
in der Form -/Y1Y0 an den Übergängen
g g an.
Nummerieren Sie die FlipFlops mit A, B, .. und erstellen
Sie die Wertetabellen für alle J- und K-Eingänge
g g und die
gewünschten Ausgänge Y1, Y0
Erstellen Sie die KV-Diagramme
g
für alle J- und K-Eingänge
g g
und die Ausgänge Y1 und Y0 und geben Sie die Gleichungen (DMF) für die Eingangsbeschaltungen an.
WS 2008/2009
Technische Grundlagen der Informatik
23
Übung
Skizzieren Sie ein vollständiges Zustandsübergangsdiagramm der geforderten
Folgeschaltung. Geben Sie die Ausgangssignale in der Form -/Y1Y0 an den Übergängen an.
{Y1,Y0} = { 0, 1, 2, 1, …ab hier wiederholen }
WS 2008/2009
Technische Grundlagen der Informatik
24
Übung
Nummerieren Sie die FlipFlops mit A
A, B
B, .. und erstellen
Sie die Wertetabellen für alle J- und K-Eingänge und die
gewünschten Ausgänge
g
g g Y1,, Y0
QB QA JB KB JA KA Y 1 Y 0
0
0
1
0
WS 2008/2009
Technische Grundlagen der Informatik
0
1
0
1
25
Übung
Nummerieren Sie die FlipFlops mit A
A, B
B, .. und erstellen
Sie die Wertetabellen für alle J- und K-Eingänge und die
gewünschten Ausgänge
g
g g Y1,, Y0
QB QA JB KB JA KA Y 1 Y 0
0
0
1
1
WS 2008/2009
0
1
0
1
0
0
1
0
Technische Grundlagen der Informatik
0
1
0
1
26
Übung
Nummerieren Sie die FlipFlops mit A
A, B
B, .. und erstellen
Sie die Wertetabellen für alle J- und K-Eingänge und die
gewünschten Ausgänge
g
g g Y1,, Y0
QB QA JB KB JA KA Y 1 Y 0
0
0
1
1
WS 2008/2009
0
1
0
1
0
1
*
*
*
*
0
1
1
*
1
*
*
1
*
1
Technische Grundlagen der Informatik
0
0
1
0
0
1
0
1
27
Übung
JB = QA
KB = QA
’1’
Y1 = !QA * QB
Y0 = QA
J
clk
’1’
JA = 1
KA = 1
J
FF A
clk
K
FF B
K
&
Y0
WS 2008/2009
Y1
Technische Grundlagen der Informatik
28
Codierung
WS 2008/2009
Technische Grundlagen der Informatik
29
Nachrichten und Information
• eine Nachricht ist eine Zeichenfolge, die
nach bestimmten Regeln gebildet wird
• Bsp.
Bsp Glockenschlag der Kirchturmuhr
• Information ist die Bedeutung einer
Nachricht für den Empfänger
• Bsp. Tageszeit
WS 2008/2009
Technische Grundlagen der Informatik
30
Bits und Bitfolgen
• Bit: Maßeinheit der Information
• 1 Bit ist die Informationsmenge einer
Entscheidungsfrage mit zwei
Möglichkeiten
• Bsp.
p g
groß oder klein; wahr oder falsch
• zur formalen Darstellung der Antwort
genügen zwei Zeichen (Bsp
(Bsp. 0/1)
WS 2008/2009
Technische Grundlagen der Informatik
31
Beantwortung komplexerer
Fragen
g
• Welcher Buchstabe wurde
geschrieben?
• Alphabet: A
A, B
B, C
C, D
D, E
E, F
F, G
G, H
• Welche und wie viele Fragen werden
b öti t um zu entscheiden
benötigt
t h id welcher
l h
Buchstabe geschrieben wurde?
WS 2008/2009
Technische Grundlagen der Informatik
32
Bäume
• Bäume sind in der Informatik eine wichtige
und
d hä
häufig
fi verwendete
d t D
Datenstruktur.
t
t kt
• Ein Baum besteht aus Knoten und Kanten.
• Kanten verbinden immer zwei Knoten.
• Die Knoten werden in Ebenen angeordnet.
• Die Anzahl der Ebenen ist die Tiefe des
Baums.
• Die Knoten der letzten Ebene werden als
Blätter bezeichnet.
• In Binärbäumen sind Knoten mit max. 3
anderen Knoten verbunden.
WS 2008/2009
Technische Grundlagen der Informatik
33
Entscheidungsbaum
WS 2008/2009
Technische Grundlagen der Informatik
34
Codierung und Decodierung
• Zeichenvorrat: endliche Menge von
g
unterscheidbaren Dingen
• Zeichen: ein Element des
Zeichenvorrats
• Code: Vorschrift für die eindeutige
g
Zuordnung der Zeichen eines
Zeichenvorrats zu denjenigen eines
anderen Zeichenvorrats
WS 2008/2009
Technische Grundlagen der Informatik
35
Kenngrößen
g
der Information
Informationsgehalt: I(N) = ld(1/p)
wobei
b i p die
di Wahrscheinlichkeit
W h h i li hk it fü
für di
die N
Nachricht
h i ht N ist
i t
Entscheidungsgehalt: H0(n) = ld(n)
wobei
b i n di
die A
Anzahl
hl d
der unterschiedlichen
t
hi dli h N
Nachrichten
h i ht
einer Informationsquelle bezeichnet
mittlerer Informationsgehalt
f
(Entropie):
(
)
HQ = ∑ I (Ni )pi = ∑ pi ld(1/ pi ) = −∑ pi ld( pi )
i
i
i
Die Entropie wird maximal, wenn alle Ereignisse gleich
wahrscheinlich sind, also pi = 1/n gilt.
WS 2008/2009
Technische Grundlagen der Informatik
36
Codierung
g und Codesicherung
g
• ursprünglich für die Quellen- und
Kanalcodierung entwickelt
• wird auch für die Übertragung und
Speicherung großer Datenmengen in
EDV Anlagen verwendet
EDV-Anlagen
Effiziente Codierung der Daten
Daten.
Störungen d
Stö
der D
Datenübertragung
t üb t
sollen
ll
detektiert und eventuell korrigiert werden.
WS 2008/2009
Technische Grundlagen der Informatik
37
Huffman-Codierung
Situation: Die Zeichen des Zeichenvorrats
werden mit unterschiedlicher Wahrscheinlichkeit verwendet
verwendet.
Gesucht: Codierung des Zeichenvorrats
Zeichenvorrats, die
eine minimale mittlere Länge der Codewörter
li f t
liefert.
Minimierung
Mi
i i
d
der zu üb
übertragenden
t
d b
bzw.
zu speichernden Datenmenge.
WS 2008/2009
Technische Grundlagen der Informatik
38
Huffman-Codierung
• Huffman-Baum (H-Baum) liefert eine
Lösung für die Minimierung der mittleren
Länge der Codierung der Codewörter.
• Der H-Baum ist ein Binärbaum, der iterativ
erstellt werden kann.
• Die Blätter des Baums stellen die Codewörter dar.
dar
• Die Codierung ergibt sich aus der
K t b
Kantenbeschriftung
h ift
von d
der W
Wurzell zu d
den
Blättern
WS 2008/2009
Technische Grundlagen der Informatik
39
Mittlere Länge
g für Codierung
g
n
L = ∑ pi li
i =1
L: mittlere Länge für Codierung eines
Zeichens
n: Anzahl der Zeichen des Zeichenvorrats
pi: Wahrscheinlichkeit für das Auftreten
des Zeichens i
li: Länge der Codierung für Zeichen i
WS 2008/2009
Technische Grundlagen der Informatik
40
Konstruktion H-Baum
1. S
1
Schritt:
h itt S
Suche
h zweii Z
Zeichen
i h xi und
d xj der
d IInformationsquelle
f
ti
ll
mit kleinsten Wahrscheinlichkeiten
2. Schritt: Bilde einen Knoten Kij des Codebaums; ordne ihm
die Wahrscheinlichkeit p(Kijj) = p(xi) + p(xj) zu. Verbinde Kijj
mit xi und xj .
3. Schritt
3
Schritt: Entferne xi und
nd xj aus
a s der Informationsquelle
Informationsq elle und
nd
füge ihr statt dessen Kij hinzu.
4. Schritt: Gehe zu Schritt 1, falls die Informationsquelle
noch mehr als ein Zeichen enthält.
5. Schritt: Füge (letztes) Zeichen als Wurzel zum Codebaum.
Beschrifte die Kanten wie oben erläutert
erläutert.
WS 2008/2009
Technische Grundlagen der Informatik
41
Beispiel (H-Baum)
xi
pi
A
B
C
D
E
F
G
.25 .21 .18 .14 .09 .07 .06
Auswahl: F (.07), G (.06)
K1 = .13
Hinweis:
Die kleinere Wahrscheinlichkeit wird
immer links angeordnet und die linke
Kante wird immer mit 0 codiert.
WS 2008/2009
Technische Grundlagen der Informatik
42
Beispiel
p ((H-Baum))
xi
pi
A
B
C
D
K1
E
.25 .21 .18 .14 .13 .09
Auswahl: E, K1
K2 = .22
WS 2008/2009
Technische Grundlagen der Informatik
43
Beispiel (H-Baum)
(H Baum)
xi
pi
A
K2
B
C
D
.25 .22 .21 .18 .14
Auswahl: D
D, C
K3 = .32
32
WS 2008/2009
Technische Grundlagen der Informatik
44
Beispiel (H-Baum)
xi
K3
pi
.32 .25 .22 .21
WS 2008/2009
A
K2
B
Auswahl: B,K2
K4 = .43
Technische Grundlagen der Informatik
45
Beispiel (H-Baum)
xi
K4
pi
.43 .32 .25
WS 2008/2009
K3
A
Auswahl: A, K3
K5 = .57
Technische Grundlagen der Informatik
46
Beispiel (H-Baum)
xi
K5
pi
.57
57 .43
43
WS 2008/2009
K4
Auswahl: K4, K5
K6 = 1.0
Technische Grundlagen der Informatik
47
Beispiel (H-Baum)
xi
pi
A
B
C
D
E
F
G
.25 .21 .18 .14 .09 .07 .06
A: 10
A
G: 0110
1001110111010
A F F E
WS 2008/2009
Technische Grundlagen der Informatik
48
Fazit
7 Zeichen
L = 3 bit/Z
bit/Zeichen
i h b
beii C
Codierung
di
gleicher
l i h
g
Länge
Huffman:
xi
pi
li
A
B
C
D
E
F
G
.25 .21 .18 .14 .09 .07 .06
2
2
3
3
3
4
4
L = 2,67 bit/Zeichen
WS 2008/2009
Technische Grundlagen der Informatik
49
Codesicherung
g
• Stö
Störung: B
Beii d
der Üb
Übertragung
t
oder
d S
Speicherung
i h
kippen einzelne Bits.
• Wenn
W
alle
ll C
Codeworte
d
t als
l N
Nutzworte
t
t verwendet
d t
werden, führt jede Störung zu einem neuen
Nutzwort Der Code ist nicht redundant.
Nutzwort.
redundant
• Es werden Redundanzen eingebaut, die eine
Erkennung und eventuell Korrektur der Bitfehler
gestatten.
• Bspw.
Bspw kann die Codierung neben Nutzworten
auch Pseudoworte enthalten, deren Empfang
eine Störung signalisiert.
signalisiert
WS 2008/2009
Technische Grundlagen der Informatik
50
Einfache Verfahren
• S
Sender
d üb
überträgt
t ä t di
die N
Nachricht
h i ht zweimal.
i l
Empfänger kann beide Sendungen vergleichen.
• Sender wartet bis der Empfänger die gesendete
Nachricht zurücksendet. Der Sender kann die
gesendete und die empfangene Nachricht
vergleichen (Handshake-Verfahren).
• Beide Verfahren haben den Nachteil, dass die
Datenmenge
g verdoppelt
pp wird und keine
automatische Korrektur möglich ist.
WS 2008/2009
Technische Grundlagen der Informatik
51
Einfaches fehlerkorrigierendes Verfahren
• Jedes einzelne Bit wird dreifach wiederholt.
• Bei jeder empfangenen Triade wird an
Hand des majoritären Wertes entschieden.
• Einzelne
Ei
l Bi
Bitfehler
f hl kö
können so kkorrigiert
i i
werden.
WS 2008/2009
Technische Grundlagen der Informatik
52
Beispiel
• Mö
Mögliche
li h F
Fehler
hl b
beii d
der Üb
Übertragung von
000: 110, 101, 011, 111
• Mit p= 0,1 Wahrscheinlichkeit für einen
Bitfehler und q die Wahrscheinlichkeit für
eine korrekte Übertragung:
P = p 2 q + pqp + qp 2 + p 3
= 3 p 2 q + p3
= 3( p 2 (1 − p)) + p 3
= 3 p 2 − 3 p3 + p3
= 3 p 2 − 2 p3
= 0,
0 03 − 0,
0 002 = 0,
0 028
WS 2008/2009
Technische Grundlagen der Informatik
53
Paritätsbit
Die Nutzwörter werden um ein Paritätsbit
ergänzt, so dass – in Abhängigkeit vom
Verfahren – die Codewörter immer eine
gerade oder ungerade Anzahl von 1-Bits
enthalten.
Der Einsatz von Paritätsbits wird auch als
Z i h
Zeichenoder
d Q
Querparität
ität b
bezeichnet.
i h t
WS 2008/2009
Technische Grundlagen der Informatik
54
Blocksicherung I
Daten werden für die Übertragung zu einem
Block zusammengefasst
zusammengefasst.
Beispiel:
ungerade Zahl
an 1
1-Bits
Bits für
Zeilen und
Spalten
Codewort D3 D2 D1 D0 PB
CW1
0 1 0 1 1
CW2
1 1 0 0 1
CW3
1 0 0 0 0
CW4
1 1 1 1 0
CW5
0 0 0 0 1
Prüfwort 0 0 1 1 0
Einzelne Bitfehler können detektiert
und korrigiert werden
werden.
WS 2008/2009
Technische Grundlagen der Informatik
55
Blocksicherung II
Codewort
D3
D2
D1
D0
PB
CW1
0
1
0
1
1
CW2
1
1
0
0
1
CW3
1
0
1
0
0
CW4
1
1
1
1
0
CW5
0
0
0
0
1
Prüfwort
0
0
1
1
0
Codewort
D3
D2
D1
D0
PB
CW1
0
1
0
1
1
CW2
1
1
0
0
1
CW3
1
1
0
0
0
CW4
1
1
1
1
0
CW5
0
0
0
0
1
Prüfwort
0
0
1
1
0
WS 2008/2009
Technische Grundlagen der Informatik
Zwei Bitfehler
können nur
d t kti t
detektiert
aber nicht
korrigiert werden.
56
Hamming-Distanz
• Hamming-Distanz (h): Minimale StellenDistanz zwischen zwei Nutzworten
Nutzworten.
Beispiel:
WS 2008/2009
Technische Grundlagen der Informatik
57
Hamming-Distanz
Hamming
Distanz (h)
h=1, Erkennung: 0, Korrektur: 0
h 2 E
h=2,
Erkennung:
k
1
1, K
Korrektur:
kt 0
h 3 E
h=3,
Erkennung:
k
2
2, K
Korrektur:
kt 1
h=4 Erkennung: 3,
h=4,
3 Korrektur: 1
h=5 Erkennung: 4,
h=5,
4 Korrektur: 2
WS 2008/2009
Technische Grundlagen der Informatik
58
Herunterladen