Microcontroladores Cortex-M0 Plus

Ola e benvido a esta presentación do núcleo ARM® Cortex®-M0+ que está integrado en todos os produtos da familia de microcontroladores STM32U0.
Procesador Cortex-M0+ rematadoview
- Arquitectura ARMv6-M
- Arquitectura Von Neuman, 2-stage gasoduto
- Arquitectura de un único tema
- Multiplicar en 1 ciclo
- Unidade de protección de memoria (MPU)
- Porto de E/S de ciclo único

| Deseño de potencia ultra baixa Código moi compacto | |
| Baixo consumo de enerxía e alta eficiencia enerxética | Excepto as instrucións de control e ramificación e ligazón, todas as instrucións teñen unha lonxitude de 16 bits |
O núcleo Cortex®-M0+ forma parte do grupo ARM Cortex-M de núcleos RISC de 32 bits. Implementa a arquitectura ARMv6-M e presenta un 2-stage gasoduto.
O Cortex®-M0+ ten un porto mestre único AHB-Lite, pero admite a obtención de instrucións e o acceso a datos simultáneos cando o acceso a datos se dirixe ao intervalo de enderezos do porto de E/S rápida.
Compatibilidade con procesadores Cortex-M
Arquitectura perfecta en todas as aplicacións

Os microcontroladores STM32U0 integran un núcleo ARM® Cortex®-M0+ para beneficiarse da incomparable relación de rendemento por miliwatt.
Todas as CPU Cortex®-M teñen unha arquitectura de 32 bits.
A Cortex®-M3 foi a primeira CPU Cortex®-M lanzada por ARM.
Entón ARM decidiu distinguir dúas liñas de produtos: alto rendemento e baixa potencia, mantendo a compatibilidade entre elas.
O Cortex®-M0+ pertence á liña de produtos de baixa potencia. Está deseñado para dispositivos que funcionan con batería, moi sensibles ao consumo de enerxía.
Arquitectura básica terminadaview

O núcleo Cortex®-M0+ ofrece máis rendemento que o núcleo Cortex®-M0 grazas ao 2-stage canalización de instrucións.
Comecemos a nosa descrición da CPU polo núcleo do procesador encargado de buscar e executar as instrucións.
ARM Cortex-M0+ → 2 stage gasoduto

A maioría das instrucións V6-M teñen 16 bits de lonxitude. Só hai seis instrucións de 32 bits e a maioría delas son instrucións de control, raramente usadas. Non obstante, a instrución de ramificación e ligazón, que se usa para chamar a un subprograma, tamén ten 32 bits de lonxitude, co fin de soportar un gran desfase entre esta instrución e a etiqueta que apunta á seguinte instrución que se vai executar.
Idealmente, un acceso de 32 bits carga dúas instrucións de 16 bits, o que resulta en menos recuperacións por instrución.
Durante o reloxo número 2, non se produce ningunha obtención de instrucións. O porto AHB Lite está dispoñible para executar un acceso a datos cando a instrución N é unha instrución de carga/almacenamento.
Rendemento da rama
Núcleo Cortex®-M0+
• Máximo dúas instrucións de sombra de ramas de 16 bits

Nunha rama determinada, desperdiciáronse menos instrucións precargadas (grazas ao 2-stage gasoduto).
No reloxo número 1, o procesador obtén Inst0 e unha instrución de rama incondicional.
No reloxo número 2, executa Instr0.
No reloxo número 3, executa a instrución de rama mentres obtén as dúas seguintes instrucións secuenciais Inst1 e Inst2 chamadas instrucións de sombra de rama.
No reloxo número 4, o procesador descarta Inst1 e Inst2 e obtén InstrN e InstN+1.
Cortex-M0, M3 e M4 implementan un 3-stage pipeline: Fetch, Decode and Execute. O número de instrucións de sombra de rama é maior: ata catro instrucións de 16 bits.
Arquitectura básica terminadaview

O Cortex®-M0+ non ten nin caché incorporada nin RAM interna. En consecuencia, calquera transacción de obtención de instrucións envíase á interface AHB-Lite e calquera acceso aos datos diríxese á interface AHB-Lite ou ao porto de E/S de ciclo único.
Teña en conta que o STM32U0 implementa unha caché de instrucións de nivel SoC, externa á CPU, situada no controlador flash incorporado.
O porto mestre AHB-Lite está conectado a unha matriz de bus, o que permite que a CPU acceda a memorias e periféricos. Dado que as transaccións están canalizadas en AHB-Lite, o mellor rendemento é de 32 bits de datos ou instrucións por reloxo, cunha latencia mínima de 2 reloxos.
O Cortex®-M0+ tamén presenta un porto de E/S de ciclo único, que permite que a CPU acceda aos datos cunha latencia de 1 reloxo. Unha lóxica de decodificación externa determina o intervalo de enderezos no que os accesos aos datos son dirixidos a este porto.
No STM32U0, o porto de E/S de ciclo único non se usa para acceder aos rexistros de portos GPIO. Os portos GPIO están mapeados para AHB, o que permite que DMA acceda.
Unidade de protección da memoria
- A configuración dos atributos MPU define os permisos de acceso
- 8 rexións de memoria independentes
- Pode executar código?
- Pode escribir datos?
- Acceso ao modo sen privilexios?
O MPU do microcontrolador STM32U0 ofrece soporte para oito rexións de memoria independentes, con atributos configurables independentes para:
- permiso de acceso: permitido ou non ler/escritura en modo privilexiado/sen privilexiados,
- permiso de execución: rexión ou rexión executable prohibida para obter instrucións.
Referencias
- Para obter máis detalles, consulte a seguinte documentación:
- Manual de programación do procesador Cortex®-M32+ serie STM0G0 (PM0223)
- Xestión da unidade de protección de memoria (MPU) en MCU STM32 (AN4838)
- ARM websitio na seguinte ligazón:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
Para obter máis detalles, consulte estas notas de aplicación e o manual de programación Cortex®-M0+ dispoñible en www.st.com websitio.
Visita tamén o ARM websitio onde atoparás máis información sobre o núcleo Cortex®-M0+.
Grazas
© STMicroelectronics – Todos os dereitos reservados.
O logotipo de ST é unha marca comercial ou unha marca rexistrada de STMicroelectronics International NV ou das súas filiales na UE e/ou noutros países.
Para obter información adicional sobre as marcas rexistradas ST, consulte www.st.com/trademarks
Os demais nomes de produtos ou servizos son propiedade dos seus respectivos propietarios.
Documentos/Recursos
![]() |
Microcontroladores ST Cortex-M0 Plus [pdfManual de instrucións Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus Microcontroladores, Cortex-M0 Plus, Microcontroladores |

