STMicroelectronics STM32H5 Series Microcontrollers
Ներածություն
Այս հավելվածի նշումը նկարագրում է հրահանգների քեշը (ICACHE) և տվյալների քեշը (DCACHE)՝ STMicroelectronics-ի կողմից մշակված առաջին քեշերը: Arm® Cortex®-M33 պրոցեսորի AHB ավտոբուսում ներդրված ICACHE և DCACHE-ն ներկառուցված են ստորև բերված աղյուսակում թվարկված STM32 միկրոկոնտրոլերում (MCU): Այս քեշերը թույլ են տալիս օգտատերերին բարելավել իրենց հավելվածի աշխատանքը և նվազեցնել սպառումը ներքին և արտաքին հիշողություններից հրահանգներ և տվյալներ վերցնելիս կամ արտաքին հիշողություններից տվյալների տրաֆիկի համար: Այս փաստաթուղթը տալիս է տիպիկ նախկինamples՝ ընդգծելու ICACHE և DCACHE հատկանիշները և հեշտացնել դրանց կազմաձևումը:
Աղյուսակ 1. Կիրառելի ապրանքներ
Տեսակ | Ապրանքի շարք |
Միկրոկարգավորիչներ | STM32H5 սերիա, STM32L5 սերիա, STM32U5 սերիա |
Ընդհանուր տեղեկություններ
Նշում.
Այս հավելվածի նշումը վերաբերում է STM32 սերիայի միկրոկառավարիչներին, որոնք Arm® Cortex® միջուկի վրա հիմնված սարքեր են: 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-ի աշխատանքը բարելավվում է՝ օգտագործելով 8 կբայթանոց ICACHE ինտերֆեյսը, որը ներդրվել է իր C-AHB ավտոբուսում, ներքին հիշողություններից (ֆլեշ հիշողություն, SRAM1 կամ SRAM2) կոդ կամ տվյալներ ստանալիս արագ ավտոբուսի միջոցով, ինչպես նաև՝ արտաքին հիշողություններ (OCTOSPI1 կամ FSMC) դանդաղ ավտոբուսի միջոցով:
STM32U5 սերիայի խելացի ճարտարապետություն
Այս ճարտարապետությունը հիմնված է ավտոբուսի մատրիցայի վրա, որը թույլ է տալիս բազմաթիվ վարպետներին (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D և SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) մուտք գործել բազմաթիվ ստրուկներ (օրինակ՝ ֆլեշ հիշողություն, SRAM, HKPIRAM, OCTOSPI կամ FSMC): Ստորև բերված նկարը նկարագրում է STM32U5 շարքի խելացի ճարտարապետությունը:
Նկար 2. STM32U5 սերիայի խելացի ճարտարապետություն
Cortex-M33 և GPU2D ինտերֆեյսները երկուսն էլ օգուտ են քաղում CACHE-ի օգտագործումից:
- ICACHE-ն բարելավում է Cortex-M33-ի աշխատանքը՝ ներքին հիշողություններից կոդ կամ տվյալներ արագ ավտոբուսի միջոցով (ֆլեշ հիշողություն, SRAM) և արտաքին հիշողություններից դանդաղ ավտոբուսի միջոցով (OCTOSPI1/2 և HSPI1 կամ FSMC) բեռնելիս: DCACHE1-ը բարելավում է աշխատանքը ներքին կամ արտաքին հիշողություններից s‑bus-ի միջոցով (GFXMMU, OCTOSPI1/2 և HSPI1 կամ FSMC) տվյալների բեռնելիս:
- DCACHE2-ը բարելավում է GPU2D-ի աշխատանքը՝ ներքին և արտաքին հիշողություններից (GFXMMU, ֆլեշ հիշողություն, SRAMs, OCTOSPI1/2 և HSPI1 կամ FSMC) տվյալները M0 պորտի ավտոբուսի միջոցով բեռնելիս:
STM32H5 սերիայի խելացի ճարտարապետություն
STM32H523/H533, STM32H563/H573 և STM32H562 խելացի ճարտարապետություն Այս ճարտարապետությունը հիմնված է ավտոբուսի մատրիցայի վրա, որը թույլ է տալիս բազմաթիվ վարպետների (Cortex-M33, ICACHE, DCACHE, GPDMAs, Ethernet և SDMMCs) մուտք գործել բազմաթիվ slaves, BPSM հիշողություններ (SKRAM): , OCTOSPI և FMC): Ստորև բերված նկարը նկարագրում է STM32H5 սերիայի խելացի ճարտարապետությունը:
Նկար 3. STM32H563/H573 և STM32H562 սերիաների խելացի ճարտարապետություն
Cortex-M33-ը շահում է CACHE-ի օգտագործումից:
- ICACHE-ն բարելավում է Cortex-M33-ի աշխատանքը՝ ներքին հիշողություններից կոդ կամ տվյալներ արագ ավտոբուսի միջոցով (ֆլեշ հիշողություն, SRAM) և արտաքին հիշողություններից դանդաղ ավտոբուսի միջոցով (OCTOSPI և FMC) բեռնելիս:
- DCACHE-ն բարելավում է աշխատանքը դանդաղ ավտոբուսի միջոցով արտաքին հիշողություններից (OCTOSPI և FMC) տվյալների բեռնման ժամանակ:
STM32H503 խելացի ճարտարապետություն
Այս ճարտարապետությունը հիմնված է ավտոբուսի մատրիցայի վրա, որը թույլ է տալիս մի քանի վարպետների (Cortex-M33, ICACHE և GPDMA) մուտք գործել բազմաթիվ ստրուկներ (օրինակ՝ ֆլեշ հիշողություն, SRAM և BKPSRAM): Ստորև բերված նկարը նկարագրում է STM32H5 սերիայի խելացի ճարտարապետությունը:
Նկար 4. STM32H503 սերիայի խելացի ճարտարապետություն
Cortex-M33-ը շահում է 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 և արտաքին հիշողություններ), որպեսզի նվազեցնի CPU-ի խցանումները քեշի բացթողումների ժամանակ: Հետևյալ աղյուսակը ամփոփում է հիշողության շրջանները և դրանց հասցեները:
Աղյուսակ 2. Հիշողության շրջանները և դրանց հասցեները
Ծայրամասային | Քեշավորվող հիշողության հասանելիություն | Ոչ քեշավորվող հիշողության հասանելիություն | |||||||
Տեսակ |
Անուն |
Ապրանքի անվանումը և տարածաշրջանի չափը |
Ավտոբուսի անունը |
Ոչ անվտանգ շրջանի մեկնարկային հասցե |
Անվտանգ, անապահով կանչվող տարածաշրջանի մեկնարկային հասցե |
Ավտոբուսի անունը |
Ոչ անվտանգ շրջանի մեկնարկային հասցե |
Անվտանգ, անապահով կանչվող տարածաշրջանի մեկնարկային հասցե | |
Ներքին |
ՖԼԵՇ |
STM32H503 | 128 ԿԲ |
ICACHE արագ ավտոբուս |
0x0800 0000 |
N/A |
N/A |
N/A |
N/A |
STM32L5
սերիա/ STM32U535/ 545/ STM32H523/ 533 |
512 ԿԲ |
0x0C00 0000 |
|||||||
STM32U575/ 585
STM32H563/ 573/562 |
2 ՄԲ |
||||||||
STM32U59x/
5Ax/5Fx/5Gx |
4 ՄԲ | ||||||||
SRAM1 |
STM32H503 | 16 ԿԲ |
0x0A00 0000 |
N/A |
S-bus |
0x2000 0000 |
0x3000 0000 |
||
STM32L5
series/ STM32U535/ 545/575/585 |
192 ԿԲ |
0x0E00 0000 |
|||||||
STM32H523/ 533 | 128 ԿԲ | ||||||||
STM32H563/ 573/562 | 256 ԿԲ | ||||||||
STM32U59x/
5Ax/5Fx/5Gx |
768 ԿԲ | ||||||||
SRAM2 |
STM32H503
շարքը |
16 ԿԲ | 0x0A00 4000 | N/A | 0x2000 4000 | N/A | |||
STM32L5
series/ STM32U535/ 545/575/585 |
64 ԿԲ |
0x0A03 0000 |
0x0E03 0000 |
0x2003 0000 |
0x3003 0000 |
||||
STM32H523/ 533 | 64 ԿԲ |
0x0A04 0000 |
0x0E04 0000 |
0x2004 0000 |
0x3004 0000 |
Ծայրամասային | Քեշավորվող հիշողության հասանելիություն | Ոչ քեշավորվող հիշողության հասանելիություն | |||||||
Ներքին |
SRAM2 |
STM32H563/ 573/562 | 80 ԿԲ |
ICACHE արագ ավտոբուս |
0x0A04 0000 | 0x0E04 0000 |
S-bus |
0x2004 0000 | 0x3004 0000 |
STM32U59x/
5Ax/5Fx/5Gx |
64 ԿԲ | 0x0A0C 0000 | 0x0E0C 0000 | 0x200C 0000 | 0x300C 0000 | ||||
SRAM3 |
STM32U575/ 585 | 512 ԿԲ | 0x0A04 0000 | 0x0E04 0000 | 0x2004 0000 | 0x3004 0000 | |||
STM32H523/ 533 | 64 ԿԲ |
0x0A05 0000 |
0x0E05 0000 |
0x2005 0000 |
0x3005 0000 |
||||
STM32H563/ 573/562 | 320 ԿԲ | ||||||||
STM32U59x/
5Ax/5Fx/5Gx |
832 ԿԲ | 0x0A0D 0000 | 0x0E0D 0000 | 0x200D 0000 | 0x300D 0000 | ||||
SRAM5 | STM32U59x/
5Ax/5Fx/5Gx |
832 ԿԲ | 0x0A1A 0000 | 0x0E1A 0000 | 0x201A 0000 | 0x301A 0000 | |||
SRAM6 | STM32U5Fx/
5Gx |
512 ԿԲ | 0x0A27 0000 | 0x0E27 0000 | 0x2027 0000 |
N/A |
|||
Արտաքին |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 ՄԲ |
ICACHE դանդաղ ավտոբուս |
Փոխանունի հասցեն [0x0000 0000-ի միջակայքում մինչև 0x07FF FFFF] կամ [0x1000 0000:0x1FFF FFFF] սահմանվում է վերաքարտեզագրման հատկանիշի միջոցով |
N/A |
0xA000 0000 | ||
FMC SDRAM | STM32H563/ 573/562 | 0xC000 0000 | |||||||
OCTOSPI1 բանկային անապահով |
STM32L5/U5
շարքը STM32H563/ 573/562 |
0x9000 0000 |
|||||||
FMC բանկ 3 անապահով |
STM32L5/U5
շարքը STM32H563/ 573/562 |
0x8000 0000 |
|||||||
OCTOSPI2
բանկային անապահով |
STM32U575/
585/59x/5Ax/ 5Fx/5Gx |
0x7000 0000 |
|||||||
FMC բանկ 1 անապահով |
STM32L5/U5
շարքը STM32H563/ 573/562 |
0x6000 0000 |
1. Ընտրվելու համար նման շրջանները վերաքարտեզագրելիս:
1-ուղի ընդդեմ 2-ուղի ICACHE-ի
Լռելյայնորեն, ICACHE-ը կազմաձևված է ասոցիատիվ գործառնական ռեժիմով (միացված է երկու եղանակով), բայց հնարավոր է ICACHE-ը կարգավորել ուղղակի քարտեզագրված ռեժիմում (միակողմանի միացված), շատ ցածր էներգիայի սպառում պահանջող ծրագրերի համար: ICACHE կոնֆիգուրացիան կատարվում է WAYSEL բիթով ICACHE_CR-ում հետևյալ կերպ.
- WAYSEL = 0. ուղղակի քարտեզագրված աշխատանքային ռեժիմ (1-ուղի)
- WAYSEL = 1 (կանխադրված). գործառնական ասոցիատիվ ռեժիմ (երկկողմանի)
Աղյուսակ 3. 1-ուղի ընդդեմ 2-ուղի ICACHE-ի
Պարամետր | 1-ուղի ICACHE | 2-ուղի ICACHE |
Քեշի չափը (Կբայթ) | 8(1)/32(2) | |
Cache մի շարք եղանակներով | 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 պայթեցման տեսակը վերարտադրված տարածաշրջանների համար կարգավորելի է: Այն իրականացնում է աստիճանական պոռթկում կամ WRAP պայթյուն, որն ընտրված է ICACHE_CRRx ռեգիստրում HBURST բիթով: WRAP-ի և աճող պոռթկումների միջև եղած տարբերությունները տրված են ստորև (տես նաև նկարը).
- WRAP պայթել:
- քեշի տողի չափը = 128 բիթ
- burst to start address = CPU-ի կողմից պահանջված առաջին տվյալների բառային հասցեն
- Աճող պոռթկում.
- քեշի տողի չափը = 128 բիթ
- burst starting address = հասցեն հավասարեցված է պահանջվող բառը պարունակող քեշի գծի սահմանին
Նկար 7. Աճող ընդդեմ WRAP պայթելու
Cacheable տարածաշրջաններ և remapping հատկություն
ICACHE-ը միացված է Cortex-M33-ին C-AHB ավտոբուսի միջոցով և պահում է կոդի շրջանը [0x0000 0000-ից մինչև 0x1FFF FFFF] հասցեներից: Քանի որ արտաքին հիշողությունները քարտեզագրված են [0x6000 0000-ից մինչև 0xAFFF FFFF] միջակայքում գտնվող հասցեում, ICACHE-ն աջակցում է remap ֆունկցիան, որը թույլ է տալիս ցանկացած արտաքին հիշողության տարածք վերարտադրել [0x0000 0000-ից 0x07FF FFFF] միջակայքում գտնվող հասցեում կամ: [0x1000 0000-ից 0x1FFF FFFF] և հասանելի դառնալ C-AHB ավտոբուսի միջոցով: Այս ֆունկցիայի միջոցով կարելի է վերափոխել արտաքին հիշողության մինչև չորս տարածք: Տարածաշրջանը վերաքարտեզագրվելուց հետո, remap գործողությունը տեղի է ունենում, նույնիսկ եթե ICACHE-ն անջատված է կամ եթե գործարքը քեշի ենթակա չէ: Քեշավորվող հիշողության շրջանները կարող են սահմանվել և ծրագրավորվել օգտագործողի կողմից հիշողության պաշտպանության միավորում (MPU): Ստորև բերված աղյուսակը ամփոփում է STM32L5 և STM32U5 սերիաների հիշողությունների կազմաձևերը:
Աղյուսակ 4. STM32L5 և STM32U5 սերիաների հիշողությունների կազմաձևում
Ապրանքի հիշողություն |
Cacheable
(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‑bus-ի միջոցով և քեշի ենթակա չէ: Հաջորդ քայլը ցույց է տալիս ICACHE-ի կոնֆիգուրացիան՝ այս տարածաշրջանը նորից քարտեզագրելու համար:
Նշում. OCTOSPI-ի կոնֆիգուրացիայի համար հիշողության քարտեզագրման ռեժիմում տե՛ս կիրառական նշումը Octo-SPI միջերեսը STM32 միկրոկառավարիչների վրա (AN5050
ICACHE-ի կոնֆիգուրացիա՝ արտաքին հիշողության քարտեզագրված տարածքը նորից քարտեզագրելու համար
[8x0 9000-ից 0000x0F FFFF] տարածաշրջանում տեղադրված 907 Մբայթերը վերափոխվում են [0x1000 0000-ից 0x107F FFFF] տարածաշրջանին: Այնուհետև նրանց կարելի է մուտք գործել դանդաղ ավտոբուսի միջոցով (ICACHE master2 ավտոբուս):
- ICACHE_CR ռեգիստրի կոնֆիգուրացիա
- Անջատեք ICACHE-ը EN = 0-ով:
- Ընտրեք միակողմանի կամ երկկողմանի (կախված հավելվածի կարիքներից) WAYSEL = 1 կամ 2 համապատասխանաբար:
- 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 գործարքները ստրուկ քեշի միացքի վրա, որը հարվածում է ICACHE բովանդակությանը (բերված տվյալներն արդեն հասանելի են քեշում): Հիթերի մոնիտորինգի հաշվիչը հասանելի է ICACHE_HMONR ռեգիստրում:
- Miss monitor-ը հաշվում է cacheable AHB գործարքները slave cache port-ի վրա, որոնք բաց են թողնում ICACHE-ի բովանդակությունը (բերված տվյալները դեռ հասանելի չեն քեշում): Բացակայող մոնիտորի հաշվիչը հասանելի է ICACHE_MMONR ռեգիստրում:
Նշում.
Այս երկու մոնիտորները չեն փաթաթվում, երբ հասնում են իրենց առավելագույն արժեքներին: Այս մոնիտորները կառավարվում են ICACHE_CR ռեգիստրի հետևյալ բիթերից.
- HITMEN բիթ (համապատասխանաբար MISSMEN բիթ) հարվածը (համապատասխանաբար բաց թողնել) մոնիտորը միացնելու/դադարեցնելու համար
- HITMRST բիթ (համապատասխանաբար MISSMRST բիթ) հարվածի (համապատասխանաբար բաց թողնված) մոնիտորը վերականգնելու համար Լռելյայնորեն, այս մոնիտորներն անջատված են էներգիայի սպառումը նվազեցնելու համար:
ICACHE-ի սպասարկում
Ծրագիրը կարող է անվավեր ճանաչել ICACHE-ը՝ ICACHE_CR ռեգիստրում CACHEINV բիթը դնելով: Այս գործողությունը անվավեր է դարձնում ամբողջ քեշը, այն դատարկ է դարձնում: Մինչդեռ, եթե որոշ վերաքարտեզագրված շրջաններ միացված են, remap հատկությունը դեռ ակտիվ է, նույնիսկ երբ 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 | Քեշի անվավերացման գործողությունն ավարտվեց | ||
ՍԽԱԼ | Քեշավորման գործողության ընթացքում սխալ է տեղի ունեցել | ||
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 բուֆերային հատկանիշ | Cacheability |
0 | X | Կարդացեք և գրեք՝ քեշի ենթակա չէ |
1 |
0 |
Կարդացեք՝ cacheable
Գրել՝ (cacheable) գրել միջոցով |
1 |
1 |
Կարդացեք՝ cacheable
Գրել՝ (cacheable) հետ գրել |
DCACHE քեշավորվող շրջաններ
STM32U5 սերիայի համար DCACHE1 ստրուկ ինտերֆեյսը միացված է Cortex-M33-ին S-AHB ավտոբուսի միջոցով և պահում է GFXMMU, FMC և HSPI/OCTOSPI-ները: DCACHE2 slave ինտերֆեյսը միացված է DMA2D-ին M0 նավահանգստի ավտոբուսի միջոցով և պահում է բոլոր ներքին և արտաքին հիշողությունները (բացառությամբ SRAM4-ի և BRKPSRAM-ի): STM32H5 սերիայի համար DCACHE slave ինտերֆեյսը միացված է Cortex-M33-ին S-AHB արտաքին հիշողությունների միջոցով FMC-ի և OCTOSPI-ի միջոցով:
Աղյուսակ 7. DCACHE քեշավորվող շրջաններ և միջերեսներ
Cacheable հիշողության հասցեի շրջան | DCACHE1 քեշավոր ինտերֆեյսներ | DCACHE2 քեշավոր ինտերֆեյսներ |
GFXMMU | X | X |
SRAM1 |
N/A |
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-ն ակտիվացնելու համար EN բիթը պետք է դրվի DCACHE_CR ռեգիստրում: Հարված և բաց թողնված մոնիտորներ DCACHE-ն օգտագործում է չորս մոնիտոր՝ քեշի կատարողականի վերլուծության համար.
- Երկու 32-բիթանոց (R/W) հարվածային մոնիտոր. հաշվում է, թե քանի անգամ է CPU-ն կարդացել կամ գրել տվյալներ քեշի հիշողության մեջ՝ առանց DCACHE հիմնական պորտերի վրա գործարք ստեղծելու (տվյալներն արդեն հասանելի են քեշում): (R/W) հարվածային մոնիտորների հաշվիչները հասանելի են համապատասխանաբար DCACHE_RHMONR և DCACHE_WHMONR գրանցամատյաններում:
- Երկու 16-բիթանոց (R/W) բաց թողնված մոնիտորներ. հաշվում են, թե քանի անգամ է պրոցեսորը կարդում կամ գրում տվյալներ քեշի հիշողության մեջ և ստեղծում գործարք DCACHE հիմնական նավահանգիստների վրա, որպեսզի բեռնել տվյալները հիշողության տարածաշրջանից (բերված տվյալները չեն արդեն հասանելի է քեշում): (R/W) բաց թողնված մոնիտորների հաշվիչները հասանելի են համապատասխանաբար DCACHE_RMMONR և DCACHE_WMMONR գրանցամատյաններում:
Նշում.
Այս չորս մոնիտորները չեն փաթաթվում, երբ հասնում են իրենց առավելագույն արժեքներին: Այս մոնիտորները կառավարվում են DCACHE_CR ռեգիստրի հետևյալ բիթերից.
- WHITMAN բիթ (համապատասխանաբար WMISSMEN բիթ) միացնելու/դադարեցնելու գրելու հարվածը (համապատասխանաբար բաց թողնել) մոնիտորը
- 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-ն կառավարում է ֆունկցիոնալ սխալները, երբ հայտնաբերվում է, DCACHE_SR-ում ERRF դրոշը դնելով: Ընդհատում կարող է առաջանալ նաև, եթե 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 միավոր / ՄՀց |
Ներքին ֆլեշ հիշողություն | Ներքին SRAM | Միացված է (2-ուղի) | Հաշմանդամ | 3.89 |
Ներքին ֆլեշ հիշողություն | Արտաքին Octo-SPI PSRAM (S‑bus) | Միացված է (2-ուղի) | Միացված է | 3.89 |
Ներքին ֆլեշ հիշողություն | Արտաքին Octo-SPI PSRAM (S‑bus) | Միացված է (2-ուղի) | Հաշմանդամ | 0.48 |
Արտաքին Octo-SPI Flash (C-bus) | Ներքին SRAM | Միացված է (2-ուղի) | Հաշմանդամ | 3.86 |
Արտաքին Octo-SPI Flash (C-bus) | Ներքին SRAM | Հաշմանդամ | Հաշմանդամ | 0.24 |
Ներքին ֆլեշ հիշողություն | Ներքին SRAM | Հաշմանդամ | Հաշմանդամ | 2.69 |
Փորձարկման պայմաններ.
- Կիրառելի արտադրանք՝ STM32U575/585
- Համակարգի հաճախականությունը՝ 160 ՄՀց:
- Արտաքին Octo-SPI PSRAM հիշողություն՝ 80 ՄՀց (DTR ռեժիմ):
- Արտաքին Octo-SPI ֆլեշ հիշողություն՝ 80 ՄՀց (STR ռեժիմ):
- Կազմող՝ IAR V8.50.4:
- Ներքին Flash-ի ՆԱԽԱԲԵՐՈՒՄԸ՝ ՄԻԱՑՎԱԾ:
ICACHE-ի և DCACHE-ի օգտագործումը նվազեցնում է էներգիայի սպառումը ներքին և արտաքին հիշողություններ մուտք գործելիս: Հետևյալ աղյուսակը ցույց է տալիս ICACHE-ի ազդեցությունը CoreMark-ի կատարման ընթացքում էներգիայի սպառման վրա:
Աղյուսակ 10. CoreMark-ի կատարումը ICACHE ազդեցությունը էներգիայի սպառման վրա
ICACHE կոնֆիգուրացիա | MCU էներգիայի սպառում (mA) |
Միացված է (2-ուղի) | 7.60 |
Միացված է (1-ուղի) | 7.13 |
Հաշմանդամ | 8.89 |
- Փորձարկման պայմաններ.
- Կիրառելի արտադրանք՝ STM32U575/585
- CoreMark կոդը՝ ներքին ֆլեշ հիշողություն:
- CoreMark-ի տվյալները՝ ներքին SRAM:
- Ներքին ֆլեշ հիշողության ՆԱԽԱԲԵՐՈՒՄԸ՝ ՄԻԱՑ:
- Համակարգի հաճախականությունը՝ 160 ՄՀց:
- Կազմող՝ IAR V8.32.2:
- Հատtagտիրույթ՝ 1.
- SMPS՝ միացված է:
- way set ասոցիատիվ կոնֆիգուրացիան ավելի կատարողական է, քան 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-ուղի ընդդեմ երկկողմանի ICACHE-ի • Բաժին 3.1.4. Cacheable regions և remapping feature • Բաժին 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 Series Microcontrollers [pdf] Օգտագործողի ձեռնարկ STM32H5 Series Microcontrollers, STM32H5, Series Microcontrollers, Microcontrollers |