Logotip de Cortex

Microcontroladors Cortex-M0 Plus

Producte de 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

Cortex-M0-Plus-Microcontroladors-1

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

Cortex-M0-Plus-Microcontroladors-2

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

Cortex-M0-Plus-Microcontroladors-3

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

Cortex-M0-Plus-Microcontroladors-4

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

Cortex-M0-Plus-Microcontroladors-5

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 

Cortex-M0-Plus-Microcontroladors-6

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 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

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *