Szerző: Asztalos Olivér

2016. May 25. 14:38:00

Ncore: új koherens interkonnekt az Arteristől

Ígéretes az Arteris vadiúj cache-koherens belső buszrendszere, mely nem csak flexibilis, hanem helytakarékos is. A tervezőcég szerint megoldásuk széles körben alkalmazható, nagy teljesítményre kihegyezett rendszerlapkáktól egészen az alacsony fogyasztású dizájnokig.

Új cache-koherens interkonnektet jelentett be a különféle IP-ket, azaz szilíciumon implementált áramköri egységeket fejlesztő Artemis, az Ncore névre keresztelt megoldás elsősorban ARM-os rendszerchipekben kaphat helyet. A fejlesztés előnye, hogy rugalmasan konfigurálható, miközben (relatíve) nagy teljesítményre képes alacsony fogyasztás mellett, nem utolsó sorban pedig helytakarékos, ami a kis területű alkalmazásprocesszorok tervezésénél szintén fontos szempont.

A cache-koherens buszok az mobilos szegmensben is egyre nagyobb szerepet kapnak, például a megfelelő minőségű CPU-GPU feldolgozáshoz kvázi elengedhetetlen egy fejlett interkonnekt, de az ARM big.LITTLE koncepciójához is szükséges a technológia. Koherenciával az egyes feldolgozók (pl. CPU-k, GPU-k) elérhetik egymás gyorsítótárait, miközben azok monitorozzák egymás memóriáinak tartalmát. Amennyiben az egyik feldolgozó olyan adatot módosít, ami egy másiknál gyorsítótárazva van, akkor az inkonzisztencia elkerülése végett érvényteleníti az utóbbit.

Az Arteris korábbi FlexNoC megoldását már a Samsung, a Huawei-HiSilicon, és az LG mellett a MobilEye, a Freescale, illetve a Renesas is alkalmazta már, ugyanakkor az utóbbi időben megerősödött a konkurencia. Az ARM jó ideje kínál alternatívát a CCI-vel (Cache Coherent Interconnect), de például a Samsung és a MediaTek is rendelkezik saját fejlesztéssel, előbbi SCI-t (Samsung Coherent Interconnect) alkalmazta az Exynos 8890-ben, utóbbi pedig az MCSI-t (MediaTek Coherent System Interconnect) a Helio X20-ban. Kérdés, hogy ennek fényében hogyan és milyen sikerrel tudja differenciálni saját megoldását az Arteris.

Az ARM megoldásával összevetve már az alapok is eltérnek. Az Ncore-t a FlexNoC interkonnekt IP-re húztak fel a tervezők, ahol a bázist egy pehelysúlyú, kapcsolt fabric biztosítja, mellyel szemben a CCI egy AXI-alapú crossbar architektúrára épül. Ennek előnye, hogy a csomagkapcsolt megoldás kevesebb vezetéket igényel, a 128-bites kétirányú AXI 408, miközben az Arteris megoldása konfigurációtól függően csak 300-362 vezetéket igényel.

A FlexNoC alapok további előnnyel kecsegtetnek, az Ncore licencelésével a partnerek koherens és nem koherens megoldásokat is megkapják, azokat egyaránt beépíthetik a lapkába, akár bizonyos átfedéssel, akár különálló entitásokhoz. Az Artemis mindezt előnyként sorolja fel az Ncore mellett, a kevesebb vezetékből fakadó kisebb méret és alacsonyabb fogyasztás mellett.

Az Ncore négy fő blokkból épül fel, melyek lehetséges száma limitált. Az interfész oldalon található a CAI (Coherent Agent Interfaces) melyekhez a különféle gyorsítótárral rendelkező végrehajtók kapcsolódhatnak, például CPU magok, GPU-k. Ezek az ARM magjai esetében 128-bit ACE interfészen keresztül csatlakoznak az interkonnekthez, de a CHI, vagy más harmadik féltől származó protokoll is támogatott. A CCTI (Cache Coherent Transport Interconnect) az interkonnekten belüli adatkommunikáció lebonyolításáért felel. Az elérhető sávszélesség variálható, a CCTI 64, 128, 256 vagy 512 bit széles is lehet, ez ugyancsak a partner mindenkori igényeire van bízva.

A CMI (Coherent Memory Interfaces) egy koherens fő interfészként funkcionál, melyhez a memóriavezérlő kapcsolódik, melynek kiépítése ugyancsak az adott partnerre van bízva, a sávszélesség és az órajel is flexibilis. Az NCB (Non-Coherent Bridges) a lapka koherens és nem koherens része között biztosít kapcsolatot. A blokk képes nem koherens fordításokat IO-koherensekké alakítani. a nem koherens adatforgalom aggregálható, priorizálható, illetve irányítható egy vagy több NCB felé a nem koherens interkonnekt(ek) irányából. Az NCB sajátossága, hogy akár 1 megabájtos gyorsítótárral is rendelkezhet, amit például előbetöltéshez vagy az írási műveletek összevonásához használhat az rendszer, ráadásul mindezt akár kettő, az NCB-hez csatlakoztatott nem koherens egység is használhat. Ezzel bizonyos esetekben kikerülhető a rendszermemória, amivel redukálható a fogyasztás.

Az interkonnekt fontos részét képzi a snoop filter (szűrő), mely koherenciaforgalom csökkentésére hivatott, ami felemésztheti az adatbuszok sávszélességének egy részét. A szűrővel leszorítható a buszok elszemetelődése, így a sávszélességeket hatékonyabban képes kiaknázni a rendszer. Az Ncore könyvtár-alapú szűrőket használ, melyeket több kisebb részre osztották a tervezők, ezek pedig bizonyos szinten kombinálhatóak. Az Arteris szerint ezzel tovább csökkentették az interkonnekthez szükséges tranzisztorok számát, ugyanis a megoldásukhoz kevesebb SRAM (cache) szükséges, ezért cserébe pedig a végrehajtók számától függően csak néhány százaléknyi teljesítményt kellhet feláldozni.

Machine learning és Scrum alapozó képzéseket indítunk! (x) A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

A tervezőcég konkrét adatot is közölt az interkonnekt területigényéről. Egy CCI-vel és egy 16 kB-os gyorsítóval ellátott NCB-vel rendelkező, 1 GHz-es órajelű Ncore 1,1 mm2-t foglal a TSMC 16 nanométeres FinFET+ gyártástechnológiájával.

Az Arteris megoldása kétség kívül flexibilis, igényektől függően számos konfigurációt kiszolgálhat, a nagyobb teljesítményre kihegyezett rendszerlapkáktól egészen a kifejezetten alacsony fogyasztásra tervezett dizájnokig. Emellett a helytakarékos kialakítás is sokaknak vonzó lehet, de hogy mindezek fényében mekkora sikert arat a partnerek körében az Ncore, az legkorábban csak néhány hónap múlva derülhet ki.

a címlapról