Microcontrolere Cortex-M0 Plus

Bună ziua și bun venit la această prezentare a nucleului ARM® Cortex®-M0+ care este încorporat în toate produsele din familia de microcontrolere STM32U0.
Procesor Cortex-M0+ pesteview
- Arhitectura ARMv6-M
- Arhitectura Von Neuman, 2-stage conductă
- Arhitectură cu o singură problemă
- Înmulțiți în 1 ciclu
- Unitate de protecție a memoriei (MPU)
- Port I/O cu un singur ciclu

| Design cu putere ultra scăzută Cod foarte compact | |
| Consum redus de energie și eficiență energetică ridicată | Cu excepția instrucțiunilor de control și a ramurilor și a legăturii, toate instrucțiunile au o lungime de 16 biți |
Miezul Cortex®-M0+ face parte din grupul ARM Cortex-M de nuclee RISC pe 32 de biți. Implementează arhitectura ARMv6-M și dispune de 2-stage conductă.
Cortex®-M0+ are un port master unic AHB-Lite, dar acceptă preluarea concurenței de instrucțiuni și accesul la date atunci când accesul la date vizează intervalul de adrese Fast I/O Port.
Compatibilitate procesoare Cortex-M
Arhitectură perfectă pentru toate aplicațiile

Microcontrolerele STM32U0 integrează un nucleu ARM® Cortex®-M0+ pentru a beneficia de raportul de performanță incomparabil pe miliwatt.
Toate procesoarele Cortex®-M au o arhitectură pe 32 de biți.
Cortex®-M3 a fost primul procesor Cortex®-M lansat de ARM.
Atunci ARM a decis să distingă două linii de produse: performanță ridicată și putere redusă, păstrând în același timp compatibilitatea între ele.
Cortex®-M0+ aparține liniei de produse cu putere redusă. Este conceput pentru dispozitive alimentate cu baterie, foarte sensibile la consumul de energie.
Arhitectura de bază s-a terminatview

Miezul Cortex®-M0+ oferă mai multă performanță decât miezul Cortex®-M0 datorită 2-stage conductă de instrucțiuni.
Să începem descrierea procesorului cu nucleul procesorului responsabil de preluarea și executarea instrucțiunilor.
ARM Cortex-M0+ → 2-stage conductă

Majoritatea instrucțiunilor V6-M au o lungime de 16 biți. Există doar șase instrucțiuni pe 32 de biți și majoritatea sunt instrucțiuni de control, rar folosite. Cu toate acestea, instrucțiunea de ramificare și legătură, care este folosită pentru a apela un sub-program are, de asemenea, 32 de biți, pentru a suporta un offset mare între această instrucțiune și eticheta care indică următoarea instrucțiune care urmează să fie executată.
În mod ideal, un acces pe 32 de biți încarcă două instrucțiuni pe 16 biți, ceea ce are ca rezultat mai puține preluari pe instrucțiune.
În timpul ceasului numărul 2, nu are loc nicio preluare de instrucțiuni. Portul AHB Lite este disponibil pentru a executa un acces la date atunci când instrucțiunea N este o instrucțiune de încărcare/stocare.
Performanța ramurilor
Miez Cortex®-M0+
• Maximum două instrucțiuni de umbră de ramificație pe 16 biți

Pe o anumită ramură, se irosesc mai puține instrucțiuni prealabile (mulțumită celor 2-stage conductă).
În ceasul numărul 1, procesorul preia Inst0 și o instrucțiune de ramificare necondiționată.
În ceasul numărul 2, execută Instr0.
În ceasul numărul 3, execută instrucțiunea de ramificare în timp ce preia următoarele două instrucțiuni secvențiale Inst1 și Inst2 numite instrucțiuni de ramificare.
În ceasul numărul 4, procesorul renunță la Inst1 și Inst2 și preia InstrN și InstN+1.
Cortex-M0, M3 și M4 implementează un 3-stage pipeline: Preluare, Decodare și Executare. Numărul de instrucțiuni de umbră a ramurilor este mai mare: până la patru instrucțiuni pe 16 biți.
Arhitectura de bază s-a terminatview

Cortex®-M0+ nu are nici cache încorporat, nici RAM internă. În consecință, orice tranzacție de preluare a instrucțiunilor este direcționată către interfața AHB-Lite și orice acces la date este direcționat fie către interfața AHB-Lite, fie către portul I/O cu ciclu unic.
Rețineți că STM32U0 implementează un cache de instrucțiuni la nivel SoC, extern CPU, situat în controlerul flash încorporat.
Portul master AHB-Lite este conectat la o matrice de magistrală, permițând procesorului să acceseze memorii și periferice. Deoarece tranzacțiile sunt canalizate pe AHB-Lite, cel mai bun debit este de 32 de biți de date sau instrucțiuni pe ceas, cu o latență de minim 2 ceas.
Cortex®-M0+ are, de asemenea, un port I/O cu ciclu unic, permițând procesorului să acceseze date cu o latență de 1 ceas. O logică de decodare externă determină domeniul de adrese în care accesele la date sunt direcționate către acest port.
În STM32U0, portul I/O cu ciclu unic nu este utilizat pentru a accesa registrele portului GPIO. Porturile GPIO sunt mapate la AHB, permițând accesul prin DMA.
Unitate de protecție a memoriei
- Setările atributelor MPU definesc permisiunile de acces
- 8 regiuni de memorie independente
- Se poate executa cod?
- Pot scrie date?
- Acces în mod neprivilegiat?
MPU din microcontrolerul STM32U0 oferă suport pentru opt regiuni de memorie independente, cu atribute configurabile independente pentru:
- permisiunea de acces: permis sau nu citire/scriere în modul privilegiat/neprivilegiat,
- permisiunea de execuție: regiune sau regiune executabilă interzisă pentru preluarea instrucțiunilor.
Referințe
- Pentru mai multe detalii, vă rugăm să consultați următoarea documentație:
- Manual de programare a procesorului din seria STM32G0 Cortex®-M0+ (PM0223)
- Gestionarea unității de protecție a memoriei (MPU) în MCU-uri STM32 (AN4838)
- BRAŢ website la urmatorul link:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
Pentru mai multe detalii, vă rugăm să consultați aceste note de aplicație și manualul de programare Cortex®-M0+ disponibil pe www.st.com website-ul.
Vizitați și ARM website unde veți găsi mai multe informații despre miezul Cortex®-M0+.
Multumesc
© STMicroelectronics – Toate drepturile rezervate.
Sigla ST este o marcă comercială sau o marcă comercială înregistrată a STMicroelectronics International NV sau a afiliaților săi din UE și/sau din alte țări.
Pentru informații suplimentare despre mărcile comerciale ST, vă rugăm să consultați www.st.com/trademarks
Toate celelalte nume de produse sau servicii sunt proprietatea proprietarilor respectivi.
Documente/Resurse
![]() |
Microcontrolere ST Cortex-M0 Plus [pdfManual de instrucțiuni Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus Microcontrolere, Cortex-M0 Plus, Microcontrolere |

