PC-Hardware für den Techniklaien erklärt - Prozessor

Nach einigen Hinweisen darauf möchte ich hier noch einmal für Leute, die sich vielleicht nicht so intensiv mit dem Thema Hardware befassen, erklären, worum es in den meisten meiner Hardware-Beiträge überhaupt geht. Das fängt bei der Arbeitsweise eines Rechners an und hört bei General Purpose Computing on a Graphics Processing Unit (GPGPU) auf.
Dieser Beitrag befasst sich mit dem Prozessor und wird logischerweise für folgende Beiträge der Reihe zu einem Großteil vorrausgesetzt.

--Einfaches Verständnis--

Fangen wir also erst einmal bei den Basics an. Ein Rechner wird logischerweise Rechner genannt, weil er rechnet. Die Bezeichnung "Rechner" ist aber eigentlich nicht ganz richtig, denn ein Computer rechnet nicht nur... bzw nichtmal gezwungenerweise hauptsächlich, hauptsächlich verarbeitet er nämlich Daten. Ob er nun ein Bild anzeigt, einem anderen Rechner eine Internetseite schickt oder tatsächlich bestimmte Aufgaben durchrechnet, die Daten werden nicht nur berechnet, sondern auch anderweitig verarbeitet und weitergereicht. Das Teil, dass dafür hauptsächlich verantwortlich ist, wird CPU (Central Processing Unit - hier versteckt sich die Aufgabe wieder) oder auch Prozessor genannt. Neben dem Rechnen trifft ein Prozessor auch Entscheidungen und steuert größtenteils die anderen Teile, zum Beispiel die Grafikkarte, oder er verschickt Daten und Anfragen an andere Geräte, beispielsweise an den Netzwerkchip für eine Internetverbindung oder an die Festplatte.
Ein Prozessor arbeitet immer in einzelnen Schritten, die Takte genannt werden. Die Taktrate wird in Hertz bzw heutzutage in GigaHertz (GHz) angegeben und beschreibt, wie viele Schritte der Prozessor pro Sekunde durchführt.

--Ab hier nur für Interessierte lesenswert---

Dabei ist aber nicht jeder Takt ein Befehl, viel mehr muss der Prozessor beispielsweise für eine Addition in mehreren Takten erst den ersten Wert laden, dann den zweiten Wert, dann die Berechnung durchführen und das Ergebnis anschließend speichern. Wenn ein Prozessor in einem Takt also einen größeren Teil der Aufgabe schafft, kann er bei gleicher Taktrate eine größere Leistung haben als ein anderer. Da man das schlecht messen kann, wird es hier kompliziert... prinzipiell kann man sagen, dass heutige PCs pro Takt eine Menge an Aufgaben erledigen können und dass das nach meinem Wissen niemand besser schafft, als Intel mit ihrer Core i-Serie (Core i3, Core i5 und Konsorten). Mitbewerber kontern mit einem niedrigeren Energieverbrauch, höheren Taktraten (wobei wir hier zum Teil schon an die 5 GHz kommen), mehr Kernen oder eben einem niedrigerem Preis.
Hier ist die zweite Sache, die erklärt werden muss. Was ist denn ein Kern und was bedeutet das für mich als Endverbraucher?

--Einfaches Technisches Verständnis vorrausgesetzt---

Der Pentium 4 (speziell die Prescott-Generation) von Intel ist das beste Beispiel dafür: Irgendwann stießen die Entwickler auf eine Grenze, was die Leistung anging: Der Takt war nicht viel höher zu kriegen, weitere Verbesserungen in der Leistung pro Takt (wird als IPC - Instruktions Per Clock bezeichnet und ist NICHT für exakte Vergleichsmessungen geeignet, da es viele unterschiedliche Aufgaben gibt) würden den Prozessor in der Herstellung wesentlich teurer machen und den Energieverbrauch weiter steigern, der bereits an der oberen Grenze dessen war, was ohne spezielle Lösungen vernünftig zu kühlen ging. Bei den Servern war es schon weit verbreitet, bei hohen Anforderungen mehrere Prozessoren zu benutzen, da ein Server mehrere Aufgaben gleichzeitig ausführen muss und die ja genau so gut gleichzeitig nebeneinander her laufen können. Das Konzept wurde auf die Rechner für Endverbraucher übertragen und in einen Prozessor gepackt. Dieser hatte dann 2 Rechenkerne, konnte also 2 Dinge gleichzeitig berechnen. Programme wurden auf mehrere gleichzeitige Abläufe angepasst und so können heutige Programme in fast allen Fällen mehrere Rechenkerne benutzen.

--Verständnis für den Begriff des Rechenkerns vorausgesetzt--

Um möglichst viel Leistung aus möglichst wenig Prozessor zu quetschen, haben die Hersteller verschiedene Verfahren entwickelt, um mehrere Abläufe auf einem Kern mehr oder weniger gleichzeitig ausführen zu lassen, wobei das Betriebssystem (Windows bzw Android oder iOS in den meisten Fällen) bei diesen Beispielen zunächst einmal 2 Kerne sieht. Diese Beispiele beziehen sich auf den bekanntesten Markt der Heimrechner, Laptops etc.
Bei Intel wird dieses Verfahren Hyperthreading(HT), bei AMD Cluster-Multithreading(CMT) genannt. Bei Hyperthreading werden einfach nur zusätzliche Befehle aus einer zweiten, zusätzlichen Aufgabe in den eigentlichen Kern geschmissen, der dann beide Aufgaben abwechselnd und, wenn er bei einer Aufgabe gerade auf etwas warten muss, die andere Aufgabe bearbeitet. Cluster-Multithreading werden bestimmte Teile eines Kerns beiden eigentlich unabhängigen Kernen zur Verfügung gestellt, die ihre anfallenden Aufgaben dann darauf verteilen können. CMT bringt für den Kern eine wesentlich höhere Leistung als HT, da es im Grunde ja immer noch selbstständig rechnende Kerne sind. Dafür wird CMT aber auch nicht als Kern, sondern als Modul oder als 2 Kerne beworben, wobei bei HT eigentlich immer die Anzahl der eigentlichen Kerne und HT als Feature genannt wird. Deshalb kann man sich darum streiten, ob die aktuellen Prozessoren von AMD nun maximal vier oder acht Kerne haben, für mein Verständnis sind es allerdings acht.

Das Problem liegt jetzt bei der Software: Wer hier die maximale Leistung seines Prozessors haben möchte, muss auch ein oder mehrere Programme haben, die auch alle Kerne eines Prozessors gleichzeitig benutzen, also die entsprechende Anzahl an Aufgaben gleichzeitig laufen lassen können. Da viele Programme das nicht tun, ist es hier sinnvoll, wenige, aber dafür stärkere Kerne zu haben, ein Grund, weshalb Intel mit ihrer sehr starken Architektur auch solche guten Leistungen in Tests erzielt. In anderen Fällen, speziell bei Servern, ist es dagegen sinnvoller, schwächere, dafür aber mehr Kerne zu haben, da man insgesamt mehr Aufgaben in der gleichen Zeit erledigen kann.


Das ist natürlich noch nicht Alles über Prozessoren, doch zumindest schon einmal Alles, was man wissen muss, um sich ein Bild von dem zu machen, was es denn in den Rechnern oder direkt in den Regalen zu kaufen gibt. Mehr ins Detail gehe ich dann in einem späteren Beitrag. :P
Würde mich natürlich über Rückmeldungen freuen, ob das nun verständlich genug erklärt ist, bin selbst schon zu lange in der Materie, um das beurteilen zu können.

Kommentare

Beliebte Posts aus diesem Blog

Was man für einen PC alles braucht - Das Mainboard

Warum ich Hardware von AMD benutze - Einleitung

Warum ich Hardware von AMD benutze - Grafikkarten, Teil 1