logo STMicroelectronics

Mikrokontrolluesit e serisë STMicroelectronics STM32H5

STMicroelectronics-STM32H5-Seria-Microkontrollers-produkt

Hyrje

Ky shënim i aplikacionit përshkruan cache-in e udhëzimeve (ICACHE) dhe cache-in e të dhënave (DCACHE), memoriet e para të krijuara nga STMicroelectronics. ICACHE dhe DCACHE të prezantuara në autobusin AHB të procesorit Arm® Cortex®-M33 janë të ngulitura në mikrokontrolluesin STM32 (MCU) të listuar në tabelën më poshtë. Këto cache i lejojnë përdoruesit të përmirësojnë performancën e aplikacionit të tyre dhe të zvogëlojnë konsumin kur marrin instruksione dhe të dhëna nga memoriet e brendshme dhe të jashtme, ose për trafikun e të dhënave nga memoriet e jashtme. Ky dokument jep shembullin tipikamples për të theksuar veçoritë ICACHE dhe DCACHE dhe për të lehtësuar konfigurimin e tyre.

Tabela 1. Produktet e aplikueshme

Lloji Seria e produkteve
Mikrokontrolluesit Seria STM32H5, seria STM32L5, seria STM32U5

Informacione të përgjithshme

Shënim:

Ky shënim aplikimi zbatohet për mikrokontrolluesit e serisë STM32 që janë pajisje të bazuara në bërthamë Arm® Cortex®. Arm është një markë tregtare e regjistruar e Arm Limited (ose filialeve të saj) në SHBA dhe/ose gjetkë.

ICACHE dhe DCACHE mbarojnëview

Ky seksion ofron një mbiview e ndërfaqeve ICACHE dhe DCACHE të ngulitura në mikrokontrolluesit STM32 Arm® Cortex® me bazë bërthamore. Ky seksion detajon diagramin ICACHE dhe DCACHE dhe integrimin në arkitekturën e sistemit.
Arkitektura inteligjente e serisë STM32L5
Kjo arkitekturë bazohet në një matricë autobusi që lejon zotërit e shumëfishtë (Cortex-M33, ICACHE, DMA1/2 dhe SDMMC1) të aksesojnë skllevër të shumtë (si memoria flash, SRAM1/2, OCTOSPI1 ose FSMC). Figura më poshtë përshkruan arkitekturën inteligjente të serisë STM32L5.

Figura 1. Arkitektura inteligjente e serisë STM32L5

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

Performanca e Cortex-M33 përmirësohet duke përdorur ndërfaqen ICACHE 8 Kbyte të futur në autobusin e saj C-AHB, kur merr kodin ose të dhënat nga memoriet e brendshme (flash memoria, SRAM1 ose SRAM2) përmes autobusit të shpejtë, dhe gjithashtu nga kujtimet e jashtme (OCTOSPI1 ose FSMC) përmes autobusit të ngadaltë.
Arkitektura inteligjente e serisë STM32U5
Kjo arkitekturë bazohet në një matricë autobusi që lejon zotëruesit e shumtë (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D dhe SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) të kenë akses në skllevër të shumtë (siç janë memoria flash, SRAM, HKPSRAM, OCTOSPI, ose FSMC). Figura më poshtë përshkruan arkitekturën inteligjente të serisë STM32U5.

Figura 2. Arkitektura inteligjente e serisë STM32U5

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

Ndërfaqet Cortex-M33 dhe GPU2D përfitojnë nga përdorimi i CACHE.

  • ICACHE përmirëson performancën e Cortex-M33 kur merr kodin ose të dhënat nga memoriet e brendshme përmes autobusit të shpejtë (memoria flash, SRAM) dhe nga kujtimet e jashtme përmes autobusit të ngadaltë (OCTOSPI1/2 dhe HSPI1, ose FSMC). DCACHE1 përmirëson performancën kur merr të dhëna nga memoriet e brendshme ose të jashtme përmes s-busit (GFXMMU, OCTOSPI1/2 dhe HSPI1, ose FSMC).
  •  DCACHE2 përmirëson performancën e GPU2D kur merr të dhëna nga memoriet e brendshme dhe të jashtme (GFXMMU, memoria flash, SRAM, OCTOSPI1/2 dhe HSPI1, ose FSMC) përmes autobusit të portës M0.

Arkitektura inteligjente e serisë STM32H5
Arkitekturë inteligjente STM32H523/H533, STM32H563/H573 dhe STM32H562 Kjo arkitekturë bazohet në një matricë autobusi që lejon zotërit e shumtë (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet dhe SDMMCs) të kenë akses në disa skllevër flash, KPSM (SRAM) , OCTOSPI dhe FMC). Figura më poshtë përshkruan arkitekturën inteligjente të serisë STM32H5.

Figura 3. Arkitektura inteligjente e serive STM32H563/H573 dhe STM32H562

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

Cortex-M33 përfiton nga përdorimi i CACHE.

  • ICACHE përmirëson performancën e Cortex-M33 kur merr kodin ose të dhënat nga memoriet e brendshme përmes një autobusi të shpejtë (memorie flash, SRAM) dhe nga memoriet e jashtme përmes autobusit të ngadaltë (OCTOSPI dhe FMC).
  • DCACHE përmirëson performancën kur merr të dhëna nga memoriet e jashtme përmes autobusit të ngadaltë (OCTOSPI dhe FMC).

Arkitekturë inteligjente STM32H503
Kjo arkitekturë bazohet në një matricë autobusi që lejon zotërit e shumëfishtë (Cortex-M33, ICACHE dhe GPDMA) të aksesojnë skllevër të shumtë (si memoria flash, SRAM dhe BKPSRAM). Figura më poshtë përshkruan arkitekturën inteligjente të serisë STM32H5.

Figura 4. Arkitektura inteligjente e serisë STM32H503

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

Cortex-M33 përfiton nga përdorimi i CACHE.

  • ICACHE përmirëson performancën e Cortex-M33 kur merr kodin ose të dhënat nga memoriet e brendshme përmes autobusit të shpejtë (memorie flash, SRAM).

Bllok-diagrami ICACHE
Bllok-diagrami ICACHE është dhënë në figurën më poshtë.

Figura 5. Bllok-diagrami ICACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

Kujtesa ICACHE përfshin:

  • të TAG memorie me:
    • adresën tags që tregojnë se cilat të dhëna gjenden në memorien e të dhënave cache
    • bitet e vlefshmërisë
  •  memoria e të dhënave, e cila përmban të dhënat e memorizuara

Bllok diagrami DCACHE
Bllok diagrami DCACHE është dhënë në figurën më poshtë.

Figura 6. Bllok diagrami DCACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

Kujtesa DCACHE përfshin:

  • të TAG memorie me:
    • adresën tags që tregojnë se cilat të dhëna gjenden në memorien e të dhënave cache
    • bitet e vlefshmërisë
    • copat e privilegjit
    • copat e pista
  • memoria e të dhënave, e cila përmban të dhënat e memorizuara

Karakteristikat ICACHE dhe DCACHE

Mjeshtra të dyfishtë
ICACHE akseson matricën e autobusit AHB ose mbi:

  • Një port kryesor AHB: master1 (autobus i shpejtë)
  • Dy porte kryesore AHB: master1 (autobus i shpejtë) dhe master2 (autobus i ngadaltë)

Kjo veçori lejon që trafiku të shkëputet kur hyni në rajone të ndryshme të memories (si memoria e brendshme flash, SRAM e brendshme dhe memoriet e jashtme), në mënyrë që të zvogëlohet ngecja e CPU-së në mungesën e cache-it. Tabela e mëposhtme përmbledh rajonet e kujtesës dhe adresat e tyre.

Tabela 2. Rajonet e memories dhe adresat e tyre

Periferike Qasje memorie e fshehtë Qasje memorie jo e disponueshme
 

 

Lloji

 

 

Emri

 

 

Emri i produktit dhe madhësia e rajonit

 

 

Emri i autobusit

 

Adresa e fillimit të rajonit jo të sigurt

Adresa fillestare e sigurt dhe jo e sigurt e rajonit të thirrshëm  

 

Emri i autobusit

 

Adresa e fillimit të rajonit jo të sigurt

Adresa fillestare e sigurt dhe jo e sigurt e rajonit të thirrshëm
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E brendshme

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus i shpejtë

 

 

 

 

 

 

 

0x0800 0000

N/A  

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

STM32L5

seri/ 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-autobus

 

 

 

 

 

 

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

seri

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

Periferike Qasje memorie e fshehtë Qasje memorie jo e disponueshme
 

 

 

 

 

 

 

 

 

E brendshme

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

autobus i shpejtë

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-autobus

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

 

 

 

 

 

 

 

 

 

 

 

E jashtme

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus i ngadalshëm

(1)

 

 

 

 

 

 

Adresa e pseudonimit në rangun prej [0x0000 0000

në 0x07FF FFFF] ose [0x1000 0000:0x1FFF

FFFF] përcaktuar me anë të veçorisë së rimapping

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

banka e pasigurt

STM32L5/U5

seri

STM32H563/ 573/562

 

 

0x9000 0000

 

Banka FMC 3

jo të sigurta

STM32L5/U5

seri

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

banka e pasigurt

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

Banka FMC 1

jo të sigurta

STM32L5/U5

seri

STM32H563/ 573/562

 

 

0x6000 0000

1. Për t'u zgjedhur kur rimarrëzona rajone të tilla.

ICACHE 1-kahëshe kundrejt ICACHE 2-kahëshe
Si parazgjedhje, ICACHE është konfiguruar në modalitetin shoqërues të funksionimit (të aktivizuara dy mënyra), por është e mundur të konfigurohet ICACHE në modalitetin e hartës direkte (i aktivizuar në një drejtim), për aplikacionet që kërkojnë një konsum shumë të ulët të energjisë. Konfigurimi ICACHE bëhet me bitin WAYSEL në ICACHE_CR si më poshtë:

  • WAYSEL = 0: modaliteti i funksionimit të hartës direkte (1-kahëshe)
  • WAYSEL = 1 (e parazgjedhur): modaliteti shoqërues i funksionimit (2 drejtimesh)

Tabela 3. ICACHE 1-drejtimshe kundrejt ICACHE 2-kahëshe

Parametri ICACHE 1-kahëshe ICACHE 2-kahëshe
Madhësia e cache (Kbajt) 8(1)/32(2)
Cache disa mënyra 1 2
Madhësia e linjës së cache-it 128 bit (16 byte)
Numri i linjave të cache 512(1)/2048(2) 256(1)/1024(2) për rrugë
  1. Për serinë STM32L5 / serinë STM32H5 / STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Lloji i shpërthimit
Disa memorie Octo-SPI mbështesin shpërthimin WRAP, i cili ofron përfitimin e performancës kritike të funksionit të fjalës së parë. Lloji i shpërthimit ICACHE i transaksionit të memories AHB për rajonet e rimarrëve është i konfigurueshëm. Ai zbaton shpërthim inkremental ose shpërthim WRAP, të zgjedhur me bitin HBURST në regjistrin ICACHE_CRRx. Ndryshimet ndërmjet WRAP-it dhe shpërthimeve në rritje janë dhënë më poshtë (shih edhe figurën):

  • Shpërthimi i WRAP:
    • Madhësia e linjës së cache = 128 bit
    • burst to start address = adresa e fjalës e të dhënave të para të kërkuara nga CPU
  •  Shpërthim në rritje:
    • Madhësia e linjës së cache = 128 bit
    • burst starting address = adresa e rreshtuar në kufirin e linjës cache që përmban fjalën e kërkuar

Figura 7. Shpërthimi në rritje kundrejt WRAP

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Rajonet e fshehta dhe veçoria e rimapifikimit
ICACHE lidhet me Cortex-M33 përmes autobusit C-AHB dhe ruan rajonin e kodit nga adresat [0x0000 0000 deri në 0x1FFF FFFF]. Meqenëse kujtimet e jashtme janë hartuar në një adresë në intervalin [0x6000 0000 deri në 0xAFFF FFFF], ICACHE mbështet një veçori rimap që lejon çdo rajon memorie të jashtme të rimarrë në një adresë në intervalin prej [0x0000 0000 deri në 0x07FF FFFF] ose [0x1000 0000 deri në 0x1FFF FFFF], dhe për t'u bërë i aksesueshëm përmes autobusit C-AHB. Deri në katër rajone të memories së jashtme mund të rikrijohen me këtë veçori. Pasi një rajon është rimarrë, operacioni i rimapimit ndodh edhe nëse ICACHE është i çaktivizuar ose nëse transaksioni nuk është i disponueshëm në memorie. Rajonet e memories së memorizuar mund të përcaktohen dhe programohen nga përdoruesi në njësinë e mbrojtjes së memories (MPU). Tabela më poshtë përmbledh konfigurimet e memories së serive STM32L5 dhe STM32U5.

Tabela 4. Konfigurimi i memories së serive STM32L5 dhe STM32U5

 

Kujtesa e produktit

E fshehtë

(Programimi i MPU)

Rimarrë në ICACHE

(Programimi ICACHE_CRRx)

Flash memorie Po ose Jo  

Nuk kërkohet

SRAM Nuk rekomandohet
Kujtesa të jashtme (HSPI/ OCTOSPI ose FSMC) Po ose Jo Kërkohet nëse përdoruesi dëshiron marrjen e kodit të jashtëm në autobusin C-AHB (tjetër në autobusin S-AHB)

Përfitimet e rimarrëveshjes së memories së jashtme ICACHE
Ishampnë figurën më poshtë tregon se si të përfitoni nga performanca e përmirësuar e ICACHE gjatë ekzekutimit të kodit ose të të dhënave të lexuara kur aksesoni një memorie të jashtme Octo-SPI 8 Mbajt (si memoria e jashtme flash ose RAM).

Figura 8. Rimarrëveshja e kujtesës Octo-SPI p.shample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

Hapat e mëposhtëm nevojiten për të rimarrë këtë memorie të jashtme:

Konfigurimi OCTOSPI për memorien e jashtme

Konfiguro ndërfaqen OCTOSPI për të hyrë në memorien e jashtme në modalitetin e hartës së kujtesës (memoria e jashtme shihet si një memorie e brendshme e hartuar në rajonin [0x9000 0000 deri në 0x9FFF FFFF]). Meqenëse madhësia e memories së jashtme është 8 Mbajt, ajo shihet në rajonin [0x9000 0000 deri në 0x907F FFFF]. Memoria e jashtme në këtë rajon aksesohet përmes S-bus dhe nuk mund të ruhet në memorie. Hapi tjetër tregon konfigurimin ICACHE për të rimarrë këtë rajon.
Shënim: Për konfigurimin OCTOSPI në modalitetin e hartës së kujtesës, referojuni shënimit të aplikacionit Ndërfaqja Octo-SPI në mikrokontrolluesit STM32 (AN5050

Konfigurimi ICACHE për të rimarrë në hartë rajonin e hartuar me memorie të jashtme
8 Mbajt të vendosura në rajonin [0x9000 0000 deri në 0x907F FFFF] janë rimarrë në rajonin [0x1000 0000 deri në 0x107F FFFF]. Ato më pas mund të aksesohen përmes autobusit të ngadaltë (autobusi ICACHE master2).

  • Konfigurimi i regjistrit ICACHE_CR
    • Çaktivizo ICACHE me EN = 0.
    • Zgjidhni 1-kahëshe ose 2-kahëshe (në varësi të nevojave të aplikacionit) me WAYSEL = 0 ose 1, përkatësisht.
  • Konfigurimi i regjistrit ICACHE_CRRx (deri në katër rajone, x = 0 deri në 3)
    • Zgjidhni adresën bazë 0x1000 0000 (adresa e rimarrëve) me BASEADDR [28:21] = 0x80.
    • Zgjidhni madhësinë e rajonit 8 Mbajt për ta rimarrë me RSIZE[2:0] = 0x3.
    • Zgjidhni adresën e rimarrë 0x9000 0000 REMAPADDR[31:21] = 0x480.
    • Zgjidhni portën ICACHE AHB master2 për memoriet e jashtme me MSTSEL = 1.
    • Zgjidhni llojin e shpërthimit WRAP me HBURST = 0.
    • Aktivizo rimaprimin për rajonin x me REN = 1.

Figura e mëposhtme tregon se si shihen rajonet e memories me IAR pas aktivizimit të rimap.

Figura 9. Rimarrëveshja e rajoneve të kujtesës p.shample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

Kujtesa e jashtme 8 Mbajt tani është rimarrë dhe mund të aksesohet në rajonin [0x1000 0000 deri në 0x107F FFFF].

Aktivizo ICACHE

  • Konfigurimi i regjistrit ICACHE_CR Aktivizo ICACHE me EN = 1.

Vëzhguesit e goditur dhe të humbur
ICACHE ofron dy monitorë për analizën e performancës: një monitor goditës 32-bit dhe një monitor të humbjes 16-bit.

  • Monitoruesi i goditjes numëron transaksionet AHB të disponueshme në portën e memories skllav që godet përmbajtjen ICACHE (të dhënat e marra tashmë të disponueshme në cache). Numri i monitorit të goditjeve është i disponueshëm në regjistrin ICACHE_HMONR.
  • Monitoruesi i mungesës numëron transaksionet AHB të disponueshme në portën e memories skllav që humbasin përmbajtjen ICACHE (të dhënat e marra nuk janë tashmë të disponueshme në cache). Numri i monitorit që mungon është i disponueshëm në regjistrin ICACHE_MMONR.

Shënim:

Këta dy monitorë nuk mbështillen kur arrijnë vlerat e tyre maksimale. Këta monitorë menaxhohen nga bitet e mëposhtme në regjistrin ICACHE_CR:

  • bit HITMEN (përkatësisht bit MISSMEN) për të aktivizuar/ndaluar monitorin e goditjes (përkatësisht të humbasë)
  • Biti HITMRST (përkatësisht biti MISSMRST) për të rivendosur monitorin e goditur (përkatësisht të humbur) Si parazgjedhje, këta monitorë çaktivizohen për të reduktuar konsumin e energjisë.

Mirëmbajtja ICACHE
Softueri mund të zhvlerësojë ICACHE duke vendosur bitin CACHEINV në regjistrin ICACHE_CR. Ky veprim zhvlerëson të gjithë memorien e fshehtë, duke e bërë atë bosh. Ndërkohë, nëse aktivizohen disa rajone të rimarrë, funksioni i rimap është akoma aktiv, edhe kur ICACHE është i çaktivizuar. Duke qenë se ICACHE menaxhon vetëm transaksionet e leximit dhe nuk menaxhon transaksionet e shkrimit, ai nuk siguron koherencë në rastin e shkrimeve. Rrjedhimisht, softueri duhet të zhvlerësojë ICACHE pas programimit të një rajoni.

Siguria ICACHE
ICACHE është një pajisje periferike e sigurueshme që mund të konfigurohet si e sigurt përmes regjistrit të konfigurimit të sigurt të GTZC TZSC. Kur konfigurohet si i sigurt, lejohen vetëm akseset e sigurta në regjistrat ICACHE. ICACHE gjithashtu mund të konfigurohet si i privilegjuar përmes regjistrit të konfigurimit të privilegjeve GTZC TZSC. Kur ICACHE konfigurohet si i privilegjuar, vetëm akseset e privilegjuara lejohen në regjistrat ICACHE. Si parazgjedhje, ICACHE është i pasigurt dhe jo i privilegjuar përmes GTZC TZSC.

Menaxhimi i ngjarjeve dhe ndërprerjeve

ICACHE menaxhon gabimet funksionale kur zbulohen, duke vendosur flamurin ERRF në ICACHE_SR. Një ndërprerje mund të gjenerohet gjithashtu nëse biti ERRIE është vendosur në ICACHE_IER. Në rast të pavlefshmërisë së ICACHE, kur gjendja e zënë me cache përfundon, flamuri BSYENDF vendoset në ICACHE_SR. Një ndërprerje mund të gjenerohet gjithashtu nëse biti BSYENDIE është vendosur në ICACHE_IER. Tabela më poshtë liston flamujt e ndërprerjeve dhe ngjarjeve ICACHE.

Tabela 5. Ndërprerjet ICACHE dhe bitet e menaxhimit të ngjarjeve

Regjistrohu Emri bit Përshkrimi i bitit Lloji i aksesit në bit
 

ICACHE_SR

I ZËNË Cache ekzekuton një operacion të zhvlerësimit të plotë  

Vetëm për lexim

BSYENDF Operacioni i anulimit të memories së memories përfundoi
GABIM Ndodhi një gabim gjatë funksionimit të memorizimit
 

ICACHE_IER

ERRI Aktivizo ndërprerjen për gabimin e cache-it  

Lexo/shkruaj

BSYENDIE Aktivizo ndërprerjen në rast të përfundimit të operacionit të zhvlerësimit
 

ICACHE_FCR

CERRF Pastron ERRF në ICACHE_SR  

Vetëm për të shkruar

CBSYENDF Pastron BSYENDF në ICACHE_SR

Karakteristikat e DCACHE
Qëllimi i cache-it të të dhënave është të ruajë ngarkesat e të dhënave të memories së jashtme dhe ruajtjen e të dhënave që vijnë nga procesori ose nga një pajisje tjetër kryesore periferike e autobusit. DCACHE menaxhon transaksionet e leximit dhe të shkrimit.
Trafiku i mundësisë së memorizimit DCACHE

DCACHE ruan memoriet e jashtme nga ndërfaqja kryesore e portit përmes autobusit AHB. Kërkesat e memories hyrëse përcaktohen si të memorizuara sipas atributit të bllokimit të memories së transaksionit AHB. Politika e shkrimit DCACHE përkufizohet si shkrim-përmes ose rikthim në varësi të atributit të memories të konfiguruar nga MPU. Kur një rajon është konfiguruar si jo-cache, DCACHE anashkalohet.

 Tabela 6. Cacheability DCACHE për transaksionin AHB

Atributi i kërkimit AHB Atributi bufferable AHB Cacheability
0 X Lexoni dhe shkruani: jo i fshehtë
 

1

 

0

Lexoni: cacheable

Shkruaj: (i fshehtë) me shkrim

 

1

 

1

Lexoni: cacheable

Shkruaj: (i fshehtë) shkruaj-mbrapa

Rajonet e memorizimit DCACHE
Për serinë STM32U5, ndërfaqja skllav DCACHE1 është e lidhur me Cortex-M33 përmes autobusit S-AHB dhe ruan në memorie të fshehtë GFXMMU, FMC dhe HSPI/OCTOSPI. Ndërfaqja skllav DCACHE2 lidhet me DMA2D përmes autobusit të portit M0 dhe ruan të gjitha memoriet e brendshme dhe të jashtme (përveç SRAM4 dhe BRKPSRAM). Për serinë STM32H5, ndërfaqja skllav DCACHE është e lidhur me Cortex-M33 përmes memories së jashtme S-AHB përmes FMC dhe OCTOSPI.

Tabela 7. Rajonet dhe ndërfaqet e ruajtjes së memorjes DCACHE

Rajoni i adresës së memories me memorie të fshehtë Ndërfaqet e fshehta të DCACHE1 Ndërfaqet e fshehta të DCACHE2
GFXMMU X X
SRAM1  

 

 

N/A

X
SRAM2 X
SRAM3 X
SRAM5 X
SRAM6 X
HSPI1 X X
OCTOSPI1 X X
BANKA KMF X X
OCTOSPI2 X X

Shënim

Disa ndërfaqe nuk mbështeten në produkte të caktuara. Referojuni figurës 1 ose manualit specifik të referencës së produktit.
Lloji i shpërthimit
Njësoj si ICACHE, DCACHE mbështet breshëri në rritje dhe të mbështjellë (shih seksionin 3.1.3). Për DCACHE, lloji i shpërthimit konfigurohet përmes bitit HBURST në DCACHE_CR.
Konfigurimi DCACHE
Gjatë nisjes, DCACHE është i çaktivizuar si parazgjedhje duke bërë që kërkesat e memories slave të përcillen direkt në portin kryesor. Për të aktivizuar DCACHE, biti EN duhet të vendoset në regjistrin DCACHE_CR. Monitorët me goditje dhe humbje DCACHE zbaton katër monitorë për analizën e performancës së cache:

  • Dy monitor 32-bitësh (R/W): numëron numrin e herëve që CPU lexon ose shkruan të dhëna në memorien e memories pa gjeneruar një transaksion në portat kryesore DCACHE (të dhënat tashmë të disponueshme në cache). Numëruesit e monitorëve të goditur (R/W) janë të disponueshëm përkatësisht në regjistrat DCACHE_RHMONR dhe DCACHE_WHMONR.
  • Dy monitorë 16-bitësh (R/W): numëroni sa herë CPU lexon ose shkruan të dhëna në memorien e memories dhe gjeneron një transaksion në portat kryesore DCACHE, në mënyrë që të ngarkojë të dhënat nga rajoni i memories (të dhënat e marra jo tashmë në dispozicion në cache). Numëruesit e monitorëve të humbjes (R/W) janë të disponueshëm përkatësisht në regjistrat DCACHE_RMMONR dhe DCACHE_WMMONR.

Shënim:

Këta katër monitorë nuk mbështillen kur arrijnë vlerat e tyre maksimale. Këta monitorë menaxhohen nga bitet e mëposhtme në regjistrin DCACHE_CR:

  • bit WHITMAN (përkatësisht bit WMISSEN) për të aktivizuar/ndaluar monitorin e goditjes së shkrimit (përkatësisht të humbasë)
  • bit RHITMEN (përkatësisht bit RMISSMEN) për të aktivizuar/ndaluar monitorin e goditjes së leximit (përkatësisht mungesës)
  • Bit WHITMRST (përkatësisht bit WMISSMRST) për të rivendosur monitorin e goditjes së shkrimit (përkatësisht të humbasë)
  • Bit RHITMRST (përkatësisht bit RMISSMRST) për të rivendosur monitorin e goditjes së lexuar (përkatësisht humbasin)

Si parazgjedhje, këta monitorë çaktivizohen për të zvogëluar konsumin e energjisë.

Mirëmbajtja e DCACHE
DCACHE ofron operacione të shumta mirëmbajtjeje që mund të konfigurohen përmes CACHECMD[2:0] në DCACHE_CR.

  • 000: nuk ka funksion (parazgjedhje)
  • 001: varg i pastër. Pastroni një gamë të caktuar në cache
  • 010: zhvlerësoni intervalin. Anuloni një gamë të caktuar në cache
  • 010: pastroni dhe zhvlerësoni gamën. Pastroni dhe zhvlerësoni një gamë të caktuar në cache

Gama e zgjedhur konfigurohet përmes:

  • Regjistri CMDSTARTADDR: adresa e fillimit të komandës
  • Regjistri CMDENDADDR: adresa e përfundimit të komandës

Shënim:

Ky regjistër duhet të vendoset përpara se të shkruhet CACHECMD. Mirëmbajtja e komandës së cache-it fillon kur biti STARTCMD vendoset në regjistrin DCACHE_CR. DCACHE gjithashtu mbështet një anulim të plotë të CACHE duke vendosur bitin CACHEINV në regjistrin DCACHE_CR.

Siguria DCACHE
DCACHE është një pajisje periferike e sigurt që mund të konfigurohet si e sigurt përmes regjistrit të konfigurimit të sigurt të GTZC TZSC. Kur konfigurohet si i sigurt, lejohen vetëm akseset e sigurta në regjistrat DCACHE. DCACHE gjithashtu mund të konfigurohet si i privilegjuar përmes regjistrit të konfigurimit të privilegjeve GTZC TZSC. Kur DCACHE është konfiguruar si i privilegjuar, vetëm akseset e privilegjuara lejohen në regjistrat DCACHE. Si parazgjedhje, DCACHE është i pasigurt dhe jo i privilegjuar përmes GTZC TZSC.

Menaxhimi i ngjarjeve dhe ndërprerjeve
DCACHE menaxhon gabimet funksionale kur zbulohen, duke vendosur flamurin ERRF në DCACHE_SR. Një ndërprerje mund të gjenerohet gjithashtu nëse biti ERRIE është vendosur në DCACHE_IER. Në rast të pavlefshmërisë së DCACHE, kur gjendja e ngarkimit të cache-it përfundon, flamuri BSYENDF vendoset në DCACHE_SR. Një ndërprerje mund të gjenerohet gjithashtu nëse biti BSYENDIE është vendosur në DCACHE_IER. Statusi i komandës DCACHE mund të kontrollohet përmes CMDENF dhe BUSYCMDF përmes DCACHE_SR Një ndërprerje mund të gjenerohet gjithashtu nëse biti CMDENDIE është vendosur në DCACHE_IER. Tabela më poshtë liston ndërprerjet DCACHE dhe flamujt e ngjarjeve

Tabela 8. DCACHE Ndërprerjet dhe bitet e menaxhimit të ngjarjeve

Regjistrohu Regjistrohu Përshkrimi i bitit Lloji i aksesit në bit
 

 

 

DCACHE_SR

I ZËNË Cache ekzekuton një operacion të zhvlerësimit të plotë  

 

 

Vetëm për lexim

BSYENDF Operacioni i zhvlerësimit të plotë të memories së memories përfundoi
BUSYCMDF Cache duke ekzekutuar një komandë intervali
CMDENDF Fundi i komandës së intervalit
ERRF Ndodhi një gabim gjatë funksionimit të memorizimit
 

DCACHE_IER

ERRI Aktivizo ndërprerjen për gabimin e cache-it  

Lexo/shkruaj

CMDENDIE Aktivizo ndërprerjen në fund të komandës së intervalit
BSYENDIE Aktivizo ndërprerjen në përfundimin e operacionit të zhvlerësimit të plotë
 

DCACHE_FCR

CERRF Pastron ERRF në DCACHE_SR  

Vetëm për të shkruar

CCMDENDF Pastron CMDENDF në DCACHE_SR
CBSYENDF Pastron BSYENDF në DCACHE_SR

Performanca ICACHE dhe DCACHE dhe konsumi i energjisë

Përdorimi i ICACHE dhe DCACHE përmirëson performancën e aplikacionit kur aksesoni memoriet e jashtme. Tabela e mëposhtme tregon ndikimin e ICACHE dhe DCACHE në ekzekutimin e CoreMark® kur aksesoni memoriet e jashtme.

Tabela 9. Performanca ICACHE dhe DCACHE në ekzekutimin e CoreMark me memorie të jashtme

(1)
Kodi CoreMark Të dhënat CoreMark Konfigurimi ICACHE Konfigurimi DCACHE Rezultati CoreMark/Mhz
Memorie e brendshme flash SRAM i brendshëm Aktivizuar (2 drejtime) I paaftë 3.89
Memorie e brendshme flash Octo-SPI PSRAM i jashtëm (S-bus) Aktivizuar (2 drejtime) Aktivizuar 3.89
Memorie e brendshme flash Octo-SPI PSRAM i jashtëm (S-bus) Aktivizuar (2 drejtime) I paaftë 0.48
Blic i jashtëm Octo-SPI (autobus C) SRAM i brendshëm Aktivizuar (2 drejtime) I paaftë 3.86
Blic i jashtëm Octo-SPI (autobus C) SRAM i brendshëm I paaftë I paaftë 0.24
Memorie e brendshme flash SRAM i brendshëm I paaftë I paaftë 2.69

Kushtet e provës:

  • Produkti i aplikueshëm: STM32U575/585
  • Frekuenca e sistemit: 160 MHz.
  • Kujtesa e jashtme Octo-SPI PSRAM: 80 MHz (modaliteti DTR).
  • Memorie e jashtme flash Octo-SPI: 80 MHz (modaliteti STR).
  • Përpiluesi: IAR V8.50.4.
  • PARAPRAPASJA E BRENDSHME TË BLESKIT: AKTIV.

Përdorimi i ICACHE dhe DCACHE zvogëlon konsumin e energjisë kur aksesoni memoriet e brendshme dhe të jashtme. Tabela e mëposhtme tregon ndikimin e ICACHE në konsumin e energjisë gjatë ekzekutimit të CoreMark.

Tabela 10. Ndikimi i ICACHE i ekzekutimit të CoreMark në konsumin e energjisë

Konfigurimi ICACHE Konsumi i energjisë MCU (mA)
Aktivizuar (2 drejtime) 7.60
Aktivizuar (1-kahëshe) 7.13
I paaftë 8.89
  1. Kushtet e provës:
    • Produkti i aplikueshëm: STM32U575/585
    • Kodi CoreMark: memorie e brendshme Flash.
    • Të dhënat CoreMark: SRAM i brendshëm.
    • Memoria e brendshme e flashit PARAPRAKE: AKTIV.
    • Frekuenca e sistemit: 160 MHz.
    • Përpiluesi: IAR V8.32.2.
    • VëlltagGama e: 1.
    • SMPS: ON.
  2. Konfigurimi shoqërues i setit të mënyrës është më performues sesa konfigurimi shoqërues i grupit 1-drejtimësh për kodin që nuk mund të ngarkohet plotësisht në cache. Ndërkohë, cache-i shoqërues i grupeve 1-kahëshe është pothuajse gjithmonë më efikas në energji sesa cache-i shoqërues i grupeve 2-kahëshe. Çdo kod duhet të vlerësohet në të dy konfigurimet e asociativitetit, në mënyrë që të zgjidhet shkëmbimi më i mirë midis performancës dhe konsumit të energjisë. Zgjedhja varet nga përparësia e përdoruesit.

konkluzioni

Memoriet e para të zhvilluara nga STMicroelectronics, ICACHE dhe DCACHE, janë në gjendje të ruajnë memorien e brendshme dhe të jashtme, duke ofruar përmirësim të performancës për trafikun e të dhënave dhe marrjen e instruksioneve. Ky dokument tregon veçoritë e ndryshme të mbështetura nga ICACHE dhe DCACHE, thjeshtësia dhe fleksibiliteti i konfigurimit të tyre lejojnë kosto më të ulët të zhvillimit dhe kohë më të shpejtë në treg.

Historia e rishikimit

Tabela 11. Historia e rishikimit të dokumentit

Data Versioni Ndryshimet
10-tetor-2019 1 Lëshimi fillestar.
 

 

27-shkurt-2020

 

 

2

Përditësuar:

• Tabela 2. Rajonet e memories dhe adresat e tyre

• Seksioni 2.1.7 Mirëmbajtja ICACHE

• Seksioni 2.1.8 Siguria ICACHE

 

 

 

 

7-dhjetor-2021

 

 

 

 

3

Përditësuar:

• Titulli i dokumentit

• Prezantimi

• Seksioni 1 ICACHE dhe DCACHE mbiview

• Përfundimi i seksionit 4 u shtua:

• Seksioni 2 Karakteristikat ICACHE dhe DCACHE

• Seksioni 3 Performanca ICACHE dhe DCACHE dhe konsumi i energjisë

 

 

 

 

 

 

15-shkurt-2023

 

 

 

 

 

 

4

Përditësuar:

•         Seksioni 2.2: Arkitektura inteligjente e serisë STM32U5

•         Seksioni 2.5: Blloku i DCACHE

•         Seksioni 3.1.1: Zotërues të dyfishtë

•         Seksioni 3.1.2: ICACHE 1-kahëshe kundrejt ICACHE 2-kahëshe

•         Seksioni 3.1.4: Rajonet e memorizuara dhe veçoria e rimadhimit

•         Seksioni 3.2: Karakteristikat e DCACHE

•         Seksioni 3.2.2: Rajonet e memorishme të DCACHE

•         Seksioni 4: Performanca ICACHE dhe DCACHE dhe konsumi i energjisë Shtuar:

•         Seksioni 1: Informacion i përgjithshëm

 

11-Mars-2024

 

5

Përditësuar:

•         Seksioni 2.3: Arkitektura inteligjente e serisë STM32H5

•         Seksioni 3.1.1: Zotërues të dyfishtë

NJOFTIM I RËNDËSISHËM – LEXO ME KUJDES
STMicroelectronics NV dhe filialet e saj ("ST") rezervojnë të drejtën për të bërë ndryshime, korrigjime, përmirësime, modifikime dhe përmirësime në produktet ST dhe/ose në këtë dokument në çdo kohë pa paralajmërim. Blerësit duhet të marrin informacionin më të fundit përkatës mbi produktet ST përpara se të bëjnë porosi. Produktet ST shiten në përputhje me termat dhe kushtet e shitjes të ST në fuqi në momentin e njohjes së porosisë. Blerësit janë vetëm përgjegjës për zgjedhjen, përzgjedhjen dhe përdorimin e produkteve ST dhe ST nuk merr asnjë përgjegjësi për asistencën e aplikimit ose dizajnimin e produkteve të blerësve. Asnjë licencë, e shprehur apo e nënkuptuar, për ndonjë të drejtë të pronësisë intelektuale nuk jepet nga ST këtu. Rishitja e produkteve ST me dispozita të ndryshme nga informacioni i përcaktuar këtu do të anulojë çdo garanci të dhënë nga ST për këtë produkt. ST dhe logoja ST janë marka tregtare të ST. Për informacion shtesë rreth markave ST, referojuni www.st.com/trademarks. Të gjithë emrat e tjerë të produkteve ose shërbimeve janë pronë e pronarëve të tyre përkatës. Informacioni në këtë dokument zëvendëson dhe zëvendëson informacionin e dhënë më parë në çdo version të mëparshëm të këtij dokumenti. © 2024 STMicroelectronics – Të gjitha të drejtat e rezervuara

Dokumentet / Burimet

Mikrokontrolluesit e serisë STMicroelectronics STM32H5 [pdf] Manuali i Përdoruesit
Mikrokontrolluesit e serisë STM32H5, STM32H5, mikrokontrolluesit e serisë, mikrokontrolluesit

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *