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