מיקרו-בקרים מסדרת STMicroelectronics STM32H5

מָבוֹא
הערת אפליקציה זו מתארת את מטמון ההוראות (ICACHE) ואת מטמון הנתונים (DCACHE), המטמונים הראשונים שפותחו על ידי STMicroelectronics. ה-ICACHE וה-DCACHE שהוצגו באפיק AHB של מעבד Arm® Cortex®-M33 משובצים במיקרו-בקר STM32 (MCU) המפורטים בטבלה למטה. מטמונים אלו מאפשרים למשתמשים לשפר את ביצועי האפליקציה שלהם ולהפחית את הצריכה בעת שליפת הוראות ונתונים מזיכרונות פנימיים וחיצוניים כאחד, או עבור תעבורת נתונים מזיכרונות חיצוניים. מסמך זה נותן דוגמה טיפוסיתamples כדי להדגיש את תכונות ICACHE ו- DCACHE ולהקל על התצורה שלהן.
טבלה 1. מוצרים ישימים
| סוּג | סדרת מוצרים |
| מיקרו-בקרים | סדרת STM32H5, סדרת STM32L5, סדרת STM32U5 |
מידע כללי
פֶּתֶק:
הערת יישום זו חלה על המיקרו-בקרים מסדרת STM32 שהם מכשירים מבוססי ליבה של Arm® Cortex®. Arm הוא סימן מסחרי רשום של Arm Limited (או חברות הבנות שלה) בארה"ב ו/או במקומות אחרים.
ICACHE ו- DCACHE נגמרוview
סעיף זה מספק סוףview מממשקי ICACHE ו-DCACHE המוטמעים במיקרו-בקרים מבוססי הליבה STM32 Arm® Cortex®. סעיף זה מפרט את דיאגרמת ICACHE ו-DCACHE ואת האינטגרציה בארכיטקטורת המערכת.
ארכיטקטורה חכמה מסדרת STM32L5
ארכיטקטורה זו מבוססת על מטריצת אוטובוס המאפשרת למאסטרים מרובים (Cortex-M33, ICACHE, DMA1/2 ו-SDMMC1) לגשת לעבדים מרובים (כגון זיכרון פלאש, SRAM1/2, OCTOSPI1 או FSMC). האיור שלהלן מתאר את הארכיטקטורה החכמה מסדרת STM32L5.
איור 1. ארכיטקטורה חכמה מסדרת STM32L5

ביצועי Cortex-M33 משופרים על ידי שימוש בממשק ICACHE של 8Kbyte שהוכנס לאפיק ה-C-AHB שלו, בעת שליפת קוד או נתונים מהזיכרונות הפנימיים (זיכרון פלאש, 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 משפר את הביצועים של Cortex-M33 בעת שליפת קוד או נתונים מהזיכרונות הפנימיים דרך האפיק המהיר (זיכרון פלאש, SRAMs) ומזיכרונות חיצוניים דרך האפיק האיטי (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) לגשת למספר עבדי זיכרון BKPS, SRAM , OCTOSPI ו-FMC). האיור שלהלן מתאר את הארכיטקטורה החכמה מסדרת STM32H5.
איור 3. ארכיטקטורה חכמה מסדרות STM32H563/H573 ו-STM32H562

ה-Cortex-M33 מרוויח משימוש ב-CACHE.
- ICACHE משפר את הביצועים של Cortex-M33 בעת שליפת קוד או נתונים מהזיכרונות הפנימיים דרך אפיק מהיר (זיכרון פלאש, SRAMs) ומזיכרונות חיצוניים דרך אפיק איטי (OCTOSPI ו-FMC).
- DCACHE משפר את הביצועים בעת שליפת נתונים מזיכרונות חיצוניים דרך האוטובוס האיטי (OCTOSPI ו-FMC).
ארכיטקטורה חכמה STM32H503
ארכיטקטורה זו מבוססת על מטריצת אוטובוס המאפשרת למאסטרים מרובים (Cortex-M33, ICACHE ו-GPDMAs) לגשת למספר עבדים (כגון זיכרון פלאש, SRAMs ו-BKPSRAM). האיור שלהלן מתאר את הארכיטקטורה החכמה מסדרת STM32H5.
איור 4. ארכיטקטורה חכמה מסדרת STM32H503

ה-Cortex-M33 מרוויח משימוש ב-CACHE.
- ICACHE משפר את הביצועים של Cortex-M33 בעת שליפת קוד או נתונים מהזיכרונות הפנימיים דרך אפיק מהיר (זיכרון פלאש, SRAMs).
דיאגרמת בלוקים של ICACHE
דיאגרמת הבלוק של ICACHE מופיעה באיור שלהלן.
איור 5. דיאגרמת בלוקים של ICACHE

זיכרון ICACHE כולל:
- את TAG זיכרון עם:
- הכתובת tags שמציינים אילו נתונים כלולים בזיכרון נתוני המטמון
- סיביות התוקף
- זיכרון הנתונים, המכיל את הנתונים המאוחסנים במטמון
דיאגרמת בלוק DCACHE
דיאגרמת הבלוק DCACHE מופיעה באיור שלהלן.
איור 6. דיאגרמת בלוק DCACHE

זיכרון DCACHE כולל:
- את TAG זיכרון עם:
- הכתובת tags שמציינים אילו נתונים כלולים בזיכרון נתוני המטמון
- סיביות התוקף
- פיסות הפריבילגיה
- החלקים המלוכלכים
- זיכרון הנתונים, המכיל את הנתונים המאוחסנים במטמון
תכונות ICACHE ו- DCACHE
מאסטרים כפולים
ה- ICACHE ניגש למטריצת האוטובוסים של AHB דרך:
- יציאה אחת מאסטר AHB: master1 (אוטובוס מהיר)
- שתי יציאות AHB מאסטר: master1 (אוטובוס מהיר) ו-master2 (אוטובוס איטי)
תכונה זו מאפשרת ניתוק התעבורה בעת גישה לאזורי זיכרון שונים (כגון זיכרון פלאש פנימי, SRAM פנימי וזיכרונות חיצוניים), על מנת לצמצם את עצירות המעבד בהחמצות מטמון. הטבלה הבאה מסכמת את אזורי הזיכרון ואת הכתובות שלהם.
טבלה 2. אזורי זיכרון וכתובותיהם
| שׁוּלִי | גישה לזיכרון מטמון | לא גישה לזיכרון מטמון | |||||||
|
סוּג |
שֵׁם |
שם המוצר וגודל האזור |
שם האוטובוס |
כתובת ההתחלה של אזור לא מאובטח |
כתובת התחלה מאובטחת ולא מאובטחת של אזור הניתן להתקשרות |
שם האוטובוס |
כתובת ההתחלה של אזור לא מאובטח |
כתובת התחלה מאובטחת ולא מאובטחת של אזור הניתן להתקשרות | |
|
פְּנִימִי |
הֶבזֵק |
STM32H503 | 128 KB |
ICACHE אוטובוס מהיר |
0x0800 0000 |
לא |
לא |
לא |
לא |
| STM32L5
סדרה/ STM32U535/ 545/ STM32H523/ 533 |
512 KB |
0x0C00 0000 |
|||||||
| STM32U575/585
STM32H563/573/562 |
2 מגה-בייט |
||||||||
| STM32U59x/
5Ax/5Fx/5Gx |
4 מגה-בייט | ||||||||
|
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 מגה-בייט |
ICACHE אוטובוס איטי |
כתובת כינוי בטווח של [0x0000 0000 ל-0x07FF FFFF] או [0x1000 0000:0x1FFF FFFF] מוגדר באמצעות תכונת מיפוי מחדש |
לא |
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. לבחירה בעת מיפוי מחדש של אזורים כאלה.
ICACHE חד כיווני מול דו כיווני
כברירת מחדל, ה-ICACHE מוגדר במצב הפעלה אסוציאטיבי (מופעל בשני כיוונים), אך ניתן להגדיר את ה-ICACHE במצב ממופה ישירה (מופעל חד כיווני), עבור יישומים הדורשים צריכת חשמל נמוכה מאוד. תצורת ICACHE מתבצעת עם סיביות WAYSEL ב-ICACHE_CR באופן הבא:
- WAYSEL = 0: מצב הפעלה ממופה ישיר (חד כיווני)
- WAYSEL = 1 (ברירת מחדל): מצב הפעלה אסוציאטיבי (דו-כיווני)
טבלה 3. ICACHE חד כיווני מול דו כיווני
| פָּרָמֶטֶר | ICACHE חד כיווני | ICACHE חד כיווני |
| גודל מטמון (Kbytes) | 8(1)/32(2) | |
| שמור במטמון במספר דרכים | 1 | 2 |
| גודל קו המטמון | 128 ביטים (16 בתים) | |
| מספר שורות המטמון | 512(1)/2048(2) | 256(1)/1024(2) לכל כיוון |
- עבור סדרת STM32L5/סדרת STM32H5/STM32U535/545/575/585
- For STM32U59x/5Ax/5Fx/5Gx
סוג פרץ
חלק מזיכרונות Octo-SPI תומכים בפרץ WRAP, המספק את היתרון של ביצועי תכונה קריטית של מילה ראשונה. ניתן להגדיר את סוג פרץ ה-ICACHE של עסקת זיכרון AHB עבור אזורים שהוגדרו מחדש. הוא מיישם פרץ אינקרמנטלי או פרץ WRAP, שנבחר עם סיבית HBURST באוגר ICACHE_CRRx. ההבדלים בין ה-WRAP לבין ההתפרצויות המצטברות ניתנים להלן (ראה גם את האיור):
- פרץ WRAP:
- גודל שורת המטמון = 128 סיביות
- burst to start address = כתובת מילה של הנתונים הראשונים שהתבקשו על ידי ה-CPU
- פרץ מצטבר:
- גודל שורת המטמון = 128 סיביות
- Burst start address = כתובת מיושרת על גבול שורת המטמון המכילה את המילה המבוקשת
איור 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 במהלך ביצוע קוד או קריאת נתונים בעת גישה לזיכרון אוקטו-SPI חיצוני של 8 מגה בייט (כגון זיכרון פלאש חיצוני או RAM).
איור 8. מיפוי מחדש של זיכרון Octo-SPI למשלample

יש צורך לבצע את השלבים הבאים כדי למפות מחדש את הזיכרון החיצוני הזה:
תצורת OCTOSPI עבור הזיכרון החיצוני
הגדר את ממשק OCTOSPI כדי לגשת לזיכרון החיצוני במצב מפוי זיכרון (הזיכרון החיצוני נתפס כזיכרון פנימי הממופה באזור [0x9000 0000 עד 0x9FFF FFFF]). מכיוון שגודל הזיכרון החיצוני הוא 8 Mbytes, הוא נראה באזור [0x9000 0000 עד 0x907F FFFF]. הזיכרון החיצוני באזור זה נגיש דרך ה-S-bus ואינו ניתן לאחסון במטמון. השלב הבא מציג את תצורת ICACHE על מנת למפות מחדש אזור זה.
פֶּתֶק: עבור תצורת OCTOSPI במצב ממופה זיכרון, עיין בהערת היישום Octo-SPI ממשק במיקרו-בקרים STM32 (AN5050
תצורת ICACHE למיפוי מחדש של האזור הממופה בזיכרון החיצוני
8 Mbytes הממוקמים באזור [0x9000 0000 עד 0x907F FFFF] מופו מחדש לאזור [0x1000 0000 עד 0x107F FFFF]. לאחר מכן ניתן לגשת אליהם דרך האוטובוס האיטי (אוטובוס ICACHE master2).
- תצורת רישום ICACHE_CR
- השבת את ICACHE עם EN = 0.
- בחר חד כיווני או דו כיווני (בהתאם לצרכי היישום) עם WAYSEL = 1 או 2, בהתאמה.
- תצורת רישום ICACHE_CRRx (עד ארבעה אזורים, x = 0 עד 3)
- בחר את כתובת הבסיס של 0x1000 0000 (כתובת מחדש) עם 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.
- מוניטור ההחמצה סופר את עסקאות ה-AHB הניתנות לאחסון במטמון ביציאת המטמון של העבד שמפספסות תוכן ICACHE (נתונים שנשלפו לא זמינים כבר במטמון). מונה המוניטור החסר זמין בפנקס ICACHE_MMONR.
פֶּתֶק:
שני מסכים אלו אינם מתעטפים כאשר מגיעים לערכים המקסימליים שלהם. צגים אלה מנוהלים מהסיביות הבאות באוגר ICACHE_CR:
- HITMEN bit (בהתאמה MISSMEN bit) כדי להפעיל/לעצור את צג הפגיעה (בהתאמה החמצה)
- סיביות 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, ממשק העבדים DCACHE1 מחובר ל-Cortex-M33 דרך האפיק S-AHB ומאחסן את ה-GFXMMU, FMC ו-HSPI/OCTOSPIs. ממשק העבדים DCACHE2 מחובר ל-DMA2D דרך אפיק יציאת M0, ושומר את כל הזכרונות הפנימיים והחיצוניים (למעט SRAM4 ו-BRKPSRAM). עבור סדרת STM32H5, ממשק העבדים DCACHE מחובר ל-Cortex-M33 דרך הזיכרונות החיצוניים של S-AHB דרך FMC ו-OCTOSPI.
טבלה 7. אזורים וממשקים שניתנים למטמון DCACHE
| אזור כתובת זיכרון שניתן לקובץ שמור | ממשקים הניתנים לאחסון במטמון 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
במהלך האתחול, DCACHE מושבת כברירת מחדל, מה שהופך את בקשות זיכרון העבדים להעברת ישירות ליציאה הראשית. כדי להפעיל DCACHE, יש להגדיר סיביות EN באוגר DCACHE_CR. צגי פגיעה ופספוס ה-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 מציע מספר פעולות תחזוקה שניתן להגדיר באמצעות 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 | מטמון ביצוע פקודת טווח | ||
| CMENDF | סוף פקודת טווח | ||
| ERRF | אירעה שגיאה במהלך פעולת האחסון במטמון | ||
|
DCACHE_IER |
אררי | אפשר הפסקה עבור שגיאת מטמון |
קרא/כתוב |
| CMDENDIE | אפשר הפסקה בסוף פקודת הטווח | ||
| BSYENDIE | אפשר הפסקה בסיום פעולת ביטול מלא | ||
|
DCACHE_FCR |
CERRF | מנקה ERRF ב-DCACHE_SR |
כתיבה בלבד |
| CCMDENDF | מנקה את CMENDF ב-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 |
| פלאש אוקטו-SPI חיצוני (C-bus) | SRAM פנימי | מופעל (דו-כיוונים) | נָכֶה | 3.86 |
| פלאש אוקטו-SPI חיצוני (C-bus) | SRAM פנימי | נָכֶה | נָכֶה | 0.24 |
| זיכרון פלאש פנימי | SRAM פנימי | נָכֶה | נָכֶה | 2.69 |
תנאי מבחן:
- מוצר ישים: STM32U575/585
- תדר מערכת: 160 מגה-הרץ.
- זיכרון PSRAM Octo-SPI חיצוני: 80 מגה-הרץ (מצב DTR).
- זיכרון פלאש Octo-SPI חיצוני: 80 מגה-הרץ (מצב STR).
- מהדר: IAR V8.50.4.
- מבזק פנימי מראש: מופעל.
שימוש ב-ICACHE וב-DCACHE מפחית את צריכת החשמל בעת גישה לזיכרונות פנימיים וחיצוניים. הטבלה הבאה מציגה את ההשפעה של ICACHE על צריכת החשמל במהלך ביצוע CoreMark.
טבלה 10. ביצוע CoreMark השפעת ICACHE על צריכת החשמל
| תצורת ICACHE | צריכת חשמל של MCU (mA) |
| מופעל (דו-כיוונים) | 7.60 |
| מופעל (חד כיווני) | 7.13 |
| נָכֶה | 8.89 |
- תנאי מבחן:
- מוצר ישים: STM32U575/585
- קוד CoreMark: זיכרון פלאש פנימי.
- נתוני CoreMark: SRAM פנימי.
- זיכרון פלאש פנימי מראש: מופעל.
- תדר מערכת: 160 מגה-הרץ.
- מהדר: IAR V8.32.2.
- כרך ידtagטווח e: 1.
- SMPS: פועל.
- התצורה האסוציאטיבית של way set היא בעלת ביצועים גבוהים יותר מאשר תצורה אסוציאטיבית של סט חד-כיווני עבור קוד שלא ניתן לטעון במלואו במטמון. בינתיים, מטמון אסוציאטיבי של סט דו-כיווני הוא כמעט תמיד חסכוני יותר בצריכת החשמל מאשר מטמון אסוציאטיבי של סט דו-כיווני. יש להעריך כל קוד בשתי תצורות האסוציאטיביות, על מנת לבחור את הפשרה הטובה ביותר בין ביצועים וצריכת חשמל. הבחירה תלויה בעדיפות המשתמש.
מַסְקָנָה
המטמונים הראשונים שפותחו על ידי 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: ICACHE חד כיווני מול דו כיווני • סעיף 3.1.4: אזורים שניתנים למטמון ותכונת מיפוי מחדש • סעיף 3.2.2: אזורים הניתנים למטמון DCACHE |
|
11-מרס-2024 |
5 |
מְעוּדכָּן: |
הודעה חשובה - קרא בעיון
STMicroelectronics NV וחברות הבנות שלה ("ST") שומרות לעצמן את הזכות לבצע שינויים, תיקונים, שיפורים, שינויים ושיפורים במוצרי ST ו/או במסמך זה בכל עת ללא הודעה מוקדמת. על הרוכשים לקבל את המידע הרלוונטי העדכני ביותר על מוצרי ST לפני ביצוע הזמנות. מוצרי ST נמכרים בהתאם לתנאי המכירה של ST הקיימים בזמן אישור ההזמנה. הרוכשים הם האחראים הבלעדיים לבחירה, לבחירה ולשימוש במוצרי ST ו-ST אינה נושאת באחריות לסיוע ביישום או לעיצוב מוצרי הרוכשים. שום רישיון, מפורש או משתמע, לכל זכות קניין רוחני לא ניתן על ידי ST בזאת. מכירה חוזרת של מוצרי ST עם הוראות שונות מהמידע המפורט כאן תבטל כל אחריות שניתנה על ידי ST עבור מוצר זה. ST והלוגו של ST הם סימנים מסחריים של ST. למידע נוסף על סימני מסחר ST, עיין בכתובת www.st.com/trademarks. כל שאר שמות המוצרים או השירותים הם רכושם של בעליהם בהתאמה. המידע במסמך זה מחליף ומחליף מידע שסופק בעבר בכל גרסאות קודמות של מסמך זה. © 2024 STMicroelectronics - כל הזכויות שמורות
מסמכים / משאבים
![]() |
מיקרו-בקרים מסדרת STMicroelectronics STM32H5 [pdfמדריך למשתמש מיקרו-בקרים מסדרת STM32H5, STM32H5, מיקרו-בקרים מסדרה, מיקרו-בקרים |

