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^^
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.
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.
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.
>> 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?
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...
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.
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") ?
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.
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.
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...
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) ?
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 ?
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 :)
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.
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?
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?
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
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.