Logo Cortex

Microcontrollori Cortex-M0 Plus

Cortex-M0-Plus-Microcontrollori-prodotto

Buongiorno e benvenuti a questa presentazione del core ARM® Cortex®-M0+, integrato in tutti i prodotti della famiglia di microcontrollori STM32U0.

Processore Cortex-M0+ suview

  • Architettura ARMv6-M
  • Architettura di von Neuman, 2-stage gasdotto
  • Architettura monotematica
  • Moltiplicare in 1 ciclo
  • Unità di protezione della memoria (MPU)
  • Porta I/O a ciclo singolo

Cortex-M0-Plus-Microcontrollori-1

Design a bassissimo consumo energetico       Codice molto compatto
Basso consumo energetico ed elevata efficienza energetica Ad eccezione delle istruzioni di controllo e di diramazione e collegamento, tutte le istruzioni sono lunghe 16 bit

Il core Cortex®-M0+ fa parte del gruppo ARM Cortex-M di core RISC a 32 bit. Implementa l'architettura ARMv6-M e presenta un 2-stage conduttura.
Cortex®-M0+ ha una porta master AHB-Lite unica, ma supporta il recupero simultaneo delle istruzioni e l'accesso ai dati quando l'accesso ai dati è indirizzato all'intervallo di indirizzi della porta Fast I/O.

Compatibilità dei processori Cortex-M

Architettura senza soluzione di continuità in tutte le applicazioni

Cortex-M0-Plus-Microcontrollori-2

I microcontrollori STM32U0 integrano un core ARM® Cortex®-M0+ per beneficiare dell'incomparabile rapporto prestazioni per milliwatt.
Tutte le CPU Cortex®-M hanno un'architettura a 32 bit.
Cortex®-M3 è stata la prima CPU Cortex®-M rilasciata da ARM.
ARM ha quindi deciso di distinguere due linee di prodotti: ad alte prestazioni e a basso consumo, mantenendo comunque la compatibilità tra loro.
Cortex®-M0+ appartiene alla linea di prodotti a basso consumo. È progettato per dispositivi alimentati a batteria, molto sensibili al consumo di energia.

Architettura di base suview

Cortex-M0-Plus-Microcontrollori-3

Il core Cortex®-M0+ offre prestazioni superiori rispetto al core Cortex®-M0 grazie alla tecnologia 2-stage pipeline di istruzioni.
Iniziamo la nostra descrizione della CPU partendo dal core del processore responsabile del recupero e dell'esecuzione delle istruzioni.

ARM Cortex-M0+ → 2-stage gasdotto

Cortex-M0-Plus-Microcontrollori-4

La maggior parte delle istruzioni V6-M sono lunghe 16 bit. Ci sono solo sei istruzioni a 32 bit e la maggior parte di esse sono istruzioni di controllo, raramente utilizzate. Tuttavia, l'istruzione di branch and link, utilizzata per chiamare un sottoprogramma, è anch'essa lunga 32 bit, per supportare un ampio offset tra questa istruzione e l'etichetta che punta alla successiva istruzione da eseguire.
Idealmente, un accesso a 32 bit carica due istruzioni a 16 bit, il che si traduce in un minor numero di recuperi per istruzione.
Durante il clock numero 2, non si verifica alcun fetch di istruzione. La porta AHB Lite è disponibile per eseguire un accesso ai dati quando l'istruzione N è un'istruzione di caricamento/archiviazione.

Prestazioni della filiale

Nucleo Cortex®-M0+
• Massimo due istruzioni shadow di branch a 16 bit

Cortex-M0-Plus-Microcontrollori-5

Su un dato ramo, vengono sprecate meno istruzioni pre-fetchate (grazie al 2-stage conduttura).
Nel clock numero 1, il processore recupera Inst0 e un'istruzione di salto incondizionato.
Nel clock numero 2, esegue Instr0.
Nel clock numero 3, esegue l'istruzione di diramazione mentre recupera le due istruzioni sequenziali successive Inst1 e Inst2, chiamate istruzioni di diramazione ombra.

Nel clock numero 4, il processore scarta Inst1 e Inst2 e recupera InstrN e InstN+1.
Cortex-M0, M3 e M4 implementano un 3-stage pipeline: Fetch, Decode ed Execute. Il numero di istruzioni branch shadow è maggiore: fino a quattro istruzioni a 16 bit.

Architettura di base suview 

Cortex-M0-Plus-Microcontrollori-6

Cortex®-M0+ non ha né una cache incorporata né una RAM interna. Di conseguenza, qualsiasi transazione di recupero delle istruzioni viene indirizzata all'interfaccia AHB-Lite e qualsiasi accesso ai dati viene indirizzato all'interfaccia AHB-Lite o alla porta I/O a ciclo singolo.
Si noti che l'STM32U0 implementa una cache di istruzioni a livello SoC, esterna alla CPU, situata nel controller flash incorporato.

La porta master AHB-Lite è collegata a una matrice di bus, consentendo alla CPU di accedere a memorie e periferiche. Poiché le transazioni sono pipelined su AHB-Lite, il throughput migliore è di 32 bit di dati o istruzioni per clock, con una latenza minima di 2 clock.
Cortex®-M0+ è inoltre dotato di una porta I/O a ciclo singolo, che consente alla CPU di accedere ai dati con una latenza di 1 clock. Una logica di decodifica esterna determina l'intervallo di indirizzi in cui gli accessi ai dati vengono indirizzati a questa porta.
In STM32U0, la porta I/O a ciclo singolo non viene utilizzata per accedere ai registri delle porte GPIO. Le porte GPIO sono invece mappate su AHB, consentendone l'accesso tramite DMA.

Unità di protezione della memoria

  • Le impostazioni degli attributi MPU definiscono le autorizzazioni di accesso
  • 8 regioni di memoria indipendenti
    • Può eseguire codice?
    • Sai scrivere dati?
    • Accesso in modalità non privilegiata?

La MPU nel microcontrollore STM32U0 offre supporto per otto regioni di memoria indipendenti, con attributi configurabili indipendenti per:

  • autorizzazione di accesso: consentita o meno la lettura/scrittura in modalità privilegiata/non privilegiata,
  • permesso di esecuzione: regione eseguibile o regione proibita per il recupero delle istruzioni.

Riferimenti

Per maggiori dettagli, fare riferimento a queste note applicative e al manuale di programmazione Cortex®-M0+ disponibile su www.st.com websito.
Visita anche l'ARM websito dove troverete maggiori informazioni sul core Cortex®-M0+.

Grazie
© STMicroelectronics – Tutti i diritti riservati.
Il logo ST è un marchio o un marchio registrato di STMicroelectronics International NV o delle sue affiliate nell'UE e/o in altri paesi.
Per ulteriori informazioni sui marchi ST, fare riferimento a www.st.com/trademarks
Tutti gli altri nomi di prodotti o servizi appartengono ai rispettivi proprietari.

Documenti / Risorse

Microcontrollori ST Cortex-M0 Plus [pdf] Manuale di istruzioni
Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus Microcontrollori, Cortex-M0 Plus, Microcontrollori

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *