STMicroelectronics-logo

STMicroelectronics STM32H5 Series Microcontrollers

STMicroelectronics-STM32H5-Series-Microcontrollers-product

Bubuka

Catetan aplikasi ieu ngajelaskeun cache instruksi (ICACHE) sareng cache data (DCACHE), cache munggaran anu dikembangkeun ku STMicroelectronics. ICACHE sareng DCACHE anu diwanohkeun dina beus AHB tina prosesor Arm® Cortex®-M33 dipasang dina mikrokontroler STM32 (MCU) anu didaptarkeun dina tabel di handap ieu. Cache ieu ngamungkinkeun pamaké pikeun ngaronjatkeun kinerja aplikasi maranéhanana sarta ngurangan konsumsi nalika nyokot instruksi jeung data ti duanana memori internal tur éksternal, atawa keur lalulintas data ti memori éksternal. Dokumén ieu masihan ex hasamples pikeun nyorot fitur ICACHE na DCACHE sarta mempermudah konfigurasi maranéhna.

meja 1. produk lumaku

Tipe runtuyan produk
Mikrokontroler runtuyan STM32H5, runtuyan STM32L5, runtuyan STM32U5

Inpormasi umum

Catetan:

Catetan aplikasi ieu manglaku ka mikrokontroler séri STM32 anu mangrupa alat basis inti Arm® Cortex®. Arm mangrupikeun mérek dagang kadaptar ti Arm Limited (atanapi anak perusahaanna) di AS sareng/atanapi di tempat sanés.

ICACHE na DCACHE leuwihview

bagian ieu nyadiakeun leuwihview tina panganteur ICACHE sareng DCACHE anu dipasang dina mikrokontroler basis inti STM32 Arm® Cortex®. Bagian ieu rinci ngeunaan diagram ICACHE sareng DCACHE sareng integrasi dina arsitektur sistem.
STM32L5 runtuyan arsitéktur pinter
Arsitéktur ieu dumasar kana matriks beus anu ngamungkinkeun sababaraha master (Cortex-M33, ICACHE, DMA1/2, sareng SDMMC1) pikeun ngaksés sababaraha budak (sapertos mémori flash, SRAM1/2, OCTOSPI1, atanapi FSMC). Gambar di handap ngajelaskeun arsitektur pinter runtuyan STM32L5.

Gambar 1. STM32L5 runtuyan arsitéktur pinter

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-1

Kinerja Cortex-M33 ditingkatkeun ku ngagunakeun panganteur ICACHE 8-Kbyte anu diwanohkeun ka beus C-AHB na, nalika nyandak kode atanapi data tina mémori internal (memori flash, SRAM1, atanapi SRAM2) ngalangkungan beus gancang, sareng ogé tina mémori internal. kenangan éksternal (OCTOSPI1 atanapi FSMC) ngaliwatan beus slow.
STM32U5 runtuyan arsitéktur pinter
Arsitéktur ieu dumasar kana matriks beus anu ngamungkinkeun sababaraha master (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D sareng SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) pikeun ngakses sababaraha budak (sapertos memori flash, SRAM, BKPSRAM, HSPI / OCTOSPI, atanapi FSMC).Tokoh di handap ngajelaskeun arsitektur pinter runtuyan STM32U5.

Gambar 2. STM32U5 runtuyan arsitéktur pinter

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-2

Antarbeungeut Cortex-M33 sareng GPU2D duanana kauntungan tina ngagunakeun CACHE.

  • ICACHE ngaronjatkeun kinerja Cortex-M33 nalika fetching kode atawa data ti memori internal ngaliwatan beus gancang (memori flash, SRAMs) sarta ti memori éksternal ngaliwatan beus slow (OCTOSPI1/2 sarta HSPI1, atanapi FSMC). DCACHE1 ngaronjatkeun kinerja nalika nyokot data tina memori internal atawa éksternal ngaliwatan s-bus (GFXMMU, OCTOSPI1/2 jeung HSPI1, atawa FSMC).
  •  DCACHE2 ngaronjatkeun kinerja GPU2D nalika fetching data tina memori internal tur éksternal (GFXMMU, memori flash, SRAMs, OCTOSPI1/2 sarta HSPI1, atanapi FSMC) ngaliwatan beus port M0.

STM32H5 runtuyan arsitéktur pinter
STM32H523 / H533, STM32H563 / H573 sareng STM32H562 arsitéktur pinter Arsitéktur ieu dumasar kana matriks beus anu ngamungkinkeun sababaraha master (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet sareng SDMMC) pikeun ngaksés sababaraha budak (sapertos mémori flash, SRAM, BKPS). , OCTOSPI sareng FMC). Gambar di handap ngajelaskeun arsitektur pinter séri STM32H5.

Gambar 3. STM32H563 / H573 sareng STM32H562 séri arsitéktur pinter

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-3

Cortex-M33 kauntungan tina ngagunakeun CACHE.

  • ICACHE ngaronjatkeun kinerja Cortex-M33 nalika fetching kode atawa data ti memori internal ngaliwatan beus gancang (memori flash, SRAMs) sarta ti memori éksternal ngaliwatan beus slow (OCTOSPI na FMC).
  • DCACHE ngaronjatkeun kinerja nalika fetching data tina kenangan éksternal ngaliwatan beus slow (OCTOSPI na FMC).

STM32H503 arsitéktur pinter
Arsitéktur ieu dumasar kana matriks beus anu ngamungkinkeun sababaraha master (Cortex-M33, ICACHE sareng GPDMA) ngaksés sababaraha budak (sapertos mémori flash, SRAM sareng BKPSRAM). Gambar di handap ngajelaskeun arsitektur pinter séri STM32H5.

Gambar 4. STM32H503 runtuyan arsitéktur pinter

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-4

Cortex-M33 kauntungan tina ngagunakeun CACHE.

  • ICACHE ngaronjatkeun kinerja Cortex-M33 nalika fetching kode atawa data ti memori internal ngaliwatan beus gancang (memori flash, SRAMs).

diagram blok ICACHE
Diagram blok ICACHE dirumuskeun dina gambar di handap ieu.

Gambar 5. diagram blok ICACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-5

Mémori ICACHE ngawengku:

  • éta TAG memori kalawan:
    • alamatna tags nu nunjukkeun data nu dikandung dina mémori data cache
    • bit validitas
  •  mémori data, nu ngandung data sindangan

diagram blok DCACHE
Diagram blok DCACHE dirumuskeun dina gambar di handap ieu.

Gambar 6. diagram blok DCACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-6

Mémori DCACHE ngawengku:

  • éta TAG memori kalawan:
    • alamatna tags nu nunjukkeun data nu dikandung dina mémori data cache
    • bit validitas
    • bit hak husus
    • bit kotor
  • mémori data, nu ngandung data sindangan

Fitur ICACHE sareng DCACHE

Ganda master
ICACHE ngakses matriks beus AHB boh ngaliwatan:

  • Hiji port master AHB: master1 (beus gancang)
  • Dua palabuhan master AHB: master1 (beus gancang) sareng master2 (beus lambat)

fitur ieu ngamungkinkeun lalulintas bisa decoupled nalika ngakses wewengkon memori béda (kayaning memori flash internal, SRAM internal tur memori éksternal), guna ngurangan lapak CPU on cache misses. Tabel di handap ieu nyimpulkeun daérah mémori sareng alamatna.

meja 2. Wewengkon memori sareng alamatna

Periferal aksés memori cacheable Teu cacheable aksés memori
 

 

Tipe

 

 

Ngaran

 

 

Ngaran produk jeung ukuran wewengkon

 

 

Ngaran beus

 

Alamat awal daérah anu teu aman

Alamat awal daérah anu tiasa ditelepon aman, teu aman  

 

Ngaran beus

 

Alamat awal daérah anu teu aman

Alamat awal daérah anu tiasa ditelepon aman, teu aman
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Internal

 

 

 

 

 

 

 

KECIL

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

beus gancang

 

 

 

 

 

 

 

0x0800 0000

N/A  

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

 

 

 

 

 

 

 

N/A

STM32L5

séri/ 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-beus

 

 

 

 

 

 

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

runtuyan

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

Periferal aksés memori cacheable Teu cacheable aksés memori
 

 

 

 

 

 

 

 

 

Internal

 

 

SRAM2

STM32H563/ 573/562 80 KB  

 

 

 

 

 

 

 

ICACHE

beus gancang

0x0A04 0000 0x0E04 0000  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-beus

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

 

 

 

 

 

 

 

 

 

 

 

Jaba

HSPI1 STM32U59x/

5Ax/5Fx/5Gx

 

 

 

 

 

 

 

 

 

 

 

256 MB

 

 

 

 

 

 

 

 

 

 

ICACHE

beus slow

(1)

 

 

 

 

 

 

Alamat alias dina rentang [0x0000 0000

ka 0x07FF FFFF] atanapi [0x1000 0000:0x1FFFF

FFFF] ditetepkeun ku cara mapping fitur

 

 

 

 

 

 

 

 

 

 

 

N/A

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

OCTOSPI1

bank teu aman

STM32L5/U5

runtuyan

STM32H563/ 573/562

 

 

0x9000 0000

 

Bank FMC 3

teu aman

STM32L5/U5

runtuyan

STM32H563/ 573/562

 

 

0x8000 0000

OCTOSPI2

bank teu aman

STM32U575/

585/59x/5Ax/

5Fx/5Gx

 

0x7000 0000

 

Bank FMC 1

teu aman

STM32L5/U5

runtuyan

STM32H563/ 573/562

 

 

0x6000 0000

1. Pikeun dipilih nalika remapping wewengkon sapertos.

1 arah versus 2 arah ICACHE
Sacara standar, ICACHE dikonpigurasi dina modeu operasi associative (dua cara diaktipkeun), tapi kasebut nyaéta dimungkinkeun pikeun ngonpigurasikeun ICACHE dina modeu langsung-dipetakeun (saarah diaktipkeun), pikeun aplikasi merlukeun konsumsi kakuatan pisan low. Konfigurasi ICACHE dipigawé ku bit WAYSEL dina ICACHE_CR saperti kieu:

  • WAYSEL = 0: modeu operasi langsung dipetakeun (1 arah)
  • WAYSEL = 1 (standar): modeu operasi asosiatif (2 arah)

meja 3. 1 arah versus ICACHE 2 arah

Parameter 1-jalan ICACHE 2-jalan ICACHE
Ukuran cache (Kbytes) 8(1)/32(2)
Cache sababaraha cara 1 2
Ukuran garis cache 128 bit (16 bait)
Jumlah garis cache 512(1)/2048(2) 256 (1) / 1024 (2) per jalan
  1. Pikeun séri STM32L5 / séri STM32H5 / STM32U535/545/575/585
  2. For STM32U59x/5Ax/5Fx/5Gx

Jenis burst
Sababaraha kenangan Octo-SPI ngarojong burst WRAP, nu nyadiakeun kauntungan tina kinerja fitur kecap-heula kritis. Jinis burst ICACHE tina transaksi mémori AHB pikeun daérah remapped tiasa dikonfigurasi. Éta ngalaksanakeun burst Incremental atanapi burst WRAP, dipilih nganggo bit HBURST dina register ICACHE_CRRx. Beda antara WRAP sareng burst incremental dirumuskeun di handap ieu (tingali ogé gambar):

  • WRAP burst:
    • ukuran garis cache = 128 bit
    • burst pikeun ngamimitian alamat = kecap alamat data munggaran dipénta ku CPU
  •  Ledakan Incremental:
    • ukuran garis cache = 128 bit
    • alamat mimiti burst = alamat Blok dina wates garis cache ngandung kecap dipénta

Gambar 7. Incremental versus WRAP burst

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-9

Wewengkon anu tiasa cache sareng fitur remapping
ICACHE disambungkeun ka Cortex-M33 ngaliwatan beus C-AHB jeung caches wewengkon kode tina alamat [0x0000 0000 mun 0x1FFF FFFF]. Kusabab kenangan éksternal dipetakeun dina alamat dina kisaran [0x6000 0000 dugi ka 0xAFFF FFFF], ICACHE ngadukung fitur remap anu ngamungkinkeun daérah mémori éksternal tiasa dipetakan deui dina alamat dina kisaran [0x0000 0000 dugi ka 0x07FF FFFF] atanapi [0x1000 0000 mun 0x1FFF FFFF], sarta jadi diaksés ngaliwatan beus C-AHB. Nepi ka opat daérah mémori éksternal tiasa dipetakan deui nganggo fitur ieu. Sakali hiji wewengkon remapped, operasi remap lumangsung sanajan ICACHE ditumpurkeun atawa lamun urus teu cacheable. Wewengkon mémori anu tiasa di-cache tiasa dilawan sareng diprogram ku pangguna dina unit panyalindungan mémori (MPU). Tabel di handap nyimpulkeun konfigurasi séri STM32L5 sareng STM32U5.

meja 4. Konfigurasi STM32L5 na STM32U5 runtuyan kenangan

 

mémori produk

Cacheable

(MPU programming)

Remapped di ICACHE

(Pemrograman ICACHE_CRRx)

mémori flash Leres atanapi henteu  

Teu diperlukeun

SRAM Teu dianjurkeun
Kenangan éksternal (HSPI / OCTOSPI atanapi FSMC) Leres atanapi henteu Diperlukeun upami pangguna hoyong nyandak kode éksternal dina beus C- AHB (lain dina beus S-AHB)

