STMicroelectronics-logo

STMicroelectronics STM32H5 seeria mikrokontrollerid

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-toode

Sissejuhatus

See rakenduse märkus kirjeldab käskude vahemälu (ICACHE) ja andmevahemälu (DCACHE), esimesi STMicroelectronicsi välja töötatud vahemälu. Arm® Cortex®-M33 protsessori AHB siinis kasutusele võetud ICACHE ja DCACHE on manustatud allolevas tabelis loetletud STM32 mikrokontrollerisse (MCU). Need vahemälud võimaldavad kasutajatel parandada oma rakenduste jõudlust ja vähendada tarbimist juhiste ja andmete toomisel nii sise- kui välismälust või andmeliikluse jaoks välismälust. See dokument annab tüüpilise eksampICACHE ja DCACHE funktsioonide esiletõstmiseks ja nende seadistamise hõlbustamiseks.

Tabel 1. Kohaldatavad tooted

Tüüp Tooteseeria
Mikrokontrollerid STM32H5 seeria, STM32L5 seeria, STM32U5 seeria

Üldine teave

Märkus.

See rakenduse märkus kehtib STM32 seeria mikrokontrollerite kohta, mis on Arm® Cortex® südamikupõhised seadmed. Arm on ettevõtte Arm Limited (või selle tütarettevõtete) registreeritud kaubamärk USA-s ja/või mujal.

ICACHE ja DCACHE läbiview

See jaotis pakub üleview ICACHE ja DCACHE liidestest, mis on manustatud STM32 Arm® Cortex® südamikupõhistesse mikrokontrolleritesse. Selles jaotises kirjeldatakse üksikasjalikult ICACHE ja DCACHE diagrammi ning integreerimist süsteemi arhitektuuriga.
STM32L5 seeria nutikas arhitektuur
See arhitektuur põhineb siinimaatriksil, mis võimaldab mitmel ülemseadmel (Cortex-M33, ICACHE, DMA1/2 ja SDMMC1) pääseda juurde mitmele alamseadmele (nt välkmälu, SRAM1/2, OCTOSPI1 või FSMC). Allolev joonis kirjeldab STM32L5 seeria nutikat arhitektuuri.

Joonis 1. STM32L5 seeria nutikas arhitektuur

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-1

Cortex-M33 jõudlust parandab C-AHB siini lisatud 8-kb ICACHE liidese kasutamine, kui laaditakse koodi või andmeid sisemäludest (välkmälu, SRAM1 või SRAM2) kiire siini kaudu ja ka välismälu (OCTOSPI1 või FSMC) aeglase siini kaudu.
STM32U5 seeria nutikas arhitektuur
See arhitektuur põhineb siinimaatriksil, mis võimaldab mitmel ülemseadmel (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D ja SDMMC-d, OTG_HS, LTDC, GPU2D, GFXMMU) pääseda juurde mitmele alamseadmele (nt välkmälu, SRAM-id, BKPSRAM, HSPI/ OCTOSPI või FSMC). Allolev joonis kirjeldab STM32U5 seeria nutikat arhitektuuri.

Joonis 2. STM32U5 seeria nutikas arhitektuur

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-2

Nii Cortex-M33 kui ka GPU2D liidesed saavad kasu vahemälu kasutamisest.

  • ICACHE parandab Cortex-M33 jõudlust koodi või andmete toomisel sisemäludest kiire siini kaudu (välkmälu, SRAM-id) ja välismäludest aeglase siini kaudu (OCTOSPI1/2 ja HSPI1 või FSMC). DCACHE1 parandab jõudlust andmete toomisel sisemistest või välistest mäludest s-busi kaudu (GFXMMU, OCTOSPI1/2 ja HSPI1 või FSMC).
  •  DCACHE2 parandab GPU2D jõudlust andmete toomisel sise- ja välismäludest (GFXMMU, välkmälu, SRAM-id, OCTOSPI1/2 ja HSPI1 või FSMC) M0-pordi siini kaudu.

STM32H5 seeria nutikas arhitektuur
STM32H523/H533, STM32H563/H573 ja STM32H562 nutikas arhitektuur See arhitektuur põhineb siinimaatriksil, mis võimaldab mitmel ülemseadmel (Cortex-M33, ICACHE, DCACHE, GPDMA-d, Ethernet ja SDMMC-d) pääseda juurde mitmele alammoodulile (nt B-välkmälu, SRAM-i, SRAM-i , OCTOSPI ja FMC). Allolev joonis kirjeldab STM32H5 seeria nutikat arhitektuuri.

Joonis 3. STM32H563/H573 ja STM32H562 seeria nutikas arhitektuur

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-3

Cortex-M33-le on kasulik vahemälu kasutamine.

  • ICACHE parandab Cortex-M33 jõudlust koodi või andmete toomisel sisemäludest kiire siini kaudu (välkmälu, SRAM-id) ja välismäludest aeglase siini kaudu (OCTOSPI ja FMC).
  • DCACHE parandab jõudlust andmete toomisel välistest mäludest aeglase siini kaudu (OCTOSPI ja FMC).

STM32H503 nutikas arhitektuur
See arhitektuur põhineb siinimaatriksil, mis võimaldab mitmel ülemseadmel (Cortex-M33, ICACHE ja GPDMA) pääseda juurde mitmele alamseadmele (nagu välkmälu, SRAM-id ja BKPSRAM). Allolev joonis kirjeldab STM32H5 seeria nutikat arhitektuuri.

Joonis 4. STM32H503 seeria nutikas arhitektuur

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-4

Cortex-M33-le on kasulik vahemälu kasutamine.

  • ICACHE parandab Cortex-M33 jõudlust koodi või andmete toomisel sisemäludest kiire siini kaudu (välkmälu, SRAM-id).

ICACHE plokkskeem
ICACHE plokkskeem on toodud alloleval joonisel.

Joonis 5. ICACHE plokkskeem

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-5

ICACHE mälu sisaldab:

  • a TAG mälu koos:
    • aadress tags mis näitavad, millised andmed on vahemälus
    • kehtivusbitid
  •  andmemälu, mis sisaldab vahemällu salvestatud andmeid

DCACHE plokkskeem
DCACHE plokkskeem on toodud alloleval joonisel.

Joonis 6. DCACHE plokkskeem

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-6

DCACHE mälu sisaldab:

  • a TAG mälu koos:
    • aadress tags mis näitavad, millised andmed on vahemälus
    • kehtivusbitid
    • privileegi osad
    • määrdunud killud
  • andmemälu, mis sisaldab vahemällu salvestatud andmeid

ICACHE ja DCACHE funktsioonid

Kahekordsed meistrid
ICACHE pääseb AHB siini maatriksile juurde järgmiselt:

  • Üks AHB põhiport: master1 (kiirsiin)
  • Kaks AHB peamist porti: master1 (kiire siin) ja master2 (aeglane siin)

See funktsioon võimaldab erinevatele mälupiirkondadele (nt sisemine välkmälu, sisemine SRAM ja välismälud) juurdepääsul liiklust lahti siduda, et vähendada protsessori seiskumist vahemälu vahelejäämise korral. Järgmine tabel võtab kokku mälupiirkonnad ja nende aadressid.

Tabel 2. Mälupiirkonnad ja nende aadressid

Välisseade Vahemälu juurdepääs Vahemällu ei saa juurdepääsu
 

 

Tüüp

 

 

Nimi

 

 

Toote nimi ja piirkonna suurus

 

 

Bussi nimi

 

Mitteturvaline piirkonna algusaadress

Turvaline, mitteturvaline helistatava piirkonna algusaadress  

 

Bussi nimi

 

Mitteturvaline piirkonna algusaadress

Turvaline, mitteturvaline helistatava piirkonna algusaadress
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sisemine

 

 

 

 

 

 

 

VÄLK

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

kiire buss

 

 

 

 

 

 

 

0x0800 0000

Ei kehti  

 

 

 

 

 

 

Ei kehti

 

 

 

 

 

 

 

Ei kehti

 

 

 

 

 

 

 

Ei kehti

STM32L5

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

Ei kehti  

 

 

 

 

 

 

 

S-buss

 

 

 

 

 

 

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

seeria

16 KB 0x0A00 4000 Ei kehti 0x2000 4000 Ei kehti
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

Välisseade Vahemälu juurdepääs Vahemällu ei saa juurdepääsu
 

 

 

 

 

 

 

 

 

Sisemine

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

kiire buss

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-buss

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  

 

 

 

 

 

 

 

 

 

 

 

Ei kehti

 

 

 

 

 

 

 

 

 

 

 

Väline

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

aeglane buss

(1)

 

 

 

 

 

 

Pseudonüümi aadress vahemikus [0x0000 0000

kuni 0x07FF FFFF] või [0x1000 0000:0x1FFF

FFFF], mis on määratletud ümberjaotamise funktsiooni abil

 

 

 

 

 

 

 

 

 

 

 

Ei kehti

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

OCTOSPI1

pank ebaturvaline

STM32L5/U5

seeria

STM32H563/ 573/562

 

 

0x9000 0000

 

FMC pank 3

ebaturvaline

STM32L5/U5

seeria

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

pank ebaturvaline

STM32U575/

585/59x/5ax/

5Fx/5Gx

 

0x7000 0000

 

FMC pank 1

ebaturvaline

STM32L5/U5

seeria

STM32H563/ 573/562

 

 

0x6000 0000

1. Valitakse selliste piirkondade uuesti kaardistamisel.

Ühesuunaline versus 1-suunaline ICACHE
Vaikimisi on ICACHE konfigureeritud assotsiatiivses töörežiimis (lubatud on kaks võimalust), kuid rakenduste jaoks, mis nõuavad väga väikest energiatarbimist, on võimalik ICACHE konfigureerida otsekaardistatud režiimis (ühesuunaline lubatud). ICACHE konfigureerimine toimub ICACHE_CR-i WAYSEL-bitiga järgmiselt:

  • WAYSEL = 0: otse kaardistatud töörežiim (ühesuunaline)
  • WAYSEL = 1 (vaikimisi): assotsiatiivne töörežiim (kahesuunaline)

Tabel 3. Ühesuunaline versus kahesuunaline ICACHE

Parameeter Ühesuunaline ICACHE Ühesuunaline ICACHE
Vahemälu suurus (KB) 8(1)/32(2)
Vahemällu salvestamine mitmel viisil 1 2
Vahemälu rea suurus 128 bitti (16 baiti)
Vahemälu ridade arv 512(1)/2048(2) 256(1)/1024(2) ühe suuna kohta
  1. STM32L5 seeria / STM32H5 seeria / STM32U535/545/575/585 jaoks
  2. For STM32U59x/5Ax/5Fx/5Gx

Purske tüüp
Mõned Octo-SPI mälud toetavad WRAP-paketti, mis pakub kriitilise sõna-esimese funktsiooni jõudlust. Uuesti vastendatud piirkondade AHB-mälutehingu ICACHE-paketi tüüp on konfigureeritav. See rakendab inkrementaalset sarivõtet või WRAP-paketti, mis on valitud HBURST-bitiga registris ICACHE_CRRx. Erinevused WRAP-i ja inkrementaalsete purskete vahel on toodud allpool (vt ka joonist):

  • WRAP-i sari:
    • vahemälu rea suurus = 128 bitti
    • purske algusaadress = protsessori poolt küsitud esimeste andmete sõnaaadress
  •  Täiendav sari:
    • vahemälu rea suurus = 128 bitti
    • sarja algusaadress = aadress, mis on joondatud taotletud sõna sisaldava vahemälu rea piiril

Joonis 7. Kasvav versus WRAP-sari

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-9

Vahemällu salvestatavad piirkonnad ja uuesti kaardistamise funktsioon
ICACHE on ühendatud Cortex-M33-ga läbi C-AHB siini ja salvestab vahemällu koodipiirkonna aadressidest [0x0000 0000 kuni 0x1FFF FFF]. Kuna välismälud on kaardistatud aadressil, mis jääb vahemikku [0x6000 0000 kuni 0xAFFF FFFF], toetab ICACHE ümberjaotusfunktsiooni, mis võimaldab mis tahes välist mälupiirkonda uuesti vastendada aadressil, mis jääb vahemikku [0x0000 0000 kuni 0x07FF FFFF] või [0x1000 0000 kuni 0x1FFF FFFF] ja saada juurdepääsetavaks C-AHB siini kaudu. Selle funktsiooniga saab ümber kaardistada kuni neli välist mälupiirkonda. Kui piirkond on uuesti vastendatud, toimub uuesti kaardistamise toiming isegi siis, kui ICACHE on keelatud või kui tehingut ei saa vahemällu salvestada. Vahemällu salvestatavad mälupiirkonnad saab kasutaja mälukaitseüksuses (MPU) määratleda ja programmeerida. Allolev tabel võtab kokku STM32L5 ja STM32U5 seeria mälude konfiguratsioonid.

Tabel 4. STM32L5 ja STM32U5 seeria mälude konfigureerimine

 

Toote mälu

Vahemällu salvestatav

(MPU programmeerimine)

Uuesti kaardistatud ICACHE-s

(ICACHE_CRRx programmeerimine)

Välkmälu Jah või ei  

Ei nõuta

SRAM Ei soovita
Välised mälud (HSPI/OCTOSPI või FSMC) Jah või ei Nõutav, kui kasutaja soovib välist koodi toomist C-AHB siinil (muul S-AHB siinil)

ICACHE välismälu ümberjaotamise eelised
EndineampAlloleval joonisel on näidatud, kuidas saada kasu ICACHE täiustatud jõudlusest koodi täitmise või andmete lugemise ajal, kui pääsete juurde välisele 8-MB välisele Octo-SPI mälule (nt väline välkmälu või RAM).

Joonis 8. Octo-SPI mälu remap example

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-7

Selle välismälu uuesti kaardistamiseks on vaja järgmisi samme.

OCTOSPI konfiguratsioon välismälu jaoks

Konfigureerige OCTOSPI liides, et pääseda juurde välismälule mälu vastendatud režiimis (välist mälu nähakse sisemäluna, mis on vastendatud piirkonnas [0x9000 0000 kuni 0x9FFF FFFF]). Kuna välismälu suurus on 8 Mbaiti, kuvatakse see piirkonnas [0x9000 0000 kuni 0x907F FFFF]. Selle piirkonna välismälule pääseb juurde S-bussi kaudu ja see ei ole vahemällu salvestatav. Järgmine samm näitab ICACHE konfiguratsiooni, et seda piirkonda ümber kaardistada.
Märkus. Mälukaardistatud režiimis OCTOSPI konfiguratsiooni kohta vaadake rakenduse märkust Octo-SPI liides STM32 mikrokontrolleritel (AN5050

ICACHE konfiguratsioon välise mäluga kaardistatud piirkonna uuesti vastendamiseks
Piirkonda [8x0 9000 kuni 0000x0F FFFF] paigutatud 907 Mbaiti vastendatakse ümber piirkonnaks [0x1000 0000 kuni 0x107F FFFF]. Seejärel pääseb neile juurde aeglase siini (ICACHE master2 siini) kaudu.

  • ICACHE_CR registri konfiguratsioon
    • Keela ICACHE, kui EN = 0.
    • Valige 1- või 2-suunaline (olenevalt rakenduse vajadustest), mille WAYSEL = 0 või 1, vastavalt.
  • ICACHE_CRRx registri konfiguratsioon (kuni neli piirkonda, x = 0 kuni 3)
    • Valige 0x1000 0000 põhiaadress (ümberkujundamise aadress), mille BASEADDR [28:21] = 0x80.
    • Valige 8 megabaidine piirkonna suurus, mida soovite uuesti vastendada väärtusega RSIZE[2:0] = 0x3.
    • Valige 0x9000 0000 uuesti vastendatud aadress REMAPADDR[31:21] = 0x480.
    • Valige välismälu jaoks ICACHE AHB master2 port, mille MSTSEL = 1.
    • Valige WRAP-i sarivõtte tüüp, mille HBURST = 0.
    • Lubage piirkonna x uuesti vastendamine, kui REN = 1.

Järgmine joonis näitab, kuidas mälupiirkondi IAR-iga nähakse pärast ümberkaardistamise lubamist.

Joonis 9. Mälupiirkondade ümberkujundamine ntample

STMicroelectronics-STM32H5-seeria-mikrokontrollerid-joon-8

8-MB välismälu on nüüd uuesti kaardistatud ja sellele pääseb juurde piirkonna [0x1000 0000 kuni 0x107F FFFF] kaudu.

ICACHE lubamine

  • ICACHE_CR registri konfiguratsioon Lubage ICACHE, kui EN = 1.

Tabamus-ja-mis-monitorid
ICACHE pakub jõudluse analüüsiks kahte monitori: 32-bitise tabamuse monitori ja 16-bitise puudujäägiga monitori.

  • Tabamusmonitor loendab vahemällu salvestatavad AHB-tehingud alam-vahemälu pordis, mis tabab ICACHE-sisu (vahemälus juba saadaval olevad andmed). Tabamuse jälgimise loendur on saadaval registris ICACHE_HMONR.
  • Miss monitor loendab vahemällu salvestatavad AHB tehingud alam-vahemälu pordis, mis ei sisalda ICACHE sisu (tõmmatud andmed pole vahemälus juba saadaval). Puuduv monitori loendur on saadaval registris ICACHE_MMONR.

Märkus.

Need kaks monitori ei katke maksimumväärtuste saavutamisel ümber. Neid monitore hallatakse registris ICACHE_CR järgmistest bittidest:

  • HITMEN bit (vastavalt MISSMEN bit) tabamuse (vastavalt möödalaskmise) monitori lubamiseks/peatamiseks
  • HITMRST bit (vastavalt MISSMRST bit) tabamuse (vastavalt puudu) monitori lähtestamiseks Vaikimisi on need monitorid energiatarbimise vähendamiseks keelatud.

ICACHE hooldus
Tarkvara võib ICACHE kehtetuks muuta, määrates ICACHE_CR registris biti CACHEINV. See toiming muudab kogu vahemälu kehtetuks, muutes selle tühjaks. Vahepeal, kui mõned uuesti vastendatud piirkonnad on lubatud, on uuesti kaardistamise funktsioon endiselt aktiivne, isegi kui ICACHE on keelatud. Kuna ICACHE haldab ainult lugemistehinguid ja ei halda kirjutamistehinguid, ei taga see kirjutamise puhul sidusust. Järelikult peab tarkvara pärast piirkonna programmeerimist ICACHE kehtetuks tunnistama.

ICACHE turvalisus
ICACHE on turvaline välisseade, mida saab GTZC TZSC turvalise konfiguratsiooniregistri kaudu turvaliseks konfigureerida. Kui see on konfigureeritud turvaliseks, on ICACHE registritele lubatud ainult turvaline juurdepääs. ICACHE saab konfigureerida ka privilegeerituks GTZC TZSC privileegide konfiguratsiooniregistri kaudu. Kui ICACHE on konfigureeritud privilegeeritud, on ICACHE registritele lubatud ainult privilegeeritud juurdepääs. Vaikimisi ei ole ICACHE GTZC TZSC kaudu turvaline ja privilegeeritud.

Sündmuste ja katkestuste haldamine

ICACHE haldab funktsionaalseid vigu, kui need tuvastatakse, määrates ICACHE_SR-i lipu ERRF. Katkestuse saab genereerida ka siis, kui ERRIE-bitt on määratud ICACHE_IER-is. ICACHE kehtetuks tunnistamise korral, kui vahemälu hõivatud olek on lõppenud, määratakse ICACHE_SR-is lipp BSYENDF. Katkestuse saab genereerida ka siis, kui BSYENDIE bitt on seadistatud ICACHE_IER-is. Allolevas tabelis on loetletud ICACHE katkestuste ja sündmuste lipud.

Tabel 5. ICACHE katkestuse ja sündmuste haldamise bitid

Registreeru Biti nimi Biti kirjeldus Bitijuurdepääsu tüüp
 

ICACHE_SR

HÕIVATUD Vahemälu teostab täielikku kehtetuks tunnistamise toimingut  

Kirjutuskaitstud

BSYENDF Vahemälu kehtetuks tunnistamise toiming on lõppenud
VIGA Vahemällu salvestamise ajal ilmnes viga
 

ICACHE_IER

ERRIE Vahemälu tõrke korral katkestuse lubamine  

Loe/kirjuta

BSYENDIE Luba katkestus, kui kehtetuks tunnistamise toiming on lõppenud
 

ICACHE_FCR

CERRF Tühjendab ERRF-i ICACHE_SR-is  

Ainult kirjutatav

CBSYENDF Tühjendab BSYENDF-i asukohas ICACHE_SR

DCACHE funktsioonid
Andmevahemälu eesmärk on vahemällu salvestada protsessorilt või muult siini põhivälisseadmelt tulevaid välismälu andmekoormusi ja andmesalve. DCACHE haldab nii lugemis- kui ka kirjutamistehinguid.
DCACHE vahemällu mahutav liiklus

DCACHE vahemällu salvestab välismälud peapordi liidesest AHB siini kaudu. Sissetulevad mälupäringud määratletakse vahemällu salvestatavatena vastavalt nende AHB tehingumälu lukustamise atribuudile. DCACHE kirjutamispoliitika määratletakse läbi- või tagasikirjutamisena sõltuvalt MPU konfigureeritud mäluatribuudist. Kui piirkond on konfigureeritud vahemällu mittepestavaks, jäetakse DCACHE mööda.

 Tabel 6. DCACHE vahemälu AHB tehingu jaoks

AHB otsingu atribuut AHB puhverdatav atribuut Vahemällu salvestatavus
0 X Lugemine ja kirjutamine: vahemällu ei salvestata
 

1

 

0

Loe: vahemällu salvestatav

Kirjutamine: (vahemällu salvestatav) läbikirjutamine

 

1

 

1

Loe: vahemällu salvestatav

Kirjutamine: (vahemällu salvestatav) tagasikirjutamine

DCACHE vahemällu salvestatavad piirkonnad
STM32U5 seeria puhul on DCACHE1 alamliides ühendatud Cortex-M33-ga S-AHB siini kaudu ja salvestab vahemällu GFXMMU, FMC ja HSPI/OCTOSPI. DCACHE2 alamliides on ühendatud DMA2D-ga M0 pordi siini kaudu ja salvestab vahemällu kõik sisemised ja välised mälud (välja arvatud SRAM4 ja BRKPSRAM). STM32H5 seeria puhul on DCACHE alamliides ühendatud Cortex-M33-ga läbi S-AHB välismälu FMC ja OCTOSPI kaudu.

Tabel 7. DCACHE vahemällu salvestatavad piirkonnad ja liidesed

Vahemällu salvestatav aadressipiirkond DCACHE1 vahemällu salvestatavad liidesed DCACHE2 vahemällu salvestatavad liidesed
GFXMMU X X
SRAM1  

 

 

Ei kehti

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

Märkus

Teatud tooted ei toeta mõnda liidest. Vaadake joonist 1 või konkreetse toote viitejuhendit.
Purske tüüp
Samamoodi nagu ICACHE, toetab DCACHE astmelisi ja mähitud sarivõtte (vt jaotis 3.1.3). DCACHE puhul on sarivõtte tüüp konfigureeritud DCACHE_CR-i HBURST-biti kaudu.
DCACHE konfiguratsioon
Alglaadimise ajal on DCACHE vaikimisi keelatud, muutes alammälu päringud otse ülemporti. DCACHE lubamiseks tuleb registris DCACHE_CR määrata bitt EN. Tulemus-ja-mis-monitorid DCACHE rakendab vahemälu jõudluse analüüsimiseks nelja monitori:

  • Kaks 32-bitist (R/W) tabamusmonitori: loendab, mitu korda CPU vahemällu andmeid luges või kirjutas, ilma et tekiks tehingut DCACHE põhiportides (andmed on vahemälus juba saadaval). (R/W) tabamusmonitoride loendurid on saadaval vastavalt registrites DCACHE_RHMONR ja DCACHE_WHMONR.
  • Kaks 16-bitist (R/W) miss monitori: loendage, mitu korda CPU luges või kirjutab andmeid vahemällu ja genereerib tehingu DCACHE peaportides, et laadida andmeid mälupiirkonnast (andmeid ei laeta juba vahemälus saadaval). (R/W) miss monitors loendurid on saadaval vastavalt DCACHE_RMMONR ja DCACHE_WMMONR registrites.

Märkus.

Need neli monitori ei lähe oma maksimumväärtuste saavutamisel ümber. Neid monitore hallatakse registris DCACHE_CR järgmistest bittidest:

  • WHITMAN-bitt (vastavalt WMISSMEN-bitt), et lubada/peatada kirjutuslöögi (vastavalt vahelejätmine) monitor
  • RHITMEN bit (vastavalt RMISSMEN bit), et lubada/peatada lugemislöögi (vastavalt vahele jätta) monitor
  • WHITMRST bitt (vastavalt WMISSMRST bit) kirjutuslöögi (vastavalt puudu) monitori lähtestamiseks
  • RHITMRST-bitt (vastavalt RMISSMRST-bitt), et lähtestada lugemislöögi (vastavalt puudu) monitori

Vaikimisi on need monitorid energiatarbimise vähendamiseks keelatud.

DCACHE hooldus
DCACHE pakub mitmeid hooldustoiminguid, mida saab DCACHE_CR-is konfigureerida CACHECMD[2:0] kaudu.

  • 000: toimingut pole (vaikimisi)
  • 001: puhas vahemik. Puhastage vahemälus teatud vahemik
  • 010: tühista vahemik. Muutke vahemälus teatud vahemik kehtetuks
  • 010: puhastage ja tühistage vahemik. Puhastage ja tühistage vahemälu teatud vahemik

Valitud vahemik konfigureeritakse järgmiselt:

  • CMDSTARTADDR register: käsu algusaadress
  • CMDENDADDR register: käsu lõpu aadress

Märkus.

See register tuleb seadistada enne CACHECMD kirjutamist. Vahemälu käskude hooldus algab siis, kui STARTCMD bitt on DCACHE_CR registris seatud. DCACHE toetab ka täielikku CACHE kehtetuks tunnistamist, määrates DCACHE_CR registris biti CACHEINV.

DCACHE turvalisus
DCACHE on turvaline välisseade, mida saab GTZC TZSC turvalise konfiguratsiooniregistri kaudu turvaliseks konfigureerida. Kui see on konfigureeritud turvaliseks, on DCACHE registritele lubatud ainult turvaline juurdepääs. DCACHE-d saab konfigureerida ka privilegeerituks GTZC TZSC privileegide konfiguratsiooniregistri kaudu. Kui DCACHE on konfigureeritud privilegeeritud, on DCACHE registritele lubatud ainult privilegeeritud juurdepääs. Vaikimisi ei ole DCACHE GTZC TZSC kaudu turvaline ja privilegeeritud.

Sündmuste ja katkestuste haldamine
DCACHE haldab funktsionaalseid vigu, kui need tuvastatakse, määrates ERRF lipu DCACHE_SR. Katkestuse saab genereerida ka siis, kui ERRIE-bitt on määratud DCACHE_IER-is. DCACHE kehtetuks tunnistamise korral, kui vahemälu hõivatud olek on lõppenud, määratakse DCACHE_SR-i lipp BSYENDF. Katkestuse saab genereerida ka siis, kui BSYENDIE bitt on seadistatud DCACHE_IER-is. DCACHE käsu olekut saab kontrollida CMDENF-i ja BUSYCMDF-i kaudu DCACHE_SR-i kaudu. Katkestuse saab genereerida ka siis, kui CMDENDIE bitt on DCACHE_IER-is seatud. Allolevas tabelis on loetletud DCACHE katkestused ja sündmuste lipud

Tabel 8. DCACHE Katkestuste ja sündmuste haldamise bitid

Registreeru Registreeru Biti kirjeldus Bitijuurdepääsu tüüp
 

 

 

DCACHE_SR

HÕIVATUD Vahemälu teostab täielikku kehtetuks tunnistamise toimingut  

 

 

Kirjutuskaitstud

BSYENDF Vahemälu täielik kehtetuks tunnistamise toiming lõppes
BUSYCMDF Vahemälu, mis täidab vahemiku käsku
CMENDDF Vahemiku käsu lõpp
ERRF Vahemällu salvestamise ajal ilmnes viga
 

DCACHE_IER

ERRIE Vahemälu tõrke korral katkestuse lubamine  

Loe/kirjuta

CMDENDIE Luba katkestus vahemiku käsu lõpus
BSYENDIE Luba katkestus täieliku kehtetuks tunnistamise toimingu lõpus
 

DCACHE_FCR

CERRF Kustutab ERRF-i kaustas DCACHE_SR  

Ainult kirjutatav

CCMDENDF Tühjendab CMENDDF-i kaustas DCACHE_SR
CBSYENDF Tühjendab BSYENDF-i DCACHE_SR-is

ICACHE ja DCACHE jõudlus ja energiatarve

ICACHE ja DCACHE kasutamine parandab rakenduse jõudlust välismälu juurde pääsemisel. Järgmine tabel näitab ICACHE ja DCACHE mõju CoreMark® täitmisele välismäludele juurdepääsul.

Tabel 9. ICACHE ja DCACHE jõudlus CoreMarki täitmisel väliste mäludega

(1)
CoreMarki kood CoreMarki andmed ICACHE konfiguratsioon DCACHE konfiguratsioon CoreMarki skoor/Mhz
Sisemine Flash-mälu Sisemine SRAM Lubatud (kahesuunaline) Keelatud 3.89
Sisemine Flash-mälu Väline Octo-SPI PSRAM (S-bus) Lubatud (kahesuunaline) Lubatud 3.89
Sisemine Flash-mälu Väline Octo-SPI PSRAM (S-bus) Lubatud (kahesuunaline) Keelatud 0.48
Väline Octo-SPI välklamp (C-bus) Sisemine SRAM Lubatud (kahesuunaline) Keelatud 3.86
Väline Octo-SPI välklamp (C-bus) Sisemine SRAM Keelatud Keelatud 0.24
Sisemine Flash-mälu Sisemine SRAM Keelatud Keelatud 2.69

Testimistingimused:

  • Kohaldatav toode: STM32U575/585
  • Süsteemi sagedus: 160 MHz.
  • Väline Octo-SPI PSRAM-mälu: 80 MHz (DTR-režiim).
  • Väline Octo-SPI välkmälu: 80 MHz (STR-režiim).
  • Koostaja: IAR V8.50.4.
  • Sisemine välklamp EELNÕU: SEES.

ICACHE ja DCACHE kasutamine vähendab sise- ja välismälu kasutamisel energiatarbimist. Järgmine tabel näitab ICACHE mõju energiatarbimisele CoreMarki täitmise ajal.

Tabel 10. CoreMarki täitmise ICACHE mõju energiatarbimisele

ICACHE konfiguratsioon MCU energiatarve (mA)
Lubatud (kahesuunaline) 7.60
Lubatud (ühesuunaline) 7.13
Keelatud 8.89
  1. Testimistingimused:
    • Kohaldatav toode: STM32U575/585
    • CoreMarki kood: sisemine välkmälu.
    • CoreMarki andmed: sisemine SRAM.
    • Sisemine välkmälu PREFETCH: ON.
    • Süsteemi sagedus: 160 MHz.
    • Koostaja: IAR V8.32.2.
    • Voltage vahemik: 1.
    • SMPS: SEES.
  2. viiside komplekti assotsiatiivne konfiguratsioon on tõhusam kui ühesuunaline assotsiatiivne konfiguratsioon koodi jaoks, mida ei saa täielikult vahemällu laadida. Samal ajal on ühesuunaline assotsiatiivne vahemälu peaaegu alati energiatõhusam kui kahesuunaline assotsiatiivne vahemälu. Iga koodi tuleb hinnata mõlemas assotsiatiivsuse konfiguratsioonis, et valida jõudluse ja energiatarbimise vahel parim kompromiss. Valik sõltub kasutaja prioriteedist.

Järeldus

Esimesed vahemälud, mille on välja töötanud STMicroelectronics, ICACHE ja DCACHE, suudavad vahemällu salvestada sise- ja välismäludesse, pakkudes andmeliikluse ja juhiste toomise jõudlust. See dokument näitab erinevaid funktsioone, mida ICACHE ja DCACHE toetavad, nende konfiguratsiooni lihtsus ja paindlikkus võimaldavad madalamaid arenduskulusid ja kiiremat turuletulekut.

Läbivaatamise ajalugu

Tabel 11. Dokumendi redaktsioonide ajalugu

Kuupäev Versioon Muudatused
10.-2019. oktoober 1 Esialgne vabastamine.
 

 

27. veebruar 2020

 

 

2

Värskendatud:

• Tabel 2. Mälupiirkonnad ja nende aadressid

• Jaotis 2.1.7 ICACHE hooldus

• Jaotis 2.1.8 ICACHE turvalisus

 

 

 

 

7. detsember 2021

 

 

 

 

3

Värskendatud:

• Dokumendi pealkiri

• Sissejuhatus

• 1. jaotis ICACHE ja DCACHE on läbiview

• Lisatud 4. jao järeldus:

• Jaotis 2 ICACHE ja DCACHE funktsioonid

• Jaotis 3 ICACHE ja DCACHE jõudlus ja energiatarve

 

 

 

 

 

 

15. veebruar 2023

 

 

 

 

 

 

4

Värskendatud:

•         Jaotis 2.2: STM32U5 seeria nutikas arhitektuur

•         Jaotis 2.5: DCACHE plokkskeem

•         Jaotis 3.1.1: Topeltjuhid

•         Jaotis 3.1.2: ühesuunaline versus kahesuunaline ICACHE

•         Jaotis 3.1.4: Vahemällu salvestatavad piirkonnad ja ümberkujundamise funktsioon

•         Jaotis 3.2: DCACHE funktsioonid

•         Jaotis 3.2.2: DCACHE vahemällu salvestatavad piirkonnad

•         4. jaotis: ICACHE ja DCACHE jõudlus ja energiatarve Lisatud:

•         1. jagu: Üldteave

 

11. märts 2024

 

5

Värskendatud:

•         Jaotis 2.3: STM32H5 seeria nutikas arhitektuur

•         Jaotis 3.1.1: Topeltjuhid

TÄHTIS MÄRKUS – LUGEGE HOOLIKAS
STMicroelectronics NV ja selle tütarettevõtted („ST”) jätavad endale õiguse teha ST-toodetes ja/või selles dokumendis igal ajal ilma ette teatamata muudatusi, parandusi, täiendusi, modifikatsioone ja täiendusi. Ostjad peaksid enne tellimuste esitamist hankima uusima asjakohase teabe ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtisid tellimuse kinnitamise ajal. Ostjad vastutavad ainuisikuliselt ST-toodete valiku, valiku ja kasutamise eest ning ST ei vastuta rakendusabi ega ostjate toodete disaini eest. ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele. ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii. ST ja ST logo on ST kaubamärgid. Lisateavet ST kaubamärkide kohta leiate veebisaidilt www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele. Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe. © 2024 STMicroelectronics – kõik õigused kaitstud

Dokumendid / Ressursid

STMicroelectronics STM32H5 seeria mikrokontrollerid [pdfKasutusjuhend
STM32H5 seeria mikrokontrollerid, STM32H5, seeria mikrokontrollerid, mikrokontrollerid

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *