Intel už loni představil plány na dvě inovace platformy a instrukční sady x86, na které jsou založené prakticky všechny procesory pro PC (Intel, AMD, čínský Zhaoxin). Jednak to bylo rozšíření APX, které probourá omezení v počtu pracovních registrů a trochu zmírní náskok ARMu v této disciplíně, a dále AVX10, což je nástupce či možná spíš nová adaptace AVX-512. Dlouho nebylo jasné, kdy tyto noviny přijdou, ale teď už to konečně víme.
Intel zatím nikde veřejně neoznámil, pro které generace procesorů je podpora APX a AVX10 plánovaná. Možná i proto, že zatím není jisté, zda třeba dotyčné procesory nepostihne nějaký odklad. A firma také asi nechce vzít vítr z plachet předchozím generacím, ve kterých ještě tyto novinky nejsou. Neoficiální cíle ale už prosákly.
Podle zmínek jednoho zaměstnance (nebo exzaměstnance) izraelské pobočky Intelu, který se zřejmě na CPU architekturách podílel (Stanislav Shwartsman), plánuje Intel tyto velké novinky začlenit do procesorové architektury označené Panther Cove. Jádro Panther Cove má být příštím velkým architektonickým skokem, významem podobným nyní vydanému Lion Cove. Je zajímavé, že Intel u něj po dlouhé době změní CPUID z „Family 6“, které měly procesory prakticky od Pentia Pro, na „Family 19“. To by možná mohlo mít za cíl odrážet, že toto jádro bude větším předělem proti minulosti právě skrze tyto nové technologie.
Plánované přeorání platformy x86
APX spočívá v tom, že procesor dostane 32 obecných architektonických (tj. viditelných z pohledu programátora) registrů místo dosavadních 16. Více registrů by mělo znamenat potenciál pro lepší výkon a jde o jednu z věcí, v nichž mají výhodu procesory RISC a v současnosti zejména ARMv8 a ARMv9. Současně APX má přinést také podporu podmíněných (conditional) operací a tříoperandové kódování instrukcí, kdy výsledek nebude destruktivně přepisovat jeden ze vstupů.
Procesory x86 dlouhodobě používají různé techniky ke zmírnění omezení, které tyto změny řeší (reálně mají registrů mnohem více a používají jejich přejmenování, dále pak techniky jako store to load forwarding, MOV elimination), ale i tak by tyto změny mohly přinést o něco lepší výkon. Software ale bude muset být upraven nebo aspoň překompilován, aby APX dokázal využít. Více jsme k této technologii psali zde:
AVX10 zase je nástupce SIMD instrukcí AVX2 a AVX-512, který má být jakýmsi řešením problému, který si Intel zadělal tím, že 512bitové instrukce AVX-512 podporuje od roku 2017 velmi fragmentovaně. Nejprve je poskytovaly jen serverové procesory, pak se s 10nm čipy Ice Lake dostaly i do notebooků (a v případě Rocket Lake i do desktopu), ale Intel vzápětí začal vyrábět hybridní procesory. V těch jádra E-Core bohužel AVX-512 neumí, a to znamenalo konec jeho pokusů AVX-512 přinést i do PC a notebooků (teď AVX-512 paradoxně nabízí procesory AMD s jádry Zen 4 a Zen 5).
AVX10 to řeší takovým kompromisem, kdy z instrukcí AVX-512 bere jejich pokročilé funkce, ale fakticky zmenšuje šířku vektoru jen na 256 bitů jako u AVX2 (pořád ale lepší než 128 bitů, na kterých uvízl ARM, a to dokonce i u svého variabilního rozšíření SVE, jež teoreticky mělo umožnit větší šířky). AVX10 bude mít i 512bitovou verzi, která by byla funkčně ekvivalentní AVX-512, ale tu budou podporovat jenom serverové procesory, zatímco v desktopu a noteboocích budou mít procesory podporu AVX10–256, což budou moci poskytovat i jádra E-Core (byť třeba se 128bitovými jednotkami). Hrozí tím bohužel fragmentace, kdy vývojáři programů a her nebudou ochotni optimalizovat software pro 512bitové procesory a spokojí se jenom s „baseline“ AVX10–256. O tom, jak toto rozšíření má fungovat, jsme psali více zde:
Intel má v plánech ještě třetí inovaci či „úklid“ platformy x86, a to rozšíření či evoluci označenou x86S. Ta je zase zaměřená více na systémovou úroveň, spouštění operačního systému a podobné nízkoúrovňové mechanismy. Tato aktualizace by architekturu zjednodušila odstraněním některých velmi starých legacy vlastností. Jejím vedlejším efektem bude, že na procesorech už půjdou spouštět jen nové 64bitové operační systémy – x86S na rozdíl od APX totiž skutečně rozbije kompatibilitu s dřívějšími x86 procesory, i když ne plně. Na úrovni uživatelských aplikací by měly dál fungovat staré 32bitové programy, rozbití kompatibility by mělo být jen na úrovni „jaderného“ kódu operačních systémů. Pokud by bylo nutné provozovat nějaká starší Windows nebo software, řešením má v budoucnu být emulace.
Na rozdíl od APX a AVX10 ale zatím není řečeno, že x86S už bude také součást jádra Panther Cove. Tato inovace či aktualizace instrukční sady tedy asi může být až vzdálenější věcí. Intel nedávno publikoval novou verzi návrhů těchto změn a je možné, že stále jde o věc, nad níž pokračují diskuze a finální podoba se může ještě změnit.
Neoficiální Tick-Tock 2.0: Panther Cove za dva roky?
Podle Shwartsmana Intel stále v podstatě pokračuje v něčem podobném dřívějšímu modelu tick-tock, kdy architektura velkého jádra prochází velkými aktualizacemi vždy ob jednu generaci – tyto velké upgrady byly Sunny Cove, Golden Cove, nyní Lion Cove, a má to být i ono jádro Panther Cove. Mezi tím jsou generace s menšími úpravami, což bylo jádro Willow Cove, Redwood Cove ve 4nm procesorech Meteor Lake (které má určité změny proti Golden Cove a Raptor Cove, podrobně je analyzoval web Chips and Cheese, pokud jste zvědaví).
Mezi nynějším Lion Cove, které bude v procesorech Core Ultra 200, a oním velkým upgradem Panther Cove také má být ještě jedno jádro představující menší update, jmenuje se Cougar Cove. Právě toto „mezijádro“ má být použito v procesorech Panther Lake, které budou prodávány jako Core Ultra 300, používají 1,8nm proces Intelu, ale budou zřejmě vyráběné jen pro notebooky. Tím se tato generace bude dost podobat generaci Meteor Lake.
Přímo jádro Panther Cove tedy nebude v procesorech Panther Lake (nad tímto značením zůstává rozum stát, ale mohlo by být vysvětlitelné tím, že Intel musel architekturu jádra o rok odsunout a původně měla v Panther Lake být). Ale pravděpodobně se objeví až v následujících procesorech Core Ultra 400, tedy Nova Lake, což už bude zase generace jak pro desktop, tak pro notebooky, údajně používající 2nm výrobní proces TSMC. Vedle toho má být jádro Panther Cove ve verzi s 512bitovými SIMD jednotkami (a podporou AMX) nasazené v serverových procesorech Xeon „Diamond Rapids“ (tam by to možná mohlo být pod označením Panther Cove-X), což by měla být budoucí generace Xeonů následující po nyní vydaných procesorech Xeon 6 „Granite Rapids“. Podle některých informací se možná bude přímo „Panther Cove“ jmenovat jen architektura ve Xeonech, zatímco v Nova Lake by mohla být přejmenovaná na „Coyotte Cove“ (patrně aby jméno nemátlo).
Jak Nova Lake, tak Diamond Rapids by snad měly být produkty které vyjdou až za dva roky – příští rok na podzim vyjde ona generace Panther Lake bez jádra Panther Cove coby Core Ultra 300, a Nova Lake jako Core Ultra 400 by tedy mělo přijít někdy v druhé polovině roku 2026. Serverové procesory možná vyjdou až o něco později.
Rok 2026 je tedy termínem, kdy by se mohla poprvé reálně objevit podpora APX a AVX10. Tedy od Intelu. Zatím není jasné, zda AMD plánuje tato nová rozšíření sady x86 převzít a kdy by je případně implementovalo.
Zdroje: Tom’s Hardware, InstLatX64, Stanislav Shwartsman