ARM Cortex-R ir Cortex-M: kas jie yra, skirtumai ir kada pasirinkti kiekvieną iš jų

  • „Cortex-R“ teikia pirmenybę deterministiniam atsakui, mažam delsos laikui ir saugumui automobilių, duomenų saugojimo ir tinklų srityse.
  • „Cortex-M“ optimizuoja sąnaudas, energijos suvartojimą ir integraciją su variantais nuo M0+ iki M85 valdymui ir DSP.
  • „TrustZone“, MPU, TCM, „Thumb-2“ ir NEON/FP padeda pritaikyti branduolį konkrečiam naudojimo atvejui.

ARM Cortex procesorių paaiškinimas

ARM branduoliai yra visur, tačiau daugelis žmonių stebisi, kuo jie skiriasi. „Cortex-R“ ir „Cortex-M“ ekosistemoje. Nuo automobilių prietaisų iki mažyčių jutiklių – šios dvi linijos tenkina labai skirtingus realaus laiko ir mikrovaldiklių poreikius.

Norint visapusiškai suprasti ARM vaidmenį, verta apžvelgti, kaip ji veikia kaip įmonė ir kaip architektūra, kodėl jos RISC metodas yra toks efektyvus ir kuo skiriasi šios serijos. A, R ir MTai padės jums nustatyti, kada geriausia naudoti „Cortex-R“ su deterministiniu atsaku arba lengvą, ekonomišką „Cortex-M“, kuris puikiai tinka periferinių įrenginių integravimui.

Kas yra ARM ir kodėl tai svarbu

ARM yra britų įmonė, kurianti procesorių IP ir licencija trečiosioms šalims gamintojams, pvz. "Qualcomm„Samsung“, „Apple“ ir „NXP“ kuria savo lustus. Kitaip nei „Intel“ ar AMD, ARM negamina; jos stiprybė slypi branduolių ir plėtinių kataloge, kuriuos kitos įmonės integruoja ir pritaiko savo gaminiuose.

Jos istorija prasidėjo „Acorn Computers“ devintajame dešimtmetyje, kai Sophie Wilson ir Steve'as Furberis vadovavo pirmųjų ARM1 ir ARM2 kūrimui. Idėja buvo išlaikyti dizainą paprastą ir efektyvų, tai buvo įtvirtinta ARM6, kurios sėkmė ARM7TDMI mobiliuosiuose įrenginiuose ir atsiradus tokiems variantams kaip „StrongARM“ ir vėliau „XScale“. Šis minimalistinis požiūris leido pasiekti labai mažas energijos sąnaudas ir didelį našumą vienam vatui eroje, kurioje nebuvo didelių talpyklų ar sudėtingo mikrokodo.

ARM architektūra yra tokio tipo RISCKompaktiškos, fiksuoto dydžio instrukcijos, lengvai vykdomos. Tai palengvina gilius konvejerius, nuspėjamas delsas ir mažus lustus. Be to, ARM pristatė tokius režimus kaip nykštys (16 bitų poaibis kodo tankiui padidinti) ir tokios technologijos kaip Jazelle (pagreitintas „Java“ baitkodo vykdymas kai kuriuose branduoliuose), NEON SIMD ir „TrustZone“ saugiai izoliacijai.

Kita svarbi koncepcija yra big.LITTLE, heterogeninė architektūra, kurioje derinami mažai energijos naudojantys ir didelio našumo branduoliai: MAŽIEJI branduoliai atlieka lengvas užduotis, o dideli branduoliai aktyvuojami, kai reikia energijos. Nors ji siejama su „Cortex-A“ serija, ji aiškiai iliustruoja ARM efektyvumo filosofiją neaukojant našumo, kai to reikia.

„Cortex“ serija: A, R ir M

2003 m. ARM pertvarkė savo katalogą, naudodama „Cortex“ sistemą, ir padalijo jį į tris šeimas. Šis atskyrimas apibrėžia kiekvieno branduolio paskirtį ir padeda kiekvienam projektui pasirinkti tinkamiausią. turtingas interaktyvumas su deterministiniais atsakais arba į mikrovaldiklių pasaulį.

  • Cortex-AProgramos profilis, skirtas pilnai funkcionalioms operacinėms sistemoms, tokioms kaip „Linux“ ar „Android“, pasižyminčioms dideliu našumu, multimedija ir MMU palaikymu.
  • Cortex-R: realaus laiko profilis, orientuotas į mažas delsos laikas ir determinizmas, atsparumas gedimams ir didelis prieinamumas, būdingas automobilių ir saugyklų sričiai.
  • Žievė-Mmikrovaldiklio profilis, labai ekonomiškas ir energiją taupantis, su integruoti periferiniai įrenginiai ir „Thumb“ arba „Thumb-2“ vykdymas.

Cortex R ir Cortex M skirtumai

„Cortex-R“: realusis laikas, saugumas ir patikimumas

Šerdys Cortex-R Jie sukurti valdyti realiuoju laiku su nuspėjamu atsaku, todėl idealiai tinka automobilių (oro pagalvės, ABS, variklio valdymas), atminties valdikliai ir tinklo įranga. Čia svarbiausi yra pertraukimų delsa, greitosios atminties kanalai (TCM) ir dažnai dubliavimo schemos funkciniam saugumui užtikrinti.

Cortex-R4 pristatė šeimą su dažniais iki ~600 MHz, 8 pakopų kanalų sistema su dviguba emisija, išankstinė paieška ir mažo vėlavimo pertraukimų sistema. Ji labai vertinama kritinėse sistemose, ypač dėl našumo ir nuspėjamumo derinio.

El Cortex-R5 išplėtė R4 galimybes, patobulindamas efektyvumą, patikimumą ir klaidų tvarkymą. Tai dažnai pastebima konfigūracijose dviejų branduolių kurti galingus ir lanksčius sprendimus su pertekliniu arba „lock-step“ režimu, išlaikant griežtus atsakymus realiuoju laiku.

su Cortex-R7 kelia statymus: 11 etapų procesas, vykdymas neveikia ir pažangesnį šakų numatymą. Jis palaiko simetrinį ir asimetrinį daugiaprocesinį apdorojimą ir integruoja bendrą pertraukimų valdiklį. Jis skirtas sudėtingiems scenarijams, kai svarbi kiekviena mikrosekundė, o prieinamumas yra nederybų objektas.

Praktiškai „Cortex-R“ paprastai apima MPU (Atminties apsaugos blokas) skirtas erdvių skaidymui ir realaus laiko užduočių apsaugai, taip pat TCM deterministinei prieigai. Jo pagrindinis tikslas nėra valdyti daug funkcijų turinčią „Linux“ sistemą, o užtikrinti, kad kritinis pertraukimas būtų apdorojamas tinkamais atvejais ir visada su tuo pačiu atsako laiku.

„Cortex-M“: 32 bitų mikrovaldikliai viskam

serija Žievė-M standartizavo 32 bitų MCU rinką: lengvi, įperkami, lengvai derinami branduoliai su plačia ekosistema. Juos galite rasti kaip pilnus MCU su integruota atmintimi ir periferiniais įrenginiais arba kaip minkštus branduolius, skirtus FPGA, konkrečiais atvejais.

Paprasčiausiame gale yra Cortex-M0 ir M0+, pagrįsti ARMv6-M ir orientuoti į kainą bei energijos suvartojimą. Jie naudoja „Thumb-2“ pogrupį, trumpus konvejerius ir, M0+ atveju, vieno ciklo GPIO bei pasirenkamą mikrotraumą. Jie idealiai tinka migracijai nuo 8 iki 32 bitų, išlaikant mažas biudžetas.

Našumo šuolis ateina su Žievė-M3 y Žievė-M4 (ARMv7-M). Jie turi „Thumb-2“ architektūrą ir palaikymą, kelias 32 bitų magistrales ir tipinį iki ~200 MHz taktinį dažnį, taip pat labai galingus derinimo įrankius. M4 prideda DSP instrukcijas ir, priklausomai nuo varianto, FPUJei atliekate signalo filtravimą, garso valdymą ar matematinį valdymą, M4, palyginti su M3, sutaupo jums ciklų.

Dar labiau stumti, Žievė-M7 dėmesys sutelkiamas į maksimalų MCU našumą, naudojant gilesnius vamzdynus, padidintą magistralės plotį ir talpyklos parinktis. TCM siekiant paspartinti svarbų kodą ir duomenis. Daugelyje M7 procesorių yra pasirenkami dvigubo tikslumo FPU ir jie skirti pažangiam variklių valdymui, aukštos kokybės garsui arba šliuzams su griežtais delsos reikalavimais.

Saugumas sustiprinamas, Žievė-M23 y Žievė-M33 (remiantis ARMv8-M), kurie įdiegia „TrustZone“, kad sistema būtų padalinta į Saugus ir nesaugus pasaulisir SAU komponentą, skirtą saugumo atributams apibrėžti. Tai puikiai tinka daiktų internetui (IoT), kur reikia izoliuoti kredencialus, saugų paleidimą ir ryšio paketus.

Visai neseniai, Žievė-M55 y Žievė-M85 Jie orientuoti į mašininį mokymąsi periferijoje. Juose integruoti DSP, vektorizavimo ir greitinimo patobulinimai, kurie palengvina veikimą. išvada vietinis jutikliuose ir baterijomis maitinamuose įrenginiuose, taip padidinant skaičiavimo galią ir išlaikant MCU esmę.

Priklausomai nuo branduolio, matysite pasirenkamas funkcijas, pvz. 24 bitų „SysTick“, bitų juostavimas, MPU su įvairiu regionų skaičiumi, SAU, instrukcijų ir duomenų talpyklos arba TCM. Mikroarchitektūros lygmeniu kai kurios M taiko Harvardo (M3, M4, M7, M33, M55, M85) atskiria instrukcijas ir duomenų srautus, o kiti išlaiko von Neumanno metodiką (M0, M0+, M1, M23), kuri turi įtakos prieigos greičiui ir atminties įgyvendinimui.

Pagrindinės technologijos, kurios dažnai pasirodo

Nykštys ir nykštys-2 Jie pagerina kodo tankį sumažindami instrukcijų dydį iki 16 bitų (arba sujungdami jas su 32 bitais „Thumb-2“). Tai leidžia vykdyti daugiau instrukcijų iš siauros atminties ir sumažina energijos suvartojimą. Daugelyje „Cortex-M“ procesorių „Thumb-2“ yra vienintelis režimas, supaprastinantis aparatinę įrangą ir taupantis vietą.

A ir R diapazonuose ARM siūlo tokius plėtinius kaip NEON SIMD atveju VFP slankiojo kablelio ir „TrustZone“ saugiai izoliacijai sistemos lygmeniu. Be to, palaikomi kai kurie klasikiniai branduoliai Jazelle paspartinti „Java“ baitinį kodą – tai užuomina į ankstyvąsias mobilumo dienas.

Realiu laiku, derinys MPU, TCM ir pertraukimų valdymas Tai gyvybiškai svarbu. Mikroprocesoriai segmentuoja atmintį ir apsaugo nuo neteisėtos prieigos; techniniai valdymo moduliai (TCM) užtikrina deterministinę prieigą nelaukiant; o pertraukimų valdikliai tiksliai derina prioritetus ir delsą, kad niekada neliktų praleisti svarbūs įvykiai.

Trumpa ARM ekosistemos istorija

Po pirmųjų ARM1 ir ARM2, evoliucija atnešė ARM3 su 4 KB talpykla, ARM6 šeima ir išpopuliarėjimas su ARM7TDMI, plačiai paplitusiu mobiliuosiuose telefonuose ir nešiojamosiose konsolėse. Tada atėjo ARM9, ARM11 ir perėjimas prie Žievė su ARMv7 ir ARMv8, atverdami kelią 64 bitų A serijai.

