טקסס אינסטרומנטס

מימוש הזכות המלאה על ריבוי ליבות

טקסס אינסטרומנטסמאת: טום פלאנאגן, סאנג’אי בהאל, ג’והן וורנר, טקסס אינסטרומנטס

בעולם של היום, הנמצא בתהליך פיתוח מתמשך של יותר מורכבות ויותר קישוריות, דרישות הביצועים של מערכות על שבב (SoC) הופכות להיות מושפעות מהיישומים הקיימים, מהיישומים המתפתחים ומאלו שעומדים להופיע. ההתפתחות המתמידה של הפונקציונליות, שנדרשה על מנת לעמוד בדרישות הביצועים וביעדי העלות, יצרה את ההזדמנות המתאימה, שבה מתכננים יכולים להתחייב לחקירה מעמיקה של היסודות המבניים בפתרונות של ריבוי ליבות, שאותם הם שוקלים בתכנוניהם. באופן אידיאלי, ארכיטקטורה של מערכת על שבב בריבוי ליבות כוללת את המאפיינים הבאים:
היא תומכת במגוון מנועי ביצוע המשלבים סגנונות שונים (ליבות), לרבות מעבדי אותות ספרתיים (DSP), עיבוד אותות וקטורי (VSP) ומחשוב עם מערכת פקודות מצומצמת (RISC);
היא מספקת זכאות (זמן יע”מ מובטח – entitlement) מלאה לריבוי ליבות, ולכן משתמשת בכל היכולות הקיימות בהתקן עבור היישום המיועד, כאשר בכך היא מאפשרת קבלת ביצועים מובילים בתעשייה;
היא מפעילה משפחה של התקנים, כדי לאפשר מחזור;
היא משלבת מערכת סביבתית של תוכנה, שמקלה על מאמצי התכנון ומקצרת את זמן הפיתוח.
מאמר זה סוקר את מרכיבי המבנה שאותם תצטרך לספק מערכת על שבב, כדי להשיג מאפיינים אידיאליים של התקנים המיועדים ליישומים מתקדמים של תשתית תקשורת, כגון שרתי מדיה ותשתיות אלחוטיות לפס הבסיס.

ארכיטקטורה של מערכת על שבב (SoC) בריבוי שכבות ובריבוי ליבות
מערכת על שבב היא תפיסה, לפיה הגישה הבסיסית היא לשלב פונקציונליות רבה יותר בתוך התקן נתון, עד לנקודה שבה היא מבצעת כמעט את כל הפונקציות הנדרשות ליישום אמור, או את כולן. מערכת על שבב מגולמת בתוך התקן הסיליקון והפתרון הכולל, לא פעם, משלב בתוכו את עיקר התוכנה. תכנונים רבים של מערכות על שבב מזווגים ליבות של מעבדי DSP עם ליבות של מחשבי RISC, על מנת להתאים לצורכי עיבוד מיוחדים של יישומים, כגון עיבוד קול והמרת קידוד (transcoding), בשערי חיבור מדיה או בערוצי רדיו ועיבוד רשתות בתשתית אלחוטית.
שיפורי הביצועים נעשו באמצעות הגירה דרך צומת עיבוד והגדלה הולכת וגוברת של תדירויות אות השעון. בצומתי העיבוד בעלי הגיאומטריה הקטנה הקיימים כיום, היתרונות הטמונים בתדירויות אות שעון גדלות והולכות ובהגירה לצומת עיבוד, גורמים גם לעלות גדלה של הספק המערכת, באופן כזה שניתוח הפשרה הופך למורכב יותר בהרבה.
גישה חלופית – כזו שבה ליבות עיבוד מרובות ממומשות על מנת לקבל תנופת הביצועים הרצויה בקצבים נמוכים של אות שעון ובצריכת הספק נמוכה, כאשר במקביל, הן מאפשרות לענות על כל הפרמטרים של המערכת – החלה להופיע כאפשרות המועדפת עבור יישומים משובצים המבוססים על מערכות על שבב בריבוי ליבות. בנוסף, האצה ייחודית ליישום ומעבדי עזר החלו להיות משולבים, על מנת להוסיף ולהגדיל עוד את יכולות המערכת ולהקטין את ההספק שלה. בתרחיש זה, חשוב לספק גישה מקבילה למשאבי העיבוד, כך שאפשר יהיה לממש את מלוא זכאותו של ההתקן. אספקת היכולות חשובה ביותר עבור ארכיטקטורת המערכת על שבב בתוך תשתית השבב, כדי שהיכולת של החיבורים הפנימיים תניב זכאות מלאה לריבוי ליבות. הגישה הישירה ביותר לעניין זה היא מטריצה גדולה של נקודות צולבות (cross point matrix), אבל לגישה זו יש מגרעות בתחום ההספק והעלות, מפני שבכל נקודה בזמן, חלק נכבד מהמטריצה פועל אך אינו משמש. גישה מתוחכמת יותר של רשת על שבב מספקת יכולות מקומיות לעיבוד חלקים שקשורים באופן הדוק ותשתית שדרה פיסית משותפת, במטרה לחבר את כל הפונקציות המקומיות האלו, יחד.

קידום חוק Moore
המעבר אל צומתי עיבוד מתקדמים יותר היה המניע העיקרי ליכולת העמידה בתחזית של חוק Moore. ההגירה לתהליך של 40 ננו-מטר (nm) סיפקה שיפור מרשים בביצועים, והמעבר ל-28 ננו-מטר יספק שיפור זהה, אם כי ליישומים של ימינו נדרש יותר מזה. היתרון הגדול ביותר הנגזר כיום מצומת עיבוד חדש הוא האפשרות לשילוב פונקציות רבות יותר של היישום בהתקן יחיד. מכאן שזה מנגנון אפשור (enabler) חשוב עבור מערכות על שבב. הטקטיקה הראשונה והברורה ביותר להשגת שיפור של פוטנציאל האינטגרציה, למען הגדלת הביצועים, היא באמצעות הוספה של ליבות הניתנות לתכנות. התקנים בריבוי ליבות מאופיינים כאחידים (הומוגניים), כלומר כאלו שבהם כל ליבות העיבוד זהות, או כלא אחידים (הטרוגניים), שבהם קיימת תערובת של ליבות מסוגים שונים. למעשה, כמעט לכל היישומים נדרשת תערובת של יכולות עיבוד, לרבות עיבוד אותות וקוד בקרה. ליבות עיבוד DSP וליבות ARM® RISC הן המתאימות ביותר לתערובת עיבוד זו. בחברת טקסס אינסטרומנטס (TI), ליבות עיבוד DSP המתקדמות ביותר תומכות הן בפעולות של נקודה קבועה והן בפעולות של נקודה צפה ומבצעות עיבוד של אותות וידיאו (VSP) בקצבים גבוהים של אותות שעון, ובכך הן מפשטות את פיתוח האלגוריתמים ואת פרישתם. ניתן להשיג מגוון של ליבות ARM, עובדה שמאפשרת לספק המערכות על שבב לבצע אופטימיזציה במבחר ליבות RISC, על מנת שיתאימו לדרישות העיבוד, לפיזור ההספק ולצומת העיבוד. מנקודת המבט של המבנה, חשוב שתהיה תמיכה במימושים של ליבות אחידות. אפשר ליצור התקנים אחידים (שבהם הכל ליבות ARM או הכל ליבות עיבוד DSP), מארכיטקטורה של התקנים לא אחידים (הטרוגניים), אבל הכיוון ההפוך אפשרי רק במקרים נדירים, אם מבקשים לא לגרום לפגיעה חמורה בביצועים. איור 1 שמופיע בהמשך, מתאר את ארכיטקטורת ריבוי הליבות KeyStone החדשה של טקסס אינסטרומנטס, המהווה דוגמה לארכיטקטורה של ריבוי ליבות לא אחידה.
הארכיטקטורה מורכבת ממרכיבים פונקציונליים הנתונים במארז, באופן שמשפר את הגמישות ואת יכולת השדרוג של היישום.
ארכיטקטורה גמישה מתוכננת עם היכולת להוסיף או להסיר בקלות מרכיבים, כפי שיכול להכתיב יישום. ליישומים כדוגמת תחנות בסיס אלחוטיות ועיבוד של מערכי מכ”מ יש דרישות עיבוד וקלט ופלט דומות, אבל יש להם דרישות שונות למדי בתחומי ההאצה ועיבודי העזר. מאיצים בשכבה 1 הפיסית (Layer 1 PHY) הכרחיים עבור תחנות בסיס אלחוטיות, אך אין הם נדרשים לעיבוד מערכי מכ”מ. שעה שאין זה סביר שארגון מסוים מפתח מוצרי מכ”מ וגם תחנות בסיס, הרי שארגונים כאלו עדיין יזכו מהחיסכון בעלות ומהיתרונות הנובעים מכמויות המצטברות בזכות הגוף המפתח את המערכת על שבב.
כאשר קיים טווח של מוצרים, יכולת השדרוג הקיימת בארכיטקטורה של מערכת על שבב חשובה ביותר למטה של הוספה והסרה של מרכיבי העיבוד, על מנת לענות על הדרישות המשתנות. תחנות הבסיס האלחוטיות קיימות כיום בטווח שבין מוצרי תא פמטו קטן ועד תחנות בסיס מאקרו בריבוי תאים, בהיקף נרחב. באופן דומה ייתכן שליצרן מכ”מ יידרשו התקנים קטנים בהיקפם וגדולים בהיקפם.

