STMicroelectronics-лого

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

STMicroelectronics-STM32H5-Series-Microcontrollers-product

Вовед

Оваа белешка за апликација ги опишува кешот за инструкции (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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

Перформансите на 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

Кортекс-М33 има корист од користењето на CACHE.

  • ICACHE ги подобрува перформансите на Cortex-M33 при преземање код или податоци од внатрешните мемории преку брза магистрала (флеш меморија, SRAM) и од надворешни мемории преку бавна магистрала (OCTOSPI и FMC).
  • DCACHE ги подобрува перформансите при преземање податоци од надворешни мемории преку бавната магистрала (OCTOSPI и FMC).

STM32H503 паметна архитектура
Оваа архитектура се заснова на магистрална матрица која дозволува повеќе господари (Cortex-M33, ICACHE и GPDMA) да пристапуваат до повеќе робови (како флеш меморија, SRAM и BKPSRAM). Сликата подолу ја опишува паметната архитектура од серијата STM32H5.

Слика 4. Паметна архитектура од серијата STM32H503

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

Кортекс-М33 има корист од користењето на CACHE.

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

Блок-дијаграм ICACHE
Блок-дијаграмот ICACHE е даден на сликата подолу.

Слика 5. Блок-дијаграм ICACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

Меморијата ICACHE вклучува:

  • на TAG меморија со:
    • адресата tags кои покажуваат кои податоци се содржани во кеш меморијата на податоци
    • битови за валидност
  •  меморијата на податоци, која ги содржи кешираните податоци

DCACHE блок дијаграм
Блок-дијаграмот DCACHE е даден на сликата подолу.

Слика 6. DCACHE блок дијаграм

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

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

бавен автобус

(1)

 

 

 

 

 

 

Адреса на алијас во опсег од [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) по пат
  1. За серија STM32L5 / серија STM32H5 / STM32U535/545/575/585
  2. 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 пукна

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

Региони за кеширање и функција за повторно мапирање
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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

Следниве чекори се потребни за повторно мапирање на оваа надворешна меморија:

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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

Надворешната меморија од 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
  1. Услови за тест:
    • Применлив производ: STM32U575/585
    • Код на CoreMark: внатрешна флеш меморија.
    • Податоци за CoreMark: внатрешен SRAM.
    • Внатрешна флеш-меморија ПРЕДНАЧЕЊЕ: ВКЛУЧЕНО.
    • Системска фреквенција: 160 MHz.
    • Компајлер: IAR V8.32.2.
    • Voltagопсег: 1.
    • SMPS: ВКЛУЧЕНО.
  2. Асоцијативната конфигурација на множество начин е пофункционална од асоцијативната конфигурација на еднонасочно множество за код што не може целосно да се вчита во кешот. Во меѓувреме, 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.1: Двојни мајстори

•         Дел 3.1.2: 1-насочен наспроти 2-насочен ICACHE

•         Дел 3.1.4: Региони што се кешираат и функција за повторно мапирање

•         Дел 3.2: Карактеристики на DCACHE

•         Дел 3.2.2: DCACHE кеширани региони

•         Дел 4: ICACHE и DCACHE перформанси и потрошувачка на енергија Додадено:

•         Дел 1: Општи информации

 

11-мар-2024

 

5

Ажурирано:

•         Дел 2.3: паметна архитектура од серијата STM32H5

•         Дел 3.1.1: Двојни мајстори

ВАЖНО НАПОМЕНА – ПРОЧИТАЈТЕ ВНИМАТЕЛНО
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, серии микроконтролери, микроконтролери

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *