STMicroelectronics STM32H5 сериясындагы микроконтроллерлер

Introduction
Бул колдонмонун эскертүүсү STMicroelectronics тарабынан иштелип чыккан биринчи кэш болгон нускама кэш (ICACHE) жана маалымат кэш (DCACHE) сүрөттөйт. Arm® Cortex®-M33 процессорунун AHB шинасына киргизилген ICACHE жана DCACHE төмөндөгү таблицада көрсөтүлгөн STM32 микроконтроллерине (MCUs) киргизилген. Бул кэштер колдонуучуларга тиркемелердин иштешин жакшыртууга жана ички жана тышкы эстутумдардан нускамаларды жана маалыматтарды алууда же тышкы эс тутумдардан маалымат трафигинде керектөөнү азайтууга мүмкүндүк берет. Бул документ типтүү экс беретampICACHE жана DCACHE өзгөчөлүктөрүн бөлүп көрсөтүү жана алардын конфигурациясын жеңилдетүү.
Таблица 1. Колдонулуучу продуктылар
| Type | Продукт сериясы |
| Микроконтроллерлер | STM32H5 сериясы, STM32L5 сериясы, STM32U5 сериясы |
Жалпы маалымат
Эскертүү:
Бул колдонмо эскертүүсү Arm® Cortex® ядросуна негизделген STM32 сериясындагы микроконтроллерлерге тиешелүү. Arm - Arm Limited компаниясынын (же анын туунду компанияларынын) АКШда жана/же башка жерлерде катталган соода белгиси.
ICACHE жана DCACHE бүттүview
Бул бөлүм ашыкча камсыз кылатview STM32 Arm® Cortex® өзөктүү микроконтроллерлерге камтылган ICACHE жана DCACHE интерфейстеринин. Бул бөлүмдө ICACHE жана DCACHE диаграммасы жана системанын архитектурасында интеграцияланган.
STM32L5 сериясы акылдуу архитектура
Бул архитектура бир нече мастерлерге (Cortex-M33, ICACHE, DMA1/2 жана SDMMC1) бир нече кулдарга (мисалы, флеш эс тутум, SRAM1/2, OCTOSPI1 же FSMC) кирүү мүмкүнчүлүгүн берген автобус матрицасына негизделген. Төмөнкү сүрөттө STM32L5 сериясынын акылдуу архитектурасы сүрөттөлөт.
1-сүрөт. STM32L5 сериясы акылдуу архитектура

Cortex-M33 иштеши C-AHB шинасына киргизилген 8 Кбайт ICACHE интерфейсин колдонуу менен, ички эс тутумдардан (флеш эс, SRAM1 же SRAM2) кодду же маалыматтарды тез автобус аркылуу, ошондой эле тышкы эс тутумдар (OCTOSPI1 же FSMC) жай автобус аркылуу.
STM32U5 сериясы акылдуу архитектура
Бул архитектура бир нече мастерлерге (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D жана SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) бир нече кулдарга (мисалы, флеш эс тутум, SRAMs, BKPSRAM, HSPI/) кирүү мүмкүнчүлүгүн берген автобус матрицасына негизделген. OCTOSPI, же FSMC).Төмөнкү сүрөттө STM32U5 сериясынын акылдуу архитектурасы сүрөттөлөт.
2-сүрөт. STM32U5 сериясы акылдуу архитектура

Cortex-M33 жана GPU2D интерфейстери CACHE колдонуудан пайда алышат.
- ICACHE тез автобус (флеш эс тутум, SRAMs) жана тышкы эс тутумдардан жай автобус (OCTOSPI33/1 жана HSPI2 же FSMC) аркылуу кодду же маалыматтарды алууда Cortex-M1 иштешин жакшыртат. DCACHE1 s‑автобус (GFXMMU, OCTOSPI1/2 жана HSPI1 же FSMC) аркылуу ички же тышкы эс тутумдардан маалыматтарды алууда иштин натыйжалуулугун жакшыртат.
- DCACHE2 M2 порт шинасы аркылуу ички жана тышкы эс тутумдардан (GFXMMU, флеш эс тутум, SRAMs, OCTOSPI1/2 жана HSPI1 же FSMC) маалыматтарды алууда GPU0D иштешин жакшыртат.
STM32H5 сериясы акылдуу архитектура
STM32H523/H533, STM32H563/H573 жана STM32H562 акылдуу архитектурасы Бул архитектура бир нече мастерлерге (Cortex-M33, ICACHE, DCACHE, GPDMAs, Ethernet жана SDMMCs) бир нече кулдарга, STM32H5/HXNUMX жана флэш эстутумдарга (мисалы, BRAMPSK) жетүү мүмкүнчүлүгүн берген автобус матрицасына негизделген. , OCTOSPI жана FMC). Төмөнкү сүрөттө STMXNUMXHXNUMX сериясынын акылдуу архитектурасы сүрөттөлөт.
3-сүрөт. STM32H563/H573 жана STM32H562 сериясы акылдуу архитектура

Cortex-M33 CACHE колдонуудан пайда алып келет.
- ICACHE тез автобус (флеш эс тутум, SRAM) жана тышкы эс тутумдардан жай автобус (OCTOSPI жана FMC) аркылуу кодду же маалыматтарды алууда Cortex-M33 иштешин жакшыртат.
- DCACHE жай автобус (OCTOSPI жана FMC) аркылуу тышкы эс тутумдардан маалыматтарды алууда иштөөнү жакшыртат.
STM32H503 акылдуу архитектурасы
Бул архитектура бир нече мастерлерге (Cortex-M33, ICACHE жана GPDMAs) бир нече кулдарга (мисалы, флеш эс, SRAM жана BKPSRAM) кирүү мүмкүнчүлүгүн берген автобус матрицасына негизделген. Төмөнкү сүрөттө STM32H5 сериясынын акылдуу архитектурасы сүрөттөлөт.
4-сүрөт. STM32H503 сериясы акылдуу архитектура

Cortex-M33 CACHE колдонуудан пайда алып келет.
- ICACHE тез автобус (флеш эс тутум, SRAM) аркылуу ички эс тутумдардан кодду же маалыматтарды алууда Cortex-M33 иштешин жакшыртат.
ICACHE блок диаграммасы
ICACHE блок схемасы төмөндөгү сүрөттө берилген.
5-сүрөт. ICACHE блок диаграммасы

ICACHE эс тутуму төмөнкүлөрдү камтыйт:
- the TAG менен эс:
- дареги tags бул кэш маалымат эстутумунда кайсы маалыматтар камтылганын көрсөтөт
- жарактуу биттери
- кэштелген маалыматтарды камтыган маалымат эстутуму
DCACHE блок диаграммасы
DCACHE блок схемасы төмөнкү сүрөттө берилген.
6-сүрөт. DCACHE блок диаграммасы

DCACHE эс тутуму төмөнкүлөрдү камтыйт:
- the TAG менен эс:
- дареги tags бул кэш маалымат эстутумунда кайсы маалыматтар камтылганын көрсөтөт
- жарактуу биттери
- артыкчылык биттери
- кир бит
- кэштелген маалыматтарды камтыган маалымат эстутуму
ICACHE жана DCACHE өзгөчөлүктөрү
Кош мастерлер
ICACHE AHB автобус матрицасына төмөнкүлөр аркылуу жетет:
- Бир AHB башкы порт: master1 (тез автобус)
- Эки AHB мастер порту: master1 (тез автобус) жана master2 (жай автобус)
Бул функция кэшти өткөрүп жиберүүдө CPU токтоп калууларын азайтуу үчүн ар кандай эс тутум аймактарына (мисалы, ички флэш эстутум, ички SRAM жана тышкы эс тутумдар) кирүүдө трафикти ажыратууга мүмкүндүк берет. Төмөнкү таблицада эстутум аймактары жана алардын даректери келтирилген.
Таблица 2. Эстутум аймактары жана алардын даректери
| Перифериялык | Кэште турган эстутумга кирүү | Кэштелүүчү эстутумга кирүү эмес | |||||||
|
Type |
аты |
Продукт аты жана аймактын өлчөмү |
Автобустун аты |
Кооптуу аймактын баштапкы дареги |
Коопсуз, кооптуу эмес чалып турган аймактын баштапкы дареги |
Автобустун аты |
Кооптуу аймактын баштапкы дареги |
Коопсуз, кооптуу эмес чалып турган аймактын баштапкы дареги | |
|
Ички |
FLASH |
STM32H503 | 128 KB |
ICACHE тез автобус |
0х0800 0000 |
Жок |
Жок |
Жок |
Жок |
| 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 |
Жок |
S-автобус |
0х2000 0000 |
0х3000 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 | Жок | 0х2000 4000 | Жок | |||
| STM32L5
series/ STM32U535/ 545/575/585 |
64 KB |
0x0A03 0000 |
0x0E03 0000 |
0х2003 0000 |
0х3003 0000 |
||||
| STM32H523/ 533 | 64 KB |
0x0A04 0000 |
0x0E04 0000 |
0х2004 0000 |
0х3004 0000 |
||||
| Перифериялык | Кэште турган эстутумга кирүү | Кэштелүүчү эстутумга кирүү эмес | |||||||
|
Ички |
SRAM2 |
STM32H563/ 573/562 | 80 KB |
ICACHE тез автобус |
0x0A04 0000 | 0x0E04 0000 |
S-автобус |
0х2004 0000 | 0х3004 0000 |
| STM32U59x/
5Ax/5Fx/5Gx |
64 KB | 0x0A0C 0000 | 0x0E0C 0000 | 0x200C 0000 | 0x300C 0000 | ||||
|
SRAM3 |
STM32U575/ 585 | 512 KB | 0x0A04 0000 | 0x0E04 0000 | 0х2004 0000 | 0х3004 0000 | |||
| STM32H523/ 533 | 64 KB |
0x0A05 0000 |
0x0E05 0000 |
0х2005 0000 |
0х3005 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 | 0х2027 0000 |
Жок |
|||
|
Тышкы |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE жай автобус |
[0x0000 0000 диапазонундагы лакап ат дареги 0x07FF FFFF] же [0x1000 0000:0x1FFF FFFF] ремаппинг өзгөчөлүгү аркылуу аныкталган |
Жок |
0xA000 0000 | ||
| FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
|
OCTOSPI1 банк коопсуз эмес |
STM32L5/U5
сериясы STM32H563/ 573/562 |
0х9000 0000 |
|||||||
|
ФМК банкы 3 коопсуз эмес |
STM32L5/U5
сериясы STM32H563/ 573/562 |
0х8000 0000 |
|||||||
| OCTOSPI2
банк коопсуз эмес |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0х7000 0000 |
|||||||
|
ФМК банкы 1 коопсуз эмес |
STM32L5/U5
сериясы STM32H563/ 573/562 |
0х6000 0000 |
|||||||
1. Мындай аймактардын картасын кайра түзүүдө тандалат.
1 тараптуу жана 2 тараптуу ICACHE
Демейки боюнча, ICACHE ассоциативдик иштөө режиминде конфигурацияланган (эки жол иштетилген), бирок ICACHEди түз карталанган режимде конфигурациялоого болот (бир тараптуу иштетилген), өтө аз энергия керектөөнү талап кылган колдонмолор үчүн. ICACHE конфигурациясы ICACHE_CRдеги WAYSEL бит менен төмөнкүдөй аткарылат:
- 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 жарылуусун колдойт, бул сөз биринчи функциянын аткарылышынын пайдасын берет. Ремаланган аймактар үчүн AHB эс тутум транзакциясынын ICACHE жарылуу түрү конфигурацияланат. Ал ICACHE_CRRx регистринде HBURST бит менен тандалган кошумча жарылууну же WRAP жарылууну ишке ашырат. WRAP жана кошумча жарылуулардын ортосундагы айырмачылыктар төмөндө келтирилген (ошондой эле сүрөттү караңыз):
- WRAP жарылуу:
- кэш сызыгынын өлчөмү = 128 бит
- баштоо үчүн жарылып дарек = CPU сураган биринчи маалыматтардын сөз дареги
- Кошумча жарылуу:
- кэш сызыгынын өлчөмү = 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 Мбайт болгондуктан, ал [0x9000 0000 0x907F FFFF] аймагында көрүнөт. Бул аймактагы тышкы эстутумга S‑автобус аркылуу кирүүгө болот жана кэштебейт. Кийинки кадам бул аймакты кайра көрсөтүү үчүн ICACHE конфигурациясын көрсөтөт.
Эскертүү: Эстутум картасына түшүрүлгөн режимде OCTOSPI конфигурациясын STM32 микроконтроллерлериндеги (AN5050) Octo‑ SPI интерфейсинин колдонмо эскертмесин караңыз.
ICACHE конфигурациясы тышкы эс тутумга түшүрүлгөн аймакты кайра көрсөтүү үчүн
[8x0 9000 - 0000x0F FFFF] чөлкөмүнө жайгаштырылган 907 Мбайт [0x1000 0000 - 0x107F FFFF] чөлкөмүнө кайра көрсөтүлөт. Андан кийин аларга жай автобус (ICACHE master2 автобусу) аркылуу кирүүгө болот.
- ICACHE_CR регистр конфигурациясы
- EN = 0 менен ICACHEди өчүрүү.
- WAYSEL = 1 же 2 менен 0 же 1 жолду (колдонмонун муктаждыктарына жараша) тандаңыз.
- ICACHE_CRRx регистр конфигурациясы (төрт аймакка чейин, x = 0дөн 3кө чейин)
- BASEADDR [0:1000] = 0000x28 менен 21x0 80 базалык даректи (кайра карта дарегин) тандаңыз.
- RSIZE[8:2] = 0x0 менен кайра салыштыруу үчүн 3-Мбайт аймактын өлчөмүн тандаңыз.
- 0x9000 0000 кайталанган даректи тандаңыз REMAPADDR[31:21] = 0x480.
- MSTSEL = 2 менен тышкы эс тутумдар үчүн ICACHE AHB master1 портун тандаңыз.
- HBURST = 0 менен WRAP жарылуу түрүн тандаңыз.
- REN = 1 менен x аймагы үчүн кайра картаны иштетүү.
Төмөнкү сүрөттө эстутумдун аймактары ремапты иштеткенден кийин IAR менен кантип көрүнөрүн көрсөтөт.
9-сүрөт. Эстутум аймактарынын кайра картасы эксample

8-Мбайт тышкы эстутум азыр кайра түзүлдү жана аны [0x1000 0000 - 0x107F FFFF] чөлкөмүндө колдонууга болот.
ICACHE иштетүү
- ICACHE_CR регистр конфигурациясы EN = 1 менен ICACHEди иштетиңиз.
Катуу жана сагынуу мониторлору
ICACHE өндүрүмдүүлүгүн талдоо үчүн эки мониторду камсыз кылат: 32 биттик монитор жана 16 биттик мисс монитор.
- Хит монитор ICACHE мазмунуна тийген кул кэш портундагы кэштелуучу AHB транзакцияларын эсептейт (кеште мурунтан эле бар алынган маалыматтар). Хит монитор эсептегичи ICACHE_HMONR реестринде жеткиликтүү.
- Miss монитор кул кэш портундагы кэштелуучу AHB транзакцияларын санайт, алар ICACHE мазмунун өткөрүп жиберет (алынган маалыматтар кэште буга чейин жок). Жетишпеген монитор эсептегичи ICACHE_MMONR реестринде жеткиликтүү.
Эскертүү:
Бул эки монитор максималдуу маанилерине жеткенде капталбайт. Бул мониторлор ICACHE_CR реестриндеги төмөнкү биттерден башкарылат:
- HITMEN бит (тиешелүүлүгүнө жараша MISSMEN бит) сокку (тиешелүүлүгүнө жараша сагынуу) мониторду иштетүү/токтоо үчүн
- HITMRST бит (тиешелүүлүгүнө жараша MISSMRST бит) сокку (тиешелүү түрдө сагынуу) мониторду баштапкы абалга келтирүү үчүн Демейки боюнча, энергия керектөөнү азайтуу үчүн тезистер мониторлору өчүрүлгөн.
ICACHE тейлөө
Программалык камсыздоо ICACHE_CR реестринде CACHEINV битин орнотуу менен ICACHEди жараксыз деп чыгарышы мүмкүн. Бул аракет бүт кэшти жараксыз кылып, аны бош кылат. Ошол эле учурда, эгер кээ бир ремаланган аймактар иштетилсе, ICACHE өчүрүлгөн учурда да, кайра картага салуу өзгөчөлүгү дагы эле активдүү болот. ICACHE окуу транзакцияларын гана башкаргандыктан жана жазуу транзакцияларын башкарбагандыктан, жазуу учурунда ырааттуулукту камсыз кылбайт. Демек, программалык камсыздоо аймакты программалагандан кийин ICACHEди жокко чыгарышы керек.
ICACHE коопсуздук
ICACHE – GTZC TZSC коопсуз конфигурация реестри аркылуу коопсуз катары конфигурациялануучу коопсуз перифериялык түзүлүш. Ал коопсуз деп конфигурацияланганда, ICACHE регистрлерине коопсуз кирүүгө гана уруксат берилет. ICACHE ошондой эле GTZC TZSC артыкчылык конфигурациясынын реестри аркылуу артыкчылыктуу катары конфигурацияланышы мүмкүн. ICACHE артыкчылыктуу катары конфигурацияланганда, ICACHE регистрлерине артыкчылыктуу кирүүлөргө гана уруксат берилет. Демейки боюнча, ICACHE GTZC TZSC аркылуу коопсуз эмес жана артыкчылыктуу эмес.
Окуяларды жана үзгүлтүктөрдү башкаруу
ICACHE ICACHE_SRде ERRF желегин орнотуу менен функционалдык каталарды башкарат. Эгерде ERRIE бити ICACHE_IERде орнотулган болсо, үзгүлтүккө учуратуу да түзүлүшү мүмкүн. ICACHE жараксыз болгон учурда, кэш бош эмес абалы аяктаганда, BSYENDF желеги ICACHE_SRде орнотулат. Эгерде BSYENDIE бит ICACHE_IERде орнотулган болсо, үзгүлтүккө учуратуу да мүмкүн. Төмөнкү таблицада ICACHE үзгүлтүккө учурашы жана окуя желектери келтирилген.
Таблица 5. ICACHE үзгүлтүктөрү жана окуяларды башкаруу биттери
| Каттоо | Бит аты | Бит сүрөттөлүшү | Бит кирүү түрү |
|
ICACHE_SR |
АЛЕК | Толук жараксыз кылуу операциясын аткарып жаткан кэш |
Окуу үчүн гана |
| BSYENDF | Кэшти жараксыз кылуу операциясы аяктады | ||
| ERROR | Кэштөө учурунда ката кетти | ||
|
ICACHE_IER |
ERRIE | Кэш катасы үчүн үзгүлтүктү иштетүү |
Окуу/жазуу |
| BSYENDIE | Жараксыздандыруу операциясы аяктаганда үзгүлтүккө учуратуу | ||
|
ICACHE_FCR |
CERRF | ICACHE_SR ичиндеги ERRFти тазалайт |
Жазуу гана |
| CBSYENDF | ICACHE_SR ичинде BSYENDF тазалайт |
DCACHE өзгөчөлүктөрү
Маалымат кэшинин максаты - процессордон же башка автобус мастеринин перифериясынан келген тышкы эстутум маалымат жүктөөлөрүн жана маалымат дүкөндөрүн кэштөө. DCACHE окуу жана жазуу транзакцияларын башкарат.
DCACHE кэштөө трафиги
DCACHE тышкы эстутумдарды AHB шинасы аркылуу башкы порт интерфейсинен кэштейт. Кирүүчү эстутум суроо-талаптары анын AHB транзакциясынын эс тутумунун кулпу атрибутуна ылайык кэштелуучу катары аныкталат. DCACHE жазуу саясаты MPU тарабынан конфигурацияланган эстутум атрибутуна жараша жазуу же кайра жазуу катары аныкталат. Регион кэштелбегендей конфигурацияланганда, DCACHE айланып өтөт.
Таблица 6. AHB транзакциясы үчүн DCACHE кэштөө мүмкүнчүлүгү
| AHB издөө атрибуту | AHB буфердик атрибуту | Кэш жөндөмдүүлүгү |
| 0 | X | Окуу жана жазуу: кэштелбейт |
|
1 |
0 |
Оку: кэштелет
Жазуу: (кэштелет) жазуу аркылуу |
|
1 |
1 |
Оку: кэштелет
Жазыңыз: (кэштелет) кайра жазуу |
DCACHE кэштелуучу аймактар
STM32U5 сериясы үчүн DCACHE1 кул интерфейси Cortex-M33 менен S-AHB шинасы аркылуу туташтырылган жана GFXMMU, FMC жана HSPI/OCTOSPI кэштерин сактайт. DCACHE2 кул интерфейси DMA2D менен M0 порт шинасы аркылуу туташтырылган жана бардык ички жана тышкы эстутумдарды кэштейт (SRAM4 жана BRKPSRAMдан башка). STM32H5 сериясы үчүн DCACHE кул интерфейси FMC жана OCTOSPI аркылуу S-AHB тышкы эс тутумдары аркылуу Cortex-M33 менен туташтырылган.
Таблица 7. DCACHE кэштелуучу аймактары жана интерфейстери
| Кэш боло турган эстутум дареги аймак | DCACHE1 кэштелуучу интерфейстер | DCACHE2 кэштелуучу интерфейстер |
| GFXMMU | X | X |
| SRAM1 |
Жок |
X |
| SRAM2 | X | |
| SRAM3 | X | |
| SRAM5 | X | |
| SRAM6 | X | |
| HSPI1 | X | X |
| OCTOSPI1 | X | X |
| ФМК БАНКтары | X | X |
| OCTOSPI2 | X | X |
Эскертүү
Кээ бир өнүмдөрдүн айрым интерфейстери колдоого алынбайт. 1-сүрөттү же продуктунун маалымдама нускамасын караңыз.
Жарык түрү
ICACHE сыяктуу эле, DCACHE кошумча жана оролгон жарылууларды колдойт (3.1.3 бөлүмүн караңыз). DCACHE үчүн жарылуу түрү DCACHE_CR ичиндеги HBURST бит аркылуу конфигурацияланган.
DCACHE конфигурациясы
Жүктөө учурунда DCACHE демейки боюнча өчүрүлүп, кул эстутум суроо-талаптарын түз башкы портко жөнөтөт. DCACHE иштетүү үчүн, DCACHE_CR регистринде EN бити коюлушу керек. Катуу жана сагынуу мониторлору DCACHE кэштин иштешин талдоо үчүн төрт мониторду ишке ашырат:
- Эки 32 биттик (R/W) монитор: CPU DCACHE мастер портторунда транзакция түзбөстөн кэш эстутумунда маалыматтарды канча жолу окуп же жазганын эсептейт (маалыматтар кэште мурунтан эле бар). (R/W) мониторлордун эсептегичтери DCACHE_RHMONR жана DCACHE_WHMONR регистрлеринде жеткиликтүү.
- Эки 16 биттик (R/W) мониторлор: эстутум аймагынан берилиштерди жүктөө үчүн CPU кэш эстутумунда маалыматтарды канча жолу окуп же жазганын санаңыз жана DCACHE мастер портторунда транзакцияны түзүңүз (алынган маалыматтар эмес). кэште мурунтан эле бар). (R/W) мисс мониторлор эсептегичтери DCACHE_RMMONR жана DCACHE_WMMONR регистрлеринде жеткиликтүү.
Эскертүү:
Бул төрт монитор максималдуу маанилерине жеткенде капталбайт. Бул мониторлор DCACHE_CR реестриндеги төмөнкү биттерден башкарылат:
- WHITMAN бит (тиешелүүлүгүнө жараша WMISSMEN бит) жазуу хит (тиешелүүлүгүнө жараша өткөрүп жиберүү) мониторду иштетүү/токтоо үчүн
- RHITMEN бит (тиешелүүлүгүнө жараша RMISSMEN бит) окуу хит (тиешелүүлүгүнө жараша өткөрүп жиберүү) мониторду иштетүү/токтоо үчүн
- WHITMRST бит (тиешелүүлүгүнө жараша WMISSMRST бит) жазуу хит (тиешелүүлүгүнө жараша өткөрүп жиберүү) мониторду баштапкы абалга келтирүү үчүн
- RHITMRST бит (тиешелүүлүгүнө жараша RMISSMRST бит) окуу хит (тиешелүүлүгүнө жараша өткөрүп жиберүү) мониторду баштапкы абалга келтирүү үчүн
Демейки боюнча, бул мониторлор электр энергиясын керектөөнү азайтуу үчүн өчүрүлгөн.
DCACHE тейлөө
DCACHE DCACHE_CRдеги CACHECMD[2:0] аркылуу конфигурациялануучу бир нече тейлөө операцияларын сунуштайт.
- 000: операция жок (демейки)
- 001: таза диапазон. Кэште белгилүү бир диапазонду тазалаңыз
- 010: диапазонду жокко чыгаруу. Кэштеги белгилүү бир диапазонду жараксыз кылуу
- 010: таза жана жараксыз диапазон. Кэштеги белгилүү бир диапазонду тазалоо жана жараксыз кылуу
Тандалган диапазон төмөнкү аркылуу конфигурацияланат:
- CMDSTARTADDR реестри: команданын баштапкы дареги
- CMDENDADDR реестри: команданын аяктоочу дареги
Эскертүү:
Бул регистр CACHECMD жазылганга чейин коюлушу керек. Кэш буйругун тейлөө STARTCMD бит DCACHE_CR реестринде коюлганда башталат. DCACHE ошондой эле DCACHE_CR регистринде CACHEINV бит коюу менен толук CACHE жараксыздыгын колдойт.
DCACHE коопсуздугу
DCACHE коопсуз перифериялык түзүлүш, аны GTZC TZSC коопсуз конфигурация реестри аркылуу коопсуз деп конфигурациялоого болот. Ал коопсуз деп конфигурацияланганда, DCACHE регистрлерине коопсуз кирүүгө гана уруксат берилет. DCACHE ошондой эле GTZC TZSC артыкчылык конфигурациясынын реестри аркылуу артыкчылыктуу катары конфигурацияланышы мүмкүн. DCACHE артыкчылыктуу конфигурацияланганда, DCACHE регистрлерине артыкчылыктуу кирүүлөргө гана уруксат берилет. Демейки боюнча, DCACHE GTZC TZSC аркылуу коопсуз эмес жана артыкчылыктуу эмес.
Окуяларды жана үзгүлтүктөрдү башкаруу
DCACHE, DCACHE_SR ичинде ERRF желегин орнотуу менен, функционалдык каталарды башкарат. Эгерде ERRIE бити DCACHE_IERде орнотулган болсо, үзгүлтүккө учуратуу да түзүлүшү мүмкүн. DCACHE жараксыз болгон учурда, кэш бош эмес абалы аяктаганда, BSYENDF желеги DCACHE_SRде орнотулат. Эгерде BSYENDIE бит DCACHE_IERде орнотулган болсо, үзгүлтүккө учуратуу да мүмкүн. DCACHE буйругунун статусун DCACHE_SR аркылуу CMDENF жана BUSYCMDF аркылуу текшерсе болот, DCACHE_IERде CMDENDIE бит орнотулган болсо үзгүлтүккө да жаралышы мүмкүн. Төмөнкү таблица DCACHE үзгүлтүктөрүн жана окуянын желектерин тизмелейт
Таблица 8. DCACHE үзгүлтүк жана окуяларды башкаруу биттери
| Каттоо | Каттоо | Бит сүрөттөлүшү | Бит кирүү түрү |
|
DCACHE_SR |
АЛЕК | Толук жараксыз кылуу операциясын аткарып жаткан кэш |
Окуу үчүн гана |
| BSYENDF | Кэшти толук жараксыз кылуу операциясы аяктады | ||
| BUSYCMDF | Диапазон буйругун аткарган кэш | ||
| CMDENDF | Диапазон буйругунун аягы | ||
| ERRF | Кэштөө учурунда ката кетти | ||
|
DCACHE_IER |
ERRIE | Кэш катасы үчүн үзгүлтүктү иштетүү |
Окуу/жазуу |
| CMDENDIE | Аралык команданын аягында үзгүлтүктү иштетүү | ||
| BSYENDIE | Толук жараксыз операция аяктаганда үзүүнү иштетүү | ||
|
DCACHE_FCR |
CERRF | DCACHE_SR ичиндеги ERRFти тазалайт |
Жазуу гана |
| CCMDENDF | DCACHE_SR ичинде CMDENDF тазалайт | ||
| CBSYENDF | DCACHE_SR ичинде BSYENDF тазаланат |
ICACHE жана DCACHE иштеши жана энергия керектөө
ICACHE жана DCACHE колдонуу тышкы эс тутумга кирүү учурунда колдонмонун иштешин жакшыртат. Төмөнкү таблица ICACHE жана DCACHEнин тышкы эстутумдарга кирүү учурунда CoreMark® аткарылышына тийгизген таасирин көрсөтөт.
Таблица 9. Тышкы эс тутумдар менен CoreMarkтын аткарылышы боюнча ICACHE жана DCACHE көрсөткүчтөрү
| (1) | ||||
| CoreMark коду | CoreMark маалыматтары | ICACHE конфигурациясы | DCACHE конфигурациясы | CoreMark упай/МГц |
| Ички Flash эстутум | Ички SRAM | Иштетилген (2 жол) | Өчүрүлгөн | 3.89 |
| Ички Flash эстутум | Тышкы Octo-SPI PSRAM (S‑bus) | Иштетилген (2 жол) | Иштетилди | 3.89 |
| Ички Flash эстутум | Тышкы Octo-SPI PSRAM (S‑bus) | Иштетилген (2 жол) | Өчүрүлгөн | 0.48 |
| Тышкы Octo-SPI Flash (C-автобус) | Ички SRAM | Иштетилген (2 жол) | Өчүрүлгөн | 3.86 |
| Тышкы Octo-SPI Flash (C-автобус) | Ички SRAM | Өчүрүлгөн | Өчүрүлгөн | 0.24 |
| Ички Flash эстутум | Ички SRAM | Өчүрүлгөн | Өчүрүлгөн | 2.69 |
Сыноо шарттары:
- Колдонулуучу продукт: STM32U575/585
- Системанын жыштыгы: 160 MHz.
- Тышкы Octo-SPI PSRAM эс тутуму: 80 MHz (DTR режими).
- Тышкы Octo-SPI флеш эс тутуму: 80 МГц (STR режими).
- Компилятор: IAR V8.50.4.
- Ички Flash PREFETCH: КҮЙҮК.
ICACHE жана DCACHE колдонуу ички жана тышкы эстутумга кирүүдө электр энергиясын керектөөнү азайтат. Төмөнкү таблицада ICACHEнин CoreMark ишке ашыруу учурунда электр энергиясын керектөөгө тийгизген таасири көрсөтүлгөн.
Таблица 10. CoreMark аткарылышы ICACHEнин электр энергиясын керектөөгө тийгизген таасири
| ICACHE конфигурациясы | MCU энергия керектөө (мА) |
| Иштетилген (2 жол) | 7.60 |
| Иштетилген (1 тараптуу) | 7.13 |
| Өчүрүлгөн | 8.89 |
- Сыноо шарттары:
- Колдонулуучу продукт: STM32U575/585
- CoreMark коду: ички Flash эстутум.
- CoreMark маалыматтары: ички SRAM.
- Ички Flash эстутум PREFETCH: КҮЙҮК.
- Системанын жыштыгы: 160 MHz.
- Компилятор: IAR V8.32.2.
- Тtage диапазону: 1.
- SMPS: КҮЙҮК.
- Кэшке толук жүктөө мүмкүн болбогон код үчүн 1 жолдуу ассоциативдик конфигурацияга караганда жол топтомунун ассоциативдик конфигурациясы жакшыраак. Ошол эле учурда, 1-жолдуу ассоциативдик кэш 2-жолдуу ассоциативдик кэшке караганда дээрлик ар дайым кубаттуураак. Ар бир код эки ассоциациялык конфигурацияда тең бааланышы керек, натыйжада өндүрүмдүүлүк менен электр энергиясын керектөөнүн ортосундагы эң жакшы сооданы тандоо үчүн. Тандоо колдонуучунун артыкчылыктуулугуна жараша болот.
Корутунду
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 соода белгилери жөнүндө кошумча маалымат алуу үчүн, www.st.com/trademarks караңыз. Бардык башка өнүм же кызмат аттары тиешелүү ээлеринин менчиги болуп саналат. Бул документтеги маалымат бул документтин мурунку версияларында мурда берилген маалыматтын ордун басат жана алмаштырат. © 2024 STMicroelectronics – Бардык укуктар корголгон
Документтер / Ресурстар
![]() |
STMicroelectronics STM32H5 сериясындагы микроконтроллерлер [pdf] Колдонуучунун колдонмосу STM32H5 сериялуу микроконтроллерлор, STM32H5 сериялуу микроконтроллерлор, микроконтроллерлор |

