Home | Site Map | Sonstige Aufsätze | Weblog und Gequassel |
Im Jahre 2006 führte Intel die Core-Mikroarchitektur ein. Sie löste die Netburst-Architektur des Pentium 4 ab. Diese war in der Leistung nicht mehr steigerbar. Vor allem die Abwärme machte Probleme. Sie verhinderte ein Steigern des Taktes auf das Niveau das Intel für die Architektur plante. Die Core-Mikroarchitektur basierte auf dem Pentium M, einem Mobilprozessor der israelischen Dependance von Intel, der natürlich auf eine geringe Leistungsaufnahme optimiert war.
Seitdem wird diese Architektur eingesetzt. Sie wurde in der Zeit verbessert, so zog ein Mikro-op Cache ein, es wurden mehrere Anweisungen zu einer zusammengefasst (Micro-Op-Fusion). Vor allem aber wurden die entsprechenden Funktionseinheiten immer stärker erweitert. Es gab immer mehr davon. In diesem Artikel will ich die Evolution anhand von Kennwerten verdeutlichen.
Der allgemeine Aufbau sieht so aus wie in diesem sehr vereinfachten Schema der Core Mikroarchitektur im Bild links. Es beginnt mit dem klassischen Fetch. Der Prozessor holt nicht einen Befehl, sondern eine ganze Bytefolge fester Größe, z. B. eine Cacheline von 32 Bytes. Ein Predecoder zerlegt die Bytes in einzelne Befehle und speist diese in eine Instruktionsqueue ein. Queues, also Warteschlangen gibt es viele in dem Design, da man so Einheiten auf eine dauerhafte hohe Leistung auslegen kann, ohne sich um Verzögerungen bei der Verarbeitung in den folgenden Einheiten kümmern zu müssen.
Der Decoder erzeugt aus einem x86 Befehl – üblicherweise als IA32 oder IA64 Befehlssatz bezeichnet, einfachere Befehle, genannt MikroOps (µOps). Komplexere MicroOps werden nicht direkt ausgeführt, sondern stehen für eine ganze Befehlsliste in einem Mikrocode-ROM.
Was dem Decoder folgt, ist das Kernstück der Out-Of-Order (OOO) Engine. Intern hat der Prozessor viel mehr Register als die IA64 Architektur. Die Rename/Alloc Einheit benennt IA32/IA64 Register intern um und mappt sie auf ein freies internes Register. Sie verfolgt die Belegung der IA32/IA64 Register und zieht, wenn möglich, so MicroOps vor, die gerade unbenutzte Register benutzen. Sie führt auch Code aus, ohne zu wissen, ob er tatsächlich im Ablauf auch ausgeführt wird (das kann vorkommen, wenn vorher ein Sprung erfolgt). Dies nennt man spekulative Ausführung. Die Retirement Unit schaut, ob ein Befehl komplett abgearbeitet ist, schreibt dann die Ergebnisse zurück in die im Code sichtbaren Register und gibt die internen Register frei.
Die MicroOps gelangen, dann zum Scheduler der schaut welche internen Funktionseinheiten frei sind (die natürlich auch zur Art des Befehls passen müssen). Es gibt drei Gruppen von Funktionseinheiten – für Ganzzahloperationen (neben Rechnungen auch Vergleiche und logische Verknüpfungen), für Fließkommaoperationen (auch SIMD-Operationen mit mehreren Operanden pro Befehl) und Speicheroperationen (Laden und Speichern von Werten in/aus Registern, Kopieren von Speicherbereichen). Dieser Scheduler hat Ports, in der Abbildung sind es fünd an denen dann die Funktionseinheiten hängen, hier 12. An einem Port können mehrere Funktionseinheiten hängen. Berechnungen benötigen mehrere Takte, das heißt eine Funktionseinheit ist längere Zeit beschäftigt. Speicheranweisungen gehen dagegen sehr schnell. So hängen oft an einem Port weniger Einheiten für Speicheroperationen als für Rechenoperationen, da letztere für den Fall einer Belegung einer Einheit weitere zur Verfügung stellen, damit jeder Port pro Takt einen Befehl abarbeiten kann.
Ebenfalls zum Kern gehören die Caches. Es gibt getrennte Level 1 (L1) Caches für Daten und Code. Der L2-Cache ist für Daten und Code gemeinsam und alle Kerne teilen sich einen gemeinsamen Level 3 Cache. Die L1 und L2 Caches blieben in der 15-jährigen Entwicklung relativ konstant, erst mit Skylake wurden sie vergrößert. Die L3-Caches wurden dagegen stetig größer. Eine ausführlichere Darstellung finden sie hier.
Ich verwende im Folgenden die internen Codenamen von Intel für die Kerne. Mit der Core-Mikroarchitektur brachte Intel viel mehr Prozessortypen heraus als bei früheren Generationen. Früher unterschieden sich die Prozessoren nur durch den Takt, später kam noch die Cachegröße hinzu. Beim Pentium 4 kam als Unterscheidungskriterium noch Hyperthreading (SMT) und Doppelkerne hinzu. Heute gibt es auch Unterscheidungen im internen Aufbau. Ein einfacher Prozessor kann einige Verbesserungen wie MakroOp-Fusion oder MicroOp-Cache nicht enthalten. Normal ist inzwischen, dass Spitzenmodelle einen erweiterten Befehlssatz haben, denn die preiswerteren Prozessoren nicht nutzen können. Serverprozessoren (die Xeon-Linie) haben zusätzliche Befehle die für Server wichtig sind und sie unterstützen mehr RAM-Sockel oder mehr PCI-Lanes. Hauptkriterium für die Unterscheidung innerhalb einer Linie sind aber Taktfrequenzen, Prozessorkernanzahl und Cachegrößen.
Es gibt aber für die Atom-Linie auch eine zweite Architektur, die z. B. die oben erwähnte OOO-Engine nicht beinhalten, also keine Befehle vorziehen können und bei gleichem Takt deutlich langsamer sind. Das Wörtchen „Atom“ ist deswegen inzwischen etwas verschrieben, sodass Intel neuerdings die Prozessoren nicht mehr als Atoms bezeichnet, sondern als Celerons und Pentiums. Man erkennt sie noch an den Buchstaben „J“ oder „N“ in der Nummer. Zumindest bei den Pentiums findet man aber auch die Core-Mikroarchitektur. Die Pentiums markieren den Einstieg in diese Architektur. Unter der Bezeichnung „Xeon“ werden Serverprozessoren vermarktet, die alle die Core-Mikroarchitektur einsetzen.
Die ersten Prozessoren hatten noch eine vom heutigen Schema abweichende Bezeichnung die sich an den alten Bezeichnungen Pentium und Celeron aber auch schon den bei den Pentium 4 Mehrkernern eingeführten „Core“ Begriff orientierte. Das gilt für die ersten beiden Generationen Meron/Peryn und Nehalem/Westmere. Danach schwenkte Intel auf ein eindeutiges Namensschema um.
Für die meisten PC von Bedeutung ist die „Core-Nummerierung“ die beim Schreiben des Artikels aktuellen Topmodells Intel Core i9-12900K so aussieht:
„Intel Core“ ist die Bezeichnung der Produktserie, hier auch der Mikroarchitektur.
„i9“ gibt die Einstufung wieder, in welche Klasse Intel den Prozessor einsortiert. i3 ist das Einsteigersegment, i5 die Mittelklasse, i7 waren lange Zeit die Spitzenmodelle, mittlerweile gibt es die Serie i9 für die besten Modelle. Die Klassen unterscheiden sich in Zahl der Prozessorkerne, Cache, maximale Taktfrequenz und Features wie Hyperthreading.
„12“ gibt die Generation wieder, hier die 12-Generation Alder Lake.
„900“ ist eine Nummer, die dazu dient, die Prozessoren innerhalb der Klasse einzusortieren, da es mittlerweile über 100 lieferbare Prozessoren von Intel gibt. Auch hier ist eine höhere Nummer leistungsfähiger. Mit „900“ ist klar, das dieses Modell das leistungsfähigste innerhalb der Serie ist. Auch hier sind die Nummern über Serien sortiert, so gibt es keine i3 Serie mit einer führenden „9“. Man wird die niedrigen Nummern also in der i3 und i5 Serie finden, die höheren in der i7 und i9 Serie. Hier eine Übersicht der 12-ten Generation:
i3: 12100, 12300
i5: 12400 – 12600
i7: 12700
i9: 12900
Die 9-er Serie kam erst 2017 mit der 7xxx Serie hinzu. Sie sind die leistungsfähigsten Prozessoren für Desktop-Rechner, die abgewandelte Serverprozessoren sind. i3 markiert das Einstiegslevel, i5, die mittlere Leistungsklasse und i7 die höhere Leistungsklasse. Einige Firmen vermarkten i7 und i9 Rechner auch als Workstations.
„K“ – optionale Zahlen kennzeichnen besondere Features wie Stromsparfunktionen („Y“), fehlende Grafikeinheit („F“) oder Übertaktung möglich („K“).
Mit einher ging ein Entwicklungsplan. Es gibt immer zwei Generationen mit einer Architektur, die idealerweise ein Jahr auseinander liegen. Zuerst wird eine neue Architektur eingeführt, ein Jahr später eine neue Fertigungstechnologie mit kleineren Strukturbreiten, aber derselben Architektur. Intel bezeichnet das als „Tik-Tock“. Die Architekturen kann man auch an den Codenamen erkennen die dann gemeinsame Silben haben wie „...-Bridge“, „...-well“ oder „...-lake“. Dieser Plan ist aber nicht aufgegangen. Kaby Lake („7nnn“) sollte im 10 nm Prozess entstehen, nachdem die Architektur Skylake im 14 nm Prozess debütierte. Erst bei Cannon Lake („8nnn“) debütierte der 10 nm Prozess, bei dem es aber so große Probleme gab das nur einige Prozessoren dieser Serie erschienen und Intel für die meisten Prozessoren den 14 nm Prozess einsetzte. Erst bei Ice Lake („10nnn“) hatte Intel den Prozess im Griff. Die bei Schreiben des Artikels letzte Generation, Alder Lake, arbeitet immer noch im 10 nm Prozess. Andere Chipfertiger setzen seit Jahren schon den 7 nm Prozess ein.
In den internen Dokumenten zur Mikroarchitektur unterscheidet Intel nur „Core Mikroarchitektur“, Sandy Bridge, Haswell, Skylake, Ice-Lake (Mobilarchitektur, die vor der Desktop Architektur Rocket Lake erschien) und Alder-Lake. Das heißt: Alle CPU der 6-ten bis 10-ten Generation basieren auf der Skylake Architektur und haben nur kleine Verbesserungen.
Die ersten beiden Generationen hatten noch nicht das ix-Gnnn Schema, das ich gerade angesprochen habe. Sie hießen „Intel Core 2“ (Intel Core sind Prozessoren auf Basis der Netburst Architektur). Die erste Generation der ix-Gnnn hatte nur dreistellige Nummern, also keine führende Null. Die zweite fing dann gleich mit der führenden Ziffer „2“ an.
Mit Alder Lake konnte Intel wieder zum Erzrivalen AMD aufschließen. Der Mit der Zen-Architektur (Produktname „Ryzen“) Intel in der Performance überholt und Marktanteile abgenommen hatte. Die vorherigen Prozessorgenerationen seit Haswell steigerten die Geschwindigkeit nur langsam. Erst mit dem 10 nm Prozessor konnte Intel auch genügend Prozessoren, auf einem Die unterbringen, um den besten Ryzen-Prozessoren Paroli zu bieten.
Alder Lake ist eine bei den Spitzenmodellen gemischte Architektur. Es gibt die neuen P-Kerne (P für Performance) die auf der Golden Cove Architektur basieren und auf schnelle Abarbeitung einzelner Threads optimiert sind. Dazu kommen E-Kerne (E für „effizient“), die auf parallele Ausführung mehrere Threads ausgelegt sind. Sie basieren auf einer Aton-Architektur, die aber stark erweitert wurde, sodass ein E-Kern in etwa so schnell wie ein Kern des Kaby Lake (i7-xxx) ist.
Die Serien i3 und i5 haben nur die P-Kerne. Ab dem Intel i5-12600F / KF (wichtig: Bezeichnung mit Buchstaben!) enthalten die Prozessoren auch die E-Kerne. Auch wenn ein E-Kern bedeutend langsamer als ein P-Kern ist, belegen vier davon nur ein Drittel mehr Platz als ein P-Kern, sodass bei gegebener Größe auf dem Chip-Die, die Gesamtperformance höher ist, als wenn Intel nur P-Kerne einsetzen würde. Wie komplex ein P-Kern im Vergleich zur Einführung der Mikroarchitektur ist zeigt das Schaubild rechts. Das Bild darunter gibt die Architektur der effizienteren E-Kerne an, die sogar noch mehr Funktionseinheiten haben
Die folgende Tabelle gilt nur für die Ix-Serie, also nicht die Xeon Serverprozessoren und Mobilprozessoren, für die es auch zum Teil abgewandelte Core-Mikroarchitekturen gibt, wie Tiger Lake für Mobilprozessoren.
Generation |
Intel Core 2 |
ix-nnn |
ix-2nnn |
ix-3nnn |
ix-4nnn |
ix-5nnn |
---|---|---|---|---|---|---|
Codename |
Merom / Penryn |
Nehalem / Westmere |
Ivy Bridge |
Sandy Bridge |
Haswell |
Broadwell |
L1 Code Cache |
32 KB |
32 KB |
32 KB |
32 KB |
||
L1 Daten Cache |
32 KB |
32 KB |
32 KB |
32 KB |
||
L2 Cache |
256 KB |
256 KB |
256 KB |
256 KB |
||
L3 Cache |
Nur bei Xeon: 8-16 MB |
4-24 MB |
1-8 MB |
2-8 MB |
||
Ports |
6 |
5 |
6 |
7 |
||
Funktionseinheiten |
11 |
9 |
9 |
16 |
||
MikroOps pro Takt |
4 |
6 |
6 |
8 |
||
Größe Mikorops Queue |
|
18 |
28 |
56 |
||
Reservation Station |
32 |
32 |
54 |
60 |
Generation |
ix-6nnn |
ix-7nnn |
ix-8nnn |
ix-9nnn |
ix-10nnn |
ix-11nnn |
ix-12nnn |
---|---|---|---|---|---|---|---|
Codename |
Skylake |
Kaby Lake |
Coffee Lake |
Coffee Lake Refresh |
Comet Lake |
Alder Lake (P/E-Cores) |
|
L1 Code Cache |
32 KB |
32 KB |
32 KB |
32 KB |
|||
L1 Daten Cache |
32 KB |
48 KB |
48 KB |
48 KB |
|||
L2 Cache |
256 KB |
512 KB |
512 KB |
1,25 / 2 MB |
|||
L3 Cache |
Bis 2 MB/Kern |
|
Bis 16 MB |
|
|||
Ports |
8 |
|
|
|
10 |
10 |
12 / 17 |
Funktionseinheiten |
18 |
23 |
31 |
33 / 37 |
|||
MikroOps pro Takt |
8 |
10 |
10 |
16 |
|||
Größe MikroOps Queue |
128 |
140 |
140 |
144 |
|||
Reservation Station |
60 |
|
|
|
Noch eine Bemerkung zu den Einträgen. Da es innerhalb der Architektur
verschiedene Prozessoren gibt, sind einige Parameter variabel. So die Level 3
Cachegröße, die Zahl der Kerne und der Takt. Angegeben wurde daher auch immer
ein Bereich bzw. beim Takt der Spitzentakt. Bei der Transistorzahl ist der
Unterschied noch größer. Xeon Prozessoren haben bis zu 28 Kerne, es ist klar,
dass sie viel mehr Transistoren pro Prozessor haben als ein Desktop-Prozessor
mit vier Kernen. Vor allem die Caches beeinflussen die Transistorzahl enorm. 1
MB Level 3 Cache hat in der 4-Zell Technologie 32 Millionen Transistoren,
schnellere Caches mit mehr Transistoren pro Zelle noch mehr. Der Sockel in der
folgenden Tabelle ist der erste eingeführte Sockel für Desktop-Rechner. Server
haben andere Sockel, für Notebooks gibt es auch andere Bauformen, da diese fest
verlötet werden und Intel wechselte auch den Sockel innerhalb einer Generation.
Generation |
Intel Core 2 |
Intel Core 2 |
|
ix-nnn |
ix-2nnn |
ix-3nnn |
ix-4nnn |
ix-5nnn |
---|---|---|---|---|---|---|---|---|
Codename |
Merom |
Penryn |
Nehalem |
Westmere |
Sandy Bridge |
Ivy Bridge |
Haswell |
Broadwell |
Transistoren |
105-582 Mill. |
228-820 Mill. |
731-2300 Mill, |
382 – 2600 Mill. |
2104 Mill. |
634-1400 Mill. |
1400 Mill. |
1300-1900 Mill. |
Technologie |
65 nm |
45 nm |
45 nm |
32 nm |
32 nm |
22 nm |
22 nm |
14 nm |
Sockel |
Sockel M 478 |
Sockel M 478 |
LGA 1156 |
LGA 1156 |
LGA 1155 |
LGA 1155 |
LGA 1150 |
LGA 1150 |
GPU |
Keine |
keine |
keine |
HD Graphics |
HD Graphics |
HD Graphics 2600,4000 |
HD Graphics 4000,500, Iris 5000 |
HD Graphics 5000,6000 |
Bustakt |
533 MHz – 800 MHz |
800-1333 MHz |
1066-1333 MHz |
1066-1600 MHz |
1333-1866 MHz |
1333-2166 MHz |
2400 MHz |
|
Einführung |
Juli 2006 |
November 2007 |
November 2008 |
Januar 2010 |
Januar 2011 |
April 2012 |
Juni 2013 |
Oktober 2014 |
Kerne |
1-4 |
2-6 |
2-6 |
1-4 |
1-4 |
2-8 |
2-10 |
|
Max. Takt |
3,33 |
3,33 |
3,46 |
3,60 |
4,1 |
4,4 |
3,8 |
|
Serien |
|
|
|
I3,I5,I7 |
I3,I5,I7 |
I3,I5,I7 |
I3,I5,I7 |
I5,I7 |
IPC |
1,2 |
1,2 |
1,3 |
1,3 |
1,5 |
1,5 |
1,7 |
1,8 |
Generation |
ix-6nnn |
ix-7nnn |
ix-8nnn |
ix-9nnn |
ix-10nnn |
ix-11nnn |
ix-12nnn |
---|---|---|---|---|---|---|---|
Codename |
Skylake |
Kaby Lake |
Coffee Lake |
Cofee Lake Refresh |
Comet Lake |
Rocket Lake |
Alder Lake |
Transistoren |
1400-1700 Millionen |
2160 Mill. |
keine Angabe |
keine Angabe |
keine Angabe |
keine Angabe |
10 Mrd. (geschätzt) |
Technologie |
14 nm |
14 nm |
14 nm |
14 nm |
14 nm |
10 nm |
10 nm |
Sockel |
LGA 1151 |
LGA 1151 |
LGA 1150 |
LGA 1150 |
LGA 1200 |
LGA 1200 |
LGA 1700 |
GPU |
HD520/30, Iris Pro |
HD 6x0 |
Hd 4x00,5x00 |
UHD 620/630 |
UHD 610-630 |
Intel Xe |
Intel Xe |
Bustakt |
1600-2133 |
1600-2133 |
2400-2666 MHz |
2400-2666 MHz |
2133-2666 MHz |
Bis 3200 MHz |
Bis 5200 MHz |
Einführung |
August 2015 |
August 2016 |
September 2017 |
Oktober 2018 |
August 2019 |
März 2020 |
November 2021 |
Kerne |
2-4 |
2-4 |
2-8 |
2-8 |
2-10 |
4-8 |
Bis 8 P/E-Kerne |
Max. Takt |
4,5 GHz |
4,5 GHz |
5,0 GHz |
5,0 GHz |
5,3 GHz |
5,3 GHz |
3,9 (E-Kerne) 5,3 P-Kerne |
Serien |
I3,I5,I7 |
I3,I5,I7 |
I3,I5,I7,I9 |
I3,I5,I7,I9 |
I3,I5,I7,I9 |
I5,I7,I9 |
I3,I5,I7,I9 |
IPC |
2,1 |
2,2 |
2,5 |
2,6 |
2,6 |
2,9 |
3,4 P-Kerne |
Aufgrund der unterschiedlichen Kernzahl und Taktfrequenzen ist ein Vergleich von Prozessoren verschiedener Generationen schwierig. Ich habe die obigen IPC-Werte aus verschiedenen Intel Angaben rekonstruiert, die die Steigerungen relativ zueinander darstellten. Dies ist natürlich eine geschönte Angabe für den Idealfall, nicht den Durchschnitt über einen Anwendungsmix. IPC steht für Instructions per Cycle, also wie viele x86 Befehle der Prozessor pro Takt ausführen kann. Multipliziert man dies mit dem Takt und der Anzahl der Prozessoren so bekommt man die Gesamtzahl der Befehle, die der Prozessor ausführt. Hyperthreading, Intels Bezeichnung für SMT spielt dabei keine Rolle. Es ermöglicht es nur diese Grenze eher zu erreichen. Für einige Architekturen gibt es keine Aussagen von Intel, zumindest der Wert für Kaby Lake wurde von unabhängigen Benchmarks nicht bestätigt.
Generation |
IPC Steigerung zur Vorgängergeneration |
IPC Steigerung summiert |
---|---|---|
Dothan |
|
100 % |
Merom |
+15 % |
115 % |
Penryn |
2 % |
117,5 % |
Nehalem |
12 % |
131,5 % |
Sandy Bridge |
10 % |
144,5 % |
Ivy Bridge |
5 % |
152,5 % |
Haswell |
10,5 % |
167,5 % |
Broadwell |
5,5 % |
177 % |
Skylake |
10 % |
190 % |
Kaby Lake |
12 % |
212 % |
Cofee Lake |
|
|
Comet Lake |
|
|
Rocket Lake |
19 % |
252 % |
Alder Lake |
18 % |
297 % |
Diese Werte von Intel dürften aber nicht im Alltag auftreten, sondern nur bei speziellen Programmen die genau die Verbesserungen nutzen die in jeder Generation dazukamen.
Eine Website hat die Geschwindigkeit von Programmen untersucht und kam zu
wesentlich schlechteren Ergebnissen:
Perfomance Gewinn |
Intel Angabe |
|
---|---|---|
Dothan |
|
- |
Merom |
|
+15% |
Penryn |
|
+2% |
Nehalem |
|
+12% |
Sandy Bridge |
|
+10% |
Ivy Bridge |
+ 5,8 % |
+5% |
Haswell |
+ 11,2 % |
+10,5% |
Broadwell |
+ 3,3 % |
+5,5% |
Skylake |
+ 2,4 % |
+ 10 % |
Insbesondere bei Skylake ist die Abweichung deutlich. Das Thema IPC habe ich in einem eigenen Artikel über die gesamte Entwicklung der Intel-Prozessoren betrachtet. Auch diese Grafik der Zeitschrift ct kommt zu deutlich niedrigeren Ergebnissen. Demnach hat Skylake etwa 155-150 % mehr Performance als Penryn.
Ich habe aber auch probiert diese Werte selbst zu bestimmen und dabei Benchmarks der Zeitschrift ct’ aus verschiedenen Jahren genutzt. Es ist nicht einfach und auch fehleranfällig, da das Programm, also die Softwaresuite auch 15 Jahre lang weitestgehend unverändert bleiben soll. Das gelang nur zum Teil. Ich habe die Cinebench Werte die man auch bei älteren Tests findet genommen. Allerdings änderte sich die Versionsnummer in der Zeit von 15 auf 23 und in jeder Version bekommt man für denselben Prozessor andere Werte. Es war aber so das zumindest ein Prozessor der Liste auch mit der neuen Cinebench-Version getestet wurde. Ich habe daher einen Faktor bestimmt um den die neue Cinebench Version andere Werte liefert und mit diesem Faktor die Werte korrigiert. Normiert ist es auf Cinebench R20. Ich habe versucht pro Generation einen Prozessor der mittleren Leistungs- und Preiskategorie „i5“ zu finden. Das gelang nicht immer, so sind einige I3 wie auch ein Übertaktermodell in der Liste. Da alle Prozessoren einen Turbo-Modus für wenige Kerne haben, unterscheide ich Single- und Multithreadleistung.
Prozessor |
Kerne |
Takt normal |
Takt Turbo |
Cinebench Singlehthread |
Cinebench Multithread |
Cinebench / Kern GHz Single |
Cinebench / Kern GHz Multi |
---|---|---|---|---|---|---|---|
i5-760 |
4 |
2,8 |
|
204 |
705 |
72 |
63 |
i5-2400 |
4 |
3,1 |
|
267 |
941 |
86 |
76 |
i5-3470 / i5-3570K |
4 |
3,2 |
3,4 |
275 |
1010 |
81 |
79 |
i5-4570 |
4 |
3,2 |
3,6 |
345 |
1280 |
96 |
100 |
i5-5775C |
4+HT |
3,3 |
3,7 |
366 |
1764 |
99 |
133 / 67 |
i5-6400 |
4 |
2,7 |
3,3 |
344 |
1247 |
104 |
114 |
i5-7500 |
4 |
3,4 |
3,8 |
399 |
1443 |
105 |
106 |
i5-8400 |
6 |
2,8 |
4,0 |
416 |
2284 |
104 |
136 |
i5-9400 |
6 |
2,9 |
4,1 |
423 |
2341 |
103 |
134 |
i5-10400 |
6 + HT |
2,9 |
4,3 |
450 |
3197 |
104 |
183 / 92 |
i5-11400 |
6 + HT |
2,6 |
4,4 |
529 |
3888 |
120 |
249 / 124 |
i5-12400 |
6 + HT |
2,5 |
4,4 |
664 |
4794 |
150 |
319 / 160 |
Bei den Multithread-Leistungen ist es so, das Hyperthreading etwas Mehrleistung bringt, aber nicht die doppelte Anzahl an Kernen (Wert hinter dem Schrägstrich) ersetzt. Man rechnet mit maximal 30 Prozent Mehrleistung die so erreichbar ist.
Das Ergebnis ist ernüchternd. In der Singlethread Leistung wurde die Leistung verdoppelt, wobei bis Haswell es eine Steigerung um 40 % gab und dann erst wieder eine ab der Generation 11. Bei der Multithreadleistung ist der Gewinn deutlich größer. Hier bringt Hyperthreading definitiv etwas. Die von Intel reklamierte Steigerung von fast 300 % findet man nicht bei der Singlethread Leistung und bei realistischer Einstufung der Wirkung von Hyperthreading auch nicht bei der Multithreadleistung.
Die Gesamtleistung kann viel besser durch mehr Kerne als interne Verbesserungen erhöht werden. Als Intel die ersten Zweikernprozessoren im Jahre 2005 einführte, prognostizierten sie, dass die Kernzahl sich alle zwei Jahre verdoppeln würde. Demnach wäre 2021, als die 12-te Generation erschien, also nach der Prognose 512 Kerne pro Prozessor zu erwarten. Betrachtet man sich die Zahl der Transistoren pro Chip, die von 105 Millionen auf 10 Milliarden (zumindest beim Spitzenmodell, der Wert ist aber geschätzt, da Intel seitdem sie im Fertigungsprozess ins Hintertreffen geraten sind, keine Transistorcounts mehr veröffentlichen) gestiegen ist, also um den Faktor 100, so wäre das auch möglich. Es gibt eine Reihe von Gründen, warum dem aber nicht so ist. Der wichtigste ist, das die Leistung des Speichers nicht in dem Maß zugelegt hat. Die Zugriffszeit auf Speicherbausteine hat sich in der Dekade kaum verändert. Sie liegt heute zwischen 10 und 14 Nanosekunden. Da ein Zugriff in einem Takt erledigt ist, würde dies ohne flankierende Maßnahmen nur einen Takt von 70 bis 100 MHz zulassen (dies ergibt sich aus 1/Zugriffszeit). Caches puffern dieses Manko ab und sind deswegen auch immer größer geworden. Doch natürlich verarbeiten Prozessoren auch große Datenmengen, die dann möglichst schnell auch in den Caches landen sollen. Die Lösung für dieses Problem ist seit Anfang der Neunziger nicht nur die Daten zu übertragen, die der Prozessor angefordert hat, sondern automatisch die folgenden Werte auch. DDR-RAM macht das zweimal pro Bustakt und transferiert dabei pro DIMM-Modul 8 Bytes. Das beim Schreiben des Artikels schnellste DDR5 RAM hat einen Bustakt von 5200 MHz, es kann pro Sekunde also 40,8 GByte/s liefern. Ein einziger Kern eines Alder-Lake Prozessors fordert dagegen pro Takt (maximal 5,3 GHz) 32 Bytes an, also 169,6 GByte, und ein Prozessor hat bis zu 16 dieser Kerne. Zwischen der letzten Version von Penryn und Alder Lake stieg der Bustakt von 1600 MHz auf 5200 MHz – das sind in 15 Jahren gerade mal eine Verdreifachung der Datenrate. Nicht umsonst unterstützen die Serverversionen der Prozessoren auch mehr Module, bis zu 16 Stück, während es bei den Desktop-Versionen meist nur zwei oder vier Steckplätze sind.
Der zweite Grund ist die Größe des Prozessorsockels und die Zahl der Pins die man unterbringen kann. Mehr Kerne bedeuten auch mehr Signale zur Außenwelt. Hier hat sich seit Nehalem mit dem dort eingeführten Sockel 1151 kaum etwas geändert. Auch hier haben Serverprozessoren größere Prozessorgehäuse mit deutlich mehr Pins.
https://www.cpu-monkey.com/de/cpu_benchmark-cinebench_r20_single_core-9
https://www.cpu-monkey.com/de/cpu_benchmark-cinebench_r20_multi_core-10
https://www.heise.de/select/ct/2020/7/2000809335481727795
https://www.heise.de/select/ct/2017/1/1483626790388148
https://epaper.heise.de/download/archiv/3443eb123603/ct.21.25.084-089.pdf
https://www.intel.com/content/dam/support/us/en/documents/processors/pentium4/sb/25366521.pdf
Artikel verfasst am 28.3.2022
Sitemap | Kontakt | Neues | Impressum / Datenschutz | Hier werben / Your advertisment here | Buchshop | Bücher vom Autor |