ARM big.LITTLE

Az ARM big.LITTLE egy az ARM Holdings által fejlesztett heterogén számítástechnikai architektúra, melyben (viszonylag) lassabb, kisebb fogyasztású processzor magokat (viszonylag) hatékonyabb és energiaigényesebb magokkal párosítanak. A szándék egy olyan többmagos processzor létrehozására irányul, amely jobban képes alkalmazkodni a dinamikus számítási igényekhez és kevesebbet fogyaszt, mint ami egyedül az órajel skálázásával elérhető.

2011 októberében a big.LITTLE architektúrát az ARM Cortex-A7 maggal együtt jelentették be, amelyet felépítésében eleve a Cortex-A15-tel kompatibilisnek terveztek. 2012 októberében az ARM bejelentette a Cortex-A53 és Cortex-A57 (ARMv8-A) magokat, amelyek szintén kompatibilisek egymással és együtt használhatók egy big.LITTLE csipben. Az ARM később bejelentette a Cortex-A12 magot is a Computex 2013 rendezvényen, amelyet a Cortex-A17 bejelentése követett 2014 februárjában, ez a kettő szintén párosítható egy big.LITTLE konfigurációban a Cortex-A7 típusú maggal.

Végrehajtási állapot-migráció

A különböző processzormagokat három módon lehet egy big.LITTLE kialakításban elrendezni, a kernelben megvalósított ütemezőtől függően. Mindegyikben az ütemező átkapcsolhat a lassabb és gyorsabb magok között, tetszőleges irányban, a teljesítmény optimalizálása végett. Az átkapcsolás során a különböző sebességű processzormagok között át kell adni a teljes futási környezetet, ezt nevezik a végrehajtási vagy futási állapot migrációjának.

Klaszterezett kapcsolás

A klaszteres modell megközelítés az első és legegyszerűbb megvalósítás, amelyben a processzort egyenlő méretű, „big” vagy „LITTLE” magokat tartalmazó klaszterekbe sorolják. Az operációs rendszer ütemezője egyszerre csak egy klasztert lát; mikor a teljes processzor terhelése átlépi az alacsony és magas szintek közötti határt, akkor a rendszer klasztert vált. Minden releváns adat átadódik a közös L2 gyorsítótáron keresztül, az egyik mag-klaszter kikapcsol, a másik aktiválódik. Ebben a rendszerben Cache Coherent Interconnect (CCI) összekapcsolást alkalmaznak. Ezt a modellt implementálták pl. a Samsung Exynos 5 Octa (5410) egylapkás rendszerében.

In-kernel switcher (CPU migráció)

big.LITTLE IKS

Az in-kernel switcher (IKS, kernelbeli átkapcsoló) módszerrel történő CPU migráció előfeltétele a magok megfelelő elrendezése; ilyenkor egy „big” mag egy „LITTLE” maggal van párosítva, és a csipen sok ilyen azonos páros kialakítására van lehetőség. Minden pár egy virtuális magként működik, és a működés alatt egy valódi mag van (teljesen) bekapcsolva és csak ez az egy mag fut egy időben. A „big” mag fut nagy terhelés esetén, és a „LITTLE” mag, mikor a terhelés alacsony. Mikor a virtuális mag terhelése megváltozik (magas és alacsony között), akkor a belépő mag bekapcsol, a futási állapot átadódik, a kilépő mag lekapcsolódik, és a feldolgozás az új magban folytatódik. Az átváltás a cpufreq keretrendszer segítségével történik. A Linux 3.11-hez egy teljes big.LITTLE IKS implementáció lett hozzáadva. A big.LITTLE IKS egy jelentős előrelépés a klaszteres migrációhoz képest, a fő különbség abban áll, hogy ebben minden pár külön látható / elérhető az ütemező számára.

Az összetettebb elrendezés együtt jár a „big” és „LITTLE” magok nemszimmetrikus csoportosításával. Egyetlen lapkán egy vagy több „big” mag és sokkal több „LITTLE” mag is elhelyezhető, vagy fordítva. Az Nvidia ehhez hasonló rendszert alkotott a kis fogyasztású „kísérő mag” (companion core) beépítésével a Tegra 3 egylapkás rendszerébe.

Heterogén multiprocesszálás (globális feladatütemezés)

big.LITTLE MP

A big.LITTLE leghatékonyabb használati modellje a heterogén multiprocesszálás (MP), amely lehetővé teszi az összes fizikai mag egyidejű használatát. A magas prioritású vagy nagy számítási teljesítményt igénylő szálak ebben az esetben a „big” magokhoz rendelhetők, míg az alacsonyabb prioritású vagy kisebb intenzitásigényű szálak, mint például a háttérfeladatok, a „LITTLE” magokkal hajthatók végre.

A Linux kernel fővonalába már beépítették az upstream big.LITTLE GTS patcheket, a Linux 3.10-től kezdve. Ezt a modellt alkalmazzák a Samsung Exynos 5 Octa (5420, 5422, 5430) és Hexa (5260) csipekben.

Az ütemezés

A páros elrendezés lehetővé teszi az operációs rendszer számára átlátszó átkapcsolást a már létező dinamikus feszültség és frekvenciaváltó eszköz (DVFS) használatával. A létező DVFS támogatás a kernelben (pl. a cpufreq a Linuxban) egyszerűen egy frekvencia- és feszültséglistát lát és ezek fokozatai között kapcsol át belátása szerint, pontosan úgy, ahogy a létező hardveren teszi. Ekkor azonban az alacsonyabb szintű foglalatok a „LITTLE”, a magasabb szintűek pedig a „big” magokat aktiválják.

Alternatív megoldásként az összes mag láthatóvá tehető a kernel ütemező számára, amely eldönti, hogy melyik szál vagy folyamat melyik magnak lesz kiosztva. Ez szükséges a nem párosított elrendezésekben, de a párosított magokkal is használható. Ez egyedi problémákat állít a kernel ütemezője elé, amelyben eddig azt feltételezték, legalábbis a modern tömegcikk-hardverek körében, hogy az SMP rendszerben minden mag egyenrangú (azonos).

A globális feladatütemezés előnyei

Implementációk

egylapkás rendszertechnológia„big” mag„LITTLE” magGPUmemóriainterfészrádió-
technológiák
elérhetőségeszközök
HiSilicon K3V3 28 nm 1,8 GHz kétmagos Cortex-A15 1,2 GHz kétmagos Cortex-A7 Mali-T658 2013 második fele
HiSilicon Kirin 920 28 nm 1.7-2,0 GHz Cortex-A15 1.3-1,6 GHz négymagos Cortex-A7 Mali-T628MP4 LPDDR3 LTE CAT6 TBA
Samsung Exynos 5 Octa (5410 modell) 28 nm 1.6-1,8 GHz négymagos Cortex-A15 1,2 GHz négymagos Cortex-A7 PowerVR SGX544MP3 32 bites kétcsatornás 800 MHz LPDDR3 (12,8 GB/s) 2013, második negyed Exynos 5 alapú Samsung Galaxy S4
Samsung Exynos 5 Octa (5420 modell) 28 nm 1.8-2,0 GHz négymagos Cortex-A15 1,3 GHz négymagos Cortex-A7 Mali-T628MP6 32 bites kétcsatornás 933 MHz LPDDR3e (14,9 GB/s) 2013, negyedik negyed Exynos 5 alapú Samsung Galaxy Note 3
Samsung Exynos 5 Octa (5422 modell) 28 nm 2,1 GHz négymagos Cortex-A15 1,5 GHz négymagos Cortex-A7 Mali-T628MP6 32 bites kétcsatornás 933 MHz LPDDR3e (14,9 GB/s) 2014, második negyed Exynos 5 alapú Samsung Galaxy S5, Odroid-XU3
Samsung Exynos 5 Hexa (5260 modell) 28 nm 1,7 GHz kétmagos Cortex-A15 1,3 GHz négymagos Cortex-A7 Mali-T624 32 bites kétcsatornás 800 MHz LPDDR3e (12,8 GB/s) 2014, második negyed Samsung Galaxy Note 3 Neo
Samsung Exynos 5 Octa (5430 modell) 20 nm 1,8 GHz négymagos Cortex-A15 1,3 GHz négymagos Cortex-A7 Mali-T628MP6 32 bites kétcsatornás 1066 MHz LPDDR3e (17,0 GB/s) LTE CAT6 2014, harmadik negyed Samsung Galaxy Alpha
Samsung Exynos 5 Octa (5433 modell) 20 nm 1,9 GHz négymagos Cortex-A57 1,3 GHz négymagos Cortex-A53 Mali-T760 32 bites kétcsatornás 825 MHz LPDDR3e (13,2 GB/s) LTE CAT6 2014, negyedik negyed Samsung Galaxy Note 4 (SM-N910C)
Renesas Mobile MP6530 28 nm 2 GHz kétmagos Cortex-A15 1 GHz kétmagos Cortex-A7 PowerVR SGX544 kétcsatornás LPDDR3 LTE CAT4
Allwinner A80 Octa 28 nm négymagos Cortex-A15 négymagos Cortex-A7 PowerVR G6230 kétcsatornás DDR3/DDR3L/LPDDR3 vagy LPDDR2
MediaTek MT6595 28 nm 2,2 GHz négymagos Cortex-A17 1,7 GHz négymagos Cortex-A7 PowerVR G6200 (600 MHz) 32 bites kétcsatornás 933 MHz LPDDR3 (14,9 GB/s) LTE CAT4 2014, második negyed
MediaTek MT6595M 28 nm 2,0 GHz négymagos Cortex-A17 1,5 GHz négymagos Cortex-A7 PowerVR G6200 (450 MHz) 32 bites kétcsatornás 933 MHz LPDDR3 (14,9 GB/s) LTE CAT4 2014, második negyed
MediaTek MT6595 Turbo 28 nm 2,5 GHz négymagos Cortex-A17 1,7 GHz négymagos Cortex-A7 PowerVR G6200 (600 MHz) 32 bites kétcsatornás 933 MHz LPDDR3 (14,9 GB/s) LTE CAT4 TBD
Qualcomm Snapdragon 808 (MSM8992) 20 nm 2,0 GHz kétmagos Cortex-A57 négymagos ARM Cortex-A53 Adreno 418 64 bites 933 MHz LPDDR3 (14,9 GB/s) LTE Cat 6/7 2015 első fele
Qualcomm Snapdragon 810 (MSM8994) 20 nm 2,0 GHz négymagos Cortex-A57 négymagos ARM Cortex-A53 Adreno 430 64 bites kétcsatornás 1600 MHz LPDDR4 (25,6 GB/s) LTE Cat 6/7 2015 első fele