איור 1 ארכיטקטורת ריבוי הליבות KeyStone של טקסס אינסטרומנטס

איור 2 דוגמה לערכת כלים מקיפה עבור ריבוי ליבות

פישוט של המערכת הסביבתית של התוכנה
לא פעם, מפתחי מערכות על שבב בריבוי ליבות מספקים ומשלבים מראש חלק גדול מהתוכנה שאינה ייחודית – תוכנת בסיס אשר מבחינה פונקציונלית היא זהה אצל כל יצרן ציוד קצה. תוכנה זו נמצאת בטווח המשתרע בין מנהלי התקנים, חיבורי מערכות הפעלה לזמן אמת (RTOS) לבין אלגוריתמים סטנדרטיים חשובים עבור יישומי היעד. כאשר מממשים בצורה נכונה את התוכנה הזו, היא מספקת זכאות מלאה בסיליקון למפתחי יישומים, והיא מוכנה לייצור. מעבר למערכת על שבב זו, בריבוי ליבות, היצרנים יוצרים מערכת סביבתית לפיתוח שמסייעת בפיתוח יישומים, בבדיקתם ובתכנון המעגלים.
מבחינת אנשים העוסקים בפיתוח – פיתוח בריבוי ליבות הופך לנושא רב-אתגרים, כאשר עוסקים בכתיבת קוד עבור סביבה של ריבוי ליבות, במיוחד כאשר נדרש שהקוד של היישום יוכל לעבור שדרוג, מהתקנים קטנים ועד להתקנים גדולים. כאשר זה המקרה, הן החומרה והן התוכנה צריכות לעבור שדרוג על פני טווח של התקנים, שעה שמספר הליבות והמאיצים בחומרה יכולים להשתנות בטווח רחב, מהתקן אחד במשפחה של התקנים, להתקן אחר.
למרבה המזל, בהינתן המורכבות של התוכנה ומרכיבי העיבוד המשתנים במערכת על שבב בריבוי ליבות, תוכנה שנעזרת בחומרה הופכת להיות מציאות קיימת. חומרה חדשה וחדשנית שמתוכננת במטרה לפשט את פיתוח התוכנה בריבוי ליבות, משובצת כיום בדור המתקדם ביותר של התקנים בעלי ריבוי ליבות. חומרה זו מסייעת לתוכנה עם שדרוג אוטומטי לשימוש במגוון של התקנים הנגזרים מארכיטקטורה משותפת.
הניצול של תוכנה הנעזרת בחומרה הופך לאפשרי אם התוכנה נכתבת בצורה של משימות קטנות, במקום כפונקציות שעשויות מקשה אחת, והחומרה מתוכננת לנהל משימות באופן אוטונומי. אחת הגישות החדשניות לאתגר זה משתמשת בתורים בהיקף גדול בחומרה, אשר מקושרים עם משתני תיאור (descriptor) פונקציונליים שמזהים את משאבי העיבוד הנדרשים באופן כללי כצורך בפונקציונליות עיבוד DSP או בטרנספורם FFT, ולא באופן מפורש כמו בליבה 2 של עיבוד DSP. המשימות והנתונים מוצבים בתור, ולאחר מכן, החומרה מנהלת משם את העיבוד באופן אוטונומי. באופן כזה, למעבר ממערכת על שבב בעלת שתי ליבות אל מערכת על שבב בעלת שמונה ליבות לא נדרשים שינויים בתוכנה. מערכת ניהול התור ומשתני התיאור מנהלים את המעבר באופן אוטומטי.

גישה גמישה ורחבה לתוכנה
ליישומים הקיימים וליישומים שעומדים להופיע יידרשו שימושים שונים במרכיבי העיבוד ובליבות העיבוד. ייתכן שיישומים מסוימים ישתמשו בכל ליבה באופן עצמאי, בעוד שייתכן שיישומים אחרים יהיו מעונינים להשתמש במרכיב עיבוד אחד כשולט, בה בשעה שמרכיבי העיבוד האחרים מתוכננים להיות נשלטים. בחלופה שלישית, כל מרכיבי העיבוד יכולים להיות עמיתים (peer) והמשימות יוקצו בה באופן דינמי. ייתכן שיישומים מסוימים יהיו מעונינים להשתמש בהתקן כבמנוע מחשוב בעל ביצועים גבוהים (HPC), שיהיה מאופשר באמצעות תקנים כדוגמת OpenCL או OpenMP.
על מנת לתת מענה לדרישות מגוונות כל כך של יישומים, המתכננים יידרשו לפתח ערכת כלים אשר תנווט ופשט את התוכנה, את כלי הפיתוח ואת מערכת ההפעלה עבור מגוון של יישומים. יש מקום לפתח את ערכת הכלים, צעד אחר צעד, בתיאום עם ההתקדמות בשבבי הסיליקון, על מנת להבטיח גישה מיטבית לליבות העיבוד, למאיצים ולמישורי הקישור בריבוי שכבות, אשר משמשים את מפתחי היישומים. המפתחים המתקדמים יותר של יישומי מערכות על שבב אימצו כלים מבוססי Eclipse, שמאפשרים לאנשי הפיתוח היחידים של הלקוחות להתאים באופן אישי את סביבת הפיתוח שלהם ולהעדפות האישיות שלהם. כלים מבוססי Eclipse מספקים את המאפיינים הטובים ביותר של פלטפורמת פיתוח פתוחה עם יכולות אופטימיזציה שמאופשרות במידה הטובה ביותר על ידי איש הפיתוח בסיליקון.
מסקנות
מצבם של מעבדים בריבוי ליבות מתפתח בקצב מהיר. יצרנים מתקדמים של מערכות בריבוי ליבות, אשר פונים לשוקי התשתיות, מספקים כיום את מוצרי הדור השני והשלישי שבהם משולבים הלקחים שנלמדו מהמוצרים הנחשבים לחלוצים. בנוסף, קיימות כיום משפחות של מוצרים שנותנים מענה לטווח של יכולות ושל יישומים ייעודיים, במקום לפתרונות נקודתיים. המוצרים החדשים האלו מבוססים על ארכיטקטורה משותפת ומניבים חיסכון בעלויות הפיתוח ובזמן הפיתוח, שמעניקים יתרון ליצרני הציוד. ארכיטקטורות של ריבוי ליבות תפסו את המרחב אשר לו הם ראויים, ולמיתוג מבדל מוביל, שבא לידי ביטוי בעת הערכת מערכות מתחרות שמוצעות. היכולת של ריבוי הליבות שוחררה למען אנשי הפיתוח ומאפשרת להם לפתח מוצרים חדשים ומרתקים לשימוש היום, מחר, ובשנים הבאות.

תגובות סגורות