מה זה AVX-512 ומדוע אינטל הורגת אותו?

מה זה AVX-512 ומדוע אינטל הורגת אותו?

המעבד במכשיר שלך מבצע מיליוני חישובים בכל שנייה ואחראי לאופן פעולת המחשב שלך. העבודה עם ה-CPU היא יחידת העיבוד האריתמטית (ALU), אשר אחראית על משימות מתמטיות ומונעת על ידי המיקרוקוד של ה-CPU.





כעת, המיקרוקוד של המעבד הזה אינו סטטי וניתן לשפר אותו, ושיפור אחד כזה היה ערכת ההוראות AVX-512 של אינטל. עם זאת, אינטל אמורה להרוג את AVX-512, ולהסיר את הפונקציונליות שלו מהמעבדים שלה סופית. אבל למה? מדוע אינטל הורגת את AVX-512?





איפור של סרטון היום

איך עובד ALU?

לפני היכרות עם ערכת ההוראות AVX-512, חיוני להבין כיצד פועל ALU.





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

לכן, מהירות השעון של מעבד מגדירה את קצב עיבוד ההוראות ב-ALU. לכן, אם המעבד שלך פועל על תדר שעון של 5GHz, ה-ALU יכול לעבד 5 מיליארד הוראות בשנייה אחת. מסיבה זו, ביצועי המעבד משתפרים ככל שמהירות השעון עולה.



  ערכות שבבים על לוח אם

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

אז איך מעבד מהדור החדש מציע ביצועים טובים יותר בהשוואה לאיטרציות ישנות יותר? ובכן, יצרני מעבדים משתמשים בקונספט של מקביליות כדי להגביר את הביצועים. מקביליות זו יכולה להיות מושגת על ידי שימוש בארכיטקטורה מרובת ליבות שבה משתמשים במספר ליבות עיבוד שונות כדי לשפר את כוח החישוב של ה-CPU.





דרך נוספת לשפר את הביצועים היא באמצעות ערכת הוראות SIMD. במילים פשוטות, הוראה יחידה מרובת נתונים מאפשרת ל-ALU לבצע את אותה הוראה על פני נקודות נתונים שונות. סוג זה של מקביליות משפר את הביצועים של מעבד, וה-AVX-512 הוא הוראת SIMD המשמשת להגברת ביצועי המעבד בעת ביצוע משימות ספציפיות.

כיצד מגיעים נתונים ל-ALU?

כעת, לאחר שיש לנו הבנה בסיסית כיצד פועל ALU, עלינו להבין כיצד הנתונים מגיעים אל ALU.





  כונן קשיח עם רקע ריק

כדי להגיע ל-ALU, הנתונים צריכים לעבור דרך מערכות אחסון שונות. מסע נתונים זה מבוסס על היררכיית הזיכרון של מערכת מחשוב. סקירה קצרה של היררכיה זו ניתנת להלן:

  • זיכרון משני: הזיכרון המשני בהתקן מחשוב מורכב מהתקן אחסון קבוע. מכשיר זה יכול לאחסן נתונים לצמיתות אך אינו מהיר כמו המעבד. בשל כך, ה-CPU לא יכול לגשת לנתונים ישירות ממערכת האחסון המשנית.
  • זיכרון ראשי: מערכת האחסון הראשית מורכבת מזיכרון גישה אקראית (RAM). מערכת אחסון זו מהירה יותר ממערכת האחסון המשנית אך אינה יכולה לאחסן נתונים לצמיתות. לכן, כאשר אתה פותח קובץ במערכת שלך, הוא עובר מהכונן הקשיח ל-RAM. עם זאת, אפילו זיכרון ה-RAM אינו מהיר מספיק עבור המעבד.
  • זיכרון מטמון: זיכרון המטמון מוטבע במעבד והוא מערכת הזיכרון המהירה ביותר במחשב. מערכת זיכרון זו מחולקת לשלושה חלקים, כלומר מטמון L1, L2 ו-L3 . כל נתונים שצריך לעבד על ידי ה-ALU עוברים מהכונן הקשיח ל-RAM ולאחר מכן לזיכרון המטמון. עם זאת, ה-ALU לא יכול לגשת לנתונים ישירות מהמטמון.
  • רישומי מעבד: אוגר ה-CPU בהתקן מחשוב קטן מאוד, ובהתבסס על ארכיטקטורת המחשב, אוגרים אלה יכולים להכיל 32 או 64 סיביות של נתונים. ברגע שהנתונים עוברים לתוך האוגרים הללו, ה-ALU יכול לגשת אליהם ולבצע את המשימה שעל הפרק.

מה זה AVX-512 ואיך זה עובד?

ערכת ההוראות AVX 512 היא האיטרציה השנייה של AVX ועשתה את דרכה למעבדי אינטל בשנת 2013. קיצור של Advanced Vector Extensions, ערכת ההוראות של AVX הוצגה לראשונה בארכיטקטורת Xeon Phi (Knights Landing) של אינטל ומאוחר יותר הגיעה לשרת של אינטל מעבדים במעבדי Skylake-X.

בנוסף, ערכת ההוראות AVX-512 עשתה את דרכה למערכות מבוססות צרכנים עם ארכיטקטורת Cannon Lake ולאחר מכן נתמכה על ידי הארכיטקטורות Ice Lake ו-Tiger Lake.

המטרה העיקרית של ערכת הוראות זו הייתה להאיץ משימות הכוללות דחיסת נתונים, עיבוד תמונה וחישובים קריפטוגרפיים. מציע עוצמת חישוב כפולה בהשוואה לאיטרציות ישנות יותר, ערכת ההוראות AVX-512 מציעה שיפורי ביצועים משמעותיים.

אז איך הכפילה אינטל את הביצועים של המעבדים שלה באמצעות ארכיטקטורת AVX-512?

ובכן, כפי שהוסבר קודם, ה-ALU יכול לגשת רק לנתונים הקיימים ברישום של מעבד. ערכת ההוראות Advanced Vector Extensions מגדילה את גודלם של אוגרים אלה.

בשל הגידול הזה בגודל, ה-ALU יכול לעבד מספר נקודות נתונים בהוראה אחת, ולהגדיל את ביצועי המערכת.

מבחינת גודל האוגר, ערכת ההוראות AVX-512 מציעה שלושים ושניים אוגרים של 512 סיביות, שהיא כפולה בהשוואה לסט ההוראות הישן יותר של AVX.

מדוע אינטל מסיים את AVX-512?

כפי שהוסבר קודם לכן, ערכת ההוראות AVX-512 מציעה מספר יתרונות חישוביים. למעשה, ספריות פופולריות כמו TensorFlow משתמשות בערכת ההוראות כדי לספק חישובים מהירים יותר על המעבדים התומכים בערכת ההוראות.

אז מדוע אינטל משביתה את AVX-512 במעבדי Alder Lake האחרונים שלה?

ובכן, מעבדי Alder Lake אינם דומים לאלה הישנים יותר שמיוצרים על ידי אינטל. בעוד שהמערכות הישנות יותר השתמשו בליבות הפועלות על אותה ארכיטקטורה, מעבדי Alder Lake משתמשים בשתי ליבות שונות. ליבות אלה במעבדי אגם Alder ידועים בשם ליבות P ו-E ומופעלים על ידי ארכיטקטורות שונות.

בעוד ליבות ה-P משתמשות במיקרו-ארכיטקטורת Golden Cove, ליבות ה-E משתמשות במיקרו-ארכיטקטורת Gracemont. הבדל זה בארכיטקטורות מונע מהמתזמן לפעול כהלכה כאשר הוראות מסוימות יכולות לפעול על ארכיטקטורה אחת אך לא על השנייה.

במקרה של מעבדי Alder Lake, ערכת ההוראות AVX-512 היא דוגמה אחת כזו, שכן לליבות P יש את החומרה לעבד את ההוראה, אך לליבות ה-E לא.

מסיבה זו, המעבדים של Alder Lake אינם תומכים בערכת ההוראות AVX-512.

עם זאת, הוראת AVX-512 יכולה לפעול על מעבדי Alder Lake מסוימים שבהם אינטל לא התיך אותם פיזית. כדי לעשות את אותו הדבר, המשתמשים צריכים להשבית את הליבות האלקטרוניות במהלך ה-BIOS.

האם יש צורך ב-AVX-512 בערכות שבבים לצרכן?

ערכת ההוראות AVX-512 מגדילה את גודלו של פנקס המעבד כדי לשפר את הביצועים שלו. שיפור זה בביצועים מאפשר למעבדים לחטוף מספרים מהר יותר, ומאפשר למשתמשים להפעיל אלגוריתמים של דחיסת וידאו/אודיו במהירויות גבוהות יותר.

איך אני יודע אם הטלפון שלי מקיש

עם זאת, ניתן לראות שיפור זה בביצועים רק כאשר ההוראה שהוגדרה בתוכנית מותאמת להפעלה על ערכת ההוראות AVX-512.

מסיבה זו, ארכיטקטורות של ערכות הוראות כמו AVX-512 מתאימות יותר לעומסי עבודה של שרתים, וערכות שבבים בדרגת צרכן יכולות לעבוד ללא ערכות הוראות מורכבות כמו AVX-512.