כמו לבנות בכל שנתיים את המגדל הכי גבוה בעולם
כמו לבנות בכל שנתיים את המגדל הכי גבוה בעולם
קבוצת ה-Core הישראלית אחראית בעשור האחרון לחלק הכי חשוב במעבד – הליבות. מה הן ואיך משפרים אותן מדור לדור? הצצה נדירה לדרך שבה מפתחים את אחת הטכנולוגיות המסובכות והמאתגרות שנמצאות בתוך המעבד
"היום ישראל היא גרסה קטנה של אינטל", כך אמר מנכ"ל אינטל העולמית, פט גלסינגר, בביקורו הראשון בישראל בשנת 2021, מאז שנכנס לתפקיד. אחת הסיבות למרכזיותה של אינטל ישראל באינטל העולמית, ניתן יהיה לסכם במילה אחת עם משמעות גדולה – הליבה.
"בשנים האחרונות אנחנו משלבים במערכת שעל השבב (SoC) שלנו הרבה פונקציות שעד לפני עשר שנים היו בכלל חלק מלוח-האם, כמו העיבוד הגרפי והשליטה בקלט ובפלט" מסביר ג'ק דוואק, ארכיטקט טכנולוגיה ואבטחה ראשי באינטל, "אבל הליבה היא הרכיב הכי חשוב במעבד".
אז מה היא אותה ליבה?
אם היינו יכולים להתכווץ לגודל של ננו-מטר אחד, ולטייל במעבדי ה-Alder Lake של אינטל שהושקו לאחרונה, היינו מרגישים שאנחנו מסתובבים ברחובותיה של עיר מודרנית. בצד אחד של הרחוב נמצא המודם, בצד השני ממוקם המעבד הגרפי ומאחוריהם קיר חיבורי הכוננים, קצה הערוץ שמחבר לזיכרון החיצוני ועוד רכיבים, והכול בנוי בצורה מסודרת עם גישה נוחה. הכבישים בעיר השבב המיקרוסוקופית שלנו הם ערוצי הנתונים שמעבירים במהירות שלא יורדת מ-5 גיגה הרץ את כל המידע בתוך מערכת השבב, ממנו ואליו.
הליבה היא הבניין המרכזי באותה עיר – הרכיב בתוך המעבד, שמבצע בפועל את החישובים הנדרשים לביצוע כל משימה של המחשב – מלספור מילים במסמך Word ועד תנועת הגלגלים במכונית מרוץ במשחק מחשב. המעבד עצמו הוא מכונת חישוב, שיודע לבצע רצף הוראות. ההוראות הללו מגיעות משפות תכנות שבאמצעותם כותבים מערכת ההפעלה, ואת האפליקציות. הן עוברות תרגום לשפה בינארית – רצף של ספרות 0 ו-1 והליבה היא זו שמפענחת את הספרות הללו, ויודעת לתרגם אותן לפעולות.
ליבה ועוד ליבה
התפקיד הבסיס של הליבה (ביצוע רצף הוראות) לא השתנה הרבה מאז המעבד הראשון של אינטל – ה-4004, שחגג לאחרונה יומולדת 50. מצד שני -מסביר דואק- "רמת הביצועים של הליבה עלתה מאז בכמה סדרי גודל, תוך ירידה משמעותית ביותר בצריכת ההספק ובעליות הייצור. כתוצאה מכך אפשר לצייד מחשבים דקים וזולים ברמות ביצועים שאנשים לא חלמו עליהם לפני הרבה שנים. זה הושג על ידי שילוב של התקדמות טכנולוגיות הייצור של רכיבים אלקטרונים ביחד עם טכניקות מיקרו-ארכיטקטוניות חדשניות ומתוחכמות".
במשך שנים רבות הייתה רק ליבה אחת בתוך כל מעבד, אבל בשנות ה-2000 אינטל פיתחה מעבד עם ליבה כפולה (פרויקט יונה ומרום), ומאז מספר הליבות גדל עם השנים. במעבד של לפטופ קטן וקל שנמכר היום יהיו ארבע ליבות, אבל במעבד של שרתים יהיו עשרות רבות של ליבות.
"ריבוי ליבות במחשב מאפשר להריץ יותר מתוכנה אחת בו-זמנית ולשפר את הביצועים. כך למשל, מחשב עדכני עם כמה ליבות יצליח להתמודד עם עומסי מחשב גם כשמריצים בדיקת אנטי-וירוס, מגבים מידע לענן וצופים בסרט וידאו ב-4K. כל הפעולות האלה יכולות לרוץ ברקע, בזמן שהמחשב ממשיך להתריע על מיילים שמתקבלים ב-Outlook ומריץ פעולות נוספות", אומר דואק
אבל הוספת ליבות אינה פתרון קסם. ריבוי ליבות גורם למעבד להיות גדול, יקר, וחם יותר, והמורכבות לא מסתיימת שם. "ריבוי ליבות זה כמו ריבוי ילדים. כל עוד כל אחד מתעסק עם הדברים שלו, הכול בסדר", מסביר עידו עוזיאל, ארכיטקט בקבוצת ה-Core באינטל, "אבל ברגע ששניים מהם רוצים להשתמש באותו משאב, מתחילות הצרות, כפי שיודע כל אחד שיש לו שתי בנות בגיל ההתבגרות וחדר שירותים אחד".
אחת המכונות המורכבות שפותחו בישראל
החשמל הוא משאב משותף שכל הליבות מתחרות עליו. ליבה שמבצעת חישבים מורכבים מאוד תצרוך הרבה מאוד חשמל, מה שיגרום לליבות אחרות לקבל פחות חשמל ולעבוד לאט יותר.
במעבד ה-Alder Lake החדש, מהנדסי אינטל הישראלים יצרו בפעם הראשונה מעבד היברידי, עם שני סוגי ליבות: ליבת ביצועים – Performance Core, וליבות יעילות – Efficiency Core. ליבות הביצועים מתאימות לשימושים כבדים, והליבות היעילות מתאימות לשימושים קלים.
עם המבנה ההיברידי הזה אפשר לעשות חלוקה יותר טובה של התוכנות שרצות. אפשר להריץ תוכנות קלות יותר בליבות היעילות, שצורכות פחות אנרגיה, ובכך להאריך את חיי הסוללה. אפשר גם לשחרר עוד אנרגיה לליבות הביצועים כדי שהן יוכלו להריץ תוכנות יותר מהר. שימוש נוסף לליבות היעילות היא בתוכנות שרצות על הרבה ליבות במקביל.
"ליבת הביצועים היא אחת המכונות המורכבות ביותר שפיתחנו. זה כמו לבנות בכל שנתיים את המגדל הכי גבוה בעולם, כשאין לאף אחד מושג איך לעשות את זה. ואז, אחרי שנתיים להצליח לבנות בניין גבוה יותר ב-20% עם ג'קוזי על הגג", מסביר עדי יועז, ארכיטקט ראשי של ליבת הביצועים. "הידע וכמות האנשים שמעורבים בפרויקט הזה אדירים - אלף אנשים בונים ליבה כזאת".
החידוש במעבדים החדשים הוא לא רק בכמות הליבות, אלא באופן שבו הן מנהלות את עצמן: "הפקודות לא מבוצעות בהכרח לפי הסדר שכתוב בתוכנה. בכל רגע נתון, הליבה בוחנת מספר רב של פקודות קדימה, ומסדרת אותן לפי סדר הביצוע שהכי מתאים לבצע אותן. ושם בעצם נמצאת החוכמה של הליבה: זו מכונה שמסוגלת לקבל תוכנה, לנתח אותה, לסדר אותה מחדש ולבצע אותה בצורה הכי יעילה שאפשר", אומר עוזיאל ומוסיף "יכולות סידור הפקודות של הליבות החדשות מתוחכמות יותר, וכל ליבה מסוגלת לבצע 20% יותר פעולות בשניה לעומת הליבות של הדור הקודם".
לדברי עוזיאל, לפעמים אפשר לקבל ביצועים יותר טובים בזכות שיפורים בתהליך הייצור ולפעמים צריך לשפר את הליבה באותו תהליך ייצור. זה פחות או יותר מה שקרה בדור הנוכחי. "בשביל להגביר את היעילות, ב-Alder Lake, הוספנו שליטה על צריכת מתח וזרם של כל ליבה בנפרד, שלא הייתה בדור הקודם. כשכל ליבה יכולה לרוץ בתדר אחר, אפשר לנהל את ההספק בצורה יותר יעילה ולקבל ביצועים טובים יותר מבלי לשלם על כך באנרגיה".
בינה מלאכותית בתוך המעבד
רבים לא יודעים, אבל קבוצת הפיתוח של ה-Core באינטל הישראלית, היא אחת הקבוצות הבודדות בעולם שמצליחות מדי שנה להמשיך ולחדש, מבין כל קבוצות הפיתוח שעוסקים בפיתוח ליבות למעבדים. הקבוצה הזו עומדת מאחורי עשרות הליבות שאינטל הוציאה לעולם בעשורים האחרונים, החל מהליבות למעבדי ה-Banias , דרך Merom, המעבדים הראשונים עם ליבה כפולה לקליינט ולסרבר, הם גם אלה שהקנו לאינטל ישראל את המוניטין כמרכז משמעותי בפיתוח סיליקון, ועד הליבות המודרניות של מעבדי Sandy Bridge, Skylake, Tiger Lake והאחרון שבהם – Alder Lake. לאורך השנים נולדו בקבוצת ה-Core באינטל ישראל טכנולוגיות ייחודיות. האחרונה שבהן היא Intel® Advanced Matrix Extensions (AMX), זאת טכנולוגיה שמאיצה את הבינה המלאכותית וספציפית את למידה הממוחשבת – Deep Learning – בתוך הליבה עצמה, ללא צורך ברכיב החיצוני.
הספק נמוך, ביצועים גבוהים
פיתוח מערכת שבב, על שלל ליבותיה ומרכיביה, לוקח כארבע שנים. השלב הראשון, כמו בכל מוצר, הוא קבלת הדרישות העסקיות. הדרישה העיקרית מהליבה היא ביצועים טובים יותר, מבלי להגדיל את צריכת החשמל. השאלה היא איך עושים את את זה?
בגלל שבפעם הראשונה יש בערכת השבב של Alder Lake סוגים שונים של ליבות, עם הספקים שונים, צריך לאזן את התוכנות שרצות בין הליבות השונות. האיזון הזה נעשה באמצעות מנגנון בשם "Intel® Thread Director" – התוספת החדשה לחומרה, שמספק מידע למערכת ההפעלה על התוכנה שרצה ומאפשר לה לבחור את הליבה הנכונה לתוכנה.
"שילבנו שם חישובים מדויקים שמערכת ההפעלה לא יודעת לעשות לבד", מסביר דואק. "אנחנו סופרים אירועים מסוג מסוים, ואחרי זה מחשבים את ההתאמה של האפליקציה לליבה קטנה או גדולה, לפי האופי שלה".
עוזיאל הוסיף: "היום, גיימרים שמשחקים משחקי מחשב מריצים משחקים מאוד מתקדמים. תעשיית הגיימינג היא תעשיית ענק שמגלגלת יותר כסף מהוליווד. גיימרים היום רוצים להריץ את המשחק הכבד שלהם, ותוך כדי להקליט את ההתרחשות על המסך, לצלם את עצמם, לשלב את שני הסרטים האלה ביחד, לדחוס את הסרט ולשתף אותו עם כל החברים שלהם. אסור, חס ושלום, לפגוע בביצועים של המשחק ואסור לדלג על שום פריים בווידאו. השילוב של הליבות ב-Alder Lake מאפשר את זה בצורה טובה יותר מאי-פעם; הרבה בזכות הליבות שנולדו באינטל ישראל".