STMicroelectronics STM32H5 seeria mikrokontrollerid
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
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
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
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
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
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
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 |
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 |
- STM32L5 seeria / STM32H5 seeria / STM32U535/545/575/585 jaoks
- 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
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
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
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 |
- 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.
- 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.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: |
11. märts 2024 |
5 |
Värskendatud: |
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 |