STMicroelectronics-logo

STMicroelectronics STM32H5 serija mikrokontrolera

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-proizvod

Uvod

Ova napomena o aplikaciji opisuje keš instrukcija (ICACHE) i keš podataka (DCACHE), prve keš memorije koje je razvio STMicroelectronics. ICACHE i DCACHE predstavljeni na AHB magistrali Arm® Cortex®-M33 procesora ugrađeni su u STM32 mikrokontroler (MCU) naveden u tabeli ispod. Ove keš memorije omogućavaju korisnicima da poboljšaju performanse svojih aplikacija i smanje potrošnju prilikom preuzimanja instrukcija i podataka iz interne i eksterne memorije, ili za promet podataka iz eksternih memorija. Ovaj dokument daje tipične pramples da istakne ICACHE i DCACHE karakteristike i olakša njihovu konfiguraciju.

Tabela 1. Primjenjivi proizvodi

Tip Serija proizvoda
Mikrokontroleri STM32H5 serija, STM32L5 serija, STM32U5 serija

Opće informacije

Napomena:

Ova napomena o primeni odnosi se na mikrokontrolere serije STM32 koji su Arm® Cortex® uređaji zasnovani na jezgri. Arm je registrovani zaštitni znak Arm Limited (ili njegovih podružnica) u SAD-u i/ili drugdje.

ICACHE i DCACHE su završeniview

Ovaj odeljak pruža prekoview ICACHE i DCACHE interfejsa ugrađenih u STM32 Arm® Cortex® mikrokontrolere sa jezgrom. Ovaj odjeljak opisuje ICACHE i DCACHE dijagram i integraciju u arhitekturu sistema.
Pametna arhitektura serije STM32L5
Ova arhitektura je zasnovana na matrici sabirnice koja omogućava višestrukim masterima (Cortex-M33, ICACHE, DMA1/2 i SDMMC1) da pristupe višestrukim slaveovima (kao što su fleš memorija, SRAM1/2, OCTOSPI1 ili FSMC). Slika ispod opisuje pametnu arhitekturu serije STM32L5.

Slika 1. Pametna arhitektura serije STM32L5

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.1

Performanse Cortex-M33 su poboljšane upotrebom 8-kilobajtnog ICACHE sučelja uvedenog u njegovu C-AHB magistralu, kada dohvaća kod ili podatke iz internih memorija (fleš memorija, SRAM1 ili SRAM2) kroz brzu magistralu, kao i sa eksterne memorije (OCTOSPI1 ili FSMC) preko spore magistrale.
Pametna arhitektura serije STM32U5
Ova arhitektura je zasnovana na matrici sabirnice koja omogućava višestrukim masterima (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D i SDMMC, OTG_HS, LTDC, GPU2D, GFXMMU) da pristupe višestrukim slaveovima (kao što su flash memorija, SRAM, BKPSRAM, HSPI/ OCTOSPI, ili FSMC). Slika ispod opisuje pametnu arhitekturu serije STM32U5.

Slika 2. Pametna arhitektura serije STM32U5

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.2

Cortex-M33 i GPU2D interfejsi imaju koristi od korišćenja CACHE.

  • ICACHE poboljšava performanse Cortex-M33 pri preuzimanju koda ili podataka iz internih memorija preko brze magistrale (fleš memorija, SRAM) i iz eksternih memorija preko spore magistrale (OCTOSPI1/2 i HSPI1, ili FSMC). DCACHE1 poboljšava performanse prilikom dohvaćanja podataka iz interne ili eksterne memorije preko s‑busa (GFXMMU, OCTOSPI1/2 i HSPI1, ili FSMC).
  •  DCACHE2 poboljšava performanse GPU2D pri preuzimanju podataka iz internih i eksternih memorija (GFXMMU, fleš memorija, SRAM, OCTOSPI1/2 i HSPI1, ili FSMC) preko M0 port magistrale.

Pametna arhitektura serije STM32H5
STM32H523/H533, STM32H563/H573 i STM32H562 pametna arhitektura Ova arhitektura je zasnovana na matrici sabirnice koja omogućava višestrukim masterima (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet i SDMMC) da pristupe višestrukim slaveovima, SRAM memorijama (kao što su BKPS memorija). , OCTOSPI i FMC). Slika ispod opisuje pametnu arhitekturu serije STM32H5.

Slika 3. Pametna arhitektura serije STM32H563/H573 i STM32H562

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.3

Cortex-M33 ima koristi od upotrebe CACHE.

  • ICACHE poboljšava performanse Cortex-M33 pri preuzimanju koda ili podataka iz internih memorija putem brze magistrale (fleš memorija, SRAM) i iz eksternih memorija preko spore magistrale (OCTOSPI i FMC).
  • DCACHE poboljšava performanse pri preuzimanju podataka iz eksternih memorija preko spore magistrale (OCTOSPI i FMC).

STM32H503 pametna arhitektura
Ova arhitektura je zasnovana na matrici magistrale koja omogućava višestrukim masterima (Cortex-M33, ICACHE i GPDMA) pristup višestrukim slaveovima (kao što su fleš memorija, SRAM i BKPSRAM). Slika ispod opisuje pametnu arhitekturu serije STM32H5.

Slika 4. Pametna arhitektura serije STM32H503

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.4

Cortex-M33 ima koristi od upotrebe CACHE.

  • ICACHE poboljšava performanse Cortex-M33 pri preuzimanju koda ili podataka iz internih memorija putem brze magistrale (fleš memorija, SRAM).

ICACHE blok dijagram
ICACHE blok dijagram je dat na donjoj slici.

Slika 5. ICACHE blok dijagram

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.5

ICACHE memorija uključuje:

  • the TAG memorija sa:
    • adresu tags koji označavaju koji se podaci nalaze u keš memoriji podataka
    • bitovi valjanosti
  •  memoriju podataka, koja sadrži keširane podatke

DCACHE blok dijagram
Blok dijagram DCACHE je dat na donjoj slici.

Slika 6. DCACHE blok dijagram

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.6

DCACHE memorija uključuje:

  • the TAG memorija sa:
    • adresu tags koji označavaju koji se podaci nalaze u keš memoriji podataka
    • bitovi valjanosti
    • bitovi privilegija
    • prljavi komadi
  • memoriju podataka, koja sadrži keširane podatke

ICACHE i DCACHE karakteristike

Dual masters
ICACHE pristupa matrici sabirnice AHB preko:

  • Jedan AHB glavni port: master1 (brza sabirnica)
  • Dva AHB glavna porta: master1 (brza sabirnica) i master2 (spora sabirnica)

Ova funkcija omogućava razdvajanje saobraćaja kada se pristupa različitim memorijskim regionima (kao što su interna fleš memorija, interna SRAM i eksterne memorije), kako bi se smanjio zastoj CPU-a u slučaju promašaja keša. Sljedeća tabela sažima memorijske regije i njihove adrese.

Tabela 2. Memorijska područja i njihove adrese

Peripheral Pristup memoriji sa keširanjem Pristup memoriji se ne može keširati
 

 

Tip

 

 

Ime

 

 

Naziv proizvoda i veličina regije

 

 

Ime autobusa

 

Početna adresa nezaštićene regije

Sigurna, nesigurna početna adresa regije koja se može pozvati  

 

Ime autobusa

 

Početna adresa nezaštićene regije

Sigurna, nesigurna početna adresa regije koja se može pozvati
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Interni

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

brzi autobus

 

 

 

 

 

 

 

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‑bus

 

 

 

 

 

 

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

serije

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

Peripheral Pristup memoriji sa keširanjem Pristup memoriji se ne može keširati
 

 

 

 

 

 

 

 

 

Interni

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

brzi autobus

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S‑bus

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

 

 

 

 

 

 

 

 

 

 

 

Eksterni

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

spor autobus

(1)

 

 

 

 

 

 

Alias ​​adresa u rasponu od [0x0000 0000

na 0x07FF FFFF] ili [0x1000 0000:0x1FFF

FFFF] definiran pomoću funkcije ponovnog preslikavanja

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

banka nesigurna

STM32L5/U5

serije

STM32H563/ 573/562

 

 

0x9000 0000

 

FMC banka 3

nesiguran

STM32L5/U5

serije

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

banka nesigurna

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

FMC banka 1

nesiguran

STM32L5/U5

serije

STM32H563/ 573/562

 

 

0x6000 0000

1. Odabrati prilikom ponovnog mapiranja takvih regija.

Jednosmjerni naspram 1-smjerni ICACHE
Podrazumevano, ICACHE je konfigurisan u asocijativnom radnom režimu (omogućeno na dva načina), ali je moguće konfigurisati ICACHE u režimu direktnog mapiranja (omogućeno jednosmerno), za aplikacije koje zahtevaju veoma nisku potrošnju energije. ICACHE konfiguracija se radi sa WAYSEL bitom u ICACHE_CR na sljedeći način:

  • WAYSEL = 0: direktno mapirani način rada (1-smjerni)
  • WAYSEL = 1 (zadano): asocijativni način rada (2-smjerni)

Tabela 3. Jednosmjerni naspram 1-smjerni ICACHE

Parametar 1-smjerni ICACHE 2-smjerni ICACHE
Veličina predmemorije (kilobajta) 8(1)/32(2)
Keširajte na više načina 1 2
Veličina predmemorije 128 bita (16 bajtova)
Broj keš linija 512(1)/2048(2) 256(1)/1024(2) u jednom pravcu
  1. Za STM32L5 serije /STM32H5 serije /STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Burst type
Neke Octo-SPI memorije podržavaju WRAP burst, što pruža prednost kritičnih performansi funkcije prve riječi. ICACHE burst tip AHB memorijske transakcije za ponovno mapirane regije se može konfigurirati. Implementira inkrementalni burst ili WRAP burst, odabran bitom HBURST u registru ICACHE_CRRx. Razlike između WRAP-a i inkrementalnih rafala su date u nastavku (pogledajte i sliku):

  • WRAP burst:
    • Veličina keš linije = 128 bita
    • burst to start adresa = adresa riječi prvih podataka koje zahtijeva CPU
  •  Inkrementalni rafal:
    • Veličina keš linije = 128 bita
    • burst početna adresa = adresa poravnata na granici keš linije koja sadrži traženu riječ

Slika 7. Inkrementalni u odnosu na WRAP burst

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.9

Regije koje se mogu keširati i funkcija ponovnog mapiranja
ICACHE je povezan sa Cortex-M33 preko C-AHB magistrale i kešira kodni region od adresa [0x0000 0000 do 0x1FFF FFFF]. Budući da su eksterne memorije mapirane na adresi u rasponu [0x6000 0000 do 0xAFFF FFFF], ICACHE podržava funkciju ponovnog mapiranja koja omogućava da se bilo koja regija eksterne memorije ponovo mapira na adresi u rasponu od [0x0000 0000 do 0x07FF FFFF] ili [0x1000 0000 do 0x1FFF FFFF], i da postane dostupan preko C-AHB magistrale. Ovom funkcijom mogu se remapirati do četiri eksterna memorijska područja. Jednom kada je regija ponovo mapirana, operacija ponovnog mapiranja se događa čak i ako je ICACHE onemogućen ili ako transakcija nije keširana. Memorijske regije koje se mogu keširati mogu biti definirane i programirane od strane korisnika u jedinici za zaštitu memorije (MPU). Tabela ispod sumira konfiguracije memorija serije STM32L5 i STM32U5.

Tabela 4. Konfiguracija memorija serije STM32L5 i STM32U5

 

Memorija proizvoda

Cacheable

(MPU programiranje)

Ponovno mapirano u ICACHE

(ICACHE_CRRx programiranje)

Flash memorija Da ili Ne  

Nije potrebno

SRAM Ne preporučuje se
Eksterne memorije (HSPI/OCTOSPI ili FSMC) Da ili Ne Obavezno ako korisnik želi eksterno dohvaćanje koda na C-AHB sabirnici (drugo na S-AHB sabirnici)

Prednost ICACHE remapiranje eksterne memorije
Bivšiample na donjoj slici pokazuje kako iskoristiti poboljšane performanse ICACHE tokom izvršavanja koda ili čitanja podataka kada se pristupa eksternoj Octo-SPI memoriji od 8 Mbajta (kao što je eksterna fleš memorija ili RAM).

Slika 8. Octo-SPI remap memorije example

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.7

Za ponovno mapiranje ove vanjske memorije potrebni su sljedeći koraci:

OCTOSPI konfiguracija za eksternu memoriju

Konfigurišite OCTOSPI interfejs da biste pristupili spoljnoj memoriji u režimu mapiranja memorije (spoljna memorija se vidi kao interna memorija mapirana u regionu [0x9000 0000 do 0x9FFF FFFF]). Pošto je veličina spoljne memorije 8 Mbajta, ona se vidi u regionu [0x9000 0000 do 0x907F FFFF]. Eksternoj memoriji u ovoj regiji pristupa se preko S‑busa i ne može se keširati. Sljedeći korak prikazuje ICACHE konfiguraciju kako bi se ponovo mapirala ova regija.
Napomena: Za konfiguraciju OCTOSPI u režimu mapiranja memorije, pogledajte napomenu o aplikaciji Octo-SPI interfejs na STM32 mikrokontrolerima (AN5050

ICACHE konfiguracija za ponovno mapiranje eksterne memorije mapirane regije
8 Mbajta smještenih u [0x9000 0000 do 0x907F FFFF] regiju se remapiraju u [0x1000 0000 to 0x107F FFFF] regiju. Tada im se može pristupiti preko spore magistrale (ICACHE master2 bus).

  • ICACHE_CR konfiguracija registra
    • Onemogućite ICACHE sa EN = 0.
    • Odaberite 1-smjerni ili 2-smjerni (ovisno o potrebama aplikacije) sa WAYSEL = 0 ili 1, respektivno.
  • ICACHE_CRRx konfiguracija registra (do četiri regije, x = 0 do 3)
    • Odaberite 0x1000 0000 osnovnu adresu (remap adresu) sa BASEADDR [28:21] = 0x80.
    • Odaberite veličinu regije od 8 Mbyte za ponovno mapiranje sa RSIZE[2:0] = 0x3.
    • Izaberite 0x9000 0000 remapiranu adresu REMAPADDR[31:21] = 0x480.
    • Odaberite ICACHE AHB master2 port za eksterne memorije sa MSTSEL = 1.
    • Odaberite WRAP burst tip sa HBURST = 0.
    • Omogućite ponovno mapiranje za regiju x sa REN = 1.

Sljedeća slika pokazuje kako se memorijski regioni vide sa IAR-om nakon omogućavanja ponovnog mapiranja.

Slika 9. Remapiranje memorijskih regija nprample

STMicroelectronics-STM32H5-Serija-Mikrokontroleri-sl.8

Eksterna memorija od 8 Mbyte je sada ponovo mapirana i može joj se pristupiti preko [0x1000 0000 do 0x107F FFFF] regiona.

Omogući ICACHE

  • Konfiguracija registra ICACHE_CR Omogućite ICACHE sa EN = 1.

Monitori pogodaka i promašaja
ICACHE pruža dva monitora za analizu performansi: 32-bitni monitor pogodaka i 16-bitni monitor promašaja.

  • Monitor pogodaka broji AHB transakcije koje se mogu keširati na slave keš portu koji pogađa ICACHE sadržaj (preuzeti podaci su već dostupni u kešu). Brojač praćenja pogodaka dostupan je u registru ICACHE_HMONR.
  • Monitor promašaja broji AHB transakcije koje se mogu keširati na slave keš portu koje propuštaju ICACHE sadržaj (preuzeti podaci nisu već dostupni u kešu). Brojač monitora koji nedostaje dostupan je u registru ICACHE_MMONR.

Napomena:

Ova dva monitora se ne preklapaju kada dostignu svoje maksimalne vrijednosti. Ovim monitorima se upravlja iz sljedećih bitova u registru ICACHE_CR:

  • HITMEN bit (odnosno MISSMEN bit) za omogućavanje/zaustavljanje praćenja pogodaka (odnosno promašaja)
  • HITMRST bit (odnosno MISSMRST bit) za resetovanje monitora pogodaka (odnosno promašaja) Podrazumevano, ovi monitori su onemogućeni da bi se smanjila potrošnja energije.

ICACHE održavanje
Softver može poništiti ICACHE postavljanjem bita CACHEINV u ICACHE_CR registar. Ova radnja poništava cijeli keš, čineći ga praznim. U međuvremenu, ako su neke remapirane regije omogućene, funkcija ponovnog mapiranja je i dalje aktivna, čak i kada je ICACHE onemogućen. Kako ICACHE upravlja samo transakcijama čitanja i ne upravlja transakcijama pisanja, ne osigurava koherentnost u slučaju upisivanja. Shodno tome, softver mora poništiti ICACHE nakon programiranja regije.

ICACHE sigurnost
ICACHE je osigurana periferija koja se može konfigurirati kao sigurna preko GTZC TZSC registra sigurne konfiguracije. Kada je konfigurisan kao siguran, dozvoljeni su samo sigurni pristupi ICACHE registrima. ICACHE se također može konfigurirati kao privilegiran preko GTZC TZSC registra konfiguracije privilegija. Kada je ICACHE konfiguriran kao privilegiran, dozvoljeni su samo privilegirani pristupi ICACHE registrima. Prema zadanim postavkama, ICACHE nije siguran i nije privilegiran kroz GTZC TZSC.

Upravljanje događajima i prekidima

ICACHE upravlja funkcionalnim greškama kada se otkriju, postavljanjem ERRF zastavice u ICACHE_SR. Prekid se također može generirati ako je bit ERRIE postavljen u ICACHE_IER. U slučaju poništenja ICACHE, kada se završi stanje zauzetosti keša, BSYENDF zastavica se postavlja u ICACHE_SR. Prekid se također može generirati ako je bit BSYENDIE postavljen u ICACHE_IER. Donja tabela navodi ICACHE zastavice prekida i događaja.

Tablica 5. ICACHE prekidi i bitovi upravljanja događajima

Registrirajte se Ime bita Bit opis Bit pristup tip
 

ICACHE_SR

ZAUZETO Keširanje izvršava potpunu operaciju poništavanja  

Samo za čitanje

BSYENDF Operacija poništavanja predmemorije je završena
GREŠKA Došlo je do greške tokom operacije keširanja
 

ICACHE_IER

ERRIE Omogući prekid za grešku u keš memoriji  

Čitaj/piši

BSYENDIE Omogući prekid u slučaju da je operacija poništenja završena
 

ICACHE_FCR

CERRF Briše ERRF u ICACHE_SR  

Samo za pisanje

CBSYENDF Briše BSYENDF u ICACHE_SR

DCACHE karakteristike
Svrha predmemorije podataka je keširanje učitavanja podataka vanjske memorije i skladišta podataka koji dolaze iz procesora ili s druge periferne glavne magistrale. DCACHE upravlja transakcijama čitanja i pisanja.
DCACHE cacheability saobraćaj

DCACHE sprema eksterne memorije sa interfejsa glavnog porta preko AHB magistrale. Dolazni memorijski zahtjevi definirani su kao keširani prema njegovom atributu zaključavanja AHB transakcijske memorije. Politika pisanja DCACHE definirana je kao upisivanje ili povratno upisivanje ovisno o memorijskom atributu koji je konfigurirao MPU. Kada je regija konfigurirana kao ne-cacheable, DCACHE se zaobilazi.

 Tablica 6. DCACHE predmemorija za AHB transakciju

AHB lookup atribut AHB baferabilni atribut Mogućnost keširanja
0 X Čitanje i pisanje: ne može se keširati
 

1

 

0

Čitaj: može se keširati

Write: (keširanje) upisivanje

 

1

 

1

Čitaj: može se keširati

Write: (keširanje) povratno upisivanje

DCACHE regije koje se mogu keširati
Za seriju STM32U5, DCACHE1 slave interfejs je povezan sa Cortex-M33 preko S-AHB magistrale i kešira GFXMMU, FMC i HSPI/OCTOSPI. DCACHE2 slave interfejs je povezan na DMA2D preko M0 port magistrale i kešira sve interne i eksterne memorije (osim SRAM4 i BRKPSRAM). Za STM32H5 seriju, DCACHE slave interfejs je povezan sa Cortex-M33 preko S-AHB eksternih memorija preko FMC i OCTOSPI.

Tablica 7. DCACHE regije i sučelja za keširanje

Adresna regija memorije koja se može keširati DCACHE1 cacheable sučelja DCACHE2 cacheable sučelja
GFXMMU X X
SRAM1  

 

 

N/A

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

Napomena

Neki interfejsi nisu podržani u određenim proizvodima. Pogledajte sliku 1 ili referentni priručnik za određeni proizvod.
Burst type
Isto kao i ICACHE, DCACHE podržava inkrementalne i omotane rafale (pogledajte odjeljak 3.1.3). Za DCACHE, tip burst-a se konfigurira preko HBURST bita u DCACHE_CR.
DCACHE konfiguracija
Tokom pokretanja, DCACHE je po defaultu onemogućen, pa se zahtjevi za slave memoriju prosljeđuju direktno na glavni port. Da bi se omogućio DCACHE, EN bit mora biti postavljen u DCACHE_CR registru. Monitori hit-and-miss DCACHE implementira četiri monitora za analizu performansi keša:

  • Dva 32-bitna (R/W) monitora pogodaka: broji koliko puta CPU čita ili upisuje podatke u keš memoriju bez generisanja transakcije na DCACHE glavnim portovima (podaci su već dostupni u kešu). Brojači (R/W) praćenja pogodaka dostupni su u registrima DCACHE_RHMONR i DCACHE_WHMONR.
  • Dva 16-bitna (R/W) monitora promašaja: brojite koliko puta CPU čita ili upisuje podatke u keš memoriju i generiše transakciju na DCACHE glavnim portovima, kako bi učitao podatke iz memorijskog regiona (dohvaćeni podaci nisu već dostupno u kešu). (R/W) brojači promašaja su dostupni u registrima DCACHE_RMMONR i DCACHE_WMMONR.

Napomena:

Ova četiri monitora se ne preklapaju kada dostignu svoje maksimalne vrijednosti. Ovim monitorima se upravlja iz sljedećih bitova u registru DCACHE_CR:

  • WHITMAN bit (odnosno WMISSMEN bit) za omogućavanje/zaustavljanje praćenja pogodaka upisivanja (odnosno promašaja)
  • RHITMEN bit (odnosno RMISSMEN bit) za omogućavanje/zaustavljanje čitanja pogodaka (odnosno promašenog) monitora
  • WHITMRST bit (odnosno WMISSMRST bit) za resetiranje monitora pogodaka (odnosno promašaja)
  • RHITMRST bit (odnosno RMISMRST bit) za resetiranje monitora čitanja pogodaka (odnosno promašaja)

Podrazumevano, ovi monitori su onemogućeni kako bi se smanjila potrošnja energije.

DCACHE održavanje
DCACHE nudi višestruke operacije održavanja koje se mogu konfigurirati preko CACHECMD[2:0] u DCACHE_CR.

  • 000: nema operacije (podrazumevano)
  • 001: čist domet. Očistite određeni raspon u kešu
  • 010: poništi raspon. Poništiti određeni raspon u kešu
  • 010: očisti i poništi opseg. Očistite i poništite određeni raspon u kešu

Odabrani raspon se konfiguriše putem:

  • CMDSTARTADDR registar: početna adresa naredbe
  • CMDENDADDR registar: završna adresa naredbe

Napomena:

Ovaj registar mora biti postavljen prije upisivanja CACHECMD. Održavanje naredbi keša počinje kada se STARTCMD bit postavi u DCACHE_CR registar. DCACHE također podržava potpunu CACHE nevaljanost postavljanjem bita CACHEINV u registru DCACHE_CR.

DCACHE sigurnost
DCACHE je sigurna periferna jedinica koja se može konfigurirati kao sigurna preko GTZC TZSC registra sigurne konfiguracije. Kada je konfigurisan kao siguran, dozvoljeni su samo sigurni pristupi DCACHE registrima. DCACHE se također može konfigurirati kao privilegiran preko GTZC TZSC registra konfiguracije privilegija. Kada je DCACHE konfiguriran kao privilegiran, dozvoljeni su samo privilegirani pristupi DCACHE registrima. Prema zadanim postavkama, DCACHE nije siguran i nije privilegiran kroz GTZC TZSC.

Upravljanje događajima i prekidima
DCACHE upravlja funkcionalnim greškama kada se otkriju, postavljanjem ERRF zastavice u DCACHE_SR. Prekid se također može generirati ako je bit ERRIE postavljen u DCACHE_IER. U slučaju poništenja DCACHE, kada je stanje zauzetosti keša završeno, BSYENDF zastavica se postavlja u DCACHE_SR. Prekid se također može generirati ako je bit BSYENDIE postavljen u DCACHE_IER. Status naredbe DCACHE se može provjeriti kroz CMDENF i BUSYCMDF kroz DCACHE_SR. Prekid se također može generirati ako je CMDENDIE bit postavljen u DCACHE_IER. Tabela ispod navodi DCACHE prekide i zastavice događaja

Tablica 8. DCACHE Bitovi za upravljanje prekidima i događajima

Registrirajte se Registrirajte se Bit opis Bit pristup tip
 

 

 

DCACHE_SR

ZAUZETO Keširanje izvršava potpunu operaciju poništavanja  

 

 

Samo za čitanje

BSYENDF Operacija potpunog poništavanja keš memorije je završena
BUSYCMDF Keširanje izvršava naredbu raspona
CMDENDF Kraj komande opsega
ERRF Došlo je do greške tokom operacije keširanja
 

DCACHE_IER

ERRIE Omogući prekid za grešku u keš memoriji  

Čitaj/piši

CMDENDIE Omogući prekid na kraju komande opsega
BSYENDIE Omogući prekid na kraju potpuno nevažeće operacije
 

DCACHE_FCR

CERRF Briše ERRF u DCACHE_SR  

Samo za pisanje

CCMDENDF Briše CMDENDF u DCACHE_SR
CBSYENDF Briše BSYENDF u DCACHE_SR

ICACHE i DCACHE performanse i potrošnja energije

Korištenje ICACHE i DCACHE poboljšava performanse aplikacije prilikom pristupa vanjskim memorijama. Sljedeća tabela prikazuje uticaj ICACHE i DCACHE na CoreMark® izvršenje kada se pristupa vanjskim memorijama.

Tabela 9. ICACHE i DCACHE performanse na CoreMark izvršavanju s vanjskim memorijama

(1)
CoreMark kod CoreMark Data ICACHE konfiguracija DCACHE konfiguracija CoreMark rezultat/Mhz
Interna fleš memorija Interni SRAM Omogućeno (2-smjerno) Onemogućeno 3.89
Interna fleš memorija Eksterni Octo-SPI PSRAM (S‑bus) Omogućeno (2-smjerno) Omogućeno 3.89
Interna fleš memorija Eksterni Octo-SPI PSRAM (S‑bus) Omogućeno (2-smjerno) Onemogućeno 0.48
Eksterni Octo-SPI Flash (C-bus) Interni SRAM Omogućeno (2-smjerno) Onemogućeno 3.86
Eksterni Octo-SPI Flash (C-bus) Interni SRAM Onemogućeno Onemogućeno 0.24
Interna fleš memorija Interni SRAM Onemogućeno Onemogućeno 2.69

Uvjeti testiranja:

  • Primjenjiv proizvod: STM32U575/585
  • Frekvencija sistema: 160 MHz.
  • Eksterna Octo-SPI PSRAM memorija: 80 MHz (DTR režim).
  • Eksterna Octo-SPI fleš memorija: 80 MHz (STR režim).
  • Prevodilac: IAR V8.50.4.
  • Interni Flash PREFETCH: UKLJUČENO.

Korištenje ICACHE i DCACHE smanjuje potrošnju energije prilikom pristupa internim i vanjskim memorijama. Sledeća tabela prikazuje uticaj ICACHE na potrošnju energije tokom izvršavanja CoreMark-a.

Tablica 10. Utjecaj ICACHE izvršenja CoreMarka na potrošnju energije

ICACHE konfiguracija MCU potrošnja energije (mA)
Omogućeno (2-smjerno) 7.60
Omogućeno (jednosmjerno) 7.13
Onemogućeno 8.89
  1. Uvjeti testiranja:
    • Primjenjiv proizvod: STM32U575/585
    • CoreMark kod: interna fleš memorija.
    • CoreMark podaci: interni SRAM.
    • Interna fleš memorija PREFETCH: UKLJUČENO.
    • Frekvencija sistema: 160 MHz.
    • Prevodilac: IAR V8.32.2.
    • VoltagOpseg: 1.
    • SMPS: UKLJUČENO.
  2. asocijativna konfiguracija skupa načina je učinkovitija od asocijativne konfiguracije 1-smjernog skupa za kod koji se ne može u potpunosti učitati u keš memoriju. U međuvremenu, 1-smjerni skup asocijativni keš je gotovo uvijek energetski efikasniji od 2-smjernog skupa asocijativnog keša. Svaki kod se mora procijeniti u obje konfiguracije asocijativnosti, kako bi se odabralo najbolji kompromis između performansi i potrošnje energije. Izbor zavisi od prioriteta korisnika.

Zaključak

Prve keš memorije koje je razvio STMicroelectronics, ICACHE i DCACHE, mogu keširati interne i eksterne memorije, nudeći poboljšanje performansi za promet podataka i dohvaćanje instrukcija. Ovaj dokument pokazuje različite karakteristike koje podržavaju ICACHE i DCACHE, njihova jednostavnost i fleksibilnost konfiguracije omogućavaju niže troškove razvoja i brže vrijeme izlaska na tržište.

Istorija revizija

Tabela 11. Istorija revizije dokumenta

Datum Verzija Promjene
10-okt-2019 1 Prvo izdanje.
 

 

27-feb-2020

 

 

2

Ažurirano:

• Tabela 2. Memorijska područja i njihove adrese

• Odeljak 2.1.7 Održavanje ICACHE

• Odeljak 2.1.8 ICACHE sigurnost

 

 

 

 

7-2021

 

 

 

 

3

Ažurirano:

• Naslov dokumenta

• Uvod

• Odjeljak 1 ICACHE i DCACHE završenview

• Zaključak odeljka 4 dodan:

• Odjeljak 2 ICACHE i DCACHE karakteristike

• Odjeljak 3 ICACHE i DCACHE performanse i potrošnja energije

 

 

 

 

 

 

15-feb-2023

 

 

 

 

 

 

4

Ažurirano:

•         Odjeljak 2.2: Pametna arhitektura serije STM32U5

•         Odjeljak 2.5: DCACHE blok dijagram

•         Odjeljak 3.1.1: Dual masters

•         Odjeljak 3.1.2: 1-smjerni naspram 2-smjerni ICACHE

•         Odjeljak 3.1.4: Regije koje se mogu keširati i funkcija ponovnog mapiranja

•         Odjeljak 3.2: DCACHE karakteristike

•         Odjeljak 3.2.2: DCACHE regioni za keširanje

•         Odjeljak 4: ICACHE i DCACHE performanse i potrošnja energije Dodato:

•         Odjeljak 1: Opće informacije

 

11-Mar-2024

 

5

Ažurirano:

•         Odjeljak 2.3: Pametna arhitektura serije STM32H5

•         Odjeljak 3.1.1: Dual masters

VAŽNA NAPOMENA – PAŽLJIVO PROČITAJTE
STMicroelectronics NV i njegove podružnice (“ST”) zadržavaju pravo na izmjene, ispravke, poboljšanja, modifikacije i poboljšanja ST proizvoda i/ili ovog dokumenta u bilo koje vrijeme bez prethodne najave. Kupci bi trebali dobiti najnovije relevantne informacije o ST proizvodima prije nego što daju narudžbu. ST proizvodi se prodaju u skladu sa ST-ovim odredbama i uslovima prodaje koji su na snazi ​​u trenutku potvrde narudžbe. Kupci su isključivo odgovorni za izbor, odabir i korištenje ST proizvoda, a ST ne preuzima nikakvu odgovornost za pomoć u primjeni ili dizajn proizvoda kupaca. ST ovdje ne daje nikakvu licencu, izričitu ili impliciranu, za bilo koje pravo intelektualne svojine. Preprodaja ST proizvoda sa odredbama koje se razlikuju od informacija navedenih ovde poništava svaku garanciju koju ST daje za takav proizvod. ST i ST logo su zaštitni znakovi ST. Za dodatne informacije o ST zaštitnim znakovima, pogledajte www.st.com/trademarks. Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika. Informacije u ovom dokumentu zamjenjuju i zamjenjuju informacije koje su prethodno date u prethodnim verzijama ovog dokumenta. © 2024 STMicroelectronics – Sva prava zadržana

Dokumenti / Resursi

STMicroelectronics STM32H5 serija mikrokontrolera [pdf] Korisnički priručnik
STM32H5 serija mikrokontrolera, STM32H5, serija mikrokontrolera, mikrokontrolera

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *