Logotip STMicroelectronics

Mikrokontrolerji serije STMicroelectronics STM32H5

STMicroelectronics-STM32H5-serija mikrokrmilnikov-izdelek

Uvod

Ta opomba o aplikaciji opisuje predpomnilnik ukazov (ICACHE) in podatkovni predpomnilnik (DCACHE), prva predpomnilnika, ki ju je razvil STMicroelectronics. ICACHE in DCACHE, predstavljena na vodilu AHB procesorja Arm® Cortex®-M33, sta vdelana v mikrokrmilnik STM32 (MCU), naveden v spodnji tabeli. Ti predpomnilniki omogočajo uporabnikom, da izboljšajo zmogljivost svojih aplikacij in zmanjšajo porabo pri pridobivanju navodil in podatkov iz notranjih in zunanjih pomnilnikov ali za podatkovni promet iz zunanjih pomnilnikov. Ta dokument podaja tipične examples za poudarjanje funkcij ICACHE in DCACHE in olajšanje njihove konfiguracije.

Tabela 1. Veljavni izdelki

Vrsta Serija izdelkov
Mikrokontrolerji Serija STM32H5, serija STM32L5, serija STM32U5

Splošne informacije

Opomba:

Ta opomba o uporabi velja za mikrokontrolerje serije STM32, ki so naprave, ki temeljijo na jedru Arm® Cortex®. Arm je registrirana blagovna znamka Arm Limited (ali njenih podružnic) v ZDA in/ali drugje.

Konec ICACHE in DCACHEview

Ta razdelek ponuja overview vmesnikov ICACHE in DCACHE, vdelanih v mikrokontrolerje na osnovi jedra STM32 Arm® Cortex®. Ta razdelek podrobno opisuje diagram ICACHE in DCACHE ter integracijo v sistemsko arhitekturo.
Pametna arhitektura serije STM32L5
Ta arhitektura temelji na matriki vodila, ki več glavnim enotam (Cortex-M33, ICACHE, DMA1/2 in SDMMC1) omogoča dostop do več podrejenih (kot je bliskovni pomnilnik, SRAM1/2, OCTOSPI1 ali FSMC). Spodnja slika opisuje pametno arhitekturo serije STM32L5.

Slika 1. Pametna arhitektura serije STM32L5

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-1

Zmogljivost Cortex-M33 je izboljšana z uporabo 8-Kbajtnega vmesnika ICACHE, uvedenega v njegovo vodilo C-AHB, pri pridobivanju kode ali podatkov iz notranjih pomnilnikov (flash pomnilnik, SRAM1 ali SRAM2) prek hitrega vodila in tudi iz zunanje pomnilnike (OCTOSPI1 ali FSMC) prek počasnega vodila.
Pametna arhitektura serije STM32U5
Ta arhitektura temelji na matriki vodila, ki več glavnim enotam (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D in SDMMC, OTG_HS, LTDC, GPU2D, GFXMMU) omogoča dostop do več podrejenih (kot so bliskovni pomnilnik, SRAM, BKPSRAM, HSPI/ OCTOSPI ali FSMC). Spodnja slika opisuje pametno arhitekturo serije STM32U5.

Slika 2. Pametna arhitektura serije STM32U5

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-2

Vmesnika Cortex-M33 in GPU2D imata koristi od uporabe predpomnilnika.

  • ICACHE izboljša zmogljivost Cortex-M33 pri pridobivanju kode ali podatkov iz notranjih pomnilnikov prek hitrega vodila (flash pomnilnik, SRAM) in iz zunanjih pomnilnikov prek počasnega vodila (OCTOSPI1/2 in HSPI1 ali FSMC). DCACHE1 izboljša zmogljivost pri pridobivanju podatkov iz notranjih ali zunanjih pomnilnikov prek s‑bus (GFXMMU, OCTOSPI1/2 in HSPI1 ali FSMC).
  •  DCACHE2 izboljša zmogljivost GPU2D pri pridobivanju podatkov iz notranjih in zunanjih pomnilnikov (GFXMMU, bliskovni pomnilnik, SRAM, OCTOSPI1/2 in HSPI1 ali FSMC) prek vodila vrat M0.

Pametna arhitektura serije STM32H5
Pametna arhitektura STM32H523/H533, STM32H563/H573 in STM32H562. Ta arhitektura temelji na matriki vodila, ki omogoča več glavnim enotam (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet in SDMMC) dostop do več podrejenih enot (kot so bliskovni pomnilnik, SRAM, BKPSRAM). , OCTOSPI in FMC). Spodnja slika opisuje pametno arhitekturo serije STM32H5.

Slika 3. Pametna arhitektura serije STM32H563/H573 in STM32H562

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-3

Cortex-M33 ima koristi od uporabe CACHE.

  • ICACHE izboljša zmogljivost Cortex-M33 pri pridobivanju kode ali podatkov iz notranjih pomnilnikov prek hitrega vodila (flash pomnilnik, SRAM) in iz zunanjih pomnilnikov prek počasnega vodila (OCTOSPI in FMC).
  • DCACHE izboljša zmogljivost pri pridobivanju podatkov iz zunanjih pomnilnikov prek počasnega vodila (OCTOSPI in FMC).

Pametna arhitektura STM32H503
Ta arhitektura temelji na matriki vodila, ki več glavnim enotam (Cortex-M33, ICACHE in GPDMA) omogoča dostop do več podrejenih (kot so bliskovni pomnilnik, SRAM in BKPSRAM). Spodnja slika opisuje pametno arhitekturo serije STM32H5.

Slika 4. Pametna arhitektura serije STM32H503

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-4

Cortex-M33 ima koristi od uporabe CACHE.

  • ICACHE izboljša zmogljivost Cortex-M33 pri pridobivanju kode ali podatkov iz notranjih pomnilnikov prek hitrega vodila (flash pomnilnik, SRAM).

Blokovni diagram ICACHE
Blokovni diagram ICACHE je podan na spodnji sliki.

Slika 5. Blokovni diagram ICACHE

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-5

Pomnilnik ICACHE vključuje:

  • the TAG spomin z:
    • naslov tags ki kažejo, kateri podatki so v predpomnilniku podatkov
    • bitov veljavnosti
  •  podatkovni pomnilnik, ki vsebuje predpomnjene podatke

Blokovni diagram DCACHE
Blokovni diagram DCACHE je podan na spodnji sliki.

Slika 6. Blokovni diagram DCACHE

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-6

Pomnilnik DCACHE vključuje:

  • the TAG spomin z:
    • naslov tags ki kažejo, kateri podatki so v predpomnilniku podatkov
    • bitov veljavnosti
    • bitov privilegijev
    • umazane koščke
  • podatkovni pomnilnik, ki vsebuje predpomnjene podatke

Funkcije ICACHE in DCACHE

Dvojni mojstri
ICACHE dostopa do matrike vodila AHB preko:

  • Ena glavna vrata AHB: master1 (hitro vodilo)
  • Dva glavna priključka AHB: master1 (hitro vodilo) in master2 (počasno vodilo)

Ta funkcija omogoča ločevanje prometa pri dostopu do različnih pomnilniških območij (kot so notranji bliskovni pomnilnik, notranji SRAM in zunanji pomnilniki), da se zmanjšajo zastoji CPE ob zgrešenih predpomnilnikih. Naslednja tabela povzema pomnilniške regije in njihove naslove.

Tabela 2. Pomnilniške regije in njihovi naslovi

Periferni Dostop do predpomnilnika Dostop do pomnilnika, ki ga ni mogoče predpomniti
 

 

Vrsta

 

 

Ime

 

 

Ime izdelka in velikost regije

 

 

Ime avtobusa

 

Začetni naslov nezaščitene regije

Varen, nevaren začetni naslov klicne regije  

 

Ime avtobusa

 

Začetni naslov nezaščitene regije

Varen, nevaren začetni naslov klicne regije
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Notranji

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

hitri avtobus

 

 

 

 

 

 

 

0x0800 0000

N/A  

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

STM32L5

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

serije

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

Periferni Dostop do predpomnilnika Dostop do pomnilnika, ki ga ni mogoče predpomniti
 

 

 

 

 

 

 

 

 

Notranji

 

 

SRAM2

STM32H563/573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

hitri avtobus

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

 

 

 

 

 

 

 

 

 

 

 

Zunanji

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

počasen avtobus

(1)

 

 

 

 

 

 

Vzdevek naslova v območju [0x0000 0000

na 0x07FF FFFF] ali [0x1000 0000:0x1FFF

FFFF], definiran s funkcijo ponovnega preslikave

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

banka nevarna

STM32L5/U5

serije

STM32H563/573/562

 

 

0x9000 0000

 

FMC banka 3

nevaren

STM32L5/U5

serije

STM32H563/573/562

 

 

0x8000 0000

OCTOSPI2

banka nevarna

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

FMC banka 1

nevaren

STM32L5/U5

serije

STM32H563/573/562

 

 

0x6000 0000

1. Izbrati pri ponovnem preslikavanju takih regij.

1-smerni proti 2-smernemu ICACHE
Privzeto je ICACHE konfiguriran v asociativnem načinu delovanja (omogočena sta dva načina), vendar je mogoče konfigurirati ICACHE v načinu neposredne preslikave (omogočeno enosmerno) za aplikacije, ki zahtevajo zelo nizko porabo energije. Konfiguracija ICACHE se izvede z bitom WAYSEL v ICACHE_CR, kot sledi:

  • WAYSEL = 0: neposredno preslikan način delovanja (1-smerni)
  • WAYSEL = 1 (privzeto): asociativni način delovanja (2-smerni)

Tabela 3. 1-smerni proti 2-smernemu ICACHE

Parameter 1-smerni ICACHE 2-smerni ICACHE
Velikost predpomnilnika (Kbajti) 8(1)/32(2)
Predpomnite na več načinov 1 2
Velikost vrstice predpomnilnika 128 bitov (16 bajtov)
Število vrstic predpomnilnika 512(1)/2048(2) 256(1)/1024(2) na smer
  1. Za serijo STM32L5 / serijo STM32H5 / STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Razpočni tip
Nekateri pomnilniki Octo-SPI podpirajo izbruh WRAP, ki zagotavlja prednost kritične zmogljivosti funkcije prve besede. Vrsto izbruha ICACHE pomnilniške transakcije AHB za ponovno preslikane regije je mogoče konfigurirati. Izvaja inkrementalni izbruh ali izbruh WRAP, izbran z bitom HBURST v registru ICACHE_CRRx. Spodaj so navedene razlike med WRAP in inkrementalnimi izbruhi (glejte tudi sliko):

  • WRAP izbruh:
    • velikost vrstice predpomnilnika = 128 bitov
    • burst to start address = naslov besede prvih podatkov, ki jih zahteva CPE
  •  Prirastni izbruh:
    • velikost vrstice predpomnilnika = 128 bitov
    • burst začetni naslov = naslov poravnan na meji predpomnilniške vrstice, ki vsebuje zahtevano besedo

Slika 7. Inkrementalni v primerjavi z WRAP izbruhom

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-9

Regije, ki jih je mogoče predpomniti, in funkcija ponovnega preslikave
ICACHE je povezan s Cortex-M33 prek vodila C-AHB in predpomni kodno regijo z naslovov [0x0000 0000 do 0x1FFF FFFF]. Ker so zunanji pomnilniki preslikani na naslov v območju [0x6000 0000 do 0xAFFF FFFF], ICACHE podpira funkcijo ponovne preslikave, ki omogoča preslikavo katere koli zunanje pomnilniške regije na naslov v območju od [0x0000 0000 do 0x07FF FFFF] oz. [0x1000 0000 do 0x1FFF FFFF] in postanejo dostopni prek vodila C-AHB. S to funkcijo je mogoče preslikati do štiri zunanje pomnilniške regije. Ko je regija ponovno preslikana, se operacija preslikave izvede, tudi če je ICACHE onemogočen ali če transakcije ni mogoče predpomniti. Pomnilniške regije, ki jih je mogoče predpomniti, lahko definira in programira uporabnik v enoti za zaščito pomnilnika (MPU). Spodnja tabela povzema konfiguracije pomnilnikov serije STM32L5 in STM32U5.

Tabela 4. Konfiguracija pomnilnikov serije STM32L5 in STM32U5

 

Pomnilnik izdelka

Predpomnilnik

(programiranje MPU)

Preslikano v ICACHE

(programiranje ICACHE_CRRx)

Flash pomnilnik da ali ne  

Ni potrebno

SRAM Ni priporočljivo
Zunanji pomnilnik (HSPI/OCTOSPI ali FSMC) da ali ne Zahtevano, če želi uporabnik zunanje pridobivanje kode na vodilu C-AHB (sicer na vodilu S-AHB)

Prednost preslikave zunanjega pomnilnika ICACHE
Bivšiample na spodnji sliki prikazuje, kako izkoristiti izboljšano zmogljivost ICACHE med izvajanjem kode ali branjem podatkov pri dostopu do zunanjega 8-Mbajtnega zunanjega pomnilnika Octo-SPI (kot je zunanji bliskovni pomnilnik ali RAM).

Slika 8. Preslikava pomnilnika Octo-SPI nprample

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-7

Za ponovno preslikavo tega zunanjega pomnilnika so potrebni naslednji koraki:

Konfiguracija OCTOSPI za zunanji pomnilnik

Konfigurirajte vmesnik OCTOSPI za dostop do zunanjega pomnilnika v načinu preslikave pomnilnika (zunanji pomnilnik je viden kot notranji pomnilnik, preslikan v območju [0x9000 0000 do 0x9FFF FFFF]). Ker je velikost zunanjega pomnilnika 8 Mbajtov, je viden v območju [0x9000 0000 do 0x907F FFFF]. Do zunanjega pomnilnika v tej regiji se dostopa prek vodila S-bus in ga ni mogoče predpomniti. Naslednji korak prikazuje konfiguracijo ICACHE za ponovno preslikavo te regije.
Opomba: Za konfiguracijo OCTOSPI v pomnilniško preslikanem načinu glejte opombo o aplikaciji Vmesnik Octo‑ SPI na mikrokrmilnikih STM32 (AN5050

Konfiguracija ICACHE za ponovno preslikavo območja, preslikanega v zunanji pomnilnik
8 Mbajtov v območju [0x9000 0000 do 0x907F FFFF] je preslikanih v območje [0x1000 0000 do 0x107F FFFF]. Do njih je nato mogoče dostopati prek počasnega vodila (ICACHE master2 vodilo).

  • Konfiguracija registra ICACHE_CR
    • Onemogočite ICACHE z EN = 0.
    • Izberite 1-smerno ali 2-smerno (odvisno od potreb aplikacije) z WAYSEL = 0 oziroma 1.
  • Konfiguracija registra ICACHE_CRRx (do štiri regije, x = 0 do 3)
    • Izberite osnovni naslov 0x1000 0000 (naslov za ponovno preslikavo) z BASEADDR [28:21] = 0x80.
    • Izberite 8-Mbajtno velikost regije za ponovno preslikavo z RSIZE[2:0] = 0x3.
    • Izberite 0x9000 0000 preslikan naslov REMAPADDR[31:21] = 0x480.
    • Izberite vrata ICACHE AHB master2 za zunanje pomnilnike z MSTSEL = 1.
    • Izberite vrsto rafala WRAP s HBURST = 0.
    • Omogoči ponovno preslikavo za regijo x z REN = 1.

Naslednja slika prikazuje, kako so območja pomnilnika vidna z IAR po omogočitvi ponovne preslikave.

Slika 9. Preslikava pomnilniških regij nprample

STMicroelectronics-STM32H5-Serija-Mikrokontrolerjev-slika-8

Zunanji pomnilnik velikosti 8 MB je zdaj preslikan in je do njega mogoče dostopati v območju [0x1000 0000 do 0x107F FFFF].

Omogoči ICACHE

  • Konfiguracija registra ICACHE_CR Omogočite ICACHE z EN = 1.

Monitorji zadeti in zgrešiti
ICACHE nudi dva monitorja za analizo zmogljivosti: 32-bitni monitor zadetkov in 16-bitni monitor napak.

  • Nadzornik zadetkov šteje transakcije AHB, ki jih je mogoče predpomniti, na vratih podrejenega predpomnilnika, ki zadenejo vsebino ICACHE (pridobljeni podatki, ki so že na voljo v predpomnilniku). Števec nadzornika zadetkov je na voljo v registru ICACHE_HMONR.
  • Nadzornik napak prešteje transakcije AHB, ki jih je mogoče predpomniti, na vratih podrejenega predpomnilnika, ki pogrešajo vsebino ICACHE (pridobljeni podatki, ki še niso na voljo v predpomnilniku). Števec manjkajočega monitorja je na voljo v registru ICACHE_MMONR.

Opomba:

Ta dva monitorja se ne zavijeta, ko dosežeta najvišje vrednosti. Ti monitorji se upravljajo iz naslednjih bitov v registru ICACHE_CR:

  • HITMEN bit (oziroma MISSMEN bit) za omogočanje/ustavitev nadzora zadetka (oziroma zgrešenega)
  • Bit HITMRST (oziroma bit MISSMRST) za ponastavitev zadetega (oziroma zgrešenega) monitorja Privzeto so ti monitorji onemogočeni, da se zmanjša poraba energije.

Vzdrževanje ICACHE
Programska oprema lahko razveljavi ICACHE z nastavitvijo bita CACHEINV v registru ICACHE_CR. To dejanje razveljavi celoten predpomnilnik in ga naredi praznega. Medtem, če so omogočene nekatere ponovno preslikane regije, je funkcija ponovne preslikave še vedno aktivna, tudi če je ICACHE onemogočen. Ker ICACHE upravlja le transakcije branja in ne pisalnih transakcij, ne zagotavlja skladnosti v primeru pisanja. Posledično mora programska oprema po programiranju regije razveljaviti ICACHE.

Varnost ICACHE
ICACHE je zaščitna periferna naprava, ki jo je mogoče konfigurirati kot varno prek registra varne konfiguracije GTZC TZSC. Ko je konfiguriran kot varen, so dovoljeni samo varni dostopi do registrov ICACHE. ICACHE je mogoče konfigurirati tudi kot privilegiran prek registra konfiguracije privilegijev GTZC TZSC. Ko je ICACHE konfiguriran kot privilegiran, so dovoljeni samo privilegirani dostopi do registrov ICACHE. Privzeto je ICACHE nezaščiten in neprivilegiran prek GTZC TZSC.

Upravljanje dogodkov in prekinitev

ICACHE upravlja funkcionalne napake, ko jih odkrije, z nastavitvijo zastavice ERRF v ICACHE_SR. Prekinitev se lahko ustvari tudi, če je bit ERRIE nastavljen v ICACHE_IER. V primeru razveljavitve ICACHE, ko je stanje zasedenosti predpomnilnika končano, je zastavica BSYENDF nastavljena v ICACHE_SR. Prekinitev se lahko ustvari tudi, če je bit BSYENDIE nastavljen v ICACHE_IER. Spodnja tabela navaja zastavice prekinitev in dogodkov ICACHE.

Tabela 5. ICACHE prekinitev in bit upravljanja dogodkov

Registrirajte se Bitno ime Opis bitov Vrsta bitnega dostopa
 

ICACHE_SR

ZASEDEN Predpomnilnik, ki izvaja operacijo popolne razveljavitve  

Samo za branje

BSYENDF Operacija razveljavitve predpomnilnika je končana
NAPAKA Med operacijo predpomnjenja je prišlo do napake
 

ICACHE_IER

ERRIE Omogoči prekinitev za napako predpomnilnika  

Beri/piši

BSYENDIE Omogoči prekinitev v primeru končane operacije razveljavitve
 

ICACHE_FCR

CERRF Počisti ERRF v ICACHE_SR  

Samo za pisanje

CBSYENDF Počisti BSYENDF v ICACHE_SR

Funkcije DCACHE
Namen podatkovnega predpomnilnika je predpomniti naložene podatke zunanjega pomnilnika in shrambo podatkov, ki prihajajo iz procesorja ali druge periferne enote glavnega vodila. DCACHE upravlja transakcije branja in pisanja.
Promet predpomnilnika DCACHE

DCACHE predpomni zunanje pomnilnike iz vmesnika glavnih vrat prek vodila AHB. Vhodne zahteve po pomnilniku so opredeljene kot predpomnjene glede na atribut zaklepanja transakcijskega pomnilnika AHB. Politika pisanja DCACHE je definirana kot pisanje skozi ali nazaj, odvisno od atributa pomnilnika, ki ga konfigurira MPU. Ko je regija konfigurirana kot nepredpomnjena, se DCACHE zaobide.

 Tabela 6. Predpomnilnik DCACHE za transakcijo AHB

Atribut iskanja AHB AHB atribut medpomnilnika Predpomnilniška zmogljivost
0 X Branje in pisanje: ni mogoče predpomniti
 

1

 

0

Beri: možnost predpomnilnika

Pisanje: (cacheable) pisanje skozi

 

1

 

1

Beri: možnost predpomnilnika

Pisanje: (cacheable) povratno pisanje

DCACHE regije, ki jih je mogoče predpomniti
Za serijo STM32U5 je podrejeni vmesnik DCACHE1 povezan s Cortex-M33 prek vodila S-AHB in predpomni GFXMMU, FMC in HSPI/OCTOSPI. Podrejeni vmesnik DCACHE2 je povezan z DMA2D prek vodila vrat M0 in predpomni vse notranje in zunanje pomnilnike (razen SRAM4 in BRKPSRAM). Za serijo STM32H5 je podrejeni vmesnik DCACHE povezan s Cortex-M33 prek zunanjih pomnilnikov S-AHB prek FMC in OCTOSPI.

Tabela 7. Regije in vmesniki, ki jih je mogoče predpomniti DCACHE

Območje naslova pomnilnika, ki ga je mogoče predpomniti DCACHE1 vmesniki, ki jih je mogoče predpomniti DCACHE2 vmesniki, ki jih je mogoče predpomniti
GFXMMU X X
SRAM1  

 

 

N/A

X
SRAM2 X
SRAM3 X
SRAM5 X
SRAM6 X
HSPI1 X X
OCTOSPI1 X X
FMC BANKE X X
OCTOSPI2 X X

Opomba

Nekateri vmesniki niso podprti v nekaterih izdelkih. Glejte sliko 1 ali referenčni priročnik za določen izdelek.
Razpočni tip
Enako kot ICACHE tudi DCACHE podpira inkrementalne in zavite izbruhe (glejte razdelek 3.1.3). Za DCACHE je vrsta izbruha konfigurirana prek bita HBURST v DCACHE_CR.
Konfiguracija DCACHE
Med zagonom je DCACHE privzeto onemogočen, zaradi česar se zahteve za podrejeni pomnilnik posredujejo neposredno v glavna vrata. Če želite omogočiti DCACHE, mora biti EN bit nastavljen v registru DCACHE_CR. Monitorji hit-and-miss DCACHE izvaja štiri monitorje za analizo zmogljivosti predpomnilnika:

  • Dva 32-bitna (R/W) monitorja zadetkov: štejeta, kolikokrat je CPE prebral ali zapisal podatke v predpomnilnik brez generiranja transakcije na glavnih vratih DCACHE (podatki so že na voljo v predpomnilniku). Števci nadzornikov zadetkov (R/W) so na voljo v registrih DCACHE_RHMONR oziroma DCACHE_WHMONR.
  • Dva 16-bitna (R/W) monitorja napak: preštejeta, kolikokrat je CPE prebral ali zapisal podatke v predpomnilnik in generira transakcijo na glavnih vratih DCACHE, da naloži podatke iz pomnilniškega območja (pridobljeni podatki niso že na voljo v predpomnilniku). (R/W) števci nadzorovanih napak so na voljo v registrih DCACHE_RMMONR oziroma DCACHE_WMMONR.

Opomba:

Ti štirje monitorji se ne ovijejo, ko dosežejo največje vrednosti. Ti monitorji se upravljajo iz naslednjih bitov v registru DCACHE_CR:

  • Bit WHITMAN (oziroma bit WMISSMEN) za omogočanje/ustavitev monitorja zapisovalnega zadetka (oziroma zgrešenega)
  • Bit RHITMEN (oziroma bit RMISSMEN), da omogočite/ustavite nadzor zadetka branja (oziroma zgrešenega)
  • Bit WHITMRST (oziroma bit WMISSMRST) za ponastavitev monitorja zapisovalnega zadetka (oziroma zgrešenega)
  • Bit RHITMRST (oziroma bit RMISSMRST) za ponastavitev monitorja zadetka branja (oziroma zgrešenega)

Ti monitorji so privzeto onemogočeni, da se zmanjša poraba energije.

Vzdrževanje DCACHE
DCACHE ponuja več operacij vzdrževanja, ki jih je mogoče konfigurirati prek CACHECMD[2:0] v DCACHE_CR.

  • 000: brez operacije (privzeto)
  • 001: čisto območje. Očistite določen obseg v predpomnilniku
  • 010: razveljavlja obseg. Razveljavi določen obseg v predpomnilniku
  • 010: počisti in razveljavi območje. Očistite in razveljavite določen obseg v predpomnilniku

Izbrani obseg je konfiguriran prek:

  • Register CMDSTARTADDR: začetni naslov ukaza
  • Register CMDENDADDR: končni naslov ukaza

Opomba:

Ta register je treba nastaviti, preden se zapiše CACHECMD. Vzdrževanje ukaza predpomnilnika se začne, ko je bit STARTCMD nastavljen v registru DCACHE_CR. DCACHE podpira tudi popolno razveljavitev CACHE z nastavitvijo bita CACHEINV v registru DCACHE_CR.

Varnost DCACHE
DCACHE je varna periferna naprava, ki jo je mogoče konfigurirati kot varno prek registra varne konfiguracije GTZC TZSC. Ko je konfiguriran kot varen, so dovoljeni samo varni dostopi do registrov DCACHE. DCACHE je mogoče konfigurirati tudi kot privilegiran prek konfiguracijskega registra privilegijev GTZC TZSC. Ko je DCACHE konfiguriran kot privilegiran, so dovoljeni samo privilegirani dostopi do registrov DCACHE. Privzeto je DCACHE nezaščiten in neprivilegiran prek GTZC TZSC.

Upravljanje dogodkov in prekinitev
DCACHE upravlja funkcionalne napake, ko jih odkrije, z nastavitvijo zastavice ERRF v DCACHE_SR. Prekinitev se lahko ustvari tudi, če je bit ERRIE nastavljen v DCACHE_IER. V primeru razveljavitve DCACHE, ko je stanje zasedenosti predpomnilnika končano, je zastavica BSYENDF nastavljena v DCACHE_SR. Prekinitev se lahko ustvari tudi, če je bit BSYENDIE nastavljen v DCACHE_IER. Stanje ukaza DCACHE je mogoče preveriti prek CMDENF in BUSYCMDF prek DCACHE_SR. Prekinitev se lahko ustvari tudi, če je bit CMDENDIE nastavljen v DCACHE_IER. Spodnja tabela navaja prekinitve DCACHE in zastavice dogodkov

Tabela 8. Biti upravljanja prekinitev in dogodkov DCACHE

Registrirajte se Registrirajte se Opis bitov Vrsta bitnega dostopa
 

 

 

DCACHE_SR

ZASEDEN Predpomnilnik, ki izvaja operacijo popolne razveljavitve  

 

 

Samo za branje

BSYENDF Operacija razveljavitve polnega predpomnilnika je končana
BUSYCMDF Predpomnilnik izvajanja ukaza obsega
CMDENDF Konec ukaza območja
ERRF Med operacijo predpomnjenja je prišlo do napake
 

DCACHE_IER

ERRIE Omogoči prekinitev za napako predpomnilnika  

Beri/piši

CMDENDIE Omogoči prekinitev na koncu ukaza območja
BSYENDIE Omogoči prekinitev ob koncu operacije popolne razveljavitve
 

DCACHE_FCR

CERRF Počisti ERRF v DCACHE_SR  

Samo za pisanje

CCMDENDF Počisti CMDENDF v DCACHE_SR
CBSYENDF Počisti BSYENDF v DCACHE_SR

Zmogljivost in poraba energije ICACHE in DCACHE

Uporaba ICACHE in DCACHE izboljša zmogljivost aplikacije pri dostopu do zunanjih pomnilnikov. Naslednja tabela prikazuje vpliv ICACHE in DCACHE na izvajanje CoreMark® pri dostopu do zunanjih pomnilnikov.

Tabela 9. Zmogljivost ICACHE in DCACHE pri izvajanju CoreMark z zunanjimi pomnilniki

(1)
Koda CoreMark Podatki CoreMark Konfiguracija ICACHE Konfiguracija DCACHE Rezultat CoreMark/Mhz
Notranji Flash pomnilnik Notranji SRAM Omogočeno (dvosmerno) Onemogočen 3.89
Notranji Flash pomnilnik Zunanji Octo-SPI PSRAM (S-bus) Omogočeno (dvosmerno) Omogočeno 3.89
Notranji Flash pomnilnik Zunanji Octo-SPI PSRAM (S-bus) Omogočeno (dvosmerno) Onemogočen 0.48
Zunanja bliskavica Octo-SPI (C-bus) Notranji SRAM Omogočeno (dvosmerno) Onemogočen 3.86
Zunanja bliskavica Octo-SPI (C-bus) Notranji SRAM Onemogočen Onemogočen 0.24
Notranji Flash pomnilnik Notranji SRAM Onemogočen Onemogočen 2.69

Testni pogoji:

  • Veljavni izdelek: STM32U575/585
  • Sistemska frekvenca: 160 MHz.
  • Zunanji pomnilnik Octo-SPI PSRAM: 80 MHz (način DTR).
  • Zunanji bliskovni pomnilnik Octo-SPI: 80 MHz (način STR).
  • Prevajalnik: IAR V8.50.4.
  • Notranji Flash PREFETCH: VKLOP.

Uporaba ICACHE in DCACHE zmanjša porabo energije pri dostopu do notranjih in zunanjih pomnilnikov. Naslednja tabela prikazuje vpliv ICACHE na porabo energije med izvajanjem CoreMark.

Tabela 10. Vpliv izvajanja CoreMark ICACHE na porabo energije

Konfiguracija ICACHE Poraba energije MCU (mA)
Omogočeno (dvosmerno) 7.60
Omogočeno (1-smerno) 7.13
Onemogočen 8.89
  1. Testni pogoji:
    • Veljavni izdelek: STM32U575/585
    • Koda CoreMark: notranji pomnilnik Flash.
    • Podatki CoreMark: notranji SRAM.
    • Notranji bliskovni pomnilnik PREFETCH: ON.
    • Sistemska frekvenca: 160 MHz.
    • Prevajalnik: IAR V8.32.2.
    • voltage obseg: 1.
    • SMPS: VKLOP.
  2. Asociativna konfiguracija nabora načinov je učinkovitejša od asociativne konfiguracije 1-smernega nabora za kodo, ki je ni mogoče v celoti naložiti v predpomnilnik. Medtem je 1-smerni asociativni predpomnilnik skoraj vedno energetsko učinkovitejši od dvosmernega asociativnega predpomnilnika. Vsako kodo je treba ovrednotiti v obeh konfiguracijah asociativnosti, da se izbere najboljši kompromis med zmogljivostjo in porabo energije. Izbira je odvisna od prioritete uporabnika.

Zaključek

Prvi predpomnilniki, ki jih je razvilo podjetje STMicroelectronics, ICACHE in DCACHE, lahko predpomnijo notranje in zunanje pomnilnike ter nudijo izboljšavo zmogljivosti za podatkovni promet in pridobivanje navodil. Ta dokument prikazuje različne funkcije, ki jih podpirata ICACHE in DCACHE, njihova preprostost konfiguracije in prilagodljivost omogočata nižje stroške razvoja in hitrejši čas za trženje.

Zgodovina revizij

Tabela 11. Zgodovina revizij dokumenta

Datum Različica Spremembe
10. oktober 2019 1 Začetna izdaja.
 

 

27-2020.feb

 

 

2

posodobljeno:

• Tabela 2. Pomnilniške regije in njihovi naslovi

• Razdelek 2.1.7 Vzdrževanje ICACHE

• Razdelek 2.1.8 Varnost ICACHE

 

 

 

 

7. december 2021

 

 

 

 

3

posodobljeno:

• Naslov dokumenta

• Uvod

• Oddelek 1 ICACHE in DCACHE je končanview

• Dodan sklep 4. razdelka:

• Funkcije ICACHE in DCACHE v razdelku 2

• Oddelek 3 Zmogljivost in poraba energije ICACHE in DCACHE

 

 

 

 

 

 

15-2023.feb

 

 

 

 

 

 

4

posodobljeno:

•         Razdelek 2.2: Pametna arhitektura serije STM32U5

•         Razdelek 2.5: Blokovni diagram DCACHE

•         Razdelek 3.1.1: Dvojni glavni

•         Razdelek 3.1.2: 1-smerni proti 2-smernemu ICACHE

•         Razdelek 3.1.4: Področja, ki jih je mogoče predpomniti, in funkcija preslikave

•         Razdelek 3.2: Funkcije DCACHE

•         Razdelek 3.2.2: Regije, ki jih je mogoče predpomniti DCACHE

•         Razdelek 4: Zmogljivost in poraba energije ICACHE in DCACHE dodano:

•         Oddelek 1: Splošne informacije

 

11-mar-2024

 

5

posodobljeno:

•         Razdelek 2.3: Pametna arhitektura serije STM32H5

•         Razdelek 3.1.1: Dvojni glavni

POMEMBNO OBVESTILO – POZORNO PREBERITE
STMicroelectronics NV in njegove hčerinske družbe (»ST«) si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in/ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, ki veljajo v času potrditve naročila. Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri uporabi ali oblikovanje izdelkov kupcev. ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine. Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST podeli za tak izdelek. ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST glejte www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov. Informacije v tem dokumentu nadomestijo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta. © 2024 STMicroelectronics – Vse pravice pridržane

Dokumenti / Viri

Mikrokontrolerji serije STMicroelectronics STM32H5 [pdfUporabniški priročnik
Mikrokontrolerji serije STM32H5, STM32H5, mikrokrmilniki serije, mikrokrmilniki

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *