STMicroelectronics STM32H5 Series Microcontrollers
ແນະນຳ
ບັນທຶກຂອງຄໍາຮ້ອງສະຫມັກນີ້ອະທິບາຍຖານຄວາມຈໍາຄໍາແນະນໍາ (ICACHE) ແລະຖານຄວາມຈໍາຂໍ້ມູນ (DCACHE), ຖານຄວາມຈໍາທໍາອິດພັດທະນາໂດຍ STMicroelectronics. ICACHE ແລະ DCACHE ທີ່ນໍາສະເຫນີຢູ່ໃນລົດເມ AHB ຂອງໂປເຊດເຊີ Arm® Cortex®-M33 ຖືກຝັງຢູ່ໃນ microcontroller STM32 (MCUs) ທີ່ລະບຸໄວ້ໃນຕາຕະລາງຂ້າງລຸ່ມນີ້. ແຄດເຫຼົ່ານີ້ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດປັບປຸງການປະຕິບັດຄໍາຮ້ອງສະຫມັກຂອງເຂົາເຈົ້າແລະຫຼຸດຜ່ອນການບໍລິໂພກໃນເວລາທີ່ດຶງຄໍາແນະນໍາແລະຂໍ້ມູນຈາກຄວາມຊົງຈໍາທັງພາຍໃນແລະພາຍນອກ, ຫຼືສໍາລັບການຈະລາຈອນຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍນອກ. ເອກະສານນີ້ໃຫ້ຕົວຢ່າງປົກກະຕິamples ເພື່ອເນັ້ນລັກສະນະ ICACHE ແລະ DCACHE ແລະອໍານວຍຄວາມສະດວກໃນການຕັ້ງຄ່າຂອງພວກເຂົາ.
ຕາຕະລາງ 1. ຜະລິດຕະພັນທີ່ໃຊ້ໄດ້
ປະເພດ | ຊຸດຜະລິດຕະພັນ |
Microcontrollers | ຊຸດ STM32H5, ຊຸດ STM32L5, ຊຸດ STM32U5 |
ຂໍ້ມູນທົ່ວໄປ
ໝາຍເຫດ:
ບັນທຶກຂອງແອັບພລິເຄຊັນນີ້ໃຊ້ກັບຊຸດ microcontrollers STM32 ທີ່ເປັນອຸປະກອນຫຼັກຂອງ Arm® Cortex®. Arm ເປັນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Arm Limited (ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ) ໃນສະຫະລັດ ແລະ/ຫຼືຢູ່ບ່ອນອື່ນ.
ICACHE ແລະ DCACHE ຫຼາຍກວ່າview
ພາກນີ້ໃຫ້ຫຼາຍກວ່າview ຂອງອິນເຕີເຟດ ICACHE ແລະ DCACHE ທີ່ຝັງຢູ່ໃນຕົວຄວບຄຸມ microcontrollers ຫຼັກ STM32 Arm® Cortex®. ພາກນີ້ໃຫ້ລາຍລະອຽດກ່ຽວກັບແຜນວາດ ICACHE ແລະ DCACHE ແລະການເຊື່ອມໂຍງໃນສະຖາປັດຕະຍະກໍາລະບົບ.
ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32L5
ສະຖາປັດຕະຍະກໍານີ້ແມ່ນອີງໃສ່ເມຕຣິກລົດເມທີ່ອະນຸຍາດໃຫ້ແມ່ບົດຫຼາຍ (Cortex-M33, ICACHE, DMA1/2, ແລະ SDMMC1) ເຂົ້າເຖິງຫຼາຍທາດ (ເຊັ່ນ: ຫນ່ວຍຄວາມຈໍາ flash, SRAM1/2, OCTOSPI1, ຫຼື FSMC). ຮູບຂ້າງລຸ່ມນີ້ອະທິບາຍສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32L5.
ຮູບທີ 1. ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32L5
ປະສິດທິພາບ Cortex-M33 ໄດ້ຖືກປັບປຸງໂດຍການໃຊ້ອິນເຕີເຟດ 8-Kbyte ICACHE ທີ່ແນະນໍາກັບລົດເມ C-AHB ຂອງມັນ, ເມື່ອດຶງລະຫັດ ຫຼືຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນ (flash memory, SRAM1, ຫຼື SRAM2) ຜ່ານລົດເມໄວ, ແລະຈາກ. ຄວາມຊົງຈໍາພາຍນອກ (OCTOSPI1 ຫຼື FSMC) ຜ່ານລົດເມຊ້າ.
ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32U5
ສະຖາປັດຕະຍະກໍານີ້ແມ່ນອີງໃສ່ເມຕຣິກລົດເມທີ່ອະນຸຍາດໃຫ້ແມ່ບົດຫຼາຍ (Cortex-M33, ICACHE, DCACHE, GPDMA, DMA2D ແລະ SDMMCs, OTG_HS, LTDC, GPU2D, GFXMMU) ເຂົ້າເຖິງ slave ຫຼາຍ (ເຊັ່ນ: ຫນ່ວຍຄວາມຈໍາ flash, SRAMs, BKPSRAM, HSPI/ OCTOSPI, ຫຼື FSMC).ຮູບຂ້າງລຸ່ມນີ້ອະທິບາຍສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32U5.
ຮູບ 2. ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32U5
ການໂຕ້ຕອບ Cortex-M33 ແລະ GPU2D ທັງສອງໄດ້ຮັບຜົນປະໂຫຍດຈາກການນໍາໃຊ້ CACHE.
- ICACHE ປັບປຸງປະສິດທິພາບຂອງ Cortex-M33 ເມື່ອດຶງລະຫັດຫຼືຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນຜ່ານລົດເມໄວ (flash memory, SRAMs) ແລະຈາກຄວາມຊົງຈໍາພາຍນອກຜ່ານລົດເມຊ້າ (OCTOSPI1/2 ແລະ HSPI1, ຫຼື FSMC). DCACHE1 ປັບປຸງປະສິດທິພາບເມື່ອດຶງຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນ ຫຼືພາຍນອກຜ່ານ s-bus (GFXMMU, OCTOSPI1/2 ແລະ HSPI1, ຫຼື FSMC).
- DCACHE2 ປັບປຸງປະສິດທິພາບຂອງ GPU2D ເມື່ອດຶງຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນ ແລະພາຍນອກ (GFXMMU, flash memory, SRAMs, OCTOSPI1/2 ແລະ HSPI1, ຫຼື FSMC) ຜ່ານ M0 port bus.
ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32H5
ສະຖາປັດຕະຍະກຳອັດສະລິຍະ STM32H523/H533, STM32H563/H573 ແລະ STM32H562 ສະຖາປັດຕະຍະກຳສະຖາປັດຕະຍະກຳສະຖາປັດຕະຍະກຳແບບອັດສະລິຍະນີ້ແມ່ນອີງໃສ່ເມທຣິກລົດເມທີ່ອະນຸຍາດໃຫ້ແມ່ແບບຫຼາຍອັນ (Cortex-M33, ICACHE, DCACHE, GPDMAs, Ethernet ແລະ SDMMCs) ເຂົ້າເຖິງສະຖາປັດຕະຍະກຳຫຼາຍອັນ (ເຊັ່ນ: ແຟລດ, ໜ່ວຍຄວາມຈຳ BPSRAM. , OCTOSPI ແລະ FMC). ຮູບຂ້າງລຸ່ມນີ້ອະທິບາຍສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32H5.
ຮູບທີ 3. ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32H563/H573 ແລະ STM32H562
Cortex-M33 ໄດ້ຮັບຜົນປະໂຫຍດຈາກການນໍາໃຊ້ CACHE.
- ICACHE ປັບປຸງປະສິດທິພາບຂອງ Cortex-M33 ເມື່ອດຶງລະຫັດຫຼືຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນຜ່ານລົດເມໄວ (flash memory, SRAMs) ແລະຈາກຄວາມຊົງຈໍາພາຍນອກຜ່ານລົດເມຊ້າ (OCTOSPI ແລະ FMC).
- DCACHE ປັບປຸງປະສິດທິພາບເມື່ອດຶງຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍນອກຜ່ານລົດເມຊ້າ (OCTOSPI ແລະ FMC).
ສະຖາປັດຕະຍະກຳອັດສະລິຍະ STM32H503
ສະຖາປັດຕະຍະກໍານີ້ແມ່ນອີງໃສ່ເມຕຣິກລົດເມທີ່ອະນຸຍາດໃຫ້ແມ່ບົດຫຼາຍ (Cortex-M33, ICACHE ແລະ GPDMAs) ເຂົ້າເຖິງທາດຫຼາຍ (ເຊັ່ນ: ຫນ່ວຍຄວາມຈໍາ flash, SRAMs ແລະ BKPSRAM). ຮູບຂ້າງລຸ່ມນີ້ອະທິບາຍສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32H5.
ຮູບ 4. ສະຖາປັດຕະຍະກຳອັດສະລິຍະຊຸດ STM32H503
Cortex-M33 ໄດ້ຮັບຜົນປະໂຫຍດຈາກການນໍາໃຊ້ CACHE.
- ICACHE ປັບປຸງປະສິດທິພາບຂອງ Cortex-M33 ໃນເວລາທີ່ດຶງລະຫັດຫຼືຂໍ້ມູນຈາກຄວາມຊົງຈໍາພາຍໃນໂດຍຜ່ານລົດເມໄວ (flash memory, SRAMs).
ແຜນວາດ ICACHE block
ແຜນວາດບລັອກ ICACHE ແມ່ນໃຫ້ຢູ່ໃນຮູບຂ້າງລຸ່ມນີ້.
ຮູບທີ 5. ແຜນວາດ ICACHE block
ຫນ່ວຍຄວາມຈໍາ ICACHE ປະກອບມີ:
- ໄດ້ TAG ຄວາມຊົງຈໍາທີ່ມີ:
- ທີ່ຢູ່ tags ທີ່ຊີ້ບອກວ່າຂໍ້ມູນໃດບັນຈຸຢູ່ໃນຫນ່ວຍຄວາມຈໍາຂອງຂໍ້ມູນ cache
- bits ທີ່ຖືກຕ້ອງ
- ຫນ່ວຍຄວາມຈໍາຂໍ້ມູນ, ເຊິ່ງປະກອບດ້ວຍຂໍ້ມູນທີ່ເກັບໄວ້ໃນຖານຄວາມຈໍາ
ແຜນວາດຕັນ DCACHE
ແຜນວາດຕັນ DCACHE ແມ່ນໃຫ້ຢູ່ໃນຮູບຂ້າງລຸ່ມນີ້.
ຮູບທີ 6. ແຜນວາດຕັນ DCACHE
ຫນ່ວຍຄວາມຈໍາ DCACHE ປະກອບມີ:
- ໄດ້ TAG ຄວາມຊົງຈໍາທີ່ມີ:
- ທີ່ຢູ່ tags ທີ່ຊີ້ບອກວ່າຂໍ້ມູນໃດບັນຈຸຢູ່ໃນຫນ່ວຍຄວາມຈໍາຂອງຂໍ້ມູນ cache
- bits ທີ່ຖືກຕ້ອງ
- ສິດທິພິເສດ
- bits ເປື້ອນ
- ຫນ່ວຍຄວາມຈໍາຂໍ້ມູນ, ເຊິ່ງປະກອບດ້ວຍຂໍ້ມູນທີ່ເກັບໄວ້ໃນຖານຄວາມຈໍາ
ລັກສະນະ ICACHE ແລະ DCACHE
ແມ່ບົດຄູ່
ICACHE ເຂົ້າເຖິງ AHB bus matrix ຕະຫຼອດ:
- ຫນຶ່ງພອດແມ່ບົດ AHB: master1 (ລົດເມໄວ)
- ສອງພອດແມ່ບົດ AHB: master1 (ລົດເມໄວ) ແລະ master2 (ລົດເມຊ້າ)
ຄຸນສົມບັດນີ້ອະນຸຍາດໃຫ້ຕັດການຈາລະຈອນໄດ້ເມື່ອເຂົ້າເຖິງພື້ນທີ່ຄວາມຊົງຈໍາຕ່າງໆ (ເຊັ່ນ: ໜ່ວຍຄວາມຈຳແຟລດພາຍໃນ, SRAM ພາຍໃນ ແລະໜ່ວຍຄວາມຈຳພາຍນອກ), ເພື່ອຫຼຸດຜ່ອນການຢຸດ CPU ທີ່ຂາດແຄດ. ຕາຕະລາງຕໍ່ໄປນີ້ສະຫຼຸບພື້ນທີ່ຫນ່ວຍຄວາມຈໍາແລະທີ່ຢູ່ຂອງເຂົາເຈົ້າ.
ຕາຕະລາງ 2. ຂົງເຂດຄວາມຈໍາ ແລະທີ່ຢູ່ຂອງພວກມັນ
ອຸປະກອນຕໍ່ຂ້າງ | ການເຂົ້າເຖິງໜ່ວຍຄວາມຈຳທີ່ສາມາດເກັບໄດ້ | ບໍ່ສາມາດເຂົ້າເຖິງໜ່ວຍຄວາມຈຳທີ່ເກັບໄວ້ໄດ້ | |||||||
ປະເພດ |
ຊື່ |
ຊື່ຜະລິດຕະພັນ ແລະຂະຫນາດພາກພື້ນ |
ຊື່ລົດເມ |
ທີ່ຢູ່ເລີ່ມຕົ້ນພາກພື້ນທີ່ບໍ່ປອດໄພ |
ທີ່ຢູ່ເລີ່ມຕົ້ນພາກພື້ນໂທທີ່ປອດໄພ, ບໍ່ປອດໄພ |
ຊື່ລົດເມ |
ທີ່ຢູ່ເລີ່ມຕົ້ນພາກພື້ນທີ່ບໍ່ປອດໄພ |
ທີ່ຢູ່ເລີ່ມຕົ້ນພາກພື້ນໂທທີ່ປອດໄພ, ບໍ່ປອດໄພ | |
ພາຍໃນ |
ແຟລດ |
STM32H503 | 128 KB |
ICACHE ລົດເມໄວ |
0x0800 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-bus |
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 | ບໍ່ມີ | 0x2000 4000 | ບໍ່ມີ | |||
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-bus |
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 |
ບໍ່ມີ |
|||
ພາຍນອກ |
HSPI1 | STM32U59x/
5Ax/5Fx/5Gx |
256 MB |
ICACHE ລົດເມຊ້າ |
ທີ່ຢູ່ Alias ຢູ່ໃນຂອບເຂດຂອງ [0x0000 0000 ເປັນ 0x07FF FFFF] ຫຼື [0x1000 0000:0x1FFF FFFF] ກໍານົດໂດຍວິທີການ remapping ຄຸນນະສົມບັດ |
ບໍ່ມີ |
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. ຈະຖືກເລືອກໃນເວລາທີ່ remapping ພາກພື້ນດັ່ງກ່າວ.
1-ທາງກັບ 2-way ICACHE
ໂດຍຄ່າເລີ່ມຕົ້ນ, ICACHE ຖືກຕັ້ງຄ່າໃນໂຫມດປະຕິບັດການທີ່ກ່ຽວຂ້ອງ (ສອງວິທີເປີດໃຊ້ງານ), ແຕ່ມັນເປັນໄປໄດ້ທີ່ຈະກໍາຫນົດຄ່າ ICACHE ໃນຮູບແບບແຜນທີ່ໂດຍກົງ (ເປີດທາງດຽວ), ສໍາລັບຄໍາຮ້ອງສະຫມັກທີ່ຕ້ອງການການໃຊ້ພະລັງງານຕ່ໍາຫຼາຍ. ການຕັ້ງຄ່າ ICACHE ແມ່ນເຮັດດ້ວຍບິດ WAYSEL ໃນ ICACHE_CR ດັ່ງຕໍ່ໄປນີ້:
- WAYSEL = 0: ຮູບແບບການໃຊ້ງານແຜນທີ່ໂດຍກົງ (1-ທາງ)
- WAYSEL = 1 (ຄ່າເລີ່ມຕົ້ນ): ຮູບແບບການເຮັດວຽກທີ່ເຊື່ອມໂຍງ (2 ທາງ)
ຕາຕະລາງ 3. 1-way ທຽບກັບ 2-way ICACHE
ພາລາມິເຕີ | ICACHE 1 ທາງ | ICACHE 2 ທາງ |
ຂະໜາດແຄສ (Kbytes) | 8(1)/32(2) | |
Cache ຈໍານວນຂອງວິທີການ | 1 | 2 |
ຂະຫນາດເສັ້ນ cache | 128 bits (16 bytes) | |
ຈໍານວນສາຍ cache | 512(1)/2048(2) | 256(1)/1024(2) ຕໍ່ທາງ |
- ສໍາລັບຊຸດ STM32L5 / STM32H5 ຊຸດ / STM32U535/545/575/585
- For STM32U59x/5Ax/5Fx/5Gx
ປະເພດລະເບີດ
ບາງຄວາມຊົງຈໍາ Octo-SPI ສະຫນັບສະຫນູນການລະເບີດຂອງ WRAP, ເຊິ່ງສະຫນອງຜົນປະໂຫຍດຂອງການປະຕິບັດຄຸນນະສົມບັດຄໍາທໍາອິດທີ່ສໍາຄັນ. ປະເພດຂອງການລະເບີດຂອງ ICACHE ຂອງທຸລະກໍາຫນ່ວຍຄວາມຈໍາ AHB ສໍາລັບພາກພື້ນ remapped ແມ່ນກໍາຫນົດຄ່າໄດ້. ມັນປະຕິບັດການລະເບີດທີ່ເພີ່ມຂຶ້ນ ຫຼື WRAP burst, ເລືອກດ້ວຍບິດ HBURST ໃນທະບຽນ ICACHE_CRRx. ຄວາມແຕກຕ່າງລະຫວ່າງ WRAP ແລະການລະເບີດທີ່ເພີ່ມຂຶ້ນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້ (ເບິ່ງຮູບ):
- WRAP ລະເບີດ:
- ຂະຫນາດເສັ້ນ cache = 128 bits
- burst ເພື່ອເລີ່ມຕົ້ນທີ່ຢູ່ = ທີ່ຢູ່ຄໍາສັບຂອງຂໍ້ມູນທໍາອິດທີ່ຮ້ອງຂໍໂດຍ CPU
- ການລະເບີດທີ່ເພີ່ມຂຶ້ນ:
- ຂະຫນາດເສັ້ນ cache = 128 bits
- burst start address = ທີ່ຢູ່ຖືກຈັດຢູ່ໃນຂອບເຂດຂອງເສັ້ນ cache ທີ່ມີຄໍາຮ້ອງຂໍ
ຮູບທີ 7. ເພີ່ມຂຶ້ນທຽບກັບ WRAP ລະເບີດ
ພື້ນທີ່ທີ່ສາມາດເກັບໄວ້ໄດ້ ແລະຄຸນສົມບັດການແຜນທີ່ຄືນໃໝ່
ICACHE ເຊື່ອມຕໍ່ກັບ Cortex-M33 ຜ່ານລົດເມ C-AHB ແລະ cache ພາກພື້ນລະຫັດຈາກທີ່ຢູ່ [0x0000 0000 ຫາ 0x1FFF FFFF]. ເນື່ອງຈາກຄວາມຊົງຈໍາພາຍນອກຖືກແຜນທີ່ຢູ່ໃນທີ່ຢູ່ໃນໄລຍະ [0x6000 0000 ຫາ 0xAFFF FFFF], ICACHE ສະຫນັບສະຫນູນຄຸນສົມບັດ remap ທີ່ອະນຸຍາດໃຫ້ພາກພື້ນຫນ່ວຍຄວາມຈໍາພາຍນອກທີ່ຈະ remapped ທີ່ຢູ່ໃນໄລຍະຂອງ [0x0000 0000 ຫາ 0x07FF FF FF] ຫຼື. [0x1000 0000 ຫາ 0x1FFF FFFF], ແລະເພື່ອເຂົ້າເຖິງໄດ້ຜ່ານລົດເມ C-AHB. ສູງສຸດສີ່ພື້ນທີ່ຫນ່ວຍຄວາມຈໍາພາຍນອກສາມາດ remapped ກັບຄຸນນະສົມບັດນີ້. ເມື່ອພາກພື້ນໄດ້ຖືກ remapped, ການດໍາເນີນງານ remap ເກີດຂຶ້ນເຖິງແມ່ນວ່າ ICACHE ຈະຖືກປິດໃຊ້ງານຫຼືຖ້າຫາກວ່າທຸລະກໍາບໍ່ສາມາດ cache ໄດ້. ພາກພື້ນຂອງຫນ່ວຍຄວາມຈໍາທີ່ສາມາດເກັບໄວ້ໄດ້ສາມາດ defi ed ແລະດໍາເນີນໂຄງການໂດຍຜູ້ໃຊ້ໃນຫນ່ວຍປ້ອງກັນຫນ່ວຍຄວາມຈໍາ (MPU). ຕາຕະລາງຂ້າງລຸ່ມນີ້ສະຫຼຸບການຕັ້ງຄ່າຂອງຄວາມຊົງຈໍາຊຸດ STM32L5 ແລະ STM32U5.
ຕາຕະລາງ 4. ການຕັ້ງຄ່າຄວາມຊົງຈໍາຊຸດ STM32L5 ແລະ STM32U5
ຄວາມຊົງຈໍາຂອງຜະລິດຕະພັນ |
ສາມາດເກັບໄວ້ໄດ້
(ໂຄງການ MPU) |
Remapped ໃນ ICACHE
(ICACHE_CRRx ການຂຽນໂປລແກລມ) |
ຫນ່ວຍຄວາມຈໍາ Flash | ແມ່ນ ຫຼື ບໍ່ |
ບໍ່ຈໍາເປັນ |
SRAM | ບໍ່ແນະນໍາ | |
ຄວາມຊົງຈຳພາຍນອກ (HSPI/ OCTOSPI ຫຼື FSMC) | ແມ່ນ ຫຼື ບໍ່ | ຕ້ອງການຖ້າຫາກວ່າຜູ້ໃຊ້ຕ້ອງການການດຶງຂໍ້ມູນລະຫັດພາຍນອກໃນລົດເມ C- AHB (ອື່ນໆໃນລົດເມ S-AHB) |
ຜົນປະໂຫຍດຂອງ ICACHE ການສ້າງແຜນທີ່ຫນ່ວຍຄວາມຈໍາພາຍນອກ
ອະດີດample ໃນຮູບຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນວິທີການຮັບຜົນປະໂຫຍດຈາກການປະຕິບັດການປັບປຸງ ICACHE ໃນລະຫວ່າງການປະຕິບັດລະຫັດຫຼືຂໍ້ມູນທີ່ອ່ານເມື່ອເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາ Octo-SPI ພາຍນອກ 8-Mbyte ພາຍນອກ (ເຊັ່ນ: ຫນ່ວຍຄວາມຈໍາ flash ພາຍນອກຫຼື RAM).
ຮູບທີ 8. Remap ໜ່ວຍຄວາມຈຳ Octo-SPI example
ຂັ້ນຕອນຕໍ່ໄປນີ້ແມ່ນຈໍາເປັນເພື່ອ remap ຫນ່ວຍຄວາມຈໍາພາຍນອກນີ້:
ການຕັ້ງຄ່າ OCTOSPI ສໍາລັບຫນ່ວຍຄວາມຈໍາພາຍນອກ
ຕັ້ງຄ່າສ່ວນຕິດຕໍ່ OCTOSPI ເພື່ອເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາພາຍນອກໃນໂຫມດ Memory mapped (ຫນ່ວຍຄວາມຈໍາພາຍນອກແມ່ນເຫັນໄດ້ວ່າເປັນຫນ່ວຍຄວາມຈໍາພາຍໃນທີ່ແຜນທີ່ຢູ່ໃນພາກພື້ນ [0x9000 0000 ຫາ 0x9FFF FFFF]). ເນື່ອງຈາກຂະຫນາດຫນ່ວຍຄວາມຈໍາພາຍນອກແມ່ນ 8 Mbytes, ມັນຖືກສັງເກດເຫັນຢູ່ໃນພາກພື້ນ [0x9000 0000 ຫາ 0x907F FFFF]. ໜ່ວຍຄວາມຈຳພາຍນອກຢູ່ໃນພາກພື້ນນີ້ຖືກເຂົ້າເຖິງຜ່ານ S-bus ແລະບໍ່ສາມາດເກັບຂໍ້ມູນໄດ້. ຂັ້ນຕອນຕໍ່ໄປສະແດງໃຫ້ເຫັນການຕັ້ງຄ່າ ICACHE ໃນຄໍາສັ່ງທີ່ຈະ remap ພາກພື້ນນີ້.
ໝາຍເຫດ: ສຳລັບການຕັ້ງຄ່າ OCTOSPI ໃນໂໝດຄວາມຈຳແຜນທີ່, ໃຫ້ອ້າງອີງໃສ່ບັນທຶກຂອງແອັບພລິເຄຊັນ Octo‑ SPI ໃນຕົວຄວບຄຸມຈຸລະພາກ STM32 (AN5050.
ການຕັ້ງຄ່າ ICACHE ເພື່ອ remap ພາກພື້ນທີ່ມີແຜນທີ່ຫນ່ວຍຄວາມຈໍາພາຍນອກ
8 Mbytes ທີ່ວາງໄວ້ໃນພາກພື້ນ [0x9000 0000 ຫາ 0x907F FFFF] ໄດ້ຖືກ remapped ກັບພາກພື້ນ [0x1000 0000 ຫາ 0x107F FFFF]. ຫຼັງຈາກນັ້ນເຂົາເຈົ້າສາມາດເຂົ້າເຖິງໄດ້ໂດຍຜ່ານລົດເມຊ້າ (ICACHE master2 bus).
- ການຕັ້ງຄ່າການລົງທະບຽນ IACHE_CR
- ປິດໃຊ້ງານ ICACHE ດ້ວຍ EN = 0.
- ເລືອກທາງ 1 ຫຼື 2 ທາງ (ຂຶ້ນກັບຄວາມຕ້ອງການຂອງແອັບພລິເຄຊັນ) ດ້ວຍ WAYSEL = 0 ຫຼື 1, ຕາມລໍາດັບ.
- ການຕັ້ງຄ່າການລົງທະບຽນ ICACHE_CRRx (ສູງສຸດສີ່ພາກພື້ນ, x = 0 ຫາ 3)
- ເລືອກທີ່ຢູ່ຖານ 0x1000 0000 (remap address) ດ້ວຍ BASEADDR [28:21] = 0x80.
- ເລືອກຂະໜາດພາກພື້ນ 8-Mbyte ເພື່ອ remap ດ້ວຍ RSIZE[2:0] = 0x3.
- ເລືອກທີ່ຢູ່ 0x9000 0000 remapped REMAPADDR[31:21] = 0x480.
- ເລືອກພອດ ICACHE AHB master2 ສໍາລັບຄວາມຊົງຈໍາພາຍນອກດ້ວຍ MSTSEL = 1.
- ເລືອກປະເພດການລະເບີດຂອງ WRAP ດ້ວຍ HBURST = 0.
- ເປີດໃຊ້ remapping ສໍາລັບພາກພື້ນ x ກັບ REN = 1.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວ່າພື້ນທີ່ຄວາມຊົງຈໍາແນວໃດກັບ IAR ຫຼັງຈາກເປີດໃຊ້ remap.
ຮູບ 9. remapping ພາກພື້ນຫນ່ວຍຄວາມຈໍາ example
ຫນ່ວຍຄວາມຈໍາພາຍນອກ 8-Mbyte ໄດ້ຖືກ remapped ໃນປັດຈຸບັນແລະສາມາດໄດ້ຮັບການເຂົ້າເຖິງໄດ້ໃນໄລຍະພາກພື້ນ [0x1000 0000 ຫາ 0x107F FFFF].
ICACHE ເປີດໃຊ້
- ການຕັ້ງຄ່າການລົງທະບຽນ ICACHE_CR ເປີດໃຊ້ ICACHE ດ້ວຍ EN = 1.
ຕິດຕາມກວດກາຕິດແລະພາດ
ICACHE ໃຫ້ສອງຈໍພາບສໍາລັບການວິເຄາະປະສິດທິພາບ: ຈໍສະແດງຜົນ hit 32-bit ແລະ 16-bit miss monitor.
- ຈໍສະແດງຜົນ hit ຈະນັບການເຮັດທຸລະກໍາ AHB ທີ່ສາມາດເກັບໄວ້ໄດ້ໃນພອດແຄດຂອງ slave ທີ່ຕີເນື້ອຫາ ICACHE (ຂໍ້ມູນທີ່ດຶງມາແລ້ວມີຢູ່ໃນແຄດ). ເຄົາເຕີຕິດຕາມການຕີແມ່ນມີຢູ່ໃນທະບຽນ ICACHE_HMONR.
- ຈໍສະແດງຜົນ miss ຈະນັບການເຮັດທຸລະກໍາ AHB ທີ່ສາມາດເກັບໄວ້ໄດ້ໃນພອດແຄດຂອງ slave ທີ່ຂາດເນື້ອຫາ ICACHE (ຂໍ້ມູນທີ່ດຶງມາບໍ່ໄດ້ຢູ່ໃນແຄດແລ້ວ). ຕົວນັບຈໍພາບທີ່ຂາດຫາຍໄປແມ່ນມີຢູ່ໃນທະບຽນ ICACHE_MMONR.
ໝາຍເຫດ:
ຈໍສະແດງຜົນສອງອັນນີ້ບໍ່ຖືກປົກຄຸມເມື່ອຮອດຄ່າສູງສຸດ. ຈໍພາບເຫຼົ່ານີ້ຖືກຈັດການຈາກບິດຕໍ່ໄປນີ້ຢູ່ໃນທະບຽນ ICACHE_CR:
- HITMEN bit (ຕາມລໍາດັບ MISSEN bit) ເພື່ອເປີດໃຊ້ / ຢຸດ hit (ຕາມລໍາດັບ miss) ຕິດຕາມກວດກາ
- ບິດ HITMRST (ຕາມລໍາດັບ MISSMRST bit) ເພື່ອຕັ້ງຄ່າຈໍສະແດງຜົນ hit (ຕາມລໍາດັບ miss) ໂດຍຄ່າເລີ່ມຕົ້ນ, ຈໍສະແດງຜົນເຫຼົ່ານີ້ຖືກປິດການໃຊ້ງານເພື່ອຫຼຸດຜ່ອນການໃຊ້ພະລັງງານ.
ICACHE ບໍາລຸງຮັກສາ
ຊອບແວສາມາດເຮັດໃຫ້ ICACHE ບໍ່ຖືກຕ້ອງໂດຍການຕັ້ງບິດ CACHEINV ຢູ່ໃນທະບຽນ ICACHE_CR. ຄຳສັ່ງນີ້ເຮັດໃຫ້ແຄດທັງໝົດບໍ່ຖືກຕ້ອງ, ເຮັດໃຫ້ມັນຫວ່າງເປົ່າ. ໃນຂະນະດຽວກັນ, ຖ້າບາງພື້ນທີ່ remapped ຖືກເປີດໃຊ້, ຄຸນສົມບັດ remap ຍັງເຮັດວຽກ, ເຖິງແມ່ນວ່າໃນເວລາທີ່ ICACHE ຈະຖືກປິດໃຊ້ງານ. ເນື່ອງຈາກ ICACHE ພຽງແຕ່ຄຸ້ມຄອງການເຮັດທຸລະກໍາທີ່ອ່ານແລະບໍ່ໄດ້ຈັດການການເຮັດທຸລະກໍາການຂຽນ, ມັນບໍ່ຮັບປະກັນຄວາມສອດຄ່ອງໃນກໍລະນີຂອງການຂຽນ. ດັ່ງນັ້ນ, ຊອບແວຈະຕ້ອງເຮັດໃຫ້ ICACHE ບໍ່ຖືກຕ້ອງຫຼັງຈາກດໍາເນີນໂຄງການພາກພື້ນ.
ຄວາມປອດໄພ ICACH
ICACHE ແມ່ນອຸປະກອນຕໍ່ພ່ວງທີ່ປອດໄພທີ່ສາມາດຕັ້ງຄ່າໄດ້ຢ່າງປອດໄພຜ່ານທະບຽນການຕັ້ງຄ່າທີ່ປອດໄພ GTZC TZC. ເມື່ອມັນຖືກຕັ້ງຄ່າເປັນທີ່ປອດໄພ, ພຽງແຕ່ການເຂົ້າເຖິງທີ່ປອດໄພແມ່ນອະນຸຍາດໃຫ້ລົງທະບຽນ ICACHE. ICACHE ຍັງສາມາດຖືກຕັ້ງຄ່າເປັນສິດທິພິເສດໂດຍຜ່ານທະບຽນການຕັ້ງຄ່າສິດທິພິເສດ GTZC TZC. ເມື່ອ ICACHE ຖືກຕັ້ງຄ່າເປັນສິດທິພິເສດ, ມີພຽງແຕ່ການເຂົ້າເຖິງສິດທິພິເສດເທົ່ານັ້ນທີ່ຖືກອະນຸຍາດໃຫ້ລົງທະບຽນ ICACHE. ໂດຍຄ່າເລີ່ມຕົ້ນ, ICACHE ແມ່ນບໍ່ປອດໄພ ແລະບໍ່ມີສິດທິພິເສດຜ່ານ GTZC TZC.
ການຈັດການເຫດການແລະການຂັດຂວາງ
ICACHE ຈັດການຄວາມຜິດພາດໃນການເຮັດວຽກເມື່ອກວດພົບ, ໂດຍການຕັ້ງທຸງ ERRF ໃນ ICACHE_SR. ການຂັດຂວາງຍັງສາມາດຖືກສ້າງຂື້ນຖ້າບິດ ERRIE ຖືກຕັ້ງຢູ່ໃນ IACHE_IER. ໃນກໍລະນີຂອງການບໍ່ຖືກຕ້ອງຂອງ ICACHE, ໃນເວລາທີ່ cache busy state ສໍາເລັດຮູບ, ທຸງ BSYENDF ຖືກຕັ້ງຢູ່ໃນ ICACHE_SR. ການຂັດຂວາງຍັງສາມາດຖືກສ້າງຂື້ນຖ້າບິດ BSYENDIE ຖືກຕັ້ງຢູ່ໃນ ICACHE_IER. ຕາຕະລາງຂ້າງລຸ່ມນີ້ລາຍຊື່ການຂັດຂວາງ ICACHE ແລະທຸງເຫດການ.
ຕາຕະລາງ 5. ICACHE interrupt ແລະ bits ການຈັດການເຫດການ
ລົງທະບຽນ | ຊື່ນ້ອຍ | ລາຍລະອຽດເລັກນ້ອຍ | ປະເພດການເຂົ້າເຖິງບິດ |
ICACHE_SR |
ຄາວຽກ | Cache ປະຕິບັດການດໍາເນີນການທີ່ບໍ່ຖືກຕ້ອງຢ່າງເຕັມທີ່ |
ອ່ານເທົ່ານັ້ນ |
BSYENDF | ການດໍາເນີນການ cache invalidation ສໍາເລັດ | ||
ຜິດພາດ | ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນລະຫວ່າງການດໍາເນີນການເກັບຂໍ້ມູນ | ||
ICACHE_IER |
ຜິດພາດ | ເປີດໃຊ້ການຂັດຂວາງສໍາລັບຄວາມຜິດພາດຂອງ cache |
ອ່ານ/ຂຽນ |
BSYENDIE | ເປີດໃຊ້ການຂັດຂວາງໃນກໍລະນີຂອງການດໍາເນີນການ invalidation ສໍາເລັດ | ||
ICACHE_FCR |
CERRF | ລຶບລ້າງ ERRF ໃນ ICACHE_SR |
ຂຽນເທົ່ານັ້ນ |
CBSYENDF | ລຶບ BSYENDF ໃນ ICACHE_SR |
ຄຸນສົມບັດ DCACHE
ຈຸດປະສົງຂອງຖານຄວາມຈໍາຂໍ້ມູນແມ່ນເພື່ອ cache ການໂຫຼດຂໍ້ມູນຫນ່ວຍຄວາມຈໍາພາຍນອກແລະການເກັບຮັກສາຂໍ້ມູນທີ່ມາຈາກໂຮງງານຜະລິດຫຼືຈາກອຸປະກອນແມ່ບົດລົດເມອື່ນ. DCACHE ຄຸ້ມຄອງທັງການອ່ານ ແລະຂຽນການເຮັດທຸລະກໍາ.
DCACHE cacheability traffic
DCACHE ເກັບຄວາມຊົງຈຳພາຍນອກຈາກສ່ວນຕິດຕໍ່ແມ່ແບບພອດຜ່ານລົດເມ AHB. ການຮ້ອງຂໍຫນ່ວຍຄວາມຈໍາທີ່ເຂົ້າມາແມ່ນຖືກກໍານົດເປັນ cacheable ອີງຕາມຄຸນລັກສະນະການລັອກຫນ່ວຍຄວາມຈໍາການເຮັດທຸລະກໍາ AHB ຂອງມັນ. ນະໂຍບາຍການຂຽນ DCACHE ຖືກກໍານົດວ່າເປັນການຂຽນຜ່ານຫຼືຂຽນຄືນໂດຍອີງຕາມຄຸນລັກສະນະຫນ່ວຍຄວາມຈໍາທີ່ຖືກຕັ້ງຄ່າໂດຍ MPU. ເມື່ອພາກພື້ນໃດນຶ່ງຖືກຕັ້ງຄ່າເປັນບໍ່ສາມາດເກັບຂໍ້ມູນໄດ້, DCACHE ຈະຖືກຂ້າມໄປ.
ຕາຕະລາງ 6. cacheability DCACHE ສໍາລັບທຸລະກໍາ AHB
ຄຸນສົມບັດການຊອກຫາ AHB | ຄຸນລັກສະນະ AHB bufferable | ຄວາມສາມາດໃນການເກັບຂໍ້ມູນ |
0 | X | ອ່ານແລະຂຽນ: ບໍ່ແມ່ນ cacheable |
1 |
0 |
ອ່ານ: cacheable
ຂຽນ: (cacheable) ຂຽນຜ່ານ |
1 |
1 |
ອ່ານ: cacheable
ຂຽນ: (cacheable) ຂຽນຄືນ |
DCACHE ພາກພື້ນທີ່ສາມາດເກັບໄດ້
ສໍາລັບຊຸດ STM32U5, ການໂຕ້ຕອບສໍາລອງ DCACHE1 ແມ່ນເຊື່ອມຕໍ່ກັບ Cortex-M33 ຜ່ານລົດເມ S-AHB ແລະເກັບຂໍ້ມູນ GFXMMU, FMC, ແລະ HSPI/OCTOSPIs. ອິນເຕີເຟດ DCACHE2 slave ແມ່ນເຊື່ອມຕໍ່ກັບ DMA2D ຜ່ານລົດເມພອດ M0, ແລະເກັບຄວາມຊົງຈໍາພາຍໃນແລະພາຍນອກທັງຫມົດ (ຍົກເວັ້ນ SRAM4 ແລະ BRKPSRAM). ສໍາລັບຊຸດ STM32H5, ການໂຕ້ຕອບສໍາລອງ DCACHE ແມ່ນເຊື່ອມຕໍ່ກັບ Cortex-M33 ຜ່ານຄວາມຊົງຈໍາພາຍນອກ S-AHB ຜ່ານ FMC ແລະ OCTOSPI.
ຕາຕະລາງ 7. DCACHE cacheable regions and interfaces
ພາກພື້ນທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາທີ່ສາມາດເກັບໄວ້ໄດ້ | DCACHE1 ການໂຕ້ຕອບທີ່ສາມາດເກັບໄວ້ໄດ້ | DCACHE2 ການໂຕ້ຕອບທີ່ສາມາດເກັບໄວ້ໄດ້ |
GFXMMU | X | X |
SRAM1 |
ບໍ່ມີ |
X |
SRAM2 | X | |
SRAM3 | X | |
SRAM5 | X | |
SRAM6 | X | |
HSPI1 | X | X |
OCTOSPI1 | X | X |
ທະນາຄານ FMC | X | X |
OCTOSPI2 | X | X |
ໝາຍເຫດ
ບາງສ່ວນຕິດຕໍ່ບໍ່ຖືກຮອງຮັບໃນບາງຜະລິດຕະພັນ. ເບິ່ງຮູບທີ 1 ຫຼືຄູ່ມືການອ້າງອີງຜະລິດຕະພັນສະເພາະ.
ປະເພດລະເບີດ
ເຊັ່ນດຽວກັນກັບ ICACHE, DCACHE ສະຫນັບສະຫນູນການລະເບີດທີ່ເພີ່ມຂຶ້ນແລະຫໍ່ (ເບິ່ງພາກ 3.1.3). ສໍາລັບ DCACHE, ປະເພດລະເບີດແມ່ນຖືກຕັ້ງຄ່າຜ່ານບິດ HBURST ໃນ DCACHE_CR.
ການຕັ້ງຄ່າ DCACHE
ໃນລະຫວ່າງການ boot, DCACHE ຖືກປິດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນເຮັດໃຫ້ການຮ້ອງຂໍຫນ່ວຍຄວາມຈໍາຂອງ slave ຖືກສົ່ງຕໍ່ໂດຍກົງໄປຫາພອດແມ່ແບບ. ເພື່ອເປີດໃຊ້ DCACHE, EN bit ຕ້ອງຖືກຕັ້ງຢູ່ໃນທະບຽນ DCACHE_CR. ຈໍສະແດງຜົນ Hit-and-miss DCACHE ປະຕິບັດສີ່ຕົວຕິດຕາມສໍາລັບການວິເຄາະປະສິດທິພາບ cache:
- ສອງ 32-bit (R/W) hit monitor: ນັບຈໍານວນເວລາທີ່ CPU ອ່ານຫຼືຂຽນຂໍ້ມູນໃນຫນ່ວຍຄວາມຈໍາ cache ໂດຍບໍ່ມີການສ້າງທຸລະກໍາໃນພອດແມ່ບົດ DCACHE (ຂໍ້ມູນທີ່ມີຢູ່ໃນ cache ແລ້ວ). ເຄົາເຕີຕິດຕາມການຕີ (R/W) ແມ່ນມີຢູ່ໃນທະບຽນ DCACHE_RHMONR ແລະ DCACHE_WHMONR ຕາມລໍາດັບ.
- ສອງ 16-bit (R/W) miss monitors: ນັບຈໍານວນເວລາທີ່ CPU ອ່ານຫຼືຂຽນຂໍ້ມູນໃນຫນ່ວຍຄວາມຈໍາ cache ແລະສ້າງທຸລະກໍາໃນພອດແມ່ບົດ DCACHE, ເພື່ອໂຫລດຂໍ້ມູນຈາກພື້ນທີ່ຫນ່ວຍຄວາມຈໍາ (ຂໍ້ມູນທີ່ດຶງມາບໍ່ໄດ້. ມີຢູ່ໃນ cache ແລ້ວ). (R/W) miss monitors ແມ່ນມີໃຫ້ຕາມລໍາດັບຢູ່ໃນທະບຽນ DCACHE_RMMONR ແລະ DCACHE_WMMONR.
ໝາຍເຫດ:
ຈໍສະແດງຜົນທັງ 4 ໜ່ວຍນີ້ບໍ່ປິດບັງເມື່ອຮອດຄ່າສູງສຸດ. ຈໍພາບເຫຼົ່ານີ້ຖືກຈັດການຈາກບິດຕໍ່ໄປນີ້ຢູ່ໃນທະບຽນ DCACHE_CR:
- WHITMAN ບິດ (ຕາມລໍາດັບ WMISSEN bit) ເພື່ອເປີດໃຊ້ / ຢຸດການຕີການຂຽນ (ຕາມລໍາດັບ miss) ຈໍພາບ
- RHITMEN bit (ຕາມລໍາດັບ RMISSEN bit) ເພື່ອເປີດໃຊ້ / ຢຸດການອ່ານ hit (ຕາມລໍາດັບ miss) ຕິດຕາມກວດກາ
- ບິດ WHITMRST (ຕາມລໍາດັບ WMISSMRST bit) ເພື່ອຣີເຊັດບັນທຶກການຂຽນ (ຕາມລໍາດັບ miss)
- ບິດ RHITMRST (ຕາມລໍາດັບ RMISSMRST bit) ເພື່ອຣີເຊັດການອ່ານ (ຕາມລໍາດັບ miss) monitor
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຈໍພາບເຫຼົ່ານີ້ຖືກປິດໃຊ້ງານເພື່ອຫຼຸດຜ່ອນການໃຊ້ພະລັງງານ.
DCACHE ບໍາລຸງຮັກສາ
DCACHE ສະຫນອງການປະຕິບັດການບໍາລຸງຮັກສາຫຼາຍຢ່າງທີ່ສາມາດຕັ້ງຄ່າໄດ້ຜ່ານ CACHECMD[2:0] ໃນ DCACHE_CR.
- 000: ບໍ່ມີການດໍາເນີນງານ (ຄ່າເລີ່ມຕົ້ນ)
- 001: ລະດັບຄວາມສະອາດ. ເຮັດຄວາມສະອາດຂອບເຂດທີ່ແນ່ນອນໃນ cache
- 010: ໄລຍະບໍ່ຖືກຕ້ອງ. ບໍ່ຖືກຕ້ອງຂອບເຂດທີ່ແນ່ນອນໃນ cache
- 010: ໄລຍະທີ່ສະອາດ ແລະບໍ່ຖືກຕ້ອງ. ເຮັດຄວາມສະອາດແລະບໍ່ຖືກຕ້ອງຂອບເຂດທີ່ແນ່ນອນໃນ cache
ໄລຍະທີ່ເລືອກແມ່ນຖືກຕັ້ງຄ່າຜ່ານ:
- ລົງທະບຽນ CMDSTARTADDR: ທີ່ຢູ່ເລີ່ມຕົ້ນຄໍາສັ່ງ
- ລົງທະບຽນ CMDENDADDR: ທີ່ຢູ່ສິ້ນສຸດຄໍາສັ່ງ
ໝາຍເຫດ:
ການລົງທະບຽນນີ້ຕ້ອງຖືກຕັ້ງກ່ອນທີ່ CACHECMD ຈະຖືກຂຽນ. ການຮັກສາຄໍາສັ່ງ cache ເລີ່ມຕົ້ນເມື່ອ STARTCMD bit ຖືກຕັ້ງຢູ່ໃນທະບຽນ DCACHE_CR. DCACHE ຍັງຮອງຮັບ CACHE invalidation ເຕັມຮູບແບບໂດຍການຕັ້ງຄ່າ CACHEINV bit ໃນທະບຽນ DCACHE_CR.
ຄວາມປອດໄພ DCACHE
DCACHE ແມ່ນອຸປະກອນຕໍ່ພ່ວງທີ່ປອດໄພທີ່ສາມາດຕັ້ງຄ່າໄດ້ຢ່າງປອດໄພຜ່ານທະບຽນການຕັ້ງຄ່າທີ່ປອດໄພ GTZC TZC. ເມື່ອມັນຖືກຕັ້ງຄ່າເປັນຄວາມປອດໄພ, ມີພຽງແຕ່ການເຂົ້າເຖິງທີ່ປອດໄພເທົ່ານັ້ນທີ່ຖືກອະນຸຍາດໃຫ້ລົງທະບຽນ DCACHE. DCACHE ຍັງສາມາດຖືກຕັ້ງຄ່າເປັນສິດທິພິເສດໂດຍຜ່ານທະບຽນການຕັ້ງຄ່າສິດທິພິເສດ GTZC TZC. ເມື່ອ DCACHE ຖືກຕັ້ງຄ່າເປັນສິດທິພິເສດ, ມີພຽງແຕ່ການເຂົ້າເຖິງສິດທິພິເສດເທົ່ານັ້ນທີ່ອະນຸຍາດໃຫ້ລົງທະບຽນ DCACHE. ໂດຍຄ່າເລີ່ມຕົ້ນ, DCACHE ແມ່ນບໍ່ປອດໄພ ແລະບໍ່ມີສິດທິພິເສດຜ່ານ GTZC TZC.
ການຈັດການເຫດການແລະການຂັດຂວາງ
DCACHE ຈັດການຄວາມຜິດພາດໃນການເຮັດວຽກເມື່ອກວດພົບ, ໂດຍການຕັ້ງທຸງ ERRF ໃນ DCACHE_SR. ການຂັດຂວາງຍັງສາມາດຖືກສ້າງຂື້ນຖ້າບິດ ERRIE ຖືກຕັ້ງຢູ່ໃນ DCACHE_IER. ໃນກໍລະນີຂອງການບໍ່ຖືກຕ້ອງຂອງ DCACHE, ໃນເວລາທີ່ cache busy state ສິ້ນສຸດລົງ, ທຸງ BSYENDF ຖືກຕັ້ງຢູ່ໃນ DCACHE_SR. ການຂັດຂວາງຍັງສາມາດຖືກສ້າງຂື້ນຖ້າບິດ BSYENDIE ຖືກຕັ້ງຢູ່ໃນ DCACHE_IER. ສະຖານະການຄໍາສັ່ງ DCACHE ສາມາດກວດສອບໄດ້ຜ່ານ CMDENF ແລະ BUSYCMDF ຜ່ານ DCACHE_SR ການຂັດຂວາງສາມາດຖືກສ້າງຂື້ນໄດ້ຖ້າບິດ CMDENDIE ຢູ່ໃນ DCACHE_IER. ຕາຕະລາງຂ້າງລຸ່ມນີ້ລາຍຊື່ການຂັດຂວາງ DCACHE ແລະທຸງເຫດການ
ຕາຕະລາງ 8. DCACHE Interrupt ແລະ bits ການຈັດການເຫດການ
ລົງທະບຽນ | ລົງທະບຽນ | ລາຍລະອຽດເລັກນ້ອຍ | ປະເພດການເຂົ້າເຖິງບິດ |
DCACHE_SR |
ຄາວຽກ | Cache ປະຕິບັດການດໍາເນີນການທີ່ບໍ່ຖືກຕ້ອງຢ່າງເຕັມທີ່ |
ອ່ານເທົ່ານັ້ນ |
BSYENDF | Cache full invalidate ການດໍາເນີນການສິ້ນສຸດລົງ | ||
BUSYCMDF | Cache ປະຕິບັດຄໍາສັ່ງໄລຍະ | ||
CMDENDF | ສິ້ນສຸດຄໍາສັ່ງໄລຍະ | ||
ERRF | ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນລະຫວ່າງການດໍາເນີນການເກັບຂໍ້ມູນ | ||
DCACHE_IER |
ຜິດພາດ | ເປີດໃຊ້ການຂັດຂວາງສໍາລັບຄວາມຜິດພາດຂອງ cache |
ອ່ານ/ຂຽນ |
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 |
ໜ່ວຍຄວາມຈຳ 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-bus) | SRAM ພາຍໃນ | ເປີດໃຊ້ (2 ທາງ) | ຄົນພິການ | 3.86 |
ພາຍນອກ Octo-SPI Flash (C-bus) | SRAM ພາຍໃນ | ຄົນພິການ | ຄົນພິການ | 0.24 |
ໜ່ວຍຄວາມຈຳ Flash ພາຍໃນ | SRAM ພາຍໃນ | ຄົນພິການ | ຄົນພິການ | 2.69 |
ເງື່ອນໄຂການທົດສອບ:
- ຜະລິດຕະພັນທີ່ໃຊ້ໄດ້: STM32U575/585
- ຄວາມຖີ່ລະບົບ: 160 MHz.
- ໜ່ວຍຄວາມຈຳ Octo-SPI PSRAM ພາຍນອກ: 80 MHz (ໂໝດ DTR).
- ໜ່ວຍຄວາມຈຳແຟລດ Octo-SPI ພາຍນອກ: 80 MHz (ໂໝດ STR).
- Compiler: IAR V8.50.4.
- PREFETCH ພາຍໃນ: ເປີດ.
ການນໍາໃຊ້ ICACHE ແລະ DCACHE ຫຼຸດຜ່ອນການໃຊ້ພະລັງງານໃນເວລາທີ່ເຂົ້າເຖິງຄວາມຊົງຈໍາພາຍໃນແລະພາຍນອກ. ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຜົນກະທົບຂອງ ICACHE ຕໍ່ການບໍລິໂພກພະລັງງານໃນລະຫວ່າງການປະຕິບັດ CoreMark.
ຕາຕະລາງ 10. ການປະຕິບັດ CoreMark ICACHE ຜົນກະທົບຕໍ່ການບໍລິໂພກພະລັງງານ
ການຕັ້ງຄ່າ ICACHE | ການໃຊ້ພະລັງງານ MCU (mA) |
ເປີດໃຊ້ (2 ທາງ) | 7.60 |
ເປີດໃຊ້ (1 ທາງ) | 7.13 |
ຄົນພິການ | 8.89 |
- ເງື່ອນໄຂການທົດສອບ:
- ຜະລິດຕະພັນທີ່ໃຊ້ໄດ້: STM32U575/585
- ລະຫັດ CoreMark: ຫນ່ວຍຄວາມຈໍາ Flash ພາຍໃນ.
- ຂໍ້ມູນ CoreMark: SRAM ພາຍໃນ.
- ໜ່ວຍຄວາມຈຳ Flash ພາຍໃນ PREFETCH: ເປີດ.
- ຄວາມຖີ່ລະບົບ: 160 MHz.
- Compiler: IAR V8.32.2.
- ສະບັບtage ໄລຍະ: 1.
- SMPS: ເປີດ.
- way set associative configuration ແມ່ນປະຕິບັດຫຼາຍກວ່າ 1-way set associative configuration ສໍາລັບລະຫັດທີ່ບໍ່ສາມາດໂຫຼດໄດ້ເຕັມໃນ cache. ໃນຂະນະດຽວກັນ, 1-way set associative cache ເກືອບຈະມີປະສິດທິພາບຫຼາຍກວ່າ 2-way set associative cache. ແຕ່ລະລະຫັດຕ້ອງໄດ້ຮັບການປະເມີນໃນທັງສອງການຕັ້ງຄ່າສະມາຄົມ, ເພື່ອເລືອກການຊື້ຂາຍທີ່ດີທີ່ສຸດລະຫວ່າງການປະຕິບັດແລະການບໍລິໂພກພະລັງງານ. ການເລືອກແມ່ນຂຶ້ນກັບບູລິມະສິດຂອງຜູ້ໃຊ້.
ສະຫຼຸບ
ຖານຄວາມຈໍາທໍາອິດທີ່ພັດທະນາໂດຍ STMicroelectronics, ICACHE ແລະ DCACHE, ສາມາດເກັບຄວາມຊົງຈໍາພາຍໃນແລະພາຍນອກ, ສະເຫນີການເພີ່ມປະສິດທິພາບສໍາລັບການຈະລາຈອນຂໍ້ມູນແລະການດຶງຂໍ້ມູນຄໍາແນະນໍາ. ເອກະສານນີ້ສະແດງໃຫ້ເຫັນລັກສະນະທີ່ແຕກຕ່າງກັນທີ່ສະຫນັບສະຫນູນໂດຍ ICACHE ແລະ DCACHE, ຄວາມງ່າຍດາຍຂອງການຕັ້ງຄ່າແລະຄວາມຍືດຫຍຸ່ນຂອງພວກມັນເຮັດໃຫ້ຄ່າໃຊ້ຈ່າຍໃນການພັດທະນາຕ່ໍາກວ່າແລະໃຊ້ເວລາຕະຫຼາດໄວຂຶ້ນ.
ປະຫວັດການແກ້ໄຂ
ຕາຕະລາງ 11. ປະຫວັດການແກ້ໄຂເອກະສານ
ວັນທີ | ຮຸ່ນ | ການປ່ຽນແປງ |
10-ຕຸລາ-2019 | 1 | ການປ່ອຍຕົວໃນເບື້ອງຕົ້ນ. |
27-Feb-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-Feb-2023 |
4 |
ອັບເດດ:
• ພາກທີ 2.2: STM32U5 ຊຸດສະຖາປັດຕະຍະກຳອັດສະລິຍະ • ພາກທີ 3.1.2: 1-way versus 2-way ICACHE • ພາກທີ 3.1.4: ຂົງເຂດທີ່ສາມາດຖານຄວາມຈໍາແລະຄຸນສົມບັດ remapping • ພາກທີ 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 |