Forum: Offtopic Wie funktioniert eine CPU? Erklärung für einen Fachfremden


von Christian M. (christian_m132)


Lesenswert?

Hallo,

Vorab, ich bin weder Elektrotechniker noch Informatiker.

Schon mein Leben lang nutze ich Computer. Vor kurzem habe ich mit 
durchgelesen wie eine CPU funktioniert und wie Intel diese Dinger 
herstellt.

Trotzdem fehlen mir die Grundlagen um zu verstehen, wie aus einem 
Mechanischem objekt mit bestimmten Formen und "rillen" ein 
elektronisches Gerät wird.

Wieso tut eine CPU, was sie tut? Wie kommt der "Strom" darein? Und wieso 
kann dieser Strom verarbeitet werden?
Ich vermute mal, meine Frage zielt auf Grundlagen der 
Elektrotechnik/Halbleitertechnik, aber kann man die Funktionsweise einer 
CPU nicht für einen Laien einfach erklären, damit dieser versteht wie 
eine CPU funktioniert? Und damit meine ich nicht, welche BEstandteile 
die CPU hat und was die Aufgaben dieser komponenten sind, sondern warum 
das ding mit strom läuft und ob lediglich die Materialeigenschaften und 
die Mechanik dafür verantwortlich ist, dass die CPU das tut, was sie 
tut?

Ich hoffe meine Frage ist halbwegs verständlich^^

von (prx) A. K. (prx)


Lesenswert?

Christian M. schrieb:
> Ich hoffe meine Frage ist halbwegs verständlich^^

Das Funktionsprinzip von Rechnern ist unabhängig von der Arbeitsweise 
der Komponenten, aus der sie bestehen. Es ist also dem Prinzip nach egal 
ob das Relais sind, Röhren, Bipolar- oder Feldeffekttransistoren. Erst 
bei Quantenrechnern wird das wirklich interessant.

Also: Willst du wissen wie eine CPU funktioniert, oder geht es eher um 
die Frage, was Strom ist und was Transistoren damit machen. Denn wenn du 
den Feldeffekttransistor verstanden hast, und die heute verwendete 
CMOS-Logik, dann ist die Grundlage für heutige CPUs vorhanden.

: Bearbeitet durch User
von Jeffrey L. (the_dude)


Lesenswert?

Deine "Rillen" sind in wirklichkeit leitende Verbindungen zwischen 
Transistoren.
https://de.wikipedia.org/wiki/Transistor

Ein Transistor ist vergleichbar mit einem Relais, jedoch wurden die 
mechanischen, beweglichen Teile duch Silizium ersetzt, somit gibt es 
keinen Verschleiß. Darüber hinaus sind die Transistoren viel kleiner in 
ihrer Bauform - 22µm ist die derzeit aktuelle Fertigungsgröße.

Das ganze schaltet dann wie wild hin und her, wobei es in der CPU für 
verschiedene Aufgaben unterschiedliche Bereiche gibt, ein bestimmter 
Transistor kann nicht für "alles" verwendet werden.


Softwareseitig hat jede CPU einen begrenzenten und bestimmten 
Befehlssatz - dieser Befehlssatz beinhaltet alle zur verfügung stehenden 
Aktionen - die dann wieder von den jeweiligen Transistoren ausgeführt 
werden.

So wie die Schalter bei Dir im Haus, Die Schalter haben alle fest 
zuegordnete Aufgabe: Licht Keller, Rolladen Küche, Klingel Türe...

Wenn Du das Licht im Keller einschalten möchtest, musst Du den 
entsprechenden Lichtschalter betätigen - das ist quasi der Befehlssatz 
für Dein Haus.
So ähnlich funktioniert es in einer CPU - nur dass die CPU viel mehr 
Schalter / Transistoren hat.

ein aktueller Inten core-i7 hat um die 1,4 Milliarden Transistoren - das 
wäre ein sehr großes Haus.


Edit: die aktuellen Inten Core-I Prozessoren verwenden den 
IA-64-Befehlssatz, ich habe irgendwo mal gelesen dass dieser Befehlssatz 
rund 500 Anweisungen beinhaltet. Mit diesen 500 Anweisungen müss 
Microsoft (auf der untersten Programmierebene) zurecht kommen um Windows 
zu programmieren.

: Bearbeitet durch User
von J. D. (snowowl)


Lesenswert?

Im Prinzip ist eine CPU eine Ansammlung von Schaltern die von anderen 
Schaltern betätigt werden(https://de.wikipedia.org/wiki/Transistor).
Bei den herkömmlichen CPUs sind das auf Halbleiter aufgebaute 
Transistoren die dann widerum logische Elemente 
bilden(https://de.wikipedia.org/wiki/NAND-Gatter). Diese logischen 
Elemente bilden dann letztendlich einzelnen Komponenten innerhalb der 
CPU. Damit ist durch das Material(Halbleiter) auch vorgegeben das die 
CPU mit Strom läuft.
Es ist auch theoretisch möglich eine CPU auf Basis Wasser, Luft oder 
Licht aufzubauen solange man diese "Schalter" umsetzen kann um die 
notwendigen logischen Elemente zu bauen. Nur ist die erreichbare 
Baugröße bei der Stromvariante noch deutlich kleiner als bei den anderen 
Versionen.

: Bearbeitet durch User
von Christian M. (christian_m132)


Lesenswert?

>
> Also: Willst du wissen wie eine CPU funktioniert, oder geht es eher um
> die Frage, was Strom ist und was Transistoren damit machen. Denn wenn du
> den Feldeffekttransistor verstanden hast, und die heute verwendete
> CMOS-Logik, dann ist die Grundlage für heutige CPUs vorhanden.

Das Zweite !

> Deine "Rillen" sind in wirklichkeit leitende Verbindungen zwischen
> Transistoren.
> https://de.wikipedia.org/wiki/Transistor

Ok sie leiten den Strom zwischen den Transsistoren

>
> Ein Transistor ist vergleichbar mit einem Relais, jedoch wurden die
> mechanischen, beweglichen Teile duch Silizium ersetzt, somit gibt es
> keinen Verschleiß. Darüber hinaus sind die Transistoren viel kleiner in
> ihrer Bauform - 22µm ist die derzeit aktuelle Fertigungsgröße.

Was ist ein Relais? Kann man die Funktionsweise nicht abstrahiert 
darstellen mit z.B. einfachen Beispielen die man aus der Natur kennt? So 
ála Sendung mit der Maus ? xD


>
> Das ganze schaltet dann wie wild hin und her, wobei es in der CPU für
> verschiedene Aufgaben unterschiedliche Bereiche gibt, ein bestimmter
> Transistor kann nicht für "alles" verwendet werden.
>

Also Strom wird hin und hergeschaltet und die CPU misst da was?

>
> Softwareseitig hat jede CPU einen begrenzenten und bestimmten
> Befehlssatz - dieser Befehlssatz beinhaltet alle zur verfügung stehenden
> Aktionen - die dann wieder von den jeweiligen Transistoren ausgeführt
> werden.
>
> So wie die Schalter bei Dir im Haus, Die Schalter haben alle fest
> zuegordnete Aufgabe: Licht Keller, Rolladen Küche, Klingel Türe...
>
> Wenn Du das Licht im Keller einschalten möchtest, musst Du den
> entsprechenden Lichtschalter betätigen - das ist quasi der Befehlssatz
> für Dein Haus.
> So ähnlich funktioniert es in einer CPU - nur dass die CPU viel mehr
> Schalter / Transistoren hat.

Das ist eine Supererklärung (und macht vermutlich das was ich oben 
geschrieben habe überflüssig, ich lass es mal aus bequemlichkeit 
trotzdem stehen ;))

>
> ein aktueller Inten core-i7 hat um die 1,4 Milliarden Transistoren - das
> wäre ein sehr großes Haus.
>

Joa...

> Im Prinzip ist eine CPU eine Ansammlung von Schaltern die von anderen
> Schaltern betätigt werden(https://de.wikipedia.org/wiki/Transistor).
> Bei den herkömmlichen CPUs sind das auf Halbleiter aufgebaute
> Transistoren die dann widerum logische Elemente
> bilden(https://de.wikipedia.org/wiki/NAND-Gatter). Diese logischen
> Elemente bilden dann letztendlich einzelnen Komponenten innerhalb der
> CPU. Damit ist durch das Material(Halbleiter) auch vorgegeben das die
> CPU mit Strom läuft.
> Es ist auch theoretisch möglich eine CPU auf Basis Wasser, Luft oder
> Licht aufzubauen solange man diese "Schalter" umsetzen kann um die
> notwendigen logischen Elemente zu bauen. Nur ist die erreichbare
> Baugröße bei der Stromvariante noch deutlich kleiner als bei den anderen
> Versionen.


Aber die CPU wird doch auf Silizium gebaut, weil da das Elemen strom 
leitet (Leiten Luft/LICHT?? Strom?), wie findet eigentlich die 
Abgrenzung dieser Röhrchen zu der Umgebung statt? Also müsste nicht mit 
Gummi o.Ä. versucht werden zu verhindern, dass der Strom "woanders" 
hinfliesst? Ein integrierter Schaltkreis besteht ja nichtmehr aus 
verschiedenen Materialien wenn ich das richtig verstanden habe sondern 
wird nur noch über eine besondere Form definiert?

von Jeffrey L. (the_dude)


Lesenswert?

Christian M. schrieb:
> Also müsste nicht mit
> Gummi o.Ä. versucht werden zu verhindern, dass der Strom "woanders"
> hinfliesst? Ein integrierter Schaltkreis besteht ja nichtmehr aus
> verschiedenen Materialien wenn ich das richtig verstanden habe sondern
> wird nur noch über eine besondere Form definiert?

Nein. Das Silizium wird mit Fremdatomen "dotiert", d.h. es werden 
entweder Atome hinzugefügt: P(ositiv)-Dotiert, oder es werden Atome aus 
dem Material entfernt: N(egativ)-Dotiert.

Wenn man nun P-dotiertes Silizium und N-dotiertes Silizium zusammen 
bringt, hat man zwischen den beiden Siliziumschichten eine Sperrschicht, 
erst wenn ein Schaltstrom an das Silizium angelegt wird, wird die 
Sperrschicht leitend und kann fließen.

Ein Transistor hat zwei Sperrschichten,also drei Schichten. bei NPN 
heißt das also, dass in die P-Schicht Strom hineinfließen muss, damit 
die Verbindung von N- zu N-Schicht leitend wird

Input--[N]-[P]-[N]-Output
            ^
            |
   Strom der hineinfließt und Verbindung von In zu Out herstellt

Schau Dir das Bild zum Transistor an:
https://de.wikipedia.org/wiki/Datei:NPN_transistor_basic_operation.svg


und ließ Dir dann mal das hier durch:
https://de.wikipedia.org/wiki/Dotierung


Du bewegst Dich aber hier schon auf einer Ebene die sehr ins Detail 
geht. Eine Siliziumscheibe (ein "Wafer") wird über mehrere Schichten und 
in sehr feinen abstufungen unterschiedlich dotiert, die 
unterschiedlichen Schichten sind 22µm breit, d.h. 22µm werden P-dotoert, 
direkt daneben sind 22µm N-dotoertes Material. Wenn man einen Bereich 
"isolieren" möchte, dann bekommt er keine dotierung, da fließt dann auch 
kein Strom...

: Bearbeitet durch User
von Jan H. (jan_m_h)


Lesenswert?

Jeffrey L. schrieb:
> entweder Atome hinzugefügt: P(ositiv)-Dotiert, oder es werden Atome aus
> dem Material entfernt: N(egativ)-Dotiert.

Und das ist Käse. Es werden immer Atome hinzugefügt. N-Dotiert heißt 
Fremdatome mit mehr Außenelektronen.
P-Dotiert nur weniger Außenelektronen. P(ositiv) und N(egativ) bezieht 
sich auf die eingebrachten beweglichen Ladungen.

von Robert L. (lrlr)


Lesenswert?

>Wenn man einen Bereich
>"isolieren" möchte, dann bekommt er keine dotierung, da fließt dann auch
>kein Strom...

imho auch Blödsinn, es werden auch isolierende Schichten aufgetragen..
aber bevor ich Blödsinn schreib, schreib ich lieber nix..

https://de.wikipedia.org/wiki/Strukturgr%C3%B6%C3%9Fe#/media/File:Scheme_of_metal_oxide_semiconductor_field-effect_transistor.svg

von Christian M. (christian_m132)


Lesenswert?

Nicht streiten, es geht mir ja nur darum dass prinzip nachzuvollziehen 
und nicht exakte Begriffe zu definieren.

Ich schildere mal grob meinen Überblick

Die Cpu besteht aus verschiedenen Scheiben (im Detail nicht so wichtig) 
mit entsprechenden, extrem feinen Kanälen durch die Strom fliesst.

Der Strom kann entweder 1 bzw. AN sein oder Aus bzw. 0.

Ich habe mal gehört, dass es eine Hardwarenahe Schicht gibt, in der 
Softwareprogrammierung. Also, dass die Maschinensprache nur zwischen 1 
und 0 unterscheidet.

Ich vermute mal, dass dies mit der Erklärung oben zusammenhängt. Es 
fliesst entweder strom durch die trillionen rillen oder eben nicht.

Und alles was der Computer kann (vom Anwendungsprogramm bis hin zum 
abspielen eines Videos) basiert im Grunde auf einer vervielfachung bzw 
kombination aus EINSEN und NULLEN?

Und die höhere Leistung einer CPU definiert sich dadurch wieviele Rillen 
auf die Fläche passen da somit zwischen mehreren "Rillen" unterschieden 
werden kann die entweder eine 0 oder eine 1 sind?

Passt das in etwa?
Warum müssen die CPUs eigentlich immer kleiner werden? Kann man nicht 
viel mehr Leistung erzeugen indem man einfach die Fläche der CPU 
vergrößert (bedeutet ja mehr Platz für "rillen") ?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Christian M. schrieb:
> Wieso tut eine CPU, was sie tut?

https://www.youtube.com/watch?v=qZwqKA3ZNC0

ab 1:50

das hat der Erfinder meist geplant (Pentium5 Bug ist einer dieser nicht 
geplanten Fälle)

> Wie kommt der "Strom" darein?

Durch die Kontakte, wie im Toaster auch am Stecker

> Und wieso kann dieser Strom verarbeitet werden?

weil dem Strom Wege geboten werden.

Zuerst hat man einen Halbleiter aus z.B. Silizium, der ist ein 
unbearbeitetes Stück Wald.

Dann kommen die Bagger und Holzfäller roden und planieren den Waldboden, 
man ätzt Schneisen in den Halbleiter.
Dann wird Asphalt in die Schneise gekippt, also leitfähigen Material auf 
die Schneise gedampft, das kann dann den Strom leiten in Pfaden wie auf 
den Strassen die Autos durch jede beliebige Landschaft.

Da wo der Strom nicht leiten soll würde man eine nichtleitene Schicht 
rüberkippen, vergleichbar dem Deckel auf einem Tunnel, dort könnten dann 
wieder Strassen entstehen ohne das sich die Autos treffen.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Jeffrey L. schrieb:
> Edit: die aktuellen Inten Core-I Prozessoren verwenden den
> IA-64-Befehlssatz,

IA-64 ist das, was früher mal "Itanium" hiess, und hat nichts mit x86 zu 
tun. Intels Nachbau von AMDs 64-Bit x86 Befehlssatz wird von Intel als 
EM64T bezeichnet.

von Michael K. (aemkai)


Lesenswert?

Christian M. schrieb:
> Kann man nicht viel mehr Leistung erzeugen indem man einfach die Fläche
> der CPU vergrößert

Nein, aber mit größerer Fläche kann man prima viel Leistung 
verbrauchen.

Eine größere Struktur bedeutet i.d.R. mehr Verlustleistung bei gleicher 
Funktion sowie höhere Produktionskosten.

> Passt das in etwa?
Vergiss das mit den Scheiben und Rillen...

: Bearbeitet durch User
von G. K. (zumsel)


Lesenswert?


von Christian M. (christian_m132)


Lesenswert?

Michael K. schrieb:
> Christian M. schrieb:
>> Kann man nicht viel mehr Leistung erzeugen indem man einfach die Fläche
>> der CPU vergrößert
>
> Nein, aber mit größerer Fläche kann man prima viel Leistung
> verbrauchen.
>
> Eine größere Struktur bedeutet i.d.R. mehr Verlustleistung bei gleicher
> Funktion sowie höhere Produktionskosten.
>

Mit Verlustleistung meinst du die Abwärme die entsteht oder? Das konnte 
ich jetzt nur richtig interpretieren, weil mir die Wärme bzw. 
Übertaktungsproblematik bei der PC-Hardware bekannt ist.

Aber Ok da macht es sinn, die Dinge immer kleiner zu baun.


>> Passt das in etwa?
> Vergiss das mit den Scheiben und Rillen...


Ja das mit den scheiben und rillen ist nicht so wichtig, es geht darum 
dass es kleine "bahnen" gibt durch die strom fliessen kann (=1) oder 
nicht (=0). Und diese Unterscheidung wird dann durch drüberliegende 
Softwareschichten "interpretiert" - mehr ist es doch im Grunde nicht?

Was für einen Einfluss hat eigentlich die "Taktfrequenz" auf das oben 
erwähnte Prinzip. Ein 3ghz Prozessor arbeitet ja schneller als ein 1ghz 
Prozesser. Bedeutet das, dass schneller zwischen 1 und 0 geschaltet 
werden kann (bzw strom an und aus) ?

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Christian M. schrieb:
> Ein 3ghz Prozessor arbeitet ja schneller als ein 1ghz Prozesser.

Nicht zwingend.

von Dennis S. (eltio)


Lesenswert?

Nette Seite, auch als PDF runterladbar zum Thema Halbleitertechnik:

http://www.halbleiter.org/downloads/

Gruß
Dennis

von Alex M. (googolplex1)


Lesenswert?

Jeffrey L. schrieb:
> 22µm ist die derzeit aktuelle Fertigungsgröße

hast du dich dabei nicht um den Faktor 10^-3 vertan?

https://de.wikipedia.org/wiki/Strukturgr%C3%B6%C3%9Fe#Geschichte

von Christian M. (christian_m132)


Lesenswert?

A. K. schrieb:
> Christian M. schrieb:
>> Ein 3ghz Prozessor arbeitet ja schneller als ein 1ghz Prozesser.
>
> Nicht zwingend.

Warum arbeitet meine CPU dann schneller wenn ich sie übertakte ?

von Alex M. (googolplex1)


Lesenswert?

Christian M. schrieb:
> A. K. schrieb:
>> Christian M. schrieb:
>>> Ein 3ghz Prozessor arbeitet ja schneller als ein 1ghz Prozesser.
>>
>> Nicht zwingend.
>
> Warum arbeitet meine CPU dann schneller wenn ich sie übertakte ?

Ich denke er meint damit, dass man nicht pauschal sagen kann, dass mehr 
GHz automatisch mehr Performance bringt. Ein Prozessor von 2010 mit 3GHz 
hat pauschal gesagt eine schlechtere Performance wie einer von 2015. 
(Optimierung, neue Techniken, Speicher, etc...)

Aber schneller im sinne von Taktrate stimmt natürlich :)

von (prx) A. K. (prx)


Lesenswert?

Christian M. schrieb:
> Warum arbeitet meine CPU dann schneller wenn ich sie übertakte ?

Weil es der gleiche Prozessor ist. Bei völlig verschiedenen Prozessoren 
gilt nicht zwingend, dass derjenige mit höherer Taktfrequenz schneller 
ist.

von Christian M. (christian_m132)


Lesenswert?

Ich meinte eigentlich eher, warum führt ein höherer takt zu mehr 
performance? was bedeutet ein takt? aus elektronischer Sicht.
Es geht ja nur um Einsen und um Nullen. Und eine CPU hat dann mehr 
performance wenn sie mehr einsen und nullen dastellen kann (also mehr 
strombahnen auf die fläche passen? heutige cpus sind ja viel kleiner als 
äältere. Was macht der Takt also?

von Der L. (vhdl-neuling)


Lesenswert?

Der Takt bestimmt die Schaltfrequenz.

Je schneller du beim morsen bist, umso mehr Informationen kannst du in 
einer bestimmten Zeit übertragen.

von (prx) A. K. (prx)


Lesenswert?

Christian M. schrieb:
> Ich meinte eigentlich eher, warum führt ein höherer takt zu mehr
> performance? was bedeutet ein takt?

Warum kommst du schneller zum Ziel, wenn sich die Räder deines Autos 
schneller drehen?

: Bearbeitet durch User
von Thomas H. (thoern)


Lesenswert?

Christian M. schrieb:
> Ich meinte eigentlich eher, warum führt ein höherer takt zu mehr
> performance? was bedeutet ein takt? aus elektronischer Sicht.
> Es geht ja nur um Einsen und um Nullen. Und eine CPU hat dann mehr
> performance wenn sie mehr einsen und nullen dastellen kann (also mehr
> strombahnen auf die fläche passen? heutige cpus sind ja viel kleiner als
> äältere. Was macht der Takt also?

Stell es dir einfach so vor:

Die einzelnen Befehle eines Programms befinden sich auf einem Stapel. 
Mit jedem Taktimpuls wird der jeweils nächste Befehl abgearbeitet. Die 
Daten, die durch die Befehle manipuliert werden, stehen in 
Arbeitsregistern. Je nach CPU sind diese 8, 16, 32 oder 64-Bit breit. 
Mit einer 32 Bit CPU kannst du mit einem Taktimpuls 32 Einsen und Nullen 
verarbeiten. Je schneller der Takt, umso schneller ändern die Befehle 
die Daten in den Arbeitsregistern. Stark vereinfacht:
Performance ergibt sich aus Takt und Registerbreite.

Hoffe, das ist einigermaßen verständlich.

Gruß,
thoern

: Bearbeitet durch User
von Christian M. (christian_m132)


Lesenswert?

A. K. schrieb:
> Christian M. schrieb:
>> Ich meinte eigentlich eher, warum führt ein höherer takt zu mehr
>> performance? was bedeutet ein takt?
>
> Warum kommst du schneller zum Ziel, wenn sich die Räder deines Autos
> schneller drehen?

Um das zu verstehen, braucht man die Information, was ein Takt überhaupt 
macht.

Der L. schrieb:
> Der Takt bestimmt die Schaltfrequenz.
>
> Je schneller du beim morsen bist, umso mehr Informationen kannst du in
> einer bestimmten Zeit übertragen.


Danke, das hat meine Frage beantwortet.

Und das hier:

T. T. schrieb:
> Christian M. schrieb:
>> Ich meinte eigentlich eher, warum führt ein höherer takt zu mehr
>> performance? was bedeutet ein takt? aus elektronischer Sicht.
>> Es geht ja nur um Einsen und um Nullen. Und eine CPU hat dann mehr
>> performance wenn sie mehr einsen und nullen dastellen kann (also mehr
>> strombahnen auf die fläche passen? heutige cpus sind ja viel kleiner als
>> äältere. Was macht der Takt also?
>
> Stell es dir einfach so vor:
>
> Die einzelnen Befehle eines Programms befinden sich auf einem Stapel.
> Mit jedem Taktimpuls wird der jeweils nächste Befehl abgearbeitet. Die
> Daten, die durch die Befehle manipuliert werden, stehen in
> Arbeitsregistern. Je nach CPU sind diese 8, 16, 32 oder 64-Bit breit.
> Mit einer 32 Bit CPU kannst du mit einem Taktimpuls 32 Einsen und Nullen
> verarbeiten. Je schneller der Takt, umso schneller ändern die Befehle
> die Daten in den Arbeitsregistern. Stark vereinfacht:
> Performance ergibt sich aus Takt und Registerbreite.
>
> Hoffe, das ist einigermaßen verständlich.
>
> Gruß,
> thoern

Hat mir noch ein besseres Verständnis ermöglicht. Danke!
Ich denke ich hab jetzt eine grobe Vorstellung davon, wie diese Dinge 
funktionieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.