STMicroelectronics logotipas

STMicroelectronics STM32H5 serijos mikrovaldikliai

STMicroelectronics-STM32H5-Series-Microcontrollers-product

Įvadas

Šioje programos pastaboje aprašoma instrukcijų talpykla (ICACHE) ir duomenų talpykla (DCACHE), pirmosios talpyklos, kurias sukūrė STMicroelectronics. ICACHE ir DCACHE, įdiegtos Arm® Cortex®-M33 procesoriaus AHB magistralėse, yra įterptos į STM32 mikrovaldiklį (MCU), išvardytus toliau esančioje lentelėje. Šios talpyklos leidžia vartotojams pagerinti savo programų našumą ir sumažinti suvartojimą, kai gaunamos instrukcijos ir duomenys iš vidinių ir išorinių atmintinių arba duomenų srautas iš išorinių atmintinių. Šiame dokumente pateikiami tipiški buvamples pabrėžti ICACHE ir DCACHE funkcijas ir palengvinti jų konfigūraciją.

1 lentelė. Taikomi produktai

Tipas Gaminių serija
Mikrovaldikliai STM32H5 serija, STM32L5 serija, STM32U5 serija

Bendra informacija

Pastaba:

Ši taikymo pastaba taikoma STM32 serijos mikrovaldikliams, kurie yra Arm® Cortex® pagrindiniai įrenginiai. Arm yra registruotasis Arm Limited (arba jos dukterinių įmonių) prekės ženklas JAV ir (arba) kitur.

ICACHE ir DCACHE baigėsiview

Šiame skyriuje pateikiama pabaigaview ICACHE ir DCACHE sąsajų, įterptų į STM32 Arm® Cortex® pagrindinius mikrovaldiklius. Šiame skyriuje išsamiai aprašomos ICACHE ir DCACHE diagramos ir integravimas į sistemos architektūrą.
STM32L5 serijos išmanioji architektūra
Ši architektūra pagrįsta magistralės matrica, leidžiančia keliems pagrindiniams įrenginiams (Cortex-M33, ICACHE, DMA1/2 ir SDMMC1) pasiekti kelis pavaldinius (pvz., „Flash“ atmintį, SRAM1/2, OCTOSPI1 arba FSMC). Toliau pateiktame paveikslėlyje aprašyta STM32L5 serijos išmanioji architektūra.

1 pav. STM32L5 serijos išmanioji architektūra

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

„Cortex-M33“ našumas pagerinamas naudojant 8 baitų ICACHE sąsają, įvestą į jos C-AHB magistralę, kai gaunamas kodas arba duomenys iš vidinių atmintinių (flash atminties, SRAM1 arba SRAM2) per greitąją magistralę, taip pat iš išorinės atminties (OCTOSPI1 arba FSMC) per lėtą magistralę.
STM32U5 serijos išmanioji architektūra
Ši architektūra yra pagrįsta magistralės matrica, leidžiančia keliems pagrindiniams kompiuteriams (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D ir SDMMC, OTG_HS, LTDC, GPU2D, GFXMMU) pasiekti kelis pavaldinius (pvz., „Flash“ atmintį, SRAM, BKPSRAM, HSPI/ OCTOSPI arba FSMC). Toliau pateiktame paveikslėlyje aprašyta STM32U5 serijos išmanioji architektūra.

2 pav. STM32U5 serijos išmanioji architektūra

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

„Cortex-M33“ ir „GPU2D“ sąsajoms naudinga naudoti CACHE.

  • ICACHE pagerina Cortex-M33 našumą, kai gaunamas kodas arba duomenys iš vidinių atmintinių per greitąją magistralę (flash atmintis, SRAM) ir iš išorinių atmintinių per lėtą magistralę (OCTOSPI1/2 ir HSPI1 arba FSMC). DCACHE1 pagerina našumą, kai duomenys gaunami iš vidinių arba išorinių atmintinių per s-bus (GFXMMU, OCTOSPI1/2 ir HSPI1 arba FSMC).
  •  DCACHE2 pagerina GPU2D našumą, kai gaunami duomenys iš vidinių ir išorinių atmintinių (GFXMMU, „flash“ atminties, SRAM, OCTOSPI1/2 ir HSPI1 arba FSMC) per M0 prievado magistralę.

STM32H5 serijos išmanioji architektūra
STM32H523/H533, STM32H563/H573 ir STM32H562 išmanioji architektūra Ši architektūra pagrįsta magistralės matrica, leidžiančia keliems pagrindiniams įrenginiams (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet ir SDMMC) pasiekti kelis pavaldžius įrenginius (pvz., BRAM, BRAM, SRAM). , OCTOSPI ir FMC). Toliau pateiktame paveikslėlyje aprašyta STM32H5 serijos išmanioji architektūra.

3 pav. STM32H563/H573 ir STM32H562 serijų išmanioji architektūra

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

Cortex-M33 naudinga naudojant CACHE.

  • ICACHE pagerina Cortex-M33 našumą, kai gaunamas kodas arba duomenys iš vidinių atmintinių per greitąją magistralę (flash atmintis, SRAM) ir iš išorinių atmintinių per lėtą magistralę (OCTOSPI ir FMC).
  • DCACHE pagerina našumą, kai duomenys gaunami iš išorinių atmintinių per lėtą magistralę (OCTOSPI ir FMC).

STM32H503 išmanioji architektūra
Ši architektūra pagrįsta magistralės matrica, leidžiančia keliems pagrindiniams įrenginiams (Cortex-M33, ICACHE ir GPDMA) pasiekti kelis pavaldinius (pvz., „Flash“ atmintį, SRAM ir BKPSRAM). Toliau pateiktame paveikslėlyje aprašyta STM32H5 serijos išmanioji architektūra.

4 pav. STM32H503 serijos išmanioji architektūra

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

Cortex-M33 naudinga naudojant CACHE.

  • ICACHE pagerina Cortex-M33 našumą, kai gaunamas kodas arba duomenys iš vidinių atmintinių per greitąją magistralę (flash atmintį, SRAM).

ICACHE blokinė schema
ICACHE blokinė schema pateikta paveikslėlyje žemiau.

5 pav. ICACHE blokinė schema

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

ICACHE atmintyje yra:

  • į TAG atmintis su:
    • adresą tags kurie nurodo, kurie duomenys yra talpyklos duomenų atmintyje
    • galiojimo bitai
  •  duomenų atmintį, kurioje yra talpykloje saugomi duomenys

DCACHE blokinė schema
DCACHE blokinė schema pateikta paveikslėlyje žemiau.

6 pav. DCACHE blokinė schema

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

DCACHE atmintyje yra:

  • į TAG atmintis su:
    • adresą tags kurie nurodo, kurie duomenys yra talpyklos duomenų atmintyje
    • galiojimo bitai
    • privilegijų dalis
    • nešvarūs gabaliukai
  • duomenų atmintį, kurioje yra talpykloje saugomi duomenys

ICACHE ir DCACHE funkcijos

Dvigubi meistrai
ICACHE pasiekia AHB magistralės matricą:

  • Vienas AHB pagrindinis prievadas: master1 (greitasis magistralė)
  • Du pagrindiniai AHB prievadai: master1 (greita magistralė) ir master2 (lėta magistralė)

Ši funkcija leidžia atsieti srautą pasiekiant skirtingus atminties regionus (pvz., vidinę „flash“ atmintį, vidinę SRAM ir išorines atmintis), kad būtų sumažintas procesoriaus strigimas dėl talpyklos praleidimo. Šioje lentelėje apibendrinami atminties regionai ir jų adresai.

2 lentelė. Atminties regionai ir jų adresai

Periferinė Prieiga prie talpyklos atminties Prieiga prie talpyklos atminties nėra
 

 

Tipas

 

 

Vardas

 

 

Produkto pavadinimas ir regiono dydis

 

 

Autobuso pavadinimas

 

Nesaugus regiono pradžios adresas

Saugus, nesaugus skambinimo regiono pradžios adresas  

 

Autobuso pavadinimas

 

Nesaugus regiono pradžios adresas

Saugus, nesaugus skambinimo regiono pradžios adresas
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vidinis

 

 

 

 

 

 

 

BLYKSTE

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

greitas autobusas

 

 

 

 

 

 

 

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-autobusas

 

 

 

 

 

 

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

serija

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

Periferinė Prieiga prie talpyklos atminties Prieiga prie talpyklos atminties nėra
 

 

 

 

 

 

 

 

 

Vidinis

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

greitas autobusas

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-autobusas

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

 

 

 

 

 

 

 

 

 

 

 

Išorinis

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

lėtas autobusas

(1)

 

 

 

 

 

 

Pseudonimo adresas diapazone [0x0000 0000

į 0x07FF FFFF] arba [0x1000 0000:0x1FFF

FFFF], apibrėžiamas perjungimo funkcija

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

bankas nesaugus

STM32L5/U5

serija

STM32H563/ 573/562

 

 

0x9000 0000

 

FMC bankas 3

nesaugus

STM32L5/U5

serija

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

bankas nesaugus

STM32U575/

585/59x/5ax/

5Fx/5Gx

 

0x7000 0000

 

FMC bankas 1

nesaugus

STM32L5/U5

serija

STM32H563/ 573/562

 

 

0x6000 0000

1. Turi būti pasirinkta perjungiant tokius regionus.

1 kryptis, palyginti su 2 kryptimis ICACHE
Pagal numatytuosius nustatymus ICACHE yra sukonfigūruotas asociatyviuoju veikimo režimu (įgalinti du būdai), tačiau galima sukonfigūruoti ICACHE tiesioginio susiejimo režimu (įjungta į vieną pusę) programoms, kurioms reikalingas labai mažas energijos suvartojimas. ICACHE konfigūracija atliekama naudojant WAYSEL bitą ICACHE_CR taip:

  • WAYSEL = 0: tiesioginis susietas darbo režimas (viena kryptimi)
  • WAYSEL = 1 (numatytasis): asociatyvus veikimo režimas (dviejų krypčių)

3 lentelė. Vienpusis ir dvipusis ICACHE

Parametras Vienpusis ICACHE Vienpusis ICACHE
Talpyklos dydis (KB) 8 straipsnio 1 dalis / 32 straipsnio 2 dalis
Saugokite talpyklą keliais būdais 1 2
Talpyklos eilutės dydis 128 bitai (16 baitų)
Talpyklos eilučių skaičius 512 straipsnio 1 dalis / 2048 straipsnio 2 dalis 256(1)/1024(2) į vieną pusę
  1. STM32L5 serijai / STM32H5 serijai / STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Burst tipas
Kai kurios „Octo-SPI“ atmintinės palaiko WRAP seriją, kuri suteikia svarbios funkcijos našumo pranašumus. AHB atminties operacijos ICACHE serijos tipą, skirtą pertvarkytiems regionams, galima konfigūruoti. Jis įgyvendina laipsnišką seriją arba WRAP seriją, pasirinktą naudojant HBURST bitą ICACHE_CRRx registre. WRAP ir laipsniškų serijų skirtumai pateikti žemiau (taip pat žr. pav.):

  • WRAP serija:
    • talpyklos eilutės dydis = 128 bitai
    • pradžios adresas = pirmųjų duomenų, kurių paprašė CPU, žodžio adresas
  •  Laipsniškas sprogimas:
    • talpyklos eilutės dydis = 128 bitai
    • serijos pradžios adresas = adresas, suderintas su talpyklos eilutės, kurioje yra prašomas žodis, ribos

7 pav. Prieauginis, palyginti su WRAP serija

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Talpykloje saugomi regionai ir perdarymo funkcija
ICACHE yra prijungtas prie Cortex-M33 per C-AHB magistralę ir talpina kodo regioną nuo adresų [0x0000 0000 iki 0x1FFF FFFF]. Kadangi išorinės atmintinės yra susietos adresu, esančiu diapazone [0x6000 0000–0xAFFF FFFF], ICACHE palaiko pertvarkymo funkciją, leidžiančią iš naujo susieti bet kurią išorinės atminties sritį adresu, esančiu nuo [0x0000 0000 iki 0x07FF FFFF] arba [0x1000 0000 iki 0x1FFF FFFF] ir tapti pasiekiamu per C-AHB magistralę. Su šia funkcija galima iš naujo susieti iki keturių išorinių atminties sričių. Kai regionas perskirstomas, kartojimo operacija atliekama net tada, kai ICACHE yra išjungta arba jei operacijos negalima laikyti talpykloje. Talpykloje saugomas atminties sritis vartotojas gali nustatyti ir užprogramuoti atminties apsaugos bloke (MPU). Žemiau esančioje lentelėje apibendrinamos STM32L5 ir STM32U5 serijos atmintinių konfigūracijos.

4 lentelė. STM32L5 ir STM32U5 serijų atminties konfigūracija

 

Produkto atmintis

Talpinama talpykloje

(MPU programavimas)

Perdaryta ICACHE

(ICACHE_CRRx programavimas)

Flash atmintis Taip arba Ne  

Nereikalaujama

SRAM Nerekomenduojama
Išorinės atminties (HSPI / OCTOSPI arba FSMC) Taip arba Ne Reikalingas, jei vartotojas nori gauti išorinį kodą C-AHB magistrale (kitaip S-AHB magistrale)

ICACHE išorinės atminties pertvarkymo pranašumas
BuvęsampŽemiau esančiame paveikslėlyje parodyta, kaip gauti naudos iš patobulinto ICACHE našumo vykdant kodą arba nuskaitant duomenis, kai pasiekiama išorinė 8 MB išorinė Octo-SPI atmintis (pvz., išorinė „flash“ atmintis arba RAM).

8 pav. Octo-SPI atminties pertvarkymas, pvzample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

Norint perdaryti šią išorinę atmintį, reikia atlikti šiuos veiksmus:

OCTOSPI išorinės atminties konfigūracija

Sukonfigūruokite OCTOSPI sąsają, kad galėtumėte pasiekti išorinę atmintį atminties susiejimo režimu (išorinė atmintis laikoma vidine atmintimi, priskirta [0x9000 0000 į 0x9FFF FFF] regione). Kadangi išorinės atminties dydis yra 8 Mbaitai, jis matomas srityje [0x9000 0000 iki 0x907F FFFF]. Išorinė atmintis šiame regione pasiekiama per S-bus ir nėra talpinama. Kitas veiksmas rodo ICACHE konfigūraciją, kad būtų galima iš naujo nustatyti šį regioną.
Pastaba: Dėl OCTOSPI konfigūracijos atminties susiejimo režimu žr. taikymo pastabą Octo-SPI sąsaja STM32 mikrovaldikliuose (AN5050

ICACHE konfigūracija, kad būtų galima perdaryti išorinės atminties susietą sritį
8 Mbaitai, patalpinti į [0x9000 0000 iki 0x907F FFFF] sritį, perskirstomi į [0x1000 0000 iki 0x107F FFFF] sritį. Tada juos galima pasiekti per lėtą magistralę (ICACHE master2 magistralę).

  • ICACHE_CR registro konfigūracija
    • Išjungti ICACHE, kai EN = 0.
    • Pasirinkite vienpusį arba dvipusį (atsižvelgiant į taikymo poreikius), kai WAYSEL = 1 arba 2, atitinkamai.
  • ICACHE_CRRx registro konfigūracija (iki keturių regionų, x = 0–3)
    • Pasirinkite 0x1000 0000 bazinį adresą (remap adresą) su BASEADDR [28:21] = 0x80.
    • Pasirinkite 8 MB regiono dydį, kurį norite perdaryti su RSIZE[2:0] = 0x3.
    • Pasirinkite 0x9000 0000 perskirstytą adresą REMAPADDR[31:21] = 0x480.
    • Išorinėms atmintims pasirinkite ICACHE AHB master2 prievadą, kai MSTSEL = 1.
    • Pasirinkite WRAP serijos tipą, kai HBURST = 0.
    • Įgalinkite x regiono perskirstymą, kai REN = 1.

Toliau pateiktame paveikslėlyje parodyta, kaip atminties sritys matomos naudojant IAR įjungus pertvarkymą.

9 pav. Atminties regionų pertvarkymas, pvzample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

8 MB išorinė atmintis dabar perskirstyta ir ją galima pasiekti iš [0x1000 0000 iki 0x107F FFFF] regiono.

ICACHE įgalinimas

  • ICACHE_CR registro konfigūracija Įjunkite ICACHE su EN = 1.

Pataikyti ir praleisti monitoriai
ICACHE pateikia du monitorius našumo analizei: 32 bitų pataikymo monitorių ir 16 bitų miss monitorių.

  • Įvykių stebėjimo priemonė skaičiuoja talpykloje saugomas AHB operacijas pagalbinės talpyklos prievade, kuri pasiekia ICACHE turinį (pagaminti duomenys jau yra talpykloje). Įvykių stebėjimo skaitiklis yra ICACHE_HMONR registre.
  • Miss monitorius skaičiuoja talpykloje saugomas AHB operacijas pagalbinės talpyklos prievade, kurioms trūksta ICACHE turinio (pagamintų duomenų talpykloje dar nėra). Trūkstamo monitoriaus skaitiklis yra ICACHE_MMONR registre.

Pastaba:

Šie du monitoriai neapvynioja pasiekę maksimalias vertes. Šie monitoriai valdomi iš šių ICACHE_CR registro bitų:

  • HITMEN bitas (atitinkamai MISSMEN bitas), skirtas įjungti / sustabdyti pataikymo (atitinkamai praleisti) monitorių
  • HITMRST bitas (atitinkamai MISSMRST bitas), skirtas iš naujo nustatyti pataikymo (atitinkamai praleisti) monitorių Pagal numatytuosius nustatymus šie monitoriai yra išjungti, siekiant sumažinti energijos suvartojimą.

ICACHE priežiūra
Programinė įranga gali anuliuoti ICACHE, nustatydama CACHEINV bitą ICACHE_CR registre. Šis veiksmas panaikina visą talpyklą, todėl ji tuščia. Tuo tarpu, jei kai kurie iš naujo susieti regionai yra įgalinti, perjungimo funkcija vis dar yra aktyvi, net kai ICACHE yra išjungta. Kadangi ICACHE valdo tik skaitymo operacijas, o ne rašymo operacijų, ji neužtikrina nuoseklumo rašymo atveju. Todėl programinė įranga turi anuliuoti ICACHE po regiono užprogramavimo.

ICACHE apsauga
ICACHE yra apsaugotas išorinis įrenginys, kurį galima sukonfigūruoti kaip saugų per GTZC TZSC saugios konfigūracijos registrą. Kai jis sukonfigūruotas kaip saugus, prie ICACHE registrų leidžiama tik saugi prieiga. ICACHE taip pat gali būti sukonfigūruotas kaip privilegijuotas per GTZC TZSC privilegijų konfigūracijos registrą. Kai ICACHE sukonfigūruota kaip privilegijuota, prie ICACHE registrų leidžiama tik privilegijuota prieiga. Pagal numatytuosius nustatymus ICACHE yra nesaugus ir nėra privilegijuotas per GTZC TZSC.

Įvykių ir pertraukų valdymas

ICACHE valdo funkcines klaidas, kai aptinkama, nustatydama ERRF vėliavėlę ICACHE_SR. Pertraukimas taip pat gali būti sugeneruotas, jei ERRIE bitas nustatytas ICACHE_IER. ICACHE anuliavimo atveju, kai baigiasi talpyklos užimtumo būsena, ICACHE_SR nustatoma BSYENDF vėliavėlė. Pertraukimas taip pat gali būti sugeneruotas, jei BSYENDIE bitas nustatytas ICACHE_IER. Žemiau esančioje lentelėje pateikiamos ICACHE pertraukimo ir įvykių vėliavėlės.

5 lentelė. ICACHE pertraukimo ir įvykių valdymo bitai

Registruotis Bitelio pavadinimas Bito aprašymas Bitų prieigos tipas
 

ICACHE_SR

UŽSIĖMES Talpykla, vykdanti visą negaliojimo operaciją  

Tik skaityti

BSYENDF Talpyklos negaliojimo operacija baigta
KLAIDA Talpyklos operacijos metu įvyko klaida
 

ICACHE_IER

ERRIE Įgalinti pertraukimą dėl talpyklos klaidos  

Skaityti/rašyti

BSYENDIE Įgalinti pertraukimą, jei anuliavimo operacija baigta
 

ICACHE_FCR

CERRF Išvalo ERRF ICACHE_SR  

Tik rašoma

CBSYENDF Išvalo BSYENDF ICACHE_SR

DCACHE funkcijos
Duomenų talpyklos paskirtis yra saugoti išorinės atminties duomenų įkėlimus ir duomenų saugyklas, gaunamas iš procesoriaus arba iš kitos magistralės pagrindinio periferinio įrenginio. DCACHE valdo ir skaitymo, ir rašymo operacijas.
DCACHE talpyklos srautas

DCACHE saugo išorines atmintis iš pagrindinio prievado sąsajos per AHB magistralę. Gaunamos atminties užklausos apibrėžiamos kaip talpinamos pagal AHB operacijų atminties užrakinimo atributą. DCACHE rašymo politika apibrėžiama kaip perrašymas arba įrašymas atgal, atsižvelgiant į MPU sukonfigūruotą atminties atributą. Kai regionas sukonfigūruotas kaip netalpintinas, DCACHE apeinamas.

 6 lentelė. AHB operacijos DCACHE talpyklos talpa

AHB paieškos atributas AHB buferio atributas Talpykla talpykloje
0 X Skaityti ir rašyti: neįkeliama talpykloje
 

1

 

0

Skaityti: talpykloje

Rašymas: (talpyklos) perrašymas

 

1

 

1

Skaityti: talpykloje

Rašyti: (talpykloje) rašyti atgal

DCACHE talpyklos regionai
STM32U5 serijoje DCACHE1 pavaldinė sąsaja yra prijungta prie Cortex-M33 per S-AHB magistralę ir talpina GFXMMU, FMC ir HSPI / OCTOSPI. DCACHE2 pagalbinė sąsaja yra prijungta prie DMA2D per M0 prievado magistralę ir talpina visas vidines ir išorines atmintis (išskyrus SRAM4 ir BRKPSRAM). STM32H5 serijai DCACHE pagalbinė sąsaja yra prijungta prie Cortex-M33 per S-AHB išorines atmintis per FMC ir OCTOSPI.

7 lentelė. DCACHE talpyklos regionai ir sąsajos

Talpyklos atminties adreso sritis DCACHE1 talpyklos sąsajos DCACHE2 talpyklos sąsajos
GFXMMU X X
SRAM1  

 

 

N/A

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

Pastaba

Kai kurios sąsajos tam tikruose produktuose nepalaikomos. Žr. 1 paveikslą arba konkretaus gaminio informacinį vadovą.
Burst tipas
Kaip ir ICACHE, DCACHE palaiko laipsniškus ir apvyniotus serijas (žr. 3.1.3 skyrių). DCACHE atveju serijos tipas sukonfigūruojamas naudojant HBURST bitą DCACHE_CR.
DCACHE konfigūracija
Įkrovos metu pagal numatytuosius nustatymus DCACHE yra išjungta, todėl pavaldinės atminties užklausos persiunčiamos tiesiai į pagrindinį prievadą. Norint įjungti DCACHE, DCACHE_CR registre turi būti nustatytas EN bitas. Pataikyti ir praleisti monitoriai DCACHE talpyklos našumo analizei įdiegia keturis monitorius:

  • Du 32 bitų (R/W) hit monitoriai: skaičiuoja, kiek kartų CPU nuskaito arba įrašė duomenis į talpyklos atmintį nesugeneruodamas operacijos pagrindiniuose DCACHE prievaduose (duomenys jau yra talpykloje). (R/W) pataikymo monitorių skaitikliai yra atitinkamai prieinami DCACHE_RHMONR ir DCACHE_WHMONR registruose.
  • Du 16 bitų (R/W) miss monitoriai: suskaičiuokite, kiek kartų CPU nuskaito arba įrašo duomenis į talpyklą ir sugeneruoja operaciją pagrindiniuose DCACHE prievaduose, kad būtų įkeliami duomenys iš atminties srities (negauti duomenys jau yra talpykloje). (R/W) praleistų monitorių skaitikliai yra atitinkamai prieinami DCACHE_RMMONR ir DCACHE_WMMONR registruose.

Pastaba:

Šie keturi monitoriai neapvynioja pasiekę maksimalias vertes. Šie monitoriai valdomi iš šių DCACHE_CR registro bitų:

  • WHITMAN bitas (atitinkamai WMISSMEN bitas), skirtas įjungti / sustabdyti rašymo paspaudimą (atitinkamai praleisti) monitorių
  • RHITMEN bitas (atitinkamai RMISSMEN bitas), skirtas įjungti / sustabdyti skaitymo paspaudimą (atitinkamai praleisti) monitorių
  • WHITMRST bitas (atitinkamai WMISSMRST bitas), skirtas iš naujo nustatyti rašymo paspaudimą (atitinkamai praleisti) monitorių
  • RHITMRST bitas (atitinkamai RMISSMRST bitas), skirtas iš naujo nustatyti nuskaitymo paspaudimą (atitinkamai praleisti) monitorių

Pagal numatytuosius nustatymus šie monitoriai yra išjungti, siekiant sumažinti energijos suvartojimą.

DCACHE priežiūra
DCACHE siūlo kelias priežiūros operacijas, kurias galima konfigūruoti naudojant CACHECMD[2:0] DCACHE_CR.

  • 000: jokios operacijos (numatytasis)
  • 001: švarus diapazonas. Išvalykite tam tikrą intervalą talpykloje
  • 010: negaliojančiu diapazonu. Neteisinkite tam tikro diapazono talpykloje
  • 010: išvalykite ir panaikinkite diapazoną. Išvalykite ir panaikinkite tam tikrą intervalą talpykloje

Pasirinktas diapazonas sukonfigūruojamas naudojant:

  • CMDSTARTADDR registras: komandos pradžios adresas
  • CMDENDADDR registras: komandos pabaigos adresas

Pastaba:

Šis registras turi būti nustatytas prieš įrašant CACHECMD. Talpyklos komandos priežiūra pradedama, kai STARTCMD bitas nustatomas DCACHE_CR registre. DCACHE taip pat palaiko visišką CACHE negaliojimą, nustatant CACHEINV bitą DCACHE_CR registre.

DCACHE apsauga
DCACHE yra saugus išorinis įrenginys, kurį galima sukonfigūruoti kaip saugų per GTZC TZSC saugios konfigūracijos registrą. Kai jis sukonfigūruotas kaip saugus, prie DCACHE registrų leidžiama tik saugi prieiga. DCACHE taip pat gali būti sukonfigūruotas kaip privilegijuotas per GTZC TZSC privilegijų konfigūravimo registrą. Kai DCACHE sukonfigūruota kaip privilegijuota, prie DCACHE registrų leidžiama tik privilegijuota prieiga. Pagal numatytuosius nustatymus DCACHE yra nesaugus ir nėra privilegijuotas per GTZC TZSC.

Įvykių ir pertraukų valdymas
DCACHE valdo funkcines klaidas, kai aptinkama, nustatydama ERRF vėliavėlę DCACHE_SR. Pertraukimas taip pat gali būti sugeneruotas, jei ERRIE bitas nustatytas DCACHE_IER. DCACHE negaliojimo atveju, kai talpyklos užimtumo būsena baigiasi, BSYENDF vėliavėlė nustatoma DCACHE_SR. Pertraukimas taip pat gali būti sugeneruotas, jei BSYENDIE bitas nustatytas DCACHE_IER. DCACHE komandos būsena gali būti patikrinta naudojant CMDENF ir BUSYCMDF per DCACHE_SR Pertraukimas taip pat gali būti sugeneruotas, jei CMDENDIE bitas nustatytas DCACHE_IER. Žemiau esančioje lentelėje pateikiami DCACHE pertraukimai ir įvykių vėliavėlės

8 lentelė. DCACHE pertraukų ir įvykių valdymo bitai

Registruotis Registruotis Bito aprašymas Bitų prieigos tipas
 

 

 

DCACHE_SR

UŽSIĖMES Talpykla, vykdanti visą negaliojimo operaciją  

 

 

Tik skaityti

BSYENDF Baigta talpyklos negaliojimo operacija
BUSYCMDF Talpykla, vykdanti diapazono komandą
CMENDDF Diapazono komandos pabaiga
ERRF Talpyklos operacijos metu įvyko klaida
 

DCACHE_IER

ERRIE Įgalinti pertraukimą dėl talpyklos klaidos  

Skaityti/rašyti

CMDENDIE Įgalinti pertraukimą diapazono komandos pabaigoje
BSYENDIE Įgalinti pertraukimą visiškai panaikinus operacijos pabaigą
 

DCACHE_FCR

CERRF Išvalo ERRF DCACHE_SR  

Tik rašoma

CCMDENDF Išvalo CMENDDF DCACHE_SR
CBSYENDF Išvalo BSYENDF DCACHE_SR

ICACHE ir DCACHE našumas ir energijos suvartojimas

ICACHE ir DCACHE naudojimas pagerina programos našumą pasiekiant išorines atmintis. Šioje lentelėje parodyta ICACHE ir DCACHE įtaka CoreMark® vykdymui pasiekiant išorines atmintis.

9 lentelė. ICACHE ir DCACHE našumas naudojant „CoreMark“ vykdymą su išorinėmis atmintimis

(1)
CoreMark kodas „CoreMark“ duomenys ICACHE konfigūracija DCACHE konfigūracija CoreMark rezultatas/Mhz
Vidinė Flash atmintis Vidinė SRAM Įjungta (2 būdai) Išjungta 3.89
Vidinė Flash atmintis Išorinė okto-SPI PSRAM (S-bus) Įjungta (2 būdai) Įjungta 3.89
Vidinė Flash atmintis Išorinė okto-SPI PSRAM (S-bus) Įjungta (2 būdai) Išjungta 0.48
Išorinė „Octo-SPI“ blykstė (C magistralė) Vidinė SRAM Įjungta (2 būdai) Išjungta 3.86
Išorinė „Octo-SPI“ blykstė (C magistralė) Vidinė SRAM Išjungta Išjungta 0.24
Vidinė Flash atmintis Vidinė SRAM Išjungta Išjungta 2.69

Bandymo sąlygos:

  • Taikomas produktas: STM32U575/585
  • Sistemos dažnis: 160 MHz.
  • Išorinė Octo-SPI PSRAM atmintis: 80 MHz (DTR režimas).
  • Išorinė „Octo-SPI“ atmintis: 80 MHz (STR režimas).
  • Kompiliatorius: IAR V8.50.4.
  • Vidinė blykstė PREFETCH: ĮJUNGTA.

Naudojant ICACHE ir DCACHE, sumažėja energijos sąnaudos, kai pasiekiama vidinė ir išorinė atmintis. Šioje lentelėje parodytas ICACHE poveikis energijos suvartojimui vykdant CoreMark.

10 lentelė. CoreMark vykdymo ICACHE įtaka energijos suvartojimui

ICACHE konfigūracija MCU energijos suvartojimas (mA)
Įjungta (2 būdai) 7.60
Įjungta (viena kryptimi) 7.13
Išjungta 8.89
  1. Bandymo sąlygos:
    • Taikomas produktas: STM32U575/585
    • „CoreMark“ kodas: vidinė „Flash“ atmintis.
    • „CoreMark“ duomenys: vidinė SRAM.
    • Vidinė „Flash“ atmintis PREFETCH: ĮJUNGTA.
    • Sistemos dažnis: 160 MHz.
    • Kompiliatorius: IAR V8.32.2.
    • ttage diapazonas: 1.
    • SMPS: ĮJUNGTA.
  2. būdo rinkinio asociacinė konfigūracija yra našesnė nei vienpusio rinkinio asociacinė konfigūracija kodui, kurio negalima visiškai įkelti į talpyklą. Tuo tarpu vienpusio rinkinio asociatyvioji talpykla beveik visada yra efektyvesnė nei dvipusio rinkinio asociacinė talpykla. Kiekvienas kodas turi būti įvertintas abiejose asociatyvumo konfigūracijose, kad būtų galima pasirinkti geriausią kompromisą tarp našumo ir energijos suvartojimo. Pasirinkimas priklauso nuo vartotojo prioriteto.

Išvada

Pirmosios talpyklos, kurias sukūrė STMicroelectronics, ICACHE ir DCACHE, gali talpinti vidines ir išorines atmintis, o tai pagerina duomenų srauto ir instrukcijų gavimo našumą. Šiame dokumente pateikiamos įvairios ICACHE ir DCACHE palaikomos funkcijos, jų konfigūracijos paprastumas ir lankstumas leidžia sumažinti kūrimo sąnaudas ir greičiau pateikti rinkai.

Revizijų istorija

11 lentelė. Dokumento taisymo istorija

Data Versija Pakeitimai
10-spalio-2019 d 1 Pradinis išleidimas.
 

 

27 m. vasario 2020 d

 

 

2

Atnaujinta:

• 2 lentelė. Atminties regionai ir jų adresai

• 2.1.7 skirsnis ICACHE priežiūra

• 2.1.8 skirsnis ICACHE saugumas

 

 

 

 

7 m. gruodžio 2021 d

 

 

 

 

3

Atnaujinta:

• Dokumento pavadinimas

• Įvadas

• Baigta 1 dalis ICACHE ir DCACHEview

• Pridėta 4 skirsnio išvada:

• 2 skyriaus ICACHE ir DCACHE funkcijos

• 3 skyrius ICACHE ir DCACHE veikimas ir energijos suvartojimas

 

 

 

 

 

 

15 m. vasario 2023 d

 

 

 

 

 

 

4

Atnaujinta:

•         2.2 skyrius: STM32U5 serijos išmanioji architektūra

•         2.5 skyrius: DCACHE blokinė schema

•         3.1.1 skirsnis: Dvigubi valdikliai

•         3.1.2 skirsnis: vienpusis ir dvipusis ICACHE

•         3.1.4 skirsnis: Talpyklos regionai ir pakartotinio atvaizdavimo funkcija

•         3.2 skyrius: DCACHE funkcijos

•         3.2.2 skirsnis: DCACHE talpyklos regionai

•         4 skyrius: ICACHE ir DCACHE veikimas ir energijos suvartojimas Pridėta:

•         1 skyrius: Bendra informacija

 

11 m. kovo 2024 d

 

5

Atnaujinta:

•         2.3 skyrius: STM32H5 serijos išmanioji architektūra

•         3.1.1 skirsnis: Dvigubi valdikliai

SVARBI PRANEŠIMAS – ATIDŽIAI SKAITYKITE
STMicroelectronics NV ir jos dukterinės įmonės („ST“) pasilieka teisę bet kuriuo metu be įspėjimo keisti, taisyti, patobulinti, modifikuoti ir tobulinti ST gaminius ir (arba) šį dokumentą. Prieš pateikdami užsakymą pirkėjai turėtų gauti naujausią atitinkamą informaciją apie ST gaminius. ST gaminiai parduodami pagal ST pardavimo sąlygas, galiojančias užsakymo patvirtinimo metu. Pirkėjai yra išimtinai atsakingi už ST gaminių pasirinkimą, pasirinkimą ir naudojimą, o ST neprisiima jokios atsakomybės už pagalbą taikant ar pirkėjų gaminių dizainą. ST nesuteikia jokios tiesioginės ar numanomos licencijos jokioms intelektinės nuosavybės teisėms. Perpardavus ST gaminius, kurių nuostatos skiriasi nuo čia pateiktos informacijos, panaikina bet kokią ST tokiam produktui suteiktą garantiją. ST ir ST logotipas yra ST prekių ženklai. Daugiau informacijos apie ST prekių ženklus rasite www.st.com/trademarks. Visi kiti produktų ar paslaugų pavadinimai yra atitinkamų savininkų nuosavybė. Informacija šiame dokumente pakeičia ir pakeičia informaciją, anksčiau pateiktą bet kokiose ankstesnėse šio dokumento versijose. © 2024 STMicroelectronics – Visos teisės saugomos

Dokumentai / Ištekliai

STMicroelectronics STM32H5 serijos mikrovaldikliai [pdf] Naudotojo vadovas
STM32H5 serijos mikrovaldikliai, STM32H5, serijos mikrovaldikliai, mikrovaldikliai

Nuorodos

Palikite komentarą

Jūsų el. pašto adresas nebus skelbiamas. Privalomi laukai pažymėti *