Microcontroladors Cortex-M0 Plus

Hola, i benvinguts a aquesta presentació del nucli ARM® Cortex®-M0+ que està integrat en tots els productes de la família de microcontroladors STM32U0.
Processador Cortex-M0+ acabatview
- Arquitectura ARMv6-M
- Arquitectura Von Neuman, 2-stage canonada
- Arquitectura d'un sol tema
- Multiplicar en 1 cicle
- Unitat de protecció de memòria (MPU)
- Port d'E/S d'un sol cicle

| Disseny d'ultra baixa potència Codi molt compacte | |
| Baix consum d'energia i alta eficiència energètica | Excepte les instruccions de control i la branca i l'enllaç, totes les instruccions tenen una longitud de 16 bits |
El nucli Cortex®-M0+ forma part del grup ARM Cortex-M de nuclis RISC de 32 bits. Implementa l'arquitectura ARMv6-M i inclou un 2-stage canonada.
El Cortex®-M0+ té un port mestre únic AHB-Lite, però admet la recuperació d'instruccions i l'accés a les dades simultàniament quan l'accés a les dades s'orienta al rang d'adreces del port d'E/S ràpida.
Compatibilitat amb processadors Cortex-M
Arquitectura perfecta en totes les aplicacions

Els microcontroladors STM32U0 integren un nucli ARM® Cortex®-M0+ per tal de beneficiar-se de la relació de rendiment per mil·liwatt incomparable.
Totes les CPU Cortex®-M tenen una arquitectura de 32 bits.
El Cortex®-M3 va ser la primera CPU Cortex®-M llançada per ARM.
Aleshores ARM va decidir distingir dues línies de productes: alt rendiment i baixa potència, mantenint la compatibilitat entre elles.
El Cortex®-M0+ pertany a la línia de productes de baixa potència. Està dissenyat per a dispositius que funcionen amb bateria, molt sensibles al consum d'energia.
S'ha acabat l'arquitectura bàsicaview

El nucli Cortex®-M0+ ofereix més rendiment que el nucli Cortex®-M0 gràcies als 2-stage canal d'instruccions.
Comencem la nostra descripció de la CPU pel nucli del processador encarregat de buscar i executar les instruccions.
ARM Cortex-M0+ → 2 stage canonada

La majoria de les instruccions V6-M tenen una longitud de 16 bits. Només hi ha sis instruccions de 32 bits i la majoria són instruccions de control, poc utilitzades. Tanmateix, la instrucció de ramificació i enllaç, que s'utilitza per cridar un subprograma també té 32 bits de llarg, per tal de suportar un gran desplaçament entre aquesta instrucció i l'etiqueta que apunta a la següent instrucció que s'ha d'executar.
L'ideal és que un accés de 32 bits carregui dues instruccions de 16 bits, el que resulta en menys recuperacions per instrucció.
Durant el rellotge número 2, no es produeix cap obtenció d'instruccions. El port AHB Lite està disponible per executar un accés a dades quan la instrucció N és una instrucció de càrrega/emmagatzematge.
Rendiment de la branca
Nucli Cortex®-M0+
• Màxim dues instruccions d'ombra de branca de 16 bits

En una branca determinada, es malgasten menys instruccions obtingudes prèviament (gràcies als 2-stage gasoducte).
Al rellotge número 1, el processador obté Inst0 i una instrucció de branca incondicional.
Al rellotge número 2, executa Instr0.
En el rellotge número 3, executa la instrucció de branca mentre obté les dues instruccions seqüencials següents Inst1 i Inst2 anomenades instruccions d'ombra de branca.
Al rellotge número 4, el processador descarta Inst1 i Inst2 i recupera InstrN i InstN+1.
Cortex-M0, M3 i M4 implementen un 3-stage pipeline: Fetch, Decode and Execute. El nombre d'instruccions d'ombra de branques és més gran: fins a quatre instruccions de 16 bits.
S'ha acabat l'arquitectura bàsicaview

El Cortex®-M0+ no té ni memòria cau incrustada ni memòria RAM interna. En conseqüència, qualsevol transacció d'obtenció d'instruccions es dirigeix a la interfície AHB-Lite i qualsevol accés a les dades es dirigeix a la interfície AHB-Lite o al port d'E/S de cicle únic.
Tingueu en compte que l'STM32U0 implementa una memòria cau d'instruccions a nivell de SoC, externa a la CPU, situada al controlador flash integrat.
El port mestre AHB-Lite està connectat a una matriu de bus, la qual cosa permet a la CPU accedir a memòries i perifèrics. Com que les transaccions es canalitzen a AHB-Lite, el millor rendiment és de 32 bits de dades o instruccions per rellotge, amb una latència mínima de 2 rellotges.
El Cortex®-M0+ també inclou un port d'E/S d'un sol cicle, que permet a la CPU accedir a les dades amb una latència d'1 rellotge. Una lògica de descodificació externa determina l'interval d'adreces en què els accessos a les dades es dirigeixen a aquest port.
A l'STM32U0, el port d'E/S de cicle únic no s'utilitza per accedir als registres del port GPIO. Els ports GPIO s'assignen a AHB, la qual cosa permet accedir-hi mitjançant DMA.
Unitat de protecció de memòria
- La configuració de l'atribut MPU defineix els permisos d'accés
- 8 regions de memòria independents
- Es pot executar codi?
- Pot escriure dades?
- Accés en mode sense privilegis?
La MPU del microcontrolador STM32U0 ofereix suport per a vuit regions de memòria independents, amb atributs configurables independents per a:
- permís d'accés: permès o no llegir/escriptura en mode privilegiat/no privilegiat,
- permís d'execució: regió o regió executable prohibida per obtenir instruccions.
Referències
- Per obtenir més detalls, consulteu la documentació següent:
- Manual de programació del processador Cortex®-M32+ de la sèrie STM0G0 (PM0223)
- Gestió de la unitat de protecció de memòria (MPU) a les MCU STM32 (AN4838)
- ARM weblloc al següent enllaç:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
Per obtenir més detalls, consulteu aquestes notes d'aplicació i el manual de programació Cortex®-M0+ disponible a www.st.com weblloc.
Visiteu també l'ARM weblloc on trobareu més informació sobre el nucli Cortex®-M0+.
Gràcies
© STMicroelectronics – Tots els drets reservats.
El logotip de ST és una marca comercial o una marca comercial registrada de STMicroelectronics International NV o les seves filials a la UE i/o altres països.
Per obtenir informació addicional sobre les marques comercials ST, consulteu www.st.com/trademarks
La resta de noms de productes o serveis són propietat dels seus respectius propietaris.
Documents/Recursos
![]() |
Microcontroladors ST Cortex-M0 Plus [pdfManual d'instruccions Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus Microcontroladors, Cortex-M0 Plus, Microcontroladors |

