Cortex-logo

Cortex-M0 Plus mikrocontrollere

Cortex-M0-Plus-Microcontrollers-produkt

Hej og velkommen til denne præsentation af ARM® Cortex®-M0+ kernen, som er indlejret i alle produkter i STM32U0 mikrocontrollerfamilien.

Cortex-M0+ processor overståetview

  • ARMv6-M arkitektur
  • Von Neuman arkitektur, 2-stage rørledning
  • Single-issue arkitektur
  • Multiplicer i 1-cyklus
  • Memory Protection Unit (MPU)
  • Enkeltcyklus I/O-port

Cortex-M0-Plus-Mikrocontrollere-1

Ultra lavt strømdesign       Meget kompakt kode
Lavt strømforbrug og høj energieffektivitet Med undtagelse af kontrolinstruktioner og gren og link er alle instruktioner 16 bit lange

Cortex®-M0+-kernen er en del af ARM Cortex-M-gruppen af ​​32-bit RISC-kerner. Den implementerer ARMv6-M-arkitekturen og har en 2-stage rørledning.
Cortex®-M0+ har en unik AHB-Lite-masterport, men understøtter samtidig instruktionshentning og dataadgang, når dataadgangen er rettet mod Fast I/O Port-adresseområdet.

Cortex-M processor kompatibilitet

Sømløs arkitektur på tværs af alle applikationer

Cortex-M0-Plus-Mikrocontrollere-2

STM32U0 mikrocontrollere integrerer en ARM® Cortex®-M0+ kerne for at drage fordel af den uforlignelige ydeevne pr. milliwatt-forhold.
Alle Cortex®-M CPU'er har en 32-bit arkitektur.
Cortex®-M3 var den første Cortex®-M CPU udgivet af ARM.
Derefter besluttede ARM at skelne mellem to produktlinjer: høj ydeevne og lav effekt, samtidig med at kompatibiliteten mellem dem bevares.
Cortex®-M0+ tilhører lavstrømsproduktlinjen. Den er designet til batteridrevne enheder, meget følsom over for strømforbrug.

Kernearkitektur overståetview

Cortex-M0-Plus-Mikrocontrollere-3

Cortex®-M0+-kernen leverer mere ydeevne end Cortex®-M0-kernen takket være 2-stage instruktionspipeline.
Lad os starte vores beskrivelse af CPU'en ved processorkernen, der er ansvarlig for at hente og udføre instruktioner.

ARM Cortex-M0+ → 2-stage rørledning

Cortex-M0-Plus-Mikrocontrollere-4

De fleste V6-M instruktioner er 16 bit lange. Der er kun seks 32-bit instruktioner, og de fleste af dem er kontrolinstruktioner, der sjældent bruges. Forgrenings- og linkinstruktionen, som bruges til at kalde et underprogram, er dog også 32 bit lang, for at understøtte en stor offset mellem denne instruktion og etiketten, der peger på den næste instruktion, der skal udføres.
Ideelt set indlæser en 32-bit adgang to 16-bit instruktioner, hvilket resulterer i færre hentning pr. instruktion.
Under ur nummer 2 sker der ingen instruktionshentning. AHB Lite-porten er tilgængelig til at udføre en dataadgang, når instruktion N er en load/store-instruktion.

Afdelingens præstation

Cortex®-M0+ kerne
• Maksimalt to 16-bit branch shadow instruktioner

Cortex-M0-Plus-Mikrocontrollere-5

På en given gren er færre forudhentede instruktioner spildt (takket være 2-stage pipeline).
I ur nummer 1 henter processoren Inst0 og en ubetinget greninstruktion.
I ur nummer 2 udfører den Instr0.
I ur nummer 3 udfører den greninstruktionen, mens den henter de to næste sekventielle instruktioner Inst1 og Inst2 kaldet branch shadow instruktioner.

I ur nummer 4 kasserer processoren Inst1 og Inst2 og henter InstrN og InstN+1.
Cortex-M0, M3 og M4 implementerer en 3-stage pipeline: Hent, afkode og udfør. Antallet af grenskyggeinstruktioner er større: op til fire 16-bit instruktioner.

Kernearkitektur overståetview 

Cortex-M0-Plus-Mikrocontrollere-6

Cortex®-M0+ har hverken en indlejret cache eller intern RAM. Som følge heraf styres enhver instruktionshentningstransaktion til AHB-Lite-grænsefladen, og enhver dataadgang styres enten til AHB-Lite-grænsefladen eller Single-cycle I/O-porten.
Bemærk, at STM32U0 implementerer en instruktionscache på SoC-niveau, ekstern i forhold til CPU'en, placeret i den indbyggede flash-controller.

AHB-Lite-masterporten er forbundet til en busmatrix, hvilket gør det muligt for CPU'en at få adgang til hukommelser og periferiudstyr. Da transaktioner er pipelinet på AHB-Lite, er den bedste gennemstrømning 32 bit data eller instruktioner pr. ur med en minimumsforsinkelse på 2 ur.
Cortex®-M0+ har også en Single-cycle I/O-port, der gør det muligt for CPU'en at få adgang til data med 1-clock latency. En ekstern afkodningslogik bestemmer adresseområdet, hvori dataadgange styres til denne port.
I STM32U0 bruges Single-cycle I/O-porten ikke til at få adgang til GPIO-portregistre. GPIO-porte er kortlagt til AHB i stedet, hvilket gør det muligt at få adgang til DMA.

Hukommelsesbeskyttelsesenhed

  • MPU-attributindstillinger definerer adgangstilladelser
  • 8 uafhængige hukommelsesområder
    • Kan eksekvere kode?
    • Kan du skrive data?
    • Uprivilegeret tilstandsadgang?

MPU'en i STM32U0 mikrocontroller tilbyder understøttelse af otte uafhængige hukommelsesregioner med uafhængige konfigurerbare attributter til:

  • adgangstilladelse: tilladt eller ikke læse/skrive i privilegeret/uprivilegeret tilstand,
  • udførelsestilladelse: eksekverbar region eller region forbudt for hentning af instruktioner.

Referencer

For flere detaljer henvises til disse applikationsbemærkninger og Cortex®-M0+ programmeringsmanualen tilgængelig på www.st.com webwebsted.
Besøg også ARM webwebsted, hvor du finder mere information om Cortex®-M0+ kernen.

Tak
© STMicroelectronics – Alle rettigheder forbeholdes.
ST-logoet er et varemærke eller et registreret varemærke tilhørende STMicroelectronics International NV eller dets datterselskaber i EU og/eller andre lande.
For yderligere information om ST-varemærker henvises til www.st.com/varemærker
Alle andre produkt- eller servicenavne tilhører deres respektive ejere.

Dokumenter/ressourcer

ST Cortex-M0 Plus mikrocontrollere [pdf] Brugsanvisning
Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus mikrocontrollere, Cortex-M0 Plus, mikrocontrollere

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *