Cortex-M0 Plus mikrokontroleri

Pozdrav, i dobrodošli na ovu prezentaciju ARM® Cortex®-M0+ jezgre koja je ugrađena u sve proizvode iz porodice mikrokontrolera STM32U0.
Cortex-M0+ procesor je završenview
- ARMv6-M arhitektura
- Von Neuman arhitektura, 2-stage cjevovod
- Arhitektura jednog problema
- Pomnožite u 1 ciklusu
- Jedinica za zaštitu memorije (MPU)
- Jednociklični I/O port

| Dizajn ultra male snage Veoma kompaktan kod | |
| Niska potrošnja energije i visoka energetska efikasnost | Osim kontrolnih instrukcija i grananja i veze, sve instrukcije su dugačke 16 bita |
Cortex®-M0+ jezgro je deo ARM Cortex-M grupe 32-bitnih RISC jezgara. Implementira ARMv6-M arhitekturu i ima 2-stage cjevovod.
Cortex®-M0+ ima jedinstveni AHB-Lite glavni port, ali podržava istovremeno dohvaćanje instrukcija i pristup podacima kada pristup podacima cilja na opseg adresa Fast I/O Port.
Kompatibilnost Cortex-M procesora
Besprekorna arhitektura u svim aplikacijama

STM32U0 mikrokontroleri integrišu ARM® Cortex®-M0+ jezgro kako bi imali koristi od neuporedivih performansi po milivatu.
Svi Cortex®-M CPU-i imaju 32-bitnu arhitekturu.
Cortex®-M3 je bio prvi Cortex®-M CPU koji je objavio ARM.
Tada je ARM odlučio da razlikuje dvije linije proizvoda: visoke performanse i malu snagu, uz održavanje kompatibilnosti između njih.
Cortex®-M0+ pripada liniji proizvoda male potrošnje. Dizajniran je za uređaje na baterije, vrlo osjetljivi na potrošnju energije.
Osnovna arhitektura je završenaview

Cortex®-M0+ jezgro pruža više performansi od Cortex®-M0 jezgre zahvaljujući 2-stage instrukcija.
Započnimo naš opis CPU-a jezgrom procesora zaduženom za dohvaćanje i izvršavanje instrukcija.
ARM Cortex-M0+ → 2-stage cjevovod

Većina V6-M instrukcija ima 16 bita. Postoji samo šest 32-bitnih instrukcija i većina njih su kontrolne instrukcije, koje se rijetko koriste. Međutim, instrukcija grananja i veze, koja se koristi za pozivanje podprograma, također je duga 32 bita, kako bi se podržao veliki pomak između ove instrukcije i oznake koja ukazuje na sljedeću instrukciju koja će se izvršiti.
Idealno je da jedan 32-bitni pristup učitava dvije 16-bitne instrukcije, što rezultira manjim dohvatima po instrukciji.
Tokom sata broj 2, ne dolazi do preuzimanja instrukcija. AHB Lite port je dostupan za izvršavanje pristupa podacima kada je instrukcija N instrukcija za učitavanje/skladištenje.
Učinak podružnice
Cortex®-M0+ jezgro
• Maksimalno dvije 16-bitne upute za sjenu grananja

Na datoj grani gubi se manje unaprijed dohvaćenih instrukcija (zahvaljujući 2-stage cjevovod).
U taktu broj 1, procesor dohvaća Inst0 i bezuslovnu instrukciju grananja.
U satu broj 2, on izvršava Instr0.
U taktu broj 3, on izvršava instrukciju grananja dok dohvaća dvije sljedeće uzastopne instrukcije Inst1 i Inst2 koje se nazivaju instrukcije sjenke grananja.
U taktu broj 4, procesor odbacuje Inst1 i Inst2 i dohvaća InstrN i InstN+1.
Cortex-M0, M3 i M4 implementiraju 3-stage cjevovod: dohvati, dekodiraj i izvrši. Broj instrukcija sjene grananja je veći: do četiri 16-bitne instrukcije.
Osnovna arhitektura je završenaview

Cortex®-M0+ nema ni ugrađenu keš memoriju ni internu RAM memoriju. Prema tome, svaka transakcija dohvaćanja instrukcija se usmjerava na AHB-Lite sučelje i svaki pristup podacima se usmjerava ili na AHB-Lite sučelje ili na jednociklični I/O port.
Imajte na umu da STM32U0 implementira keš instrukcija na nivou SoC, van CPU-a, koji se nalazi u ugrađenom flash kontroleru.
Glavni port AHB-Lite je povezan na matricu magistrale, omogućavajući CPU-u pristup memoriji i periferiji. Budući da se transakcije vode na AHB-Lite, najbolja propusnost je 32 bita podataka ili instrukcija po taktu, uz minimalno kašnjenje od 2 sata.
Cortex®-M0+ takođe ima jednociklični I/O port, omogućavajući CPU-u pristup podacima sa kašnjenjem od 1 sata. Eksterna logika dekodiranja određuje raspon adresa u kojem se pristupi podacima usmjeravaju na ovaj port.
U STM32U0, jednociklični I/O port se ne koristi za pristup registrima GPIO porta. Umjesto toga, GPIO portovi su mapirani na AHB, omogućavajući im pristup preko DMA.
Jedinica za zaštitu memorije
- Postavke MPU atributa definiraju dozvole pristupa
- 8 nezavisnih memorijskih regiona
- Može li izvršiti kod?
- Može li pisati podatke?
- Pristup neprivilegovanom načinu rada?
MPU u STM32U0 mikrokontroleru nudi podršku za osam nezavisnih memorijskih regiona, sa nezavisnim konfigurabilnim atributima za:
- dozvola pristupa: dozvoljeno ili ne čitanje/pisanje u privilegovanom/neprivilegovanom načinu rada,
- Dozvola za izvršenje: izvršna regija ili regija zabranjena za dohvaćanje instrukcija.
Reference
- Za više detalja pogledajte sljedeću dokumentaciju:
- Uputstvo za programiranje procesora STM32G0 serije Cortex®-M0+ (PM0223)
- Upravljanje memorijskom zaštitnom jedinicom (MPU) u STM32 MCU (AN4838)
- ARM websajt na sledećem linku:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
Za više detalja, pogledajte ove napomene o primeni i priručnik za programiranje Cortex®-M0+ koji je dostupan na www.st.com website.
Posjetite i ARM webstranica na kojoj ćete pronaći više informacija o Cortex®-M0+ jezgri.
Hvala ti
© STMicroelectronics – Sva prava zadržana.
ST logo je zaštitni znak ili registrovani zaštitni znak kompanije STMicroelectronics International NV ili njenih filijala u EU i/ili drugim zemljama.
Za dodatne informacije o ST zaštitnim znakovima, pogledajte www.st.com/trademarks
Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika.
Dokumenti / Resursi
![]() |
ST Cortex-M0 Plus mikrokontroleri [pdfUputstvo za upotrebu Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus mikrokontroleri, Cortex-M0 Plus, mikrokontroleri |