Lygiagrečiai buvo ir žymių licencijų, tokių kaip DEC StrongARM (vėliau perėjo „Intel“) ir „XScale“, kuri maitino delninius kompiuterius ir įterptinius įrenginius. Šis laikotarpis sustiprino idėją, kad ARM yra ateities kelias vartotojams skirtų ir mažai energijos naudojančių įrenginių srityje, o x86 išliko dominuojančiu įrenginiu staliniams kompiuteriams ir serveriams.

„Apple“ pritaikė ARM „iPhone“ ir „iPad“ įrenginiams, o vėliau perėjo prie kompiuterių su Obuolių silicis, pasikliaudamas dinaminiu vertimu, tokiu kaip „Rosetta 2“, programinės įrangos perėjimui. Našumas, tenkantis vienam vatui, ir SoC integracija užtvirtino sandorį.

Operacinės sistemos ir programinės įrangos ekosistema

ARM palaiko daugybė sistemų: nuo „Android“, „iOS“ ir „macOS“ „Apple Silicon“ sistemoje, iki „Windows CE“, RT ir modernių versijų su ARM palaikymu, ir ARM SystemReady sertifikatas Pagerina suderinamumą. Darbalaukyje egzistuoja „Windows 10“ ir „Windows 11 for ARM“, tačiau yra istorinių apribojimų, susijusių su vietinių x86 dvejetainių failų paleidimu, kuriuos sušvelnina vertimo sluoksniai.

Laisvajame pasaulyje BSD šeima (FreeBSD, NetBSD, OpenBSD) veikia ARM sistemoje, o Linux sistemoje yra plačiai palaikoma tokių distribucijų kaip Debian, Ubuntu, Arch, Kali, Manjaro, Gentoo arba Oracle LinuxĮterptosiose ir realiojo laiko sistemose sąrašas yra ilgas: „FreeRTOS“, „ChibiOS“, „eCos“, „ThreadX“, „QNX“, „VxWorks“, „Nucleus“, RTEMS, vientisumas ir daug daugiau, apimančių viską – nuo ​​mažų mikrovaldiklių iki kritinių pramoninių valdymo sistemų.

Licencijavimas, liejyklos ir kodėl ARM taip sparčiai plečiasi

ARM diferencinė vertė leidžia trečiosioms šalims pritaikyti SoCUžuot pardavinėjęs uždarą procesorių, jis siūlo branduolius, magistrales, GPU IP adresą Malis ir NPU Ethos kiekvienam gamintojui sudėti dėlionę: galite pridėti 5G modemą, integruotą atmintį, dirbtinio intelekto variklius arba pasirinktinį saugumą.

Nors ARM negamina, ji palaiko susitarimus su tokiomis liejyklomis kaip TSMC (ir tuo metu „Intel“), kad būtų lengviau diegti. Licencijų turėtojai renkasi gamyklas: šiandien TSMC ir „Samsung“ vadovauja pažangiems procesams, leidžiantiems ARM diegti mobiliuosiuose įrenginiuose, daiktų internete ir net duomenų centruose su linija Neoververse.

Palyginimas su x86 aiškus: asmeniniame kompiuteryje kompiuterius kuriate su standartizuotomis dalimis; su ARM, jūs kuriate SoC kuris tinka jūsų produktui. Štai kodėl ARM karaliauja išmaniuosiuose telefonuose, planšetiniuose kompiuteriuose ir daiktų internete ir vis labiau populiarėja automobilių ir serverių pramonėje, kur svarbus efektyvumas, integracija ir kaina vienai funkcijai.

GPU, AI ir kitos katalogo dalys

Be procesorių, ARM dizainai GPU Malis Integruoti į daugelį mobiliųjų telefonų, televizorių ir planšetinių kompiuterių 2D/3D grafikos ir vaizdo įrašų sistemų lustų (SoC). Nors jie nekonkuruoja su aukščiausios klasės atskirais GPU, jie sparčiai vystėsi ir daugiau nei atitinka tikslinės rinkos poreikius.

į automatinis mokymasis, blokai Ethos-N y Ethos-U spartinti neuroninius tinklus; pirmieji kaip galingesni NPU, o antrieji – kaip lengvi koprocesoriai, kurie papildo „Cortex-A“. Kraštuose naujausi „Cortex-M“ procesoriai su DSP patobulinimais taip pat įgalina vietinę išvadą.

Šeimos žemėlapis ir gamintojų pavyzdžiai

Daugybė tiekėjų integruoja „Cortex-M“ ir „A“ į savo išsamius katalogus. Kaip praktinis vadovas, pateikiame žymių serijų, kurias pamatysite rinkoje, pavyzdžius, kurie padės jums nustatyti, kurias ARM branduolys jūs perkate.

  • NXP KinetisL, EA, E, W, K ir V serijos sujungia „Cortex-M0+“, M4 ir M7, skirtus mažos galios, pramoniniam, radijo dažnių ir variklių valdymui.
  • NXP LPC: šeimos 800/1100/1200 (M0/M0+), 1300/1500/1700/1800 (M3) ir 4000/4300/54000 (M4).
  • NXP i.MX: Taikymo SoC su „Cortex-A7“, „A9“, „A53“ ir variantais su Žievė-M7 palaikymas realiuoju laiku.
  • Mikroschema Atmel SAMC ir D serijos (M0/M0+), 3x (M3), 4x (M4), I/O/V (M7) ir A5 programos profilyje.
  • „Texas Instruments“ sitaros: AM3 / AM335x (A8), AM437x / AM38x / AM1x (A9), AM57x (A15); OMAP 35xx su A8.
  • STMicroelectronics STM32: L0/F0 (M0/M0+), L1/F1/F2 (M3), L4/L4+/F3/F4 (M4), F7/H7 (M7).
  • Maksimas MAX32600 (M3), 62x/63x (M4F) ir 65x/66x (M4) šeimos.

Pasirinkimas tarp „Cortex-R“ ir „Cortex-M“

Jei svarbiausias dalykas yra kietasis determinizmas, minimalus prastovų laikas, atsparumas gedimams ir saugos sertifikatai (pvz., ASIL), šeima Cortex-R geriau tinka. Pagalvokite apie stabdžių valdiklį, oro pagalves, diskų valdiklius ar tinklo plokštes, kurios negali sugesti.

Kai tikslas yra integruoti periferinius įrenginius, reguliuoti suvartojimą ir sąnaudas bei vykdyti valdymą, jutiklius ir ryšį su Lengvas RTOS, Vienas Žievė-M Tai natūralus pasirinkimas. Rinkitės M0/M0+, jei naudojate itin mažai energijos ir biudžetą, M3 – bendram valdymui, M4, jei jums reikia DSP/FPU, o M7, kai MCU našumas yra labai svarbus. Platformos saugumui apsvarstykite M23/M33 su „TrustZone“ ir SAU.

Hibridiniuose dizainuose įprasta rasti serijos SoC Cortex-A su maža lydinčia „Cortex-M“ realaus laiko užduotims arba netgi deriniais, kai R valdo kritinę plokštumą, o A – vartotojo sąsają ir ryšį.

Kad užbaigtume ratą, verta prisiminti, kad ARM stiprybė slypi jos licencijos modelisRISC efektyvumas ir galimybė kurti individualius SoC. „Cortex-R“ ir „Cortex-M“ apima viską – nuo ​​reikliausių realaus laiko valdiklių iki ekonomiškų mikrokontrolerių, tinkančių bet kokiam produktui, o įrankių, operacinių sistemų ir gamintojų ekosistema leidžia lengvai rasti tinkamą dalį kiekvienam poreikiui.

mikrovaldikliai
Susijęs straipsnis:
MCU: sužinokite apie svarbiausias mikrovaldiklių šeimas