מרכז המחקר והפיתוח של סמסונג אוסטין חושף פרטים על המיקרו-ארכיטקטורה של מעבד Exynos M6 שטרם פורסם

מרכז המחקר והפיתוח של סמסונג אוסטין (SARC) פרסם מאמר המפרט את המיקרו-ארכיטקטורה של ליבת ה-CPU המותאמת אישית Exynos M6 שבוטלה.

אנו יודעים שפרויקט ליבת המעבד המותאם אישית במרכז המחקר והפיתוח של אוסטין (SARC) של סמסונג נגמר באוקטובר 2019. עבור פרויקט שקודם בקול תרועה רמה עם השקת ה-Exynos M1 עם Exynos 8890 ב-2016, זה היה סוף עצוב. מדוע SARC קיפלה את הפרויקט? הליבה המותאמת אישית של Exynos M5, המופיעה ב- Exynos 990 SoC, היא הליבה האחרונה שתוכננה בהתאמה אישית מלאה של סמסונג לעתיד הנראה לעין, ובמבט לאחור, קל לראות מדוע סמסונג ויתרה על הליבות המותאמות אישית, מכיוון שהן פשוט לא היו מספיק תחרותיות. כעת ידוע כי הליבה של Exynos M5 יש גירעון של 100% ביעילות החשמל נגד Cortex-A77 של ARM, מה שאומר הרבה. עם זאת, זה לא היה צריך להתברר כך. העיצובים של Exynos M1 ו- Exynos M2 הראו הבטחה מסוימת, ופרויקט ליבת ה-CPU המותאם אישית נחשב, באותה תקופה, חשוב למען התחרות בתחום ה-CPU הנייד. ה-Exynos M3 היה ירידה גדולה למרות העלייה הגדולה ב-IPC, וה- Exynos M4 ו-Exynos M5 לא הצליחו לעמוד בקצב ה-CPU IP של ARM. מה היו השינויים המיקרו-אדריכליים בליבה המותאמת אישית הבאה, ה-Exynos M6 שבוטלה?

עד כה, התשובה לשאלה זו לא הייתה ידועה. כעת, עם זאת, צוות הפיתוח של SARC CPU הציג מאמר שכותרתו "ההתפתחות של ארכיטקטורת המעבד של Samsung Exynos" (שנודע לנו באמצעות אננדטק) בסימפוזיון הבינלאומי לארכיטקטורת מחשבים (ISCA), שהוא כנס IEEE. הוא חושף הרבה פרטים על מעבדים קודמים מסדרת Exynos M, כמו גם על הארכיטקטורה של ה-Exynos M6 שבוטל.

המאמר שהוצג על ידי צוות פיתוח ה-CPU של SARC מפרט את מאמצי הצוות במהלך שמונה שנות קיומו, וחושף גם פרטים מרכזיים של ליבות ה-ARM המותאמות אישית, החל מה-Exynos M1 (Mongoose) ל-Exynos M5 (אריה) מהדור הנוכחי, ואפילו למעבד Exynos M6 שטרם שוחרר, שהיה צפוי, לפני הביטול, לכלול ב-2021 SoC של Exynos 990 יוֹרֵשׁ.

צוות ה-SARC CPU של סמסונג הוקם ב-2011 כדי לפתח ליבות CPU מותאמות אישית, שהוצגו אז ב-Samsung Systems ה-Exynos SoCs של LSI. ה-Exynos SoC הראשון שהשתמש בליבה מותאמת אישית היה ה-Exynos 8890, שהוצג בסמסונג גלקסי של 2016 S7. הליבות המותאמות אישית נשארו חלק מ-Exynos SoCs עד ה-Exynos 990 עם הליבות של Exynos M5, שהופיעו בגרסאות Samsung Galaxy S20 המופעלות על ידי Exynos. (הקרבה Exynos 992, ככל הנראה יופיע ב-Galaxy Note 20, צפוי לכלול ARM's קורטקס-A78 ולא ה-Exynos M5.) עם זאת, SARC השלימה את ארכיטקטורת ה-Exynos M6 לפני שצוות המעבד קיבלו חדשות על פירוקו באוקטובר 2019, כשהפירוק נכנס לתוקף ב דֵצֶמבֶּר.

נייר ISCA כולל טבלת סקירה של ההבדלים המיקרו-ארכיטקטוניים בין ליבות ה-CPU המותאמות אישית של סמסונג מה-Exynos M1 ל-Exynos M6. כמה מהמאפיינים הידועים של העיצוב נחשפה על ידי החברה בצלילה הראשונית של ארכיטקטורת ה-M1 CPU שלה באירוע HotChips 2016. ב-HotChips 2018, סמסונג נתנה צלילה עמוקה ב-Exynos M3. הארכיטקטורה של הליבות Exynos M4 ו- Exynos M5 פורטה גם היא, כמו גם זו של M6.

מקור: SARC

אננדטק מציין כי המאפיין העיקרי של העיצובים של סמסונג לאורך השנים היה שהיא מבוססת על אותה תוכנית RTL שהחלה עם ליבת Exynos M1 Mongoose. סמסונג המשיכה לבצע שיפורים בלוקים הפונקציונליים של הליבות לאורך השנים. ה-Exynos M3 ייצג שינוי מהאיטרציות הראשונות שכן הוא הרחיב משמעותית את הליבה בכמה היבטים, החל מעיצוב ברוחב 4 למרכז ליבה ברוחב 6. (ל-Apple A11, A12 ו-A13, לעומת זאת, יש רוחב פענוח של 7, ואילו ל-Cortex-A76, A77 ו-A78 יש רוחב של 4. ה-Cortex-X1 מגדיל את רוחב הפענוח לרוחב של 5).

הדו"ח מציג גם כמה גילויים שלא היו פומביים קודם לכן לגבי ה-Exynos M5 וה-M6. עבור ה-Exynos M5, סמסונג ביצעה שינויים גדולים יותר בהיררכיית המטמון של הליבות, והחליפה מטמוני L2 פרטיים עם מטמון חדש מטמון משותף גדול יותר כמו גם חשיפת שינוי במבנה L3 מעיצוב של 3 גדות לעיצוב של 2 גדות עם פחות חֶבִיוֹן.

ליבת M6 שבוטלה הייתה קפיצה גדולה יותר מבחינת המיקרו-ארכיטקטורה. SARC ביצעה שיפורים גדולים כגון הכפלת הוראות L1 ומטמוני נתונים מ-64KB ל-128KB - אננדטק מציין כי מדובר בבחירה עיצובית שיושמה רק על ידי הליבות מסדרת A של אפל עד כה, החל מה-Apple A12.

ה-L2 הוכפל ביכולות רוחב הפס שלו עד ל-64B/מחזור, בעוד שה-L3 היה רואה עלייה מ-3MB ל-4MB. ה-Exynos M6 היה ליבת פענוח רחבה של 8. כפי שצוין על ידי אננדטק, זו הייתה המיקרו-ארכיטקטורה המסחרית הרחבה ביותר הידועה כיום במונחים של פענוח. עם זאת, למרות שהליבה הייתה הרבה יותר רחבה, יחידות הביצוע של מספרים שלמים לא ראו הרבה שינויים. צנרת מורכבת אחת הוסיפה יכולת חלוקה שלמים שנייה, בעוד שצינורות העומס/חנות נשארו זהים ל-M5 עם יחידת עומס אחת, יחידת אחסון אחת ויחידת עומס/חנות אחת. צינורות הנקודה הצפה/SIMD היו רואים יחידה רביעית נוספת עם יכולות FMAC. ה-L1 DTLB הוגדל מ-48 עמודים ל-128 עמודים, וה-TLB הראשי הוכפל מ-4K עמודים ל-8K עמודים (32MB כיסוי).

ה-Exynos M6 היה מייצג עוד שינוי משמעותי מקודמיו על ידי הגדלת החלון הבלתי תקין של הליבה מהפעם הראשונה מאז ה-M3. היו קבצי רישום פיזיים גדולים יותר עם מספרים שלמים ונקודה צפה, וה-ROB (Reorder Buffer) היה גדל מ-228 ל-256. אננדטק מציין שחולשה אחת חשובה של ליבות ה-Exynos המותאמות אישית עדיין קיימת ב-M5 והייתה קיימת גם ב-M6. יהיו אלה שלבי הצינור העמוקים יותר שיגרמו לעונש יקר של 16 מחזורים של חיזוי שגוי, שהיה גבוה יותר מליבות ה-CPU של ARM שיש להן עונש שגוי של 11 מחזורים. נייר ה-SARC נכנס אפילו יותר לעומק בעיצוב מנבא ענפים, ומציג את העיצוב מבוסס Scaled Hashed Perceptron של ליבת ה-CPU. עיצוב זה היה משתפר ברציפות במהלך השנים והיישומים, משפר את דיוק הסניף ומפחית את הוראות החיזוי השגוי לקילו (MPKI) באופן רציף. SARC מציגה טבלה שמראה את כמות מבני האחסון שמנבא הסניפים תופס בחזית הקצה. טכנולוגיות השליפה המוקדמות של הליבה פורטו גם הן במאמר, המכסות את הצגת מטמון µOP ב-M5, כמו גם מאמצי הצוות להקשיח את הליבה מפני פרצות אבטחה כגון רוּחַ.

המאמצים לשפר את זמן השהיית הזיכרון בליבות ה-Exynos המותאמות אישית פורטו גם על ידי SARC במאמר. ב-Exynos M4, צוות SARC כלל מנגנון מפל עומס-עומס שהפחית את זמן האחזור האפקטיבי של מחזור L1 מארבעה מחזורים לשלושה בעומסים הבאים. ליבת M4 הציגה גם מעקף נתיב עם ממשק חדש מליבות ה-CPU ישירות לבקרי הזיכרון, מה שנמנע מתעבורה דרך החיבור. לפי אננדטק, זה הסביר כמה משיפורי ההשהיה הגדולים יותר שהפרסום הצליח למדוד עם ה-Exynos 9820. ה-Exynos M5 הציג מעקף ספקולטיבי של בדיקת מטמון, אשר הוציא בקשה הן לתגיות הקישוריות והן לתגיות המטמון בו זמנית. זה עשוי לחסוך זמן אחזור במקרה של החמצת מטמון כאשר בקשת הזיכרון בעיצומה. זמן השהיית הטעינה הממוצע שופר גם הוא ברציפות במהלך הדורות מ-14.9 מחזורים ב-M1 ל-8.3 מחזורים ב-M6.

בעוד שהמאפיינים המיקרו-ארכיטקטוניים שלעיל הם טכניים למדי, חובבי המעבד יכירו את המונח Instructions Per Clock (IPC), שפירושו פר-MHz ביצועים בביצועי מעבד חוט יחיד (זהו הגורם העיקרי העיקרי הקובע את ביצועי המעבד עם חוט יחיד, כאשר הגורם השני הוא מהירות השעון של הליבה). IPC מספר שלם ו-IPC של נקודה צפה הם שניהם הקובעים של IPC. צוות SARC הצליח להשיג שיפורים שנתיים בממוצע של 20% מה-M1 ל-M6. ה-M3, במיוחד, ייצג שיפור באחוז גדול ב-IPC, למרות שהוא אכזב על ידי גורמים אחרים. ה-Exynos M5 ייצג שיפור של 15-17% ב-IPC, בעוד השיפור ב-IPC עבור ה-Exynos M6 שטרם שוחרר נחשף כבעל ממוצע של 2.71 לעומת 1.06 עבור M1, המייצג שיפור של 20% לעומת M5.

בריאן גרייסון, מגיש העיתון, אכן ענה על שאלות לגבי ביטול התוכנית במהלך מפגש השאלות והתשובות. הוא אמר שהצוות תמיד היה על היעד ועל לוח הזמנים עם שיפורי ביצועים ויעילות עם כל דור. (האם זה אומר שהמטרות לא היו מספיק גבוהות מלכתחילה?). הקושי הגדול ביותר של הקבוצה, לעומת זאת, היה במונחים של להיות זהיר מאוד עם העתיד שינויים בעיצוב מכיוון שלצוות לא היו משאבים להתחיל מאפס או לשכתב לחלוטין א לַחסוֹם. במבט לאחור, הצוות היה עושה בחירות שונות בעבר עם כמה מכיווני העיצוב. בניגוד מוחלט, ל-ARM יש צוותי CPU מרובים שעובדים במקומות שונים שלמעשה מתחרים זה בזה. זה מאפשר "עיצובים מחדש של הקרקע" כגון קורטקס-A76. ה קורטקס-A77 וה-Cortex-A78 הם היורשים הישירים של ה-A76.

לצוות SARC היו רעיונות לשיפורים עבור הליבות הקרובות כמו ה-Exynos M7 ההיפותטי. עם זאת, זה היה כביכול אדם גבוה מאוד בסמסונג שהחליט לבטל את תוכנית הליבה המותאמת אישית. כפי ש אננדטק הערות, הליבות המותאמות אישית לא היו תחרותיות מבחינת יעילות חשמל, ביצועים ושימוש בשטח (PPA) בהשוואה למעבדי ARM של כל דור מסוים. בחודש שעבר הכריזה ARM על תוכנית Cortex-X Custom הכוללת את החדש קורטקס-X1, ליבת הדור הבא המיועדת למכשירים ניידים לשנת 2021. יש לו פילוסופיה עיצובית של לשבור את מעטפת Cortex-A PPA וללכת על ביצועים מוחלטים במקום זאת. ל-Exynos M6, לפיכך, היה קשה להתחרות בו. למרות זאת, נראה שסמסונג לא תתאים את ה-Cortex-X1 ותלך רק עם השילוב של Cortex-A78 + Cortex-A55 ב-Exynos 992 - אם כי הוא עשוי להיות מאומץ בספינת הדגל של ה-Galaxy S של השנה הבאה.

צוות SARC עדיין מעצב כיום חיבורים מותאמים אישית ובקרי זיכרון עבור Samsung Systems LSI. זה עבד גם על ארכיטקטורות GPU מותאמות אישית, אבל Samsung Systems LSI חתם על עסקה עם AMD להשתמש בארכיטקטורת ה-RDNA GPU של הדור הבא (ארכיטקטורת הגרפיקה הבאה) של AMD ב-Exynos GPUs עתידיים, החל מ-2021.

בסך הכל, פרויקט ליבת המעבד המותאם אישית היה שיעור מאיר עבור ספקי שבבים ניידים לגבי מה יכול להשתבש. לצוות המעבדים של SARC היו שאיפות גבוהות להתחרות באפל, שהיא המובילה הבלתי מעורערת בתחום המעבדים הניידים. לרוע המזל, זה לא הצליח להתחרות ב-ARM, לא משנה לאפל. ניתן היה לפתור את הבעיות, אבל שנה אחר שנה, המאמצים של SARC היו צעד או שניים מאחור, ו זה בא לידי ביטוי לרעה במשלוח של מוצרים כמו גרסאות ה-Exynos 9810 של ה-Samsung Galaxy S9. כעת, כל ספקי השבבים הסלולריים הגדולים של אנדרואיד ישתמשו ב-CPU ה-IP המניות של ARM משנת 2021, והרשימה הזו כוללת את קוואלקום, סמסונג, MediaTek ו-HiSilicon. הקרב יועבר לאפל עם ליבות כמו Cortex-X1, לא ליבות ARM מותאמות אישית שעוצבו מאפס.


מָקוֹר: אבולוציה של ארכיטקטורת המעבד של Samsung Exynos | באמצעות: אננדטק