Bërthamat ARM janë kudo, megjithatë shumë njerëz pyesin veten se çfarë i dallon ato. Cortex-R dhe Cortex-M brenda ekosistemit. Nga pajisjet automobilistike te sensorët e vegjël, këto dy linja adresojnë nevoja shumë të ndryshme në kohë reale dhe mikrokontrollues.
Për ta kuptuar plotësisht rolin e saj, ia vlen të shqyrtojmë se si funksionon ARM si kompani dhe si arkitekturë, pse qasja e saj RISC është kaq efikase dhe si ndryshojnë seritë. A, R dhe MKjo do t'ju ndihmojë të përcaktoni se kur është më mirë të përdorni një Cortex-R me një përgjigje deterministe ose një Cortex-M të lehtë dhe me kosto efektive, i cili është perfekt për integrimin e pajisjeve periferike.
Çfarë është ARM dhe pse është e rëndësishme
ARM është një kompani britanike që projekton IP të procesorëve dhe licencë për palë të treta për prodhues të tillë si QualcommSamsung, Apple dhe NXP krijojnë çipat e tyre. Ndryshe nga Intel ose AMD, ARM nuk prodhon; forca e saj qëndron në një katalog bërthamash dhe zgjerimesh që kompanitë e tjera integrojnë dhe përshtatin në produktet e tyre.
Historia e saj fillon në Acorn Computers në vitet '80, me Sophie Wilson dhe Steve Furber duke udhëhequr zhvillimin e ARM1 dhe ARM2 të parë. Ideja ishte që dizajni të mbahej i thjeshtë dhe efikas, diçka që u konsolidua me ARM6, suksesin e ARM7TDMI në pajisjet mobile dhe mbërritjen e varianteve si StrongARM dhe më vonë XScale. Kjo qasje minimaliste mundësoi konsum shumë të ulët të energjisë dhe performancë të lartë për vat në një epokë pa memorje të mëdha të përkohshme ose mikrokode komplekse.
Arkitektura ARM është e tipit RISK: instruksione kompakte, me madhësi fikse me ekzekutim të thjeshtë. Kjo lehtëson tubacione të thella, vonesa të parashikueshme dhe çipa të vegjël. Përveç kësaj, ARM prezantoi mënyra të tilla si gisht i madh (nëngrup 16-bitësh për të fituar dendësi kodi), dhe teknologji të tilla si Jazelle (ekzekutim i përshpejtuar i bytekodit Java në disa bërthama), NEON për SIMD dhe TrustZone për izolim të sigurt.
Një koncept tjetër kyç është e madhe.VOG, një arkitekturë heterogjene që kombinon bërthamat me fuqi të ulët me bërthamat me performancë të lartë: bërthamat e VOGLA merren me detyra të lehta, ndërsa bërthamat e mëdha aktivizohen kur nevojitet energji. Edhe pse është e lidhur me serinë Cortex-A, ajo ilustron qartë filozofinë e ARM-së për efikasitet pa sakrifikuar performancën kur kërkohet.
Seria Cortex: A kundrejt R kundrejt M
Në vitin 2003, ARM riorganizoi katalogun e saj nën ombrellën e Cortex dhe e ndau atë në tre familje. Kjo ndarje përcakton fokusin e secilës bërthamë dhe ndihmon në zgjedhjen e asaj të duhur për secilin projekt. ndërveprim i pasur me përgjigjet deterministe ose në botën e mikrokontrolluesve.
- Korteksi-AProfil aplikacioni, i projektuar për sisteme operative me funksione të plota si Linux ose Android, performancë të lartë, multimedia dhe mbështetje për MMU.
- Cortex-R: profil në kohë reale, i fokusuar në latencë e ulët dhe determinizëm, tolerancë ndaj defekteve dhe disponueshmëri e lartë, tipike në automobila dhe magazinim.
- Korteks-Mprofil mikrokontrolluesi, shumë efikas në kosto dhe energji, me periferikësh të integruar dhe ekzekutimi Thumb ose Thumb-2.

