Home | Computer | x86 Prozessoren | Site Map |
2016 führte Intel die Skylake Mikroarchitektur als sechste Generation ein. Gemäß Intels Tik-Tok Schema sollte bei der nächsten Generation, Kaby Lake ein neuer Fertigungsprozess eingeführt werden. Doch mit dem 10 nm Prozess, der dem 14 nm Prozess folgen sollte, hatte Intel bedeutende Probleme, sodass es noch weitere Updates der Skylake Architektur gab, die nun die sechste bis zehnte Generation bei Intel stellt.
Erst 2021 stellte Intel in kurzem Abstand eine neue Mikroarchitektur für die elfte und zwölfte Generation vor, die zwölfte Generation bekam nun endlich auch den 10 nm Prozess, den Intel "Intel 7" nennt, wohl deswegen bei AMD Ryzen in einem 7 nm Prozess gefertigt werden. Dieser Artikel informiert über die entsprechenden Mikroarchitekturen und ihre Verbesserungen.
Intel setzt seine Mikroarchitekturen in einer breiten Palette von Prozessoren ein. Das geht im Desktop-Bereich vom Einstiegssegment die nach den früheren Prozessoren "Celeron" und "Pentium" benannt sind, mit diesen aber nichts gemeinsam haben über die Core-I Serie. Daneben gibt es noch Mobilprozessoren mit eigenen Serien (und teilweise auch eigener Mikroarchitektur) und Xeon Serverprozessoren.
Für die meisten PC von Bedeutung sind die Desktop-Prozessoren, die sich an die "Core-Nummerierung" halten. Diese sieht beim Schreiben des Artikels aktuellen Topmodells Intel Core i9-12900K so au:
"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. Seit der sechsten Generation verzichtet Intel in der Regel darauf alle Ziffern zu nutzen und es gibt Sprünge im Hunderter Bereich. Auch hier sind die Nummern über Serien hinweg 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: Core i3-12100, Core i3-12300
i5: Core i5-12400, Core i5-12500, Core i5-12600
i7: Core I7-12700
i9: Core i9-12900
Die i9-er Serie kam erst 2017 mit der 7.ten Generation hinzu. 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").
Die elfte Generation (11nnn) verwendet die neue Cypress Cove Mikroarchitektur, die wiederum auf der Ice Lake Mikroarchitektur für Mobilprozessoren basiert. Die grundsätzliche Architektur ist seit Einführung der Core-Mikroarchitektur mit Merom 2006 unverändert geblieben. Die folgende Beschreibung des allgemeinen Ablaufs gilt daher auch für die folgenden Mikroarchitekturen.
Das Front-End des Prozessors führt den Fetch aus. Die Daten kommen aus dem 32 KByte großen Level 1 Code-Cache, dessen Latenz in der elften Generation von 5 auf 3 Takte gesenkt wurde. Beim Vorgänger Ice Lake sind es 16 Bytes pro Fetch, die Bandbreite des L1-Caches wurde also verdoppelt. Unterstützt wird der Fetch durch die BPU - Branch Prediction Unit. Sie versucht Sprünge korrekt vorherzusagen und weist den Fetch, an die Bytes zu holen die am wahrscheinlichsten benötigt werden. Dazu hat sie eine Tabelle mit den Sprungzielen, deren Größe bei den letzten Generationen auch dauernd vergrößert wurde.
Es schließen sich im Frontend die Befehlsdecoder an. Im Schaubild ist es einer, es können durchaus mehrere sein, sie parallel arbeiten. Sie zerlegen zuerst das 16 Byte (Alder Lake: 32 Byte) lange Bündel in einzelne Befehle und stellen fest welcher Befehl es ist. Jeder Befehl wird dann in noch kleinere elementare Mikrooperationen (MikorOps, µOps) zerlegt. Typisch sind dies 1 bis 4 µOps pro x86 Befehl. Der Grund dafür ist das die folgenden Stufen des Prozessors mehr einem RISC Prozessor ähneln und die einfacheren MikroOps kann man besser parallel ausführen. Die generierten MikoOps werden auch in einem MikroOp-Cache abgelegt. So ist ein erneutes Dekodieren nicht nötig, wenn in einer Schleife eine Anweisung mehrmals benötigt wird. Komplexe Befehle erfordern viele MikroOps. In diesem Falle schaut der Dekoder in einem MicroOps Storage ROM (MSROM) nach der genauen Sequenz.
Alle drei Einheiten (Decoder, MSROM, MikroOp-Cache generieren MicroOps die dann in einer gemeinsamen Warteschlange kommen. Solche Warteschlangen finden sich öfters, auch wenn sie nicht immer als explizites Element auftreten. Sie erlauben es das die Einheiten dauernd arbeiten, ohne sich darum zu kümmern, ob die nachfolgende Einheit gerade Daten oder Befehle annehmen kann. Die Zahl der MikroOps die pro Takt generiert werden ist ein wichtiger Parameter für die Leistungsfähigkeit der Architektur.
Die folgende Einheit, im Diagramm als "Allocate … Idiom" bezeichnet ist der Kern der Out-of-Order Engine (OOO) des Prozessors, dem wichtigsten Teil für eine hohe Performance. Intern hat der Prozessor erheblich mehr Register als im X86 Code ansprechbar sind. Diese Einheit schaut nach, welche internen Register noch frei sind, mappt eines der freien Register für einen Befehl auf die IA74-Register die dieser Befehl benötigt. So kann die OOO-Engine einen Befehl vorziehen und an den folgenden Scheduler weitergeben. Ist der Befehl abgearbeitet, schreibt sie das Ergebnis an die im IA64-Register zurück und gibt die belegten Ressourcen frei. Ohne diese Einheit würde ein Befehl der auf das Ergebnis eines vorherigen Befehls wartet, den ganzen Ablauf aufhalten. Diese "in Order Architektur" wurde bis zum Pentium eingesetzt und ist natürlich viel einfacher in der Realisierung. Intel setzte diese einfachere Architektur bei den Atom Prozessoren bzw. Celeron J/N Typen ein, die dadurch wesentlich langsamer sind als die Pendants mit OOO-Architektur.
Die so aufbereiteten MikoOps kommen dann an den Scheduler. Er verteilt sie an die Einheiten die sie nun tatsächlich ausführen. Er verfügt über mehrere Ports, an denen jeweils eine oder mehrere Ausführungseinheiten hängen. Es müssen mehrere Ports bzw. Ausführungseinheiten sein, weil die Architektur schon seit Generationen mehr als eine MikoOp pro Takt generiert. Die Ausführung eines Befehls kann auch lange dauern und belegt solange eine Einheit. Es gibt Befehle, die sind tatsächlich in einem Takt erledigt wie eine Register-Register-Speicheroperation und andere brauchen sehr lange, weil sie intern ein ganzes Programm umfassen wie Division oder Multiplikation. Da eine Einheit so lange blockiert ist, sind die Einheiten mehrfach vorhanden. Sie sind oft auch spezialisiert, führen also nur einen bestimmten Operationstyp durch oder arbeiten nur mit bestimmten Daten. Die Ausführungseinheiten zerfallen aber in drei funktionelle Gruppen:
Fließkommaoperationen: Rechnungen und SIMD-Operationen
Ganzzahloperationen: Rechnungen, Vergleiche, logische Verknüpfungen. Bitmanipulationen
Speicheroperationen: Laden, Speichern von Daten. Blöcke, kopieren, durchsuchen
An den Speichereinheiten hängt noch der Datencache, der innerhalb des Prozessors vom Codecache getrennt ist. Außerhalb dieses Schaubildes gibt es noch den gemeinsamen Cache für Daten und Code im zweiten Level und einen gemeinsamen Cache für alle Kerne zusammen, den L3-Cache. Intel bezeichnet ihn auch als Smart-Cache, weil er nicht fest in n Teile für n Kerne aufgeteilt wird, sondern die Größe dem Bedarf des jeweiligen Kerns angepasst ist. Der Cache selbst wird dann vom DRAM gefüllt, das immer eine Cacheline (64 Bytes) auf einmal an den Cache überträgt.
Der Teil SOC, der nicht auf allen Diagrammen zu finden ist, steht für das System on a Chip, das ist der Chipsatz (und die Grafikeinheit, sofern vorhanden). Das SOC entscheidet auch über die Möglichkeiten, welche der Computer bietet, wie unterstützter DDR-RAM Standard, Anzahl der DIMM Module, deren maximale Größe, Anzahl der PCIe-Datenleitungen und Fähigkeiten der Grafik (unterstützte Auflösungen, Übertragungsstandards) und welche USB-Standards möglich sind.
Die Veränderungen zwischen den Mikroarchitekturen (Nehalem → Sandy-Bridge → Haswell → Skylake → Rocket Lake → Alder Lake liegt vor allem darin wie viele Einheiten sich jeweils in einem Block befinden oder wie groß Zwischenspeicher sind. Teilweise kommen Features hinzu wie der Micro-Op Cache oder das MSROM das es bei den früheren Architekturen nicht gab. Vor allem aber stieg die Anzahl der Ports und Ausführungseinheiten. Das waren bei der Core Mikroarchitektur 2006 noch fünf Ports mit neun Ausführungseinheiten. Ein P-Kern hat mehr als die dreifache Zahl an Ports und vierfache Zahl an Ausführungseinheiten.
Im folgenden werden die Verbesserungen angeführt dies es jeweils gab:
|
Comet Lake (Skylake Variante) |
Rocket Lake |
Alder Lake |
Alder Lake |
---|---|---|---|---|
Generation |
10 |
11 |
12 |
12 |
Kern |
Coffee Lake |
Cypress Cove |
Golden Cove |
Gracemont |
L1 Codecache |
32 kb |
32 kb |
32 kb |
64 kb |
L1 Datencache |
32 KB |
48 KB |
48 kB |
32 kb |
L2 Cache |
256 KB, vierfach assoziativ |
512 kB, achtfach assoziativ |
1280 kb |
4 MB für 4 Kerne |
L3 Cache (modellabhängig) |
20 MB |
Bis 16 MB |
Bis 30 MB |
|
Kerne |
Bis 10 |
Bis 8 |
Bis 16 |
Bis 8 |
Hyperthreading |
Ja (neu) |
Ja |
Ja |
Nein |
Max. Turbo Takt |
5,3 GHz |
5,1 GHz |
5,2 GHz |
3,8 GHz |
Höchster DRAM Standard |
DDR4-2933 |
DDR4-3200 |
DDR5-4800 |
|
Prozess |
14 nm |
14 nm |
Intel 7 |
|
Bytes/Fetch |
16 |
16 |
32 |
|
Recorder Buffer |
224 |
384 |
512 |
256 |
MikroOp Cache |
1,5 K |
2,25 K |
4 K |
2 K |
Ports |
8 |
10 |
12 |
17 |
Ausführungseinheiten |
22 |
30 |
37 |
33 |
MikroOps in der Queue |
64x2 |
70x2 |
72x2 |
|
Umsortierbare MikroOps |
4 |
5 |
6 |
5 |
Funktionseinheiten |
22 |
32 |
33 |
37 |
TLB Größe |
1,5 K |
2 K |
4 K |
2 K |
IPC |
2,2 |
2,6 |
3,4 |
2,2 |
IPC Steigerung zum Vorgänger |
+ 10% |
+ 19 % |
+ 18 % |
Wie Skylake |
Sonstiges: |
|
AVX-512, 32 x 512 Bit Register |
Hybride Architektur |
Es gab seit Skylake (6-te Generation) zahlreiche neue Mikroarchitekturen, doch waren diese nur kleine Verbesserungen von Skylake.
Seitens Intel gibt es über die Mikroarchitektur leider nur rudimentäre, fundamentale Informationen. Sucht man im Web findet man mehr, aber teilweise sehr unterschiedliche Diagramme und daraus abgeleitete Daten. Beim Golden Cove, dem Kern der 12.ten Generation sieht dies so aus: (oben Intel, Mitte ChipsAndCheese.com unten ct 25/2021)
Die Alder Lake Mikroarchitektur der 12-ten Generation setzt bei den Prozessoren der i7 und i9 Serie (beim Schreiben des Artikels i7-12700 und i9-12900 sowie ihre Varianten) eine hybride Architektur ein. Bei allen Prozessoren der Alder Lake Reihe finden sich Kerne vom Typ "Gold Cove" wie sie auch bisher in den Prozessoren zum Einsatz kamen, nur verbessert und bei der hybriden Architektur zusätzliche langsame Kerne vom Typ "Gracemont". Diese Kombination von zwei unterschiedlichen Kernen hat schon ARM vorgemacht. Bei ARM-Prozessoren, die sich in fast jedem Mobiltelefon oder Tablett befinden, aber auch vielen "Embedded" Devices, wie Routern dient dieser Trick dem Stromsparen. Benötigt man volle Rechenleistung, z. B. bei einem Spiel so sind die schnellen Kerne aktiv, bei wenig Rechenleistung, z. B. Telefonieren, Browsen, die langsamen Kerne, die aber viel weniger Strom benötigen und so die Akkulaufzeit verlängern.
Bei Intel, wo die Prozessoren in der Regel zumindest in Notebooks mit größeren Akkus landen, ist der dahinterliegende Gedanke dagegen die Gesamtperformance zu steigern. Denn auf dem Chip benötigen die Gracemont-Kerne viel weniger Fläche als ein Golden Cove Kern, sodass man ihre Langsamkeit durch mehr Kerne ausgleichen kann. In der Gesamtleistung (es sind dann immer alle Kerne aktiv) erhält man so eine höhere Rechenleistung.
Die energiesparenden Gracemont Kerne stammen von den Tremont-Atoms Kernen ab, die Intel bei den billigsten Prozessoren Pentium Celeron Silver J/N Serie einsetzt, wurden gegenüber diesen aber deutlich erweitert, ihre Leistung ist mit diesen Prozessoren schwer zu vergleichen. Gegenüber der Tremont-Architektur musste die Leistung um 60 Prozent gesteigert werden. So erhielten die Kerne eine OOO-Engine, die Zahl der Ports wurde von 10 auf 17 erhöht, der L1-Codecache verdoppelt, dafür entfiel ein 128 KByte großer Level-2 Precoede Cache. Anders als die Atoms haben die Kerne auch Zugriff auf den gemeinsamen L3-Cache. Intel wählte die Tremont-Kerne weil diese sehr stromsparend ausgelegt sind. Damit benötigen die Gracemont-Kerne erheblich weniger Strom als die Golden Cove Kerne und bei einer gegebenen TDP (maximalen thermischen Belastung) eines Prozessors dürfen die Golden Cove Kerne mehr Strom verbrauchen, was eine höhere Geschwindigkeit und einen höheren Turbo-Takt ermöglicht.
Intel bezeichnet die Golden Cove Kerne als P-Kerne (P für Performance) und die Gracemont Kerne als E-Kerne (E für Effizient). Ein P-Kern belegt 7,3 mm² Fläche, vier E-Kerne dagegen 8,7 mm² Fläche. Die Zahl der P- und E-Kerne variiert je nach Prozessormodell, bei Vorstellung war das leistungsfähigste Modell, Core i9-12900 mit je acht P- und E-Kernen bestückt. Die Prozessoren bis 12600 haben nur P-Kerne.
Intel plant bei der nächsten Generation "Raptor Lake" vor allem die E-Kerne zu verbessern. Die Zahl der Gracemont Kerne soll auf bis zu 16 verdoppelt werden, während es bei acht P-Kernen bleibt, sodass es bis zu 24 Kerne gibt, die 32 Threads abarbeiten können.
Die E-Kerne können nur einen Thread abarbeiten, die P-Kerne dagegen zwei. Für Benchmarks problematisch ist, dass man die E-Kerne alleine nicht ausmessen kann. Es sind immer mindestens zwei P-Kerne aktiv. Für die Tabelle habe ich die Cinbench R23-Angaben für 2 P-Kerne von dem Benchmark mit 2 P- und 8 E-Kernen abgezogen.
|
P-Kern |
E-Kern |
Fläche (Die: 209 mm²) |
7,3 mm² |
2,18 mm² |
Maximaltakt (ohne Turbo Boost) |
2,4 |
1,8 |
IPC |
3,4 |
2,6 |
Cinebench R23 pro Core |
2352 |
942 |
Cinebench R23 pro Thread |
1176 |
942 |
Ein P-Kern ist durch das Hyperthreading, höhere IPC-Werte und höheren Maximaltakt etwa 2,5-mal schneller als ein E-Kern, belegt aber die 3,34-fache Fläche. Pro Fläche ist ein Vierer-Cluster aus E-Kernen also effizienter.
Hier die allgemeinen Modelle für den Desktop (ohne angehängte Buchstaben wie K,T,XE für Overclocked Prozessoren)
Modell |
P-Kerne / Threads |
E-Kerne / Threads |
Basistakt (P/E-Kerne) |
Turbo Takt |
Turbo Boost 1 P-Kern |
Smart Cache |
GPU-Maximaltakt |
---|---|---|---|---|---|---|---|
Celeron G6900 |
2 |
|
3,4 |
|
|
4 MB |
1,3 GHz |
Pentium Gold G7400 |
2 / 4 |
|
3,7 |
|
|
6 MB |
1,35 GHz |
I3-12100 |
4 / 8 |
|
3,3 |
4,3 |
|
12 MB |
1,4 GHz |
i3-12300 |
4 / 8 |
|
3,5 |
4,4 |
|
12 MB |
1,45 GHz |
I5-12400 |
6 / 12 |
|
2,5 |
4,4 |
|
18 MB |
1,45 GHz |
I5-12500 |
6 / 12 |
|
3,0 |
4,6 |
|
18 MB |
1,45 GHz |
15-12600 |
6 / 12 |
|
3,3 |
4,8 |
|
18 MB |
1,45 GHz |
i7-12700 |
8 |
4 |
2,1 / 1,6 |
4,8 / 3,6 |
4,9 |
25 MB |
1,50 GHz |
I9-12900 |
8 |
8 |
2,4 / 1,8 |
5,0 / 3,8 |
5,3 |
30 MB |
1,55 GHz |
Ich möchte nicht die ganzen Architekturen durchgehen, die im wesentlichen ja auch die gleiche Basisarchitektur haben. Im Folgenden sollte man im Hinterkopf behalten dass:
die P-Kerne mehr Instruktionen pro Takt ausführen
die P-Kerne Hyperthreadingfähig sind, die E-Kerne nicht
die P-Kerne einen höheren Basis- und höheren Turbotakt haben
Die E-Kerne dafür nur ein Drittel der Chipfläche benötigen
Es geht los mit dem Instruction Cache. Er ist bei den P-Kernen 32 KByte groß, bei den E-Kernen dagegen 64 KByte. Das verwundert, sollte man doch beim unterstützten Hyperthreading der P-Kerne erwarten, dass deren L1-Cache größer ist, schließlich muss er den Code von zwei anstatt einem Thread aufnehmen. Ich denke der größere L1-Cache der E-Kerne ist ein Ausgleich dafür das der nachgeschaltete L2-Cache nur 5 MB groß ist für alle Kerne, während die P-Kerne einen 1,25 MB großen L2-Cache für jeden Kern haben, bei mindestens sechs P-Kernen also 7,5 MB L2-Cache, bei den Spitzenmodellen mit acht Kernen sind es dann 10 MB.
Am Cache sind für die Datenabfrage vom L2-Cache weitere Einheiten angeschlossen. Die ITLB (Instruction Transistent Lookaside Buffers) halten Einträge für die Umrechnung von logischen Adressen in echte physikalische Adressen. Sie gehören zur virtuellen Speicherverwaltung und erlauben es im Prinzip, dass jeder Prozess seinen eigenen Adressraum hat. Je größer diese sind, desto weniger oft muss auf TLB im Cache oder gar Arbeitsspeicher zugegriffen werden. Diese sind beim P-Kern viermal größer als beim E-Kern.
Ebenso wird beeinflusst welche Daten geholt werden von der Sprungvorhersage (Branch Target Buffer BTB). Auch diese sind beim P-Kern dreimal so groß wie beim E-Kern. Entsprechend besser ist die Sprungvorhersage und die Chance eines "Misses" kleiner. Mit 5K und 12K in der ersten Stufe sind diese größer als bei der Vorgängerarchitektur die nur 4K hatte und auf Zen-Niveau (ebenfalls 5K).
Beide Architekturen holen pro Takt 32 Bytes aus dem L1-Cache und 16 Bytes aus dem L2-Cache. Das die Bytezahl pro Cacheebene abnimmt, ist normal, denn Zweck der Caches ist es ja Daten zu puffern, sodass man sie nicht dauernd holen muss.
Danach differieren die Architekturen. Der Befehlsdekoder besteht zwar bei beiden aus sechs Dekodern, die parallel arbeiten. Aber beim E-Kern teilen sich diese in zwei Blöcke von je drei Dekodern auf, beim P-Kern sind es sechs Decoder. Die Aufteilung in zwei getrennte Decoderlinien stammt noch von Tremont, wo eine Schleife, die noch nicht aufgelöst ist, einen Decoder blockieren könnte.
Beide Decoder dekodieren pro Takt sechs IA-64 Instruktionen (jeder Einzeldecoder liefert eine MikroOp pro Takt) und liefern dafür sechs MikroOps ab - nach anderen Schaubildern ist einer der Decoder beim P-Kern aber ein "Komplex Decoder" der vier MikroOps pro Takt abliefert, das wären dann neun, nicht sechs MikroOps pro Takt. In jedem Falle wird der Decoder des P-Kern noch durch einen 4 KByte großen MikroOp-Cache unterstützt der weitere 8 MikroOps pro Takt liefern kann. Dieser fehlt beim E-Kern. Beide Decoder haben für komplexe Instruktionen noch ein Microcode Storage ROM (MSROM), schließlich müssen beide Kerne den gleichen Befehlssatz verstehen.
Nun unterscheiden sich (zumindest bei der Webseite CheeseAndChips) die Wege: Beim P-Kern kommt zuerst eine Warteschlange, dann die OOO-Einheit, während beim E-Kern zuerst die OOO-Einheit kommt und dann die Warteschlange. Bei anderen Schaubildern, auch von Intel kommt zuerst die Warteschlange dann die OOO-Engine.
Beide Decoder führen zu einer Warteschlange für MikroOps, auch hier noch bei Gracemont geteilt. Beim P-Kern ist diese 144 Einträge groß, die aber fürs Hyperthreading auch in zwei einzelne Queues von je 72 Einträgen aufgeteilt werden kann. Auch bei Gracemont werden die beiden Ströme nun in der OOO-Engine vereinigt. Auch diese ist beim P-Kern etwas leistungsfähiger, sie kann sechs MikroOps pro Takt bearbeiten, während es beim E-Kern nur fünf sind. Unterstützt wird diese Einheit durch einen Puffer der die letzten Sprungziele aufnimmt. Auch dieser ist bei Gracemont doppelt vorhanden.
Die so umsortierten und auf interne Register gemappten MikroOps kommen dann zu einer weiteren Warteschlange mit einem Puffer. Dieser ist beim P-Kern doppelt so groß, wie beim E-Kern. Es schließt sich beim P-Kern die OOO-Engine mit den internen Registern an. Vor der OOO-Engine werden zuerst noch einige MikroOps eliminiert, indem bestimmte Operationen zusammengefasst werden, z.B. die beiden sehr häufigen Befehle Vergleich und bedingter Sprung (Abhängig vom Vergleichsergebnis).
Der Scheduler leitet die MikroOps dann an die freien Ports weiter. Hier gibt es den größten Unterschied: Ein E-Kern hat mit 17 Ports fast 50 Prozent mehr als ein P-Kern. Das verwundert, führt ein P-Kern mehr Instruktionen pro Takt aus und ist zudem Hyperthreading fähig, kann also noch mehr Ausführungseinheiten auslasten.
Beim Golden Cove trennt der Scheduler nach Art auf. Es gibt je einen Scheduler für Laden, Speichern und alle mathematischen Operationen. Für Gracemont ist es ein gemeinsamer Scheduler. Über die Zahl der Einheiten, die daran angeschlossen sind, kann man streiten, weil einige Doppelfunktionen haben und dann als zwei Einheiten dastehen. Zählt man durch, zumindest bei den P-Kernen sind sie auch aufgelistet, so kommt man auf 33 bei den P-Kernen und 37 bei den E-Kernen, also auch hier mehr, obwohl die Kerne nicht hyperthreadingfähig sind und die vorhergehenden Einheiten weniger MikroOps pro Takt generieren. Die Einheiten werden nicht nur immer mehr sie werden auch immer spezialisierten. Einheiten für AES, also Verschlüsselungsalgorithmen werden nicht benötigt, wenn diese Befehle im Code nicht vorkommen. Gracemont hat besonders viele Einheiten die beim Befehl LEA die Adresse berechnen.
Die Einheiten nutzen die internen Register, die vorher in der OOO-Engine gemappt wurden. Auch in der Zahl der Register unterscheiden sich beide Architekturen.
Die Lade- und Speichereinheiten übergeben ihre Daten nicht direkt an den Cache, da dieser auch eine Latenz hat, auch hier sind erneut Warteschlangen zwischengeschaltet, auch weil pro Transfer mehr als ein Wort (32 oder 64 Bit), sondern 128 Bit oder 256 Bit (32 Bytes) übertragen werden.
Bedingt durch den größeren Codedurchsatz hat dein P-Code einen größeren Daten-Cache, als ein E-Kern (und frühere Architekturen). Auch beim nachgeschalteten L2-Cache unterscheiden sich die beiden Architekturen. Er ist bei beiden gemeinsam für Daten und Code, aber ein Golden Cove Kern hat einen eigenen Cache (1,25 MB für Desktop- und 2 MB für Serverprozessoren) während er beim Gracemont Kern für alle Kerne eines Prozessors gemeinsam ist und sich in der Verwaltung vom L3-Cache nicht unterscheidet. Da Caches inzwischen aber einen Großteil des Processorteils des Dies ausmachen, ist dies eine Maßnahme um die Gracemont-Kerne kleiner zu machen. Der L3 Cache ist dann wieder gemeinsam für alle Kerne, also P- und E-Kerne. In der Größe des L3-Cache unterscheiden sich denn auch die verschiedenen Versionen des Prozessors.
|
P-Kern |
E-Kern |
---|---|---|
IPC (MiceobenchX) |
3,4 |
2.2 |
Größe L1 Instructionscache |
32 kb |
74 kb |
Größe ITLB |
256 |
64 |
BTB |
18,125 K |
6,5 K |
Decoder |
6 |
2 x 3 |
MikroOps pro Takt |
14 bzw. 17 |
6 |
OOO-Engine |
6 µOps/Takt |
5 µOps/Takt |
Branch Order Puffer |
128 Einträge |
144 Einträge |
Scheduler Puffer |
512 Einträge |
256 Einträge |
Interne Integer Register |
280 |
204 |
Interne FP-Register |
332 |
214 |
Ports |
17 |
12 |
Funktionseinheiten |
33 |
37 |
Load-Queue |
192 |
80 |
Store Queue |
114 |
50 |
Store Transfers |
512 Bit/Takt |
256 Bit/Takt |
Load Transfers |
784 Bit/Takt |
256 Bit/Takt |
L1 Datencache |
48 KB |
32 KB |
L2 Cache |
1,25 / 2MB po Kern |
4 MB gemeinsam |
L3 Cache |
Bis 30 MB |
Intel reklamiert in der Vorstellung der Architektur 40 Prozent mehr Leistung bezogen auf den Stromverbrauch. Das ist zwar ein wichtiger Parameter, aber vor allem für Server die 24/7 bei hoher Last laufen. Für den Desktop relevanter ist der Preis des Prozessors bzw. die Leistung pro Euro. Die 12-te Generation hat bei gleicher Taktfrequenz gegenüber der 11-ten 18 Prozent zugelegt. Im MicrobenchX wurde Folgendes ermittelt:
Architektur |
Familie |
IPC |
---|---|---|
Golden Cove |
Core Ix-12xxx P-Kern |
3,4 |
Zen 3 |
Ryzen x 5xxx |
3,4 |
Zen 2 |
Ryzen x 3xxx / 4xxx |
2,8 |
Coffee Lake |
Core Ix-8xxx |
2,6 |
Gracemont |
Core Ix-12xxx E-Kern |
2,2 |
In praktischen Benchmarks können die P-Kerne zu den Ryzen-Pendants mit Zen 3 Architektur aufschließen, kommen die Gracemont-Kerne hinzu so sind sie schneller. Ei Markteinführung waren sie etwas billiger als Ryzen Pendants mit derselben Rechenleistung. Die folgende Tabelle gibt die Geschwindigkeitssteigerung seit Einführung der Core-Architektur an:
|
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 % |
Rocket Lake |
|
+19 % |
Alder Lake |
|
+18 % |
Im CPU-Z Benchmark ergab sich folgendes Resultat, jeweils für die 400-er Version
Prozessor |
CPU-Z Singlethread |
GHz Turbo Takt |
Pro GHz |
i5-3470=100 |
---|---|---|---|---|
Intel Core i5-3470 |
350 |
3,6 |
97,22 |
100 |
Intel Core i5-4460 |
353 |
3,4 |
103,82 |
1,07 |
Core i5-6400 |
359 |
3,3 |
108,79 |
1,12 |
Core i5-7400 |
384 |
3,5 |
109,71 |
1,13 |
Core i5-8400 |
450 |
4,0 |
112,5 |
1,16 |
Core i5-9400 |
462 |
4,1 |
112,68 |
1,16 |
Core i5-10400 |
473 |
4,3 |
110 |
1,13 |
Core i5-11400 |
565 |
4,4 |
128,41 |
1,32 |
Core i5-12400 |
702 |
4,4 |
159,55 |
1,64 |
Man sieht das alle Prozessoren der 6 bis 10 Generation, also Abwandlungen von Skylake in etwa dieselbe Geschwindigkeit haben. Haswell brachte etwa7 Prozent Performance, Skylake 5 Prozent. Erst mit der 11-ten und 12-ten Generation steigt die Performance stark an.
Bei realen Prozessoren dominiert der Multithread-Benchmark. Hier kommt zum Tragen, das nicht nur die Zahl der Kerne pro Prozessor immer mehr wurden, sondern auch Hyperthreading hinzukam.
Bei dem praktischen Resultat ist auch der maximale Takt wichtig, so stieg diese von 3,3 auf 4,3 innerhalb der Skylake Architektur, was rund 100 Punkte ausmachte.
Seit Jahrzehnten beinhalten die CPU nicht nur den Prozessor, sondern auch den kompletten Chipsatz, also alle Bausteinen die man braucht um den Speicher, die Slots und die Schnittstellen anzubinden und oft auch die Grafikkarte, das ist dann im Prinzip ein fast kompletter PC in einem Chip. (Für SATA-Port, USB benötigt man noch einen weiteren Chip). Entsprechend wird dies als SOC (System on a Chip) abgekürzt. Auch dies ist bei der Alder Lake Generation die Regel, CPU-Versionen ohne Grafikkarte haben einen angehängten Buchstaben "F", sind im Handel aber nur unwesentlich billiger (z. B. 20 Euro beim i9-12900F).
Neu ist die Unterstützung von DDR5-Speicher mit einer maximalen Taktfrequenz von 4.800 MHz (Übertaktermodelle: 5.200 MHz). Die Vorgängergeneration unterstützte DDR4 RAM bis maximal 3200 MHz. Es wird aber auch DDR4-RAM unterstützt, das derzeit erheblich billiger als DDR5 RAM ist. Die maximale Datenrate beträgt nun 76,8 Gbyte/s, vorher waren es 51,2 GByte/s
Die Grafikeinheit UHD 770 mit der Codebezeichnung "Xe" wurde von der 11-ten Generation übernommen (UHD 750), ebenfalls die 32 Shadereinheiten, die für Büroanwendungen ausreichen, aber nicht für anspruchsvollere Spiele. Der Basistakt der GPU wurde von 300 auf 350 MHz angehoben und der Boosttakt von 1.300 auf 1.550 MHz.
Die Grafikeinheit (GPU: Intel XE 7x0) hat aber hinzugelernt. Per Displayport werden nun 8K Displays unterstützt. Bei HDMI und integrierten Bildschirmen bleibt die Auflösung bei 4K bzw. 5K. Das höchste unterstützte DirectX Modell stieg leicht von 12 auf 12.1 Maximal vier anstatt drei Bildschirme sind zumindest von der UHD 770 Grafik aus ansteuerbar. (Wie viele Anschlüsse davon genutzt werden entscheidet der Hersteller des Mainboards).
Der PCI Bus beherrscht nun PCIe 5.0 anstatt 4.0. Es gibt 16 Lanes mit PCIe 5.0 und vier mit PCIe 4.0 anstatt 20 x PCI 4.0. Ebenso beherrschen die acht DMI (Direct Media Interface) Lanes DMI 4.0 anstatt acht DMI 3.0. Beide Standards bieten die doppelte Datenrate des vorherigen, sodass sich die Datenrate bei PCIe um 80 % erhöht und bei DMI verdoppelt.
https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)
https://chipsandcheese.com/2021/12/21/gracemont-revenge-of-the-atom-cores/
https://chipsandcheese.com/2021/12/02/popping-the-hood-on-golden-cove/
ct 25/2021 S.89 -94
Intel: 248966_software_optimization_manual.pdf
Artikel erstellt am 3.4.2022
Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.
Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.
Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.
Mehr über das Buch auf dieser eigenen Seite.
Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.
Sitemap | Kontakt | Impressum / Datenschutz | Neues | Hier werben / advertisment here | Buchshop | Bücher vom Autor |