mittels transistoren

Werbung
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise
eines Computers
Ein Überblick
Vorlesung am 27.10.05
Folien von A.Weber und W. Küchlin, überarbeitet von D. Huson
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
Wie werden logische und arithmetische Operationen
beschrieben und in Hardware realisiert?
• Digitale Logik: AND- , OR-, NOT- Gatter
• Durchführung mittels Transistoren
• Mathematisch modelliert durch Boole’sche Algebra
Instruction Set Architecture (ISA)
Interpretation durch Mikroprogramm
Mikroarchitektur
Ausführung durch Hardware
Digitale Logik
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Im digitalem Rechner kommen nur die Signale 0 und 1 vor
• Eine digitale Schaltung hat Eingänge e1,e2,…,ep und Ausgänge
a1,a2,…,aq
• Signale 0 und 1 auf den Eingängen müssen auf Signale 0 und 1
auf den Ausgängen abgebildet werden
• Eine solche Abbildung f heißt Schaltfunktion:
Eingänge
0
1
1
1
1
0
e0
e1
e2
e3
e4
e5
1
0
0
1
1
1
f
a0
a1
a2
a3
Ausgänge
a4
55
f : IBp -> IBq
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Eine Schaltfunktion mit nur einem Ausgang heißt
Boole´sche Funktion
• Einfachster Fall: ein Eingang, ein Ausgang
– 4 mögliche Schaltfunktionen, NUL, ONE, ID und NOT
– NUL immer 0, ONE immer 1, ID Identität
0
ID
____
0|0
1|1
0
0
NOT
____
0|1
1|0
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Nächster Fall: 2 Eingänge, 1 Ausgang
– 4 mögliche Eingangsbitmuster, je 2 mögliche Ausgangswerte
– Insgesamt: 24 = 16 mögliche Funktionen
• Weniger interessant: NUL, ONE, a, NOT a, b, NOT b, …
• Interessant: AND, OR, NAND, NOR, XOR, EQV, IMP
a, b
NOR
XOR
NUL
NOTa
NAND
AND
EQV
NOTb
IMP
b
OR
a
ONE
00
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
01
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
10
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
11
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Die wichtigsten (Schalt-)Gatter: AND, OR, NOT, (XOR, NAND, NOR)
•
Schaltbilder nach IEEE Standard:
a,b
OR
XOR
00
0
0
01
1
1
10
1
1
11
1
0
a
a OR b
b
a
NOT
0
1
1
0
a
a XOR b
b
a
a,b
AND
NAND
00
0
1
01
0
1
10
0
1
11
1
0
a AND b
b
a
a NAND b
b
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beispiel: OR Gatter
a
0
0
b
a OR b
0
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beispiel: OR Gatter
a
0
1
b
a OR b
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beispiel: OR Gatter
a
1
1
b
a OR b
0
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beispiel: OR Gatter
a
1
1
b
a OR b
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Exkurs: Bausteine Digitaler Logik (Ebene der Elektrotechnik)
• Logik-Bausteine (Gatter,
gate) heute durch
Transistoren realisiert
• Transistor: elementarer
elektronischer Schalter
• schaltet Strom von
Kollektor zu Emitter durch
Spannung an Basis
• Transistoren aus
Halbleitermaterial Silizium
(silicon)
Kollektor
Basis
Emitter
Erster Transistor 1958
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Exkurs: Bausteine Digitaler Logik (Ebene der Elektrotechnik)
+
• Die wichtigsten Gatter:
AND, OR, NOT, (XOR,
NAND, NOR) sind auf
einfache Weise durch
Transistoren realisierbar
1
NOT a
a
zu
0
Spannung
Kollektor
+
+
Basis
0
NOT a
Emitter
• Beispiel NOT:
1
a
auf
Keine Spannung
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Exkurs: Bausteine Digitaler Logik (Ebene der Elektrotechnik)
+
• Die wichtigsten Gatter:
AND, OR, NOT, (XOR,
NAND, NOR) sind auf
einfache Weise durch
Transistoren realisierbar
1
a NAND b
a
0
1
zu
Spannung
b
auf
Kollektor
+
+
Basis
0
-
a NAND b
Emitter
• Beispiel NAND:
1
1
a
b
auf
auf
Keine Spannung,
da beide Transistoren
durchgeschaltet
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Exkurs: Bausteine Digitaler Logik (Ebene der Elektrotechnik)
+
• MOS-FET (Feldeffekt
Transistor):
auf
Spannung
1
a
Spannung hier
„öffnet Schalter“
auf
1
b
• Beispiel: AND
a AND b
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Verschiedene Schaltungen können die selbe Schaltfunktion
realisieren. Beispiele mit AND, OR, NOT:
–
–
–
–
NAND(a,b) = NOT(AND(a,b))
NOR(a,b) = NOT(OR(a,b))
EQV(a,b) = OR(AND(a,b), NOR(a,b))
…
NOR
OR
AND
• Beweis durch Vergleich der Funktionstabellen:
a,b
NOR
XOR
NAND
AND
EQV
OR
a,b
AND
NOR
OR(AND,NOR)
EQV
00
1
0
1
0
1
0
00
0
1
1
1
01
0
1
1
0
0
1
01
0
0
0
0
10
0
1
1
0
0
1
10
0
0
0
0
11
0
0
0
1
1
1
11
1
0
1
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
EQV(a,b) = OR(AND(a,b), NOR(a,b))
0
0
NOR
1
OR
AND
a,b
NOR
AND
OR
EQV
00
1
0
0
1
01
0
0
1
0
10
0
0
1
0
11
0
1
1
1
0
1
0 0 -> 1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
EQV(a,b) = OR(AND(a,b), NOR(a,b))
0
1
NOR
0
OR
AND
a,b
NOR
AND
OR
EQV
00
1
0
0
1
01
0
0
1
0
10
0
0
1
0
11
0
1
1
1
0
0
0 0 -> 1
0 1 -> 0
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
EQV(a,b) = OR(AND(a,b), NOR(a,b))
1
0
NOR
0
OR
AND
a,b
NOR
AND
OR
EQV
00
1
0
0
1
01
0
0
1
0
10
0
0
1
0
11
0
1
1
1
0
0
0 0 -> 1
0 1 -> 0
1 0 -> 0
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
EQV(a,b) = OR(AND(a,b), NOR(a,b))
1
1
NOR
0
OR
AND
a,b
NOR
AND
OR
EQV
00
1
0
0
1
01
0
0
1
0
10
0
0
1
0
11
0
1
1
1
1
1
0 0 -> 1
0 1 -> 0
1 0 -> 0
1 1 -> 1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Jede Schaltfunktion f ist Kollektion Boole’scher Funktionen
• Jede Boole’sche Funktion kann durch eine Kombination von
AND, OR, NOT realisiert werden
Eingänge
•
0
1
1
1
1
0
e0
e1
e2
e3
e4
e5
1
0
0
1
1
1
f
a0
a1
a2
a3
Ausgänge
a4
55
Eine Schaltfunktion wird durch eine integrierte Schaltung realisiert, die aus
ADD, OR und NOT Gatter besteht (alternativ: NAND bzw. NOR)
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Jede Boole’sche Funktion kann durch eine Kombination von
AND, OR, NOT realisiert werden
• Beispiel: Eingänge e1..e4, Ausgänge a1..a4, Schaltfunktion f:
f=
e1 e2 e3 e4
a1
a2
a3 a4
0000
1
1
1
0
0001
0
1
0
1
0010
0
1
1
1
0011
1
0
1
0
0100
0
1
0
1
0101
0
1
1
0
0110
0
0
1
1
1
1
0
1
...
1111
Bool’sche Funktion f1 für a1:
f1=1, genau dann, wenn:
e1=0 AND e2=0 AND e3=0 AND e4=0
OR
e1=0 AND e2=0 AND e3=1 AND e4=1
...
OR
e1=1 AND e2=1 AND e3=1 AND e4=1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Realisierung von Schaltfunktion mittels Bool‘sche Funktionen
• Schaltfunktion f : (e1,e2,...,ep) --> (a1,a2,...,aq) ist
gegeben durch die Bool‘sche Funktionen:
f1 : (e1,e2,...,ep) --> a1
f2 : (e1,e2,...,ep) --> a2
...
fq : (e1,e2,...,ep) --> aq,
• wobei jeder diese Funktionen fi mittels AND,
OR und NOT realisierbar ist.
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Arithmetik mittels Schaltfunktionen realisierbar
• Intuition: endlich viele Ziffern Æ endlich viele Fälle
• Beispiel: Eine Spalte der Addition c = a+b
– Übertrag von rechts: cin (carry in); Übertrag nach links cout
• Kompletter Addierer ist Reihe davon: ripple carry adder
a, b, Cin
Cout
c
((a XOR b) AND Cin) OR (a AND B)
(a XOR b) XOR Cin
000
0
0
0
0
010
0
1
0
1
100
0
1
0
1
110
1
0
1
0
001
0
1
0
1
011
1
0
1
0
101
1
0
1
0
111
1
1
1
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
Definition: Sei B eine Menge und \/, ^ seien zwei Verknüpfungen
∈
auf B und 0, 1 B zwei feste Elemente.
Es gelte:
1. \/ und ^ sind assoziativ und kommutativ.
2. Es gelten die Distributivgesetze:
x \/ (y ^ z) = (x \/ y) ^ (x \/ z) und x ^ (y \/ z) = (x ^ y) \/ (x ^ z).
3.
4.
5.
x ^ 0 = 0, und x ^ 1 = x für alle x,
x \/ 0 = x, und x \/ 1 = 1 für alle x,
Zu jedem x gibt es genau ein ~x mit x ^ ~x = 0 und x \/ ~x = 1.
( ~ ist ein einstelliger Operator, NOT)
Dann heißt [B; \/,^,~ , 0, 1] (kürzer: B) eine Boolesche Algebra.
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Boole’sche Schaltfunktionen bilden eine Boole’sche Algebra
Schaltalgebra [{0,1}; OR, AND, NOT, 0, 1]
• Beweis: rechne Axiome über Funktionstabellen nach
– endliche Fallunterscheidung, da nur 0 und 1
– Beispiel: x OR (y AND z) = (x OR y) AND (x OR z)
x,y,z
y AND z
x OR (y AND z)
x OR y
x OR z
(x OR y) AND (x OR z)
000
0
0
0
0
0
001
0
0
0
1
0
010
0
0
1
0
0
011
1
1
1
1
1
100
0
1
1
1
1
101
0
1
1
1
1
110
0
1
1
1
1
111
1
1
1
1
1
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
Weitere Gesetze (Sätze) der Boole´schen Algebra
1. Doppelte Negation: ~(~x) = x
2. Idempotenz: x \/ x = x, und x ^ x = x
3. Absorption: x \/ (x ^ y) = x und x ^ (x \/ y) = x
x \/ (y ^ z) = (x \/ y) ^ (x \/ z) und
x ^ (y \/ z) = (x ^ y) \/ (x ^ z).
4. Implikation: (x => y) = ~x \/ y
[in Schaltalgebra ist “=>” die Funktion IMP]
5. de Morgan Regeln: ~(x \/ y) = (~x ^ ~y)
~(x ^ y) = (~x \/ ~y)
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beweis mittels Wahrheitstabelle
• Beweis von de Morgan Regel 1:
~(x \/ y) = (~x ^ ~y)
x y
~x
~y
x \/ y
~(x \/ y)
~x ^ ~y
0 0
1
1
0
1
1
0 1
1
0
1
0
0
1 0
0
1
1
0
0
1 1
0
0
1
0
0
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Beweis mittels Wahrheitstabelle
• Beweis von de Morgan Regel 2:
~(x ^ y) = (~x \/ ~y)
x y
~x
~y
0 0
1
1
0 1
1
0
1 0
0
1
1 1
0
0
x^y
~(x ^ y)
~x \/ ~y
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Folien zu Kapitel 2: Aufbau und Funktionsweise eines Computers
Digitale Logik und Boolesche Algebra
• Mit den Gesetzen der Boole´schen Algebra lassen sich
Boole´sche Audrücke in gleichwertige (äquivalente)
umformen
• Gleichwertige Ausdrücke stellen dieselbe
Schaltfunktion dar
• Dadurch funktional gleichwertiges Ersetzen möglich:
– Vereinfachung: weniger Logik-Gatter
– Beschleunigung: schnellere Schaltungen
– Kosten: billigere/kleinere Bauteile
• Boole´sche Operatoren AND, OR, NOT in Java: &&, ||, !
– günstigen Java Ausdruck für gewünschte Funktion finden
W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java , Springer-Verlag, Folien überarbeitet von D. Huson
Herunterladen