Prozessor für Dummies erklärt?
Also ich habe Technisches Know-How, für alle die denken ich wüsste garnichts. Aber mal ne Frage zB ich habe einen i5 6500 mit 3,2 GHz - 3,6 GHz und einen i7 6600 mit ähm 3,6 GHz was sind die Unterschiede? Ich sehe manchmal i7 Prozessoren die in der GHz Zahl schwächer sind, aber anscheinend besser? Also ist das können von Prozessoren einfach nur den Gigaherz zuzuordnen? Also umso mehr Gigaherz umso besser?
Danke für die Antwort im vorraus!
6 Antworten
Der i7 hat Hyperthreading, d.h. beide haben 4 Cores, aber der i7 hat 8 virtuelle/logische Cores.
Der i3 hat 2 Kerne mit HT, der i5 hat 4 Kerne ohne und der i7 4+ Kerne mit HT
Ein Prozessor besteht aus sehr vielen kleinen Einheiten. Diese Einheiten können verschiedene Aufgaben erfüllen, so findest Du darunter immer Einheiten, welche die grundlegenden mathematischen Rechenaufgaben (also Addition, Subtraktion, etc.) können. Es gibt aber auch andere Einheiten, die andere Aufgaben erledigen.
Ein Programm, das ausgeführt wird, sagt dem Prozessor, welche dieser Aufgaben mit welchen Daten ausgeführt werden sollen.
Wenn es eine Einheit gibt, welche die benötigte Aufgabe vollständig erledigen kann, dann gibt's da kein Problem und die Aufgabe wird ohne Umwege erledigt. Gibt es aber keine passende Einheit, dann muss die Aufgabe aufgeteilt werden, in mehrere Teil-Aufgaben, die zusammen das gleiche Ergebnis bedeuten. Das hat aber den Nachteil, dass dabei die Daten nicht "auf einmal" verarbeitet werden können, sondern nur in mehreren Schritten, das kostet viel Zeit.
Den großen Unterschied sieht man auch bei CPU und GPU.
Die CPU ist eher allgemein gestaltet, sie muss direkt oder über Umwege alle gängigen Aufgaben erfüllen können, sie kann aber nicht so gut spezialisiert werden, weil sie ja alles können muss.
Die GPU dagegen wird für Grafik-Berechnungen genutzt, sie muss die allgemeinen Aufgaben der CPU gar nicht können und hat daher viel mehr Platz für andere Einheiten. Sie kann für sehr komplexe mathematische Aufgaben entsprechende Einheiten anbieten. Auf der CPU würden solche Aufgaben lange brauchen, weil tatsächlich sehr viele kleine Teil-Aufgaben erledigt werden müssen, während die GPU etwas anbieten kann, was das mit einem Durchlauf erledigt.
Diese Unterschiede zwischen CPUs macht auch Assembler-Programmierung so schwer. Dort schreibt man im Prinzip direkt die CPU-Befehle, die so eins zu eins zur CPU gegeben werden. Jede CPU kann aber theoretisch andere Befehle unterstützen. Sie bieten zwar meist die gängigen Befehle um alles was ein Programm so braucht, abzudecken, aber sondere Features kann ein nicht darauf angepasstes Programm nicht nutzen.
Deshalb laufen Apple-PCs mit iOS schneller. Apple weiß, welche Hardware sie verbauen und kann iOS im Detail darauf optimieren, andere Betriebssysteme können das nicht.
Dazu kommen noch die verschiedenen Caches. Je größer die sind, desto mehr kann die CPU im Cache ablegen und muss es nicht auf den RAM auslagern. Der ist langsamer und der Weg, den die Daten auf der Platine zurück legen müssen, sehr groß.
Der Cache liegt aber in der CPU und braucht viel Platz, weshalb man davon nicht so viel verbauen kann.
Ein ähnliches Problem gibt's auch bei den oben erklärten Einheiten:
Eine solche Einheit für sich mag sehr klein sein, aber ein Programm, sehr viele verschiedene Einheiten brauchen aber auch Platz und eine CPU darf nicht zu groß werden, da sie sonst nicht mehr ausreichend gekühlt werden kann.
Es gibt aber auch noch einige weitere Dinge, die beachten werden sollten.
Heute hat jede aktuelle CPU mehrere Kerne, die Aufgaben echt parallel ablaufen lassen können. Kerne brauchen aber auch Platz, sie brauchen auch einen eigenen Cache, ein eigenes Register, eigene Einheiten, etc.
Beim Hyperthreading wird das Platz-Problem so umgangen, dass es auf der CPU direkt eine Funktion gibt, die das Multithreading bietet. Sprich: Die CPU lässt einen Aufgaben-Strang ein Weilchen laufen und pausiert den dann um einem anderen Aufgaben-Strang etwas Zeit zu geben. Die Aufgaben laufen zwar immer noch nicht gleichzeitig, aber es fühlt sich so an.
Das kann ein Programm zwar auch selber machen, aber nicht so performant wie die CPU direkt.
Eine ganz schöne Erklärung mit Animation, wie eine CPU arbeitet:
Es komt nicht nur auf die GHz an. Den Cache und die Architektur und natürlich noch mit am wichtigsten die Kerne.
i7 6600 mit ähm 3,6 GHz
Der I7 6600U ist ein Stromsparender Prozessor und ist für Notebooks gedacht. Kann aber auch nur 3,4 GHz erreichen. Weiß daher nicht wirklich welchen du nun meinst.
die GHZ ist, wie oft eine berechnung stattfindet. Es stimmt nicht, dass es mit weniger GHZ besser ist, aber die haben oft mehr kerne. das cache ist auch von großem Anspruch.
Hoffe konnte helfen,
Applefanmac
"die GHZ ist, wie oft eine berechnung stattfindet"
das ist falsch. Es gibt nur an wie oft die Transistoren pro Sekunde schalten.
Nein, der Takt alleine ist nicht unbedingt aussagekräftig. Es gibt viele Faktoren die eine Rolle spielen. Der Takt gibt nur an wie die "Schalter" im Prozessor arbeiten, aber nicht wie effektiv er Befehle verarbeiten kann.
Am besten lassen sich Prozessoren mit denn FLOPS vergleichen.
https://de.wikipedia.org/wiki/Floating_Point_Operations_Per_Second