STMicroelectronics STM32H5 seriyalı mikro nəzarətçilər

Giriş
Bu proqram qeydi STMicroelectronics tərəfindən hazırlanmış ilk keşlər olan təlimat keşini (ICACHE) və məlumat keşini (DCACHE) təsvir edir. Arm® Cortex®-M33 prosessorunun AHB avtobusunda təqdim edilən ICACHE və DCACHE aşağıdakı cədvəldə sadalanan STM32 mikro nəzarət cihazına (MCU) daxil edilmişdir. Bu keşlər istifadəçilərə həm daxili, həm də xarici yaddaşlardan təlimat və məlumatları əldə edərkən və ya xarici yaddaşlardan məlumat trafiki üçün tətbiq performansını yaxşılaşdırmağa və istehlakı azaltmağa imkan verir. Bu sənəd tipik eksampICACHE və DCACHE xüsusiyyətlərini vurğulamaq və onların konfiqurasiyasını asanlaşdırmaq üçün.
Cədvəl 1. Tətbiq olunan məhsullar
| Növ | Məhsul seriyası |
| Mikro nəzarətçilər | STM32H5 seriyası, STM32L5 seriyası, STM32U5 seriyası |
Ümumi məlumat
Qeyd:
Bu proqram qeydi Arm® Cortex® əsaslı cihazlar olan STM32 seriyalı mikrokontrollerlərə aiddir. Arm Arm Limited-in (və ya onun törəmə şirkətlərinin) ABŞ və/və ya başqa yerlərdə qeydə alınmış ticarət nişanıdır.
ICACHE və DCACHE bitdiview
Bu bölmə bir bit təmin edirview STM32 Arm® Cortex® əsaslı mikrokontrolörlərdə quraşdırılmış ICACHE və DCACHE interfeyslərinin. Bu bölmədə ICACHE və DCACHE diaqramı və sistem arxitekturasına inteqrasiya təfərrüatları verilir.
STM32L5 seriyalı ağıllı arxitektura
Bu arxitektura çoxlu masterlara (Cortex-M33, ICACHE, DMA1/2 və SDMMC1) çoxsaylı qullara (flash yaddaş, SRAM1/2, OCTOSPI1 və ya FSMC kimi) daxil olmağa imkan verən avtobus matrisinə əsaslanır. Aşağıdakı rəqəm STM32L5 seriyalı ağıllı arxitekturasını təsvir edir.
Şəkil 1. STM32L5 seriyalı ağıllı arxitektura

Cortex-M33 performansı, sürətli avtobus vasitəsilə daxili yaddaşlardan (flash yaddaş, SRAM8 və ya SRAM1) kodu və ya məlumatları əldə edərkən, C-AHB avtobusuna təqdim edilmiş 2 Kbaytlıq ICACHE interfeysindən istifadə etməklə yaxşılaşdırılır. yavaş avtobus vasitəsilə xarici yaddaşlar (OCTOSPI1 və ya FSMC).
STM32U5 seriyalı ağıllı arxitektura
Bu arxitektura çoxlu masterlara (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D və SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) çoxsaylı qullara (flash yaddaş, SRAM, BKPSRAM, HSPI/ kimi) daxil olmaq imkanı verən avtobus matrisinə əsaslanır. OCTOSPI və ya FSMC).Aşağıdakı rəqəm STM32U5 seriyalı ağıllı arxitekturasını təsvir edir.
Şəkil 2. STM32U5 seriyalı ağıllı arxitektura

Cortex-M33 və GPU2D interfeysləri hər ikisi CACHE-dən istifadə edir.
- ICACHE daxili yaddaşlardan sürətli avtobus (flash yaddaş, SRAM-lar) və yavaş avtobus (OCTOSPI33/1 və HSPI2 və ya FSMC) vasitəsilə xarici yaddaşlardan kod və ya məlumat əldə edərkən Cortex-M1-ün işini yaxşılaşdırır. DCACHE1 s‑bus (GFXMMU, OCTOSPI1/2 və HSPI1 və ya FSMC) vasitəsilə daxili və ya xarici yaddaşlardan məlumat əldə edərkən performansı yaxşılaşdırır.
- DCACHE2 daxili və xarici yaddaşlardan (GFXMMU, flash yaddaş, SRAM-lar, OCTOSPI2/1 və HSPI2 və ya FSMC) M1 port avtobusu vasitəsilə məlumat əldə edərkən GPU0D-nin işini yaxşılaşdırır.
STM32H5 seriyalı ağıllı arxitektura
STM32H523/H533, STM32H563/H573 və STM32H562 ağıllı arxitekturası Bu arxitektura çoxlu masterlara (Cortex-M33, ICACHE, DCACHE, GPDMAs, Ethernet və SDMMCs) çoxlu kölələrə (SRAMPSK, flash yaddaş kimi) daxil olmaq imkanı verən avtobus matrisinə əsaslanır. , OCTOSPI və FMC). Aşağıdakı rəqəm STM32H5 seriyalı ağıllı arxitekturasını təsvir edir.
Şəkil 3. STM32H563/H573 və STM32H562 seriyalı ağıllı arxitektura

Cortex-M33 CACHE-dən istifadə etməkdən faydalanır.
- ICACHE daxili yaddaşlardan sürətli avtobus (flash yaddaş, SRAM) və xarici yaddaşlardan yavaş avtobus (OCTOSPI və FMC) vasitəsilə kod və ya məlumat əldə edərkən Cortex-M33-ün işini yaxşılaşdırır.
- DCACHE yavaş avtobus (OCTOSPI və FMC) vasitəsilə xarici yaddaşlardan məlumat əldə edərkən performansı yaxşılaşdırır.
STM32H503 ağıllı memarlıq
Bu arxitektura çoxlu masterlara (Cortex-M33, ICACHE və GPDMA) çoxsaylı qullara (flash yaddaş, SRAM və BKPSRAM kimi) daxil olmağa imkan verən avtobus matrisinə əsaslanır. Aşağıdakı rəqəm STM32H5 seriyalı ağıllı arxitekturasını təsvir edir.
Şəkil 4. STM32H503 seriyalı ağıllı arxitektura

Cortex-M33 CACHE-dən istifadə etməkdən faydalanır.
- ICACHE sürətli avtobus (flash yaddaş, SRAM) vasitəsilə daxili yaddaşlardan kod və ya məlumat əldə edərkən Cortex-M33-ün işini yaxşılaşdırır.
ICACHE blok diaqramı
ICACHE blok diaqramı aşağıdakı şəkildə verilmişdir.
Şəkil 5. ICACHE blok diaqramı

ICACHE yaddaşına daxildir:
- the TAG ilə yaddaş:
- ünvan tags keş məlumat yaddaşında hansı məlumatların olduğunu göstərir
- etibarlılıq bitləri
- keşləşdirilmiş məlumatları ehtiva edən məlumat yaddaşı
DCACHE blok diaqramı
DCACHE blok diaqramı aşağıdakı şəkildə verilmişdir.
Şəkil 6. DCACHE blok diaqramı

DCACHE yaddaşına daxildir:
- the TAG ilə yaddaş:
- ünvan tags keş məlumat yaddaşında hansı məlumatların olduğunu göstərir
- etibarlılıq bitləri
- imtiyaz bitləri
- çirkli bitlər
- keşləşdirilmiş məlumatları ehtiva edən məlumat yaddaşı
ICACHE və DCACHE xüsusiyyətləri
İkili ustalar
ICACHE AHB avtobus matrisinə aşağıdakılar vasitəsilə daxil olur:
- Bir AHB master portu: master1 (sürətli avtobus)
- İki AHB master portu: master1 (sürətli avtobus) və master2 (yavaş avtobus)
Bu xüsusiyyət müxtəlif yaddaş bölgələrinə (məsələn, daxili flash yaddaş, daxili SRAM və xarici yaddaşlar) daxil olarkən, keş buraxılışlarında CPU dayanmalarını azaltmaq üçün trafikin ayrılmasına imkan verir. Aşağıdakı cədvəl yaddaş bölgələrini və onların ünvanlarını ümumiləşdirir.
Cədvəl 2. Yaddaş bölgələri və onların ünvanları
| Periferik | Keşlənə bilən yaddaşa giriş | Keşlənə bilən yaddaş girişi deyil | |||||||
|
Növ |
ad |
Məhsulun adı və bölgə ölçüsü |
Avtobus adı |
Təhlükəsiz bölgə başlanğıc ünvanı |
Təhlükəsiz, təhlükəsiz olmayan zəng edilə bilən bölgə başlanğıc ünvanı |
Avtobus adı |
Təhlükəsiz bölgə başlanğıc ünvanı |
Təhlükəsiz, təhlükəsiz olmayan zəng edilə bilən bölgə başlanğıc ünvanı | |
|
Daxili |
FLASH |
STM32H503 | 128 KB |
ICACHE sürətli avtobus |
0x0800 0000 |
Yoxdur |
Yoxdur |
Yoxdur |
Yoxdur |
| STM32L5
seriyası/ 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 |
Yoxdur |
S-avtobus |
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
seriyası |
16 KB | 0x0A00 4000 | Yoxdur | 0x2000 4000 | Yoxdur | |||
| 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 |
||||
| Periferik | Keşlənə bilən yaddaşa giriş | Keşlənə bilən yaddaş girişi deyil | |||||||
|
Daxili |
SRAM2 |
STM32H563/ 573/562 | 80 KB |
ICACHE sürətli avtobus |
0x0A04 0000 | 0x0E04 0000 |
S-avtobus |
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 |
Yoxdur |
|||
|
Xarici |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE yavaş avtobus |
[0x0000 0000 diapazonunda ləqəb ünvanı 0x07FF FFFF] və ya [0x1000 0000:0x1FFF FFFF] remapping xüsusiyyəti ilə müəyyən edilir |
Yoxdur |
0xA000 0000 | ||
| FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
|
OCTOSPI1 bank etibarsız |
STM32L5/U5
seriyası STM32H563/ 573/562 |
0x9000 0000 |
|||||||
|
FMC bank 3 təhlükəsiz olmayan |
STM32L5/U5
seriyası STM32H563/ 573/562 |
0x8000 0000 |
|||||||
| OCTOSPI2
bank etibarsız |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0x7000 0000 |
|||||||
|
FMC bank 1 təhlükəsiz olmayan |
STM32L5/U5
seriyası STM32H563/ 573/562 |
0x6000 0000 |
|||||||
1. Belə bölgələrin yenidən xəritələşdirilməsi zamanı seçilməlidir.
1 yollu 2 yollu ICACHE
Varsayılan olaraq, ICACHE assosiativ iş rejimində konfiqurasiya edilir (iki yol aktivdir), lakin çox aşağı enerji istehlakı tələb edən proqramlar üçün ICACHE-ni birbaşa xəritələnmiş rejimdə (birtərəfli aktiv) konfiqurasiya etmək mümkündür. ICACHE konfiqurasiyası ICACHE_CR-də WAYSEL biti ilə aşağıdakı kimi aparılır:
- WAYSEL = 0: birbaşa xəritələşdirilmiş iş rejimi (1 yollu)
- WAYSEL = 1 (standart): assosiativ iş rejimi (2 yollu)
Cədvəl 3. 1 yollu və 2 yollu ICACHE
| Parametr | 1 tərəfli ICACHE | 2 tərəfli ICACHE |
| Keş ölçüsü (Kbayt) | 8(1)/32(2) | |
| Bir neçə yolla önbelleğe alın | 1 | 2 |
| Keş xəttinin ölçüsü | 128 bit (16 bayt) | |
| Keş xətlərinin sayı | 512(1)/2048(2) | Hər istiqamətdə 256(1)/1024(2). |
- STM32L5 seriyası /STM32H5 seriyası /STM32U535/545/575/585 üçün
- For STM32U59x/5Ax/5Fx/5Gx
Burst növü
Bəzi Octo-SPI yaddaşları WRAP partlamasını dəstəkləyir, bu da kritik sözdən əvvəl funksiya performansının faydasını təmin edir. Remapped regionlar üçün AHB yaddaş əməliyyatının ICACHE partlayış növü konfiqurasiya edilə bilər. O, ICACHE_CRRx registrində HBURST biti ilə seçilmiş artımlı partlayış və ya WRAP partlayışını həyata keçirir. WRAP və artımlı partlayışlar arasındakı fərqlər aşağıda verilmişdir (həmçinin şəklə bax):
- WRAP partlaması:
- keş xəttinin ölçüsü = 128 bit
- Başlamaq üçün partlayış ünvanı = CPU tərəfindən tələb olunan ilk məlumatın söz ünvanı
- Artan partlayış:
- keş xəttinin ölçüsü = 128 bit
- partlama başlanğıc ünvanı = tələb olunan sözü ehtiva edən keş xəttinin sərhəddinə düzülmüş ünvan
Şəkil 7. Artan və WRAP partlaması

Keşlənə bilən bölgələr və remapping xüsusiyyəti
ICACHE C-AHB avtobusu vasitəsilə Cortex-M33-ə qoşulur və [0x0000 0000 - 0x1FFF FFFF] ünvanlarından kod bölgəsini keşləyir. Xarici yaddaşlar [0x6000 0000 - 0xAFFF FFFF] diapazonunda bir ünvanda xəritələndiyinə görə, ICACHE hər hansı xarici yaddaş bölgəsinin [0x0000 0000 - 0x07FF FFFF] diapazonunda olan ünvanda yenidən xəritələşdirilməsinə imkan verən remap funksiyasını dəstəkləyir. [0x1000 0000 - 0x1FFF FFFF] və C-AHB avtobusu vasitəsilə əlçatan olmaq. Bu funksiya ilə dördə qədər xarici yaddaş bölgəsi dəyişdirilə bilər. Bölgə yenidən xəritələndikdən sonra, ICACHE söndürüldükdə və ya tranzaksiya keş edilə bilməzsə belə, yenidən xəritələmə əməliyyatı baş verir. Keşlənə bilən yaddaş bölgələri istifadəçi tərəfindən yaddaş qoruma vahidində (MPU) müəyyən edilə və proqramlaşdırıla bilər. Aşağıdakı cədvəl STM32L5 və STM32U5 seriyalı yaddaşların konfiqurasiyalarını ümumiləşdirir.
Cədvəl 4. STM32L5 və STM32U5 seriyalı yaddaşların konfiqurasiyası
|
Məhsul yaddaşı |
Keşlənə bilən
(MPU proqramlaşdırma) |
ICACHE-də yenidən təsvir edilmişdir
(ICACHE_CRRx proqramlaşdırma) |
| Flash yaddaş | Bəli və ya Xeyr |
Tələb olunmur |
| SRAM | Tövsiyə edilmir | |
| Xarici yaddaşlar (HSPI/ OCTOSPI və ya FSMC) | Bəli və ya Xeyr | İstifadəçi C-AHB avtobusunda (S-AHB avtobusunda başqa) xarici kodun alınmasını istəyirsə tələb olunur. |
ICACHE xarici yaddaşın yenidən qurulmasının faydası
keçmişampAşağıdakı şəkildəki le kodun icrası zamanı ICACHE təkmilləşdirilmiş performansından və ya xarici 8 Mbaytlıq xarici Octo-SPI yaddaşına (məsələn, xarici fleş yaddaş və ya RAM) daxil olduqda oxunan məlumatdan necə faydalanmağı göstərir.
Şəkil 8. Octo-SPI yaddaş remap example

Bu xarici yaddaşı dəyişdirmək üçün aşağıdakı addımlar lazımdır:
Xarici yaddaş üçün OCTOSPI konfiqurasiyası
Xarici yaddaşa Yaddaş eşleme rejimində daxil olmaq üçün OCTOSPI interfeysini konfiqurasiya edin (xarici yaddaş [0x9000 0000 - 0x9FFF FFFF] bölgəsində xəritələnmiş daxili yaddaş kimi görünür). Xarici yaddaşın ölçüsü 8 Mbayt olduğundan, [0x9000 0000 - 0x907F FFFF] bölgəsində görünür. Bu bölgədəki xarici yaddaşa S‑bus vasitəsilə daxil olur və keşlənə bilməz. Növbəti addım bu bölgənin yenidən xəritəsini çəkmək üçün ICACHE konfiqurasiyasını göstərir.
Qeyd: Yaddaş xəritəli rejimdə OCTOSPI konfiqurasiyası üçün STM32 mikro nəzarət cihazlarında (AN5050) Octo-SPI interfeysi tətbiq qeydinə baxın.
Xarici yaddaşla xəritələnmiş bölgənin yenidən qurulması üçün ICACHE konfiqurasiyası
[8x0 9000 - 0000x0F FFFF] bölgəsində yerləşdirilmiş 907 Mbayt [0x1000 0000 - 0x107F FFFF] bölgəsinə dəyişdirilir. Onlara daha sonra yavaş avtobus (ICACHE master2 avtobusu) vasitəsilə daxil olmaq olar.
- ICACHE_CR qeydiyyat konfiqurasiyası
- EN = 0 ilə ICACHE-ni söndürün.
- WAYSEL = 1 və ya 2 ilə müvafiq olaraq 0-yollu və ya 1-yollu (tətbiq ehtiyaclarından asılı olaraq) seçin.
- ICACHE_CRRx qeydiyyat konfiqurasiyası (dörd bölgəyə qədər, x = 0 - 3)
- BASEADDR [0:1000] = 0000x28 ilə 21x0 80 əsas ünvanı (remap ünvanı) seçin.
- RSIZE[8:2] = 0x0 ilə müqayisə etmək üçün 3 Mbaytlıq bölgə ölçüsünü seçin.
- 0x9000 0000 remapped ünvanı REMAPADDR[31:21] = 0x480 seçin.
- MSTSEL = 2 ilə xarici yaddaşlar üçün ICACHE AHB master1 portunu seçin.
- HBURST = 0 ilə WRAP partlayış növünü seçin.
- REN = 1 ilə x bölgəsi üçün remappingi aktivləşdirin.
Aşağıdakı şəkildə yenidən xəritəni işə saldıqdan sonra yaddaş bölgələrinin IAR ilə necə göründüyü göstərilir.
Şəkil 9. Yaddaş bölgələrinin remapping example

8 Mbaytlıq xarici yaddaş indi yenidən dəyişdirilib və ona [0x1000 0000 - 0x107F FFFF] regionu üzərindən daxil olmaq olar.
ICACHE aktivləşdirin
- ICACHE_CR registrinin konfiqurasiyası EN = 1 ilə ICACHE-ni aktivləşdirin.
Vur və qaçıran monitorlar
ICACHE performans təhlili üçün iki monitor təqdim edir: 32 bitlik monitor və 16 bitlik buraxılmış monitor.
- Hit monitor ICACHE məzmununu vuran qul keş portunda keş edilə bilən AHB əməliyyatlarını hesablayır (gətirilmiş məlumat artıq keşdə mövcuddur). Hit monitor sayğacı ICACHE_HMONR reyestrində mövcuddur.
- Qaçırılan monitor ICACHE məzmununu əldən verən qul keş portunda keş edilə bilən AHB əməliyyatlarını hesablayır (gətirilmiş məlumat artıq keşdə mövcud deyil). Çatışmayan monitor sayğacı ICACHE_MMONR reyestrində mövcuddur.
Qeyd:
Bu iki monitor maksimum dəyərlərə çatdıqda bükülmür. Bu monitorlar ICACHE_CR registrində aşağıdakı bitlərdən idarə olunur:
- HITMEN biti (müvafiq olaraq MISSMEN bit) vuruş (müvafiq olaraq buraxılmış) monitorunu aktivləşdirmək/dayandırmaq üçün
- HITMRST biti (müvafiq olaraq MISSMRST biti) vurulmuş (müvafiq olaraq qaçırılmış) monitoru sıfırlamaq üçün enerji istehlakını azaltmaq üçün defolt olaraq bu monitorlar söndürülür.
ICACHE təmiri
Proqram təminatı ICACHE_CR reyestrində CACHEINV bitini təyin etməklə ICACHE-ni etibarsız edə bilər. Bu hərəkət bütün keşi ləğv edərək onu boş edir. Eyni zamanda, bəzi yenidən xəritələnmiş bölgələr aktivləşdirilibsə, ICACHE deaktiv edilmiş olsa belə, yenidən xəritələşdirmə funksiyası hələ də aktivdir. ICACHE yalnız oxunan əməliyyatları idarə etdiyinə və yazma əməliyyatlarını idarə etmədiyinə görə, yazılar zamanı ardıcıllığı təmin etmir. Nəticə etibarilə, proqram regionu proqramlaşdırdıqdan sonra ICACHE-ni etibarsız hesab etməlidir.
ICACHE təhlükəsizliyi
ICACHE GTZC TZSC təhlükəsiz konfiqurasiya reyestri vasitəsilə təhlükəsiz kimi konfiqurasiya oluna bilən təhlükəsiz periferik qurğudur. Təhlükəsiz olaraq konfiqurasiya edildikdə, ICACHE registrlərinə yalnız təhlükəsiz girişlərə icazə verilir. ICACHE həmçinin GTZC TZSC imtiyaz konfiqurasiya reyestrindən istifadə edərək imtiyazlı kimi konfiqurasiya edilə bilər. ICACHE imtiyazlı kimi konfiqurasiya edildikdə, ICACHE registrlərinə yalnız imtiyazlı girişlərə icazə verilir. Varsayılan olaraq, ICACHE GTZC TZSC vasitəsilə təhlükəsiz deyil və imtiyazlı deyil.
Hadisə və fasilələrin idarə edilməsi
ICACHE ICACHE_SR-də ERRF bayrağını təyin etməklə aşkar edildikdə funksional səhvləri idarə edir. ERRIE biti ICACHE_IER-də təyin olunarsa, kəsilmə də yaradıla bilər. ICACHE-nin etibarsız olması halında, keşlə məşğul olma vəziyyəti başa çatdıqda, BSYENDF bayrağı ICACHE_SR-də təyin olunur. BSYENDIE biti ICACHE_IER-də təyin olunarsa, kəsilmə də yaradıla bilər. Aşağıdakı cədvəldə ICACHE kəsmə və hadisə bayraqları verilmişdir.
Cədvəl 5. ICACHE kəsilməsi və hadisələrin idarə edilməsi bitləri
| Qeydiyyatdan keçin | Bit adı | Bit təsviri | Bit giriş növü |
|
ICACHE_SR |
MƏŞĞUL | Tam etibarsız etmə əməliyyatını yerinə yetirən keş |
Yalnız oxumaq üçün |
| BSYENDF | Keşi etibarsız etmə əməliyyatı tamamlandı | ||
| XƏTA | Keşləmə əməliyyatı zamanı xəta baş verdi | ||
|
ICACHE_IER |
ERRIE | Keş xətası üçün kəsməni aktivləşdirin |
Oxumaq/yazmaq |
| BSYENDIE | Etibarsızlaşdırma əməliyyatı başa çatdıqda kəsməni aktivləşdirin | ||
|
ICACHE_FCR |
CERRF | ICACHE_SR-də ERRF-ni təmizləyir |
Yalnız yazın |
| CBSYENDF | ICACHE_SR-də BSYENDF-ni təmizləyir |
DCACHE xüsusiyyətləri
Məlumat keşinin məqsədi prosessordan və ya digər avtobus əsas periferiyasından gələn xarici yaddaş məlumat yüklərini və məlumat anbarlarını keş etməkdir. DCACHE həm oxumaq, həm də yazma əməliyyatlarını idarə edir.
DCACHE önbelleğe alma trafiki
DCACHE xarici yaddaşları AHB avtobusu vasitəsilə master port interfeysindən yaddaşa alır. Daxil olan yaddaş sorğuları onun AHB əməliyyat yaddaşının bloklanması atributuna uyğun olaraq keş edilə bilən kimi müəyyən edilir. DCACHE yazma siyasəti MPU tərəfindən konfiqurasiya edilmiş yaddaş atributundan asılı olaraq yazma və ya geri yazma kimi müəyyən edilir. Bölgə önbelleğe alınmayan kimi konfiqurasiya edildikdə, DCACHE-dən yan keçir.
Cədvəl 6. AHB tranzaksiyası üçün DCACHE keş qabiliyyəti
| AHB axtarış atributu | AHB bufer atributu | Keşlənmə qabiliyyəti |
| 0 | X | Oxumaq və yazmaq: önbelleğe alınmır |
|
1 |
0 |
Oxuyun: önbelleğe alına bilən
Write: (cacheable) write-through |
|
1 |
1 |
Oxuyun: önbelleğe alına bilən
Yaz: (keşlənə bilən) geri yazma |
DCACHE önbelleğe alına bilən bölgələr
STM32U5 seriyası üçün DCACHE1 kölə interfeysi S-AHB avtobusu vasitəsilə Cortex-M33-ə qoşulur və GFXMMU, FMC və HSPI/OCTOSPI-ləri önbelleğe alır. DCACHE2 kölə interfeysi M2 port şini vasitəsilə DMA0D-yə qoşulur və bütün daxili və xarici yaddaşları (SRAM4 və BRKPSRAM istisna olmaqla) keş saxlayır. STM32H5 seriyası üçün DCACHE kölə interfeysi FMC və OCTOSPI vasitəsilə S-AHB xarici yaddaşları vasitəsilə Cortex-M33-ə qoşulur.
Cədvəl 7. DCACHE keşlənən regionlar və interfeyslər
| Keşlənə bilən yaddaş ünvanı bölgəsi | DCACHE1 önbelleğe alına bilən interfeyslər | DCACHE2 önbelleğe alına bilən interfeyslər |
| GFXMMU | X | X |
| SRAM1 |
Yoxdur |
X |
| SRAM2 | X | |
| SRAM3 | X | |
| SRAM5 | X | |
| SRAM6 | X | |
| HSPI1 | X | X |
| OCTOSPI1 | X | X |
| FMC BANKLAR | X | X |
| OCTOSPI2 | X | X |
Qeyd
Bəzi interfeyslər müəyyən məhsullarda dəstəklənmir. Şəkil 1-ə və ya xüsusi məhsula istinad kitabçasına baxın.
Burst növü
ICACHE kimi, DCACHE artımlı və bükülmüş partlayışları dəstəkləyir (bax: Bölmə 3.1.3). DCACHE üçün partlama növü DCACHE_CR-də HBURST biti vasitəsilə konfiqurasiya edilir.
DCACHE konfiqurasiyası
Yükləmə zamanı DCACHE defolt olaraq söndürülür və kölə yaddaş sorğuları birbaşa master porta ötürülür. DCACHE-ni aktivləşdirmək üçün DCACHE_CR registrində EN biti təyin edilməlidir. Vur və qaçıran monitorlar DCACHE keş performansının təhlili üçün dörd monitor tətbiq edir:
- İki 32 bitlik (R/W) monitor: DCACHE master portlarında əməliyyat yaratmadan CPU-nun keş yaddaşında verilənləri oxuma və ya yazma sayını hesablayır (məlumat artıq keşdə mövcuddur). (R/W) vuruş monitorları sayğacları müvafiq olaraq DCACHE_RHMONR və DCACHE_WHMONR registrlərində mövcuddur.
- İki 16 bitlik (R/W) buraxılmış monitorlar: yaddaş bölgəsindən məlumatı yükləmək üçün CPU-nun keş yaddaşında verilənləri oxuması və ya yazması və DCACHE master portlarında tranzaksiya yaratmasının sayını hesablayın (gətirilmiş məlumat yoxdur keşdə artıq mövcuddur). (R/W) qaçırılan monitor sayğacları müvafiq olaraq DCACHE_RMMONR və DCACHE_WMMONR registrlərində mövcuddur.
Qeyd:
Bu dörd monitor maksimum dəyərlərə çatdıqda bükülmür. Bu monitorlar DCACHE_CR registrində aşağıdakı bitlərdən idarə olunur:
- WHITMAN biti (müvafiq olaraq WMISSMEN biti) yazma vuruşunu (müvafiq olaraq qaçır) monitoru aktivləşdirmək/dayandırmaq üçün
- RHITMEN biti (müvafiq olaraq RMISSMEN bit) oxunma hit (müvafiq olaraq qaçırma) monitorunu aktivləşdirmək/dayandırmaq üçün
- WHITMRST bit (müvafiq olaraq WMISSMRST bit) yazma hit (müvafiq olaraq qaçırılmış) monitorunu sıfırlamaq üçün
- RHITMRST biti (müvafiq olaraq RMISSMRST biti) oxunma hit (müvafiq olaraq qaçırılmış) monitorunu sıfırlamaq üçün
Varsayılan olaraq, enerji istehlakını azaltmaq üçün bu monitorlar söndürülür.
DCACHE təmiri
DCACHE DCACHE_CR-də CACHECMD[2:0] vasitəsilə konfiqurasiya edilə bilən çoxsaylı texniki xidmət əməliyyatları təklif edir.
- 000: əməliyyat yoxdur (defolt)
- 001: təmiz sıra. Keşdə müəyyən bir aralığı təmizləyin
- 010: sıranı etibarsız edin. Keşdəki müəyyən aralığı etibarsız edin
- 010: aralığı təmizləyin və etibarsız edin. Keşdəki müəyyən aralığı təmizləyin və etibarsız edin
Seçilmiş diapazon aşağıdakılar vasitəsilə konfiqurasiya edilir:
- CMDSTARTADDR reyestri: əmrin başlanğıc ünvanı
- CMDENDADDR reyestri: əmrin son ünvanı
Qeyd:
Bu registr CACHECMD yazılmamışdan əvvəl təyin edilməlidir. Keş əmrinə qulluq STARTCMD biti DCACHE_CR registrində təyin edildikdə başlayır. DCACHE həmçinin DCACHE_CR registrində CACHEINV bitini təyin etməklə tam CACHE etibarsızlığını dəstəkləyir.
DCACHE təhlükəsizliyi
DCACHE GTZC TZSC təhlükəsiz konfiqurasiya reyestri vasitəsilə təhlükəsiz kimi konfiqurasiya edilə bilən təhlükəsiz periferikdir. Təhlükəsiz olaraq konfiqurasiya edildikdə, DCACHE registrlərinə yalnız təhlükəsiz girişlərə icazə verilir. DCACHE həmçinin GTZC TZSC imtiyaz konfiqurasiya reyestrindən istifadə edərək imtiyazlı kimi konfiqurasiya edilə bilər. DCACHE imtiyazlı kimi konfiqurasiya edildikdə, DCACHE registrlərinə yalnız imtiyazlı girişlərə icazə verilir. Varsayılan olaraq, DCACHE GTZC TZSC vasitəsilə təhlükəsiz deyil və imtiyazlı deyil.
Hadisə və fasilələrin idarə edilməsi
DCACHE, DCACHE_SR-də ERRF bayrağını təyin etməklə aşkar edildikdə funksional səhvləri idarə edir. ERRIE biti DCACHE_IER-də təyin olunarsa, kəsmə də yaradıla bilər. DCACHE-nin etibarsız olması halında, keşlə məşğul olma vəziyyəti başa çatdıqda, BSYENDF bayrağı DCACHE_SR-də təyin olunur. BSYENDIE biti DCACHE_IER-də təyin olunarsa, kəsilmə də yaradıla bilər. DCACHE komanda statusu DCACHE_SR vasitəsilə CMDENF və BUSYCMDF vasitəsilə yoxlana bilər, əgər CMDENDIE biti DCACHE_IER-də qurulubsa, kəsmə də yaradıla bilər. Aşağıdakı cədvəldə DCACHE kəsmələri və hadisə bayraqları verilmişdir
Cədvəl 8. DCACHE kəsmə və hadisələrin idarə edilməsi bitləri
| Qeydiyyatdan keçin | Qeydiyyatdan keçin | Bit təsviri | Bit giriş növü |
|
DCACHE_SR |
MƏŞĞUL | Tam etibarsız etmə əməliyyatını yerinə yetirən keş |
Yalnız oxumaq üçün |
| BSYENDF | Keşi tam etibarsız etmə əməliyyatı başa çatdı | ||
| BUSYCMDF | Bir sıra əmrini yerinə yetirən keş | ||
| CMDENDF | Bir sıra əmrinin sonu | ||
| ERRF | Keşləmə əməliyyatı zamanı xəta baş verdi | ||
|
DCACHE_IER |
ERRIE | Keş xətası üçün kəsməni aktivləşdirin |
Oxumaq/yazmaq |
| CMDENDIE | Aralıq əmrinin sonunda kəsilməni aktivləşdirin | ||
| BSYENDIE | Tam etibarsız əməliyyat sonunda kəsməni aktivləşdirin | ||
|
DCACHE_FCR |
CERRF | DCACHE_SR-də ERRF-i təmizləyir |
Yalnız yazın |
| CCMDENDF | DCACHE_SR-də CMDENDF-ni təmizləyir | ||
| CBSYENDF | DCACHE_SR-də BSYENDF-ni təmizləyir |
ICACHE və DCACHE performansı və enerji istehlakı
ICACHE və DCACHE-dən istifadə xarici yaddaşlara daxil olduqda tətbiqin işini yaxşılaşdırır. Aşağıdakı cədvəl xarici yaddaşlara daxil olarkən ICACHE və DCACHE-nin CoreMark® icrasına təsirini göstərir.
Cədvəl 9. Xarici yaddaşlarla CoreMark icrası üzrə ICACHE və DCACHE performansı
| (1) | ||||
| CoreMark kodu | CoreMark Data | ICACHE konfiqurasiyası | DCACHE konfiqurasiyası | CoreMark hesabı/Mhz |
| Daxili Flash yaddaş | Daxili SRAM | Aktivdir (2 yollu) | Əlil | 3.89 |
| Daxili Flash yaddaş | Xarici Octo-SPI PSRAM ( S‑bus) | Aktivdir (2 yollu) | Aktivdir | 3.89 |
| Daxili Flash yaddaş | Xarici Octo-SPI PSRAM ( S‑bus) | Aktivdir (2 yollu) | Əlil | 0.48 |
| Xarici Octo-SPI Flash (C-avtobus) | Daxili SRAM | Aktivdir (2 yollu) | Əlil | 3.86 |
| Xarici Octo-SPI Flash (C-avtobus) | Daxili SRAM | Əlil | Əlil | 0.24 |
| Daxili Flash yaddaş | Daxili SRAM | Əlil | Əlil | 2.69 |
Test şərtləri:
- Tətbiq olunan məhsul: STM32U575/585
- Sistem tezliyi: 160 MHz.
- Xarici Octo-SPI PSRAM yaddaşı: 80 MHz (DTR rejimi).
- Xarici Octo-SPI flash yaddaş: 80 MHz (STR rejimi).
- Kompilyator: IAR V8.50.4.
- Daxili Flaş ÖN YÜKLƏMƏ: ON.
ICACHE və DCACHE-dən istifadə daxili və xarici yaddaşlara daxil olarkən enerji sərfiyyatını azaldır. Aşağıdakı cədvəl CoreMark icrası zamanı ICACHE-nin enerji istehlakına təsirini göstərir.
Cədvəl 10. CoreMark icrası ICACHE-nin enerji istehlakına təsiri
| ICACHE konfiqurasiyası | MCU enerji istehlakı (mA) |
| Aktivdir (2 yollu) | 7.60 |
| Aktivdir (1 tərəfli) | 7.13 |
| Əlil | 8.89 |
- Test şərtləri:
- Tətbiq olunan məhsul: STM32U575/585
- CoreMark kodu: daxili Flash yaddaş.
- CoreMark məlumatları: daxili SRAM.
- Daxili Flash yaddaş PREFETCH: ON.
- Sistem tezliyi: 160 MHz.
- Kompilyator: IAR V8.32.2.
- Cildtage diapazonu: 1.
- SMPS: ON.
- yol dəsti assosiativ konfiqurasiyası keşdə tam yüklənə bilməyən kod üçün 1 yollu dəst assosiativ konfiqurasiyadan daha effektivdir. Eyni zamanda, 1 yollu assosiativ keş demək olar ki, həmişə 2 yollu assosiativ keşdən daha çox enerji sərf edir. Performans və enerji istehlakı arasında ən yaxşı uyğunluğu seçmək üçün hər bir kod hər iki assosiativ konfiqurasiyada qiymətləndirilməlidir. Seçim istifadəçinin prioritetindən asılıdır.
Nəticə
STMicroelectronics, ICACHE və DCACHE tərəfindən hazırlanmış ilk keşlər daxili və xarici yaddaşları yaddaşda saxlamağa qadirdir, məlumat trafiki və təlimatların alınması üçün performansın artırılmasını təklif edir. Bu sənəd ICACHE və DCACHE tərəfindən dəstəklənən müxtəlif xüsusiyyətləri göstərir, onların konfiqurasiyasının sadəliyi və çevikliyi inkişaf xərclərini aşağı salmağa və bazara daha sürətli vaxt ayırmağa imkan verir.
Təftiş tarixi
Cədvəl 11. Sənədin təftiş tarixi
| Tarix | Versiya | Dəyişikliklər |
| 10-2019 oktyabr | 1 | İlkin buraxılış. |
|
27-fevral 2020 |
2 |
Yenilənib:
• Cədvəl 2. Yaddaş bölgələri və onların ünvanları • Bölmə 2.1.7 ICACHE texniki xidməti • Bölmə 2.1.8 ICACHE təhlükəsizliyi |
|
7-2021 dekabr |
3 |
Yenilənib:
• Sənədin adı • Giriş • Bölmə 1 ICACHE və DCACHE bitdiview • Bölmə 4 Nəticə Əlavə edilib: • Bölmə 2 ICACHE və DCACHE xüsusiyyətləri • Bölmə 3 ICACHE və DCACHE performansı və enerji istehlakı |
|
15-fevral 2023 |
4 |
Yenilənib:
• Bölmə 2.2: STM32U5 seriyalı ağıllı arxitektura • Bölmə 2.5: DCACHE blok diaqramı • Bölmə 3.1.2: 1-yollu və 2-yollu ICACHE • Bölmə 3.1.4: Keşlənə bilən regionlar və remapping funksiyası • Bölmə 3.2: DCACHE xüsusiyyətləri • Bölmə 3.2.2: DCACHE keşlənən regionlar • Bölmə 4: ICACHE və DCACHE performansı və enerji istehlakı Əlavə edilib: |
|
11 mart 2024-ci il |
5 |
Yenilənib: |
Vacib XƏBƏRDARLIQ – DİQQƏTLİ OXUYUN
STMicroelectronics NV və onun törəmə müəssisələri (“ST”) istənilən vaxt xəbərdarlıq etmədən ST məhsullarına və/yaxud bu sənədə dəyişikliklər, düzəlişlər, təkmilləşdirmələr, dəyişikliklər və təkmilləşdirmələr etmək hüququnu özündə saxlayır. Alıcılar sifariş verməzdən əvvəl ST məhsulları haqqında ən son müvafiq məlumatları əldə etməlidirlər. ST məhsulları, sifarişin qəbulu zamanı mövcud olan ST-nin satış şərtlərinə uyğun olaraq satılır. Alıcılar ST məhsullarının seçimi, seçimi və istifadəsinə görə məsuliyyət daşıyırlar və ST tətbiq yardımı və ya alıcıların məhsullarının dizaynına görə heç bir məsuliyyət daşımır. ST tərəfindən hər hansı əqli mülkiyyət hüququna açıq və ya nəzərdə tutulan heç bir lisenziya verilmir. ST məhsullarının burada göstərilən məlumatdan fərqli müddəalarla yenidən satışı ST tərəfindən belə məhsul üçün verilən hər hansı zəmanəti ləğv edir. ST və ST loqosu ST-nin ticarət nişanlarıdır. ST ticarət nişanları haqqında əlavə məlumat üçün www.st.com/trademarks saytına baxın. Bütün digər məhsul və ya xidmət adları müvafiq sahiblərinin mülkiyyətidir. Bu sənəddəki məlumatlar əvvəllər bu sənədin hər hansı əvvəlki versiyalarında verilmiş məlumatları əvəz edir və əvəz edir. © 2024 STMicroelectronics – Bütün hüquqlar qorunur
Sənədlər / Resurslar
![]() |
STMicroelectronics STM32H5 seriyalı mikro nəzarətçilər [pdf] İstifadəçi Təlimatı STM32H5 seriyalı mikro nəzarətçilər, STM32H5 seriyalı mikro nəzarətçilər, mikro nəzarətçilər |

