לוגו STMicroelectronics

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

STMicroelectronics-STM32H5-Series-Microcontrollers-מוצר

מָבוֹא

הערת אפליקציה זו מתארת ​​את מטמון ההוראות (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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-1

ביצועי 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-2

ממשקי 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-3

ה-Cortex-M33 מרוויח משימוש ב-CACHE.

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

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

איור 4. ארכיטקטורה חכמה מסדרת STM32H503

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-4

ה-Cortex-M33 מרוויח משימוש ב-CACHE.

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

דיאגרמת בלוקים של ICACHE
דיאגרמת הבלוק של ICACHE מופיעה באיור שלהלן.

איור 5. דיאגרמת בלוקים של ICACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-5

זיכרון ICACHE כולל:

  • את TAG זיכרון עם:
    • הכתובת tags שמציינים אילו נתונים כלולים בזיכרון נתוני המטמון
    • סיביות התוקף
  •  זיכרון הנתונים, המכיל את הנתונים המאוחסנים במטמון

דיאגרמת בלוק DCACHE
דיאגרמת הבלוק DCACHE מופיעה באיור שלהלן.

איור 6. דיאגרמת בלוק DCACHE

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-6

זיכרון DCACHE כולל:

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

תכונות ICACHE ו- DCACHE

מאסטרים כפולים
ה- ICACHE ניגש למטריצת האוטובוסים של AHB דרך:

  • יציאה אחת מאסטר AHB: master1 (אוטובוס מהיר)
  • שתי יציאות AHB מאסטר: master1 (אוטובוס מהיר) ו-master2 (אוטובוס איטי)

תכונה זו מאפשרת ניתוק התעבורה בעת גישה לאזורי זיכרון שונים (כגון זיכרון פלאש פנימי, SRAM פנימי וזיכרונות חיצוניים), על מנת לצמצם את עצירות המעבד בהחמצות מטמון. הטבלה הבאה מסכמת את אזורי הזיכרון ואת הכתובות שלהם.

טבלה 2. אזורי זיכרון וכתובותיהם

שׁוּלִי גישה לזיכרון מטמון לא גישה לזיכרון מטמון
 

 

סוּג

 

 

שֵׁם

 

 

שם המוצר וגודל האזור

 

 

שם האוטובוס

 

כתובת ההתחלה של אזור לא מאובטח

כתובת התחלה מאובטחת ולא מאובטחת של אזור הניתן להתקשרות  

 

שם האוטובוס

 

כתובת ההתחלה של אזור לא מאובטח

כתובת התחלה מאובטחת ולא מאובטחת של אזור הניתן להתקשרות
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

פְּנִימִי

 

 

 

 

 

 

 

הֶבזֵק

STM32H503 128 KB  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICACHE

אוטובוס מהיר

 

 

 

 

 

 

 

0x0800 0000

לא  

 

 

 

 

 

 

לא

 

 

 

 

 

 

 

לא

 

 

 

 

 

 

 

לא

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

אוטובוס איטי

(1)

 

 

 

 

 

 

כתובת כינוי בטווח של [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) לכל כיוון
  1. עבור סדרת STM32L5/סדרת STM32H5/STM32U535/545/575/585
  2. 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-9

אזורים שניתנים למטמון ותכונת מיפוי מחדש
ה-ICACHE מחובר ל-Cortex-M33 דרך האפיק C-AHB ושומר את אזור הקוד מכתובות [0x0000 0000 עד 0x1FFF FFFF]. מכיוון שהזיכרונות החיצוניים ממופים בכתובת בטווח [0x6000 0000 עד 0xAFFF FFFF], ה-ICACHE תומך בתכונה מחדש המאפשרת למפות מחדש כל אזור זיכרון חיצוני בכתובת בטווח של [0x0000 0000 עד 0x07FF FFFF] או [0x1000 0000 ל-0x1FFF FFFF], ולהיות נגיש דרך האפיק C-AHB. ניתן למפות מחדש עד ארבעה אזורי זיכרון חיצוניים באמצעות תכונה זו. לאחר מיפוי מחדש של אזור, פעולת המיפוי מחדש מתרחשת גם אם ה-ICACHE מושבת או אם העסקה אינה ניתנת לאחסון במטמון. ניתן להגדיר ולתכנת את אזורי הזיכרון הניתנים לזיכרון על ידי המשתמש ביחידת ההגנה על הזיכרון (MPU). הטבלה שלהלן מסכמת את התצורות של הזיכרונות מסדרות STM32L5 ו- STM32U5.

טבלה 4. תצורה של זיכרונות מסדרות STM32L5 ו- STM32U5

 

זיכרון מוצר

ניתן לקובץ שמור

(תכנות MPU)

מופץ מחדש ב-ICACHE

(תכנות ICACHE_CRRx)

זיכרון פלאש כן או לא  

לא חובה

SRAM לא מומלץ
זיכרונות חיצוניים (HSPI/ OCTOSPI או FSMC) כן או לא נדרש אם המשתמש רוצה להביא קוד חיצוני באפיק C-AHB (אחר באפיק S-AHB)

היתרון של מיפוי מחדש של זיכרון חיצוני ICACHE
האקסיתampהאיור שלהלן מראה כיצד להפיק תועלת מהביצועים המשופרים של ICACHE במהלך ביצוע קוד או קריאת נתונים בעת גישה לזיכרון אוקטו-SPI חיצוני של 8 מגה בייט (כגון זיכרון פלאש חיצוני או RAM).

איור 8. מיפוי מחדש של זיכרון Octo-SPI למשלample

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-7

יש צורך לבצע את השלבים הבאים כדי למפות מחדש את הזיכרון החיצוני הזה:

תצורת 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

STMicroelectronics-STM32H5-Series-Microcontrollers-fig-8

הזיכרון החיצוני של 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
  1. תנאי מבחן:
    • מוצר ישים: STM32U575/585
    • קוד CoreMark: זיכרון פלאש פנימי.
    • נתוני CoreMark: SRAM פנימי.
    • זיכרון פלאש פנימי מראש: מופעל.
    • תדר מערכת: 160 מגה-הרץ.
    • מהדר: IAR V8.32.2.
    • כרך ידtagטווח e: 1.
    • SMPS: פועל.
  2. התצורה האסוציאטיבית של 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.1: מאסטרים כפולים

•         סעיף 3.1.2: ICACHE חד כיווני מול דו כיווני

•         סעיף 3.1.4: אזורים שניתנים למטמון ותכונת מיפוי מחדש

•         סעיף 3.2: תכונות DCACHE

•         סעיף 3.2.2: אזורים הניתנים למטמון DCACHE

•         סעיף 4: ביצועי ICACHE ו-DCACHE וצריכת חשמל נוסף:

•         סעיף 1: מידע כללי

 

11-מרס-2024

 

5

מְעוּדכָּן:

•         סעיף 2.3: ארכיטקטורה חכמה מסדרת STM32H5

•         סעיף 3.1.1: מאסטרים כפולים

הודעה חשובה - קרא בעיון
STMicroelectronics NV וחברות הבנות שלה ("ST") שומרות לעצמן את הזכות לבצע שינויים, תיקונים, שיפורים, שינויים ושיפורים במוצרי ST ו/או במסמך זה בכל עת ללא הודעה מוקדמת. על הרוכשים לקבל את המידע הרלוונטי העדכני ביותר על מוצרי ST לפני ביצוע הזמנות. מוצרי ST נמכרים בהתאם לתנאי המכירה של ST הקיימים בזמן אישור ההזמנה. הרוכשים הם האחראים הבלעדיים לבחירה, לבחירה ולשימוש במוצרי ST ו-ST אינה נושאת באחריות לסיוע ביישום או לעיצוב מוצרי הרוכשים. שום רישיון, מפורש או משתמע, לכל זכות קניין רוחני לא ניתן על ידי ST בזאת. מכירה חוזרת של מוצרי ST עם הוראות שונות מהמידע המפורט כאן תבטל כל אחריות שניתנה על ידי ST עבור מוצר זה. ST והלוגו של ST הם סימנים מסחריים של ST. למידע נוסף על סימני מסחר ST, עיין בכתובת www.st.com/trademarks. כל שאר שמות המוצרים או השירותים הם רכושם של בעליהם בהתאמה. המידע במסמך זה מחליף ומחליף מידע שסופק בעבר בכל גרסאות קודמות של מסמך זה. © 2024 STMicroelectronics - כל הזכויות שמורות

מסמכים / משאבים

מיקרו-בקרים מסדרת STMicroelectronics STM32H5 [pdfמדריך למשתמש
מיקרו-בקרים מסדרת STM32H5, STM32H5, מיקרו-בקרים מסדרה, מיקרו-בקרים

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *