STMicroelectronics STM32H5 Series Microcontrollers

Pasiuna
Kini nga nota sa aplikasyon naghulagway sa instruksiyon nga cache (ICACHE) ug ang data cache (DCACHE), ang unang mga cache nga gihimo sa STMicroelectronics. Ang ICACHE ug DCACHE nga gipaila sa AHB bus sa Arm® Cortex®-M33 nga processor kay na-embed sa STM32 microcontroller (MCUs) nga gilista sa table sa ubos. Gitugotan sa kini nga mga cache ang mga tiggamit nga mapaayo ang ilang pasundayag sa aplikasyon ug makunhuran ang konsumo kung magkuha mga panudlo ug data gikan sa internal ug eksternal nga mga panumduman, o alang sa trapiko sa datos gikan sa mga eksternal nga panumduman. Kini nga dokumento naghatag ug tipikal nga examples aron i-highlight ang mga feature sa ICACHE ug DCACHE ug mapadali ang ilang configuration.
Talaan 1. Magamit nga mga produkto
| Type | Serye sa produkto |
| Mga microcontroller | STM32H5 series, STM32L5 series, STM32U5 series |
Kinatibuk-ang impormasyon
Mubo nga sulat:
Kini nga nota sa aplikasyon magamit sa mga serye sa STM32 nga microcontrollers nga Arm® Cortex® core-based nga mga himan. Ang Arm kay rehistradong marka sa Arm Limited (o mga subsidiary niini) sa US ug/o bisan asa.
ICACHE ug DCACHE nahuman naview
Kini nga seksyon naghatag usa ka labawview sa mga interface sa ICACHE ug DCACHE nga nasulod sa STM32 Arm® Cortex® core-based microcontrollers. Kini nga seksyon nagdetalye sa ICACHE ug DCACHE diagram ug integrasyon sa sistema sa arkitektura.
STM32L5 nga serye sa smart nga arkitektura
Kini nga arkitektura gibase sa usa ka bus matrix nga nagtugot sa daghang mga agalon (Cortex-M33, ICACHE, DMA1/2, ug SDMMC1) sa pag-access sa daghang mga ulipon (sama sa flash memory, SRAM1/2, OCTOSPI1, o FSMC). Ang numero sa ubos naghulagway sa STM32L5 series nga smart architecture.
Hulagway 1. STM32L5 nga serye sa smart nga arkitektura

Ang pasundayag sa Cortex-M33 gipauswag pinaagi sa paggamit sa 8-Kbyte ICACHE interface nga gipaila sa C-AHB bus niini, kung nagkuha og code o data gikan sa internal nga mga panumduman (flash memory, SRAM1, o SRAM2) pinaagi sa paspas nga bus, ug usab gikan sa external memories (OCTOSPI1 o FSMC) pinaagi sa hinay nga bus.
STM32U5 nga serye sa smart nga arkitektura
Kini nga arkitektura gibase sa usa ka bus matrix nga nagtugot sa daghang mga agalon (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D ug SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) sa pag-access sa daghang mga ulipon (sama sa flash memory, SRAMs, BKPSRAM, HSPI/ OCTOSPI, o FSMC).Ang numero sa ubos naghulagway sa STM32U5 series smart architecture.
Hulagway 2. STM32U5 nga serye sa smart nga arkitektura

Ang Cortex-M33 ug ang GPU2D interface parehong nakabenepisyo gikan sa paggamit sa CACHE.
- Ang ICACHE nagpauswag sa performance sa Cortex-M33 sa dihang nagkuha og code o data gikan sa internal nga mga panumduman pinaagi sa paspas nga bus (flash memory, SRAMs) ug gikan sa external memory pinaagi sa hinay nga bus (OCTOSPI1/2 ug HSPI1, o FSMC). Gipauswag sa DCACHE1 ang pasundayag kung nagkuha og datos gikan sa internal o eksternal nga mga panumduman pinaagi sa s-bus (GFXMMU, OCTOSPI1/2 ug HSPI1, o FSMC).
- Ang DCACHE2 nagpauswag sa performance sa GPU2D sa dihang nagkuha ug data gikan sa internal ug external nga mga panumduman (GFXMMU, flash memory, SRAMs, OCTOSPI1/2 ug HSPI1, o FSMC) pinaagi sa M0 port bus.
STM32H5 nga serye sa smart nga arkitektura
STM32H523/H533, STM32H563/H573 ug STM32H562 smart architecture Kini nga arkitektura gibase sa usa ka bus matrix nga nagtugot sa daghang mga masters (Cortex-M33, ICACHE, DCACHE, GPDMAs, Ethernet ug SDMMCs) sa pag-access sa daghang mga ulipon (sama sa flash memory, SRAMs, BKPS). , OCTOSPI ug FMC). Ang numero sa ubos naghulagway sa STM32H5 series nga smart architecture.
Hulagway 3. STM32H563/H573 ug STM32H562 series smart architecture

Ang Cortex-M33 nakabenepisyo gikan sa paggamit sa CACHE.
- Gipauswag sa ICACHE ang performance sa Cortex-M33 kung nagkuha og code o data gikan sa internal nga mga panumduman pinaagi sa usa ka paspas nga bus (flash memory, SRAMs) ug gikan sa external memory pinaagi sa hinay nga bus (OCTOSPI ug FMC).
- Gipauswag sa DCACHE ang pasundayag kung nagkuha mga datos gikan sa mga eksternal nga panumduman pinaagi sa hinay nga bus (OCTOSPI ug FMC).
STM32H503 intelihente nga arkitektura
Kini nga arkitektura gibase sa usa ka bus matrix nga nagtugot sa daghang mga agalon (Cortex-M33, ICACHE ug GPDMA) nga maka-access sa daghang mga ulipon (sama sa flash memory, SRAM ug BKPSRAM). Ang numero sa ubos naghulagway sa STM32H5 series nga smart architecture.
Hulagway 4. STM32H503 serye nga smart nga arkitektura

Ang Cortex-M33 nakabenepisyo gikan sa paggamit sa CACHE.
- Gipauswag sa ICACHE ang performance sa Cortex-M33 sa pagkuha sa code o data gikan sa internal nga mga panumduman pinaagi sa paspas nga bus (flash memory, SRAMs).
ICACHE block diagram
Ang ICACHE block diagram gihatag sa hulagway sa ubos.
Hulagway 5. ICACHE block diagram

Ang memorya sa ICACHE naglakip sa:
- ang TAG memory uban sa:
- ang adres tags nga nagpakita kung unsang datos ang anaa sa cache data memory
- ang balido nga mga bit
- ang panumduman sa datos, nga naglangkob sa naka-cache nga datos
DCACHE block diagram
Ang DCACHE block diagram gihatag sa hulagway sa ubos.
Hulagway 6. DCACHE block diagram

Ang memorya sa DCACHE naglakip sa:
- ang TAG memory uban sa:
- ang adres tags nga nagpakita kung unsang datos ang anaa sa cache data memory
- ang balido nga mga bit
- ang mga tipik sa pribilehiyo
- ang hugaw nga mga tipik
- ang panumduman sa datos, nga naglangkob sa naka-cache nga datos
Mga bahin sa ICACHE ug DCACHE
Doble nga mga agalon
Ang ICACHE nag-access sa AHB bus matrix bisan sa:
- Usa ka AHB master port: master1 (paspas nga bus)
- Duha ka AHB master port: master1 (paspas nga bus) ug master2 (hinay nga bus)
Gitugotan niini nga bahin ang trapiko nga ma-decoupled kung mag-access sa lainlaing mga rehiyon sa panumduman (sama sa internal nga panumduman sa flash, internal nga SRAM ug mga panumduman sa gawas), aron makunhuran ang mga stall sa CPU sa mga miss sa cache. Ang mosunod nga lamesa nagsumaryo sa mga rehiyon sa memorya ug sa ilang mga adres.
Talaan 2. Mga rehiyon sa memorya ug ang ilang mga adres
| Peripheral | Ma-cacheable nga pag-access sa memorya | Dili cacheable memory access | |||||||
|
Type |
Ngalan |
Ngalan sa produkto ug gidak-on sa rehiyon |
Ngalan sa bus |
Dili luwas nga adres sa pagsugod sa rehiyon |
Luwas, dili luwas nga matawag nga rehiyon sa pagsugod nga adres |
Ngalan sa bus |
Dili luwas nga adres sa pagsugod sa rehiyon |
Luwas, dili luwas nga matawag nga rehiyon sa pagsugod nga adres | |
|
Internal |
FLASH |
STM32H503 | 128 KB |
ICACHE paspas nga bus |
0x0800 0000 |
N/A |
N/A |
N/A |
N/A |
| STM32L5
serye/ 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
serye |
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 | Ma-cacheable nga pag-access sa memorya | Dili cacheable memory access | |||||||
|
Internal |
SRAM2 |
STM32H563/ 573/562 | 80 KB |
ICACHE paspas nga bus |
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 |
|||
|
Sa gawas |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE hinay nga bus |
Ang alyas nga adres sa sakup nga [0x0000 0000 ngadto sa 0x07FF FFFF] o [0x1000 0000:0x1FFFF FFFF] gihubit pinaagi sa remapping nga bahin |
N/A |
0xA000 0000 | ||
| FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
|
OCTOSPI1 walay kasegurohan sa bangko |
STM32L5/U5
serye STM32H563/ 573/562 |
0x9000 0000 |
|||||||
|
FMC nga bangko 3 walay kasegurohan |
STM32L5/U5
serye STM32H563/ 573/562 |
0x8000 0000 |
|||||||
| OCTOSPI2
walay kasegurohan sa bangko |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0x7000 0000 |
|||||||
|
FMC nga bangko 1 walay kasegurohan |
STM32L5/U5
serye STM32H563/ 573/562 |
0x6000 0000 |
|||||||
1. Aron mapilian sa pag-remapping sa maong mga rehiyon.
1-way batok sa 2-way ICACHE
Sa kasagaran, ang ICACHE gi-configure sa associative operating mode (duha ka paagi nga gi-enable), apan posible nga i-configure ang ICACHE sa direct-mapped mode (one-way enabled), para sa mga aplikasyon nga nanginahanglan ug ubos kaayo nga konsumo sa kuryente. Ang ICACHE configuration gihimo sa WAYSEL bit sa ICACHE_CR sama sa mosunod:
- WAYSEL = 0: direkta nga mapa nga operating mode (1-way)
- WAYSEL = 1 (default): associative operating mode (2-way)
Talaan 3. 1-way versus 2-way ICACHE
| Parameter | 1-way nga ICACHE | 2-way nga ICACHE |
| Gidak-on sa cache (Kbytes) | 8(1)/32(2) | |
| Pag-cache sa daghang mga paagi | 1 | 2 |
| Gidak-on sa linya sa cache | 128 bits (16 bytes) | |
| Gidaghanon sa mga linya sa cache | 512(1)/2048(2) | 256(1)/1024(2) kada agianan |
- Para sa STM32L5 series /STM32H5 series /STM32U535/545/575/585
- For STM32U59x/5Ax/5Fx/5Gx
Uri sa pagbuto
Ang pipila ka mga panumduman sa Octo-SPI nagsuporta sa pagbuto sa WRAP, nga naghatag kaayohan sa kritikal nga pasundayag sa panguna nga pulong. Ang ICACHE burst type sa AHB memory transaction para sa remapped nga mga rehiyon ma-configure. Nagpatuman kini og incremental burst o WRAP burst, gipili gamit ang HBURST bit sa ICACHE_CRRx register. Ang mga kalainan tali sa WRAP ug sa incremental burst gihatag sa ubos (tan-awa usab ang numero):
- WRAP nga pagbuto:
- gidak-on sa linya sa cache = 128 bits
- burst to start address = adres sa pulong sa unang datos nga gipangayo sa CPU
- Dugang nga pagbuto:
- gidak-on sa linya sa cache = 128 bits
- pagbuto sa pagsugod nga adres = adres nga gipahiangay sa utlanan sa linya sa cache nga adunay gihangyo nga pulong
Hulagway 7. Incremental batok sa WRAP nga pagbuto

Mga rehiyon nga ma-cache ug bahin sa remapping
Ang ICACHE konektado sa Cortex-M33 pinaagi sa C-AHB bus ug gi-cache ang code region gikan sa mga adres [0x0000 0000 ngadto sa 0x1FFF FFFF]. Tungod kay ang mga eksternal nga panumduman gimapa sa usa ka adres sa range [0x6000 0000 hangtod 0xAFFF FFFF], ang ICACHE nagsuporta sa usa ka bahin sa remap nga nagtugot sa bisan unsang rehiyon sa eksternal nga memorya nga ma-remapping sa usa ka adres sa sakup nga [0x0000 0000 hangtod 0x07FF FFFF] o [0x1000 0000 ngadto sa 0x1FFF FFFF], ug mahimong accessible pinaagi sa C-AHB bus. Hangtud sa upat ka mga rehiyon sa eksternal nga memorya mahimong ma-remapping uban niini nga bahin. Kung ang usa ka rehiyon ma-remapped, ang remap nga operasyon mahitabo bisan kung ang ICACHE gi-disable o kung ang transaksyon dili ma-cache. Ang mga rehiyon sa panumduman nga na-cache mahimo nga ma-defied ug maprograma sa tiggamit sa yunit sa pagpanalipod sa panumduman (MPU). Ang lamesa sa ubos nagsumaryo sa mga pag-configure sa mga panumduman sa serye sa STM32L5 ug STM32U5.
Talaan 4. Pag-configure sa mga panumduman sa serye sa STM32L5 ug STM32U5
|
Memorya sa produkto |
Ma-cacheable
(MPU programming) |
Gi-remap sa ICACHE
(Pagprograma sa ICACHE_CRRx) |
| Flash memory | Oo o Dili |
Dili gikinahanglan |
| SRAM | Dili girekomendar | |
| Mga panumduman sa gawas (HSPI/OCTOSPI o FSMC) | Oo o Dili | Gikinahanglan kung gusto sa user ang pagkuha sa gawas nga code sa C-AHB bus (uban pa sa S-AHB bus) |
Kaayohan sa ICACHE external memory remapping
Ang example sa numero sa ubos nagpakita kon sa unsang paagi makabenepisyo gikan sa ICACHE gipalambo nga performance atol sa code execution o data nga basahon sa diha nga access sa usa ka eksternal nga 8-Mbyte external Octo-SPI memory (sama sa external flash memory o RAM).
Hulagway 8. Ang Octo-SPI memory remap example

Ang mosunod nga mga lakang gikinahanglan aron ma-remap kining external memory:
OCTOSPI configuration alang sa external memory
I-configure ang interface sa OCTOSPI aron ma-access ang external memory sa Memory mapped mode (ang external memory makita isip internal memory nga gimapa sa [0x9000 0000 to 0x9FFF FFFF] nga rehiyon). Tungod kay ang external memory size kay 8 Mbytes, makita kini sa rehiyon [0x9000 0000 to 0x907F FFFF]. Ang eksternal nga memorya niini nga rehiyon ma-access pinaagi sa S-bus ug dili ma-cache. Ang sunod nga lakang nagpakita sa ICACHE configuration aron ma-remap kini nga rehiyon.
Mubo nga sulat: Para sa OCTOSPI configuration sa memory-mapped mode, tan-awa ang application note Octo‑ SPI interface sa STM32 microcontrollers (AN5050
Ang configuration sa ICACHE aron i-remap ang external memory-mapped nga rehiyon
Ang 8 Mbytes nga gibutang sa [0x9000 0000 to 0x907F FFFF] nga rehiyon gi-remap sa [0x1000 0000 to 0x107F FFFF] nga rehiyon. Mahimo silang ma-access pinaagi sa hinay nga bus (ICACHE master2 bus).
- ICACHE_CR rehistro nga configuration
- I-disable ang ICACHE gamit ang EN = 0.
- Pilia ang 1-way o 2-way (depende sa mga panginahanglan sa aplikasyon) nga adunay WAYSEL = 0 o 1, matag usa.
- ICACHE_CRRx register configuration (hangtod sa upat ka rehiyon, x = 0 ngadto sa 3)
- Pilia ang 0x1000 0000 base nga adres (remap address) nga adunay BASEADDR [28:21] = 0x80.
- Pilia ang 8-Mbyte nga gidak-on sa rehiyon aron i-remap sa RSIZE[2:0] = 0x3.
- Pilia ang 0x9000 0000 remapped nga adres REMAPADDR[31:21] = 0x480.
- Pilia ang ICACHE AHB master2 port para sa external memory nga adunay MSTSEL = 1.
- Pilia ang WRAP burst type nga adunay HBURST = 0.
- I-enable ang remapping alang sa rehiyon x nga adunay REN = 1.
Ang mosunud nga numero nagpakita kung giunsa ang mga rehiyon sa panumduman makita sa IAR human ma-enable ang remap.
Hulagway 9. Ang mga rehiyon sa memorya nag-remapping example

Ang 8-Mbyte nga eksternal nga memorya gi-remapa na karon ug mahimong ma-access sa [0x1000 0000 to 0x107F FFFF] nga rehiyon.
ICACHE makahimo
- ICACHE_CR register configuration I-enable ang ICACHE gamit ang EN = 1.
Hit-and-miss monitor
Ang ICACHE naghatag ug duha ka monitor para sa performance analysis: usa ka 32-bit hit monitor ug 16-bit miss monitor.
- Ang hit monitor nag-ihap sa cacheable nga mga transaksyon sa AHB sa slave cache port nga naigo sa ICACHE content (gikuha nga data anaa na sa cache). Ang hit monitor counter anaa sa ICACHE_HMONR register.
- Ang miss monitor nag-ihap sa cacheable nga mga transaksyon sa AHB sa slave cache port nga wala sa sulod sa ICACHE (gikuha nga data nga wala pa magamit sa cache). Ang nawala nga monitor counter anaa sa ICACHE_MMONR register.
Mubo nga sulat:
Kining duha ka mga monitor dili maputos sa dihang makaabot sa ilang kinatas-ang mga bili. Kini nga mga monitor gidumala gikan sa mosunod nga mga bit sa ICACHE_CR register:
- HITMEN bit (tinag MISSMEN bit) para ma-enable/hunong ang hit (ilang miss) monitor
- HITMRST bit (tinagsa MISSMRST bit) aron i-reset ang hit (ilang miss) monitor Sa default, ang mga monitor niini gi-disable aron makunhuran ang konsumo sa kuryente.
Pagmentinar sa ICACHE
Mahimong dili balido sa software ang ICACHE pinaagi sa pagbutang sa gamay nga CACHEINV sa rehistro sa ICACHE_CR. Kini nga aksyon nag-invalidate sa tibuok cache, nga naghimo niini nga walay sulod. Samtang, kung ang pipila ka mga rehiyon nga gi-remapa gipagana, ang bahin sa remap aktibo gihapon, bisan kung ang ICACHE na-disable. Ingon nga ang ICACHE nagdumala lamang sa pagbasa sa mga transaksyon ug dili pagdumala sa pagsulat sa mga transaksyon, dili kini makasiguro sa panaghiusa sa kaso sa pagsulat. Tungod niini, ang software kinahanglan nga dili balido ang ICACHE pagkahuman sa pagprograma sa usa ka rehiyon.
ICACHE seguridad
Ang ICACHE usa ka luwas nga peripheral nga mahimong ma-configure ingon luwas pinaagi sa GTZC TZSC secure configuration register. Kung kini gi-configure ingon nga luwas, luwas nga mga pag-access lamang ang gitugotan sa mga rehistro sa ICACHE. Ang ICACHE mahimo usab nga i-configure ingon nga pribilihiyo pinaagi sa GTZC TZSC privilege configuration register. Kung ang ICACHE gi-configure ingon nga pribilihiyo, ang mga pribilihiyo nga pag-access lamang ang gitugotan sa mga rehistro sa ICACHE. Sa kasagaran, ang ICACHE dili luwas ug dili pribilihiyo pinaagi sa GTZC TZSC.
Pagdumala sa panghitabo ug paghunong
Ang ICACHE nagdumala sa functional errors kung mamatikdan, pinaagi sa pagbutang sa ERRF flag sa ICACHE_SR. Ang usa ka interrupt mahimo usab nga mamugna kung ang ERRIE bit gibutang sa ICACHE_IER. Sa kaso sa ICACHE invalidation, sa diha nga ang cache busy nga kahimtang nahuman, ang BSYENDF bandila gibutang sa ICACHE_SR. Ang usa ka interrupt mahimo usab nga mamugna kung ang BSYENDIE bit gibutang sa ICACHE_IER. Ang lamesa sa ubos naglista sa ICACHE interrupt ug mga flag sa panghitabo.
Talaan 5. ICACHE interrupt ug event management bits
| Pagrehistro | Bit nga ngalan | Paghulagway sa gamay | Bit access type |
|
ICACHE_SR |
BUSY | Cache nga nagpatuman sa usa ka hingpit nga dili balido nga operasyon |
Basaha-lamang |
| BSYENDF | Ang cache invalidation operation nahuman | ||
| SAYOP | Usa ka sayup ang nahitabo sa panahon sa caching nga operasyon | ||
|
ICACHE_IER |
ERRIE | I-enable ang interrupt para sa cache error |
Pagbasa/pagsulat |
| BSYENDIE | I-enable ang interrupt kung mahuman ang invalidation operation | ||
|
ICACHE_FCR |
CERRF | Gitangtang ang ERRF sa ICACHE_SR |
Pagsulat-lamang |
| CBSYENDF | Gitangtang ang BSYENDF sa ICACHE_SR |
Mga bahin sa DCACHE
Ang katuyoan sa data cache mao ang pag-cache sa external memory data load ug mga data store nga gikan sa processor o gikan sa laing bus master peripheral. Ang DCACHE nagdumala sa pagbasa ug pagsulat sa mga transaksyon.
Ang trapiko sa pagka-cache sa DCACHE
Ang DCACHE nagtago sa mga eksternal nga panumduman gikan sa master port interface pinaagi sa AHB bus. Ang umaabot nga mga hangyo sa panumduman gihubit ingon nga cacheable sumala sa AHB transaction memory lockup attribute. Ang palisiya sa pagsulat sa DCACHE gihubit ingon write-through o write-back depende sa hiyas sa memorya nga gi-configure sa MPU. Kung ang usa ka rehiyon gi-configure nga dili ma-cacheable, ang DCACHE ma-bypass.
Talaan 6. DCACHE cacheability para sa transaksyon sa AHB
| AHB lookup attribute | AHB bufferable nga hiyas | Pagka-cacheability |
| 0 | X | Pagbasa ug pagsulat: dili ma-cacheable |
|
1 |
0 |
Basaha: ma-cache
Pagsulat: (ma-cache) nga pagsulat |
|
1 |
1 |
Basaha: ma-cache
Isulat: (ma-cache) pagsulat-balik |
Mga rehiyon nga ma-cache sa DCACHE
Para sa STM32U5 series, ang DCACHE1 slave interface konektado sa Cortex-M33 pinaagi sa S-AHB bus ug gi-cache ang GFXMMU, FMC, ug HSPI/OCTOSPIs. Ang interface sa ulipon sa DCACHE2 konektado sa DMA2D pinaagi sa M0 port bus, ug gitago ang tanan nga internal ug eksternal nga mga panumduman (gawas sa SRAM4 ug BRKPSRAM). Para sa STM32H5 series, ang DCACHE slave interface konektado sa Cortex-M33 pinaagi sa S-AHB external memories pinaagi sa FMC ug OCTOSPI.
Talaan 7. DCACHE cacheable nga mga rehiyon ug mga interface
| Rehiyon sa address sa cache nga memorya | DCACHE1 nga ma-cache nga mga interface | DCACHE2 nga ma-cache nga mga interface |
| GFXMMU | X | X |
| SRAM1 |
N/A |
X |
| SRAM2 | X | |
| SRAM3 | X | |
| SRAM5 | X | |
| SRAM6 | X | |
| HSPI1 | X | X |
| OCTOSPI1 | X | X |
| FMC BANK | X | X |
| OCTOSPI2 | X | X |
Nota
Ang ubang mga interface wala gisuportahan sa pipila ka mga produkto. Tan-awa ang Figure 1 o ang piho nga manwal sa pakisayran sa produkto.
Uri sa pagbuto
Sama sa ICACHE, ang DCACHE nagsuporta sa incremental ug giputos nga mga pagbuto (tan-awa ang Seksyon 3.1.3). Para sa DCACHE, ang burst type gi-configure pinaagi sa HBURST bit sa DCACHE_CR.
Pag-configure sa DCACHE
Atol sa pag-boot, ang DCACHE gi-disable pinaagi sa default nga naghimo sa mga hangyo sa memorya sa ulipon nga direktang gipasa ngadto sa master port. Aron mahimo ang DCACHE, ang EN bit kinahanglang ibutang sa DCACHE_CR register. Hit-and-miss monitor Ang DCACHE nagpatuman ug upat ka monitor para sa cache performance analysis:
- Duha ka 32-bit (R/W) nga naigo nga monitor: nag-ihap sa gidaghanon sa mga higayon nga ang CPU nagbasa o nagsulat sa datos sa cache nga panumduman nga walay pagmugna og transaksyon sa DCACHE master ports (data nga anaa na sa cache). Ang (R/W) hit monitors counters anaa sa DCACHE_RHMONR ug DCACHE_WHMONR registers.
- Duha ka 16-bit (R/W) miss monitors: ihap ang gidaghanon sa mga higayon nga ang CPU nagbasa o nagsulat sa data sa cache memory ug nagmugna og transaksyon sa DCACHE master ports, aron ma-load ang data gikan sa memory region (gikuha nga data dili anaa na sa cache). Ang (R/W) miss monitors counters anaa sa DCACHE_RMMONR ug DCACHE_WMMONR registers.
Mubo nga sulat:
Kini nga upat ka mga monitor dili maputos kung maabot ang ilang labing taas nga kantidad. Kini nga mga monitor gidumala gikan sa mosunod nga mga bit sa DCACHE_CR register:
- WHITMAN bit (tinagsa nga WMISSMEN bit) aron mahimo/hunongon ang write hit (tinagsa nga miss) monitor
- RHITMEN bit (tinagsa RMISSMEN bit) aron mahimo/hunongon ang read hit (tinagsa nga miss) monitor
- WHITMRST bit (tinagsa WMISSMRST bit) aron i-reset ang write hit (tinagsa nga miss) monitor
- RHITMRST bit (tinagsa RMISSMRST bit) aron i-reset ang nabasa nga hit (tinagsa nga miss) monitor
Sa kasagaran, kini nga mga monitor gi-disable aron makunhuran ang konsumo sa kuryente.
Pagmentinar sa DCACHE
Ang DCACHE nagtanyag og daghang mga operasyon sa pagmentinar nga mahimong ma-configure pinaagi sa CACHECMD[2:0] sa DCACHE_CR.
- 000: walay operasyon (default)
- 001: limpyo nga range. Paglimpyo sa usa ka piho nga range sa cache
- 010: dili balido nga range. Dili balido ang usa ka piho nga range sa cache
- 010: limpyo ug dili balido nga range. Limpyo ug dili balido ang usa ka piho nga range sa cache
Ang gipili nga range gi-configure pinaagi sa:
- CMDSTARTADDR register: command sugod nga adres
- CMDENDADDR register: command ending address
Mubo nga sulat:
Kini nga rehistro kinahanglang itakda sa dili pa masulat ang CACHECMD. Ang cache command maintenance magsugod kung ang STARTCMD bit gibutang sa DCACHE_CR register. Gisuportahan usab sa DCACHE ang usa ka hingpit nga pagka-invalidate sa CACHE pinaagi sa pagbutang sa gamay nga CACHEINV sa rehistro sa DCACHE_CR.
seguridad sa DCACHE
Ang DCACHE usa ka luwas nga peripheral nga mahimong ma-configure ingon nga luwas pinaagi sa GTZC TZSC secure configuration register. Kung gi-configure kini nga luwas, luwas nga mga pag-access lamang ang gitugotan sa mga rehistro sa DCACHE. Ang DCACHE mahimo usab nga i-configure ingon nga pribilihiyo pinaagi sa GTZC TZSC privilege configuration register. Kung ang DCACHE ma-configure ingon nga pribilihiyo, ang mga pribilihiyo nga pag-access lamang ang gitugotan sa mga rehistro sa DCACHE. Sa kasagaran, ang DCACHE walay kasegurohan ug walay pribilihiyo pinaagi sa GTZC TZSC.
Pagdumala sa panghitabo ug paghunong
Ang DCACHE nagdumala sa functional errors kung mamatikdan, pinaagi sa pagbutang sa ERRF flag sa DCACHE_SR. Ang usa ka interrupt mahimo usab nga mamugna kung ang ERRIE bit gibutang sa DCACHE_IER. Sa kaso sa DCACHE invalidation, sa diha nga ang cache busy nga kahimtang nahuman na, ang BSYENDF bandila gibutang sa DCACHE_SR. Ang usa ka interrupt mahimo usab nga mamugna kung ang BSYENDIE bit gibutang sa DCACHE_IER. Ang DCACHE command status mahimong masusi pinaagi sa CMDENF ug BUSYCMDF pinaagi sa DCACHE_SR Ang usa ka interrupt mahimo usab nga mamugna kung ang CMDENDIE bit gibutang sa DCACHE_IER. Ang talaan sa ubos naglista sa DCACHE interrupts ug event flags
Talaan 8. DCACHE Interrupt ug mga bahin sa pagdumala sa mga panghitabo
| Pagrehistro | Pagrehistro | Paghulagway sa gamay | Bit access type |
|
DCACHE_SR |
BUSY | Cache nga nagpatuman sa usa ka hingpit nga dili balido nga operasyon |
Basaha-lamang |
| BSYENDF | Ang cache bug-os nga invalidate nga operasyon natapos | ||
| BUSYCMDF | Cache nga nagpatuman sa usa ka range command | ||
| CMDENDF | Usa ka pagtapos sa range command | ||
| ERRF | Usa ka sayup ang nahitabo sa panahon sa caching nga operasyon | ||
|
DCACHE_IER |
ERRIE | I-enable ang interrupt para sa cache error |
Pagbasa/pagsulat |
| CMDENDIE | I-enable ang interrupt sa range command end | ||
| BSYENDIE | I-enable ang interrupt sa bug-os nga invalidate nga pagtapos sa operasyon | ||
|
DCACHE_FCR |
CERRF | Gitangtang ang ERRF sa DCACHE_SR |
Pagsulat-lamang |
| CCMDENDF | Gitangtang ang CMDENDF sa DCACHE_SR | ||
| CBSYENDF | Giwagtang ang BSYENDF sa DCACHE_SR |
ICACHE ug DCACHE performance ug konsumo sa kuryente
Ang paggamit sa ICACHE ug DCACHE nagpauswag sa pasundayag sa aplikasyon kung nag-access sa mga eksternal nga panumduman. Ang mosunod nga talaan nagpakita sa epekto sa ICACHE ug DCACHE sa CoreMark® execution sa dihang nag-access sa external memories.
Talaan 9. ICACHE ug DCACHE performance sa CoreMark execution uban sa external memory
| (1) | ||||
| Kodigo sa CoreMark | Data sa CoreMark | Pag-configure sa ICACHE | Pag-configure sa DCACHE | CoreMark score/Mhz |
| Internal nga Flash memory | Internal nga SRAM | Gipaandar (2-ways) | Nabaldado | 3.89 |
| Internal nga Flash memory | External Octo-SPI PSRAM ( S-bus) | Gipaandar (2-ways) | Gipaandar | 3.89 |
| Internal nga Flash memory | External Octo-SPI PSRAM ( S-bus) | Gipaandar (2-ways) | Nabaldado | 0.48 |
| External nga Octo-SPI Flash (C-bus) | Internal nga SRAM | Gipaandar (2-ways) | Nabaldado | 3.86 |
| External nga Octo-SPI Flash (C-bus) | Internal nga SRAM | Nabaldado | Nabaldado | 0.24 |
| Internal nga Flash memory | Internal nga SRAM | Nabaldado | Nabaldado | 2.69 |
Mga Kondisyon sa Pagsulay:
- Magamit nga produkto: STM32U575/585
- Frequency sa sistema: 160 MHz.
- External Octo-SPI PSRAM memory: 80 MHz (DTR mode).
- External Octo-SPI flash memory: 80 MHz (STR mode).
- Compiler: IAR V8.50.4.
- Internal nga Flash PREFETCH: NAKA-ON.
Ang paggamit sa ICACHE ug DCACHE makunhuran ang konsumo sa kuryente kung mag-access sa internal ug eksternal nga mga panumduman. Ang mosunod nga talaan nagpakita sa epekto sa ICACHE sa konsumo sa kuryente atol sa pagpatuman sa CoreMark.
Talaan 10. CoreMark execution ICACHE epekto sa konsumo sa kuryente
| Pag-configure sa ICACHE | Konsumo sa kuryente sa MCU (mA) |
| Gipaandar (2-ways) | 7.60 |
| Gipaandar (1-way) | 7.13 |
| Nabaldado | 8.89 |
- Mga Kondisyon sa Pagsulay:
- Magamit nga produkto: STM32U575/585
- CoreMark code: internal nga Flash memory.
- Data sa CoreMark: internal nga SRAM.
- Internal nga Flash memory PREFETCH: ON.
- Frequency sa sistema: 160 MHz.
- Compiler: IAR V8.32.2.
- Voltage range: 1.
- SMPS: ON.
- way set associative configuration mas pasundayag kay sa 1-way set associative configuration para sa code nga dili bug-os nga makarga sa cache. Samtang, ang 1-way set associative cache halos kanunay nga mas episyente sa kuryente kaysa 2-way set associative cache. Ang matag code kinahanglan nga susihon sa parehas nga mga pag-configure sa asosasyon, aron mapili ang labing kaayo nga trade-off tali sa pasundayag ug pagkonsumo sa kuryente. Ang pagpili nagdepende sa prayoridad sa tiggamit.
Panapos
Ang unang mga cache nga gihimo sa STMicroelectronics, ICACHE ug DCACHE, makahimo sa pag-cache sa internal ug external nga mga panumduman, nga nagtanyag sa pagpauswag sa performance alang sa trapiko sa datos ug pagkuha sa instruksiyon. Gipakita sa kini nga dokumento ang lainlaing mga bahin nga gisuportahan sa ICACHE ug DCACHE, ang ilang pagkayano ug kadali sa pag-configure nagtugot sa mas ubos nga gasto sa pag-uswag ug mas paspas nga oras sa merkado.
Kasaysayan sa rebisyon
Talaan 11. Kasaysayan sa pagbag-o sa dokumento
| Petsa | Bersyon | Mga kausaban |
| 10-Okt-2019 | 1 | Inisyal nga pagpagawas. |
|
27-Peb-2020 |
2 |
Gi-update:
• Talaan 2. Mga rehiyon sa memorya ug ang ilang mga adres • Seksyon 2.1.7 pagmentinar sa ICACHE • Seksyon 2.1.8 seguridad sa ICACHE |
|
7-Dis-2021 |
3 |
Gi-update:
• Titulo sa dokumento • Pasiuna • Ang Seksyon 1 ICACHE ug DCACHE nahuman naview • Seksyon 4 Konklusyon Gidugang: • Seksyon 2 ICACHE ug DCACHE bahin • Seksyon 3 ICACHE ug DCACHE performance ug konsumo sa kuryente |
|
15-Peb-2023 |
4 |
Gi-update:
• Seksyon 2.2: STM32U5 nga serye sa smart nga arkitektura • Seksyon 2.5: DCACHE block diagram • Seksyon 3.1.1: Doble nga mga agalon • Seksyon 3.1.2: 1-way kumpara sa 2-way ICACHE • Seksyon 3.1.4: Ma-cache nga mga rehiyon ug feature sa remapping • Seksyon 3.2: Mga bahin sa DCACHE • Seksyon 3.2.2: Mga rehiyon nga ma-cache sa DCACHE • Seksyon 4: ICACHE ug DCACHE performance ug konsumo sa kuryente Gidugang: |
|
11-Mar-2024 |
5 |
Gi-update: |
IMPORTANTE NGA PAHIBALO – BASAHA NGA MAAYO
Ang STMicroelectronics NV ug ang mga subsidiary niini ("ST") nagreserba sa katungod sa paghimo og mga pagbag-o, pagkorihir, pagpauswag, pagbag-o, ug pagpaayo sa mga produkto sa ST ug/o niini nga dokumento bisan unsang orasa nga wala’y pahibalo. Ang mga pumapalit kinahanglan nga makakuha sa pinakabag-o nga may kalabutan nga impormasyon sa mga produkto sa ST sa dili pa magbutang og mga order. Ang mga produkto sa ST gibaligya subay sa mga termino ug kondisyon sa pagbaligya sa ST sa lugar sa panahon sa pag-ila sa order. Ang mga pumapalit mao ray responsable sa pagpili, pagpili, ug paggamit sa mga produkto sa ST ug walay tulubagon ang ST alang sa tabang sa aplikasyon o sa disenyo sa mga produkto sa mga pumapalit. Walay lisensya, gipahayag o gipasabot, sa bisan unsang katungod sa intelektwal nga kabtangan ang gihatag sa ST dinhi. Ang pagbaligya pag-usab sa mga produkto sa ST nga adunay mga probisyon nga lahi sa impormasyon nga gilatid dinhi magwagtang sa bisan unsang warranty nga gihatag sa ST alang sa maong produkto. Ang ST ug ang ST logo kay mga marka sa ST. Para sa dugang nga impormasyon bahin sa ST trademarks, tan-awa ang www.st.com/trademarks. Ang tanan nga ubang mga ngalan sa produkto o serbisyo gipanag-iya sa ilang tag-iya. Ang impormasyon niini nga dokumento mopuli ug mopuli sa impormasyon nga gihatag kaniadto sa bisan unsang naunang bersyon niini nga dokumento. © 2024 STMicroelectronics – Tanang katungod gigahin
Mga Dokumento / Mga Kapanguhaan
![]() |
STMicroelectronics STM32H5 Series Microcontrollers [pdf] Manwal sa Gumagamit STM32H5 Serye Microcontrollers, STM32H5, Serye Microcontrollers, Microcontrollers |

