Микроконтролери од серијата STMicroelectronics STM32H5

Вовед
Оваа белешка за апликација ги опишува кешот за инструкции (ICACHE) и кешот на податоци (DCACHE), првите кешови развиени од STMicroelectronics. ICACHE и DCACHE воведени во AHB магистралата на процесорот Arm® Cortex®-M33 се вградени во микроконтролерот STM32 (MCU) наведен во табелата подолу. Овие кешови им овозможуваат на корисниците да ги подобрат перформансите на нивните апликации и да ја намалат потрошувачката при преземање инструкции и податоци и од внатрешните и од надворешните мемории или за сообраќајот на податоци од надворешните мемории. Овој документ дава типичен прampлес за да се истакнат карактеристиките ICACHE и DCACHE и да се олесни нивната конфигурација.
Табела 1. Применливи производи
| Тип | Серија на производи |
| Микроконтролери | Серија STM32H5, серија STM32L5, серија STM32U5 |
Општи информации
Забелешка:
Оваа белешка за апликација се однесува на микроконтролерите од серијата STM32 кои се уреди базирани на јадро Arm® Cortex®. Arm е регистрирана трговска марка на Arm Limited (или нејзините подружници) во САД и/или на друго место.
ICACHE и DCACHE завршиview
Овој дел обезбедува надview на интерфејсите ICACHE и DCACHE вградени во микроконтролерите базирани на јадро STM32 Arm® Cortex®. Овој дел ги детализира дијаграмите ICACHE и DCACHE и интеграцијата во архитектурата на системот.
Паметна архитектура од серијата STM32L5
Оваа архитектура се заснова на матрица на магистралата која дозволува повеќе господари (Cortex-M33, ICACHE, DMA1/2 и SDMMC1) да пристапуваат до повеќе робови (како флеш меморија, SRAM1/2, OCTOSPI1 или FSMC). Сликата подолу ја опишува паметната архитектура на серијата STM32L5.
Слика 1. Паметна архитектура од серијата STM32L5

Перформансите на Cortex-M33 се подобруваат со користење на интерфејсот ICACHE од 8 килобајти воведен во неговата магистрала C-AHB, при преземање код или податоци од внатрешните мемории (флеш меморија, SRAM1 или SRAM2) преку брзата магистрала, а исто така и од надворешни мемории (OCTOSPI1 или FSMC) преку бавниот автобус.
Паметна архитектура од серијата STM32U5
Оваа архитектура е заснована на матрица на магистрала која им овозможува на повеќе господари (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D и SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) да пристапуваат до повеќе робови (како што се флеш меморија, SRAM, HBKPSRAM, OCTOSPI, или FSMC). Сликата подолу ја опишува паметната архитектура на серијата STM32U5.
Слика 2. Паметна архитектура од серијата STM32U5

Cortex-M33 и GPU2D интерфејсите имаат корист од користењето CACHE.
- ICACHE ги подобрува перформансите на Cortex-M33 при преземање код или податоци од внатрешните мемории преку брзата магистрала (флеш меморија, SRAM) и од надворешните мемории преку бавната магистрала (OCTOSPI1/2 и HSPI1, или FSMC). DCACHE1 ги подобрува перформансите при преземање податоци од внатрешни или надворешни мемории преку s-магистралата (GFXMMU, OCTOSPI1/2 и HSPI1 или FSMC).
- DCACHE2 ги подобрува перформансите на GPU2D при преземање податоци од внатрешни и надворешни мемории (GFXMMU, флеш меморија, SRAM, OCTOSPI1/2 и HSPI1 или FSMC) преку магистралата на портата M0.
Паметна архитектура од серијата STM32H5
STM32H523/H533, STM32H563/H573 и STM32H562 паметна архитектура Оваа архитектура се заснова на магистрална матрица која дозволува повеќе господари (Cortex-M33, ICACHE, DCACHE, GPDMA, Ethernet и SDMMCs) да пристапуваат до повеќе блиц, BPSM, Slaves, SKRAM , OCTOSPI и FMC). Сликата подолу ја опишува паметната архитектура од серијата STM32H5.
Слика 3. Паметна архитектура од сериите STM32H563/H573 и STM32H562

Кортекс-М33 има корист од користењето на CACHE.
- ICACHE ги подобрува перформансите на Cortex-M33 при преземање код или податоци од внатрешните мемории преку брза магистрала (флеш меморија, SRAM) и од надворешни мемории преку бавна магистрала (OCTOSPI и FMC).
- DCACHE ги подобрува перформансите при преземање податоци од надворешни мемории преку бавната магистрала (OCTOSPI и FMC).
STM32H503 паметна архитектура
Оваа архитектура се заснова на магистрална матрица која дозволува повеќе господари (Cortex-M33, ICACHE и GPDMA) да пристапуваат до повеќе робови (како флеш меморија, SRAM и BKPSRAM). Сликата подолу ја опишува паметната архитектура од серијата STM32H5.
Слика 4. Паметна архитектура од серијата STM32H503

Кортекс-М33 има корист од користењето на CACHE.
- ICACHE ги подобрува перформансите на Cortex-M33 при преземање код или податоци од внатрешните мемории преку брза магистрала (флеш меморија, SRAM).
Блок-дијаграм ICACHE
Блок-дијаграмот ICACHE е даден на сликата подолу.
Слика 5. Блок-дијаграм ICACHE

Меморијата ICACHE вклучува:
- на TAG меморија со:
- адресата tags кои покажуваат кои податоци се содржани во кеш меморијата на податоци
- битови за валидност
- меморијата на податоци, која ги содржи кешираните податоци
DCACHE блок дијаграм
Блок-дијаграмот DCACHE е даден на сликата подолу.
Слика 6. DCACHE блок дијаграм

DCACHE меморијата вклучува:
- на TAG меморија со:
- адресата tags кои покажуваат кои податоци се содржани во кеш меморијата на податоци
- битови за валидност
- битови за привилегии
- валканите парчиња
- меморијата на податоци, која ги содржи кешираните податоци
Карактеристики на ICACHE и DCACHE
Двојни мајстори
ICACHE пристапува до матрицата на магистралата AHB или преку:
- Една главна порта AHB: master1 (брз автобус)
- Две главни порти AHB: master1 (брз автобус) и master2 (бавен автобус)
Оваа функција овозможува раздвојување на сообраќајот кога се пристапува до различни мемориски региони (како внатрешна флеш меморија, внатрешна SRAM и надворешни мемории), со цел да се намалат застојот на процесорот при промашување на кешот. Следната табела ги сумира мемориските региони и нивните адреси.
Табела 2. Мемориски региони и нивните адреси
| Периферен | Пристап до меморијата со можност за кеширање | Пристап до меморијата што не може да се кешира | |||||||
|
Тип |
Име |
Името на производот и големината на регионот |
Име на автобусот |
Почетна адреса на небезбеден регион |
Безбедна, небезбедна почетна адреса за повикување регион |
Име на автобусот |
Почетна адреса на небезбеден регион |
Безбедна, небезбедна почетна адреса за повикување регион | |
|
Внатрешна |
БЛЕС |
STM32H503 | 128 KB |
ICACHE брз автобус |
0x0800 0000 |
N/A |
N/A |
N/A |
N/A |
| STM32L5
серија/ 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-автобус |
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
серија |
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 |
||||
| Периферен | Пристап до меморијата со можност за кеширање | Пристап до меморијата што не може да се кешира | |||||||
|
Внатрешна |
SRAM2 |
STM32H563/ 573/562 | 80 KB |
ICACHE брз автобус |
0x0A04 0000 | 0x0E04 0000 |
S-автобус |
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 |
|||
|
Надворешен |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE бавен автобус |
Адреса на алијас во опсег од [0x0000 0000 до 0x07FF FFFF] или [0x1000 0000:0x1FFF FFFF] дефинирано со функцијата за повторно мапирање |
N/A |
0xA000 0000 | ||
| FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
|
ОКТОСПИ1 банка несигурна |
STM32L5/U5
серија STM32H563/ 573/562 |
0x9000 0000 |
|||||||
|
ФМЦ банка 3 несигурни |
STM32L5/U5
серија STM32H563/ 573/562 |
0x8000 0000 |
|||||||
| ОКТОСПИ2
банка несигурна |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0x7000 0000 |
|||||||
|
ФМЦ банка 1 несигурни |
STM32L5/U5
серија STM32H563/ 573/562 |
0x6000 0000 |
|||||||
1. Да се избере при повторно мапирање на таквите региони.
1-насочен наспроти 2-насочен ICACHE
Стандардно, ICACHE е конфигуриран во асоцијативниот режим на работа (два начина е овозможен), но можно е да се конфигурира ICACHE во режим на директно мапирање (овозможено еднонасочно), за апликации кои бараат многу мала потрошувачка на енергија. Конфигурацијата ICACHE се врши со битот WAYSEL во ICACHE_CR на следниов начин:
- WAYSEL = 0: директно мапиран режим на работа (1-насочен)
- WAYSEL = 1 (стандардно): асоцијативен режим на работа (2-насочен)
Табела 3. 1-насочен наспроти 2-насочен ICACHE
| Параметар | 1-насочен ICACHE | 2-насочен ICACHE |
| Големина на кешот (Кбајти) | 8(1)/32(2) | |
| Кеширајте неколку начини | 1 | 2 |
| Големина на линијата на кешот | 128 бита (16 бајти) | |
| Број на линии за кеш | 512(1)/2048(2) | 256(1)/1024(2) по пат |
- За серија STM32L5 / серија STM32H5 / STM32U535/545/575/585
- For STM32U59x/5Ax/5Fx/5Gx
Тип на рафал
Некои Octo-SPI мемории го поддржуваат рафалот на WRAP, што ги обезбедува придобивките од критичните перформанси на функцијата „прв збор“. ICACHE рафален тип на трансакцијата на меморијата AHB за повторно мапирани региони може да се конфигурира. Имплементира инкрементален рафал или WRAP burst, избран со битот HBURST во регистарот ICACHE_CRRx. Разликите помеѓу WRAP и зголемените рафали се дадени подолу (видете ја и сликата):
- Пукна WRAP:
- Големина на кеш линијата = 128 бита
- burst to start address = збор адреса на првите податоци побарани од процесорот
- Инкрементален рафал:
- Големина на кеш линијата = 128 бита
- рафална почетна адреса = адресата е порамнета на границата на линијата на кешот што го содржи бараниот збор
Слика 7. Инкрементален наспроти WRAP пукна

Региони за кеширање и функција за повторно мапирање
ICACHE е поврзан со Cortex-M33 преку магистралата C-AHB и го кешира регионот на кодот од адресите [0x0000 0000 до 0x1FFF FFFF]. Бидејќи надворешните мемории се мапирани на адреса во опсегот [0x6000 0000 до 0xAFFF FFFF], ICACHE поддржува функција за повторно мапирање што дозволува секој надворешен мемориски регион да се пресликува на адреса во опсег од [0x0000 0000 до 0x07FF FFFF] или [0x1000 0000 до 0x1FFF FFFF] и да стане достапен преку автобусот C-AHB. Со оваа функција може да се пресликаат до четири области на надворешна меморија. Штом ќе се премапира регионот, операцијата за повторно мапирање се случува дури и ако ICACHE е оневозможен или ако трансакцијата не може да се прикаже во кеш. Мемориските региони за кеширање може да се дефинираат и програмираат од корисникот во единицата за заштита на меморијата (MPU). Табелата подолу ги сумира конфигурациите на мемориите од сериите STM32L5 и STM32U5.
Табела 4. Конфигурација на мемориите од сериите STM32L5 и STM32U5
|
Меморија на производот |
Може да се кешира
(MPU програмирање) |
Премапирано во ICACHE
(ICACHE_CRRx програмирање) |
| Флеш меморија | Да или Не |
Не е потребно |
| SRAM | Не се препорачува | |
| Надворешни мемории (HSPI/ OCTOSPI или FSMC) | Да или Не | Потребно е ако корисникот сака надворешен код да се превзема во магистралата C-AHB (друго во магистралата S-AHB) |
Придобивките од повторното мапирање на надворешната меморија ICACHE
ПоранешниотampЛе на сликата подолу покажува како да имате корист од подобрените перформанси на ICACHE за време на извршувањето на кодот или читањето на податоците при пристап до надворешна 8-мбајтна надворешна Octo-SPI меморија (како надворешна флеш меморија или RAM).
Слика 8. Octo-SPI мемориска ремапирање на прample

Следниве чекори се потребни за повторно мапирање на оваа надворешна меморија:
OCTOSPI конфигурација за надворешна меморија
Конфигурирајте го интерфејсот OCTOSPI за да пристапите до надворешната меморија во режимот „Карпиран со меморија“ (надворешната меморија се гледа како внатрешна меморија мапирана во регионот [0x9000 0000 до 0x9FFF FFFF]). Бидејќи големината на надворешната меморија е 8 Mbytes, таа се гледа во регионот [0x9000 0000 до 0x907F FFFF]. До надворешната меморија во овој регион се пристапува преку S-магистралата и не може да се кешира. Следниот чекор ја прикажува конфигурацијата ICACHE со цел повторно да се мапира овој регион.
Забелешка: За конфигурацијата OCTOSPI во режим мапиран со меморија, погледнете ја белешката за апликацијата Octo-SPI интерфејс на микроконтролерите STM32 (AN5050
ICACHE конфигурација за повторно мапирање на регионот мапиран со надворешна меморија
8-те Мбајти сместени во регионот [0x9000 0000 до 0x907F FFFF] се пресликани во регионот [0x1000 0000 до 0x107F FFFF]. Потоа може да им се пристапи преку бавната шина (автобус ICACHE master2).
- Конфигурација на регистарот ICACHE_CR
- Оневозможете го ICACHE со EN = 0.
- Изберете 1-насочен или 2-насочен (во зависност од потребите на апликацијата) со WAYSEL = 0 или 1, соодветно.
- Конфигурација на регистарот ICACHE_CRRx (до четири региони, x = 0 до 3)
- Изберете ја основната адреса 0x1000 0000 (remap адреса) со BASEADDR [28:21] = 0x80.
- Изберете ја големината на регионот од 8 Мбајти за повторно мапирање со RSIZE[2:0] = 0x3.
- Изберете ја премапираната адреса 0x9000 0000 REMAPADDR[31:21] = 0x480.
- Изберете ја портата ICACHE AHB master2 за надворешни мемории со MSTSEL = 1.
- Изберете го типот на рафал на WRAP со HBURST = 0.
- Овозможете повторно мапирање за регионот x со REN = 1.
Следната слика покажува како мемориските региони се гледаат со IAR откако ќе се овозможи повторното мапирање.
Слика 9. Мемориските региони кои се премапираат на прample

Надворешната меморија од 8 Мбајти сега е повторно мапирана и може да се пристапи преку [0x1000 0000 до 0x107F FFFF] регионот.
ICACHE овозможи
- Конфигурација на регистарот ICACHE_CR Овозможете го ICACHE со EN = 1.
Монитори за удар и промашување
ICACHE обезбедува два монитори за анализа на перформансите: 32-битен хит монитор и 16-битен монитор за промашување.
- Мониторот за удари ги брои трансакциите на AHB коишто може да се кешираат на приклучокот за slave кешот што ја погодува содржината на ICACHE (преземените податоци веќе достапни во кешот). Бројачот на монитор на удари е достапен во регистарот ICACHE_HMONR.
- Мониторот за промашување ги брои трансакциите на AHB со можност за кеширање на приклучокот за slave кеш што ја пропушта содржината на ICACHE (преземените податоци веќе не се достапни во кешот). Бројачот на мониторот што недостасува е достапен во регистарот ICACHE_MMONR.
Забелешка:
Овие два монитори не се превиткуваат кога ги достигнуваат своите максимални вредности. Овие монитори се управуваат од следните битови во регистарот ICACHE_CR:
- HITMEN бит (соодветно MISSMEN бит) за да се овозможи/запре ударот (односно пропушти) монитор
- HITMRST бит (соодветно MISSMRST бит) за ресетирање на хит (соодветно промашување) монитор Стандардно, овие монитори се оневозможени со цел да се намали потрошувачката на енергија.
Одржување на ICACHE
Софтверот може да го поништи ICACHE со поставување на битот CACHEINV во регистарот ICACHE_CR. Оваа акција го поништува целиот кеш, што го прави празен. Во меѓувреме, ако се овозможени некои премапирани региони, функцијата за повторно мапирање е сè уште активна, дури и кога ICACHE е оневозможен. Бидејќи ICACHE управува само со трансакции за читање и не управува со трансакции за запишување, тој не обезбедува кохерентност во случај на запишување. Следствено, софтверот мора да го поништи ICACHE откако ќе програмира регион.
ICACHE безбедност
ICACHE е заштитен периферен уред кој може да се конфигурира како безбеден преку регистарот за безбедна конфигурација GTZC TZSC. Кога е конфигуриран како безбеден, дозволени се само безбедни пристапи до регистрите на ICACHE. ICACHE, исто така, може да се конфигурира како привилегиран преку регистарот за конфигурација на привилегии GTZC TZSC. Кога ICACHE е конфигуриран како привилегиран, само привилегирани пристапи се дозволени до регистрите на ICACHE. Стандардно, ICACHE е небезбеден и непривилегиран преку GTZC TZSC.
Управување со настани и прекини
ICACHE управува со функционалните грешки кога ќе бидат откриени, со поставување на знамето ERRF во ICACHE_SR. Може да се генерира и прекин ако битот ERRIE е поставен во ICACHE_IER. Во случај на неважење на ICACHE, кога ќе заврши состојбата на зафатена кеш, знамето BSYENDF се поставува во ICACHE_SR. Може да се генерира и прекин ако битот BSYENDIE е поставен во ICACHE_IER. Табелата подолу ги наведува ознаките за прекин и настани на ICACHE.
Табела 5. ICACHE прекини и битови за управување со настани
| Регистрирајте се | Име на бит | Бит опис | Тип на бит пристап |
|
ICACHE_SR |
ЗАФАТЕН | Кешот извршува целосна операција за поништување |
Само за читање |
| BSYENDF | Операцијата за поништување на кешот заврши | ||
| ГРЕШКА | Се појави грешка при операцијата на кеширање | ||
|
ICACHE_IER |
ЕРИ | Овозможи прекин за грешка во кешот |
Читај/пишувај |
| BSYENDIE | Овозможете прекин во случај операцијата за поништување е завршена | ||
|
ICACHE_FCR |
CERRF | Го брише ERRF во ICACHE_SR |
Само за пишување |
| CBSYENDF | Го брише BSYENDF во ICACHE_SR |
Карактеристики на DCACHE
Целта на кешот на податоци е кеширање на оптоварувања на податоци од надворешната меморија и складишта на податоци кои доаѓаат од процесорот или од друга главна периферна магистрала. DCACHE управува и со трансакциите за читање и за пишување.
Сообраќај за кеширање на DCACHE
DCACHE ги кешира надворешните мемории од интерфејсот на главната порта преку магистралата AHB. Дојдовните барања за меморија се дефинирани како кеширани според неговиот атрибут за заклучување на трансакциската меморија AHB. Политиката за запишување DCACHE е дефинирана како запишување или враќање назад во зависност од меморискиот атрибут конфигуриран од MPU. Кога некој регион е конфигуриран како не-кеш, DCACHE се заобиколува.
Табела 6. Смешливост на DCACHE за AHB трансакција
| Атрибут за пребарување на AHB | AHB баферабилен атрибут | Кешливост |
| 0 | X | Читајте и пишувајте: не може да се кешира |
|
1 |
0 |
Прочитајте: кешира
Напиши: (запис на кеширање) запишување |
|
1 |
1 |
Прочитајте: кешира
Напиши: (во кеширање) запишување назад |
DCACHE региони за кеширање
За серијата STM32U5, slave интерфејсот DCACHE1 е поврзан со Cortex-M33 преку магистралата S-AHB и ги кешира GFXMMU, FMC и HSPI/OCTOSPI. Службениот интерфејс DCACHE2 е поврзан со DMA2D преку магистралата на портата M0 и ги кешира сите внатрешни и надворешни мемории (освен SRAM4 и BRKPSRAM). За серијата STM32H5, slave интерфејсот DCACHE е поврзан со Cortex-M33 преку надворешните мемории S-AHB преку FMC и OCTOSPI.
Табела 7. Региони и интерфејси за кеширање на DCACHE
| Регион за адреса на меморија што може да се кешира | Интерфејси за кеширање DCACHE1 | Интерфејси за кеширање DCACHE2 |
| GFXMMU | X | X |
| SRAM1 |
N/A |
X |
| SRAM2 | X | |
| SRAM3 | X | |
| SRAM5 | X | |
| SRAM6 | X | |
| HSPI1 | X | X |
| ОКТОСПИ1 | X | X |
| ФМЦ БАНКИ | X | X |
| ОКТОСПИ2 | X | X |
Забелешка
Некои интерфејси не се поддржани во одредени производи. Погледнете на Слика 1 или упатството за референца за конкретниот производ.
Тип на рафал
Исто како ICACHE, DCACHE поддржува растечки и завиткани рафали (види Дел 3.1.3). За DCACHE, типот на рафал е конфигуриран преку битот HBURST во DCACHE_CR.
DCACHE конфигурација
За време на подигнувањето, DCACHE е стандардно оневозможено со што барањата за slave меморија се препраќаат директно до главната порта. За да се овозможи DCACHE, EN битот мора да биде поставен во регистарот DCACHE_CR. Монитори со удари и промашување DCACHE имплементира четири монитори за анализа на перформансите на кешот:
- Два 32-битен (R/W) хит монитор: брои колку пати процесорот чита или запишува податоци во кеш меморијата без да генерира трансакција на главните порти DCACHE (податоци веќе достапни во кешот). Бројачите на (R/W) хит монитори се достапни соодветно во регистрите DCACHE_RHMONR и DCACHE_WHMONR.
- Два 16-битни (R/W) промашени монитори: брои колку пати процесорот чита или запишува податоци во кеш меморијата и генерира трансакција на главните порти DCACHE, со цел да се вчитаат податоците од меморискиот регион (преземените податоци не веќе достапни во кешот). Бројачите на мониторите за промашување (R/W) се достапни соодветно во регистрите DCACHE_RMMONR и DCACHE_WMMONR.
Забелешка:
Овие четири монитори не се превиткуваат кога ги достигнуваат своите максимални вредности. Овие монитори се управуваат од следните битови во регистарот DCACHE_CR:
- WHITMAN бит (соодветно бит WMISSEN) за да се овозможи/запре мониторот за запишување (соодветно промашување)
- RHITMEN бит (соодветно RMISSMEN бит) за да се овозможи/запре читањето погодок (соодветно промашување) монитор
- WHITMRST бит (соодветно WMISSMRST бит) за да го ресетирате мониторот за запишување (соодветно промашување)
- RHITMRST бит (соодветно RMISSMRST бит) за ресетирање на мониторот за читање (соодветно промашување)
Стандардно, овие монитори се оневозможени со цел да се намали потрошувачката на енергија.
DCACHE одржување
DCACHE нуди повеќе операции за одржување што може да се конфигурираат преку CACHECMD[2:0] во DCACHE_CR.
- 000: нема операција (стандардно)
- 001: чист опсег. Исчистете одреден опсег во кешот
- 010: неважечки опсег. Неважечки одреден опсег во кешот
- 010: исчистете го и поништете го опсегот. Исчистете и поништете одреден опсег во кешот
Избраниот опсег е конфигуриран преку:
- Регистар CMDSTARTADDR: почетна адреса на командата
- Регистар CMDENDADDR: адреса на завршна команда
Забелешка:
Овој регистар мора да се постави пред да се запише CACHECMD. Одржувањето на командата за кеш започнува кога битот STARTCMD е поставен во регистарот DCACHE_CR. DCACHE исто така поддржува целосна неважење на CACHE со поставување на битот CACHEINV во регистарот DCACHE_CR.
DCACHE безбедност
DCACHE е безбеден периферен уред кој може да се конфигурира како безбеден преку регистарот за безбедна конфигурација GTZC TZSC. Кога е конфигуриран како безбеден, дозволени се само безбедни пристапи до регистрите DCACHE. DCACHE исто така може да се конфигурира како привилегиран преку регистарот за конфигурација на привилегии GTZC TZSC. Кога DCACHE е конфигуриран како привилегиран, само привилегирани пристапи се дозволени до DCACHE регистрите. Стандардно, DCACHE е небезбеден и непривилегиран преку GTZC TZSC.
Управување со настани и прекини
DCACHE управува со функционалните грешки кога ќе бидат откриени, со поставување на знамето ERRF во DCACHE_SR. Може да се генерира и прекин ако битот ERRIE е поставен во DCACHE_IER. Во случај на неважење на DCACHE, кога ќе заврши зафатената состојба на кешот, знамето BSYENDF се поставува во DCACHE_SR. Може да се генерира и прекин ако битот BSYENDIE е поставен во DCACHE_IER. Статусот на командата DCACHE може да се провери преку CMDENF и BUSYCMDF преку DCACHE_SR Може да се генерира и прекин ако битот CMDENDIE е поставен во DCACHE_IER. Табелата подолу ги наведува прекините на DCACHE и знаменцата за настани
Табела 8. DCACHE прекини и битови за управување со настани
| Регистрирајте се | Регистрирајте се | Бит опис | Тип на бит пристап |
|
DCACHE_SR |
ЗАФАТЕН | Кешот извршува целосна операција за поништување |
Само за читање |
| BSYENDF | Операцијата за целосно неважење на кешот заврши | ||
| BUSYCMDF | Кеш извршува команда за опсег | ||
| CMDENDF | Крај на командата за опсег | ||
| ERRF | Се појави грешка при операцијата на кеширање | ||
|
DCACHE_IER |
ЕРИ | Овозможи прекин за грешка во кешот |
Читај/пишувај |
| CMDENDIE | Овозможи прекин на командата за опсег | ||
| BSYENDIE | Овозможи прекин при целосно неважечка операција | ||
|
DCACHE_FCR |
CERRF | Го брише ERRF во DCACHE_SR |
Само за пишување |
| CCMDENDF | Го брише CMDENDF во DCACHE_SR | ||
| CBSYENDF | Го брише BSYENDF во DCACHE_SR |
ICACHE и DCACHE перформанси и потрошувачка на енергија
Користењето на ICACHE и DCACHE ги подобрува перформансите на апликацијата при пристап до надворешни мемории. Следната табела го прикажува влијанието на ICACHE и DCACHE врз извршувањето на CoreMark® при пристап до надворешни мемории.
Табела 9. Изведба на ICACHE и DCACHE при извршување на CoreMark со надворешни мемории
| (1) | ||||
| Код на CoreMark | Податоци за CoreMark | ICACHE конфигурација | DCACHE конфигурација | Резултат на CoreMark/Mhz |
| Внатрешна флеш меморија | Внатрешен SRAM | Овозможено (двонасочно) | Оневозможено | 3.89 |
| Внатрешна флеш меморија | Надворешен Octo-SPI PSRAM (S-bus) | Овозможено (двонасочно) | Овозможено | 3.89 |
| Внатрешна флеш меморија | Надворешен Octo-SPI PSRAM (S-bus) | Овозможено (двонасочно) | Оневозможено | 0.48 |
| Надворешен Octo-SPI Flash (C-bus) | Внатрешен SRAM | Овозможено (двонасочно) | Оневозможено | 3.86 |
| Надворешен Octo-SPI Flash (C-bus) | Внатрешен SRAM | Оневозможено | Оневозможено | 0.24 |
| Внатрешна флеш меморија | Внатрешен SRAM | Оневозможено | Оневозможено | 2.69 |
Услови за тест:
- Применлив производ: STM32U575/585
- Системска фреквенција: 160 MHz.
- Надворешна Octo-SPI PSRAM меморија: 80 MHz (режим DTR).
- Надворешна Octo-SPI флеш меморија: 80 MHz (режим STR).
- Компајлер: IAR V8.50.4.
- ВНАТРЕШЕН ВНАТРЕШЕН ВНАТРЕШЕН ВНАТРЕШЕН ВНАТРЕШЕН ВНАТРЕШЕН ВКЛУЧЕН блиц: ВКЛУЧЕНО.
Користењето на ICACHE и DCACHE ја намалува потрошувачката на енергија при пристап до внатрешни и надворешни мемории. Следната табела го прикажува влијанието на ICACHE врз потрошувачката на енергија за време на извршувањето на CoreMark.
Табела 10. Извршување CoreMark Влијанието на ICACHE врз потрошувачката на енергија
| ICACHE конфигурација | Потрошувачка на енергија на MCU (mA) |
| Овозможено (двонасочно) | 7.60 |
| Овозможено (1-насочен) | 7.13 |
| Оневозможено | 8.89 |
- Услови за тест:
- Применлив производ: STM32U575/585
- Код на CoreMark: внатрешна флеш меморија.
- Податоци за CoreMark: внатрешен SRAM.
- Внатрешна флеш-меморија ПРЕДНАЧЕЊЕ: ВКЛУЧЕНО.
- Системска фреквенција: 160 MHz.
- Компајлер: IAR V8.32.2.
- Voltagопсег: 1.
- SMPS: ВКЛУЧЕНО.
- Асоцијативната конфигурација на множество начин е пофункционална од асоцијативната конфигурација на еднонасочно множество за код што не може целосно да се вчита во кешот. Во меѓувреме, 1-насочниот асоцијативен кеш е скоро секогаш поефикасен од 1-насочниот асоцијативен кеш. Секој код треба да се оцени во двете конфигурации на асоцијативноста, со цел да се избере најдобрата размена помеѓу перформансите и потрошувачката на енергија. Изборот зависи од приоритетот на корисникот.
Заклучок
Првите кешови развиени од STMicroelectronics, ICACHE и DCACHE, можат да ги кешираат внатрешните и надворешните мемории, нудејќи подобрување на перформансите за сообраќајот на податоци и преземање на инструкции. Овој документ ги прикажува различните карактеристики поддржани од ICACHE и DCACHE, нивната едноставност и флексибилност на конфигурацијата овозможуваат помали трошоци за развој и побрзо време на пазарот.
Историја на ревизии
Табела 11. Историја на ревизија на документ
| Датум | Верзија | Промени |
| 10-октомври 2019 година | 1 | Почетно ослободување. |
|
27-февруари 2020 година |
2 |
Ажурирано:
• Табела 2. Мемориски региони и нивните адреси • Дел 2.1.7 Одржување на ICACHE • Дел 2.1.8 ICACHE безбедност |
|
7-Дек-2021 |
3 |
Ажурирано:
• Наслов на документот • Вовед • Секција 1 ICACHE и DCACHE завршиview • Заклучок за дел 4 е додаден: • Дел 2 карактеристики ICACHE и DCACHE • Дел 3 ICACHE и DCACHE перформанси и потрошувачка на енергија |
|
15-февруари 2023 година |
4 |
Ажурирано:
• Дел 2.2: паметна архитектура од серијата STM32U5 • Дел 2.5: блок дијаграм DCACHE • Дел 3.1.2: 1-насочен наспроти 2-насочен ICACHE • Дел 3.1.4: Региони што се кешираат и функција за повторно мапирање • Дел 3.2: Карактеристики на DCACHE • Дел 3.2.2: DCACHE кеширани региони • Дел 4: ICACHE и DCACHE перформанси и потрошувачка на енергија Додадено: |
|
11-мар-2024 |
5 |
Ажурирано: |
ВАЖНО НАПОМЕНА – ПРОЧИТАЈТЕ ВНИМАТЕЛНО
STMicroelectronics NV и нејзините подружници („ST“) го задржуваат правото да прават промени, корекции, подобрувања, модификации и подобрувања на производите на ST и/или на овој документ во секое време без најава. Купувачите треба да ги добијат најновите релевантни информации за производите на ST пред да направат нарачки. Производите на ST се продаваат во согласност со одредбите и условите за продажба на ST кои се на сила во моментот на потврдата на нарачката. Набавувачите се единствено одговорни за изборот, изборот и употребата на производите на ST и ST не презема никаква одговорност за помош при апликација или дизајнирање на производите на купувачите. Ниту една лиценца, експлицитна или имплицитна, за кое било право на интелектуална сопственост не е дадена од страна на ST овде. Препродажбата на производите на ST со одредби различни од информациите наведени овде ќе ја поништи секоја гаранција дадена од ST за таков производ. ST и логото ST се заштитни знаци на ST. За дополнителни информации за ST заштитните знаци, погледнете на www.st.com/trademarks. Сите други имиња на производи или услуги се сопственост на нивните соодветни сопственици. Информациите во овој документ ги заменуваат и заменуваат информациите претходно дадени во која било претходна верзија на овој документ. © 2024 STMicroelectronics – Сите права се задржани
Документи / ресурси
![]() |
Микроконтролери од серијата STMicroelectronics STM32H5 [pdf] Упатство за користење Микроконтролери од серијата STM32H5, STM32H5, серии микроконтролери, микроконтролери |