Jegyzetek

  1. ↑ "ARM Unveils its Most Energy Efficient Application Processor Ever; Redefines Traditional Power And Performance Relationship With big.LITTLE Processing" (Press release). ARM Holdings. 2011. október 19. Hozzáférés: 2012. október 31.
  2. ↑ "ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors" (Press release). ARM Holdings. Hozzáférés: 2012. október 31.
  3. ↑ "ARM's new Cortex-A12 is ready to power 2014's $200 midrange smartphones". The Verge. 2014. április.
  4. ↑ "ARM Cortex A17: An Evolved Cortex A12 for the Mainstream in 2015". AnandTech. 2014. április. 2014. szeptember 11. dátummal az eredeti címről archiválva. Hozzáférés: 2014. szeptember 28.
  5. ↑ Brian Jeff (2013. június 18.). "Ten Things to Know About big.LITTLE". ARM Holdings. 2013. szeptember 10. dátummal az eredeti címről archiválva. Hozzáférés: 2013. szeptember 17.
  6. ↑ George Grey (2013. július 10.). "big.LITTLE Software Update". Linaro. 2013. október 4. dátummal az eredeti címről archiválva. Hozzáférés: 2013. szeptember 17.
  7. ↑ Peter Clarke (2013. augusztus 6.). "Benchmarking ARM's big-little architecture". Hozzáférés: 2013. szeptember 17.
  8. ↑ Big.LITTLE Processing with ARM Cortex™-A15 & Cortex-A7 (PDF), ARM Holdings, 2013. szeptember, 2012. április 17. dátummal az eredeti (PDF) címről archiválva, hozzáférés: 2013. szeptember 17. "Archivált másolat" (PDF). 2012. április 17. dátummal az eredeti (PDF) címről archiválva. Hozzáférés: 2014. szeptember 28.
  9. ↑ Brian Klug (2013. szeptember 11.). "Samsung Announces big.LITTLE MP Support in Exynos 5420". AnandTech. 2020. november 12. dátummal az eredeti címről archiválva. Hozzáférés: 2013. szeptember 16.
  10. 1 2 3 "Samsung Unveils New Products from its System LSI Business at Mobile World Congress". Samsung Tomorrow. 2014. március 16. dátummal az eredeti címről archiválva. Hozzáférés: 2013. február 26.
  11. ↑ Andrew Cunningham (2013. január 10.). "Samsung's new eight-core Exynos 5 Octa SoC promises not to hog battery". Ars Technica. Hozzáférés: 2013. január 10.
  12. ↑ James Trew (2013. január 9.). "Samsung announces eight-core Exynos 5 'Octa' chip at CES". Engadget. Hozzáférés: 2013. január 10.
  13. ↑ "Samsung Primes Exynos 5 Octa for ARM big.LITTLE Technology with Heterogeneous Multi-Processing Capability" (Press release). Samsung Electronics. 2013. szeptember 10. Hozzáférés: 2013. szeptember 17.
  14. ↑ "Samsung Announces Exynos 5430: First 20nm Samsung SoC". AnandTech. 2014. augusztus 14. dátummal az eredeti címről archiválva. Hozzáférés: 2014. augusztus 14.
  15. ↑ "Samsung Introduces Galaxy Alpha, the evolution of Galaxy Design". Samsung Tomorrow. 2014. szeptember 24. dátummal az eredeti címről archiválva. Hozzáférés: 2014. augusztus 14.
  16. ↑ "Samsung's Exynos 5433 is an A57/A53 ARM SoC". AnandTech. 2014. szeptember 17. dátummal az eredeti címről archiválva. Hozzáférés: 2014. szeptember 17.
  17. ↑ MP6530 (PDF), Renesas Mobile, 2012. december, hozzáférés: 2013. szeptember 17.
  18. ↑ "Allwinner UltraOcta A80 processor packs a PowerVR Series6 GPU with 64 cores". Imagination. 2014. március. 2014. szeptember 3. dátummal az eredeti címről archiválva. Hozzáférés: 2014. szeptember 28.
  19. ↑ "A80". Allwinner. 2014. május. 2014. május 2. dátummal az eredeti címről archiválva. Hozzáférés: 2014. május 1.
  20. ↑ "MT6595 Octa-core LTE platform". MediaTek. 2014. április. 2014. április 15. dátummal az eredeti címről archiválva. Hozzáférés: 2014. április 14.
  21. ↑ "Snapdragon 808 processor". Qualcomm. 2014. április.
  22. ↑ "Snapdragon 810 processor". Qualcomm. 2014. április.

Források

Általános hivatkozások

Fordítás

Ez a szócikk részben vagy egészben az ARM big.LITTLE című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk

Kapcsolódó szócikkek