Cortex-R: kohë reale, siguri dhe besueshmëri
Bërthamat Cortex-R Ato janë të dizajnuara për kontroll në kohë reale me përgjigje të parashikueshme, duke i bërë ideale për automobilistik (jastëkët e ajrit, ABS, menaxhimi i motorrit), kontrolluesit e ruajtjes së të dhënave dhe pajisjet e rrjetit. Latencia e ndërprerjes, kanalet e shpejta të memories (TCM) dhe shpesh skemat e dublikimit për sigurinë funksionale janë thelbësore këtu.
Korteksi-R4 përuroi familjen me frekuenca deri në ~600 MHz, kanalizim 8-fazor me emetim të dyfishtë, para-kërkim dhe një sistem ndërprerjesh me vonesë të ulët. Vlerësohet shumë në sistemet kritike, veçanërisht për kombinimin e performancës dhe parashikueshmërisë.
El Korteksi-R5 zgjeroi aftësitë e R4 me përmirësime në efikasitet, besueshmëri dhe trajtim gabimesh. Kjo shihet shpesh në konfigurime. bërthamë e dyfishtë për të ndërtuar zgjidhje të fuqishme dhe fleksibile me redundancë ose modalitet lockstep, duke ruajtur përgjigje të forta në kohë reale.
me Korteksi-R7 rrit rreziqet: projekti me 11 faza, ekzekutimi jashtë përdorimit dhe parashikim më të avancuar të degëve. Mbështet shumëpërpunimin simetrik dhe asimetrik dhe integron një kontrollues të përgjithshëm ndërprerjesh. Është projektuar për skenarë të kërkuar ku çdo mikrosekondë ka rëndësi dhe disponueshmëria është e panegociueshme.
Në praktikë, Cortex-R zakonisht përfshijnë NJPZH (Njësia e Mbrojtjes së Memories) për ndarjen e hapësirave dhe mbrojtjen e detyrave në kohë reale, si dhe TCM për akses determinist. Fokusi i saj nuk është në ekzekutimin e Linux-it të pasur, por më tepër në sigurimin që një ndërprerje kritike të trajtohet kur është e përshtatshme dhe gjithmonë me të njëjtën kohë përgjigjeje.
Cortex-M: Mikrokontrollues 32-bitësh për gjithçka
Seria Korteks-M ka standardizuar tregun e mikrokontrolluesve 32-bitësh: bërthama të lehta, të përballueshme dhe të lehta për t'u debuguar me një ekosistem të gjerë. Mund t'i gjeni si mikrokontrollues të plotë me memorie dhe periferikë të integruar, ose si bërthama të buta të synuara për FPGA-të në raste specifike.
Në fundin më të thjeshtë janë Cortex-M0 dhe M0+, bazuar në ARMv6-M dhe të përqendruar në koston dhe konsumin e energjisë. Ato përdorin një nëngrup Thumb-2, tubacione të shkurtra dhe, në rastin e M0+, një GPIO me një cikël të vetëm dhe mikrogjurmë opsionale. Ato janë ideale për të migruar nga 8 në 32 bit duke ruajtur buxhet i ngjeshur.
Rritja e performancës vjen me Korteksi-M3 y Korteksi-M4 (ARMv7-M). Ata ndajnë arkitekturën dhe mbështetjen Thumb-2, shumë bus 32-bitësh dhe një shpejtësi tipike të orës deri në ~200 MHz, me mjete shumë të afta për debugging. M4 shton udhëzime DSP dhe, varësisht nga varianti, UPFNëse po bëni filtrim sinjali, audio ose më shumë kontroll matematik, M4 ju kursen cikle krahasuar me një M3.
Për të shtyrë edhe më tej, Korteksi-M7 Përqendrohet në performancën maksimale të MCU-së, me tubacione më të thella, gjerësi më të madhe të autobusit dhe opsione të memorjes së përkohshme. TCM për të përshpejtuar kodin dhe të dhënat kritike. Shumë M7 përfshijnë FPU opsionale me precizion të dyfishtë dhe janë të synuara për kontrollin e avancuar të motorit, audio me besnikëri të lartë ose porta hyrëse me kërkesa të rrepta latence.
Siguria përforcohet me Korteksi-M23 y Korteksi-M33 (bazuar në ARMv8-M), të cilat prezantojnë TrustZone për të ndarë sistemin në Botë e sigurt dhe e pasigurtdhe komponenti SAU për përcaktimin e atributeve të sigurisë. Kjo përshtatet shumë mirë në IoT, ku duhet të izoloni kredencialet, nisjen e sigurt dhe pirgjet e lidhjes.
Marrja e përfituesve, Korteksi-M55 y Korteksi-M85 Ato synojnë të mësuarit automatik në skajet e fushës. Ato përfshijnë përmirësime në DSP, vektorizim dhe përshpejtim që e bëjnë më të lehtë ekzekutimin. përfundim lokalisht në sensorë dhe pajisje me bateri, duke e çuar muskulin e kompjuterit në një nivel tjetër duke ruajtur thelbin e mikrokontrolluesit (MCU).
Në varësi të kernelit, do të shihni veçori opsionale si SysTick 24-bitësh, bit-banding, MPU me numër të ndryshëm rajonesh, SAU, memorje instruksionesh dhe të dhënash, ose TCM. Në nivelin mikroarkitekturor, disa Ms miratojnë një Harvard (M3, M4, M7, M33, M55, M85) për të ndarë rrjedhën e udhëzimeve dhe të dhënave, ndërsa të tjerët mbajnë Von Neumann (M0, M0+, M1, M23), i cili ndikon në shpejtësinë e aksesit dhe zbatimin e memories.
Teknologjitë kryesore që shfaqen shpesh
Gishti i madh dhe gishti i madh-2 Ato përmirësojnë dendësinë e kodit duke zvogëluar madhësinë e instruksioneve në 16 bit (ose duke i kombinuar ato me 32 bit në Thumb-2). Kjo lejon që më shumë instruksione të ekzekutohen nga memoria e ngushtë dhe zvogëlon konsumin e energjisë. Në shumë Cortex-M, Thumb-2 është mënyra e vetme, duke thjeshtuar harduerin dhe duke kursyer hapësirë.
Në diapazonin A dhe R, ARM ofron zgjerime të tilla si NEON për SIMD, VFP për pikë lundruese dhe TrustZone për izolim të sigurt në nivelin e sistemit. Përveç kësaj, mbështeten disa bërthama klasike Jazelle për të përshpejtuar bajtokodin Java, një kujtim për ditët e para të lëvizshmërisë.
Në kohë reale, kombinimi i MPU, TCM dhe kontrolli i ndërprerjeve Është jetike. Njësitë modulare (MPU) segmentojnë memorien dhe parandalojnë aksesin e paautorizuar; TCM-të sigurojnë akses determinist pa pritje; dhe kontrolluesit e ndërprerjeve përcaktojnë me imtësi prioritetet dhe vonesat në mënyrë që ngjarjet kritike të mos humbasin kurrë.
Një histori e shkurtër e ekosistemit ARM
Pas ARM1 dhe ARM2 të parë, evolucioni solli ARM3 me memorie cache 4KB, familja ARM6 dhe popullarizimi me ARM7TDMI, i kudondodhur në telefonat celularë dhe konsolat portative. Pastaj erdhën ARM9, ARM11 dhe kalimi në Lëvore me ARMv7 dhe ARMv8, duke hapur rrugën për 64-bit në serinë A.
Paralelisht, kishte licenca të rëndësishme si p.sh. DEC StrongARM (më vonë në duart e Intel) dhe XScale, i cili fuqizoi PDA-të dhe pajisjet e integruara. Kjo periudhë çimentoi idenë se ARM ishte rruga përpara për pajisjet e konsumatorit dhe ato me energji të ulët, ndërsa x86 mbeti pajisja dominuese për desktopët dhe serverët.
Apple e përvetësoi teknologjinë ARM për iPhone dhe iPad, dhe më vonë bëri kalimin në kompjuterë me Silici i mollës, duke u mbështetur në përkthimin dinamik si Rosetta 2 për tranzicionin e softuerit. Performanca për vat dhe integrimi i SoC e vulosën marrëveshjen.
Sistemet operative dhe ekosistemi i softuerëve
ARM mbështetet nga një gamë e gjerë sistemesh: nga Android, iOS dhe macOS në Apple Silicon, deri në Windows CE, RT dhe versionet moderne me mbështetje ARM, dhe Certifikimi ARM SystemReady Përmirëson përputhshmërinë. Në desktop, ekzistojnë Windows 10 dhe 11 për ARM, me kufizime historike në ekzekutimin e skedarëve binare x86 native, të zbutura nga shtresat e përkthimit.
Në botën e lirë, familja BSD (FreeBSD, NetBSD, OpenBSD) funksionon në ARM, dhe në Linux ka mbështetje të gjerë me distro si Debian, Ubuntu, Arch, Kali, Manjaro, Gentoo ose Oracle LinuxNë formatin e integruar dhe në kohë reale, lista është e gjatë: FreeRTOS, ChibiOS, eCos, ThreadX, QNX, VxWorks, Nucleus, RTEMS, Integritet dhe shumë të tjera, që mbulojnë gjithçka, nga MCU-të e vogla deri te kontrolli kritik industrial.
Licencimi, shkritoret dhe pse ARM zgjerohet kaq shumë
Vlera diferenciale e ARM-së po lejon palët e treta personalizoni SoC-tëNë vend që të shesë një CPU të mbyllur, ofron bërthama, autobusë, IP të GPU-së. mali dhe NPU-të karakter që secili prodhues të ndërtojë enigmën: mund të shtoni një modem 5G, memorie të integruar, motorë IA ose siguri të personalizuar.
Edhe pse ARM nuk prodhon, ajo mban marrëveshje me fabrika të tilla si TSMC (dhe Intel në atë kohë) për të lehtësuar miratimin. Licensuesit zgjedhin fabrikat: sot TSMC dhe Samsung udhëheqin procese të përparuara, duke lejuar që ARM të vendoset në celular, IoT dhe madje edhe në qendra të të dhënave me linjën Përtej.
Krahasimi me x86 është i qartë: në një PC ndërtoni kompjuterë me pjesë të standardizuara; me ARM, ju projektoni SoC-në që i përshtatet produktit tuaj. Kjo është arsyeja pse ARM mbizotëron në telefonat inteligjentë, tabletët dhe IoT, dhe po fiton terren në automobila dhe servera, ku efikasiteti, integrimi dhe kostoja për funksion kanë rëndësi.
GPU, AI dhe pjesë të tjera të katalogut
Përveç CPU-ve, dizajnet ARM GPU e Malit Të integruara në shumë SoC për grafikë dhe video 2D/3D në telefona celularë, televizorë dhe tableta. Ndërsa nuk konkurrojnë me GPU-të diskrete të nivelit të lartë, ato kanë evoluar me shpejtësi dhe i plotësojnë më shumë seç duhet nevojat e tregut të synuar.
në mësimi i makinerisë, blloqet Ethos-N y Ethos-U përshpejtojnë rrjetet nervore; të parat si NPU më të afta dhe të dytat si bashkëprocesorë të lehtë që shoqërojnë Cortex-A. Në skaj, procesorët e fundit Cortex-M me përmirësime DSP mundësojnë gjithashtu nxjerrjen e përfundimeve lokale.
Harta e familjes dhe shembujt e prodhuesit
Shumë furnizues integrojnë Cortex-M dhe A në katalogët e tyre të gjerë. Si një udhëzues praktik, këto janë shembuj të serive të shquara që do të shihni në treg, të cilat ju ndihmojnë të identifikoni se cilat Bërthama e ARM-së ju po blini.
- NXP KinetisGamat L, EA, E, W, K dhe V kombinojnë Cortex-M0+, M4 dhe M7 për kontroll me fuqi të ulët, industrial, RF dhe motorik.
- NXP LPCfamiljet 800/1100/1200 (M0/M0+), 1300/1500/1700/1800 (M3) dhe 4000/4300/54000 (M4).
- NXP i.MXSoC-të e aplikacionit me Cortex-A7, A9, A53 dhe variante me Korteksi-M7 mbështetje në kohë reale.
- Mikroçip Atmel SAMSeritë C dhe D (M0/M0+), 3x (M3), 4x (M4), I/O/V (M7) dhe A5 në profilin e aplikacionit.
- Texas Instruments Sitara: AM3/AM335x (A8), AM437x/AM38x/AM1x (A9), AM57x (A15); OMAP 35xx me A8.
- STMikroelektronikë STM32: L0/F0 (M0/M0+), L1/F1/F2 (M3), L4/L4+/F3/F4 (M4), F7/H7 (M7).
- Maxim MAX32Familjet 600 (M3), 62x/63x (M4F) dhe 65x/66x (M4).
Zgjedhja midis Cortex-R dhe Cortex-M
Nëse gjëja thelbësore është determinizëm i ashpër, kohë minimale ndërprerjesh, tolerancë ndaj defekteve dhe certifikime sigurie (p.sh. ASIL), familja Cortex-R Përshtatet më mirë. Mendoni për kontrollin e frenave, jastëkët e ajrit, kontrolluesit e diskut ose panelet e pasme të rrjetit që nuk mund të dështojnë.
Kur objektivi është integrimi i pajisjeve periferike, rregullimi i konsumit dhe kostos, dhe ekzekutimi i kontrollit, sensorëve dhe komunikimeve me RTOS i lehtë, Një Korteks-M Është zgjedhja natyrale. Zgjidhni M0/M0+ për energji dhe buxhet ultra të ulët, M3 për kontroll të përgjithshëm, M4 nëse keni nevojë për DSP/FPU dhe M7 kur performanca e MCU është kritike. Për sigurinë e platformës, merrni në konsideratë M23/M33 me TrustZone dhe SAU.
Në modelet hibride, është e zakonshme të gjesh SoC të serisë Korteksi-A me një Cortex-M të vogël shoqërues për detyra në kohë reale, ose edhe kombinime ku një R menaxhon planin kritik ndërsa një A merret me ndërfaqen e përdoruesit dhe lidhshmërinë.
Për të mbyllur rrethin, ia vlen të kujtojmë se forca e ARM-së vjen nga ajo e saj modeli i licencësEfikasiteti i RISC dhe aftësia për të krijuar SoC të personalizuara. Cortex-R dhe Cortex-M mbulojnë gjithçka, nga kontrollet më të kërkuara në kohë reale deri te MCU-të me kosto efektive që përshtaten në çdo produkt, me një ekosistem mjetesh, sistemesh operative dhe prodhuesish që e bën të lehtë gjetjen e pjesës së duhur për çdo nevojë.