Home Computer x86 Prozessoren Site Map counter

Die SkylakeMikroarchitektur

Die Skylake Mikroarchitektur ist die sechste und siebte  und fünfte Generation Intels bei den Core Mikroprozessoren. Wie schon die vorherigen Generationen ist diese Architektur eine evolutionär verbesserte Form der Core Mikroarchitektur, welche wiederum eine verbesserte Version der P6-Pro Architektur des Pentium II und III ist. (Und diese geht wiederum auf die des Pentium Pro zurück).

Gemäß Intels Tick-Tock System wird die neue Architektur zuerst im schon eingeführten 14 nm Fertigungsprozess eingeführt ("6 Generation", Skylake). Dies geschah im August 2015. Dem folgte im zweiten Halbjahr 2016 die Einführung der Kaby Lake Mikroarchitektur. Anders als erwartet wurde dies aber auch im 14 nm Prozess gefertigt. Normalerweise führt Intel nach dem Tik-Tok Schhema zuerst neue CPU Features ein, verwendet aber noch den alten Fertigungsprozess: hier der 14 nm Prozess der im September 2014 mit Broadwell eingeführt wurde. Ein Jahr später wird dann die Architektur beibehalten, aber die Fertigungstechnologie verbessert. Dies wäre die Coffee Lake Architektur die für den 10 nm Prozess angekündigt wurden. Probleme mit der Umsetzung führten aber zu einer Verschiebung derer auf das zweite Halbjahr 2017.

In dem Nummerierungsschema haben die Skylake CPU eine "6" als erste Ziffer der vierstelligen Typennummer (z.B. Core I7-6670). Kaby Lake dann eine 7.

Technische Beschreibung

MikroarchitekturGegenüber der Vorgängerversion Haswell gibt es von Intel weitaus weniger Details. Wie schon bei den vorhergehenden Generationen blieben technische Revolutionen aus. So ist die Zahl der Instruktionen pro Takt seit 2007 (Penryn) bis 2015 (Skylake) um 60 % angestiegen. Dies in einem Zeitraum von 8 Jahren sind nur 7 % pro Jahr - nach dem Moorsachen Gesetz hätten es alle 2 Jahre nicht 14 % sondern 100 % sein sollen. Mehr noch auch die maximale Taktfrequenz ist kaum angestiegen. Damit konnte man dies in der Vergangenheit kompensieren. Das CPU-Schaubild von Skylake ist fast identisch zu dem von Haswell, nur sind es im Allgemeinen wo man die Größe beziffern kann wie bei Funktionseinheiten, Buffer oder Register etwas mehr.

Drei wesentliche Neuerungen gibt es bei Skylake / Kabylake:

Jeder Prozessor hat bei Skylake einen eigenen 32 KByte großen Daten und Instructionscache. Diese Caches sind genauso groß wie bei Haswell/Broadwell. Bei Mehrkernprozessoren kommt dann noch ein gemeinsamer L3-Cache hinzu, dessen Größe je nach Produkt unterschiedlich groß ist. Die Pipeline liefert im Durchschnitt vier Instruktionen pro Takt an den Decoder.

Der Recorder Buffer nach dem Durchlaufen des Decoders, des Instructionscaches und der Sprungvorhersage hat bei Skylake 224 Einträge. Bei Haswell waren es noch 192. Vor ihm liegt der Cache mit dekodierten Anweisungen. Er hat 1536 Einträge und speichert 6 Mikroops pro Eintrag. Maximal 8 können pro Zyklus übertragen werden. Dieser Cache den es schon beim Pentium 4 gab, der aber dann wieder abgeschafft wurde gab es schon beim Vorgänger Sandy Bridge. Er speichert die letzten dekodierten Anweisungen ab, die so wenn sie in einer Schleife erneut benötigt werden nicht mehr die komplette Pipeline und den Befehlsdekoder durchlaufen.

Wie alle Architekturen seit dem Pentium Pro arbeitet intern in dem Prozessor eine RISC Einheit. Da der Befehlssatz der x86 Architektur sich seit 1978 zwar mehrmals erweitert wurde, aber nie grundlegend verändert, reichen die wenigen Register die der 8086 hatte heute nicht mehr aus - es gibt 22 Funktionseinheiten im Prozessor, alle diese können parallel arbeiten. Diese kann man nicht mit nur 16 Registern (im 64 Bit Modus, im 32 Bit Modus sind es noch weniger) mit Daten füttern. So gibt es 180 Ganzzahl-Schattenregister und 168 Fließkommaregister im Schdeluler. Bei Haswell war beide Registersätze 168 Einträge groß.

Bei den Funktionseinheiten gibt es nach wie vor sieben Ports, mit 22 Recheneinheiten die auch anders verteilt wurden.

Weiterhin nahm die Zahl der "normalen" Einheiten zugunsten von Vektoreinheiten ab.

Das gleiche findet man bei den Ports 2 bis 4 und 7 für den Transfer von Daten in den Speicher. Auch hier ist die Zahl der Buffer von 64 auf 72 Lesebuffer und 48 auf 56 Schreibepuffer angestiegen. Die Buffer sind an den Datencache mit 256 Bit Breite angebunden.

Vektoroperationen und die Erweiterung der AVX Einheit um diese sind ein wichtiger Punkt bei der Weiterentwicklung in den letzten CPU Generationen. Anders als erwartet hat Skylake beim Start nur 256 Bit breite Vektorregister wie Haswell. 512 Bit breite Register (AVX512) gab es erst Mitte 2017 bei einer neuen Kaby Lake Generation. Doch diese hatte große Probleme, und musste bei diesen AVX Operationen den Takt herunterfahren. Bei AVX Operationen nutzt man ein 256 Bit Prozessorregister um vier 64 Bit oder acht 32 Bit Zahlen gleichzeitig zu verarbeiten. Kann man noch eine Multiplikation mit einer Addition verbinden (FMA-Befehl) so erreicht der Prozessor seine höchste Fließkommarechenleistung: 2 x 256 / Bitspro Zahl * Kernzahl * Takt. Für einen 3 GHz Skylake Prozessor mit 64 Bit Zahlen und vier Kernen kommt man so auf 2 x 256 / 64 * 4 * 3.000.000.000 = 96 Gflops.

Dies wird von Intel werbewirksam herausgestellt. Es gibt aber einen Nachteil: damit die Einheiten überhaupt so viele Daten verarbeiten können haben die Vektoreinheiten eine sehr hohe Latenz. Während bei den normalen Rechenoperationen die Latenz von 1-7 Takten bei einem Port auftreten (sprich, das erste Ergebnis wird bis 7 Takte nach der Befehlsausführung an den Bus übergeben) so haben die Vektoreinheiten eine Latenz von 56.000 Instruktionen. Die erste dauert dann 150 bis 250 Takte. Ebenso geht der Prozessor nach 2,7 Millionen Taktzyklen wieder in diesen langsamen Modus über. Für Programme die Arrays multiplizieren oder Addieren (dies ist die Häufigste Anwendung von Vektoroperationen) ist allerdings die langsame Speicheranbindung das Hauptproblem. Immerhin gibt es anders als beim Vorgänger Haswell keine Latenz beim Umschalten von einer Vektoroperation zu einer normalen Operation.

Schon bei Haswell wurde das symmetrische Multiprozessing, früher Hyperthreading wieder eingeführt. Dieses Feature der späteren Pentium 4 Prozessoren gaukelt dem Betriebssystem die doppelte Zahl an Kernen vor, also z.B. acht bei einem Quadcoreprozessor. Da der Prozessor intern mehr Einheiten hat füllen so die vier zusätzlichen Threads die nicht benutzten Ports auf. Anders als bei physikalisch vorhandenen Kernen nimmt die Leistung dann aber typisch nur um 10 bis 20 % zu und nicht um 100%, selbst bei Multithreading Anwendungen.

Der Hauptflaschenhals bei Skylake ist der Zugriff auf den Hauptspeicher, von dem maximal 16 Bytes pro Takt transferiert werden. Bedenkt man das man beim obigen Beispiel von 96 GFlops bei 3 GHz Takt maximal 48 GByte pro Sekunde transferiert werden so ist klar, das diese hohe Geschwindigkeit nur möglich ist wenn die Daten sich im Cache befinden. Über den Zugriff auf den Hauptspeicher würde die Performance auf 12  GFlops einbrechen.


Parameter Skylake Haswell
Pipeline 5 µops/Takt 4 µops/Takt
Decoded Cache 6 µops/Takt 4 µops/Takt
Instruktion Queue 64 µops/Logischem Prozessor
64 µops/Physischem Prozessor
28 µops/Logischem Prozessor
56 µops/Physischem Prozessor
ROB-Buffer 224 µops 192 µops
Ports 7 7
Funktionseinheiten 22 20
L2-Assozität 4-fach 8-fach
L3-Bandbreite 2 Zyklen/Cacheline 4 Zyklen/Cacheline
interne Register 180 Integer, 168 Fließkomma 168 Integer, 168 Fließkomma
Bandbreite L2 : 64 Bytes / Takt
L1 : 2 x 32 Bytes Load, 32 Bytes Store
L2 : 64 Bytes / Takt
L1 : 64 Bytes Load, 32 Bytes Store
Latenz: 41 Takte + 51 ns
44 Takte L3
12 Takte L2
4 Takte L1
34 Takte L3
11 Takte L2
4 Takte L1

Skylake GesamtsichtInsgesamt ist bei fast allen Parametern Skylake nur um etwa 10% besser als Haswell, in einigen wie der Latenz des L2 und L3 Caches sogar schlechter (was einen höheren Takt zulässt. In realen Anwendungen sind Skylakeprozessoren mit vergleichbarem Talkt auch meist weniger als 10% schneller als ihr Haswell-Pendant. Zumindest nach Intel angaben. Websites die Benchmarks auswerteten gaben dagegen nur 3,3 % Haswell → Broadwell und 2,7 % (Broadwell → Skylake) an.

Bei den Prozessoren mit integrierten Graphik Einheiten (HD-Graphic) blieben meist die Zahl der Shadereinheiten identisch (mindestens 12, aber auch 24 und 48). Dafür wurde der Takt gesteigert. die kleinste Version Intel HD Graphics 501 GT1 hat 12 Shader Einheiten bei 950 MHz, bei Haswell waren es noch 850 MHz. Nur in der Spitzenklasse gibt es ein neues Modell, die Iris Pro Graphics 580, GT4e mit 72 Shadereinheiten und bis zu 128 MB EDRAM. Dieses Modell erreicht 1152 GFlops bei 1 GHz, während das beste Modell bei der Haswell Architektur nur 48 Shadereinheiten hatte und bei 1,15 GHz maximal 883,2 GFlops erreichte. Neu war auch die Unterstützung von drei Monitoren anstatt zwei und Displayport 1.2 und 1.3,

Dieser Trend, das die integrierte Graphiceinheit immer stärker als die eigentliche CPU Architektur zulegte gab es schon beiden Vorgängerarchitekturen Sandy Bridge und Haswell, allerdings sind die Graphiceinheiten immer noch deutlich von den Leistungen selbst einer billigen Grafikkarte entfernt. Für Gamer lohnt es sich eher mehr in die Grafikkarte zu investieren als in einen Prozessor mit stärkere integrierter Grafik. Die Spitzeneinheiten findet man nur in mobilen Rechnern die schon wegen ihrer Größe nicht den Platz für eine große Grafikkarte haben, doch auch dort ziehen mehr und mehr notebooktauglichen Grafikchipsätze ein.

Gesamtübersicht

SkylakeDa die Architektur inzwischen sehr kompliziert geworden ist und ich bei den vergangenen Besprechungen immer nur die Neuerung aufgeführt habe, an dieser Stelle eine Gesamterläuterung der Skylake Architektur am Beispiel eines Befehlsdurchlaufes.

Über die grundsätzliche Architektur informiert das Blockschaltbild, in dem nur die wesentlichen Sektionen aufgeführt sind, ohne Details zur Implementierung. Das Blatt ist nicht vollständig, es gibt die Architektur nur eines Kerns wieder. Skylake-Prozessoren sind aber Mehrkernprozessoren. Es gibt mindestens zwei Kerne pro Prozessor. Für den Desktop sind Prozessoren mit bis zu 10 Kernen erhältlich, die Serverlinie (Xeon) sogar mit bis zu 28 Kernen. Dann werden aber mehrere Chips zu einem Prozessor kombiniert. Ebenso fehlen auf dem Bild die in den Prozessor integrierte Ansteuerung von Peripherie wie USB und die integrierte Grafikeinheit, die allerdings auch entfallen kann. Für den Prozessor selbst ist noch ein Bestandteil wichtig, der hier fehlt: der Level 3 Cache, oder L3-Cache.

Bei dem L3-Cache fangen an und verfolgen, welche Stationen ein Befehl im Prozessor durchläuft. Der L3-Cache ist bei Skylake 3 bis 8 Megabyte groß und wird von allen Kernen gemeinsam genutzt. Anders als bei früheren Architekturen hat nicht jeder Kern einen eigenen festen Bereich im L3-Cache, sondern die Verteilung richtet sich nach dem Bedarf. Bis zu 2 MByte kann ein Kern für sich beanspruchen. Das erlaubt es, sehr schnell Tasks zu wechseln. Windows, aber auch Linux verschieben die Tasks dauernd von einem Kern zum Anderen. Das heißt ein Programm oder ein Hintergrunddienst läuft, selbst wenn er nur einen Kern benötigt, nicht immer auf demselben Kern, sondern wechselt diesen alle paar Mikrosekunden. So vermeidet das Betriebssystem, das sich ein Teil des Prozessors stark erhitzt, während andere brachliegen. Der L3-Cache ist aufgeteilt wie alle Caches in Cachelines, bei Skylake 64 Byte pro Cacheline. Vom Hauptspeicher holt er immer eine Cacheline pro Zugriff, also 64 Byte, das sind bei DDR-RAM, das 64 Bit pro Zugriff übergibt, genau 8 Zugriffe. Der erste Zugriff hat eine sehr hohe Latenz, sprich man muss lange warten, die folgenden geschehen dann im optimalen Fall mit der Zykluszeit des Speichers, derzeit 1600 bis 2400 MHz bei DDR4-RAM. Der Transfer einer Cacheline dauert so etwa 6-7 ns, der größte Teil (4-5 ns) entfällt auf das Warten auf die ersten 64 Bit. Der Speicher transferiert maximal 34,1 GByte/s, wenn vier Module angesprochen werden.

Der Level 3 Cache ist groß, aber ist auch langsam. Er hat bei Skylake eine Latenz von 44 Takten. Das bedeutet, erst 44 Takte nach der Anfrage liefert er eine Cacheline aus. Er liefert pro Takt maximal 32 Bytes an den oberen, L2-Cache, bei dauerndem Zugriff sinkt die Datenrate auf 18 Bytes/Takt. Das ist immerhin aber noch 4 bis 5-mal schneller als DDR-Speicher. Der Speicher ist 16-fach assoziativ, also in 16 Einzelteile(Untercaches)  unterteilt.

Mit dem L2-Cache beginnt der eigentliche Prozessor. Er ist bei Skylake 256 KByte groß, also wesentlich kleiner als der L2-Cache. Es ist ein gemeinsamer Cache für Daten und Code. Er ist nur 4-fach assoziativ. Der kleinere Cache ist dafür schneller: er hat eine Latenz von nur 12 Takten, liefert pro Takt 64 Bytes aus und hat eine dauerhafte Leserate von 29 Bytes/Takt. Die Caches sind wie der Hauptspeicher durch breite Datenpfade mit den weiteren Einheiten verbunden. Sie kompensieren so ihre Latenz durch Bandbreite. Bei Skylake gibt es 256 Datenleitungen zwischen den Caches, zum Hauptspeicher sind es 64.

Eine Änderung gibt es beim L1-Cache, dem letzten Cache bevor der Befehl verarbeitet wird. Er ist getrennt in einen Daten- und Codecache. Diese Trennung repräsentiert, dass die x86-Architektur von Anfang an separate Code- und Datensegmente kennt. Auf ein Datensegment wird zugegriffen, wenn ein Register Daten benötigt oder schreibt. Auf das Codesegment wird zugegriffen, wenn sie sich der Befehlszähler ändert – entweder automatisch (beim Holen des nächsten Befehls wird er erhöht) oder durch Sprünge oder Unterprogrammaufrufe. Bei der Skylake-Architektur sind beide Caches gleich groß: 32 KByte, das muss aber nicht so sein. Meistens liegt der Fall vor, dass eine kleine Routine größere Datenmengen verarbeitet. Signalverarbeitungsprozessoren haben deswegen oft viel größere Daten als Codecaches. De L1-Codecache hat eine Latenz von nur noch 4 Takten und transferiert pro Takt 2 x 32 Bytes beim Lesen oder 32 Bytes beim Schreiben mit einer maximalen Datenrate von 81 Bytes pro Takt. Für den Datencache ist die Latenz und Datenrate stark abhängig vom Programm und den Datenmustern, deshalb gibt es von Intel keine Spezifikationen für den Datencache.

Die Caches sind nötig, weil der Prozessor viel mehr Daten verarbeiten kann, als der Speicher liefert. Bei Skylake sind es bis zu 512 Bytes/Takt. Ein einzelnes DDR4-Modul liefert aber nur 16 Byte pro Takt. Wie bei dden meisten Prozessoren ist die Speicheranbindung der Flaschenhals der Architektur. Die Serverlinie (Xeon) hat daher deutlich größere Caches und unterstützt auch mehr DDR-Module auf dem Motherboard (8 -16) anstatt 4 bei den Desktop-Prozessoren. Caches machen sich den Umstand zunutze, dass sowohl Code wie auch Daten eine hohe Lokalität aufweisen, also man sehr oft Codeteile wiederholt oder immer wieder auf dieselben Daten zugreift.

Erst wenn ein Befehl als Bitmuster alle diese drei Caches durchlaufen hat, dann beginnt dessen Verarbeitung. Er gelangt in den Befehlsdekoder. An den Befehlsdekoder angeschlossen ist (hier nicht aufgeführt) die Einheit, die automatisch Befehle von der nächsten Adresse in den L1-Cache holt, der Instruction Fetch. Der Dekoder zerlegt die Befehle in kleinere Bausteine, die Mikroops. Die gesamte Architektur ist auf diese Mikroops (µops) ausgelegt, da sie viel schneller als die x86 Befehle verarbeitet werden können. Ein einfacher x86 Befehl bildet eine Mikroop, ein komplexer mehrere. Seit zwei Generationen hat Intel auch sehr häufig aufeinanderfolgende Befehle zu einer Mikroop verschmolzen. Der Dekoder liefert 5 Mikroops pro Takt an den nun folgenden Decoded-Cache. Die Pipeline hat 14 bis 19 Stufen je nach Komplexität des Befehls.

Der nun folgende Cache ist relativ klein. Er hat nur 1.536 Einträge, jeder fasst 6 Mikroops. Anders als die anderen Caches speichert er aber dekodierte Anweisungen. Sie müssen daher nicht mehr den Dekoder durchlaufen und auch nicht die L1 bis L3-Caches. Das beschleunigt vor allem Schleifen, in denen immer wieder derselbe Codeteil durchlaufen wird. Dieser Cache wurde beim Pentium 4 eingeführt, mit dessen Architektur aber zuerst wieder beerdigt. Mit der Sandy Bridge Architektur kam er wieder, allerdings diesmal als viel kleinerer Cache.

Vom Decoded Cache gelangen 6 Mikroops pro Takt an die beiden Queues die jeweils 20 Einträge haben. Sie geben dann pro Takt 5 µops an RISC-Engine weiter. An diese Qeue ist noch ein weiterer Decoder angeschlossen, hier als MS-ROM gekennzeichnet. Dies ist der Microcode-Sequencer, der in einem ROM hardwareverdrahtet die Instruktionen für komplexe Befehle hat. Dies ist ein zweiter Dekoder, der zuständig ist für komplexe Befehle die vier oder mehr Mikroops umfassen. Sie durchlaufen dann diesen, der normale Dekoder wird dann angehalten.

Von hier aus gelangen die Mikroops an die eigentliche RISC-Engine. Diese ist relativ komplex und von Intel ist ihre Funktionsweise nur in den Grundlagen erläutert. Im Prinzip hat sie folgende Aufgabe: Sie muss dafür sorgen das der x86 Code, der maximal 16 Register hat, und niemals für paralleles Ausführen gedacht war, parallel ausgeführt wird. Dazu hat diese Engine 168 Fließkomma- und 180 Ganzzahlregister, sogenannte Schattenregister. Sie sind nötig, weil mehrere Befehle gleichzeitig verarbeitet werden, jeder aber auf die 16 Register zugreifen kann. Ebenso hat diese Einheit 72 Speicher für Werte die vom Speicher geladen und 56 Speicher für Werte, die im Speicher abgelegt werden und einen Cache mit 48 Einträgen für die letzten Sprünge.

Man könnte diese RISC-Eingine als einen Prozessor mit 348 Registern ansehen, der so tut als wäre er ein x86 Prozessor mit maximal 16 Registern. Dazu gehören zahlreiche Operationen wie das Umbenennen von Registern, Reservieren und Freigeben von Registern. Diese Einheit ist auch für das Umsortieren von Befehlen (Out of Order Scheduling) zuständig, eine der aufwendigsten Operationen im Prozessor.

Für Sprünge gibt es noch eine weitere Einheit, hier oben direkt neben dem L2-Cache aufgeführt, die Branch Prediction Unit (BPU). Sie hat die Aufgabe auf Basis des Codes vorherzusagen, wohin der Prozessor bei einer bedingten Verzweigung (z. B. bei einem Vergleich und anschließendem Sprung bei Gleichheit oder Ungleichheit) die nächsten Befehle holt und diese vorsorglich schon in den L1-Code Cache zu laden.

Hinter der RISC-Engine befinden sich die eigentlichen Funktionseinheiten. Sie sitzen an sieben Ports, die jeweils eine oder mehrere Funktionseinheiten mit Daten füttern. Der Scheduler, der die Mikroops verteilt, hat 97 Einträge. Die Ports 2,3,4 und 7 dienen zum Laden und Speichern von Daten und Adressen. Die nicht kontinuierliche Nummerierung liegt daran, dass es ursprünglich vier Ports waren und im Laufe der Zeit weitere hinzukamen. Sie sind mit dem L1-Datencache verbunden. An sie angeschlossen ist noch die Einheit für die virtuelle Speicherverwaltung (DTLB: Data Transistent Lookup-Buffer), welche die virtuellen Adressen in reale Adressen umrechnet. Die für den Code notwendige TLB (ITLB: Instruction TLB) ist direkt an den L1-Code Cache angebunden.

Diese Ports werden von den befehlen angesprochen die Daten verschieben. Die meisten Befehle führen aber entweder mathematische Berechnungen durch oder verändern Bitmuster oder führen Vergleiche aus. Aufgrund des unterschiedlichen Binärformates gibt es für das Verarbeiten dieser Daten jeweils einen Satz von Einheiten, die Ganzzahlen verändern und einen Satz, der Fließkommazahlen verarbeitet. Dazu kommen seit einigen Generationen auch Vektoroperationen. Skylake hat dafür 256 Bit breite Register, seit Mitte 2017 auf 512 Bit erweitert. Bestimmte Befehle der AVX-Erweiterung (Advanced Vextor Extensions) nutzen diese überbreiten Register dahin gehend, dass in ein 256 Bit breites Register gleich vier „doppelt genaue“ 64 Bit Fließkommazahlen oder 64 Bit Ganzzahlen geladen werden und diese dann gemeinsam der gleichen Operation z.B. einer Addition unterworfen werden. Dies geht mit 32, 64 und 128 Bit breiten Operanden. In der Praxis werden vor allem 32 und 64 Bit breite Fließkommaoperationen genutzt.

Bei Einsatz des FMA-Befehls (Fused Multiply-Add), der in einem Taktzyklus zwei Operationen, nämlich eine Addition und eine Multiplikation durchführt, erreicht die Skylake-Architektur ihre höchste Rechenleistung. Bei 32 Bit pro Operand, 512 Bit breiten Registern und 3 GHz Takt sind dies 96 GFlops pro Kern. In der Praxis gibt es Verzögerungen. Im Linpak-Benchmark, einer Matrixmultiplikation, erreicht der Prozessor etwa 70% der theoretischen Spitzenleistung. In realen Anwendungen liegt sie darunter.

Die Recheneinheiten hängen an den Ports 0,1,5 und 6. Anders als bei den Ports für den Speicherzugriff hängen an einem Port mehrere Einheiten, am meisten an Port 0. Ihre Ergebnisse gelangen wieder in den Scheduler und von dort aus über die Ports mit den Speicherzugriffeinheiten in den Datencache.

Wie das folgende Blockschaltbild zeigt, belegt der Prozessorkern inzwischen am wenigsten Chipfläche, bei einem 4-Kernsystem belegt jeder Kern nur 1/12 der Fläche. Den Rest nimmt vor allem die integrierte Grafikeinheit, die mit 180 bis 1000 Gflops/s die Rechenleistung der Prozessoren bei Weitem übertrifft ein, dazu kommt der gemeinsame Cache (LLC) und die Anbindung an den Speicher, USB, Motherboard, Display.

Die Entwicklung der Skylake Architektur

Intel plante nach dem "Tik-Tok Schema" nach Skylake (6-te Generation) bei der 7.ten Generation eine neue Halbleitertechnologie mit kleineren Strukturbreiten einzuführen. Das wäre Kaby-Lake gewesen. Doch dieser neue Prozess nach dem 14 nm Prozess wären nun 10 nm dran gewesen. Doch Intel hatte den Prozess nicht fertig. So wurde Kaby Lake in einem verbesserten 14 nm Prozess eingeführt (von Intel "14 nm+" genannt. Das galt auch noch für die nächste Generation Coffee Lake ("14 nm++). Die 9-te Generation erhielt nun nicht mal nur einen neuen Codenamen, sondern wurde lediglich "Coffee Lake Refresh" getauft. Einen neuen Codenamen erhielt die 10-te Generation: Comet Lake, doch auch sie erschien noch im 14 nm Prozess. Doch auch sie zählt Intel, noch zu Skylake.

Die 11.te Generation führte eine neue Architektur ein. Erst die 12.te Generation Alder Lake führt nicht nur eine neue Mikroarchitektur ein, sondern auch den 10 nm Prozess. Immerhin wurde bei Rocket Lake die Geschwindigkeit deutlich gesteigert, während es bei den anderen Generationen eher kleine Sprünge waren.

Die folgende Tabelle informiert über die wesentlichen Unterschiede zwischen den Generationen:

Codename Skylake Kaby Lake Coffee Lake Coffee Lake Refresh Comet Lake Rocket Lake
Generation (Core in-Xnnn) 6 7 8 9 10 11
Verbesserungen   höhere Turbo-Boost Stufen
Höherer Takt für Mobil-Prozessoren
Pentiums mit Hyperthreading
Übertaktbare I3-Prozessoren
GPU 9 -> 9,5
Dekodierung von HEVC und VP9
Einführung der i9 Serie
4 Kerne bei I3, 8 Kerne bei i7 und i9
Größere Level 3 Caches
50 MHz höherer GPU Takt
Bis 400 MHz höherer Turbo Takt
DDR4 2666 MHz Support
Fixes für Meltdown und Forshadow Mehr Kerne pro Prozessor (bis zu 10)
Höhere Turbo Takt Stufe bis 5,3 GHz
DDR4 2933 MHz Support
Neuer Sockel 1200
Hyperthreading auf allen Desktop Modellen ab Pentium

Neue Cypress Code Architektur
DL-Boost und AVX-512 Instruktionen
19 % reklamiertes Plus an Perfromance
Neue GPU mit 32 Shadern
Hardware Dekodierung für weitere Videoformate
Support für ein 8K oder zwei 4K Displays
Support für Displayport 1,3 und HDMI 2.9
20 PCI Lanes
USB 3.2 Support
DDR4-3200 MHz Support
Cinebench R20 bei x500 CPU 1079 1443 2300 2407 3197 3888
Takt x400 CPU 2,7 GHz 3 GHz 2,8 GHz 2,9 GHz 2,9 GHz 2,6 GHz
Kerne x400 CPU 4 4 6 6 6 / 12 Threads 6 / 12 Threads
Geschwindigkeit Kern, Skylake =1 1 1,33 1,42 1,49 1,97 2,40
Geschwindigkeit Kern/GHz Skylake =1 1 1,20 1,36 1,39 1,83 2,49

Die Konkurrenz

Auch als Skylake aufkam hatte die Architektur kaum Konkurrenz. AMD, der Erzrivale hatte bei seiner Bulldozer Architektur einen viel höheren Stromverbrauch bei schlechteren IPC-Angaben (Instruktions per Second). AMD hatte nur einen größeren Anteil im Einstiegssegment wo der Preis des Rechners wichtig ist. Prozessoren mit hohem Takt und bis zu acht Kernen (Skylake hat im Normalfall vier, einige Spitzenmodelle der ICore I7 Serie auch sechs Kerne) konnten bei voller Ausnützung aller Kerne mithalten, mussten die Langsamkeit durch mehr Kerne kompensieren. Allerdings war AMD immer langsamer bei Singelthread-Anwendungen wie sie im Desktopeinsatz die Norm sind. Durch den hohen Stromverbrauch fand man kaum AMD-Prozessoren in Notebooks und erst recht nicht in noch kleineren mobilen Geräten wie Tablett-PCs.

Die Situation änderte sich im Frühjahr 2017 als AMD die ersten CPU der Ryzen Architektur herausbrachte. Sie sind zwar immer noch langsamer als Intels Skylake Architektur, doch bedeutend billiger und mit mehr Kernen (bis zu 10). Für 200 Euro bekommt man von Intel einen 4-Kern Prozessor, von AMD sind es 6 Kerne. Gegenüber der Bulldozer Architektur wurde die Zahl der Instruktionen pro Takt um 40 % erhöht. Die Zen-Architektur liegt damit in der Geschwindigkeit zwischen Broadwell und Haswell, etwa 10 bis 15 % unter der von Skylake - das spürt man als Anwender kaum, bekommt aber entweder mehr Leistung zum gleichen Preis oder für die gleiche Leistung muss man ein drittel weniger bezahlen. AMDs Börsenkurs stieg innerhalb eines Jahres um 500%, Intels Kurs sank um 25 % ab.

Intel reagierte panisch indem man verfrüht nun auch Prozessoren mit zehn Kernen veröffentlichte die aber zahlreiche Fehler hatten, zudem exorbitant teuer waren.  Die als Core X bezeichnete neue Serie ist mittlerweile mit bis zu 18 Kernen verfügbar, allerdings zu gesalzenen Preisen von 1000 Euro pro Chip.

Zusammenfassung

Mit rund 10% mehr realer Performance setzt Skylake den bisherigen Trend zu immer kleineren Geschwindigkeitssteigerungen fort. Das zeigt auch dieses Diagramm, das die Instruktionen pro Taktzyklus, also unabhängig vom Takt angibt.

Produktpalette

Technische Daten
Erschienen: 5.8.2015 (Skylake)
30.8.2016 (Kaby Lake)
September 2017 (Coffee Lake)
Oktober 2018 (Coffee Lake Refresh)
August 2019 (Comet Lake)
Transistoren: 1700 Millionen Quadcore mit integrierter Grafik, 122 mm² Chipfläche
Technologie:  14 nm / 14 nm ++
Taktfrequenzen: 2,2 bis 4,2 GHz, später bis zu 6 Kerne, 12 Threads und 5,3 GHz Turbo Boost
Recheneinheiten Ganz/Fließkomma 4 ALU und 7 AVX Einheiten
Geschwindigkeit: 24.300 Dhrystones MIPS  und 10.225 Whetstones pro Singlethread (Core i7-6700K, 4,2 GHz, 4/8 echte/logische Kerne)
Spannung:
Gehäuse: LGA 1151, BGA 1364 und 1168
Speicher: 64 GByte physikalisch, 64 TByte virtuell
Datenbus: 64 Bit breit
Vorgänger: Haswell Mikroarchitektur
Nachfolger: Alder Lake

Quellen:

https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf

http://www.csl.cornell.edu/courses/ece4750/handouts/ece4750-section-skylake.pdf

https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)

https://en.wikichip.org/wiki/intel/microarchitectures/kaby_lake

Artikel erstellt am 4.8..2017. Artikel überarbeitet am 29.3.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.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop Bücher vom Autor Top 99