Architectuur: Skylake-X versus Skylake (1)
In principe zou je kunnen stellen dat Skylake-X een variant van Skylake is, zij het met meer cores, een uitgebreide PCI-Express controller en een dubbele geheugencontroller. Het is zonder meer waar dat de Skylake-X CPU’s gebaseerd zijn op dezelfde architectuur die we een hele tijd geleden al uitgebreid hebben besproken in onze Skylake architectuur-review. Toch doen we de nieuwe CPU’s tekort als we het bij die beschrijving zouden laten. Buiten de aantallen cores, PCIe-lanes en geheugenkanalen zijn er namelijk nog de nodige verschillen aan te wijzen.
Extra instructies: AVX-512
Allereerst zijn de floating point execution units binnen de Skylake-X cores geschikt gemaakt voor de nieuwe AVX-512 instructies, opvolger van AVX 2.0. Waar bij AVX 2.0 voor het eerste instructies op 256-bit data in één keer kon worden uitgevoerd, kan bij AVX-512 instructies direct worden uitgevoerd op 512-bit data.
AVX512 biedt naast een flink aantal nieuwe instructies en bestaande registers die zijn vergroot naar 512-bit ook een groot aantal nieuwe registers. In totaal kan er 8x meer data direct bij de execution units in de registers worden opgeslagen als in de tijd dat SSE de nieuwste instructieset uitbreiding was. Daarnaast zijn er extra registers toegevoegd voor maskerings instructies en bevat AVX512 allerhande nieuwe instructies om uiteenlopende algoritmes te kunnen versnellen.
Van ringbus naar mesh
Ook niet is dat Intel voor Skykale-X afstapt van de sinds 2010 gebruikte ringbus architectuur, maar laat men de verschillende onderdelen van processor onderling communiceren via een mesh netwerk.
De ringbus deed voor het eerst zijn intrede in 2010 bij de Sandy Bridge generatie processors. Bij deze generatie had Intel voor desktops CPU's tot 4 cores en voor servers modellen tot 8 cores. De ringbus maakte het voor Intel relatief eenvoudig om chips met meer of minder cores te ontwerpen, doordat men extra cores met daaraan gekoppeld een stuk L3-cache als het ware als plakjes in een chipontwerp kon invoegen. De ringbus verbond alle onderdelen van de chip met elkaar. Deze ringbus werkt als een soort treinbaan met stations bij iedere core. Data kan via dit bidirectionele spoor van het ene chiponderdeel naar het andere verstuurd worden, waarbij transport van ieder station naar de volgende halte één klokslag in beslag neemt.
De ringbus deed voor het eerst zijn intrede bij de Sandy Bridge processors uit 2010 en maakte dat Intel eenvoudig chipvarianten met meer of minder cores kon uitbrengen.
De laatste jaren is het aantal cores binnen Intels server processors geëxplodeerd. De huidige Broadwell-generatie Xeon E5 v4 processors bieden tot 24 cores en zodoende moest men bij de laatste twee generaties zelfs al trucs uithalen door twee ringbussen te implementeren die via speciale knooppunten met elkaar verbonden worden. Die knooppunten hebben weer een extra latency van vijf klokslagen, wat maakt dat in het ergste geval - wanneer de core linksonder in de chip data nodig heeft uit het L3-cache geheugen dat is gekoppeld aan de core rechtsbovenin - er een latency is van maar liefst 14 klokslagen. Met nóg meer cores, wat Intel voor de huidige Skylake-generatie Xeon-processors uiteraard van plan was, zou de ringbus uiteindelijk te beperkend zijn geworden voor de prestaties.
Waar Intel bij de op desktops en laptops gerichte Skylake processors (met maximaal vier cores) nog steeds gebruik maakt van een ringbus, is dit voor Skylake server CPU's, waarbij men het aantal cores opnieuw wil verhogen, niet meer haalbaar. Vandaar dat Intel voor de nieuwe generatie server-CPU's is overgestapt op een nieuwe methode. Binnen de verschillende uitvoeringen van de Skylake server-chips zitten de cores in een soort Matrix-structuur, als een soort schaakbord dus, aan elkaar. Over dit schaakbord heeft men communicatielijnen aangebracht, zoals in horizontale richting als in verticale richting. Via dit zogenaamde mesh netwerk van communicatiekanalen kunnen de verschillende onderdelen van de chip communiceren, waarbij opnieuw iedere halte één klokslag latency met zich mee brengt. Doordat er nu veel meer communicatiekanalen in de chip zitten dan één of twee ringbussen, is de totale bandbreedte waarmee de chiponderdelen onderling kunnen communiceren aanzienlijk toegenoemen.
Het chipontwerp is nog altijd modulair; tussen de cores plaatst Intel links en rechts de geheugencontrollers en alle overige zaken, zoals PCI-Express controller en de verbindingen door communicatie met andere sockets worden bovenin de chip geplaatst. Zolang het aantal cores (minus twee voor de geheugencontrollers) maar in zo'n matrix past, kan Intel eenvoudig varianten met meer of minder cores produceren.
De Skylake server processors maken gebruik van een mesh netwerk.
Van de 18-core variant van Skylake-X heeft Intel een die-shot wereldkundig gemaakt. Het gaat hier om een 18-core variant, waarbij we ook duidelijk de matrix van 4 x 5 cores met daarin de twee geheugencontrollers zien zitten (let wel; ten opzichte van het schema hierboven is de die-shot 90 graden linksom gekanteld). De 12-, 14- en 16-core modellen zullen gebaseerd zijn op dezelfde chip, maar dan met cores uitgeschakeld.
De 6-, 8- en 10-core Skylake-X chips die in eerste instantie op de markt komen hebben maximaal 10 cores hebben en zijn allen gebaseerd op een 10-core chip, waarbij het voor de hand ligt om te denken dat bij deze chip de cores in een 4 x 3 matrix zitten.
Een die-shot van het 18-core topmodel uit de Skylake-X-serie.
5 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Intel Core i5 7640X Boxed
|
Niet verkrijgbaar | |
![]() |
Intel Core i7 7740X Boxed
|
€ 375,843 winkels |
|
![]() |
Intel Core i7 7800X Boxed
|
€ 414,772 winkels |
|
![]() |
Intel Core i7 7820X Boxed
|
€ 572,951 winkel |
|
![]() |
Intel Core i9 7900X Boxed
|
Niet verkrijgbaar |