Kauntungannana remapping memori éksternal ICACHE
Mantanample dina gambar di handap nembongkeun kumaha carana kauntungan tina ICACHE kinerja ditingkatkeun salila palaksanaan kode atawa data dibaca nalika ngakses hiji éksternal 8-Mbyte memori Octo-SPI éksternal (kayaning memori flash éksternal atawa RAM).

Gambar 8. Octo-SPI memori remap example

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-7

Léngkah-léngkah di handap ieu diperyogikeun pikeun ngémutan deui mémori éksternal ieu:

Konfigurasi OCTOSPI pikeun mémori éksternal

Konpigurasikeun panganteur OCTOSPI pikeun ngakses memori éksternal dina modeu dipetakeun Mémori (memori éksternal katempona memori internal dipetakeun dina [0x9000 0000 mun 0x9FFF FFFF] wewengkon). Kusabab ukuran mémori éksternal nyaéta 8 Mbytes, éta katingali di daérah [0x9000 0000 ka 0x907F FFFF]. Mémori éksternal di daérah ieu diaksés ngalangkungan S-bus sareng henteu tiasa di-cache. Lengkah saterusna nembongkeun konfigurasi ICACHE guna remap wewengkon ieu.
Catetan: Pikeun konfigurasi OCTOSPI dina modeu dipetakeun memori, tingal catetan aplikasi panganteur Octo‑ SPI dina mikrokontroler STM32 (AN5050).

Konfigurasi ICACHE pikeun remap wewengkon memori-dipetakeun éksternal
8 Mbytes ditempatkeun di [0x9000 0000 nepi ka 0x907F FFFF] remapped ka wewengkon [0x1000 0000 nepi ka 0x107F FFFF]. Aranjeunna teras tiasa diaksés ngalangkungan beus lambat (bus master2 ICACHE).

  • Konfigurasi ngadaptar ICACHE_CR
    • Pareuman ICACHE sareng EN = 0.
    • Pilih 1 arah atanapi 2 arah (gumantung kana kabutuhan aplikasi) sareng WAYSEL = 0 atanapi 1, masing-masing.
  • Konfigurasi ngadaptar ICACHE_CRRx (nepi ka opat wewengkon, x = 0 nepi ka 3)
    • Pilih alamat dasar 0x1000 0000 (alamat remap) sareng BASEADDR [28:21] = 0x80.
    • Pilih ukuran wilayah 8-Mbyte pikeun dipetakan deui sareng RSIZE [2: 0] = 0x3.
    • Pilih 0x9000 0000 remapped alamat REMAPADDR[31:21] = 0x480.
    • Pilih ICACHE AHB master2 port pikeun memori éksternal kalawan MSTSEL = 1.
    • Pilih jinis burst WRAP sareng HBURST = 0.
    • Aktipkeun remapping pikeun wewengkon x kalawan REN = 1.

Gambar di handap ieu nunjukkeun kumaha daérah mémori katingali ku IAR saatos ngaktifkeun remap.

Gambar 9. Remapping wewengkon memori example

STMicroelectronics-STM32H5-Series-Microcontrollers-gbr-8

Memori éksternal 8-Mbyte ayeuna dipetakan deui sareng tiasa diaksés di daérah [0x1000 0000 dugi ka 0x107F FFFF].

ICACHE ngaktipkeun

  • Konfigurasi ngadaptar ICACHE_CR Aktipkeun ICACHE kalawan EN = 1.

Monitor hit-and-miss
ICACHE nyadiakeun dua monitor pikeun analisis kinerja: a 32-bit hit monitor jeung 16-bit miss monitor.

  • Monitor hit ngitung transaksi AHB anu tiasa di-cache dina port cache budak anu pencét eusi ICACHE (data anu dicandak parantos aya dina cache). The hit monitor counter sadia dina ICACHE_HMONR register.
  • Monitor sono ngitung transaksi AHB anu tiasa di-cache dina palabuhan cache budak anu sono kana eusi ICACHE (data anu dicandak henteu acan sayogi dina cache). Leungit monitor counter sadia dina ICACHE_MMONR register.

Catetan:

Dua monitor ieu henteu dibungkus nalika ngahontal nilai maksimalna. Monitor ieu dikokolakeun tina bit-bit ieu dina daptar ICACHE_CR:

  • HITMEN bit (masing-masing MISSMEN bit) pikeun ngaktipkeun/ngeureunkeun hit (masing-masing sono) monitor
  • HITMRST bit (masing-masing MISSMRST bit) pikeun ngareset hit (masing-masing sono) monitor Sacara standar, monitor theses ditumpurkeun dina raraga ngurangan konsumsi kakuatan.

pangropéa ICACHE
Parangkat lunak tiasa ngabatalkeun ICACHE ku netepkeun bit CACHEINV dina register ICACHE_CR. Peta ieu invalidates sakabeh cache, sahingga kosong. Samentara éta, lamun sababaraha wewengkon remap diaktipkeun, fitur remap masih aktip, sanajan ICACHE dipareuman. Kusabab ICACHE ngan ukur ngatur transaksi baca sareng henteu ngatur transaksi nyerat, éta henteu mastikeun koherensi dina kasus nyerat. Akibatna, parangkat lunak kedah ngabatalkeun ICACHE saatos program hiji daérah.

kaamanan ICACHE
ICACHE mangrupakeun périferal securable nu bisa ngonpigurasi sakumaha aman ngaliwatan GTZC TZSC konfigurasi aman register. Nalika eta geus ngonpigurasi sakumaha aman, ngan aksés aman diwenangkeun pikeun registers ICACHE. ICACHE ogé bisa ngonpigurasi sakumaha hak husus ngaliwatan GTZC TZSC konfigurasi hak husus register. Nalika ICACHE dikonpigurasikeun salaku hak istimewa, ngan ukur aksés anu diidinan pikeun ngadaptarkeun ICACHE. Sacara standar, ICACHE henteu aman sareng henteu ngagaduhan hak istimewa ngalangkungan GTZC TZSC.

Manajemén acara sareng ngaganggu

ICACHE ngokolakeun kasalahan fungsional nalika dideteksi, ku netepkeun bandéra ERRF di ICACHE_SR. Hiji interupsi ogé bisa dihasilkeun lamun bit ERRIE diatur dina ICACHE_IER. Dina kasus ICACHE invalidation, nalika kaayaan sibuk cache réngsé, bendera BSYENDF disetel dina ICACHE_SR. Hiji interupsi ogé bisa dihasilkeun lamun bit BSYENDIE diatur dina ICACHE_IER. Tabel di handap mangrupa daptar ICACHE interrupt jeung acara bandéra.

meja 5. ICACHE ngaganggu jeung bit manajemén acara

Ngadaptar Ngaran bit Pedaran bit Jenis aksés bit
 

ICACHE_SR

SIBUK Cache ngajalankeun operasi invalidate pinuh  

Dibaca wungkul

BSYENDF Operasi invalidation cache réngsé
ERROR Kasalahan lumangsung nalika operasi cache
 

ICACHE_IER

ERRIE Aktipkeun interupsi pikeun kasalahan cache  

Maca/nulis

BSYENDIE Aktipkeun interupsi bisi operasi invalidation réngsé
 

ICACHE_FCR

CERRF Ngabersihan ERRF dina ICACHE_SR  

Tulisan wungkul

CBSYENDF Ngabersihan BSYENDF dina ICACHE_SR

fitur DCACHE
Tujuan tina cache data nyaéta pikeun cache beban data memori éksternal sareng toko data anu asalna tina prosésor atanapi tina periferal master beus anu sanés. DCACHE ngatur duanana maca jeung nulis transaksi.
lalulintas cacheability DCACHE

DCACHE caches kenangan éksternal ti panganteur master port ngaliwatan beus AHB. Paménta mémori anu asup didefinisikeun salaku cacheable dumasar kana atribut lockup mémori transaksi AHB na. Kawijakan nulis DCACHE diartikeun nulis-liwat atawa nulis-balik gumantung kana atribut memori ngonpigurasi ku MPU. Nalika hiji wewengkon dikonpigurasikeun salaku non-cacheable, DCACHE ieu bypassed.

 meja 6. DCACHE cacheability pikeun urus AHB

AHB lookup atribut atribut panyangga AHB Cacheability
0 X Baca jeung Tulis: non-cacheable
 

1

 

0

Baca: cacheable

Tulis: (bisa cache) nulis-liwat

 

1

 

1

Baca: cacheable

Tulis: (cacheable) nulis balik

wewengkon cacheable DCACHE
Pikeun séri STM32U5, panganteur budak DCACHE1 disambungkeun ka Cortex-M33 ngaliwatan beus S-AHB jeung caches GFXMMU, FMC, sarta HSPI / OCTOSPIs. Antarbeungeut budak DCACHE2 disambungkeun ka DMA2D ngaliwatan beus port M0, sarta caches sagala kenangan internal tur éksternal (iwal SRAM4 na BRKPSRAM). Pikeun séri STM32H5, panganteur budak DCACHE disambungkeun ka Cortex-M33 ngaliwatan memori éksternal S-AHB ngaliwatan FMC na OCTOSPI.

meja 7. DCACHE wewengkon cacheable na interfaces

Wewengkon alamat memori cacheable DCACHE1 panganteur cacheable DCACHE2 panganteur cacheable
GFXMMU X X
SRAM1  

 

 

N/A

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

Catetan

Sababaraha interfaces teu dirojong dina produk tangtu. Tingal Gambar 1 atawa manual rujukan produk husus.
Jenis burst
Sarua jeung ICACHE, DCACHE ngarojong bursts Incremental jeung dibungkus (tingali Bagéan 3.1.3). Pikeun DCACHE, tipe burst dikonpigurasi ngaliwatan bit HBURST di DCACHE_CR.
Konfigurasi DCACHE
Salila boot, DCACHE ditumpurkeun sacara standar sahingga requests memori budak diteruskeun langsung ka port master. Pikeun ngaktipkeun DCACHE, EN bit kudu disetel dina DCACHE_CR register. Monitor hit-and-miss DCACHE nerapkeun opat monitor pikeun analisis kinerja cache:

  • Dua 32-bit (R / W) pencét monitor: ngitung sabaraha kali CPU maca atanapi nyerat data dina mémori cache tanpa ngahasilkeun transaksi dina palabuhan master DCACHE (data parantos sayogi dina cache). The (R/W) pencét monitor counters sadia mungguh dina DCACHE_RHMONR na DCACHE_WHMONR registers.
  • Dua monitor sono 16-bit (R/W): ngitung sabaraha kali CPU maca atanapi nyerat data dina mémori cache sareng ngahasilkeun transaksi dina palabuhan master DCACHE, pikeun ngamuat data tina daérah mémori (data henteu dicandak. geus sadia dina cache). The (R / W) miss monitor counters sadia mungguh dina DCACHE_RMMONR na DCACHE_WMMONR registers.

Catetan:

Opat monitor ieu henteu dibungkus nalika ngahontal nilai maksimalna. Monitor ieu dikokolakeun tina bit-bit ieu dina daptar DCACHE_CR:

  • WHITMAN bit (masing-masing bit WMISSMEN) pikeun ngaktifkeun/ngeureunkeun hit nulis (masing-masing sono) monitor
  • RHITMEN bit (masing-masing RMISSMEN bit) pikeun ngaktipkeun / ngeureunkeun maca hit (masing-masing sono) monitor
  • bit WHITMRST (masing-masing bit WMISSMRST) pikeun ngareset monitor nulis hit (masing-masing sono).
  • Bit RHITMRST (masing-masing RMISSMRST bit) pikeun ngareset monitor anu dibaca (masing-masing sono)

Sacara standar, monitor ieu ditumpurkeun pikeun ngirangan pamakean listrik.

pangropéa DCACHE
DCACHE nawarkeun sababaraha operasi pangropéa nu bisa ngonpigurasi ngaliwatan CACHECMD [2: 0] di DCACHE_CR.

  • 000: euweuh operasi (standar)
  • 001: rentang bersih. Ngabersihan rentang nu tangtu dina cache nu
  • 010: invalidate rentang. Invalidate rentang nu tangtu dina cache
  • 010: rentang beresih jeung invalidate. Ngabersihan sareng ngabatalkeun sajumlah anu tangtu dina cache

Kisaran anu dipilih dikonpigurasi ngaliwatan:

  • CMDSTARTADDR ngadaptar: paréntah ngamimitian alamat
  • CMDENDADDR ngadaptar: paréntah tungtung alamat

Catetan:

Register ieu kedah diatur sateuacan CACHECMD ditulis. Pangropéa paréntah cache dimimitian nalika bit STARTCMD disetel dina register DCACHE_CR. DCACHE ogé ngarojong invalidation CACHE pinuh ku netepkeun bit CACHEINV dina register DCACHE_CR.

kaamanan DCACHE
DCACHE mangrupakeun periferal aman nu bisa ngonpigurasi sakumaha aman ngaliwatan GTZC TZSC konfigurasi aman register. Nalika eta geus ngonpigurasi sakumaha aman, ngan aksés aman diwenangkeun pikeun registers DCACHE. DCACHE ogé bisa ngonpigurasi sakumaha hak husus ngaliwatan GTZC TZSC konfigurasi hak husus register. Nalika DCACHE dikonpigurasikeun salaku hak istimewa, ngan aksés anu diidinan pikeun ngadaptarkeun DCACHE. Sacara standar, DCACHE henteu aman sareng henteu ngagaduhan hak istimewa ngaliwatan GTZC TZSC.

Manajemén acara sareng ngaganggu
DCACHE ngatur kasalahan fungsional nalika dideteksi, ku netepkeun bandéra ERRF di DCACHE_SR. Hiji interupsi ogé bisa dihasilkeun lamun bit ERRIE diatur dina DCACHE_IER. Dina kasus DCACHE invalidation, nalika kaayaan sibuk cache rengse, bendera BSYENDF disetel dina DCACHE_SR. Hiji interupsi ogé bisa dihasilkeun lamun bit BSYENDIE diatur dina DCACHE_IER. Status paréntah DCACHE bisa dipariksa ngaliwatan CMDENF na BUSYCMDF ngaliwatan DCACHE_SR Hiji ngaganggu ogé bisa dihasilkeun lamun bit CMDENDIE diatur dina DCACHE_IER. Tabel di handap mangrupa daptar interrupts DCACHE jeung bandéra acara

meja 8. DCACHE ngaganggu jeung bit manajemén acara

Ngadaptar Ngadaptar Pedaran bit Jenis aksés bit
 

 

 

DCACHE_SR

SIBUK Cache ngajalankeun operasi invalidate pinuh  

 

 

Dibaca wungkul

BSYENDF Cache pinuh invalidate operasi réngsé
BUSYCMDF Cache ngajalankeun paréntah rentang
CMDENDF A tungtung paréntah rentang
ERRF Kasalahan lumangsung nalika operasi cache
 

DCACHE_IER

ERRIE Aktipkeun interupsi pikeun kasalahan cache  

Maca/nulis

CMDENDIE Aktipkeun interupsi dina tungtung paréntah rentang
BSYENDIE Aktipkeun interupsi dina tungtung operasi invalidate pinuh
 

DCACHE_FCR

CERRF Ngabersihan ERRF dina DCACHE_SR  

Tulisan wungkul

CCMDENDF Ngabersihan CMDENDF di DCACHE_SR
CBSYENDF Ngabersihan BSYENDF di DCACHE_SR

ICACHE na DCACHE kinerja sarta konsumsi kakuatan

Ngagunakeun ICACHE na DCACHE ngaronjatkeun kinerja aplikasi nalika ngakses memori éksternal. Tabel di handap ieu nunjukkeun dampak ICACHE sareng DCACHE dina palaksanaan CoreMark® nalika ngaksés mémori éksternal.

meja 9. kinerja ICACHE na DCACHE on palaksanaan CoreMark kalawan memori éksternal

(1)
Kodeu CoreMark Data CoreMark Konfigurasi ICACHE Konfigurasi DCACHE Skor CoreMark/Mhz
Mémori Flash internal SRAM internal Diaktipkeun (2 arah) ditumpurkeun 3.89
Mémori Flash internal Octo-SPI PSRAM éksternal (S-bus) Diaktipkeun (2 arah) Diaktipkeun 3.89
Mémori Flash internal Octo-SPI PSRAM éksternal (S-bus) Diaktipkeun (2 arah) ditumpurkeun 0.48
Eksternal Octo-SPI Flash (C-bus) SRAM internal Diaktipkeun (2 arah) ditumpurkeun 3.86
Eksternal Octo-SPI Flash (C-bus) SRAM internal ditumpurkeun ditumpurkeun 0.24
Mémori Flash internal SRAM internal ditumpurkeun ditumpurkeun 2.69

Kaayaan Tes:

  • produk lumaku: STM32U575/585
  • Frékuénsi Sistim: 160 MHz.
  • Mémori Octo-SPI PSRAM éksternal: 80 MHz (mode DTR).
  • Mémori flash Octo-SPI éksternal: 80 MHz (modus STR).
  • Kompiler: IAR V8.50.4.
  • PREFETCH Flash internal: ON.

Ngagunakeun ICACHE na DCACHE ngurangan konsumsi kakuatan nalika ngakses memori internal tur éksternal. Tabel di handap ieu nunjukkeun dampak ICACHE dina konsumsi kakuatan nalika palaksanaan CoreMark.

meja 10. CoreMark palaksanaan dampak ICACHE on konsumsi kakuatan

Konfigurasi ICACHE Konsumsi kakuatan MCU (mA)
Diaktipkeun (2 arah) 7.60
Diaktipkeun (1 arah) 7.13
ditumpurkeun 8.89
  1. Kaayaan Tes:
    • produk lumaku: STM32U575/585
    • Kodeu CoreMark: memori Flash internal.
    • data CoreMark: SRAM internal.
    • Mémori Flash internal PREFETCH: ON.
    • Frékuénsi Sistim: 160 MHz.
    • Kompiler: IAR V8.32.2.
    • Voltage rentang: 1.
    • SMP: ON.
  2. way set konfigurasi associative leuwih ngajalankeun ti 1-way set konfigurasi associative pikeun kode nu teu bisa pinuh dimuat dina cache. Samentara éta, 1-way set associative cache ampir sok leuwih efisien daya ti 2-way set associative cache. Unggal kode kudu dievaluasi dina duanana konfigurasi asosiasi, pikeun milih trade-off pangalusna antara kinerja jeung konsumsi kakuatan. Pilihan gumantung kana prioritas pamaké.

kacindekan

The caches munggaran dikembangkeun ku STMicroelectronics, ICACHE na DCACHE, sanggup cache memori internal tur éksternal, nawarkeun ningkatna kinerja pikeun lalulintas data jeung instruksi fetches. Dokumén ieu nunjukkeun fitur anu béda anu dirojong ku ICACHE sareng DCACHE, kesederhanaan sareng kalenturan konfigurasina ngamungkinkeun biaya pangwangunan anu langkung handap sareng waktos anu langkung gancang ka pasar.

Riwayat révisi

Méja 11. Sajarah révisi dokumén

titimangsa Vérsi Parobahan
10-Okt-2019 1 Pelepasan awal.
 

 

27-Feb-2020

 

 

2

Diropéa:

• Méja 2. Wewengkon memori sareng alamatna

• Bagian 2.1.7 pangropéa ICACHE

• Bagian 2.1.8 kaamanan ICACHE

 

 

 

 

7-Désémber-2021

 

 

 

 

3

Diropéa:

• Judul Dokumén

• Bubuka

• Bagian 1 ICACHE na DCACHE leuwihview

• Bagian 4 Kacindekan Ditambahkeun:

• Bagian 2 fitur ICACHE na DCACHE

• Bagéan 3 ICACHE na DCACHE kinerja sarta konsumsi kakuatan

 

 

 

 

 

 

15-Feb-2023

 

 

 

 

 

 

4

Diropéa:

•         Bagéan 2.2: Arsitéktur pinter séri STM32U5

•         Bagian 2.5: diagram blok DCACHE

•         Bagéan 3.1.1: Ganda master

•         Bagian 3.1.2: 1 arah versus 2 arah ICACHE

•         Bagéan 3.1.4: Wewengkon anu tiasa disimpen sareng fitur remapping

•         Bagian 3.2: fitur DCACHE

•         Bagian 3.2.2: wewengkon cacheable DCACHE

•         Bagian 4: ICACHE na DCACHE kinerja sarta konsumsi kakuatan Ditambahkeun:

•         Bagian 1: Inpormasi umum

 

11-Mar-2024

 

5

Diropéa:

•         Bagéan 2.3: Arsitéktur pinter séri STM32H5

•         Bagéan 3.1.1: Ganda master

PERHATOSAN PENTING – BACA TELITI
STMicroelectronics NV sareng anak perusahaanna ("ST") ngagaduhan hak pikeun ngarobih, koréksi, perbaikan, modifikasi, sareng perbaikan produk ST sareng / atanapi dokumen ieu iraha waé tanpa aya bewara. Purchasers kudu ménta inpo relevan panganyarna dina produk ST saméméh nempatkeun pesenan. Produk ST dijual dumasar kana syarat sareng kaayaan penjualan ST anu aya dina waktos pangakuan pesenan. Purchasers téh solely jawab pilihan, seleksi, sarta pamakéan produk ST sarta ST nganggap euweuh liability pikeun bantuan aplikasi atawa desain produk purchasers '. Henteu aya lisénsi, terang atanapi tersirat, kana hak cipta intelektual anu dipasihkeun ku ST di dieu. Dijual deui produk ST kalayan katangtuan anu béda sareng inpormasi anu dijelaskeun di dieu bakal ngabatalkeun jaminan anu dipasihkeun ku ST pikeun produk sapertos kitu. ST jeung logo ST mangrupakeun mérek dagang ti ST. Pikeun émbaran tambahan ngeunaan mérek dagang ST, tingal www.st.com/trademarks. Sadaya nami produk atanapi jasa sanés mangrupikeun hak milik nu gaduhna. Inpormasi dina dokumén ieu ngagentos sareng ngagentos inpormasi anu disayogikeun saacanna dina versi sateuacana tina dokumén ieu. © 2024 STMicroelectronics – Sadaya hak ditangtayungan

Dokumén / Sumberdaya

STMicroelectronics STM32H5 Series Microcontrollers [pdf] Manual pamaké
STM32H5 Series Mikrokontroler, STM32H5, Series Mikrokontroler, Mikrokontroler

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *