Az Intel Ice Lake processzorsorozata két okból is érdekes lesz: egyrészt növekedhet a processzormagok teljesítménye, vagyis egy órajel alatt több műveletet hajthatnak végre, mint az előző generációs megoldások; másrészt végre elbúcsúzhat a Gen9-es iGPU architektúra is, amelynek a helyét egy sokkal ütőképesebb megoldás, a Gen11 veheti át.
A múlt és a jelen
Processzor-dizájn terén gyakorlatilag a 2015-ben bejelentett Skylake dizájn „reszeléséből” él a vállalat még manapság is, az iGPU részleg azonban minimálisan fejlődött, hiszen a Kaby Lake megjelenésével elkészült a Gen9.5-ös dizájn, ami teljesítmény terén ugyan nem nyújt komoly előrelépést, de azért fejlődést hozott. Ilyen előrelépés a továbbfejlesztett parancsprocesszor, ami a DirectX 12 és Vulkan API alapú játékok sok rajzolási parancsához igazodik, valamint ide sorolható a HDR és a Rec.2020 szabványok támogatásának beemelése. Fontos változás a HDCP 2.2 és a Microsoft PlayReady 3.0 támogatása, valamint az eDP szabvány támogatása is szintet lépett 1.3-ról 1.4-re. A videó motor a 4K HEVC/VP9 tartalmak lejátszásának és kódolásának hardveres gyorsítását hozta, de ezzel együtt a WiDi (Miracast) támogatás is fejlődött.
A jövő
Az Intel éppen most, a GDC idejére ütemezte egy technikai leírás (White Paper) elérhetővé tételét, amely rengeteg érdekességet árul el az érkező Gen11 GPU architektúrával kapcsolatban. A szóban forgó dokumentum egy GT2-es osztályú, összesen 64 EU-val rendelkező iGPU felépítéséről tesz említést, amely összesen nyolc szeletbe osztja az EU-kat, egy-egy alszelet pedig összesen 8 EU-t tartalmaz – így jön ki a 8 x 8, azaz 64 feldolgozó.
Egy-egy EU belsejében két darab ALU helyezkedik el, amelyek egyenként négy végrehajtó futószalaggal rendelkeznek, tehát akár 512 számításon is képes egyszerre dolgozni egy iGPU (tehát az egyszerűség kedvéért hívhatnánk 512 shaderesnek).
Az Ice Lake processzorok a jelek szerint továbbra is Ring Bus felépítést használnak, nem pedig Mesh-t, mint az új HEDT processzorok. A CPU magok esetében az utolsó lépcső a Ring Bus és az L3 Cache között az L2 Cache lesz, míg az iGPU esetében a Graphics Technology Interface tölti be ezt a szerepet. Maga az iGPU egy 3 MB-os saját belső harmadszintű megosztott gyorsítótárat is kap, ami a GTI és az alszeletek közötti kommunikációban vesz részt.
A Ring Bus esetében az iGPU elsőbbségi hozzáférést élvez, azaz órajelenként 64 bájtot tud olvasni, valamint ugyanennyit tud írni is, szemben a processzormagokkal, amelyeknél órajelenként csak 32 bájtos olvasási- és írási sebesség elérésére van mód.
A 64 EU-val rendelkező GT2-es iGPU jelentősen, akár kétszer nagyobb teljesítményt is nyújthat, mint a Gen9.5 alapú GT2-es vezérlők, amelyek csak 24EU-val rendelkeznek. Nyers számítási kapacitást tekintve persze papíron ennél nagyobb, 2,67x-es a különbség (192 vs. 512 shader), ahogy azt a White Paper meg is említi, ám a valóságban az órajel is meghatározó tényező lesz, hiszen az iGPU által termelt hőt valamelyes kordában kell tudni tartani. Teljesítmény terén 1 TFLOP/s körüli egyszeres pontosságú számítási teljesítményre lehet számítani. A Gen9 architektúrához képest a Gen11 javított memóriatömörítéssel, megnövelt harmadszintű megosztott gyorsítótárral, valamint megemelt maximális memória-sávszélességgel próbál javulást elérni.
Az Intel is bemutatja élesben csökkentett minőségű árnyalását, a Coarse Pixel Shadinget. A lényege hasonló, mint az Nvidia Adaptive Shadingjénél, a színekre vonatkozó shadereket kisebb felbontáson futtatja azokon a helyeken, ahol a program szerint ez ésszerű (például távoli objektumok, vagy mosott, mozgó objektumok), így magasabb fps érhető el. Bemutatkozik a Position only tile based rendering is, aminél két futószalag van, és az új a "hagyományos" előtt fut, és számolgatja, hogy egyáltalán mi az, ami látszani fog rendesen, és érdemes rajta árnyalókat futtatni.
Az Intel a videómotort is fejleszti, így az több formátumot támogat majd, például a 10-bites VP9-es tartalmak kezelésének hardveres gyorsítására is képes lesz. Fejlődik a kijelző-motor is, ami Panel Self Refresh és Display Context Save and Restore funkciót egyaránt kap, így energiahatékonyabb működést lehet megvalósítani, ami főleg a mobil konfigurációk esetében jön majd jól. A támogatott újdonságok között szerepel még a Vesa Adaptive-Sync technológiája is, tehát lesz dinamikus képfrissítés, és az USB-C videó kimeneteket is kezeli majd a kijelző-motor.
Érdekességek a memóriavezérlővel kapcsolatban
A fentebb említett dokumentum alapján úgy tűnik, változik az IMC (Integrated Memory Controller) működése is. Az aktuális dizájn 2 x 64-bites DDR4/LPDDR4-es memória-adatsínt használ, ám az Ice Lake érkezésével 4 x 32-bites LPDDR4/DDR4 interfészre tér át a vállalat. Ebből az látszik, hogy az aktuális generációnál használt 128-bites monolitikus IMC helyét két, unganged módban működő memóriavezérlő veszi át, amelyek egyenként 64-bit széles adatsínt kezelhetnek. Az úgynevezett ganged módból jellemzően az egyszálas terheléssel dolgozó munkafolyamatok, valamint azok az alkalmazások profitálhatnak, amelyek viszonylag kisméretű adatkészlettel dolgoznak. Ezzel szemben az unganged mód a több szálon futó, nagyobb memóriamennyiséget igénylő feladatok esetében jöhet jól, ahol sokkal nagyobb az esély arra, hogy két független memóriabankhoz kell hozzáférni.
Az új unganged üzemmód jóvoltából a processzor egyidejűleg két műveletet is elindíthat, így két különálló memóriabankhoz férhet hozzá, valamint arra is van lehetősége, hogy egy időben írjon és olvasson bizonyos memóriaterületeket, amire a 128-bites módban nincs lehetőség. A processzor szemszögéből nézve a DRAM lassú, a legtöbb időt pedig a memóriabank megnyitása, illetve az olvasási és írási feladat előkészítése igényli, vagyis ezek okoznak komoly késleltetést, maga az adatátvitel ugyanis kellően gyors. (Az AMD-nél egyébként már egy ideje a BIOS-ban állítható, hogyan szeretnénk kezelni a memóriát, mindkét módot támogatják a processzorai.)
Az unganged mód hatékony használatán egyébként az operációs rendszer is segíthet, ugyanis fejlett memóriakezeléssel elintézheti, hogy a lehető legtöbbet profitáljanak a különböző szoftverek, ehhez csak arra van szükség, hogy a folyamatokat egyenletesen ossza el a fizikai memóriában, így olyan gyakran indíthatóak egymástól független memória-hozzáférések, ahogy csak lehet.
Az unganged mód az iGPU szempontjából egy óriási előny lehet. Maga az iGPU rendszerint lefoglal magának egy részt a rendszermemóriából, amit a működéshez használhat fel (geometriai és textúrázó feladatokhoz, valamint framebufferként). Ez a memóriaterület rendszerint a fizikai memória végén helyezkedik el, míg a Windows operációs rendszer és az alkalmazások memória-területei rendszerint a fizikai memória elején kapnak helyet. Az új mód segítségével az iGPU gyakorlatilag saját dedikált memóriavezérlőt kaphat, ami csökkenti a késleltetést, hiszen az egyik vezérlő az iGPU-s memórialapkáit szinte folyamatosan nyitva tarthatja, míg ezzel egy időben a másik memóriavezérlő az operációs rendszer és az alkalmazások memória-kéréseit szolgálhatja ki.