0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaPredstavljamoKako lahko ARM Cortex-M85 Helium izboljša vašo Vision AI

    Kako lahko ARM Cortex-M85 Helium izboljša vašo Vision AI

    V današnjem tehnološkem okolju se je močno povečalo povpraševanje po sofisticiranih zmogljivostih strojnega učenja in napredni obdelavi signalov na omejenih ugnezdenih napravah.

    Renesas Electronics Corporation
    Avtor: Eldar Sido

    S trenutno ponudbo mikrokontrolerjev (MCU) se razvijalci ugnezdene programske opreme soočajo s številnimi izzivi, kako iztisniti več obdelave na cikel, da bi dosegli te zahteve, ali se odločiti za procesor višjega razreda, kot je Cortex-A.

    Po analizi stroškov in koristi se zaradi povečanja stroškov/časa razvoja izdelka običajno ne izbere nobene od teh možnosti. Zato se je povečalo povpraševanje po zmogljivejšem determinističnem mikrokontrolerju, jedru, ki lahko izpolnjuje te zahteve in širi obseg primerov uporabe, ki jih lahko MCU-ji obravnavajo zunaj danes znanih trgov.

    Najnovejše in najboljše mikrokontrolersko jedro na trgu je ARM® Cortex®-M85. To najsodobnejše jedro za splošne namene je zasnovano tako, da izpolnjuje zahteve malega strojnega učenja (TinyML) in napredne obdelave signalov. Odlikuje ga 32-bitna arhitektura Armv8.1-M, ki zagotavlja visoko zmogljivo in energetsko učinkovito rešitev za ugnezdene sisteme. ARM-ova najnovejša tehnologija Helium, vektorska razširitev M-profila (MVE), ki zagotavlja znatno povečanje zmogljivosti aplikacij ML/DSP, enota s plavajočo vejico (FPU) in obsežen nabor ukazov za digitalno obdelavo signalov (DSP) omogočajo, da CM85 jedro zlahka obvlada kompleksne računske izzive na področju TinyML.

    V tem članku si bomo podrobneje ogledali značilnosti tehnologije Helium, njene zmogljivosti in druge dodane funkcije jedra CM85, ki ga odlikujejo od drugih MCU-jev, ki so trenutno na trgu, ter demo posnetke CM85 AI, ki jih je podjetje Renesas Electronics predstavilo na sejmu Embedded World 2023.

    Kaj je Helium-MVE
    MVE Helium tehnologija je razširitev mikroarhitekture za CM85 in CM55 jedra v arhitekturi Armv8.1-M. Podobno kot Neon tehnologija v napravah Cortex-A, je Helium SIMD arhitekturni nabor z namenom izpodriniti ločena DSP jedra nižjega in srednjega razreda ter procesiranje opraviti na čipu. Namesto da bi samo prenesli Neon, je bil Helium razvit od začetka zato, da bi upošteval manjše velikosti čipov, ima podporo za več podatkovnih tipov in nabore ukazov, ki jih Neon ni podpiral, kot so veje z nizkim presežkom in predikacijo. Helium je zasnovan iz osmih vektorskih registrov s ponovno uporabo običajnih registrov FPU kot vektorskih registrov, vsak od njih je širok 128 bitov.
    Cilj Helium tehnolgije je bistveno izboljšati zmogljivost običajnih jeder AI/ML in DSP z odpravljanjem nekaterih pogostih ozkih grl zmogljivosti z dodajanjem različnih funkcij, ki vključujejo:

    Prekrivajoče se vodilo
    Helium sestavlja 8 vektorskih registrov, dolgih 128 bitov, pri čemer se vsaka četrtina imenuje “takt” (32 bitov široka). Da bi omogočil večjo učinkovitost obdelave, Helium uporablja vektorsko veriženje za vzporedno izvajanje prekrivajočih se vodil vektorskega nalaganja in vektorskega MAC, kot je prikazano na sliki 1. V vsakem taktu prekrivajoča se vodila izvajajo MAC na predhodno naloženem “taktu”, medtem ko nalagajo naslednji “takt”. Cortex-M85 je 64-bitna podatkovna pot z dvojnim taktom, ki omogoča 2 cikla na 128 bitov. Ta postopek prekrivanja je znan kot “beatwise” izvajanje [1][2].

    Vsak takt je mogoče dodatno razdeliti in učinkovito obdelati različne vrste podatkov na takt, kot sledi:

    • 2x Q31/int32
    • 4x Q15/int16
    • 8x Q7/int8
    • 2x fp32
    • 4x fp16

    Vrste podatkov
    Da bi se CM85 lahko uporabljal v številnih aplikacijah, podpira širok nabor vektorskih podatkovnih tipov, kot sledi [1]:

    • Vektor 8-bit integer/fiksna vejica, ki se pogosto uporablja v kvantiziranih ML modelih in običajno ni na voljo v DSP nižjega in srednjega razreda.
    • Vektor 16-bit ali 32-bit integer/ fiksna vejica
    • Vektorska 16-bitna polprecizna plavajoča vejica, ki se uporablja pri predobdelavi podatkov v realnem času, kot so aplikacije za zaznavanje, omogoča ohranjanje visokega dinamičnega razpona s polovičnimi zahtevami za obdelavo. To je edinstveno za CM-jedra z arhitekturo M8.1.
    • Vektor 32-bit single – natančna plavajoča vejica
    • Helium podpira tudi obdelavo kompleksnih vrednosti za cela števila in plavajoče vejice, kar omogoča učinkovito obdelavo kompleksnih števil, ki je pogosta pri obdelavi signalov (npr. FFT).

    Izboljšano napovedovanje vej/optimizacija zanke: Kot smo že omenili, Helium dodaja različna navodila za pospeševanje DSP izračunov, kot je na primer razširitev vej z nizkimi stroški, ki pospeši kontrolne zanke s predpomnjenjem prvega in zadnjega navodila ter izvedbo le telesa zanke pri naslednjih iteracijah. Predikacija pasov je še ena uporabna razširitev, ki podpira pogojno izvrševanje in obravnava robne primere, kot je število pasov vektorjev, ki ni deljivo s 4. Te ukazi zagotavljajo podobno povečanje zmogljivosti kot DSP z “zero-overhead-loop” podporo [1][3][6].

    Izboljšani ukazi za dostop do pomnilnika: Dodani so bili nizi ukazov, kot so navodila za nalaganje in shranjevanje s prepletanjem in odstranjevanjem prepletanja, s koraki 2,4, ki zagotavljajo izboljšave pri obdelavi DSP/slike za obravnavo različnih podatkovnih formatov, kot so slikovni podatki (npr. RGB) ali avdio podatki. Drug nabor ukazov je način naslavljanja “scatter/gather” za generiranje bitno obrnjenega naslova in emulacijo krožnega naslavljanja, ki ga najdemo v DSP in je običajen za aplikacije za obdelavo signalov, kot je FFT. CM85 vključuje tudi tesno povezan pomnilnik (TCM) za izjemno hiter odziv v realnem času in AXI vodilo za aplikacije z večjo pasovno širino pomnilnika s predpomnilniki za optimizacijo zmogljivosti pri počasnejših, nedeterminističnih aplikacijah [1][3][4][5].

    Cortex-M85
    Poleg neverjetnih funkcij zaradi Helium MVE tehnologije, CM85 kot jedro Cortex-M najvišjega razreda, prekaša vsa druga jedra s številnimi funkcijami, kot je prikazano v preglednici 1.

    Cortex-M85 jedro v primerjavi z drugimi Cortex-M jedri vključuje tudi nov in izboljšan nabor varnostnih funkcij, kot so avtentikacija kazalca in identifikacija ciljne veje (PABTI), izboljšave varnosti ARM® TrustZone®, privilegirana funkcija eXecute Never (PXN) v MPU in neprivilegirana razširitev razhroščevanja (DUE), ki olajša doseganje stopnje 2 certifikata PSA in je idealna za aplikacije, kjer je varnost pomembna, kot so industrijski nadzorni sistemi in medicinske naprave.

    Primerjalne ocene
    Glede na vse funkcije, ki so bile vgrajene v CM85, lahko empirični dokazi, kot so industrijska standardna primerjalna merila ali primerjalna merila na različnih jedrih, utrdijo njegov položaj najzmogljivejšega MCU jedra. Na primer, iz vrednosti CoreMarks in DMIPs v tabeli 1 je razvidno, da je skalarni dvig dosežen zaradi lastnosti novih mikroarhitektur, vključno z izboljšanim pomnilniškim sistemom, izboljšanim napovedovanjem vej in optimiziranim dvojnim delovanjem.

    Kot je prikazano na sliki 2, lahko jedro CM85 z integracijo Helium tehnologije štirikrat preseže CM7 jedro v zmogljivosti AI/ML in CM55 za 20 % zaradi dodatnih mikroarhitektur.

    Helium dejansko zagotavlja znatno povečanje v primerjavi z napravami, ki nimajo Helium tehnologije, na granularni ravni pa lahko MVE dodatno izboljša zmogljivost posameznih ML jeder v primerjavi z napravami, ki nimajo MVE tehnologije, kot je prikazano na sliki 3a; rezultat obdelave popolnoma povezane plasti je znatno povečanje zaradi Helium MVE tehnologije. Kar zadeva zmogljivost DSP MVE naprav v primerjavi z napravami brez MVE pri standardnih jedrih, kot sta hitra Fourierjeva transformacija in končni impulzni odziv, slika 3b prikazuje 57- oziroma 64-odstotno povečanje za enote s plavajočo vejico, medtem ko bi bilo povečanje večje pri celoštevilskih izračunih zaradi izvorne podpore MVE za širši razpon podatkovnih tipov.

    Nazadnje, z dodatkom 100 novih naborov ukazov v CM85, vključno s tistimi, ki povečujejo zmogljivosti jedra za obdelavo slik, je na sliki 4 prikazano skoraj štirikratno povečanje v primerjavi s CM7 jedrom za CM85 napravo, ki uporablja Helium, v knjižnici ARM 2D.

    Embedded World’23 video AI demonstracije
    Podjetje Renesas Electronics, vodilni partner podjetja ARM pri jedru CM85, je predstavilo primer uporabe umetne inteligence na področju videa in primer uporabe zaznavanja okvare motorja, ki sta lahko namenjena različnim vertikalam, saj je jedro Cortex-M85 v primerjavi z drugimi jedri Cortex-M doseglo ogromen napredek.

    Demonstracija zaznavanja ljudi v sodelovanju s podjetjem PlumerAI
    Demonstracija zaznavanja ljudi z aplikacijo PlumerAI lahko prepozna, zazna in prešteje ljudi z različnih zornih kotov, osvetlitve in okoljskih pogojev. Rezultati so se v primerjavi z drugimi Cortex-M jedri znatno izboljšali, kar odpira vrata še naprednejšim primerom uporabe, ki jih je bilo treba izvajati na jedrih Cortex-A, kot je sledenje ljudem. V primerjavi z jedrom Cortex-M7 in še bolj v primerjavi z drugimi jedri so opazili 3,7-kratni dvig cikla.

    Demo za odkrivanje napak pri krmiljenju motorja
    Druga predstavitev je predstavila primer uporabe napovednega zaznavanja napak pri krmiljenju motorja, ki ga je mogoče uporabiti v številnih industrijskih aplikacijah. Z uporabo šuntnega toka lahko model predvidi, koliko je motor napačno nastavljen (z dodajanjem sile na ploščo motorja), in ga prikaže v grafičnem uporabniškem vmesniku, ki so ga razvili v podjetju Renesas.

    V naslednjem primeru uporabe je bil zaradi modela umetne inteligence, ki je večinoma temeljil na konvolucijah, dvig bistveno večji. Povečanje DSP dokazuje, da je mogoče CM85 s Helium MVE uporabiti za zamenjavo rešitev, ki temeljijo na MCU z jedrom DSP nizke do srednje ravni.

    Zaključek
    Če povzamemo, lahko CM85 s Helium prispeva k znatnemu povečanju zmogljivosti delovnih obremenitev AI/ML in DSP z izboljšanjem napovedovanja vej, izboljšanimi dostopi do pomnilnika, vzporednostjo, dodajanjem novih DSP ukazov, podporo novim podatkovnim tipom in izvirno podporo za kompleksne izračune. CM85 jedro je prav tako zelo zmogljivo pri skalarnih zmogljivostih in prekaša ostala Cortex-M jedra, zato je idealna izbira za zahtevnejše procesne naloge. Kot so pokazale predstavitve na sejmu Embedded World’23, smo navdušeni, da lahko kot vodilni partner podjetja ARM utiramo pot jedru CM85 in s tem odpiramo vrata primerom uporabe, ki so bili z mikrokontrolerji prej nemogoči.

    O avtorju
    Eldar Sido, strokovnjak za trženje izdelkov, Renesas Electronics
    Eldar Sido dela v skupini za upravljanje trženja izdelkov družine MCU na osnovi ARM pri podjetju Renesas Electronics. Specializiran je za tehnični vidik implementacije umetne inteligence v končnih točkah na mikrokontrolerjih. Na Univerzi v Tokiu je magistriral iz nanotehnologije.

    Viri:

    • [1] Yui, J. (2020), Blending DSP and ML features into a low-power general-purpose processor – how far can we go? [white paper].*blending-dsp-and-ml-features-into-a-low-power-general-purpose-processor.pdf (windows.net)
    • [2]Grocutt, T.(2019),Making Helium: Why not just add Neon? (1/4)[blog], Making Helium: Why Not Just Add Neon? – Research Articles – Research Collaboration and Enablement – Arm Community
    • [3] Yui, J. (2020),Introduction to Armv8.1-M architecture [white paper], introduction-to-armv8-1-m-architecture.pdf (windows.net)
    • [4] Grocutt, T.(2019),Making Helium: Sudoku, registers and rabbits (2/4) [blog], Making Helium: Sudoku, registers and rabbits – Research Articles – Research Collaboration and Enablement – Arm Community
    • [5] Botman, F.(2019), Making Helium: Going around in circles (3/4)[blog],Making Helium: Going around in circles – Research Articles – Research Collaboration and Enablement – Arm Community
    • [6] Grocutt, T.(2019),Making Helium: Bringing Amdahl’s law to heel (4/4) [blog],Making Helium: Bringing Amdahl’s law to heel – Research Articles – Research Collaboration and Enablement – Arm Community
    • [7] Menasveta, T.(2022), Introducing Cortex-M85: pushing the boundaries of performance and security for microcontrollers [blog],Cortex-M85: Highest Performing Cortex-M Processor ever – Internet of Things (IoT) blog – Arm Community blogs – Arm Community

    https://www.renesas.com