Bruksanvisning for Cortex-M0 Plus mikrokontrollere

Cortex-M0 Plus Microcontrollers Instruction Manual

Cortex-logo

Cortex-M0 Plus mikrokontrollere

Cortex-M0-Plus-Microcontrollers-produkt

Hei, og velkommen til denne presentasjonen av ARM® Cortex®-M0+-kjernen som er innebygd i alle produktene i STM32U0-mikrokontrollerfamilien.

Cortex-M0+ prosessor overview

  • ARMv6-M arkitektur
  • Von Neuman arkitektur, 2-stage rørledningen
  • En-utgave arkitektur
  • Multipliser i 1-syklus
  • Minnebeskyttelsesenhet (MPU)
  • Enkeltsyklus I/O-port

Cortex-M0-Plus-Mikrokontrollere-1

Design med ultra lav effekt       Veldig kompakt kode
Lavt strømforbruk og høy energieffektivitet Bortsett fra kontrollinstruksjoner og gren og link, er alle instruksjoner 16 bit lange

Cortex®-M0+-kjernen er en del av ARM Cortex-M-gruppen av 32-biters RISC-kjerner. Den implementerer ARMv6-M-arkitekturen og har en 2-stage rørledningen.
Cortex®-M0+ har en unik AHB-Lite-masterport, men støtter samtidig henting av instruksjoner og datatilgang når datatilgangen er rettet mot Fast I/O Port-adresseområdet.

Cortex-M-prosessorkompatibilitet

Sømløs arkitektur på tvers av alle applikasjoner

Cortex-M0-Plus-Mikrokontrollere-2

STM32U0-mikrokontrollere integrerer en ARM® Cortex®-M0+-kjerne for å dra nytte av den uforlignelige ytelsen per milliwatt-forhold.
Alle Cortex®-M CPUer har en 32-bits arkitektur.
Cortex®-M3 var den første Cortex®-M CPU utgitt av ARM.
Så bestemte ARM seg for å skille mellom to produktlinjer: høy ytelse og lav effekt, samtidig som kompatibiliteten mellom dem opprettholdes.
Cortex®-M0+ tilhører lavstrømsproduktlinjen. Den er designet for batteridrevne enheter, veldig følsomme for strømforbruk.

Kjernearkitektur overview

Cortex-M0-Plus-Mikrokontrollere-3

Cortex®-M0+-kjernen gir mer ytelse enn Cortex®-M0-kjernen takket være 2-stage instruksjonsrørledning.
La oss starte vår beskrivelse av CPU-en ved prosessorkjernen som har ansvaret for å hente og utføre instruksjoner.

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

Cortex-M0-Plus-Mikrokontrollere-4

De fleste V6-M-instruksjoner er 16 bits lange. Det er bare seks 32-biters instruksjoner, og de fleste av dem er kontrollinstruksjoner, sjelden brukt. Imidlertid er gren- og koblingsinstruksjonen, som brukes til å kalle et underprogram, også 32 biter lang, for å støtte en stor forskyvning mellom denne instruksjonen og etiketten som peker til neste instruksjon som skal utføres.
Ideelt sett laster én 32-biters tilgang to 16-biters instruksjoner, noe som resulterer i færre henting per instruksjon.
Under klokke nummer 2 skjer ingen instruksjonshenting. AHB Lite-porten er tilgjengelig for å utføre en datatilgang når instruksjon N er en last-/lagringsinstruksjon.

Bransjeprestasjoner

Cortex®-M0+ kjerne
• Maksimalt to 16-biters grenskyggeinstruksjoner

Cortex-M0-Plus-Mikrokontrollere-5

På en gitt gren går færre forhåndshentede instruksjoner bort (takket være 2-stage rørledningen).
I klokke nummer 1 henter prosessoren Inst0 og en ubetinget greninstruksjon.
I klokke nummer 2 kjører den Instr0.
I klokke nummer 3, utfører den greninstruksjonen mens den henter de to neste sekvensielle instruksjonene Inst1 og Inst2 kalt grenskyggeinstruksjoner.

I klokke nummer 4 forkaster prosessoren Inst1 og Inst2 og henter InstrN og InstN+1.
Cortex-M0, M3 og M4 implementerer en 3-stage pipeline: Hent, dekode og utfør. Antall grenskyggeinstruksjoner er større: opptil fire 16-biters instruksjoner.

Kjernearkitektur overview 

Cortex-M0-Plus-Mikrokontrollere-6

Cortex®-M0+ har verken en innebygd cache eller intern RAM. Følgelig styres enhver instruksjonshentingstransaksjon til AHB-Lite-grensesnittet og all datatilgang styres enten til AHB-Lite-grensesnittet eller Single-cycle I/O-porten.
Merk at STM32U0 implementerer en instruksjonsbuffer på SoC-nivå, eksternt til CPU, plassert i den innebygde flash-kontrolleren.

AHB-Lite-masterporten er koblet til en bussmatrise, slik at CPU-en får tilgang til minner og periferiutstyr. Siden transaksjoner er pipelinet på AHB-Lite, er den beste gjennomstrømningen 32 biter med data eller instruksjoner per klokke, med minimum 2-klokkes latenstid.
Cortex®-M0+ har også en enkeltsyklus I/O-port, som gjør at CPU kan få tilgang til data med 1-klokkes latency. En ekstern dekodingslogikk bestemmer adresseområdet der datatilganger styres til denne porten.
I STM32U0 brukes ikke Single-cycle I/O-porten for å få tilgang til GPIO-portregistre. GPIO-porter er kartlagt til AHB i stedet, slik at de kan nås av DMA.

Minnebeskyttelsesenhet

  • MPU-attributtinnstillinger definerer tilgangstillatelser
  • 8 uavhengige minneregioner
    • Kan du kjøre kode?
    • Kan skrive data?
    • Uprivilegert modustilgang?

MPU i STM32U0 mikrokontroller tilbyr støtte for åtte uavhengige minneregioner, med uavhengige konfigurerbare attributter for:

  • tilgangstillatelse: tillatt eller ikke lese/skrive i privilegert/uprivilegert modus,
  • utførelsestillatelse: kjørbar region eller region forbudt for henting av instruksjoner.

Referanser

For flere detaljer, se disse applikasjonsnotatene og Cortex®-M0+ programmeringshåndboken tilgjengelig på www.st.com webnettstedet.
Besøk også ARM webnettsted hvor du finner mer informasjon om Cortex®-M0+-kjernen.

Takk
© STMicroelectronics – Alle rettigheter forbeholdt.
ST-logoen er et varemerke eller et registrert varemerke for STMicroelectronics International NV eller dets tilknyttede selskaper i EU og/eller andre land.
For ytterligere informasjon om ST-varemerker, se www.st.com/trademarks
Alle andre produkt- eller tjenestenavn tilhører deres respektive eiere.

Dokumenter / Ressurser

PDF thumbnailCortex-M0 Plus mikrokontrollere
Instruction Manual · Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus Microcontrollers, Cortex-M0 Plus, Microcontrollers

Referanser

Still et spørsmål

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Still et spørsmål

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.