Wie funktionieren Computer im Detail?

... komplette Frage anzeigen

6 Antworten

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

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Elmo2999
28.09.2016, 18:23

Achja zur These warum alles mit NOT und einem OR oder AND geht.. ein OR ist ein negiertes AND und andersrum. Also braucht man um einen Computer zu bauen im Grunde nur zu verstehen, dass:

1.) Nicht etwas ist nichts, nicht nichts ist etwas.

2.) Nur etwas und etwas ist etwas oder optional etwas oder etwas ist etwas und nur nichts ist nichts.

:D

0

Also alles was auf einem Mainboard so passiert ins Detail zu erklären, geht etwas zu tief.

In dieser Videoreieh geht es etwas tiefer als der reine Sinn und Zweck einer Komponente. Die Videos sind meiner Meinung nach gut gemacht:
https://www.youtube.com/playlist?list=PL6DU7YsYvRpA31RgBg1MUTf2EuVtmAF-E

Wenn es dir um die Funktionsweise einer CPU geht, solltest du dir Dokus und Erklärungen zur MIPS-CPU anschauen. Die stimmt zwar nicht mit modernen Architekturen überein, Bitet aber eine gute Anschauung, was so passiert.

Antwort bewerten Vielen Dank für Deine Bewertung

Tja, Computer gehören eben zu den vielen Dingen, wo Menschen nicht realisieren, daß da ein wahres Wunder auf ihrem Tisch steht, oder in Form des Telefons in der Hosentasche steckt.

Aber... grundsätzlich sind Computer eigentlich unendlich dämlich. Der Rechner kann im Kern nix anderes als zwischen den Zuständen "an" und "aus" zu unterscheiden. Aber das kann erhalt, im vergleich zum Menschen, unfassbar schnell.


Gerade wo du das Thema "from Scratch" ansprichst... Computer waren tatsächlich am Anfang ganz normale Schaltrelais. Zum Verstehen des modernen Computers musst du Zwangsweise aber nicht nur etwas Elektrotechnik, sondern insbesondere den Transistor verstehen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MatthiasHerz
28.09.2016, 15:49

Die „Dämlichkeit” von Computern ist heutzutage mit Vorsicht zu genießen.

Verstärkt werden selbstlernende Systeme aufgebaut auf Basis neuronaler Netze, dem menschlichen Gehirn nachempfunden.

Pauschal lässt sich also nicht mehr sagen, Computer seien grundsätzlich dumm.

0

Die Antwort ist zu Umfangreich um Sie hier zu beantworten.

Beschäftige dich mal mit den ersten Computern wie den Zuse 1, der komplett mechanischer Natur war, jedoch frei programmierbar. Nach und nach wurden solche Komponenten durch elektrische Bauteile und später durch elektronische Bauteile ersetzt. 

Antwort bewerten Vielen Dank für Deine Bewertung

Gib mal die Frage in youtube ein da kommen viele Videos.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DursyArts
28.09.2016, 15:45

Der Youtuber BrainFaq oder BrainFaqk (keine ahnung grad) hat dazu mal eine video reihe gemacht

0

Was möchtest Du wissen?