Furcsaságok rejtőznek az Apple A11-es rendszerchipben

A vállalat szerint saját maguk tervezték a lapka IGP-jét és ISP-jét...

Az A11 GPU újításai

Gyorsan megpróbáltunk utánajárni az újításoknak, és szerencsére nem zártuk eredménytelenül kutatásunkat, ugyanis megtudtuk, hogy valójában nem egy Apple által nulláról tervezett IGP dolgozik a lapkában, sőt azt is sikerült kiderítenünk, hogy az A11-es lapka IGP-je nagyrészt megegyezik az A10-es lapkáéval. Ez még reálisnak is hangzik, mivel az A10-es SoC grafikus vezérlőjében is három darab tömb volt, amelyek összesen hat darab USC-t, azaz multiprocesszort rejtettek. Ezután feltételezzük, hogy az A11-es lapka IGP-jében pontosan ugyanannyi feldolgozó található, mint a nagy elődben, bár erre vonatkozóan sajnos nem kaptunk megerősítést.

Úgy tűnik tehát, hogy az A11-es SoC IGP-je még mindig az Imaginationtől licencelt alapokra épül, viszont az Apple átdolgozta saját igényeinek megfelelően, ahogy azt tették az A10-es lapkában is. Felmerül persze az a kérdés, hogy akkor mi az újdonság a nagyobb sebességen és jobb energiagazdálkodáson kívül? Nos, lényegében a Metal 2 API-val befutó egyes fő újítások támogatása.

Az A11 GPU-nak nevezett grafikus vezérlő az Apple ultramobil termékskálájában elsőként támogatja majd a cube map textúratömböket, a függvények textúrába történő írását, illetve textúrából történő olvasását, valamint raster order groups képességet. Ezek a fontosabb funkciók eddig a modernebb macOS rendszerek hardvereihez voltak kötve, de mostantól már az A11 GPU-val is elérhetők. Itt különösen a raster order groups képesség az érdekes, ami lehetőséget ad a gyors OIT (Order Independent Transparency, azaz sorrendtől független átlátszóság) implementációkra.

Vannak azonban olyan képességek is, amelyeket csak az A11 GPU-ra vonatkoznak. Mint ismeretes, az Imagination alapdizájnja a feldolgozás szempontjából úgynevezett TBDR rendszer. Ez már eleve egy ultramobil szinten különösen hatékony futószalaggal dolgozik, viszont az Apple kiegészítette a koncepciót pár újítással, amelyek a Metal 2 API-t használva tovább javítják a hatékonyságot.

Az egyik legnagyobb újítás a imageblokkokra vonatkozik. Maga az imageblokk a Metal API egyik fontos eleme az iOS (illetve tvOS) operációs rendszert futtató eszközökön, hiszen ezek a helyi memóriában tárolt strukturált képadatok mozaikjai, amelyekkel lényegében leírhatók a tárolt képadatok. Ez minden Imagination által tervezett, Apple által felhasznált IGP-ben így van, az A11 GPU annyiban más, hogy biztosítja az adatstruktúra feletti teljes kontrollt a fejlesztőknek.

A feldolgozás tile shading nélkül és tile shadinggel A feldolgozás tile shading nélkül és tile shadinggel
A feldolgozás tile shading nélkül és tile shadinggel [+]

A fentiekhez kapcsolódik a tile shading, ami reagál egy igen aktuális irányra, mivel ma számos leképezési technika ötvözi a rajzolási és a compute parancsokat. A compute shader egyszerűen sok esetben számottevően gyorsabb, így érdemes használni. Ugyanakkor a rajzolási és a compute lépések között nincs semmilyen kommunikáció, vagyis az egyes lépések között az adatokat ki kell írni a memóriába, hogy a következő lépésben betölthetők legyenek. A tile shading szakít ezzel az iránnyal, és lehetővé teszi a rajzolási és a compute lépések közötti adatátadást, méghozzá anélkül, hogy bármit ki kellene írni a memóriába, elvégre az imageblokkok felett teljes kontrollja van a fejlesztőknek. Az adatokat természetesen így is tárolja a hardver, de a videomemória helyett a lapkában található beépített memóriában, amihez a hozzáférés jóval gyorsabb, illetve energiatakarékosabb is. A tile shading működéséhez egyébként maximum 32 kB-nyi, úgynevezett tile memória allokálható. A videomemóriába elég akkor kiírni az információt, ha az összeláncolt feldolgozás véget ért.

Az imageblokkoknál maradva az MSAA élsimítás is kap újítást, ugyanis az A11 GPU több mintavétel esetén, a korábbi dizájnokkal ellentétben nem a minták számával egyenértékű blending műveletet hajt végre, hanem csak annyit, amennyi egyedi színnel visszatérő minta van. Mindemellett hozzáférhetők a fedettségadatok a tile shaderekben, ami egyedi algoritmusok biztosítására is lehetőséget ad.

A feldolgozás szálcsoportok közötti hatékony adatmegosztás nélkül, illetve hatékony adatmegosztással A feldolgozás szálcsoportok közötti hatékony adatmegosztás nélkül, illetve hatékony adatmegosztással
A feldolgozás szálcsoportok közötti hatékony adatmegosztás nélkül, illetve hatékony adatmegosztással [+]

Végül szintén lényeges újítás a szálcsoportok közötti adatmegosztás, ami nem túl meglepő módon a szálak közötti hatékonyabb adatmegosztásért felel. Az Apple konkrétan beépített egy új memóriamodellt az A11 GPU-ba, ami a szálcsoportok közötti kommunikációt atomi operációkkal oldja meg. Ez azért lényeges, mert korábban ezt nehézkesen lehetett megoldani, ideiglenes puffert kellett létrehozni, illetve akár egy második kernelre is szükség volt, ami csak egy szálcsoportot tartalmazott, tehát a GPU kihasználása nem volt valami kedvező. Az Apple új modellje gyorsabb és energiatakarékosabb munkát biztosít.

Összességében úgy néz ki, hogy az Apple továbbra is az Imagination technológiáját pofozgatja saját igényei szerint, amit a szerződésük értelmében természetesen megtehetnek. Az is világosan látszik, hogy egyre mélyebben nyúlnak a rendszerbe, amivel a mérnökök tapasztalatot is szereznek, arra az időre, amikor már saját maguktól kell megoldani mindent, és nem kínál segítséget a régi partnerük.

Abu85

  • Kapcsolódó cégek:
  • Apple

Azóta történt

Előzmények

Hirdetés