תקשורת פנימית בתוך השבב הופכת להיות צוואר בקבוק. קבוצת חוקרים בטכניון חוקרת Networks on Chip (NOC) שיתנו מענה לדרישות התקשורת ב- SOCs עתידיים.
רשת על גבי שבב. איור: אוניברסיטת קולומביה |
מערכות SOC עתידיות צפויות לכלול מאות מודולים. מרבית המודולים יהיו קנויים או ממוחזרים מפרויקטים קודמים (IP reuse), והאתגר העיקרי יתמקד בחיבור כל המודולים ויצירת תשתית לתקשורת יעילה ביניהם. בטכנולוגיות עתידיות, התקשורת בין המודולים על שבב עלולה להפוך צוואר הבקבוק העיקרי בביצועים ובהספק של ה-SOC כולו. עד כה פתרו את בעיית התקשורת ע"י שימוש ב-bus משותף או ע"י יצירת ערוצי תקשורת יעודיים בין זוגות של מודולים. ה- bus המשותף כבר לא מספק את הדרישות הביצועים ההולכות וגדלות של SoCs מודרניים, מגביל את ביצועי המערכת בגלל קיבולו ההולך וגדל, ומעלה בצורה ניכרת את צריכת ההספק של השבב. הפתרונות היעודיים הם בדרך כלל יקרים ומסובכים, הן בגלל מאמץ התכנון המחודש מידי פעם והן בשל הצורך להתמודד עם מספר מודולים ההולך וגדל. יתרה מזאת, ההשהיה על קווי תקשורת גלובליים על שבב בטכנולוגיות מתקדמות, נעשית פי כמה יותר גדולה מהשהיית החישוב בתוך המודולים. כבר עכשיו תקשורת גלובלית על שבב לוקחת לעיתים כמה מחזורי שעון של המודולים, ובעיה זו הולכת ומחמירה. בעייה נוספת טמונה בריבוי שעונים, ובצורך בתקשורת מהירה בין אזורי שעון שונים הפועלים בתדרים שונים.
לפיכך עולה צורך לפתח דור חדש של ארכיטקטורות תקשורת על שבב, שיאפשרו פיתוח מהיר ויעיל של SOC מסובכים ושיאפשרו ניצול יעיל של כוח החישוב הזמין וההולך וגדל של השבבים. קבוצת המחקר שלנו בטכניון מובילה מחקר של ארכיטקטורות תקשורת כאלה ל-SoCs עתידיים. אנו חוקרים ארכיטקטורת תקשורת המבוססת על רשת המורכבת מנתבים וערוצי תקשורת ביניהם. פרוטוקול התקשורת בין המודולים ישתנה לחלוטין, ותהיה הפרדה מוחלטת בין תפקידי חישוב (בתוך המודולים) לתפקידי תקשורת (בין המודולים). התקשורת תתבצע באמצעות חבילות שיעברו ברשת. הרשת תיתן מענה למגוון רחב של בעיות. הרשת תספק רמות שונות של Quality of Service לסוגים שונים של תקשורות, ותפתור בעיות סינכרוניזציה בתקשורת בין מודולים הנמצאים באזורי שעון שונים. קווי התקשורת יתנו מענה לבעיות ברמה הפיסית ,כמו רעש, גילוי ותיקון שגיאות תקשורת. הקווים יתוכננו למהירות מקסימלית ומינימום הספק. הנתבים יהיו קטנים ומהירים על מנת לחסוך שטח סיליקון ולהגדיל ביצועים. לדוגמה, מינימום שטח מושג ע"י הקטנת שטח חוצצים בנתבים, ניתוב wormhole , ומיפוי כתובות רשת שאינו מצריך טבלאות ניתוב גדולות ויקרות. תקשורת חבילות מאפשרת רמת אבסטרקציה יותר גבוהה. למשל אפשר לחסוך קווי תקשורת יקרים בין מודולים המחליפים ביניהם פסיקות לעיתים רחוקות ע"י קידוד הפסיקה כחבילה ושליחתה על תשתית הרשת הקיימת.
באופן כללי רשתות עדיפות על פני bus וערוצים מיוחדים כי הן יותר מהירות, מאפשרות העברת תקשורות רבות במקביל, וכן הן מודולריות וניתנות בקלות להרחבה ולתמיכה במספר מודולים ההולך וגדל. רשתות על שבב פשוטות הרבה יותר מרשתות אחרות (כגון LAN) כי אין צורך לתמוך במגוון פרוטוקולים קיימים, אין בשבב שינויים דינמיים כמו חיבור או ניתוק מודולים, אין נפילת לינקים, וכל צרכי התקשורת ידועים מראש. הרשת עם הטופולוגיה שלה מתוכננת ומותאמת בזמן תכנון השבב לפי הצרכים, התעבורות וQuality of Service- היחודיים של ה-SOC המתוכנן. כל אלו הם מותרות שאינם קיימים בד"כ אצל מתכנני רשתות רגילות. לעומת זאת, רשתות על שבב כפופות לאילוצי מחיר אחרים, שעיקרם שטח הסיליקון שתופסת הרשת וההספק הנצרך בה.
השימוש ברשתות על שבבים (NOC) מצריך מהפך מחשבתי ומתודולוגי: יש לארוז את התקשורות בצורת חבילות במקום שימוש בגישה למרחב זכרון או DMA, ויש לשנות את הגישה הארכיטקטונית. אבל השימוש ב-NOC תומך בקיצור time-to-market ובפישוט התכנון של SOC וכן ב-IP reuse. כמו כן, נדרש לפתח אלגוריתמים ותוכנות EDA שיסייעו לתכנן SOC המבוסס על NOC יעיל: התוכנה תוזן ברשימת המודולים ואפיוני התקשורות ביניהם, תייצר מיקום אידיאלי של המודולים על השבב וכן תייצר (אוטומטית) את הרשת—ממשקים למודולים, נתבים וערוצי תקשורת.
לסיכום, רשתות על שבב נראות כפתרון מתבקש לבעיות תקשורת ואינטגרציה של SOC עתידיים, ובינתיים נדרש מחקר מעמיק במגוון תחומי רשתות ו-VLSI להשגת ביצועים ויעילות מקסימליים במינימום עלות כדי בסופו של דבר להפוך לחלק אינטגרלי מתהליך תכנון וייצור של Systems on a Chip .
* המאמר נכתב בתקופת עבודתו של יבגני בולוטין על הדוקוטורט שלו בטכניון בהנחיית פרופסור רן גינוסר, ראש מרכז המחקר למערכות VLSI, הטכניון
{loadposition content-related} |