Technische Informatik I Rechnerstrukturen Dario Linsky
Wintersemester 2010 / 2011
Technische Informatik I
Zeit und Ort ▸
Mittwochs, 16 bis 18 Uhr
▸
Hörsaal V, Mehrzweckgebäude Lahnberge
▸
Zwischenklausur am 15.12.2010
▸
Abschlussklausur am 16.02.2011
Zulassungskriterien zur Klausur ▸
Mindestens 50 % der erreichbaren Zettelpunkte
▸
Regelmäßige und aktive Mitarbeit im Tutorium
Technische Informatik I
Zettelabgabe ▸
Jeweils spätestens eine Woche nach Ausgabe
▸
Schriftlich oder per E-Mail an linsky@informatik
▸
Maximal zwei unbearbeitete Zettel
Ablauf des Tutoriums ▸
Vertiefung und Ergänzung der Vorlesung
▸
Zwischenfragen jederzeit erwünscht
▸
Mitarbeit erforderlich
Technische Informatik I
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Teil 1: Einleitung
Überblick ▸
Schnittstelle zwischen Informatik und Elektrotechnik
▸
Information als berechenbare Größe
▸
Computerinterne Darstellung von Informationen
▸
Logik und Boolesche Algebra
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Grundlagen der Physik
Größen und Einheiten ▸ ▸
Größe besteht aus Wert und Einheit Sieben Basiseinheiten: Zeit, Strom, Länge, Lichtstärke, Masse, Temperatur und Stoffmenge
▸
Durch Kombination weitere Einheiten möglich
▸
Größenordnungen durch Präfixe oder Potenzen
Signale ▸
Wert (Amplitude) als zeitabhängige Funktion s(t)
▸
In der Natur immer kontinuierlich
▸
Umwandlung in diskrete (digitale) Signale
Technische Informatik I
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Digitalisierung von Signalen
Verfahren ▸
Zeitlich diskrete Abtastung (Sampling)
▸
Einteilung in diskrete Wertintervalle (Quantisierung)
▸
Schritte unabhängig voneinander ausführbar
▸
Anschließende Überlagerung von Sampling und Quantisierung
Codierung ▸
Wird später behandelt
Technische Informatik I
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Digitalisierung von Signalen
s(t)
s(t)
t
t
(a) zeit- und wertkontinuierlich
(b) zeitdiskret, wertkontinuierlich
s(t)
s(t)
t (c) zeitkontinuierlich, wertdiskret
Technische Informatik I
t (d) zeit- und wertdiskret
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Vom Signal zur Information
Informationsgehalt ▸
Signale sind Träger von Information
▸
Informationsparameter I = logB p(A)−1
▸ ▸
Abhängig von Ereignissen Binäre, atomare Informationseinheit (bit, »binary digit«) b ∈ {0, 1}
▸
Tupel von Bits (Worte)
▸
Wiele Bits sind nötig, um ein Ereignis darzustellen?
Technische Informatik I
(1)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Vom Signal zur Information
Physische Darstellung ▸
▸
Spannung als Informationsträger
UH,max UH,min
Fest definierte Potentiale (Pegel): High und Low
UL,max UL,min
Nicht definiert
Logische Darstellung ▸
Zuordnung von Pegeln zu Wahrheitswerten
▸
Positive Logik: 1 ≡ High, 0 ≡ Low
▸
Negative Logik: 0 ≡ High, 1 ≡ Low
Technische Informatik I
High Low
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Wie zählen wir eigentlich?
Darstellung ganzer Zahlen ▸
Zahlen als Worte von Symbolen (Ziffern) zn−1 , . . . , z1 , z0
▸
Alphabete von Symbolen LB = {0, . . . , B − 1}
▸
Jede Ziffer zi ∈ LB gibt die Wertigkeit ihrer Stelle an
▸
Stellenwertsystem mit Basis B = ∣L∣
▸
Zahlen darstellbar als Polynom n−1
z = ∑ zi ⋅ Bi i=0
▸
Transformierbar in Zahlensysteme mit anderer Basis
Technische Informatik I
(2)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Wie zählen wir eigentlich?
Übertrag ▸
Bei Überschreiten des Wertebereichs für eine Ziffer
▸
Zurücksetzen der Ziffer auf 0
▸
Erhöhen der nächsten Ziffer um 1
Weitere wichtige Zahlensysteme ▸
Binärsystem: Basis B = 2
▸
Oktalsystem: Basis B = 8
▸
Hexadezimalsystem: Basis B = 16, L = {0, . . . , 9, A, B, . . . , F}
▸
Die Darstellung unterscheidet sich, Wert bleibt gleich
Technische Informatik I
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Transformation zwischen Zahlensystemen
Algorithmischer Ansatz 1. Dividiere z0 durch die Basis des Zielsystems 2. Notiere ganzzahliges Zwischenergebnis z und Divisionsrest r 3. Falls z ≠ 0: Wiederhole mit z0 ∶= z
Technische Informatik I
5
∶2=
2
Rest: 1
2
∶2=
1
Rest: 0
1
∶2=
0
Rest: 1
Ende
Binär:
1
0
1
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Transformation zwischen Zahlensystemen
Abkürzendes Verfahren ▸
Möglich bei Transformation von Basis B nach Basis Bn
▸
Zusammenfassen von n Stellen im Zahlensystem mit Basis B
▸
Rechts beginnen, links bei Bedarf mit 0 auffüllen
Beispiel ▸
Wir transformieren die Binärzahl 1 1101 0010 1100 1001 in das Hexadezimalsystem: ...1 1101 0010 1100 1001 ±±±±± 1
Technische Informatik I
13=D
2
12=C
9
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Logische Operationen
Algebraisches Rechnen mit Binärwerten ▸ ▸
▸ ▸
Verknüpfen von binären Werten b ∈ {0, 1} Berechnungen sind abgeschlossen, d.h. Ergebnisse sind wieder im Binäralphabet Notation über Wahrheitstabellen Definition eines vollständigen Satzes an Operationen
Technische Informatik I
x
y
f (x, y)
0 0 1 1
0 1 0 1
0 1 0 0
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Logische Operationen
Elementare Operationen ▸
Negation (»nicht«): f (x) = ¬x = x
▸
Konjunktion (»und«): f (x, y) = x ∧ y = xy
▸
Disjunktion (»oder«): f (x, y) = x ∨ y = x + y
Abgeleitete Operationen ▸
Negiertes Oder (»nor«): f (x, y) = x∨y = x + y
▸
Negiertes Und (»nand«): f (x, y) = x∧y = xy
▸
Antivalenz (»xor«): f (x, y) = (x ∧ ¬y) ∨ (¬x ∧ y)
▸
Äquivalenz (»xnor«): f (x, y) = (x ∧ y) ∨ (¬x ∧ ¬y)
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Allgemeine Rechenregeln
Regel
Definition
Kommutativität
(x ∧ y) = (y ∧ x),
Assoziativität
(x ∧ y) ∧ z = x ∧ (y ∧ z),
Distributivität
x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z),
Idempotenz
x ∧ x = x,
Absorption
x ∨ (y ∧ z) = x,
Neutralität
x ∧ 1 = x,
x∨0=x
Extremalgesetz
x ∧ 0 = 0,
x∨1=1
Involution
¬(¬x) = x
Dualität
¬0 = 1,
Komplement
x ∧ (¬x) = 0,
Technische Informatik I
(x ∨ y) = (y ∨ x) (x ∨ y) ∨ z = x ∨ (y ∨ z)
x∨x=x x ∧ (y ∨ z) = x
¬1 = 0 x ∨ (¬x) = 1
x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Allgemeine Rechenregeln
Vollständige Logiken ▸
▸
Die Menge der Operationen {¬, ∧, ∨} definiert eine vollständige Logik auf dem Binäralphabet Alternativ definiert die Menge {∧, ∨} ebenfalls eine vollständige Logik
De Morgans Theoreme ▸
Beide Logiken sind äquivalent und können mit Hilfe der Theoreme von De Morgan ineinander überführt werden
Technische Informatik I
x∧y = ¬x ∨ ¬y
(3)
x∨y = ¬x ∧ ¬y
(4)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Allgemeines zur Codierung
Allgemeines zur Codierung ▸ ▸
Bijektive Abbildungen Darstellung durch Berechnungsvorschrift oder Zuordnungstabelle
▸
Minimale Wortlänge (oft nicht erreichbar)
▸
Redundanz sinnvoll ausnutzen
Binär codierte Dezimalzahlen ▸
Einfachster Code
▸
Binärzahlen durch Transformation des Zahlensystems
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Codierung quantisierter Signale
Binäre Codierung ▸
Abgetastete Werte werden binär codiert
▸
Überlauf vermeiden
▸
Höhere Frequenz erforderlich
▸
Serielle oder parallele Übertragung
Technische Informatik I
s(t)
t
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Hamming-Distanz
Hamming-Distanz ▸
Maß für Unterschiedlichkeit von Wörtern
▸
Anzahl der unterschiedlichen Symbole in zwei Wörtern
▸
Berechnung durch bitweise Antivalenz und Abzählen der Einsen ∆(x, y) = ∑ 1, xi ≠yi
i = 0, . . . , n
Hamming-Gewicht ▸
Hamming-Distanz eines Wortes zum Nullwort
Technische Informatik I
(5)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Hamming-Distanz
011 111
010 110
001 101
000 100
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Gray-Code
Gray-Code ▸
▸ ▸
▸
Code mit einer Hamming-Distanz von ∆(xn , xn+1 ) = 1 Zirkulärer Code Vorteilhaft beim Entwurf von Zählern Algorithmisch aus Binärcodes berechenbar
Technische Informatik I
n
xn
xn+1
0 1 2 3 4 5 6 7
000 001 011 010 110 111 101 100
001 011 010 110 111 101 100 000
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Gray-Code
Zeichencodierung ▸
Klassisch über ASCII-Code (7 Bit)
▸
Lateinische Buchstaben, Zahlen, Sonderzeichen
▸
Großbuchstaben ab 65 (entspricht »A«)
▸
Kleinbuchstaben ab 92 (entspricht »a«)
▸
Ziffern ab 48 (entspricht »0«)
▸
Niedrige Stellen (unter 32) mit Steuerzeichen belegt
▸
Heutige Alternativen: ISO-8915, Unicode, . . .
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Positive und negative Zahlen
Problem ▸
Computer kennt nur 1 und 0
▸
Keine Vorzeichen vordefiniert
Zweierkomplement ▸
Algorithmischer Lösungsansatz
▸
Entspricht Vorzeichenwechsel der binär codierten Zahlen
▸
Links stehen nur noch Einsen
1. Invertiere jedes einzelne Bit (Einerkomplement) 2. Addiere 1 (Zweierkomplement)
Technische Informatik I
Zahlendarstellung
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Positive und negative Zahlen
Beispiel ▸
Binär codierte Zahl 2 = 010
1. Invertieren zum Einerkomplement: 101 2. Inkrementieren zum Zweierkomplement: 110 ▸
Entspricht Vorzeichenumkehr (in beide Richtungen)
▸
Zirkulärer Wertebereich
▸
Auf Bereichsfehler achten!
Technische Informatik I
100 101 -3
-4
3
110 -2 -1 111
011 2 010
0 000
1 001
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Reelle Zahlen
Problem ▸
Bisher nur ganze Zahlen möglich
Darstellung von reellen Zahlen ▸
Erweiterung der Polynomdarstellung ∞
z = ∑ zi ⋅ Bi i=−∞
▸
Ideale Darstellung ohne Rundungsfehler
▸
Praktisch nicht realisierbar wegen endlichem Speicher
▸
Stattdessen werden Fließkommazahlen verwendet
Technische Informatik I
(6)
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Zahlendarstellung
Reelle Zahlen
Fließkommazahlen ▸
Idee: Bei sehr großen Zahlen sind kleine Werte vernachlässigbar
▸
Aufteilung in Mantisse und Exponent
▸
Vorzeichenbit (1 für negative, 0 für positive Zahlen)
▸
Normierte Codierung nach IEEE-754 Standard
▸
Nachteil: Rundungsfehler nicht ausgeschlossen 1
1000 0110
1011 1011 1000 0000 0000 000
Sign
Exponent
Mantisse
1 Bit
8 Bit
23 Bit
Technische Informatik I
Überblick
Information
Zahlensysteme
Boolesche Algebra
Codierung
Reelle Zahlen
Exponent ▸
Verschiebung (Bias) um 127
▸
Größenordnung n = e − 127 der codierten Zahl
Mantisse ▸
Legt die Nachkommastellen der codierten Zahl fest
▸
Verschoben um n Bits
▸
Imaginäre Eins vorm Komma
Technische Informatik I
Zahlendarstellung