:

Szerző: Gálffy Csaba

2016. szeptember 23. 11:27

Cortex-R52: új magot villantott az ARM

Bemutatta legfrissebb Cortex-R sorozatú processzormagját az ARM Holdings. A cég más processzormagjaitól eltérően az új Cortex-R52 kimondottan valósidejű végrehajtáshoz, kritikus szoftverek alá kerül majd, ahol a teljesítmény másodlagos.

Tudásban az R sorozat a "nagy" A magok és a mikrokontrollernek szánt M között található. A 64 bites regisztereket nem támogatja, és kimarad a 64 bites utasításkészlet is. Bekerült viszont az előző generációs R-ekhez képest az új, 2013-ban bejelentett ARMv8-R utasításkészlet, amelyet kimondottan a modern számítási feladatokhoz tervezett az ARM, a Cortex-R52 ennek első implementációját hozza.

Ahol számít a kiszámíthatóság

Az R-sorozat célpiacát az olyan számítási feladatok jelentik, amelyeknél nagyfokú kiszámíthatóságra van szükség. Ez több szinten is érvényes, egyrészt a számítások eredményeinek kell megbízhatónak lenni, másrészt a futásidőnek is nagyon stabilnak kell maradnia - vagyis egy adott számításnak minden körülmények között szinte ugyanannyi idő alatt kell eredményt produkálnia, minimális szórással - az R52-t is mindezek figyelembevételével tervezte az ARM.

Az első szempontot például olyan megoldások szolgálják ki, mint az együtt ketyegő processzormagok (lockstep). Ez lehetővé teszi, hogy két mag is pontosan ugyanazon a feladaton dolgozzon párhuzamosan, egy külön logika pedig összehasonlítja a kimenetet, és csak azt fogadja el, ami azonos - különbség esetén a műveletet újra el kell végezni. A rendszermemóriát ECC védi, ami a szintén véletlenszerű bit flip ellen nyújt védelmet, illetve dedikált MPU (memory protection unit) felel a memóriaelérés egyéb aspektusainak védelméért.

A kiszámítható és konstans futásidőt a nem-determinisztikus faktorok kiiktatásával éri el az ARM. Így például a CPU szigorúan in-order végrehajtással rendelkezik, vagyis a beérkező utasításokat a belső logika nem rendezi újra a hatékonyság növelése érdekében. Ugyanígy a "normális" CPU-knál évtizedek óta általános virtuális memória sem támogatott, helyette a védett memória koncepcióját használja az ARM, amely ugyan jóval korlátozóbb, de jóval kiszámíthatóbb is.

A legnagyobb újdonságot a hardveres virtualizáció jelenti - természetesen a determinisztikus működés megőrzésével. A hypervisor az MPU-val együttműködve a vendég operációs rendszerek számára dedikált fizikai memóriát kínál, szintén determinisztikus, a szoftver által pontosan meghatározható módon.

A virtualizáció mellett ezen a területen két fontos érv szól. Egyrészt a futó szoftverek teljesen elválaszthatóak egymástól, így azok külön-külön is validálhatóak, az egyik módosítása nem jelenti azt, hogy a teljes stacket újra kell validálni. A másik szempont a biztonság, a vendég rendszerek magas biztonsággal szeparálhatóak el egymástól, így ugyanazon a chipen (de elválasztva) futhat mondjuk az autó irányítását és az utasok szórakoztatását végző szoftver.

CI/CD-vel folytatódik az AWS hazai online meetup-sorozata!

A sorozat december 12-i, ötödik állomásán bemutatjuk az AWS CodeCatalyst platformot, és a nyílt forráskódú Daggert is.

CI/CD-vel folytatódik az AWS hazai online meetup-sorozata! A sorozat december 12-i, ötödik állomásán bemutatjuk az AWS CodeCatalyst platformot, és a nyílt forráskódú Daggert is.

A virtualizáció ugyanakkor azt jelenti, hogy a processzor sűrűn vált az éppen futtatott szoftverek között. Az ilyen kontextusváltást az előd generáció nagyon rosszul tűrte, viszonylag hosszú ideig tartott feltölteni a különböző tárolókat az új feladatnak megfelelő adatokkal. A Cortex-R52 már sokkal hatékonyabb a kontextusváltásban, az ARM szerint a folyamat itt mintegy 14-szer gyorsabban lezajlik, mint az elődnél.

Az R-sorozatú magokat jellemzően nem önállóan, hanem az A és M sorozatú magokkal rendszerben vetik be a gyártók. Az ARM koncepciója szerint például egy önvezető autókba szánt chip-rendszer úgy épül fel, hogy a szenzorokban változatos M-alapú mikrokontrollerek dolgoznak, ezek küldik az adatokat a feldolgozó motornak. Utóbbiban Cortex-A-k mellett Mali GPU-k dolgoznak, a feldolgozott eredményekből pedig a Cortex-R-en futó kritikus szoftver hoz döntéseket, amit R és M alapú végrehajtó egységek ültetnek gyakorlatba.

November 25-26-án 6 alkalmas K8s security és 10 alkalmas, a Go és a cloud native szoftverfejlesztés alapjaiba bevezető képzéseket indítunk. Az élő képzések órái utólag is visszanézhetők, és munkaidő végén kezdődnek.

a címlapról