đ Illustration mikroarkitektur Zen5, Lion Cove, Airmont, X925
Alla Ă€r vĂ€lkomna att spekulera vidare i denna trĂ„d. Ăr pĂ„ semester och hade lite tid över...
Slogs av kÀnslan att high-end mikroarkitekturer för CPU börjat konvergera till en rÀtt snarlik design oavsett tillverkare.
För att fÄ lite bÀttre överblick ritade jag upp en översikt för Zen 5 (vilket mÀrkligt nog Àr den som finns absolut minst konkret information kring trots att den snart börjar sÀljas), Lion Cove, Skymont och Cortex X925.
Zen 5 och Lion Cove Àr pÄ mÄnga sÀtt vÀldigt lika varandra. Skymont Àr betydligt mer lik high-end Arms, nu tittade jag pÄ senaste Cortex X, Skymont Àr Àn mer lik Cortex X2/X3 (den Àr inte lika "bred" som X4/X925).
OcksÄ sett bÄde Chips&Cheese och YT-profilen high-yield (som har en riktigt bra video om Lion Cove och Skymont i Lunar Lake)
NĂ„gra observationer:
Backend x86 big-core
Om man gÄr efter "back-end" Àr numera Skymont den "bredaste" x86 designen som existerar. Vem hade trott det nÀr Atom lanserades...
Sett kommentarer kring att mÄnga exekveringportar gör det svÄrare att klocka en krets riktigt högt. Zen 5 och Lion Cove Àr vÀldigt lika hÀr med fÀrre men lÄngt mer komplexa portar.
Split decoders i Skymont och Zen 5
I Gracemont gjorde Intel en lite udda sak med front-end. För att komma runt att komplexiteten Àr kvadratisk för x86 (p.g.a. att lÀngden pÄ instruktioner kan vara allt frÄn 1 till 15 bytes) med ökad bredd gjorde man istÀllet tvÄ st 3-wide avkodare.
2*3^2 = 18, 6^2 = 36
sÄ betydligt mindre komplex med 2 st 3-wide decoders jÀmfört med 1 st 6-wide.
I Airmont ökar man det till 3 st 3-wide. Samtidigt introducerar Zen 5 ocksÄ detta, man gÄr till 2 st 4-wide medan Lion Cove gÄr till 1 st 8-wide (den sista Àr lite osÀkert, men det Àr vad allt pekar pÄ).
Arm kan smaska pÄ med 1 st 10-wide, dÀr Àr alla instruktioner lika lÄng sÄ komplexiteten Àr hyfsat nÀra linjÀr med bredd. Det skrivet: vad ska man med flera avkodare till???
Det bÄde Skymont och Zen 5 anvÀnder det till Àr att direkt kunna börja avkoda den instruktion ett taget hopp skulle landa vid. OvanpÄ det ska Zen 5 ocksÄ göra sÄ att om bÄda CPU-trÄdarna anvÀnds fÄr den en 4-wide avkodare var (just detta har testas med gott resultat i Freescales PowerPC e6500, det typ inversen av vad man gjorde i Bulldozer).
I fallet Airmont finns ingen SMT, sÄ det Àr det just för att öka IPC. Med 3 st avkodare kan den hantera 2 tagna hopp per cykel. Tydligen har Intel kika pÄ bÄde 2 st 4-wide och 3 st 3-wide för Airmont, men de kom fram till att den senare ger mer utvÀxling för IPC (men gissar att den förra vore bÀttre om man haft SMT med 2 CPU-trÄdar).
Issue
Alla x86 designerna verkar vara kapabla att skicka in 8 st instruktioner till back-end.
Exakt information för Zen 5 Àr rÀtt osÀker hÀr, mesta Àr baserat pÄ GCC-patchar för Zen 5. StÀmmer den Àr man kvar pÄ samma kapacitet som Zen 4 dÀr issue och retire Àr symmetriska.
Skymont har vÀldigt hög retire-kapacitet, 16 instruktioner. Det ska stÀmma och Chips&Cheese har fÄtt info om att Intel valt att göra sÄ dÄ det frigör utrymme snabbare i back-end och att deras simuleringar visade att det kostade mindre transistorer att göra sÄ mot att öka storleken pÄ ROB (som ÀndÄ nu Àr helt i "big-core" x86 nivÄ, men en bit efter "big-core" ARM64).
Just ROB Àr nÄgot Intel historiskt lagt rÀtt mycket resurser pÄ. Lion Cove fÄr en ganska liten minskning frÄn Golden Cove, men Àven hÀr har man nu högre "retire" kapacitet, 12 uops, jÀmfört med vad som kan stoppas in.
Flyttal
HÀr finns definitivt tvÄ lÀger!
"Big-core" x86 har gÄtt efter instruktioner som var för sig kan hantera vÀldigt mycket data. En av de stora nyheterna i Zen 5 Àr ju att SIMD-delen nu blir 512 bit bred. Zen 4 har AVX-512 stöd, men den processar dessa över tvÄ iterationer dÄ den internt Àr 256-bit bred.
Lion Cove Àr 256-bit bred med 2 FMA och 2 add/div kapabla portar. Zen 5 har ocksÄ 4 portar.
Arm (Àven Apple och av allt att döma Qualcomm) har en helt annan approach hÀr. De har 128-bit databredd, fast istÀllet har man fler portar (Apple har 6 st, det har nu ocksÄ Arm medan det Àr oklart för Oryon men givet prestanda Àr den nog ocksÄ 6 wide).
BĂ„da har fördelar och nackdelar. Ăr lĂ€ttare att fullt ut utnyttja fler fast smalare SIMD, men det krĂ€ver totalt sett mer transistorer.
Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer