STMicroelectronics-logoa

STMicroelectronics STM32H5 serieko mikrokontrolagailuak

STMicroelectronics-STM32H5-Series-Microcontrollers-produktua

Sarrera

Aplikazio-ohar honek instrukzio-cachea (ICACHE) eta datu-cachea (DCACHE) deskribatzen ditu, STMicroelectronics-ek garatutako lehen cacheak. Arm® Cortex®-M33 prozesadorearen AHB busean sartutako ICACHE eta DCACHE beheko taulan zerrendatutako STM32 mikrokontroladorean (MCU) txertatuta daude. Cache hauei esker, erabiltzaileek beren aplikazioen errendimendua hobetu eta kontsumoa murrizten dute instrukzioak eta datuak barneko zein kanpoko oroimetatik edo kanpoko memorietako datuen trafikorako. Dokumentu honek adibide tipikoa ematen duampICACHE eta DCACHE ezaugarriak nabarmentzeko eta haien konfigurazioa errazteko.

1. taula. Produktu aplikagarriak

Mota Produktuen seriea
Mikrokontrolagailuak STM32H5 seriea, STM32L5 seriea, STM32U5 seriea

Informazio orokorra

Oharra:

Aplikazio-ohar hau Arm® Cortex® nukleoan oinarritutako gailuak diren STM32 serieko mikrokontrolagailuei dagokie. Arm Arm Limited-en (edo bere filialen) marka erregistratua da AEBetan eta/edo beste toki batzuetan.

ICACHE eta DCACHE amaituview

Atal honek gaina ematen duview STM32 Arm® Cortex® nukleoan oinarritutako mikrokontrolagailuetan txertatutako ICACHE eta DCACHE interfazeak. Atal honetan ICACHE eta DCACHE diagrama eta integrazioa sistemaren arkitekturan zehazten da.
STM32L5 serieko arkitektura adimenduna
Arkitektura hau bus matrize batean oinarritzen da, hainbat maisu (Cortex-M33, ICACHE, DMA1/2 eta SDMMC1) hainbat esklabo atzitzeko (adibidez, flash memoria, SRAM1/2, OCTOSPI1 edo FSMC). Beheko irudian STM32L5 serieko arkitektura adimenduna deskribatzen da.

1. irudia. STM32L5 serieko arkitektura adimenduna

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

Cortex-M33-ren errendimendua hobetzen da bere C-AHB busean sartutako 8 Kbyte ICACHE interfazea erabiliz, barne-memorietatik (flash memoria, SRAM1 edo SRAM2) kodea edo datuak eskuratzean bus azkarretik, eta baita ere. kanpoko memoriak (OCTOSPI1 edo FSMC) autobus geldoaren bidez.
STM32U5 serieko arkitektura adimenduna
Arkitektura hau bus matrize batean oinarritzen da, hainbat maisu (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D eta SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) hainbat esklabo atzitzeko (adibidez, flash memoria, SRAM, BKPSRAM, HSPI/). OCTOSPI edo FSMC).Beheko irudian STM32U5 serieko arkitektura adimenduna deskribatzen da.

2. irudia. STM32U5 serieko arkitektura adimenduna

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

Cortex-M33 eta GPU2D interfazeek CACHE erabiltzean etekina ateratzen dute.

  • ICACHE-k Cortex-M33-ren errendimendua hobetzen du barne-memorietatik kodea edo datuak bus azkarrean (flash memoria, SRAMak) eta kanpo-memorietatik bus geldoaren bidez (OCTOSPI1/2 eta HSPI1, edo FSMC) eskuratzean. DCACHE1-ek errendimendua hobetzen du s-bus bidez (GFXMMU, OCTOSPI1/2 eta HSPI1 edo FSMC) barneko edo kanpoko memorietako datuak eskuratzean.
  •  DCACHE2-k GPU2D-ren errendimendua hobetzen du barneko eta kanpoko memoriaetatik (GFXMMU, flash memoria, SRAMak, OCTOSPI1/2 eta HSPI1 edo FSMC) datuak M0 ataka-busaren bidez eskuratzean.

STM32H5 serieko arkitektura adimenduna
STM32H523/H533, STM32H563/H573 eta STM32H562 arkitektura adimenduna Arkitektura hau bus matrize batean oinarritzen da, hainbat maisu (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet eta SDMMC) esklabo anitzetan sartzeko (esaterako, flash memoria, BKPSRAMak, SDMMCak). , OCTOSPI eta FMC). Beheko irudian STM32H5 serieko arkitektura adimenduna deskribatzen da.

3. irudia. STM32H563/H573 eta STM32H562 serieko arkitektura adimenduna

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

Cortex-M33-k CACHE erabiltzearen abantailak ditu.

  • ICACHE-k Cortex-M33-ren errendimendua hobetzen du barne-memorietatik kodea edo datuak bus azkar baten bidez (flash memoria, SRAMak) eta kanpo-memorietatik bus geldoaren bidez (OCTOSPI eta FMC) eskuratzean.
  • DCACHE-k errendimendua hobetzen du kanpo-memorietatik datuak bus geldoaren bidez (OCTOSPI eta FMC) eskuratzean.

STM32H503 arkitektura adimenduna
Arkitektura hau bus matrize batean oinarritzen da, hainbat maisu (Cortex-M33, ICACHE eta GPDMA) hainbat esklabo atzitzeko aukera ematen diona (adibidez, flash memoria, SRAM eta BKPSRAM). Beheko irudian STM32H5 serieko arkitektura adimenduna deskribatzen da.

4. irudia. STM32H503 serieko arkitektura adimenduna

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

Cortex-M33-k CACHE erabiltzearen abantailak ditu.

  • ICACHE-k Cortex-M33-ren errendimendua hobetzen du barne-memorietatik kodea edo datuak bus azkarren bidez (flash memoria, SRAMak) eskuratzean.

ICACHE bloke-diagrama
ICACHE bloke-diagrama beheko irudian ematen da.

5. irudia. ICACHE bloke-diagrama

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

ICACHE memoriak barne hartzen ditu:

  • du TAG memoria honekin:
    • helbidea tags cacheko datuen memorian zein datu dauden adierazten dutenak
    • baliozko bitak
  •  datuen memoria, cachean gordetako datuak dituena

DCACHE bloke-diagrama
DCACHE bloke-diagrama beheko irudian ematen da.

6. irudia. DCACHE bloke-diagrama

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

DCACHE memoriak barne hartzen ditu:

  • du TAG memoria honekin:
    • helbidea tags cacheko datuen memorian zein datu dauden adierazten dutenak
    • baliozko bitak
    • pribilegio-bitak
    • zati zikinak
  • datuen memoria, cachean gordetako datuak dituena

ICACHE eta DCACHE ezaugarriak

Maisu bikoitza
ICACHE-k AHBko autobus matrizean sartzen da:

  • AHBko portu nagusi bat: master1 (autobus azkarra)
  • AHBko bi portu nagusi: master1 (autobus azkarra) eta master2 (bus motela)

Ezaugarri honi esker, trafikoa desakoplatu daiteke memoria-eskualde desberdinetan sartzean (esaterako, barneko flash memoria, barne SRAM eta kanpoko memoriak), cache-hutsetan PUZ geldialdiak murrizteko. Hurrengo taulak memoria-eskualdeak eta haien helbideak laburbiltzen ditu.

2. taula. Memoria-eskualdeak eta haien helbideak

Periferikoa Cache daitekeen memoriarako sarbidea Ezin da cache-ko memoriarako sarbidea
 

 

Mota

 

 

Izena

 

 

Produktuaren izena eta eskualdearen tamaina

 

 

Autobusaren izena

 

Eskualde segurua ez den hasierako helbidea

Hasierako helbidea deigarria den eskualde segurua eta ez segurua  

 

Autobusaren izena

 

Eskualde segurua ez den hasierako helbidea

Hasierako helbidea deigarria den eskualde segurua eta ez segurua
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Barnekoa

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus azkarra

 

 

 

 

 

 

 

0x0800 0000

N/A  

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

STM32L5

serie/ 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-autobusa

 

 

 

 

 

 

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

seriea

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

Periferikoa Cache daitekeen memoriarako sarbidea Ezin da cache-ko memoriarako sarbidea
 

 

 

 

 

 

 

 

 

Barnekoa

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

autobus azkarra

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-autobusa

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

 

 

 

 

 

 

 

 

 

 

 

Kanpokoa

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

autobus geldoa

(1)

 

 

 

 

 

 

Alias ​​helbidea [0x0000 0000 bitartekoa

0x07FF FFFF] edo [0x1000 0000:0x1FFF

FFFF] birmapping eginbidearen bidez definitua

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

banku segurua

STM32L5/U5

seriea

STM32H563/ 573/562

 

 

0x9000 0000

 

FMC bankua 3

ziurgabea

STM32L5/U5

seriea

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

banku segurua

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

FMC bankua 1

ziurgabea

STM32L5/U5

seriea

STM32H563/ 573/562

 

 

0x6000 0000

1. Halako eskualdeak birmapatzerakoan hautatzeko.

Norabide bakarreko versus bi norabideko ICACHE
Lehenespenez, ICACHE funtzionamendu-modu asoziatiboan konfiguratuta dago (bi modu gaituta), baina ICACHE zuzeneko mapa moduan konfiguratu daiteke (norabide bakarrekoa gaituta), oso energia-kontsumo txikia behar duten aplikazioetarako. ICACHE konfigurazioa ICACHE_CR-ko WAYSEL bitarekin egiten da honela:

  • WAYSEL = 0: zuzeneko mapatutako funtzionamendu modua (noranzko bakarrekoa)
  • WAYSEL = 1 (lehenetsia): funtzionamendu asoziatiboa (bi norabidekoa)

3. taula. ICACHE 1eko versus 2 bideko

Parametroa Bide bakarreko ICACHE Bide bakarreko ICACHE
Cachearen tamaina (Kbyte) 8(1)/32(2)
Cache hainbat modu 1 2
Cachearen lerroaren tamaina 128 bit (16 byte)
Cache-lerro kopurua 512(1)/2048(2) 256(1)/1024(2) bide bakoitzeko
  1. STM32L5 serierako /STM32H5 serierako /STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Leherketa mota
Octo-SPI memoria batzuek WRAP leherketa onartzen dute, hitzaren lehen funtzio kritikoaren onura ematen duena. Birmapatutako eskualdeetarako AHB memoria-transakzioaren ICACHE leherketa mota konfiguragarria da. Leherketa inkrementala edo WRAP leherketa inplementatzen du, ICACHE_CRRx erregistroan HBURST bitarekin hautatua. WRAP-aren eta leherketa inkrementalen arteko desberdintasunak jarraian azaltzen dira (ikusi ere irudia):

  • WRAP leherketa:
    • cache-lerroaren tamaina = 128 bit
    • burst to start helbidea = CPUak eskatutako lehen datuen hitz-helbidea
  •  Leherketa inkrementala:
    • cache-lerroaren tamaina = 128 bit
    • lehertu hasierako helbidea = eskatutako hitza duen cache-lerroaren mugan lerrokatuta dagoen helbidea

7. irudia. Leherketa inkrementala eta WRAP lehertzea

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Cache daitezkeen eskualdeak eta birmapping eginbidea
ICACHE Cortex-M33ra konektatuta dago C-AHB busaren bidez eta kode-eskualdea gordetzen du [0x0000 0000 0x1FFF FFFF-ra] helbideetatik. Kanpoko memoriak [0x6000 0000-tik 0xAFFF FFFF] bitarteko helbide batean mapatzen direnez, ICACHE-k edozein kanpoko memoria-eskualdeak [0x0000 0000-tik 0x07FF FFFF] edo [0x1000 0000-tik 0x1FF FFFF] bitarteko helbide batean birmapatzea ahalbidetzen duen birmapatze-eginbide bat onartzen du. [32x5 32tik 5xXNUMXFFF FFFF], eta C-AHB autobusaren bidez irisgarri bihurtzea. Gehienez kanpoko lau memoria-eskualde birmapa daitezke funtzio honekin. Eskualde bat birmapatu ondoren, birmapaketa eragiketa gertatzen da ICACHE desgaituta dagoen arren edo transakzioa cachean ez badago. Erabiltzaileak memoria babesteko unitatean (MPU) definitu eta programatu ditzake cache daitezkeen memoria-eskualdeak. Beheko taulak STMXNUMXLXNUMX eta STMXNUMXUXNUMX serieko memorien konfigurazioak laburbiltzen ditu.

4. taula. STM32L5 eta STM32U5 serieko memorien konfigurazioa

 

Produktuen memoria

Cache daiteke

(MPU programazioa)

ICACHE-n birmapatua

(ICACHE_CRRx programazioa)

Flash memoria Bai ala Ez  

Ez da beharrezkoa

SRAM Ez da gomendagarria
Kanpoko memoriak (HSPI/ OCTOSPI edo FSMC) Bai ala Ez Beharrezkoa da erabiltzaileak kanpoko kodea eskuratu nahi badu C-AHB autobusean (bestela S-AHB autobusean)

ICACHE kanpoko memoria birmapatzearen abantaila
Adibampbeheko irudian ICACHE errendimendu hobetuari etekina ateratzeko kodearen exekuzioan edo irakurtzen diren datuetan 8 Mbyte kanpoko Octo-SPI memoria batera sartzean (adibidez, kanpoko flash memoria edo RAM gisa) erakusten du.

8. irudia. Octo-SPI memoria birmapa adibample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

Kanpoko memoria hau birmapeatzeko urrats hauek behar dira:

OCTOSPI kanpoko memoriarako konfigurazioa

Konfiguratu OCTOSPI interfazea Memoria mapatutako moduan kanpoko memoriara sartzeko (kanpo memoria [0x9000 0000 to 0x9FFF FFFF] eskualdean mapatutako barne memoria gisa ikusten da). Kanpoko memoria-tamaina 8 Mbytekoa denez, [0x9000 0000 to 0x907F FFFF] eskualdean ikusten da. Eskualde honetako kanpoko memoria S-busaren bidez sartzen da eta ezin da cachean jar daiteke. Hurrengo urratsak ICACHE konfigurazioa erakusten du eskualde hau birmapatzeko.
Oharra: Memoria mapatutako moduan OCTOSPI konfiguraziorako, ikusi STM32 mikrokontrolagailuetako Octo-SPI interfazea (AN5050).

ICACHE konfigurazioa kanpoko memoria-mapatutako eskualdea birmapeatzeko
[8x0 9000 to 0000x0F FFFF] eskualdean jarritako 907 Mbyteak [0x1000 0000 to 0x107F FFFF] eskualdean berriro mapatzen dira. Ondoren, autobus geldoaren bidez (ICACHE master2 autobusa) sar daiteke.

  • ICACHE_CR erregistroaren konfigurazioa
    • Desgaitu ICACHE EN = 0-rekin.
    • Hautatu norabide bakarrekoa edo bi norabidekoa (aplikazioaren beharren arabera) WAYSEL = 1 edo 2arekin, hurrenez hurren.
  • ICACHE_CRRx erregistroaren konfigurazioa (gehienez lau eskualde, x = 0tik 3ra)
    • Hautatu 0x1000 0000 oinarrizko helbidea (remap helbidea) BASEADDR [28:21] = 0x80-rekin.
    • Hautatu 8 Mbyte-ko eskualdearen tamaina RSIZE[2:0] = 0x3-rekin birmapatzeko.
    • Hautatu 0x9000 0000 birmapatutako helbidea REMAPADDR[31:21] = 0x480.
    • Hautatu ICACHE AHB master2 ataka MSTSEL = 1 duen kanpoko memorietarako.
    • Hautatu WRAP leherketa mota HBURST = 0-rekin.
    • Gaitu x eskualderako birmapping-a REN = 1-rekin.

Hurrengo irudiak memoria-eskualdeak nola ikusten diren erakusten du IARrekin, birmapa gaitu ondoren.

9. irudia. Memoria-eskualdeen birmapping adibidezample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

8 Mbyte-ko kanpoko memoria berriro mapatu da eta [0x1000 0000tik 0x107F FFFF] eskualdean sar daiteke.

ICACHE gaitu

  • ICACHE_CR erregistroaren konfigurazioa Gaitu ICACHE EN = 1-rekin.

Hit-and-miss monitoreak
ICACHE-k bi monitore eskaintzen ditu errendimendua aztertzeko: 32 biteko hit monitorea eta 16 biteko miss monitorea.

  • Hit-en monitoreak ICACHE edukiari heltzen dion esklaboen cache atakan (jada eskuratzen diren datuak cachean eskuragarri dauden AHB transakzioak zenbatzen ditu). Hikaren monitorearen kontagailua ICACHE_HMONR erregistroan dago eskuragarri.
  • Miss monitoreak ICACHE edukia galtzen duten esklaboen cache atakan cache daitezkeen AHB transakzioak zenbatzen ditu (eskuratutako datuak ez daude dagoeneko cachean eskuragarri). Falta den monitorearen kontagailua ICACHE_MMONR erregistroan dago eskuragarri.

Oharra:

Bi monitore hauek ez dira itzultzen beren balio maximoetara iristean. Monitore hauek ICACHE_CR erregistroko bit hauetatik kudeatzen dira:

  • HITMEN bit (hurrenez MISSMEN bit) hit (hurrenez hurren galdu) monitorea gaitzeko/gelditzeko
  • HITMRST bit (hurrenez MISSMRST bit) hit (hurrenez, galdu) monitorea berrezartzeko Lehenespenez, monitore hauek desgaituta daude energia-kontsumoa murrizteko.

ICACHE mantentzea
Softwareak ICACHE baliogabetu dezake CACHEINV bit ICACHE_CR erregistroan ezarriz. Ekintza honek cache osoa baliogabetzen du, hutsik geratuz. Bien bitartean, birmapatutako eskualde batzuk gaituta badaude, birmaparen eginbidea aktibo dago oraindik, ICACHE desgaituta dagoenean ere. ICACHE-k irakurketa-transakzioak soilik kudeatzen dituenez eta idazketa-transakzioak ez dituenez, ez du koherentzia bermatzen idazketen kasuan. Ondorioz, softwareak ICACHE baliogabetu behar du eskualde bat programatu ondoren.

ICACHE segurtasuna
ICACHE periferiko segurua da, GTZC TZSC konfigurazio seguruaren erregistroaren bidez seguru gisa konfigura daitekeena. Seguru gisa konfiguratuta dagoenean, ICACHE erregistroetarako sarbide seguruak soilik onartzen dira. ICACHE pribilegio gisa ere konfigura daiteke GTZC TZSC pribilegioen konfigurazio erregistroaren bidez. ICACHE pribilegio gisa konfiguratuta dagoenean, ICACHE erregistroetan sarbide pribilegiatuak soilik onartzen dira. Lehenespenez, ICACHE ez da segurua eta pribilegiorik gabea GTZC TZSC bidez.

Gertaeren eta etenen kudeaketa

ICACHE-k akats funtzionalak kudeatzen ditu hautematen direnean, ICACHE_SR-n ERRF bandera ezarriz. Eten bat ere sor daiteke ERRIE bit-a ICACHE_IER-en ezarrita badago. ICACHE baliogabetzen bada, cache okupatuta dagoen egoera amaitzen denean, BSYENDF bandera ICACHE_SRn ezartzen da. Eten bat ere sor daiteke BSYENDIE bit ICACHE_IER-en ezarrita badago. Beheko taulan ICACHE eten eta gertaeren banderak zerrendatzen dira.

5. taula. ICACHE etenaldiak eta gertaerak kudeatzeko bitak

Izena eman Bit izena Bit deskribapena Bit sarbide mota
 

ICACHE_SR

LANPETUTA Cachea baliogabetzeko eragiketa osoa exekutatzen  

Irakurtzeko soilik

BSYENDF Cachea baliogabetzeko eragiketa amaitu da
ERROREA Errore bat gertatu da cachean gordetzean
 

ICACHE_IER

ERRIE Gaitu etenaldia cacheko errorerako  

Irakurri/idatzi

BSYENDIE Gaitu etenaldia baliogabetze-eragiketa amaitutakoan
 

ICACHE_FCR

CERRF ICACHE_SR-n ERRF garbitzen du  

Idazteko soilik

CBSYENDF BSYENDF garbitzen du ICACHE_SR-n

DCACHE ezaugarriak
Datuen cachearen helburua prozesadoretik edo beste bus maisu periferiko batetik datozen kanpoko memoriako datu-kargak eta datu-biltegiak gordetzea da. DCACHE-k irakurketa eta idazketa transakzioak kudeatzen ditu.
DCACHE cache-trafikoa

DCACHE-k kanpoko memoriak katxeatzen ditu ataka nagusiaren interfazetik AHB busaren bidez. Sarrerako memoria-eskaerak cache gisa definitzen dira bere AHB transakzio-memoria blokeatzeko atributuaren arabera. DCACHE idazketa-politika idazketa edo idazketa gisa definitzen da MPUak konfiguratutako memoria-atributuaren arabera. Eskualde bat cache ezin daitekeen gisa konfiguratzen denean, DCACHE saihestu egiten da.

 6. taula. DCACHE cache-a AHB transakziorako

AHB bilaketa-atributua AHB bufferable atributua Cacheagarritasuna
0 X Irakurri eta idatzi: ez dago cachean
 

1

 

0

Irakurri: cacheable

Idatzi: (cacheable) idazteko

 

1

 

1

Irakurri: cacheable

Idatzi: (cacheable) idazketa

DCACHE cachean dauden eskualdeak
STM32U5 serierako, DCACHE1 interfaze esklaboa Cortex-M33-ra konektatzen da S-AHB busaren bidez eta GFXMMU, FMC eta HSPI/OCTOSPIak gordetzen ditu. DCACHE2 interfaze esklaboa DMA2Dra konektatuta dago M0 ataka-busaren bidez, eta barneko eta kanpoko memoria guztiak gordetzen ditu (SRAM4 eta BRKPSRAM izan ezik). STM32H5 serierako, DCACHE esklabo interfazea Cortex-M33-ra konektatzen da S-AHB kanpoko memorien bidez FMC eta OCTOSPI bidez.

7. taula. DCACHE cacheko eskualdeak eta interfazeak

Cache daitekeen memoria helbidearen eskualdea DCACHE1 cacheko interfazeak DCACHE2 cacheko interfazeak
GFXMMU X X
SRAM1  

 

 

N/A

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

Oharra

Interfaze batzuk ez dira onartzen zenbait produktutan. Ikusi 1. irudira edo produktuaren erreferentziazko eskuliburu espezifikoa.
Leherketa mota
ICACHE-k bezala, DCACHE-k leherketa inkrementalak eta bilduta onartzen ditu (ikus 3.1.3 atala). DCACHErako, leherketa mota DCACHE_CR-ko HBURST bitaren bidez konfiguratzen da.
DCACHE konfigurazioa
Abiatzerakoan, DCACHE desgaituta dago lehenespenez, esklaboen memoria-eskaerak ataka nagusira zuzenean birbidaltzeko. DCACHE gaitzeko, EN bit ezarri behar da DCACHE_CR erregistroan. Hit-and-miss monitoreak DCACHE-k lau monitore inplementatzen ditu cachearen errendimendua aztertzeko:

  • Bi 32 biteko (R/W) hit monitor: CPUak zenbat aldiz irakurri edo idazten duen datuak cache memorian zenbatzen ditu DCACHE portu nagusietan transakziorik sortu gabe (dagoeneko cachean eskuragarri dauden datuak). (R/W) hit monitoreen kontagailuak eskuragarri daude hurrenez hurren DCACHE_RHMONR eta DCACHE_WHMONR erregistroetan.
  • 16 biteko (R/W) bi monitore falta: PUZak zenbat aldiz irakurri edo idazten dituen datuak cache memorian zenbatu eta DCACHE portu nagusietan transakzio bat sortzen du, memoria-eskualdetik datuak kargatzeko (eskuratutako datuak ez dagoeneko eskuragarri dago cachean). (R/W) falta diren monitoreen kontagailuak eskuragarri daude hurrenez hurren DCACHE_RMMONR eta DCACHE_WMMONR erregistroetan.

Oharra:

Lau monitore hauek ez dira biltzen gehienezko balioetara iristean. Monitore hauek DCACHE_CR erregistroko bit hauetatik kudeatzen dira:

  • WHITMAN bit (hurrenez, WMISSMEN bit) idazketa hit (hurrenez hurren galdu) monitorea gaitzeko/gelditzeko
  • RHITMEN bit (hurrenez RMISSMEN bit) irakurketa hit (hurrenez hurren galdu) monitorea gaitzeko/gelditzeko
  • WHITMRST bit (hurrenez hurren WMISSMRST bit) idazketa hit (hurrenez hurren galdu) monitorea berrezartzeko
  • RHITMRST bit (hurrenez RMISSMRST bit) irakurritako hit (hurrenez hurren galdu) monitorea berrezartzeko

Lehenespenez, monitore hauek desgaituta daude energia-kontsumoa murrizteko.

DCACHE mantentzea
DCACHE-k mantentze-eragiketa anitz eskaintzen ditu, CCHECMD[2:0] bidez DCACHE_CR-n konfigura daitezkeenak.

  • 000: eragiketarik ez (lehenetsia)
  • 001: sorta garbia. Garbitu tarte jakin bat cachean
  • 010: barrutia baliogabetu. Baliogabetu barruti jakin bat cachean
  • 010: barrutia garbitu eta baliogabetu. Garbitu eta baliogabetu barruti jakin bat cachean

Hautatutako barrutia honako hauen bidez konfiguratzen da:

  • CMDSTARTADDR erregistroa: komandoaren hasierako helbidea
  • CMDENDADDR erregistroa: komando amaierako helbidea

Oharra:

Erregistro hau CACHECMD idatzi aurretik ezarri behar da. Cache-komandoaren mantentze-lanak STARTCMD bit DCACHE_CR erregistroan ezartzen direnean hasten da. DCACHE-k CACHE baliogabetze osoa ere onartzen du DCACHE_CR erregistroan CACHEINV bit ezarriz.

DCACHE segurtasuna
DCACHE GTZC TZSC konfigurazio seguruaren erregistroaren bidez seguru gisa konfigura daitekeen periferiko seguru bat da. Seguru gisa konfiguratuta dagoenean, DCACHE erregistroetarako sarbide seguruak soilik onartzen dira. DCACHE pribilegio gisa ere konfigura daiteke GTZC TZSC pribilegioen konfigurazio erregistroaren bidez. DCACHE pribilegio gisa konfiguratuta dagoenean, pribilegiodun sarbideak soilik onartzen dira DCACHE erregistroetan. Lehenespenez, DCACHE ez da segurua eta pribilegiorik gabea GTZC TZSC bidez.

Gertaeren eta etenen kudeaketa
DCACHE-k akats funtzionalak kudeatzen ditu detektatzean, ERRF bandera ezarriz DCACHE_SR-n. Eten bat ere sor daiteke ERRIE bit-a DCACHE_IER-en ezarrita badago. DCACHE baliogabetzen bada, cache okupatuta dagoen egoera amaitzen denean, BSYENDF bandera ezarriko da DCACHE_SR-n. Eten bat ere sor daiteke BSYENDIE bit DCACHE_IER-en ezartzen bada. DCACHE komandoaren egoera CMDENF eta BUSYCMDF bidez DCACHE_SR bidez egiaztatu daiteke Eten bat ere sor daiteke CMDENDIE bit DCACHE_IER-en ezarrita badago. Beheko taulan DCACHE etenaldiak eta gertaeren banderak zerrendatzen dira

8. taula. DCACHE Eten eta gertaerak kudeatzeko bitak

Izena eman Izena eman Bit deskribapena Bit sarbide mota
 

 

 

DCACHE_SR

LANPETUTA Cachea baliogabetzeko eragiketa osoa exekutatzen  

 

 

Irakurtzeko soilik

BSYENDF Cache osoa baliogabetzeko eragiketa amaitu da
BUSYCMDF Cache barruti komando bat exekutatzen
CMENDDF Barrutiaren komando amaiera
ERRF Errore bat gertatu da cachean gordetzean
 

DCACHE_IER

ERRIE Gaitu etenaldia cacheko errorerako  

Irakurri/idatzi

CMDENDIE Gaitu etenaldia barrutiaren komandoaren amaieran
BSYENDIE Gaitu etenaldia baliogabetze osoa amaitzean
 

DCACHE_FCR

CERRF ERRF garbitzen du DCACHE_SR-n  

Idazteko soilik

CCMDENDF DCACHE_SR-n CMENDDF garbitzen du
CBSYENDF BSYENDF garbitzen du DCACHE_SR-n

ICACHE eta DCACHE errendimendua eta energia-kontsumoa

ICACHE eta DCACHE erabiltzeak aplikazioaren errendimendua hobetzen du kanpoko memoriak sartzean. Hurrengo taulak ICACHE eta DCACHE-k CoreMark® exekuzioan duten eragina erakusten du kanpoko memoriak sartzean.

9. taula. ICACHE eta DCACHE-ren errendimendua CoreMark-en exekuzioan kanpoko memoriekin

(1)
CoreMark kodea CoreMark datuak ICACHE konfigurazioa DCACHE konfigurazioa CoreMark puntuazioa/Mhz
Barneko Flash memoria Barne SRAM Gaituta (bi bide) Ezindua 3.89
Barneko Flash memoria Kanpoko Octo-SPI PSRAM (S-bus) Gaituta (bi bide) Gaituta 3.89
Barneko Flash memoria Kanpoko Octo-SPI PSRAM (S-bus) Gaituta (bi bide) Ezindua 0.48
Kanpoko Octo-SPI Flash (C-bus) Barne SRAM Gaituta (bi bide) Ezindua 3.86
Kanpoko Octo-SPI Flash (C-bus) Barne SRAM Ezindua Ezindua 0.24
Barneko Flash memoria Barne SRAM Ezindua Ezindua 2.69

Probaren baldintzak:

  • Produktu aplikagarria: STM32U575/585
  • Sistemaren maiztasuna: 160 MHz.
  • Kanpoko Octo-SPI PSRAM memoria: 80 MHz (DTR modua).
  • Kanpoko Octo-SPI flash memoria: 80 MHz (STR modua).
  • Konpilatzailea: IAR V8.50.4.
  • Barneko flash PREBETCH: AKTIBATUTA.

ICACHE eta DCACHE erabiltzeak energia-kontsumoa murrizten du barneko eta kanpoko memorietara sartzean. Hurrengo taulak CoreMark exekuzioan zehar ICACHEk energia-kontsumoan duen eragina erakusten du.

10. taula. CoreMark-en exekuzioa ICACHEren eragina potentzia-kontsumoan

ICACHE konfigurazioa MCU energia-kontsumoa (mA)
Gaituta (bi bide) 7.60
Gaituta (noranzko bakarrekoa) 7.13
Ezindua 8.89
  1. Probaren baldintzak:
    • Produktu aplikagarria: STM32U575/585
    • CoreMark kodea: barneko Flash memoria.
    • CoreMark datuak: barneko SRAM.
    • Barne Flash memoria PREFETCH: ON.
    • Sistemaren maiztasuna: 160 MHz.
    • Konpilatzailea: IAR V8.32.2.
    • liburukiatagsorta: 1.
    • SMPS: ON.
  2. modu multzoko konfigurazio asoziatiboa errendimendu handiagoa du bide bakarreko konfigurazio asoziatiboa baino, cachean guztiz kargatu ezin den kodearentzat. Bien bitartean, bide bakarreko multzo asoziatiboko cachea ia beti eraginkorragoa da 1 bideko multzo asoziatiboa baino. Kode bakoitza asoziatibotasun-konfigurazio bietan ebaluatu behar da, errendimenduaren eta energia-kontsumoaren arteko truke-off onena aukeratzeko. Aukeraketa erabiltzailearen lehentasunaren araberakoa da.

Ondorioa

STMicroelectronics, ICACHE eta DCACHE-k garatutako lehen cacheak barneko eta kanpoko memoriak gordetzeko gai dira, datu-trafikorako eta instrukzioen errendimenduaren hobekuntza eskainiz. Dokumentu honek ICACHE eta DCACHE-k onartzen dituzten ezaugarri desberdinak erakusten ditu, haien konfigurazio sinpletasunak eta malgutasunak garapen kostu txikiagoak eta merkaturatzeko denbora azkarragoa ahalbidetzen dute.

Berrikuspen historia

11. taula. Dokumentuen berrikuspenaren historia

Data Bertsioa Aldaketak
10-2019-XNUMX 1 Hasierako kaleratzea.
 

 

Otsailak 27-2020

 

 

2

Eguneratua:

• 2. taula. Memoria-eskualdeak eta haien helbideak

• 2.1.7 Atala ICACHE mantentzea

• 2.1.8 atala ICACHE segurtasuna

 

 

 

 

Abenduak 7-2021

 

 

 

 

3

Eguneratua:

• Dokumentuaren izenburua

• Sarrera

• 1. atala ICACHE eta DCACHE baino gehiagoview

• 4. atala Ondorioa gehitu da:

• 2. atala ICACHE eta DCACHE ezaugarriak

• 3. atala ICACHE eta DCACHE errendimendua eta energia-kontsumoa

 

 

 

 

 

 

Otsailak 15-2023

 

 

 

 

 

 

4

Eguneratua:

•         2.2 atala: STM32U5 serieko arkitektura adimenduna

•         2.5 atala: DCACHE bloke-diagrama

•         3.1.1 atala: Master bikoitza

•         3.1.2 atala: ICACHE norabide bakarreko versus bi bideetakoa

•         3.1.4 atala: cachean jar daitezkeen eskualdeak eta birmapping eginbidea

•         3.2 atala: DCACHE ezaugarriak

•         3.2.2 atala: DCACHE cacheko eskualdeak

•         4. atala: ICACHE eta DCACHEren errendimendua eta energia-kontsumoa Gehituta:

•         1. atala: Informazio orokorra

 

11-mar-2024

 

5

Eguneratua:

•         2.3 atala: STM32H5 serieko arkitektura adimenduna

•         3.1.1 atala: Master bikoitza

OHAR GARRANTZITSUA - IRAKURRI ARRETA
STMicroelectronics NV eta bere filialek ("ST") eskubidea dute aldaketak, zuzenketak, hobekuntzak, aldaketak eta hobekuntzak egiteko ST produktuetan eta/edo dokumentu honetan edozein unetan jakinarazi gabe. Erosleek eskaerak egin aurretik ST produktuei buruzko azken informazio garrantzitsua eskuratu behar dute. ST produktuak eskaera onartzeko unean indarrean dauden STren salmenta-baldintzen arabera saltzen dira. Erosleak dira ST produktuen aukeraketa, aukeraketa eta erabileraren erantzule bakarrak eta STek ez du bere gain hartzen aplikazioen laguntzaren edo erosleen produktuen diseinuaren erantzukizunik. ST-k ez du lizentzia, espresuki edo inpliziturik, jabetza intelektualeko eskubiderik ematen. ST produktuen birsalmentak hemen azaltzen den informazioaz bestelako xedapenak dituztenak baliogabetuko ditu STek produktu horrengatik emandako edozein berme. ST eta ST logotipoa ST-ren marka komertzialak dira. ST markei buruzko informazio gehiago lortzeko, jo www.st.com/trademarks helbidera. Gainerako produktu edo zerbitzuen izen guztiak dagozkien jabeen jabetzakoak dira. Dokumentu honetako informazioak dokumentu honen aurreko edozein bertsiotan emandako informazioa ordezkatzen eta ordezkatzen du. © 2024 STMicroelectronics - Eskubide guztiak erreserbatuta

Dokumentuak / Baliabideak

STMicroelectronics STM32H5 serieko mikrokontrolagailuak [pdfErabiltzailearen eskuliburua
STM32H5 serieko mikrokontrolagailuak, STM32H5, serieko mikrokontrolagailuak, mikrokontrolagailuak

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *