STMicroelectronics-logo

Microcontrollers di a serie STMicroelectronics STM32H5

STMicroelectronics-STM32H5-Series-Microcontrollers-produttu

Introduzione

Questa nota di l'applicazione descrive a cache d'istruzzioni (ICACHE) è a cache di dati (DCACHE), i primi cache sviluppati da STMicroelectronics. L'ICACHE è DCACHE intrudutti nantu à u bus AHB di u processatore Arm® Cortex®-M33 sò incrustati in u microcontroller STM32 (MCU) elencati in a tabella sottu. Queste cache permettenu à l'utilizatori di migliurà a so prestazione di l'applicazione è di riduce u cunsumu quandu piglianu struzzioni è dati da e memorie interne è esterne, o per u trafficu di dati da i ricordi esterni. Stu documentu dà tipica examples per mette in risaltu e funziunalità ICACHE è DCACHE è facilità a so cunfigurazione.

Table 1. I prudutti applicabili

Tipu Serie di prudutti
Microcontrollers Serie STM32H5, serie STM32L5, serie STM32U5

infurmazione generale

Nota:

Questa nota di l'applicazione si applica à i microcontrollers di a serie STM32 chì sò dispositivi basati in core Arm® Cortex®. Arm hè una marca registrata di Arm Limited (o i so filiali) in i Stati Uniti è / o in altrò.

ICACHE è DCACHE sopraview

Questa sezione furnisce un sopraview di l'interfacce ICACHE è DCACHE integrate in i microcontrollers basati in core STM32 Arm® Cortex®. Questa sezione detalla u diagramma ICACHE è DCACHE è l'integrazione in l'architettura di u sistema.
L'architettura intelligente di a serie STM32L5
Questa architettura hè basatu annantu à una matrice di bus chì permette à parechji maestri (Cortex-M33, ICACHE, DMA1/2, è SDMMC1) per accede à parechje schiavi (cum'è memoria flash, SRAM1/2, OCTOSPI1, o FSMC). A figura sottu descrive l'architettura intelligente di a serie STM32L5.

Figura 1. L'architettura intelligente di a serie STM32L5

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

U rendiment di Cortex-M33 hè migliuratu cù l'interfaccia ICACHE di 8-Kbyte introduttu à u so bus C-AHB, quandu pigliate codice o dati da i ricordi interni (memoria flash, SRAM1, o SRAM2) attraversu u bus veloce, è ancu da u memorie esterne (OCTOSPI1 o FSMC) attraversu u bus lento.
L'architettura intelligente di a serie STM32U5
Questa architettura hè basata nantu à una matrice di bus chì permette à parechji maestri (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D è SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) per accede à parechji slave (cum'è memoria flash, SRAM, BKPSRAM, HSPI/). OCTOSPI, o FSMC). A figura sottu descrive l'architettura intelligente di a serie STM32U5.

Figura 2. L'architettura intelligente di a serie STM32U5

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

L'interfacce Cortex-M33 è GPU2D beneficianu tramindui di l'usu di CACHE.

  • ICACHE migliurà a prestazione di Cortex-M33 quandu piglia u codice o dati da e memorie internu attraversu u bus veloce (memoria flash, SRAM) è da memorie esterne attraversu u bus lento (OCTOSPI1/2 è HSPI1, o FSMC). DCACHE1 migliora le prestazioni quando recupera dati da memorie interne o esterne tramite s-bus (GFXMMU, OCTOSPI1/2 e HSPI1, o FSMC).
  •  DCACHE2 migliurà a prestazione di GPU2D quandu pigliate dati da memorie interne è esterne (GFXMMU, memoria flash, SRAM, OCTOSPI1/2 è HSPI1, o FSMC) attraversu u bus di portu M0.

L'architettura intelligente di a serie STM32H5
Architettura intelligente STM32H523/H533, STM32H563/H573 è STM32H562 Questa architettura hè basata nantu à una matrice di bus chì permette à parechji maestri (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet è SDMMCs) per accede à parechji schiavi (cum'è memoria flash, SRAM, BKPSRAM). , OCTOSPI et FMC). A figura sottu descrive l'architettura intelligente di a serie STM32H5.

Figura 3. L'architettura intelligente di a serie STM32H563 / H573 è STM32H562

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

U Cortex-M33 beneficia di l'usu di CACHE.

  • ICACHE migliurà a prestazione di Cortex-M33 quandu piglia u codice o dati da e memorie interne attraversu un bus veloce (memoria flash, SRAM) è da memorie esterne attraversu bus lento (OCTOSPI è FMC).
  • DCACHE migliurà a prestazione quandu pigliate dati da memorie esterne attraversu u bus lento (OCTOSPI è FMC).

STM32H503 architettura intelligente
Questa architettura hè basatu annantu à una matrice di bus chì permette à parechji maestri (Cortex-M33, ICACHE è GPDMAs) per accede à parechji schiavi (cum'è memoria flash, SRAM è BKPSRAM). A figura sottu descrive l'architettura intelligente di a serie STM32H5.

Figura 4. L'architettura intelligente di a serie STM32H503

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

U Cortex-M33 beneficia di l'usu di CACHE.

  • ICACHE migliurà a prestazione di Cortex-M33 quandu piglia u codice o dati da i ricordi interni per via di bus veloce (memoria flash, SRAM).

Schema di blocchi ICACHE
U schema di bloccu ICACHE hè datu in a figura sottu.

Figura 5. Schema di blocchi ICACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

A memoria ICACHE include:

  • lu TAG memoria cù:
    • l'indirizzu tags chì indicanu quali dati sò cuntenuti in a memoria di dati cache
    • i bit di validità
  •  a memoria di dati, chì cuntene i dati in cache

Schema di blocchi DCACHE
U schema di bloccu DCACHE hè datu in a figura sottu.

Figura 6. Schema di blocchi DCACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

A memoria DCACHE include:

  • lu TAG memoria cù:
    • l'indirizzu tags chì indicanu quali dati sò cuntenuti in a memoria di dati cache
    • i bit di validità
    • i pezzi di privilegiu
    • i pezzi sporchi
  • a memoria di dati, chì cuntene i dati in cache

Funzioni ICACHE è DCACHE

Doppiu maestri
L'ICACHE accede à a matrice di bus AHB sia sopra:

  • Un portu maestru AHB: master1 (bus veloce)
  • Dui porti maestri AHB: master1 (bus veloce) è master2 (bus lento)

Questa funzione permette à u trafficu per esse disaccoppiatu quandu accede à e diverse regioni di memoria (cum'è a memoria flash interna, SRAM interna è memorie esterne), in modu di riduce l'impurtanza di CPU in cache miss. A tavula seguente riassume e regioni di memoria è i so indirizzi.

Table 2. Regioni di memoria è i so indirizzi

Perifèricu Accessu à a memoria cacheable Accessu à a memoria micca cacheable
 

 

Tipu

 

 

Nome

 

 

Nome di u produttu è dimensione di a regione

 

 

Nome di l'autobus

 

Indirizzu iniziale di a regione non sicura

Indirizzu di partenza di a regione chjamata sicura è micca sicura  

 

Nome di l'autobus

 

Indirizzu iniziale di a regione non sicura

Indirizzu di partenza di a regione chjamata sicura è micca sicura
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Internu

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus veloce

 

 

 

 

 

 

 

0x0800 0000

N/A  

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

STM32L5

serie/ STM32U535/ 545/ STM32H523/ 533

 

 

512 KB

 

 

 

 

 

 

0x0C00 0000

STM32U575/ 585

STM32H563/ 573/562

 

 

2 MB

STM32U59x/

5Ax/5Fx/5Gx

4 MB
 

 

 

 

 

 

SRAM1

STM32H503 16 KB  

 

 

 

 

 

0x0A00 0000

N/A  

 

 

 

 

 

 

 

S-bus

 

 

 

 

 

 

0x2000 0000

 

 

 

 

 

 

0x3000 0000

STM32L5

series/ STM32U535/ 545/575/585

 

192 KB

 

 

 

 

 

0x0E00 0000

STM32H523/ 533 128 KB
STM32H563/ 573/562 256 KB
STM32U59x/

5Ax/5Fx/5Gx

768 KB
 

 

 

 

SRAM2

STM32H503

serie

16 KB 0x0A00 4000 N/A 0x2000 4000 N/A
STM32L5

series/ STM32U535/ 545/575/585

 

64 KB

 

0x0A03 0000

 

0x0E03 0000

 

0x2003 0000

 

0x3003 0000

STM32H523/ 533 64 KB  

0x0A04 0000

 

0x0E04 0000

 

0x2004 0000

 

0x3004 0000

Perifèricu Accessu à a memoria cacheable Accessu à a memoria micca cacheable
 

 

 

 

 

 

 

 

 

Internu

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

autobus veloce

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-bus

0x2004 0000 0x3004 0000
STM32U59x/

5Ax/5Fx/5Gx

64 KB 0x0A0C 0000 0x0E0C 0000 0x200C 0000 0x300C 0000
 

 

 

 

SRAM3

STM32U575/ 585 512 KB 0x0A04 0000 0x0E04 0000 0x2004 0000 0x3004 0000
STM32H523/ 533 64 KB  

 

0x0A05 0000

 

 

0x0E05 0000

 

 

0x2005 0000

 

 

0x3005 0000

STM32H563/ 573/562 320 KB
STM32U59x/

5Ax/5Fx/5Gx

832 KB 0x0A0D 0000 0x0E0D 0000 0x200D 0000 0x300D 0000
SRAM5 STM32U59x/

5Ax/5Fx/5Gx

832 KB 0x0A1A 0000 0x0E1A 0000 0x201A 0000 0x301A 0000
SRAM6 STM32U5Fx/

5Gx

512 KB 0x0A27 0000 0x0E27 0000 0x2027 0000  

 

 

 

 

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

 

 

 

 

Esternu

HSPI 1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus lento

(1)

 

 

 

 

 

 

Indirizzu alias in a gamma di [0x0000 0000

à 0x07FF FFFF] o [0x1000 0000:0x1FFF

FFFF] definitu per mezu di a funzione di rimappatura

 

 

 

 

 

 

 

 

 

 

 

N/A

0xA000 0000
SDRAM FMC STM32H563/ 573/562 0xC000 0000
 

OCTOSPI1

banca micca sicura

STM32L5/U5

serie

STM32H563/ 573/562

 

 

0x9000 0000

 

Banca FMC 3

micca sicuru

STM32L5/U5

serie

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

banca micca sicura

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

Banca FMC 1

micca sicuru

STM32L5/U5

serie

STM32H563/ 573/562

 

 

0x6000 0000

1. Per esse sceltu quandu remapping such regions.

ICACHE 1-way versus 2-way
Per automaticamente, l'ICACHE hè cunfiguratu in u modu operativu assuciativu (duie manere attivate), ma hè pussibule cunfigurà l'ICACHE in modu direttu-mappatu (un modu attivatu), per l'applicazioni chì necessitanu un cunsumu d'energia assai bassu. A cunfigurazione ICACHE hè fatta cù u bit WAYSEL in ICACHE_CR cusì:

  • WAYSEL = 0: modalità operativa mappata diretta (1-way)
  • WAYSEL = 1 (default): modu di funziunamentu assuciativu (2-way)

Table 3. ICACHE 1-way versus 2-way

Parametru ICACHE 1-way ICACHE 2-way
Dimensione cache (Kbyte) 8(1)/32(2)
Cache un numeru di modi 1 2
Dimensione di a linea di cache 128 bit (16 byte)
Numero di linee di cache 512(1)/2048(2) 256(1)/1024(2) per via
  1. Per a serie STM32L5 / serie STM32H5 /STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

tipu di burst
Certi ricordi Octo-SPI supportanu u burst WRAP, chì furnisce u benefiziu di a prestazione critica di a prima parola. U tipu di burst ICACHE di a transazzione di memoria AHB per e regioni rimappate hè configurabile. Implementa burst incrementale o WRAP burst, sceltu cù u bit HBURST in u registru ICACHE_CRRx. E differenze trà u WRAP è i bursts incrementali sò datu quì sottu (vede ancu a figura):

  • WRAP burst:
    • dimensione di a linea di cache = 128 bits
    • burst to start address = indirizzu parola di i primi dati dumandati da u CPU
  •  Burst incrementale:
    • dimensione di a linea di cache = 128 bits
    • burst starting address = indirizzu allinatu nantu à u cunfini di a linea di cache chì cuntene a parolla dumandata

Figura 7. Incrementale versus WRAP burst

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Regioni cacheable è funzione di rimappatura
L'ICACHE hè cunnessu à u Cortex-M33 attraversu u bus C-AHB è cache a regione di codice da l'indirizzi [0x0000 0000 à 0x1FFF FFFF]. Siccomu i ricordi esterni sò mappati in un indirizzu in u intervalu [0x6000 0000 à 0xAFFF FFFF], l'ICACHE supporta una funzione di rimappazione chì permette à qualsiasi regione di memoria esterna per esse rimappata in un indirizzu in a gamma di [0x0000 0000 à 0x07FF FFFF] o [0x1000 0000 à 0x1FFF FFFF], è di diventà accessibile attraversu l'autobus C-AHB. Finu à quattru regioni di memoria esterna ponu esse rimappate cù sta funzione. Una volta chì una regione hè rimappata, l'operazione di rimappamentu si faci ancu se l'ICACHE hè disattivatu o se a transazzione ùn hè micca cacheable. E regioni di memoria cacheable ponu esse definite è programate da l'utilizatore in l'unità di prutezzione di memoria (MPU). A tavula sottu riassume e cunfigurazioni di e memorie di serie STM32L5 è STM32U5.

Table 4. Configurazione di i ricordi di serie STM32L5 è STM32U5

 

Memoria di u produttu

Cacheable

(Programmazione MPU)

Remappatu in ICACHE

(Programmazione ICACHE_CRRx)

Memoria flash Iè o nò  

Ùn hè micca necessariu

SRAM Ùn hè cunsigliatu
Memorie esterne (HSPI/ OCTOSPI o FSMC) Iè o nò Ubligatoriu se l'utilizatore vole ricuperà u codice esternu nantu à u bus C-AHB (altrimenti in u bus S-AHB)

Beneficiu di a rimappatura di memoria esterna ICACHE
L'example in a figura quì sottu mostra cumu prufittà di a prestazione rinforzata ICACHE durante l'esekzione di codice o di dati letti quandu accede à una memoria esterna Octo-SPI esterna di 8 Mbyte (cum'è memoria flash esterna o RAM).

Figura 8. remap di memoria Octo-SPI example

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

I seguenti passi sò necessarii per rimappà sta memoria esterna:

Configurazione OCTOSPI per a memoria esterna

Configurate l'interfaccia OCTOSPI per accede à a memoria esterna in u modu Memory mapped (a memoria esterna hè vista cum'è una memoria interna mappata in a regione [0x9000 0000 à 0x9FFF FFFF]). Siccomu a dimensione di a memoria esterna hè 8 Mbytes, hè vistu à a regione [0x9000 0000 à 0x907F FFFF]. A memoria esterna in questa regione hè accessata attraversu u S-bus è ùn hè micca cacheable. U passu prossimu mostra a cunfigurazione ICACHE per rimappà sta regione.
Nota: Per a cunfigurazione OCTOSPI in modalità di mappatura di memoria, riferite à a nota di l'applicazione Interfaccia Octo‑SPI nantu à i microcontrollers STM32 (AN5050).

Configurazione ICACHE per rimappà a regione mappata di memoria esterna
I 8 Mbytes posti in a regione [0x9000 0000 à 0x907F FFFF] sò rimappati à a regione [0x1000 0000 à 0x107F FFFF]. Puderanu esse accede à traversu u bus lento (bus ICACHE master2).

  • Cunfigurazione di u registru ICACHE_CR
    • Disable ICACHE cù EN = 0.
    • Selezziunate 1-way o 2-way (secondu i bisogni di l'applicazione) cù WAYSEL = 0 o 1, rispettivamente.
  • Cunfigurazione di u registru ICACHE_CRRx (finu à quattru regioni, x = 0 à 3)
    • Selezziunate l'indirizzu di basa 0x1000 0000 (indirizzu remap) cù BASEADDR [28:21] = 0x80.
    • Selezziunate a dimensione di a regione 8-Mbyte per rimappà cù RSIZE [2: 0] = 0x3.
    • Selezziunate l'indirizzu rimappatu 0x9000 0000 REMAPADDR[31:21] = 0x480.
    • Selezziunate u portu ICACHE AHB master2 per i ricordi esterni cù MSTSEL = 1.
    • Selezziunate u tipu di burst WRAP cù HBURST = 0.
    • Abilita a rimappatura per a regione x cù REN = 1.

A figura seguente mostra cumu si vede e regioni di memoria cù IAR dopu avè attivatu a remap.

Figura 9. Rimappatura di e regioni di memoria example

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

A memoria esterna di 8-Mbyte hè avà rimappata è pò esse accessu nantu à a regione [0x1000 0000 à 0x107F FFFF].

ICACHE attivà

  • Cunfigurazione di u registru ICACHE_CR Abilita l'ICACHE cù EN = 1.

Hit-and-miss monitors
ICACHE furnisce dui monitori per l'analisi di u rendiment: un monitor hit 32-bit è un monitor miss 16-bit.

  • U monitoru di hit conta e transazzione AHB cacheable nantu à u portu di cache slave chì tocca u cuntenutu ICACHE (dati recuperati digià dispunibili in a cache). U contatore di monitor di hit hè dispunibule in u registru ICACHE_HMONR.
  • U miss monitor conta e transazzioni cacheable AHB nantu à u portu di cache slave chì manca u cuntenutu ICACHE (dati chjappi micca digià dispunibili in a cache). U contatore di monitor mancante hè dispunibule in u registru ICACHE_MMONR.

Nota:

Questi dui monitori ùn s'imbulighjanu micca quandu ghjunghjenu i so valori massimi. Questi monitori sò gestiti da i seguenti bit in u registru ICACHE_CR:

  • HITMEN bit (rispettivamente MISSMEN bit) per attivà / piantà u hit (rispettivamente miss) monitor
  • HITMRST bit (rispettivamente MISSMRST bit) per resettà u monitoru hit (rispettivamente miss) Per automaticamente, sti monitori sò disattivati ​​per riduce u cunsumu di energia.

Manutenzione ICACHE
U software pò invalidà l'ICACHE mettendu u bit CACHEINV in u registru ICACHE_CR. Questa azione invalida tutta a cache, facendu viota. Intantu, se alcune regioni rimappate sò attivate, a funzione di remap hè sempre attiva, ancu quandu l'ICACHE hè disattivatu. Siccomu l'ICACHE gestisce solu transazzione di lettura è ùn gestisce micca transazzione di scrittura, ùn assicura micca a coherenza in u casu di scrittura. In cunseguenza, u software deve invalidà l'ICACHE dopu a prugrammazione di una regione.

ICACHE security
ICACHE hè un perifericu securable chì pò esse cunfiguratu cum'è sicuru attraversu u registru di cunfigurazione sicura GTZC TZSC. Quandu hè cunfiguratu cum'è sicuru, solu accessi sicuri sò permessi à i registri ICACHE. ICACHE pò ancu esse cunfiguratu cum'è privilegiatu attraversu u registru di cunfigurazione di privilegi GTZC TZSC. Quandu ICACHE hè cunfiguratu cum'è privilegiatu, solu l'accessi privilegiati sò permessi à i registri ICACHE. Per automaticamente, l'ICACHE ùn hè micca sicuru è micca privilegiatu attraversu u GTZC TZSC.

Gestione di l'avvenimenti è l'interruzzione

L'ICACHE gestisce l'errori funziunali quandu sò rilevati, mettendu a bandiera ERRF in ICACHE_SR. Una interruzzione pò ancu esse generata se u bit ERRIE hè impostatu in ICACHE_IER. In casu di invalidazione ICACHE, quandu u cache occupatu hè finitu, a bandiera BSYENDF hè stallata in ICACHE_SR. Una interruzzione pò ancu esse generata se u bit BSYENDIE hè stallatu in ICACHE_IER. A tavula quì sottu liste l'interruzzione ICACHE è i bandieri di l'avvenimentu.

Table 5. Bits di gestione di l'interruzzione è di l'avvenimenti ICACHE

Registrate Bit nome Descrizzione di bit Tipu di accessu à bit
 

ICACHE_SR

Occupatu Cache esegue una operazione di invalidazione completa  

Lettura solu

BSYENDF L'operazione di invalidazione di cache hè finita
ERRORE Un errore hè accadutu durante l'operazione di caching
 

ICACHE_IER

ERRIE Abilita l'interruzzione per l'errore di cache  

Leghje / scrive

BSYENDIE Abilita l'interruzzione in casu di l'operazione di invalidazione finita
 

ICACHE_FCR

CERRF Efface ERRF in ICACHE_SR  

Scrive solu

CBSYENDF Cancella BSYENDF in ICACHE_SR

caratteristiche DCACHE
U scopu di a cache di dati hè di cache di cache di dati di memoria esterna è magazzini di dati chì venenu da u processatore o da un altru perifericu maestru di bus. DCACHE gestisce transazzioni di lettura è scrittura.
DCACHE trafficu di cacheability

U DCACHE cache i ricordi esterni da l'interfaccia di u portu maestru attraversu u bus AHB. I richieste di memoria entranti sò definite cum'è cacheable secondu u so attributu di bloccu di memoria di transazzione AHB. A pulitica di scrittura DCACHE hè definita cum'è write-through o write-back secondu l'attributu di memoria cunfiguratu da u MPU. Quandu una regione hè cunfigurata cum'è non-cacheable, u DCACHE hè bypassatu.

 Table 6. DCACHE cacheability per a transazzione AHB

Attributu di ricerca AHB Attributu bufferable AHB Messa in cache
0 X Leghjite è scrive: micca cacheable
 

1

 

0

Leghjite: cacheable

Scrivite: (cacheable) scrive

 

1

 

1

Leghjite: cacheable

Scrivite: (cacheable) scrive in daretu

DCACHE regioni cacheable
Per a serie STM32U5, l'interfaccia slave DCACHE1 hè cunnessa à u Cortex-M33 attraversu u bus S-AHB è cache u GFXMMU, FMC è HSPI/OCTOSPI. L'interfaccia slave DCACHE2 hè cunnessa à u DMA2D attraversu u bus di portu M0, è cache tutte e memorie interne è esterne (eccettu SRAM4 è BRKPSRAM). Per a serie STM32H5, l'interfaccia slave DCACHE hè cunnessa à u Cortex-M33 attraversu e memorie esterne S-AHB attraversu FMC è OCTOSPI.

Table 7. DCACHE regioni cacheable è interfacce

Regione di l'indirizzu di memoria cacheable Interfacce cacheable DCACHE1 Interfacce cacheable DCACHE2
GFXMMU X X
SRAM1  

 

 

N/A

X
SRAM2 X
SRAM3 X
SRAM5 X
SRAM6 X
HSPI 1 X X
OCTOSPI1 X X
BANCHE FMC X X
OCTOSPI2 X X

Nota

Certi interfacce ùn sò micca supportati in certi prudutti. Vede a Figura 1 o u manuale di riferimentu specificu di u produttu.
tipu di burst
Cum'è ICACHE, u DCACHE supporta bursts incrementali è wrapped (vede a Sezione 3.1.3). Per DCACHE, u tipu di burst hè cunfiguratu attraversu u bit HBURST in DCACHE_CR.
Cunfigurazione DCACHE
Durante l'avviamentu, DCACHE hè disattivatu per difettu facendu e richieste di memoria di schiavi trasmesse direttamente à u portu maestru. Per attivà DCACHE, EN bit deve esse stabilitu in u registru DCACHE_CR. Monitori Hit-and-miss U DCACHE implementa quattru monitori per l'analisi di prestazioni di cache:

  • Dui 32-bit (R/W) hit monitor: conta u numeru di volte chì u CPU leghje o scrive dati in a memoria cache senza generà una transazzione nantu à i porti maestri DCACHE (dati digià dispunibili in a cache). I contatori di monitori di hit (R / W) sò dispunibuli rispettivamente in i registri DCACHE_RHMONR è DCACHE_WHMONR.
  • Dui 16-bit (R/W) miss monitors: cuntà u numeru di volte chì u CPU leghje o scrive dati in a memoria cache è genera una transazzione nantu à i porti maestri DCACHE, per carricà e dati da a regione di memoria (dati catturati micca. digià dispunibule in a cache). I contatori di miss monitors (R/W) sò dispunibuli rispettivamente in i registri DCACHE_RMMONR è DCACHE_WMMONR.

Nota:

Questi quattru monitori ùn s'imbulighjanu micca quandu ghjunghjenu i so valori massimi. Questi monitori sò gestiti da i seguenti bit in u registru DCACHE_CR:

  • Bit WHITMAN (rispettivamente bit WMISSMEN) per attivà / piantà u monitor di scrittura hit (rispettivamente miss)
  • RHITMEN bit (rispettivamente RMISSMEN bit) per attivà / piantà u monitor di lettura hit (rispettivamente miss)
  • WHITMRST bit (rispettivamente WMISSMRST bit) per resettà u monitor di scrittura hit (rispettivamente miss)
  • RHITMRST bit (rispettivamente RMISSMRST bit) per resettà u monitoru di u hit di lettura (rispettivamente miss)

Per automaticamente, sti monitori sò disattivati ​​per riduce u cunsumu di energia.

Mantenimentu DCACHE
U DCACHE offre parechje operazioni di mantenimentu chì ponu esse cunfigurate attraversu CACHECMD[2:0] in DCACHE_CR.

  • 000: nisuna operazione (default)
  • 001: gamma pulita. Pulite un certu intervallu in a cache
  • 010: invalidà a gamma. Invalidate un certu intervallu in a cache
  • 010: pulisce è invalida a gamma. Pulite è invalidate un certu intervallu in a cache

A gamma scelta hè cunfigurata attraversu:

  • Registru CMDSTARTADDR: indirizzu di partenza di cumanda
  • Registru CMDENDADDR : indirizzu di fine di cumanda

Nota:

Stu registru deve esse stabilitu prima chì CACHECMD hè scrittu. U mantenimentu di u cumandamentu di cache principia quandu u bit STARTCMD hè stallatu in u registru DCACHE_CR. U DCACHE supporta ancu una invalidazione di CACHE cumpleta per stabilisce u bit CACHEINV in u registru DCACHE_CR.

DCACHE security
U DCACHE hè un perifericu sicuru chì pò esse cunfiguratu cum'è sicuru attraversu u registru di cunfigurazione sicura GTZC TZSC. Quandu hè cunfiguratu cum'è sicuru, solu accessi sicuri sò permessi à i registri DCACHE. DCACHE pò ancu esse cunfiguratu cum'è privilegiatu attraversu u registru di cunfigurazione di privilegi GTZC TZSC. Quandu DCACHE hè cunfiguratu cum'è privilegiatu, solu l'accessi privilegiati sò permessi à i registri DCACHE. Per automaticamente, u DCACHE ùn hè micca sicuru è micca privilegiatu attraversu u GTZC TZSC.

Gestione di l'avvenimenti è l'interruzzione
U DCACHE gestisce l'errori funziunali quandu sò rilevati, mettendu a bandiera ERRF in DCACHE_SR. Un interrupt pò ancu esse generatu se u bit ERRIE hè impostatu in DCACHE_IER. In casu di invalidazione di DCACHE, quandu u statu di cache occupatu hè finitu, a bandiera BSYENDF hè stallata in DCACHE_SR. Una interruzzione pò ancu esse generata se u bit BSYENDIE hè stallatu in DCACHE_IER. U statutu di cumandamentu DCACHE pò esse verificatu attraversu CMDENF è BUSYCMDF attraversu DCACHE_SR Una interruzzione pò ancu esse generata se u bit CMDENDIE hè stabilitu in DCACHE_IER. A tavula sottu elenca l'interruzioni DCACHE è i bandieri di l'avvenimenti

Table 8. DCACHE Bits di gestione di l'interruzzione è di l'avvenimenti

Registrate Registrate Descrizzione di bit Tipu di accessu à bit
 

 

 

DCACHE_SR

Occupatu Cache esegue una operazione di invalidazione completa  

 

 

Lettura solu

BSYENDF L'operazione di invalidazione completa di a cache hè finita
BUSYCMDF Cache chì esegue un cumandamentu di gamma
CMENDDF Una fine di cumandamentu di gamma
ERRF Un errore hè accadutu durante l'operazione di caching
 

DCACHE_IER

ERRIE Abilita l'interruzzione per l'errore di cache  

Leghje / scrive

CMDENDIE Abilita l'interruzzione à a fine di u cumandamentu di u range
BSYENDIE Abilita l'interruzzione à a fine di l'operazione di invalidazione completa
 

DCACHE_FCR

CERRF Cancella ERRF in DCACHE_SR  

Scrive solu

CCMDENDF Cancella CMENDDF in DCACHE_SR
CBSYENDF Cancella BSYENDF in DCACHE_SR

Prestazione ICACHE è DCACHE è cunsumu di energia

Utilizà ICACHE è DCACHE migliurà u rendiment di l'applicazione quandu accede à e memorie esterne. A tabella seguente mostra l'impattu di ICACHE è DCACHE nantu à l'esecuzione di CoreMark® quandu accede à e memorie esterne.

Table 9. Prestazione ICACHE è DCACHE nantu à l'esekzione CoreMark cù ricordi esterni

(1)
codice CoreMark Dati CoreMark cunfigurazione ICACHE Cunfigurazione DCACHE Score CoreMark/Mhz
Memoria Flash interna SRAM interna Abilitatu (2 modi) Disabilitatu 3.89
Memoria Flash interna PSRAM Octo-SPI esterno (S-bus) Abilitatu (2 modi) Abilitatu 3.89
Memoria Flash interna PSRAM Octo-SPI esterno (S-bus) Abilitatu (2 modi) Disabilitatu 0.48
Flash Octo-SPI esterno (C-bus) SRAM interna Abilitatu (2 modi) Disabilitatu 3.86
Flash Octo-SPI esterno (C-bus) SRAM interna Disabilitatu Disabilitatu 0.24
Memoria Flash interna SRAM interna Disabilitatu Disabilitatu 2.69

Cundizioni di prova:

  • Pruduttu applicabile: STM32U575/585
  • Frequenza di u sistema: 160 MHz.
  • Memoria esterna Octo-SPI PSRAM: 80 MHz (modalità DTR).
  • Memoria flash Octo-SPI esterna: 80 MHz (modalità STR).
  • Cumpilatore: IAR V8.50.4.
  • Flash internu PREFETCH: ON.

Utilizà ICACHE è DCACHE riduce u cunsumu d'energia quandu accede à i ricordi interni è esterni. A tabella seguente mostra l'impattu di ICACHE nantu à u cunsumu di energia durante l'esekzione CoreMark.

Table 10. CoreMark esecuzione ICACHE impattu in u cunsumu di energia

cunfigurazione ICACHE Cunsumu di energia MCU (mA)
Abilitatu (2 modi) 7.60
Abilitatu (1-direzzione) 7.13
Disabilitatu 8.89
  1. Cundizioni di prova:
    • Pruduttu applicabile: STM32U575/585
    • Codice CoreMark: memoria Flash interna.
    • Dati CoreMark: SRAM interna.
    • Memoria Flash Interna PREFETCH: ON.
    • Frequenza di u sistema: 160 MHz.
    • Cumpilatore: IAR V8.32.2.
    • Voltage gamma: 1.
    • SMPS: ON.
  2. A cunfigurazione associativa di u modu hè più efficau chè a cunfigurazione associativa di 1-mode per u codice chì ùn pò micca esse cumpletamente caricatu in cache. Intantu, a cache associativa 1-way set hè quasi sempre più efficiente di u putere cà 2-way cache associative set. Ogni codice deve esse valutatu in e duie cunfigurazioni di l'associatività, per selezziunà u megliu scambiu trà u rendiment è u cunsumu di energia. A selezzione dipende da a priorità di l'utilizatori.

Cunclusioni

I primi cache sviluppati da STMicroelectronics, ICACHE è DCACHE, sò capaci di cache memorie interne è esterne, offrendu un miglioramentu di u rendiment per u trafficu di dati è i struzzioni. Stu documentu mostra e diverse caratteristiche supportate da l'ICACHE è DCACHE, a so simplicità di cunfigurazione è a flessibilità permettenu un costu di sviluppu più bassu è un tempu più rapidu per u mercatu.

Storia di rivisione

Table 11. Storia di rivisione di documenti

Data Versione Cambiamenti
10-ottobre-2019 1 Liberazione iniziale.
 

 

27-Feb-2020

 

 

2

Aghjurnatu:

• Table 2. Regioni di memoria è i so indirizzi

• Section 2.1.7 mantenimentu ICACHE

• Section 2.1.8 ICACHE security

 

 

 

 

7-Dic-2021

 

 

 

 

3

Aghjurnatu:

• Titulu di u documentu

• Introduzione

• Section 1 ICACHE è DCACHE overview

• Sezione 4 Conclusione Aggiunta:

• Section 2 ICACHE è funzioni DCACHE

• Section 3 ICACHE è DCACHE prestazione è cunsumu di energia

 

 

 

 

 

 

15-Feb-2023

 

 

 

 

 

 

4

Aghjurnatu:

•         Sezione 2.2: architettura intelligente di a serie STM32U5

•         Sezione 2.5: diagramma di bloccu DCACHE

•         Sezione 3.1.1: Dual masters

•         Sezione 3.1.2: ICACHE 1-way versus 2-way

•         Sezione 3.1.4: Regioni cacheable è funzione di rimappatura

•         Sezione 3.2: funzioni DCACHE

•         Sezione 3.2.2: DCACHE regioni cacheable

•         Sezione 4: Prestazione ICACHE è DCACHE è cunsumu di energia Aggiuntu:

•         Sezzione 1: Informazione generale

 

11-mar-2024

 

5

Aghjurnatu:

•         Sezione 2.3: architettura intelligente di a serie STM32H5

•         Sezione 3.1.1: Dual masters

AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE
STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine. I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente. Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì. A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu. ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii. L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu. © 2024 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse

Microcontrollers di a serie STMicroelectronics STM32H5 [pdfManuale d'usu
Serie STM32H5 Microcontrollers, STM32H5, Serie Microcontrollers, Microcontrollers

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *