STMicroelectronics STM32H5 Series Microcontrollers

Pêşkêş
Ev nîşeya serîlêdanê cacheya rêwerzê (ICACHE) û cache daneyê (DCACHE) vedibêje, kaşên yekem ên ku ji hêla STMicroelectronics ve hatine pêşve xistin. ICACHE û DCACHE yên ku li ser otobusa AHB ya pêvajoya Arm® Cortex®-M33 hatine destnîşan kirin di mîkrokontrolkera STM32 (MCU) de ku di tabloya jêrîn de hatî destnîşan kirin de têne bicîh kirin. Van cache destûrê didin bikarhêneran ku performansa serîlêdana xwe baştir bikin û dema ku rêwerz û daneyan ji bîranînên hundurîn û derveyî, an ji bo seyrûsefera daneyê ji bîranînên derveyî digirin, vexwarinê kêm bikin. Ev belge berê tîpîk dideamples ku taybetmendiyên ICACHE û DCACHE ronî bikin û veavakirina wan hêsan bikin.
Table 1. Berhemên sepandin
| Awa | series Product |
| Mîkrokontroller | rêzikên STM32H5, rêzikên STM32L5, rêzikên STM32U5 |
Agahiyên giştî
Not:
Ev nîşeya serîlêdanê li ser mîkrokontrolkerên rêza STM32 ku amûrên bingehîn ên Arm® Cortex® ne derbas dibe. Arm li Dewletên Yekbûyî û / an cîhek din nîşanek tîcarî ya Arm Limited (an pargîdaniyên wê) ye.
ICACHE û DCACHE li serview
Ev beş pêvekek peyda dikeview ji navberên ICACHE û DCACHE yên ku di mîkrokontrolkerên bingehîn ên STM32 Arm® Cortex® de hatine bicîh kirin. Ev beş hûrgulî diagrama ICACHE û DCACHE û entegrasyona di mîmariya pergalê de dike.
Mîmariya zîrek rêza STM32L5
Ev mîmarî li ser bingeha matrixek otobusê ye ku dihêle gelek axayan (Cortex-M33, ICACHE, DMA1/2, û SDMMC1) bigihîjin xulamên pirjimar (wek bîra flash, SRAM1/2, OCTOSPI1, an FSMC). Nîgara jêrîn mîmariya zîrek a rêza STM32L5 diyar dike.
jimar 1. Mîmariya zîrek rêza STM32L5

Performansa Cortex-M33 bi karanîna navbeynkariya ICACHE ya 8 Kbyte ya ku bi otobusa xwe ya C-AHB ve hatî destnîşan kirin çêtir dibe, dema ku kod an daneyên ji bîranînên hundurîn (bîra flash, SRAM1, an SRAM2) bi otobusa bilez, û her weha ji bîranînên derve (OCTOSPI1 an FSMC) bi otobusê hêdî.
Mîmariya zîrek rêza STM32U5
Ev mîmarî li ser bingeha matrixek otobusê ye ku dihêle gelek axayan (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D û SDMMC, OTG_HS, LTDC, GPU2D, GFXMMU) bigihîjin xulamên pirjimar (wek bîra flash, SRAM, BKPSRAM, OCTOSPI, an jî FSMC).Rewşa jêrîn mîmariya jîr a rêze STM32U5 vedibêje.
jimar 2. Mîmariya zîrek rêza STM32U5

Têkiliyên Cortex-M33 û GPU2D hem ji karanîna CACHE sûd werdigirin.
- ICACHE performansa Cortex-M33 dema ku kod an daneyan ji bîranînên hundurîn bi navgîniya otobusa bilez (bîra flash, SRAM) û ji bîranînên derveyî bi otobusa hêdî (OCTOSPI1/2 û HSPI1, an FSMC) digire, performansa Cortex-M1 çêtir dike. DCACHE1 dema ku daneyan ji bîranînên hundurîn an derveyî bi riya s‑busê (GFXMMU, OCTOSPI2/1 û HSPIXNUMX, an FSMC) digire performansê baştir dike.
- DCACHE2 dema ku daneyan ji bîranînên hundurîn û derveyî (GFXMMU, bîra flash, SRAM, OCTOSPI2/1 û HSPI2, an FSMC) bi otobusa porta M1-ê digire, performansa GPU0D çêtir dike.
Mîmariya zîrek rêza STM32H5
STM32H523/H533, STM32H563/H573 û STM32H562 mîmariya zîrek Ev mîmarî li ser bingehek otobusek matrixê ye ku dihêle gelek axayan (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet û SDMMC) bigihîjin gelek xulamên flash, bîranînên BKRAM (sKPSM). , OCTOSPI û FMC). Nîgara jêrîn mîmariya zîrek a rêza STM32H5 diyar dike.
jimar 3. STM32H563 / H573 û STM32H562 mîmariya jîr series

Cortex-M33 ji karanîna CACHE sûd werdigire.
- ICACHE dema ku kod an daneyan ji bîranînên hundurîn bi otobusek bilez (bîra flash, SRAM) û ji bîranînên derveyî bi otobusek hêdî (OCTOSPI û FMC) digire, performansa Cortex-M33 çêtir dike.
- DCACHE dema ku daneyan ji bîranînên derveyî bi otobusa hêdî (OCTOSPI û FMC) digire, performansê baştir dike.
STM32H503 mîmariya jîr
Ev mîmarî li ser bingeha matrixek otobusê ye ku dihêle gelek axayan (Cortex-M33, ICACHE û GPDMA) bigihîjin xulamên pirjimar (wek bîra flash, SRAM û BKPSRAM). Nîgara jêrîn mîmariya zîrek a rêza STM32H5 diyar dike.
jimar 4. STM32H503 series mîmariya jîr

Cortex-M33 ji karanîna CACHE sûd werdigire.
- ICACHE performansa Cortex-M33 çêtir dike dema ku kod an daneya ji bîranînên hundurîn bi otobusa bilez (bîra flash, SRAM) digire.
Diyagrama bloka ICACHE
Di wêneya jêrîn de diyagrama bloka ICACHE tê dayîn.
jimar 5. Diyagrama bloka ICACHE

Bîra ICACHE dihewîne:
- ew TAG bîranîn bi:
- navnîşan tags ew destnîşan dikin ka kîjan dane di bîra daneya cache de hene
- bits derbasdar
- bîra daneyê, ku tê de daneyên cached hene
Diyagrama bloka DCACHE
Di wêneya jêrîn de diyagrama blokê ya DCACHE tê dayîn.
jimar 6. Diyagrama bloka DCACHE

Bîra DCACHE dihewîne:
- ew TAG bîranîn bi:
- navnîşan tags ew destnîşan dikin ka kîjan dane di bîra daneya cache de hene
- bits derbasdar
- bits îmtiyazê
- perçeyên qirêj
- bîra daneyê, ku tê de daneyên cached hene
Taybetmendiyên ICACHE û DCACHE
axayên dualî
ICACHE digihîje matrixa otobusê ya AHB an li ser:
- Yek porta masterê AHB: master1 (otobusa bilez)
- Du portên masterê AHB: master1 (otobusa bilez) û master2 (otobusa hêdî)
Ev taybetmendî dihêle ku seyrûsefer dema ku bigihîje deverên cûda yên bîranînê (wek bîra flash hundurîn, SRAM-ya hundurîn û bîranînên derveyî) were veqetandin, da ku rawestgehên CPU li ser windakirina cache kêm bikin. Tabloya jêrîn herêmên bîranîn û navnîşanên wan kurt dike.
Tablo 2. Herêmên bîrê û navnîşanên wan
| Peripheral | Gihîştina bîra Cacheable | Ne gihîştina bîranîna cacheable | |||||||
|
Awa |
Nav |
Navê hilberê û mezinahiya herêmê |
Navê otobusê |
Navnîşana destpêkê ya herêma neewle |
Navnîşana destpêkê ya herêma gazîkirî ya ewle, ne ewledar |
Navê otobusê |
Navnîşana destpêkê ya herêma neewle |
Navnîşana destpêkê ya herêma gazîkirî ya ewle, ne ewledar | |
|
Navbend |
BIRÛSK |
STM32H503 | 128 KB |
ICACHE otobusa bilez |
0x0800 0000 |
N/A |
N/A |
N/A |
N/A |
| STM32L5
series / 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
doranî |
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 | Gihîştina bîra Cacheable | Ne gihîştina bîranîna cacheable | |||||||
|
Navbend |
SRAM2 |
STM32H563/ 573/562 | 80 KB |
ICACHE otobusa bilez |
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 |
|||
|
Xûkirînî |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE otobusê hêdî |
Navnîşana navnavê di rêza [0x0000 0000 de ber 0x07FF FFFF] an [0x1000 0000:0x1FFF FFFF] ji hêla taybetmendiya ji nû ve nexşeyê ve hatî destnîşan kirin |
N/A |
0xA000 0000 | ||
| FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
|
OCTOSPI1 bank neewle |
STM32L5/U5
doranî STM32H563/ 573/562 |
0x9000 0000 |
|||||||
|
Banka FMC 3 neewle |
STM32L5/U5
doranî STM32H563/ 573/562 |
0x8000 0000 |
|||||||
| OCTOSPI2
bank neewle |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0x7000 0000 |
|||||||
|
Banka FMC 1 neewle |
STM32L5/U5
doranî STM32H563/ 573/562 |
0x6000 0000 |
|||||||
1. Dema ku ji nû ve nexşeya herêmên weha were hilbijartin.
1-rê li hember ICACHE 2-rê
Ji hêla xwerû, ICACHE di moda xebitandina asociative de tête mîheng kirin (du awayên çalakkirî), lê gengaz e ku ICACHE di moda nexşeya rasterast (yek-alî çalakkirî) de were mîheng kirin, ji bo serîlêdanên ku hewceyê xerckirina hêzek pir kêm in. Veavakirina ICACHE bi bit WAYSEL di ICACHE_CR de wiha tê kirin:
- WAYSEL = 0: moda xebitandina nexşeya rasterast (1-rê)
- WAYSEL = 1 (xweserî): moda xebitandinê ya hevgirtî (2-alî)
Table 3. 1-rêya beramberî 2-rêya ICACHE
| Parametre | 1-rêya ICACHE | 2-rêya ICACHE |
| Mezinahiya cache (Kbytes) | 8(1)/32(2) | |
| Cache çend awayan | 1 | 2 |
| Mezinahiya xeta cache | 128 bit (16 bytes) | |
| Hejmara xetên cache | 512(1)/2048(2) | 256 (1)/1024 (2) her rê |
- Ji bo rêzikên STM32L5 / STM32H5 / STM32U535/545/575/585
- For STM32U59x/5Ax/5Fx/5Gx
Tîpa teqînê
Hin bîranînên Octo-SPI piştgirî didin teqîna WRAP-ê, ku feyda performansa taybetmendiya peyva-yekemîn a krîtîk peyda dike. Cûreya teqîna ICACHE ya danûstendina bîranîna AHB ji bo herêmên ji nû ve hatî veguheztin tê mîheng kirin. Ew teqîna zêde an teqîna WRAP-ê, ku bi bit HBURST-ê di qeyda ICACHE_CRRx de hatî hilbijartin, bicîh tîne. Cûdahiyên di navbera WRAP û teqînên zêde de li jêr têne dayîn (herweha li wêneyê jî binêre):
- WRAP teqiya:
- mezinahiya xeta cache = 128 bit
- burst to start address = navnîşana peyva yekem daneya ku ji hêla CPU ve hatî xwestin
- Teqîna zêde:
- mezinahiya xeta cache = 128 bit
- navnîşana destpêkî teqiya = navnîşana ku li ser sînorê xeta cache ya ku peyva tê xwestin tê de hatiye rêz kirin
jimar 7. Zêdebûn li hember teqîna WRAP

Herêmên cacheable û taybetmendiya remapping
ICACHE bi otobusa C-AHB ve bi Cortex-M33 ve girêdayî ye û herêma kodê ji navnîşanan [0x0000 0000 ber 0x1FFF FFFF] vedişêre. Ji ber ku bîranînên derve li navnîşanek di rêza [0x6000 0000 heta 0xAFFF FFFF] de têne nexşe kirin, ICACHE taybetmendiyek ji nû ve nexşeyê piştgirî dike ku dihêle her herêmek bîranîna derveyî li navnîşek di rêza [0x0000 0000 heya 0x07FF FFFF] de ji nû ve were nexşandin. [0x1000 0000 ber 0x1FFF FFFF], û bi otobusa C-AHB ve were gihîştin. Bi vê taybetmendiyê heya çar deverên bîranîna derve dikarin ji nû ve werin nexşandin. Dema ku herêmek ji nû ve were nexşe kirin, ger ICACHE neçalak be an jî ger danûstendin ne cache be jî, operasyona remap pêk tê. Herêmên bîra cacheable dikare ji hêla bikarhêner ve di yekîneya parastina bîranînê (MPU) de were veqetandin û bernamekirin. Tabloya jêrîn mîhengên bîranînên rêzikên STM32L5 û STM32U5 kurt dike.
Tablo 4. Veavakirina bîranînên rêzikên STM32L5 û STM32U5
|
bîra Product |
Cacheable
(Bernameya MPU) |
Di ICACHE de ji nû ve hatî çêkirin
(Bernameya ICACHE_CRRx) |
| bîra Flash | Erê an Na |
Ne hewce ye |
| SRAM | nayê pêşniyar kirin | |
| Bîranînên derve (HSPI/ OCTOSPI an FSMC) | Erê an Na | Pêdivî ye ku ger bikarhêner koda derveyî li ser otobusa C-AHB bigire (di otobusa S-AHB de) |
Feydeya nûvekirina bîranîna derveyî ya ICACHE
The exampLe di jimareya jêrîn de destnîşan dike ka meriv çawa ji performansa pêşkeftî ya ICACHE di dema darvekirina kodê an daneya xwendinê de dema ku bigihîje bîranînek Octo-SPI-ya derveyî ya 8-Mbyte (wek bîra flash-ya derveyî an RAM) sûd werdigire.
jimar 8. Remap bîra Octo-SPI example

Ji bo nûvekirina vê bîranîna derveyî gavên jêrîn hewce ne:
Veavakirina OCTOSPI ji bo bîranîna derveyî
Têkiliya OCTOSPI-ê mîheng bikin da ku meriv di moda Nexşeya Bîrê de bigihîje bîra derveyî (bîra derve wekî bîranînek hundurîn ku li herêma [0x9000 0000 ber 0x9FFF FFFF] ve hatî nexşeyê tê dîtin). Ji ber ku mezinahiya bîra derveyî 8 Mbyte ye, ew li herêmê [0x9000 0000 heta 0x907F FFFF] tê dîtin. Bîra derve ya li vê herêmê bi rêya S‑busê tê gihîştin û nayê cachekirin. Pêngava paşîn veavakirina ICACHE nîşan dide da ku vê herêmê ji nû ve nexşe bike.
Not: Ji bo veavakirina OCTOSPI-yê di moda nexşeya bîranînê de, li ser mîkrokontrollerên STM32 (AN5050) serî li têbînîya serîlêdanê ya Octo-SPI bidin
Veavakirina ICACHE ji bo ji nû ve nexşeya devera nexşeya bîranîna derveyî
8 Mbytên ku li herêma [0x9000 0000 heta 0x907F FFFF] hatine danîn ji nû ve li herêma [0x1000 0000 ber 0x107F FFFF] têne veguheztin. Dûv re ew dikarin bi otobusa hêdî (otobusa ICACHE master2) werin gihîştin.
- Veavakirina qeyda ICACHE_CR
- ICACHE bi EN = 0 neçalak bike.
- Bi WAYSEL = 1 an 2, bi rêzê ve 0-rê an 1-rê (li gorî hewcedariyên serîlêdanê ve girêdayî ye) hilbijêrin.
- Veavakirina qeyda ICACHE_CRRx (heta çar herêm, x = 0 heta 3)
- Bi BASEADDR [0:1000] = 0000x28 navnîşana bingehîn 21x0 80 (navnîşana remapê) hilbijêrin.
- Mezinahiya herêmê 8-Mbyte hilbijêrin ku bi RSIZE[2:0] = 0x3 ji nû ve nexşeyê bikin.
- Navnîşana 0x9000 0000 ji nû ve hatî çêkirin REMAPADDR[31:21] = 0x480 hilbijêrin.
- Ji bo bîranînên derveyî bi MSTSEL = 2 porta ICACHE AHB master1 hilbijêrin.
- Tîpa teqîna WRAP bi HBURST = 0 hilbijêrin.
- Ji nû ve nexşeyê ji bo herêma x bi REN = 1 çalak bike.
Nîgara jêrîn destnîşan dike ka deverên bîranînê bi IAR-ê re piştî çalakkirina remapê çawa têne dîtin.
jimar 9. Herêmên bîrê ji nû ve neqşkirinample

Bîra derve ya 8-Mbyte naha ji nû ve hatî çêkirin û dikare li herêma [0x1000 0000 ber 0x107F FFFF] ve were gihandin.
ICACHE çalak bike
- Veavakirina qeyda ICACHE_CR ICACHE bi EN = 1 çalak bike.
çavdêrên Hit-û-miss
ICACHE ji bo analîzkirina performansê du çavdêran peyda dike: çavdêriyek lêdanê ya 32-bit û çavdêriyek xelet a 16-bit.
- Monitoravdêrê danûstendinên AHB-a cache-ê li ser porta cache ya xulamê ku li naveroka ICACHE dihejmêre (daneyên hilanîn ên ku jixwe di cache-ê de peyda dibin). Hejmara çavdêriya lêdanê di qeyda ICACHE_HMONR de heye.
- Monitoravdêr danûstendinên AHB-a cacheable li ser porta cache ya xulamê ku naveroka ICACHE ji bîr dike dihejmêre (daneyên ku jixwe di cache de peyda nabin). Hejmara çavdêriya wenda di qeyda ICACHE_MMONR de heye.
Not:
Van her du çavdêran dema ku digihîjin nirxên xwe yên herî zêde bi ser nakevin. Van çavdêran ji bitsên jêrîn di qeyda ICACHE_CR de têne rêve kirin:
- HITMEN bit (bi rêzê bit MISSMEN) ji bo çalakkirin/rawestandina lêdanê (bi rêzê jî bêriya) monitor
- HITMRST bit (bi rêzê bit MISSMRST) ji bo sifirkirina lêdanê (bi rêzê jî bêriya) monitor Bi xweber, van çavdêran ji bo kêmkirina xerckirina hêzê neçalak dibin.
Parastina ICACHE
Nermalava dikare ICACHE betal bike bi danîna bit CACHEINV di qeyda ICACHE_CR de. Ev kiryar tevahiya cacheyê betal dike, wê vala dike. Di vê navberê de, heke hin herêmên ji nû ve nexşandî werin çalak kirin, taybetmendiya remapê hîn jî çalak e, tewra dema ku ICACHE betal be. Ji ber ku ICACHE tenê danûstendinên xwendinê birêve dibe û danûstendinên nivîsandinê îdare nake, ew di mijara nivîsandinê de hevrêziyê peyda nake. Ji ber vê yekê, nermalavê piştî bernamekirina herêmek pêdivî ye ku ICACHE betal bike.
ewlehiya ICACHE
ICACHE dorhêlek ewledar e ku dikare bi navgîniya tomara veavakirina ewledar a GTZC TZSC ve wekî ewle were mîheng kirin. Dema ku ew wekî ewledar were mîheng kirin, tenê gihîştinên ewledar ji qeydên ICACHE re têne destûr kirin. ICACHE di heman demê de dikare bi navgîniya tomara veavakirina îmtiyaza GTZC TZSC ve wekî îmtiyaz were mîheng kirin. Dema ku ICACHE wekî îmtiyaz tê mîheng kirin, tenê gihîştinên îmtiyazê ji qeydên ICACHE re têne destûr kirin. Bi xwerû, ICACHE bi navgîniya GTZC TZSC ne ewledar û ne-îmtiyaz e.
Bûyer û rêveberiya astengkirinê
ICACHE dema ku têne kifş kirin, bi danîna ala ERRF-ê li ICACHE_SR, xeletiyên fonksiyonel birêve dibe. Ger bit ERRIE di ICACHE_IER de were saz kirin jî navberek dikare were çêkirin. Di bûyera betalkirina ICACHE de, dema ku rewşa mijûlbûna cache qediya, ala BSYENDF li ICACHE_SR tê danîn. Ger bit BSYENDIE di ICACHE_IER de were danîn jî dikare navberek çêbibe. Tabloya li jêr alayên navbir û bûyerê yên ICACHE navnîş dike.
Tablo 5. ICACHE navbirî û bits rêveberiya bûyerê
| Fêhrist | Navê bit | Danasîna bit | Cureyê gihîştina bit |
|
ICACHE_SR |
BIKAR | Cache operasiyonek betalkirina tevahî pêk tîne |
Tenê xwendin |
| BSYENDF | Operasyona betalkirina cache qediya | ||
| ŞAŞÎ | Di dema xebata cachekirinê de xeletiyek derket | ||
|
ICACHE_IER |
ERRIE | Ji bo xeletiya cache qutbûnê çalak bike |
Xwendin/nivîsandin |
| BSYENDIE | Di rewşa ku operasyona betalkirinê qediya de qutbûnê çalak bike | ||
|
ICACHE_FCR |
CERRF | ERRF di ICACHE_SR de paqij dike |
Tenê binivîse |
| CBSYENDF | BSYENDF li ICACHE_SR paqij dike |
taybetmendiyên DCACHE
Armanca cacheya daneyê ew e ku barkirinên daneya bîranîna derveyî û depoyên daneyê yên ku ji pêvajoyê an ji cîhek din a sereke ya otobusê tê veşêre. DCACHE hem danûstandinên xwendin û nivîsandinê birêve dibe.
trafîka cacheability DCACHE
DCACHE bîranînên derveyî ji navgîniya porta masterê bi otobusa AHB vedişêre. Daxwazên bîranîna hatinî li gorî taybetmendiya girtina bîranîna danûstendinê ya AHB wekî cacheable têne destnîşankirin. Siyaseta nivîsandina DCACHE li gorî taybetmendiya bîranînê ya ku ji hêla MPU ve hatî mîheng kirin ve wekî nivîsandin-rêveberî an paş-venivîsandinê tê pênase kirin. Dema ku herêmek wekî ne-cache were mîheng kirin, DCACHE tê derbas kirin.
Tablo 6. DCACHE cacheability ji bo danûstandina AHB
| Taybetmendiya lêgerîna AHB | Taybetmendiya tampon a AHB | Cacheability |
| 0 | X | Bixwîne û binivîse: ne-cacheable |
|
1 |
0 |
Bixwîne: cacheable
Binivîsin: (cacheable) binivîsin |
|
1 |
1 |
Bixwîne: cacheable
Binivîsin: (cacheable) binivîsin-vegerandin |
herêmên cacheable DCACHE
Ji bo rêzikên STM32U5, pêwendiya xulamê DCACHE1 bi otobusa S-AHB ve bi Cortex-M33 ve girêdayî ye û GFXMMU, FMC, û HSPI/OCTOSPI-an vedişêre. Têkiliya xulamê DCACHE2 bi otobusa porta M2 ve bi DMA0D-ê ve girêdayî ye, û hemî bîranînên hundurîn û derveyî (ji bilî SRAM4 û BRKPSRAM) vedigire. Ji bo rêzikên STM32H5, pêwendiya xulamê DCACHE bi navgîniya bîranînên derveyî yên S-AHB bi navgîniya FMC û OCTOSPI ve bi Cortex-M33 ve girêdayî ye.
Tablo 7. Herêmên cacheable DCACHE û navrû
| Herêma navnîşana bîranîna cacheable | DCACHE1 navberên cacheable | DCACHE2 navberên cacheable |
| GFXMMU | X | X |
| SRAM1 |
N/A |
X |
| SRAM2 | X | |
| SRAM3 | X | |
| SRAM5 | X | |
| SRAM6 | X | |
| HSPI1 | X | X |
| OCTOSPI1 | X | X |
| BANKÊN FMC | X | X |
| OCTOSPI2 | X | X |
Not
Hin navber di hin hilberan de nayên piştgirî kirin. Binêre Figure 1 an pirtûka referansa hilberê ya taybetî.
Tîpa teqînê
Wek ICACHE, DCACHE teqînên zêde û pêçandî piştgirî dike (binihêre Beş 3.1.3). Ji bo DCACHE, celebê teqînê di nav bit HBURST de di DCACHE_CR de tê mîheng kirin.
veavakirina DCACHE
Di dema bootkirinê de, DCACHE ji hêla xwerû ve tê neçalak kirin ku daxwazên bîranîna xulam rasterast ji porta sereke re têne şandin. Ji bo çalakkirina DCACHE, divê bit EN di qeyda DCACHE_CR de were danîn. Çavdêrên lêdan-û-miss DCACHE ji bo analîzkirina performansa cache çar çavdêran pêk tîne:
- Du çavdêriya lêdanê ya 32-bit (R/W): Hejmara caran dihejmêre ku CPU daneyan di bîra cache de dixwîne an dinivîse bêyî ku li ser portên masterê DCACHE danûstendinek çêbike (daneyên ku berê di cache de hene). Hejmarên çavdêrên lêdanê (R/W) bi rêzê ve di qeydên DCACHE_RHMONR û DCACHE_WHMONR de hene.
- Du çavdêrên 16-bit (R/W) yên bêpar: Hejmara carên ku CPU daneya di bîra cache de dixwîne an dinivîse bijmêre û li ser portên sereke yên DCACHE danûstendinek çêdike, da ku daneyan ji herêma bîranînê bar bike (daneyên hilanîn ne jixwe di cache de heye). Di tomarên DCACHE_RMMONR û DCACHE_WMMONR de jimarkerên (R/W) yên mêtinger hene.
Not:
Van çar çavdêran dema ku digihîjin nirxên xwe yên herî zêde bi ser nakevin. Van çavdêran ji bitsên jêrîn di qeyda DCACHE_CR de têne rêve kirin:
- WHITMAN bit (bi rêzê bit WMISSMEN) ji bo çalakkirin/ rawestandina lêdana nivîsandinê (bi rêzê ve bêriya) monitor
- bit RHITMEN (bi rêzê bit RMISSMEN) ji bo çalakkirin/rawestandina lêdana xwendinê (bi rêzê ve winda) monitor
- bit WHITMRST (bi rêzê bit WMISSMRST) ji bo sifirkirina çavdêriya lêdana nivîsandinê (bi rêzê jî winda)
- bit RHITMRST (bi rêzê bit RMISSMRST) ji bo vesazkirina lêdana xwendinê (bi rêzê jî bêriya) monitor
Bi xwerû, van çavdêran ji bo kêmkirina xerckirina hêzê neçalak in.
parastina DCACHE
DCACHE gelek operasyonên lênêrînê pêşkêşî dike ku dikarin bi navgîniya CACHECMD[2:0] di DCACHE_CR de bêne mîheng kirin.
- 000: bê operasyon (pêşniyaz)
- 001: range paqij. Di cache de hin rêzek paqij bikin
- 010: range betal bike. Rêjeyek diyarkirî di cache de betal bike
- 010: rêzê paqij û betal bike. Di cache de hin rêzek paqij bikin û betal bikin
Rêjeya hilbijartî ji hêla:
- Tomara CMDSTARTADDR: navnîşana destpêkê ya fermanê
- Tomara CMDENDADDR: navnîşana dawiya fermanê
Not:
Berî ku CACHECMD were nivîsandin divê ev qeyd were danîn. Dema ku bit STARTCMD di qeyda DCACHE_CR de were danîn, parastina fermana cache dest pê dike. DCACHE di heman demê de bi danîna bit CACHEINV di qeyda DCACHE_CR de betalkirina tevahî CACHE piştgirî dike.
ewlekariya DCACHE
DCACHE dorhêlek ewledar e ku dikare bi navgîniya tomara veavakirina ewledar a GTZC TZSC ve wekî ewle were mîheng kirin. Dema ku ew wekî ewledar were mîheng kirin, tenê gihîştinên ewledar ji qeydên DCACHE re têne destûr kirin. DCACHE di heman demê de dikare bi navgîniya tomara veavakirina îmtiyazê ya GTZC TZSC wekî îmtiyaz were mîheng kirin. Dema ku DCACHE wekî îmtiyaz tê mîheng kirin, tenê gihîştinên îmtiyaz ji qeydên DCACHE re têne destûr kirin. Ji hêla xwerû, DCACHE bi navgîniya GTZC TZSC ne ewledar û ne-îmtiyaz e.
Bûyer û rêveberiya astengkirinê
DCACHE dema ku têne kifş kirin, bi danîna ala ERRF-ê li DCACHE_SR, xeletiyên fonksiyonel birêve dibe. Ger bit ERRIE di DCACHE_IER de were saz kirin jî navberek dikare were çêkirin. Di bûyera betalkirina DCACHE de, dema ku rewşa mijûlbûna cache qediya, ala BSYENDF li DCACHE_SR tê danîn. Ger bit BSYENDIE di DCACHE_IER de were saz kirin jî navberek dikare were çêkirin. Rewşa fermana DCACHE dikare bi CMDENF û BUSYCMDF bi DCACHE_SR ve were kontrol kirin Ger bit CMDENDIE di DCACHE_IER de were saz kirin jî navberek dikare were çêkirin. Tabloya jêrîn navberên DCACHE û alayên bûyerê destnîşan dike
Tablo 8. DCACHE Biteyên rêveberiya navbirî û bûyeran
| Fêhrist | Fêhrist | Danasîna bit | Cureyê gihîştina bit |
|
DCACHE_SR |
BIKAR | Cache operasiyonek betalkirina tevahî pêk tîne |
Tenê xwendin |
| BSYENDF | Operasyona tam betalkirina cache qediya | ||
| BUSYCMDF | Cache fermanek rêzê pêk tîne | ||
| CMDENDF | A dawiya fermana range | ||
| ERRF | Di dema xebata cachekirinê de xeletiyek derket | ||
|
DCACHE_IER |
ERRIE | Ji bo xeletiya cache qutbûnê çalak bike |
Xwendin/nivîsandin |
| CMDENDIE | Di dawiya fermanê de qutbûnê çalak bike | ||
| BSYENDIE | Di dawiya operasyona betalkirina tevahî de qutbûnê çalak bike | ||
|
DCACHE_FCR |
CERRF | ERRF di DCACHE_SR de paqij dike |
Tenê binivîse |
| CCMDENDF | CMDENDF li DCACHE_SR paqij dike | ||
| CBSYENDF | BSYENDF li DCACHE_SR paqij dike |
Performansa ICACHE û DCACHE û xerckirina hêzê
Bikaranîna ICACHE û DCACHE dema ku bigihîjin bîranînên derveyî performansa serîlêdanê çêtir dike. Tabloya jêrîn bandora ICACHE û DCACHE li ser darvekirina CoreMark® dema ku gihîştina bîranînên derveyî nîşan dide.
Tablo 9. Performansa ICACHE û DCACHE li ser darvekirina CoreMark bi bîranînên derveyî
| (1) | ||||
| Koda CoreMark | Daneyên CoreMark | veavakirina ICACHE | veavakirina DCACHE | xala CoreMark / Mhz |
| Bîra Flash Navxweyî | SRAM navxweyî | Çalakkirî (2-awa) | Bêmecel | 3.89 |
| Bîra Flash Navxweyî | Octo-SPI PSRAM ya derve (S-bus) | Çalakkirî (2-awa) | Enabled | 3.89 |
| Bîra Flash Navxweyî | Octo-SPI PSRAM ya derve (S-bus) | Çalakkirî (2-awa) | Bêmecel | 0.48 |
| Octo-SPI Flashê Derveyî (C-otobus) | SRAM navxweyî | Çalakkirî (2-awa) | Bêmecel | 3.86 |
| Octo-SPI Flashê Derveyî (C-otobus) | SRAM navxweyî | Bêmecel | Bêmecel | 0.24 |
| Bîra Flash Navxweyî | SRAM navxweyî | Bêmecel | Bêmecel | 2.69 |
Mercên Testê:
- Hilbera bicîhkirî: STM32U575/585
- Frekansa pergalê: 160 MHz.
- Bîra derveyî Octo-SPI PSRAM: 80 MHz (moda DTR).
- Bîra flash Octo-SPI ya derveyî: 80 MHz (moda STR).
- Berhevkar: IAR V8.50.4.
- PÊŞGERÎNA Flash-a Navxweyî: LIVE.
Bikaranîna ICACHE û DCACHE dema ku bigihîjin bîranînên hundurîn û derveyî vexwarina hêzê kêm dike. Tabloya jêrîn bandora ICACHE li ser xerckirina hêzê di dema darvekirina CoreMark de nîşan dide.
Tablo 10. Bandora ICACHE ya darvekirina CoreMark li ser xerckirina hêzê
| veavakirina ICACHE | Xerca hêza MCU (mA) |
| Çalakkirî (2-awa) | 7.60 |
| Çalakkirî (1-alî) | 7.13 |
| Bêmecel | 8.89 |
- Mercên Testê:
- Hilbera bicîhkirî: STM32U575/585
- Koda CoreMark: bîra Flash ya navxweyî.
- Daneyên CoreMark: SRAM navxweyî.
- Bîra Flash-a Navxweyî PÊŞGETIN: LIVE.
- Frekansa pergalê: 160 MHz.
- Berhevkar: IAR V8.32.2.
- Voltage range: 1.
- SMPS: LIVE.
- Veavakirina komeleyê ya awayê ji bo koda ku bi tevahî di cache de nayê barkirin ji konfigurasyona komeleyê ya 1-rê bikêrtir e. Di vê navberê de, cache-ya komeleyê ya yek-alî hema hema her gav ji cache-ya komeleyê ya 1-alî jêhatîtir e. Pêdivî ye ku her kod di her du mîhengên hevrêziyê de were nirxandin, da ku bazirganiya çêtirîn di navbera performans û xerckirina hêzê de hilbijêrin. Hilbijartin bi pêşengiya bikarhêner ve girêdayî ye.
Xelasî
Pêşniyarên pêşîn ên ku ji hêla STMicroelectronics, ICACHE û DCACHE ve hatine pêşve xistin, dikarin bîranînên hundurîn û derveyî cache bikin, ji bo seyrûsefera daneyê û girtina rêwerzan çêtirkirina performansê pêşkêş dikin. Ev belge taybetmendiyên cihêreng ên ku ji hêla ICACHE û DCACHE ve têne piştgirî kirin destnîşan dike, sadebûn û nermbûna veavakirina wan dihêle ku lêçûna pêşkeftinê kêmtir û demek zûtir a bazarê.
Dîroka Revision
Tablo 11. Dîroka guhertoya belgeyê
| Rojek | Awa | Changes |
| 10-Oct-2019 | 1 | Serbestberdana destpêkê. |
|
27-Seb-2020 |
2 |
Nûkirin:
• Tablo 2. Herêmên bîrê û navnîşanên wan • Beşa 2.1.7 parastina ICACHE • Beşa 2.1.8 ewlekariya ICACHE |
|
7-Dec-2021 |
3 |
Nûkirin:
• Sernavê belgeyê • Destpêk • Beşa 1 ICACHE û DCACHE li serview • Beş 4 Encam hat zêdekirin: • Beş 2 taybetmendiyên ICACHE û DCACHE • Beşa 3 ICACHE û DCACHE performansa û mezaxtina hêzê |
|
15-Seb-2023 |
4 |
Nûkirin:
• Beş 2.2: Mîmariya zîrek a rêze STM32U5 • Beş 2.5: Diyagrama bloka DCACHE • Beşa 3.1.2: 1-rê li hember ICACHE-ya 2-rê • Beş 3.1.4: Herêmên cacheable û taybetmendiya remapping • Beş 3.2: Taybetmendiyên DCACHE • Beş 3.2.2: Herêmên cacheable DCACHE • Beş 4: Performansa ICACHE û DCACHE û xerckirina hêzê Zêde kirin: |
|
11-Adar-2024 |
5 |
Nûkirin: |
BİXWÎNE BİXWÎNE - BİXWÎNE BİXWÎNE
STMicroelectronics NV û şaxên wê ("ST") mafê ku di her kêliyê de bêyî agahdarî li ser hilberên ST-ê û / an jî vê belgeyê biguhezînin, rastkirin, çêtirkirin, guheztin û çêtirkirinan diparêzin. Pêdivî ye ku kirrûbir berî ku fermanan bidin agahdariya herî dawî ya têkildar li ser hilberên ST bistînin. Berhemên ST di dema pejirandina fermanê de li gorî şert û mercên firotanê yên ST têne firotin. Kiryar bi tenê ji bijartin, hilbijartin û karanîna hilberên ST berpirsiyar in û ST ji bo arîkariya serîlêdanê an sêwirana hilberên kirrûbiran berpirsiyarî nagire. Li vir ji hêla ST ve ti destûrek, eşkere an jî têgihîştî, ji tu mafek milkê rewşenbîrî re nayê dayîn. Ji nû ve firotina hilberên ST bi şertên ku ji agahdariya ku li vir hatî destnîşan kirin cûdatir dê garantiyek ku ST ji bo hilberek weha hatî dayîn betal bike. ST û logoya ST marqeyên ST ne. Ji bo bêtir agahdarî li ser tîcareta ST, serî li www.st.com/trademarks bidin. Hemî navên hilber an karûbarê din milkê xwediyên wan ên têkildar in. Agahdariya di vê belgeyê de agahdariya ku berê di her guhertoyên berê yên vê belgeyê de hatine peyda kirin digire û diguhezîne. © 2024 STMicroelectronics - Hemî maf parastî ne
Belge / Çavkanî
![]() |
STMicroelectronics STM32H5 Series Microcontrollers [pdf] Rêbernameya Bikarhêner Mîkrokontrollerên Rêzeya STM32H5, STM32H5, Mîkrokontrollerên Rêze, Mîkrokontroller |

