STMicroelectronics-logo

STMicroelectronics STM32H5 Series Microcontrollers

STMicroelectronics-STM32H5-Series-Microcontrollers-produkto

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

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

(1)

 

 

 

 

 

 

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
  1. Para sa STM32L5 series /STM32H5 series /STM32U535/545/575/585
  2. 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

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
  1. 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.
  2. 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:

•         Seksyon 1: Kinatibuk-ang impormasyon

 

11-Mar-2024

 

5

Gi-update:

•         Seksyon 2.3: STM32H5 nga serye sa smart nga arkitektura

•         Seksyon 3.1.1: Doble nga mga agalon

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

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *