STMicroelectronics-logo

STMicroelectronics STM32H5 Series Microcontrollers

STMicroelectronics-STM32H5-Series-Microcontrollers-product

Panimula

Inilalarawan ng tala ng application na ito ang cache ng pagtuturo (ICACHE) at ang cache ng data (DCACHE), ang mga unang cache na binuo ng STMicroelectronics. Ang ICACHE at DCACHE na ipinakilala sa AHB bus ng Arm® Cortex®-M33 processor ay naka-embed sa STM32 microcontroller (MCUs) na nakalista sa talahanayan sa ibaba. Ang mga cache na ito ay nagbibigay-daan sa mga user na pagbutihin ang kanilang pagganap sa application at bawasan ang pagkonsumo kapag kumukuha ng pagtuturo at data mula sa parehong panloob at panlabas na memorya, o para sa trapiko ng data mula sa mga panlabas na memorya. Ang dokumentong ito ay nagbibigay ng karaniwang examples upang i-highlight ang mga tampok ng ICACHE at DCACHE at mapadali ang kanilang pagsasaayos.

Talahanayan 1. Naaangkop na mga produkto

Uri Serye ng produkto
Mga microcontroller STM32H5 series, STM32L5 series, STM32U5 series

Pangkalahatang impormasyon

Tandaan:

Nalalapat ang application note na ito sa mga microcontroller ng serye ng STM32 na Arm® Cortex® na mga core-based na device. Ang Arm ay isang rehistradong trademark ng Arm Limited (o mga subsidiary nito) sa US at/o saanman.

Tapos na ang ICACHE at DCACHEview

Ang seksyong ito ay nagbibigay ng higitview ng ICACHE at DCACHE interface na naka-embed sa STM32 Arm® Cortex® core-based microcontrollers. Idinitalye ng seksyong ito ang diagram ng ICACHE at DCACHE at pagsasama sa arkitektura ng system.
STM32L5 series na matalinong arkitektura
Ang arkitektura na ito ay batay sa isang bus matrix na nagpapahintulot sa maraming master (Cortex-M33, ICACHE, DMA1/2, at SDMMC1) na mag-access ng maraming alipin (tulad ng flash memory, SRAM1/2, OCTOSPI1, o FSMC). Inilalarawan ng figure sa ibaba ang matalinong arkitektura ng serye ng STM32L5.

Larawan 1. STM32L5 series na matalinong arkitektura

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

Ang pagganap ng Cortex-M33 ay pinabuting sa pamamagitan ng paggamit ng 8-Kbyte ICACHE interface na ipinakilala sa C-AHB bus nito, kapag kumukuha ng code o data mula sa mga panloob na memorya (flash memory, SRAM1, o SRAM2) sa pamamagitan ng mabilis na bus, at gayundin mula sa mga panlabas na alaala (OCTOSPI1 o FSMC) sa pamamagitan ng mabagal na bus.
STM32U5 series na matalinong arkitektura
Ang arkitektura na ito ay batay sa isang bus matrix na nagpapahintulot sa maraming masters (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D at SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) na ma-access ang maraming alipin (tulad ng flash memory, SRAM, BKPSRAM, HSPI/ OCTOSPI, o FSMC). Inilalarawan ng figure sa ibaba ang smart architecture ng serye ng STM32U5.

Larawan 2. STM32U5 series na matalinong arkitektura

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

Ang Cortex-M33 at ang GPU2D interface ay parehong nakikinabang sa paggamit ng CACHE.

  • Pinapabuti ng ICACHE ang pagganap ng Cortex-M33 kapag kumukuha ng code o data mula sa mga panloob na memorya sa pamamagitan ng mabilis na bus (flash memory, mga SRAM) at mula sa mga panlabas na memorya sa pamamagitan ng mabagal na bus (OCTOSPI1/2 at HSPI1, o FSMC). Pinapabuti ng DCACHE1 ang pagganap kapag kumukuha ng data mula sa panloob o panlabas na mga alaala sa pamamagitan ng s‑bus (GFXMMU, OCTOSPI1/2 at HSPI1, o FSMC).
  •  Pinapabuti ng DCACHE2 ang performance ng GPU2D kapag kumukuha ng data mula sa internal at external na memory (GFXMMU, flash memory, SRAM, OCTOSPI1/2 at HSPI1, o FSMC) sa pamamagitan ng M0 port bus.

STM32H5 series na matalinong arkitektura
STM32H523/H533, STM32H563/H573 at STM32H562 smart architecture Ang arkitektura na ito ay batay sa isang bus matrix na nagpapahintulot sa maraming masters (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet at SDMMC) na mag-access ng maraming alipin (tulad ng flash memory, SRAMs, BKPS). , OCTOSPI at FMC). Inilalarawan ng figure sa ibaba ang matalinong arkitektura ng serye ng STM32H5.

Larawan 3. STM32H563/H573 at STM32H562 series na smart architecture

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

Nakikinabang ang Cortex-M33 sa paggamit ng CACHE.

  • Pinapabuti ng ICACHE ang pagganap ng Cortex-M33 kapag kumukuha ng code o data mula sa mga panloob na memorya sa pamamagitan ng mabilis na bus (flash memory, mga SRAM) at mula sa mga panlabas na memorya sa pamamagitan ng mabagal na bus (OCTOSPI at FMC).
  • Pinapabuti ng DCACHE ang performance kapag kumukuha ng data mula sa mga external na memorya sa pamamagitan ng mabagal na bus (OCTOSPI at FMC).

STM32H503 matalinong arkitektura
Ang arkitektura na ito ay batay sa isang bus matrix na nagpapahintulot sa maraming master (Cortex-M33, ICACHE at GPDMA) na mag-access ng maraming alipin (tulad ng flash memory, SRAM at BKPSRAM). Inilalarawan ng figure sa ibaba ang matalinong arkitektura ng serye ng STM32H5.

Larawan 4. STM32H503 series na matalinong arkitektura

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

Nakikinabang ang Cortex-M33 sa paggamit ng CACHE.

  • Pinapabuti ng ICACHE ang pagganap ng Cortex-M33 kapag kumukuha ng code o data mula sa mga panloob na memorya sa pamamagitan ng mabilis na bus (flash memory, mga SRAM).

ICACHE block diagram
Ang ICACHE block diagram ay ibinigay sa figure sa ibaba.

Larawan 5. ICACHE block diagram

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

Kasama sa memorya ng ICACHE ang:

  • ang TAG memorya na may:
    • ang address tags na nagpapahiwatig kung aling data ang nakapaloob sa memorya ng data ng cache
    • ang mga bit ng bisa
  •  ang data memory, na naglalaman ng naka-cache na data

block diagram ng DCACHE
Ang DCACHE block diagram ay ibinigay sa figure sa ibaba.

Larawan 6. block diagram ng DCACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

Kasama sa memorya ng DCACHE ang:

  • ang TAG memorya na may:
    • ang address tags na nagpapahiwatig kung aling data ang nakapaloob sa memorya ng data ng cache
    • ang mga bit ng bisa
    • ang mga piraso ng pribilehiyo
    • ang mga maruruming piraso
  • ang data memory, na naglalaman ng naka-cache na data

Mga tampok ng ICACHE at DCACHE

Dual masters
Ina-access ng ICACHE ang AHB bus matrix alinman sa ibabaw:

  • Isang AHB master port: master1 (mabilis na bus)
  • Dalawang AHB master port: master1 (mabilis na bus) at master2 (mabagal na bus)

Ang tampok na ito ay nagbibigay-daan sa trapiko na ma-decoupled kapag nag-a-access sa iba't ibang mga rehiyon ng memorya (tulad ng panloob na flash memory, panloob na SRAM at mga panlabas na memorya), upang mabawasan ang mga CPU stall sa mga miss ng cache. Ang sumusunod na talahanayan ay nagbubuod ng mga rehiyon ng memorya at ang kanilang mga address.

Talahanayan 2. Mga rehiyon ng memorya at ang kanilang mga address

paligid Access sa memorya ng cache Hindi naka-cache na access sa memorya
 

 

Uri

 

 

Pangalan

 

 

Pangalan ng produkto at laki ng rehiyon

 

 

Pangalan ng bus

 

Hindi secure na panimulang address ng rehiyon

Secure, hindi secure na matawagan na panimulang address ng rehiyon  

 

Pangalan ng bus

 

Hindi secure na panimulang address ng rehiyon

Secure, hindi secure na matawagan na panimulang address ng rehiyon
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Panloob

 

 

 

 

 

 

 

FLASH

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

mabilis na 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

paligid Access sa memorya ng cache Hindi naka-cache na access sa memorya
 

 

 

 

 

 

 

 

 

Panloob

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

mabilis na 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

 

 

 

 

 

 

 

 

 

 

 

Panlabas

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

mabagal na bus

(1)

 

 

 

 

 

 

Alias ​​address sa hanay na [0x0000 0000

sa 0x07FF FFFF] o [0x1000 0000:0x1FFFF

FFFF] na tinukoy sa pamamagitan ng tampok na remapping

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

walang katiyakan sa bangko

STM32L5/U5

serye

STM32H563/ 573/562

 

 

0x9000 0000

 

bangko ng FMC 3

walang katiyakan

STM32L5/U5

serye

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

walang katiyakan sa bangko

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

bangko ng FMC 1

walang katiyakan

STM32L5/U5

serye

STM32H563/ 573/562

 

 

0x6000 0000

1. Upang mapili kapag nire-mapa ang mga naturang rehiyon.

1-way laban sa 2-way na ICACHE
Bilang default, ang ICACHE ay naka-configure sa associative operating mode (two ways enabled), ngunit posibleng i-configure ang ICACHE sa direct-mapped mode (one-way enabled), para sa mga application na nangangailangan ng napakababang paggamit ng kuryente. Ang pagsasaayos ng ICACHE ay ginagawa gamit ang WAYSEL bit sa ICACHE_CR tulad ng sumusunod:

  • WAYSEL = 0: direct mapped operating mode (1-way)
  • WAYSEL = 1 (default): associative operating mode (2-way)

Talahanayan 3. 1-way kumpara sa 2-way na ICACHE

Parameter 1-way na ICACHE 2-way na ICACHE
Laki ng cache (Kbytes) 8(1)/32(2)
I-cache ang maraming paraan 1 2
Laki ng linya ng cache 128 bits (16 bytes)
Bilang ng mga linya ng cache 512(1)/2048(2) 256(1)/1024(2) bawat daan
  1. Para sa STM32L5 series /STM32H5 series /STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Uri ng pagsabog
Sinusuportahan ng ilang memorya ng Octo-SPI ang WRAP burst, na nagbibigay ng pakinabang ng kritikal na pagganap ng feature na una sa salita. Ang uri ng pagsabog ng ICACHE ng transaksyon sa memorya ng AHB para sa mga remapped na rehiyon ay maaaring i-configure. Ito ay nagpapatupad ng incremental burst o WRAP burst, pinili gamit ang HBURST bit sa ICACHE_CRRx register. Ang mga pagkakaiba sa pagitan ng WRAP at ng incremental burst ay ibinibigay sa ibaba (tingnan din ang figure):

  • WRAP burst:
    • laki ng linya ng cache = 128 bits
    • burst to start address = address ng salita ng unang data na hiniling ng CPU
  •  Incremental na pagsabog:
    • laki ng linya ng cache = 128 bits
    • burst starting address = address na nakahanay sa hangganan ng linya ng cache na naglalaman ng hiniling na salita

Larawan 7. Incremental versus WRAP burst

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Mga na-cacheable na rehiyon at tampok na remapping
Ang ICACHE ay konektado sa Cortex-M33 sa pamamagitan ng C-AHB bus at ini-cache ang code region mula sa mga address [0x0000 0000 hanggang 0x1FFF FFFF]. Dahil ang mga panlabas na alaala ay nakamapa sa isang address sa hanay na [0x6000 0000 hanggang 0xAFFF FFFF], sinusuportahan ng ICACHE ang tampok na remap na nagbibigay-daan sa anumang panlabas na rehiyon ng memorya na ma-remapped sa isang address sa hanay na [0x0000 0000 hanggang 0x07FF FFFF] o [0x1000 0000 hanggang 0x1FFF FFFF], at maging accessible sa pamamagitan ng C-AHB bus. Hanggang apat na mga rehiyon ng panlabas na memorya ang maaaring ma-remapped gamit ang tampok na ito. Kapag na-remap ang isang rehiyon, magaganap ang pagpapatakbo ng remap kahit na hindi pinagana ang ICACHE o kung hindi naka-cache ang transaksyon. Ang mga naka-cache na rehiyon ng memorya ay maaaring i-defied at i-program ng user sa memory protection unit (MPU). Ang talahanayan sa ibaba ay nagbubuod sa mga pagsasaayos ng mga alaala ng serye ng STM32L5 at STM32U5.

Talahanayan 4. Configuration ng mga memory ng serye ng STM32L5 at STM32U5

 

Memorya ng produkto

Nai-cache

(MPU programming)

Remapped sa ICACHE

(ICACHE_CRRx programming)

Flash memory Oo o Hindi  

Hindi kinakailangan

SRAM Hindi inirerekomenda
Mga panlabas na alaala (HSPI/ OCTOSPI o FSMC) Oo o Hindi Kinakailangan kung gusto ng user ang pagkuha ng external na code sa C- AHB bus (iba pa sa S-AHB bus)

Benepisyo ng ICACHE external memory remapping
Ang exampAng sa figure sa ibaba ay nagpapakita kung paano makinabang mula sa pinahusay na pagganap ng ICACHE sa panahon ng pagpapatupad ng code o pagbabasa ng data kapag nag-a-access sa isang panlabas na 8-Mbyte na panlabas na Octo-SPI na memorya (tulad ng panlabas na flash memory o RAM).

Larawan 8. Octo-SPI memory remap halample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

Ang mga sumusunod na hakbang ay kinakailangan upang i-remap ang panlabas na memorya na ito:

OCTOSPI configuration para sa external memory

I-configure ang interface ng OCTOSPI para ma-access ang external memory sa Memory mapped mode (ang external memory ay makikita bilang internal memory na naka-map sa [0x9000 0000 to 0x9FFF FFFF] na rehiyon). Dahil ang laki ng panlabas na memorya ay 8 Mbytes, makikita ito sa rehiyon [0x9000 0000 hanggang 0x907F FFFF]. Ang panlabas na memorya sa rehiyong ito ay ina-access sa pamamagitan ng S‑bus at hindi na-cache. Ang susunod na hakbang ay nagpapakita ng pagsasaayos ng ICACHE upang i-remap ang rehiyong ito.
Tandaan: Para sa configuration ng OCTOSPI sa memory-mapped mode, sumangguni sa application note Octo‑ SPI interface sa STM32 microcontrollers (AN5050

Ang pagsasaayos ng ICACHE upang i-remap ang panlabas na memory-mapped na rehiyon
Ang 8 Mbytes na inilagay sa [0x9000 0000 to 0x907F FFFF] na rehiyon ay na-remap sa [0x1000 0000 hanggang 0x107F FFFF] na rehiyon. Maaari silang ma-access sa pamamagitan ng mabagal na bus (ICACHE master2 bus).

  • ICACHE_CR register configuration
    • Huwag paganahin ang ICACHE na may EN = 0.
    • Pumili ng 1-way o 2-way (depende sa mga pangangailangan ng application) na may WAYSEL = 0 o 1, ayon sa pagkakabanggit.
  • ICACHE_CRRx register configuration (hanggang sa apat na rehiyon, x = 0 hanggang 3)
    • Piliin ang 0x1000 0000 base address (remap address) na may BASEADDR [28:21] = 0x80.
    • Piliin ang 8-Mbyte na laki ng rehiyon upang i-remap gamit ang RSIZE[2:0] = 0x3.
    • Piliin ang 0x9000 0000 remapped address na REMAPADDR[31:21] = 0x480.
    • Piliin ang ICACHE AHB master2 port para sa mga panlabas na alaala na may MSTSEL = 1.
    • Piliin ang uri ng WRAP burst na may HBURST = 0.
    • I-enable ang remapping para sa rehiyon x na may REN = 1.

Ipinapakita ng sumusunod na figure kung paano nakikita ang mga rehiyon ng memory sa IAR pagkatapos paganahin ang remap.

Larawan 9. Remapping ng mga rehiyon ng memory halample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

Ang 8-Mbyte na panlabas na memorya ay na-remap na ngayon at maa-access sa rehiyon ng [0x1000 0000 hanggang 0x107F FFFF].

Paganahin ang ICACHE

  • ICACHE_CR register configuration Paganahin ang ICACHE na may EN = 1.

Hit-and-miss monitor
Nagbibigay ang ICACHE ng dalawang monitor para sa pagtatasa ng pagganap: isang 32-bit na hit monitor at isang 16-bit na miss monitor.

  • Binibilang ng hit monitor ang mga naka-cache na AHB na transaksyon sa slave cache port na tumama sa nilalaman ng ICACHE (nakuha na ang data na available na sa cache). Ang hit monitor counter ay available sa ICACHE_HMONR register.
  • Binibilang ng miss monitor ang mga naka-cache na transaksyon ng AHB sa slave cache port na nawawala ang nilalaman ng ICACHE (hindi pa available sa cache ang nakuhang data). Ang nawawalang monitor counter ay available sa ICACHE_MMONR register.

Tandaan:

Ang dalawang monitor na ito ay hindi bumabalot kapag naabot ang kanilang pinakamataas na halaga. Ang mga monitor na ito ay pinamamahalaan mula sa mga sumusunod na piraso sa rehistro ng ICACHE_CR:

  • HITMEN bit (kanya-kanya MISSMEN bit) para paganahin/ihinto ang hit (kanya-kanyang miss) monitor
  • HITMRST bit (ayon sa MISSMRST bit) upang i-reset ang hit (ayon sa pagkaka-miss) monitor Bilang default, ang mga monitor ng theses ay hindi pinagana upang mabawasan ang pagkonsumo ng kuryente.

Pagpapanatili ng ICACHE
Ang software ay maaaring magpawalang-bisa sa ICACHE sa pamamagitan ng pagtatakda ng CACHEINV bit sa ICACHE_CR register. Ang pagkilos na ito ay nagpapawalang-bisa sa buong cache, ginagawa itong walang laman. Samantala, kung pinagana ang ilang remapped na rehiyon, aktibo pa rin ang feature na remap, kahit na hindi pinagana ang ICACHE. Dahil ang ICACHE ay namamahala lamang ng mga read transaction at hindi namamahala sa write transactions, hindi nito tinitiyak ang pagkakaugnay-ugnay sa kaso ng writes. Dahil dito, ang software ay dapat magpawalang-bisa sa ICACHE pagkatapos magprogram ng isang rehiyon.

Seguridad ng ICACHE
Ang ICACHE ay isang secure na peripheral na maaaring i-configure bilang secure sa pamamagitan ng GTZC TZSC secure configuration register. Kapag na-configure ito bilang secure, tanging mga secure na access ang pinapayagan sa mga rehistro ng ICACHE. Ang ICACHE ay maaari ding i-configure bilang privilege sa pamamagitan ng GTZC TZSC privilege configuration register. Kapag ang ICACHE ay na-configure bilang privileged, tanging mga privileged access ang pinapayagan sa mga ICACHE registers. Bilang default, ang ICACHE ay hindi secure at walang pribilehiyo sa pamamagitan ng GTZC TZSC.

Pamamahala ng kaganapan at abala

Pinamamahalaan ng ICACHE ang mga functional error kapag nakita, sa pamamagitan ng pagtatakda ng ERRF flag sa ICACHE_SR. Ang isang interrupt ay maaari ding mabuo kung ang ERRIE bit ay nakatakda sa ICACHE_IER. Sa kaso ng ICACHE invalidation, kapag ang cache busy state ay tapos na, ang BSYENDF flag ay nakatakda sa ICACHE_SR. Ang isang interrupt ay maaari ding mabuo kung ang BSYENDIE bit ay nakatakda sa ICACHE_IER. Inililista ng talahanayan sa ibaba ang ICACHE interrupt at mga flag ng kaganapan.

Talahanayan 5. ICACHE interrupt at event management bits

Magrehistro Pangalan ng bit Bit na paglalarawan Uri ng bit access
 

ICACHE_SR

BUSY Cache na nagpapatupad ng isang buong pagpapawalang-bisa  

Read-only

BSYENDF Natapos na ang operasyon ng pagpapawalang-bisa ng cache
ERROR Nagkaroon ng error habang nagpapatakbo ng caching
 

ICACHE_IER

ERRIE Paganahin ang interrupt para sa cache error  

Magbasa/magsulat

BSYENDIE I-enable ang interrupt kung sakaling matapos ang operasyon ng invalidation
 

ICACHE_FCR

CERRF Tinatanggal ang ERRF sa ICACHE_SR  

Isulat-lamang

CBSYENDF Tinatanggal ang BSYENDF sa ICACHE_SR

Mga tampok ng DCACHE
Ang layunin ng data cache ay i-cache ang mga external memory data load at mga data store na nagmumula sa processor o mula sa isa pang bus master peripheral. Pinamamahalaan ng DCACHE ang mga transaksyon sa pagbasa at pagsulat.
trapiko sa pagiging cacheability ng DCACHE

Ini-cache ng DCACHE ang mga panlabas na alaala mula sa interface ng master port sa pamamagitan ng AHB bus. Ang mga papasok na kahilingan sa memorya ay tinukoy bilang cacheable ayon sa AHB transaction memory lockup attribute nito. Ang patakaran sa pagsulat ng DCACHE ay tinukoy bilang write-through o write-back depende sa katangian ng memory na na-configure ng MPU. Kapag ang isang rehiyon ay na-configure bilang hindi na-cacheable, ang DCACHE ay na-bypass.

 Talahanayan 6. DCACHE cacheability para sa transaksyon ng AHB

AHB lookup attribute AHB bufferable attribute Cacheability
0 X Magbasa at magsulat: non-cacheable
 

1

 

0

Basahin: na-cache

Sumulat: (nakaka-cache) write-through

 

1

 

1

Basahin: na-cache

Sumulat: (nakaka-cache) write-back

Mga na-cache na rehiyon ng DCACHE
Para sa serye ng STM32U5, ang interface ng alipin ng DCACHE1 ay konektado sa Cortex-M33 sa pamamagitan ng S-AHB bus at ini-cache ang mga GFXMMU, FMC, at HSPI/OCTOSPI. Ang interface ng alipin ng DCACHE2 ay konektado sa DMA2D sa pamamagitan ng M0 port bus, at ini-cache ang lahat ng panloob at panlabas na memorya (maliban sa SRAM4 at BRKPSRAM). Para sa serye ng STM32H5, ang interface ng alipin ng DCACHE ay konektado sa Cortex-M33 sa pamamagitan ng mga panlabas na memorya ng S-AHB sa pamamagitan ng FMC at OCTOSPI.

Talahanayan 7. Mga na-cache na rehiyon at interface ng DCACHE

Rehiyon ng address ng cache na memorya Mga na-cache na interface ng DCACHE1 Mga na-cache na interface ng DCACHE2
GFXMMU X X
SRAM1  

 

 

N/A

X
SRAM2 X
SRAM3 X
SRAM5 X
SRAM6 X
HSPI1 X X
OCTOSPI1 X X
Mga FMC BANK X X
OCTOSPI2 X X

Tandaan

Ang ilang mga interface ay hindi suportado sa ilang partikular na produkto. Sumangguni sa Figure 1 o sa partikular na reference manual ng produkto.
Uri ng pagsabog
Kapareho ng ICACHE, sinusuportahan ng DCACHE ang incremental at wrapped bursts (tingnan ang Seksyon 3.1.3). Para sa DCACHE, ang uri ng pagsabog ay na-configure sa pamamagitan ng HBURST bit sa DCACHE_CR.
Pagsasaayos ng DCACHE
Sa panahon ng boot, ang DCACHE ay hindi pinagana bilang default sa paggawa ng mga kahilingan sa memorya ng alipin na direktang ipinapasa sa master port. Upang paganahin ang DCACHE, dapat na itakda ang EN bit sa rehistro ng DCACHE_CR. Mga hit-and-miss na monitor Ang DCACHE ay nagpapatupad ng apat na monitor para sa pagtatasa ng pagganap ng cache:

  • Dalawang 32-bit (R/W) hit monitor: binibilang ang dami ng beses na binasa o isulat ng CPU ang data sa memorya ng cache nang hindi gumagawa ng transaksyon sa mga master port ng DCACHE (available na ang data sa cache). Ang (R/W) hit monitors counter ay available ayon sa pagkakabanggit sa mga rehistro ng DCACHE_RHMONR at DCACHE_WHMONR.
  • Dalawang 16-bit (R/W) na miss monitor: bilangin ang dami ng beses na binasa o isulat ng CPU ang data sa cache memory at bumubuo ng transaksyon sa mga master port ng DCACHE, upang mai-load ang data mula sa rehiyon ng memorya (hindi nakuha ang data magagamit na sa cache). Ang (R/W) miss monitors counter ay available ayon sa pagkakabanggit sa DCACHE_RMMONR at DCACHE_WMMONR registers.

Tandaan:

Ang apat na monitor na ito ay hindi bumabalot kapag naabot ang kanilang pinakamataas na halaga. Ang mga monitor na ito ay pinamamahalaan mula sa mga sumusunod na piraso sa rehistro ng DCACHE_CR:

  • WHITMAN bit (kanya-kanyang WMISSMEN bit) para paganahin/ihinto ang write hit (kanya-kanyang miss) monitor
  • RHITMEN bit (ayon sa pagkakabanggit ng RMISSMEN bit) upang paganahin/ihinto ang read hit (ayon sa pagkakamiss) monitor
  • WHITMRST bit (may WMISSMRST bit) para i-reset ang write hit (miss) monitor
  • RHITMRST bit (ayon sa pagkakabanggit ng RMISSMRST bit) para i-reset ang read hit (respectively miss) monitor

Bilang default, ang mga monitor na ito ay hindi pinagana upang mabawasan ang pagkonsumo ng kuryente.

Pagpapanatili ng DCACHE
Nag-aalok ang DCACHE ng maraming operasyon sa pagpapanatili na maaaring i-configure sa pamamagitan ng CACHECMD[2:0] sa DCACHE_CR.

  • 000: walang operasyon (default)
  • 001: malinis na hanay. Linisin ang isang tiyak na saklaw sa cache
  • 010: invalidate ang range. I-invalidate ang isang partikular na hanay sa cache
  • 010: linisin at hindi wasto ang saklaw. Linisin at i-invalidate ang isang partikular na hanay sa cache

Ang napiling hanay ay na-configure sa pamamagitan ng:

  • CMDSTARTADDR register: command na panimulang address
  • CMDENDADDR register: command ending address

Tandaan:

Dapat itakda ang rehistrong ito bago isulat ang CACHECMD. Ang pagpapanatili ng cache command ay magsisimula kapag ang STARTCMD bit ay nakatakda sa DCACHE_CR register. Sinusuportahan din ng DCACHE ang isang ganap na invalidasyon ng CACHE sa pamamagitan ng pagtatakda ng CACHEINV bit sa rehistro ng DCACHE_CR.

Seguridad ng DCACHE
Ang DCACHE ay isang secure na peripheral na maaaring i-configure bilang secure sa pamamagitan ng GTZC TZSC secure configuration register. Kapag na-configure ito bilang secure, tanging mga secure na access ang pinapayagan sa mga rehistro ng DCACHE. Ang DCACHE ay maaari ding i-configure bilang privilege sa pamamagitan ng GTZC TZSC privilege configuration register. Kapag na-configure ang DCACHE bilang privileged, tanging mga privileged access lang ang pinapayagan sa mga rehistro ng DCACHE. Bilang default, ang DCACHE ay hindi secure at walang pribilehiyo sa pamamagitan ng GTZC TZSC.

Pamamahala ng kaganapan at abala
Pinamamahalaan ng DCACHE ang mga functional error kapag nakita, sa pamamagitan ng pagtatakda ng ERRF flag sa DCACHE_SR. Ang isang interrupt ay maaari ding mabuo kung ang ERRIE bit ay nakatakda sa DCACHE_IER. Sa kaso ng DCACHE invalidation, kapag ang cache busy state ay tapos na, ang BSYENDF flag ay nakatakda sa DCACHE_SR. Ang isang interrupt ay maaari ding mabuo kung ang BSYENDIE bit ay nakatakda sa DCACHE_IER. Ang katayuan ng command ng DCACHE ay maaaring suriin sa pamamagitan ng CMDENF at BUSYCMDF sa pamamagitan ng DCACHE_SR Ang isang interrupt ay maaari ding mabuo kung ang CMDENDIE bit ay nakatakda sa DCACHE_IER. Inililista ng talahanayan sa ibaba ang mga interrupt ng DCACHE at mga flag ng kaganapan

Talahanayan 8. Mga bit ng DCACHE Interrupt at pamamahala ng mga kaganapan

Magrehistro Magrehistro Bit na paglalarawan Uri ng bit access
 

 

 

DCACHE_SR

BUSY Cache na nagpapatupad ng isang buong pagpapawalang-bisa  

 

 

Read-only

BSYENDF Natapos ang buong cache na invalidate na operasyon
BUSYCMDF Cache na nagpapatupad ng isang range command
CMDENDF Isang dulo ng range command
ERRF Nagkaroon ng error habang nagpapatakbo ng caching
 

DCACHE_IER

ERRIE Paganahin ang interrupt para sa cache error  

Magbasa/magsulat

CMDENDIE I-enable ang interrupt sa dulo ng command na hanay
BSYENDIE Paganahin ang interrupt sa ganap na pagpapawalang-bisa sa pagtatapos ng operasyon
 

DCACHE_FCR

CERRF Tinatanggal ang ERRF sa DCACHE_SR  

Isulat-lamang

CCMDENDF Tinatanggal ang CMDENDF sa DCACHE_SR
CBSYENDF Tinatanggal ang BSYENDF sa DCACHE_SR

ICACHE at DCACHE pagganap at paggamit ng kuryente

Ang paggamit ng ICACHE at DCACHE ay nagpapabuti sa pagganap ng application kapag ina-access ang mga panlabas na alaala. Ang sumusunod na talahanayan ay nagpapakita ng epekto ng ICACHE at DCACHE sa CoreMark® execution kapag ina-access ang mga external na memorya.

Talahanayan 9. Pagganap ng ICACHE at DCACHE sa pagpapatupad ng CoreMark na may mga panlabas na alaala

(1)
CoreMark code Data ng CoreMark pagsasaayos ng ICACHE Pagsasaayos ng DCACHE CoreMark score/Mhz
Panloob na Flash memory Panloob na SRAM Pinagana (2-ways) Hindi pinagana 3.89
Panloob na Flash memory Panlabas na Octo-SPI PSRAM ( S‑bus) Pinagana (2-ways) Pinagana 3.89
Panloob na Flash memory Panlabas na Octo-SPI PSRAM ( S‑bus) Pinagana (2-ways) Hindi pinagana 0.48
Panlabas na Octo-SPI Flash (C-bus) Panloob na SRAM Pinagana (2-ways) Hindi pinagana 3.86
Panlabas na Octo-SPI Flash (C-bus) Panloob na SRAM Hindi pinagana Hindi pinagana 0.24
Panloob na Flash memory Panloob na SRAM Hindi pinagana Hindi pinagana 2.69

Mga Kundisyon ng Pagsubok:

  • Naaangkop na produkto: STM32U575/585
  • Dalas ng system: 160 MHz.
  • Panlabas na Octo-SPI PSRAM memory: 80 MHz (DTR mode).
  • Panlabas na Octo-SPI flash memory: 80 MHz (STR mode).
  • Compiler: IAR V8.50.4.
  • Panloob na Flash PREFETCH: NAKA-ON.

Ang paggamit ng ICACHE at DCACHE ay nagbabawas sa pagkonsumo ng kuryente kapag ina-access ang panloob at panlabas na mga alaala. Ipinapakita ng sumusunod na talahanayan ang epekto ng ICACHE sa pagkonsumo ng kuryente sa panahon ng pagpapatupad ng CoreMark.

Talahanayan 10. Pagpapatupad ng CoreMark ICACHE epekto sa paggamit ng kuryente

pagsasaayos ng ICACHE MCU power consumption (mA)
Pinagana (2-ways) 7.60
Pinagana (1-way) 7.13
Hindi pinagana 8.89
  1. Mga Kundisyon ng Pagsubok:
    • Naaangkop na produkto: STM32U575/585
    • CoreMark code: panloob na Flash memory.
    • Data ng CoreMark: panloob na SRAM.
    • Panloob na Flash memory PREFETCH: NAKA-ON.
    • Dalas ng system: 160 MHz.
    • Compiler: IAR V8.32.2.
    • Voltage saklaw: 1.
    • SMPS: ON.
  2. way set associative configuration ay mas gumaganap kaysa 1-way set associative configuration para sa code na hindi ganap na mai-load sa cache. Samantala, ang 1-way set associative cache ay halos palaging mas mahusay sa kapangyarihan kaysa sa 2-way set associative cache. Ang bawat code ay kailangang suriin sa parehong mga pagsasaayos ng pagkakaugnay, upang mapili ang pinakamahusay na trade-off sa pagitan ng pagganap at paggamit ng kuryente. Ang pagpili ay depende sa priyoridad ng user.

Konklusyon

Ang mga unang cache na binuo ng STMicroelectronics, ICACHE at DCACHE, ay nagagawang mag-cache ng panloob at panlabas na mga alaala, na nag-aalok ng pagpapahusay ng pagganap para sa trapiko ng data at pagkuha ng pagtuturo. Ipinapakita ng dokumentong ito ang iba't ibang feature na sinusuportahan ng ICACHE at DCACHE, ang kanilang pagiging simple at flexibility ng configuration ay nagbibigay-daan sa mas mababang gastos sa pag-develop at mas mabilis na oras sa market.

Kasaysayan ng rebisyon

Talahanayan 11. Kasaysayan ng rebisyon ng dokumento

Petsa Bersyon Mga pagbabago
10-Okt-2019 1 Paunang paglabas.
 

 

27-Peb-2020

 

 

2

Na-update:

• Talahanayan 2. Mga rehiyon ng memorya at ang kanilang mga address

• Seksyon 2.1.7 Pagpapanatili ng ICACHE

• Seksyon 2.1.8 Seguridad ng ICACHE

 

 

 

 

7-Dis-2021

 

 

 

 

3

Na-update:

• Titulo ng dokumento

• Panimula

• Tapos na ang Seksyon 1 ICACHE at DCACHEview

• Idinagdag ang Seksyon 4 na Konklusyon:

• Mga tampok ng Seksyon 2 ICACHE at DCACHE

• Seksyon 3 ICACHE at DCACHE pagganap at paggamit ng kuryente

 

 

 

 

 

 

15-Peb-2023

 

 

 

 

 

 

4

Na-update:

•         Seksyon 2.2: STM32U5 series smart architecture

•         Seksyon 2.5: block diagram ng DCACHE

•         Seksyon 3.1.1: Dual masters

•         Seksyon 3.1.2: 1-way kumpara sa 2-way na ICACHE

•         Seksyon 3.1.4: Mga rehiyong na-cache at tampok na remapping

•         Seksyon 3.2: Mga tampok ng DCACHE

•         Seksyon 3.2.2: Mga na-cache na rehiyon ng DCACHE

•         Seksyon 4: Pagganap ng ICACHE at DCACHE at paggamit ng kuryente Idinagdag:

•         Seksyon 1: Pangkalahatang impormasyon

 

11-Mar-2024

 

5

Na-update:

•         Seksyon 2.3: STM32H5 series smart architecture

•         Seksyon 3.1.1: Dual masters

MAHALAGANG PAUNAWA – MAGBASA NG MABUTI
Inilalaan ng STMicroelectronics NV at mga subsidiary nito (“ST”) ang karapatang gumawa ng mga pagbabago, pagwawasto, pagpapahusay, pagbabago, at pagpapahusay sa mga produkto ng ST at/o sa dokumentong ito anumang oras nang walang abiso. Dapat makuha ng mga mamimili ang pinakabagong may-katuturang impormasyon sa mga produkto ng ST bago maglagay ng mga order. Ang mga produkto ng ST ay ibinebenta alinsunod sa mga tuntunin at kundisyon ng pagbebenta ng ST sa oras ng pag-acknowledge ng order. Ang mga mamimili ay tanging responsable para sa pagpili, pagpili, at paggamit ng mga produkto ng ST at walang pananagutan ang ST para sa tulong sa aplikasyon o disenyo ng mga produkto ng mga mamimili. Walang lisensya, hayag o ipinahiwatig, sa anumang karapatan sa intelektwal na ari-arian ang ipinagkaloob ng ST dito. Ang muling pagbebenta ng mga produktong ST na may mga probisyon na iba sa impormasyong nakasaad dito ay magpapawalang-bisa sa anumang warranty na ibinigay ng ST para sa naturang produkto. Ang ST at ang ST logo ay mga trademark ng ST. Para sa karagdagang impormasyon tungkol sa mga trademark ng ST, sumangguni sa www.st.com/trademarks. Ang lahat ng iba pang pangalan ng produkto o serbisyo ay pag-aari ng kani-kanilang mga may-ari. Ang impormasyon sa dokumentong ito ay pinapalitan at pinapalitan ang impormasyong dating ibinigay sa anumang mga naunang bersyon ng dokumentong ito. © 2024 STMicroelectronics – Nakalaan ang lahat ng karapatan

Mga Dokumento / Mga Mapagkukunan

STMicroelectronics STM32H5 Series Microcontrollers [pdf] User Manual
STM32H5 Series Microcontrollers, STM32H5, Serye Microcontrollers, Microcontrollers

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *