So kompliziert ist es nicht, am Ende braucht man nur eine logische Grundfunktion seiner Wahl und die Negierung, wie z.B. AND und NOT... OR und NOT.
Die könnte man mit Folgenden Zeichen notieren:
AND = ^
OR = |
NOT = !
Wie gesagt, NOT in Kombination von einem AND oder OR würde ausreichen um jede logische Schaltung erstellen zu können. Dazu benötigt man die boolsche Algebra.
NOT heißt, immer das was ist, davon das Gegenteil nehmen, AND heißt, beide Eingänge müssen an sein (1) um einen Ausgang von 1 zu erhalten, bei OR muss nur ein ein Eingange an sein.
Folgende Funtionstabellen ergeben sich:
NOT
A C
1 0
0 1
AND
A B C
0 0 0
0 1 0
1 0 0
1 1 1
OR
A B C
0 0 0
0 1 1
1 0 1
1 1 1
Der Ausgang ist immer C in den Fällen.
Man sieht, NOT hat nur einen Eingang und als Ausgang immer das Gegenteil, bei AND müssen beide an sein, bei OR reicht es wenn einer an ist, dürfen aber auch beide 1 sein.
Diese Grundfunktionen kann man nun verketten. Da gibt es Symbole zu wie diese: http://www.dieelektronikerseite.de/Pics/Sheets/Schaltzeichen%20Logik-Gatter.GIF
Dadrauf ist z.B. auch das XOR (exklusives oder, sehr wichtig). Aber das XOR kann man wie gesagt auch durch die Verkettung von den Grunddingern erreichen. Das XOR sieht so aus:
XOR
A B C
0 0 0
0 1 1
1 0 1
1 1 0
Das XOR ist eben ein OR das ein OR sein muss und kein AND sein darf. Eben in pures OR. Beide Eingänge müssen unterschiedlich sein.
Das XOR kann man so z.B. bauen:
(!A ^ B) | (A ^ !B)
Diese logische Gleichung sagt nun (Klammern kommen zuerst, und AND vor OR.. das macht die Klammern eigentlich überflüssig) folgendes:
Nicht A und B muss 1 sein oder A und nicht B muss 1 sein um am Ende 1 zu erhalten. Also ein Eingang an und der andere aus.
So könnte das als Schaltung aussehen:
http://www.christophtutorials.de/bilder/logisim-xor-2.png
Dieser Hut mit den Murmeln dran ist das NOT, jeder Eingang wird einmal negiert. Die runden Teile sind das AND und am Ende kommt das OR.
Diese Logikbausteine gibt es z.B. als simpelste Chips. Die kannst du z.B. bei Conrad kaufen. Da gibt es aber gleich auch Chips, die machen das XOR oder gleich den "binary full adder" oder sind ein kompletter Prozessor.
XOR ist so wichtig weil es im Grunde binäres Plusrechnen ist. Denn im Binären geht die Stelle eine Zahl nur bis 1...
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
^^So kann man binär bis 10 (dezimal) Zählen. Eine Stelle geht bis 1, danach ist die verbraucht und man braucht eine neue. Wenn man nun addiert, sieht man folgendes:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Nimm mal die letzte Stelle der Zahl im Ergebnis... = XOR ;) die Zweite ist ein AND. Kombiniert man ein XOR mit einem AND kann man binär addieren.
Das AND erzeugt dabei den Übertrag (carry overload) und muss einfach in den Nächsten Eingang mit OR angefügt werden. Schaltet man jetzt z.B. 32 solcher binären Volladdierer nebeneinander in Reihe, kann man Zahlen von einer Länge bis 32 Bit mit einmal addieren. z.B. 301 + 183 = 484:
A 00000000000000000000000100101101
B 00000000000000000000000010110111
Übertrag 00000000000000000000000001101110
Ergebnis 00000000000000000000000111100100
A und B werden addiert. Der Übertrag ist quasi das AND. Das ist Addieren wie in der Schule bloß mit binären Zahlen die nur bis 1 gehen. Sowas kann man löten, bleibt man dabei konstant auf 32 Bit, hat man am Ende einen 32 Bit Rechner. Minus kann man durch das Zeierkomplement erreichen...Mal und Durch später z.B. durch die Programmierung...
Packt man dem ganzen jetzt eine Programmsteuerung hinzu, also Taktgeber (das was immer mit Mhz angegeben wird), Befehlsinterpreter, Registerspeicher (Speicher wo zb die Eingänge zum Rechenwerk oder der ALU - Algorythmic Logical Unit, vermerkt werden und Zwischenwerte verfügbar bleiben), ... können Programme ausgeführt werden und man hat eine einfache CPU gebaut.
Man müsste sich nur noch einen Maschinencode überlegen den die Schaltung interpretieren kann. Dieser müsste in einem Speicher vorliegen, den die CPU Adressenweise ausliest, interpretiert und ausführt. Dazu gibt es einen Adressbus. Wenn der nun 32 Bit breit ist können 4,2 Mrd. Speicherstellen oder Geräte angesprochen werden. Über den Datenbus können sich dann Datenausgetauscht werden. So kann die CPU Geräte steuern die dann ebenfalls einfach logische Schaltungen sind und so ggf eine Bildschirmausgabe über eine Grafikeinheit realisieren.
Und am Ende ist es so, dass man jede Schaltung auf einen Chip bekommt. Da diese ja immer dichter bestückbar werden.
Damals konnte man paar ANDs gleichzeitig auf einen Chip basteln, später dann einen ganzen Prozessor, heute einen ganzen Computer (z.B. Handy SoC)...
Nunja, war ein kleiner Crashkurs.
LG