איטניום
מתוך ויקיפדיה, האנציקלופדיה החופשית
במחשבים, איטניום הוא ארכיטקטורת מיקרומעבד בעל 64 ביט, שפותחה בצוותא על ידי HP ואינטל. מטרתו של איטניום היא ליצור ארכיטקטורה של "עידן הפוסט-RISC" בעלת ביצועים גבוהים, תוך שימוש בתכנון VLIW. מערכת הפקודות הטבעית שלו היא הIA-64 החדשה, אך הוא יכול להריץ קוד x86 (בצורה איטית) ובמצב הדמיית קושחה, ובעל אפשרות להגירה של משפחת הPA-RISC.
תוכן עניינים |
[עריכה] תכנון
ברמה הבסיסית, התכנון של איטניום דומה לזה של RISC — ליבת הלוגיקה מכילה סט קטן של הוראות אשר תוכננו לרוץ מהר מאד. האיטניום משתמש בתכנון אשר מאפשר הרצה של מספר ליבות באופן מקבילי בשביל להשיג מהירות נוספת. הדבר שבו פילוסופיית תכנון האיטניום שונה מRISC הוא הצורה שבה ההוראות מועברות ליחידות ליבה אלה.
בתכנון "חוסר-סדר" הרווח, מפענח מורכב בוחן כל הוראה בזמן שהיא עוברת דרך הצינור (pipeline) ורואה איזה מהן יכולה להתבצע במקביל במספר ליבות. למשל בסדרת הוראות שמבצעת A = B + C
וD = F + G
לא תהיה השפעה של ההוראות אחת על השניה, לכן ניתן להזין אותם לשתי ליבות כדי שירוצו בו זמנית.
ניבוי של איזה קוד יכול להיות מחולק בדרך כזו הוא משימה מורכבת מאד. במקרים רבים, ערכי הקלט של שורה אחת תלויים בערכי הפלט של שורה אחרת, אך רק אם תנאי מסוים מתקיים. למשל, נסתכל על אותה דוגמה מקודם בשינוי קל : A = B + C; IF A==5 THEN D = F + G
. במקרה כזה, החיישובים נשארים זהים, אך הפעולה השנייה דורשת את התוצאות של החישוב הראשון בכדי לדעת אם יש בכלל צורך בהרצתה.
במקרים כאלה, התוכנית שמובנת במעבד בדרך כלל "מנחשת" איזה מצב יתרחש. ברוב המקרים, פקודת התנאי IF תתבצע, בהנחה שהדוגמה שלנו תבצע ב90 אחוז מהמקרים את החלק השני שלה, ולכן אפשר בבטחה להזינה לליבה אחרת. אולם, ניחוש מוטעה יכול להביא לירידה ניכרת בביצועים, כיוון שתוצאת החישוב נזרקת והמעבד ממתין לתוצאה הנכונה של החישוב להגיע. חלק גדול משיפור הביצועים במעבדים מודרנים נובע משיפור בלוגיקת החיזוי, אולם בתקופה האחרונה מגמת השיפורים החלה להאיט.
במקום זאת, האיטניום מסתמך על המהדר שיבצע משימה זו. עוד לפני שהתוכנית מוזנת למעבד, המהדר מנתח את הקוד ומבצע את אותם סוגים של החלטות אשר היו מתבצעות בזמן ריצה על השבב עצמו. ברגע שהוא החליט איזה נתיבים לבחור, הוא אוסף את כל הפקודות שהוא יודע שניתן להריץ במקביל, אוגד אותם להוראה גדולה יותר בצורה כזו בתוכנית תחת ההגדרה VLIW (מאנגלית: מילת הוראה ארוכה מאוד - Very Long Instruction Word).
העברת משימה זו מהמעבד למהדר היא בעלת מספר יתרונות. ראשית, המעבד יכול להשקיע יותר זמן בניתוח הקוד, יתרון שלמעבד אין כיוון שהוא חייב לסיים את המשימה כמה שיותר מהר. לכן גרסת המהדר יכולה להיות מדויקת באופן מהותי יותר מאשר אותו קוד אשר רץ דרך האלגוריתמים של המעבד. שנית, הניבוי של תוכנית המעגל החשמלי של המעבד היא מסובכת למדי, והעברת הניבוי למהדר מורידה את הסיבוכיות מהמעבד בצורה רבה. המעבד לא צריך יותר לנתח שום דבר; הוא פשוט מפרק את ההוראה לחלקים ומזין את חלקיה לליבות השונות. שלישית, ביצוע הניבוי על ידי המעבד היא "הוצאה" חד פעמים, לעומת הניבוי במעבד שמתרחש כל פעם שהתוכנית רצה.
החסרון בכך הוא שהתנהגות תוכנית שרצה לא תמיד מובנת מאליו ולא נובעת ישירות מהקוד שאיתו נוצרה, ויכולה להשתנות מאוד כתלות במידע שמעובד. מעבד ממוצע יכול מעשית לבצע החלטות עיבוד לפי המידע אשר מועבר, לעומת המהדר שיכול רק לנחש זאת. מכך, זה אפשרי מאוד שהמהדר יטעה בניבוי שלו אפילו באופן יותר תדיר מאשר לוגיקה מקבילה הנמצאת על המעבד. לכן, תכנון הVLIW מסתמך רבות על הביצועים של המהדרים, פשרה המאפשרת להפחית את מורכבות החומרה של המעבד על חשבון הגדלת המורכבות של תוכנת המהדר.
[עריכה] מימוש
תכנון סדרת איטניום החלה ב1994, מבוססת על מחקר חלוצי של חברת HP על תכנוני VLIW. התכנון המקורי של HP היה "נקי", אך זה דבר צפוי מתכנון אשר לעולם לא יבוא לידי ייצור המוני. לאחר שאינטל החלה את מעורבותה, "נקיונו" של התכנון המקורי נעלם, לאחר שמספר אפשרויות נוספות שנדרשו לעבודה "בשטח" נוספו, ביניהם האפשרות להריץ פקודות IA-32, ואפשרויות של חברת HP עצמה בכדי להקל על המעבר ממשפחת HP-PA.
הפרויקט להעמיד איטניום בעל איכות מספקת לייצור המוני ממשיך להתקיים. השחרור המתוכנן היה ל1997, אך הוא נדחה מספר פעמים. בשנת 2001, גירסה ראשונה נכנסה לשוק, עם השם קוד Merced, במהירויות שעון של 733 עד 800 מגה-הרץ ו2 עד 4 מגה-בית של זכרון מטמון. המחירים נעו בין 1200 ל4000 דולר אמריקאיים. אולם, ביצועיו היו מאכזבים. במצב IA-64, ביצועיו היו טובים במעט מתכנון X86 מקביל, וכאשר הורץ קוד X86 הביצועים היו ירודים במיוחד - בסביבות 1/8 מביצועיו של מעבד X86 מקביל. במהרה, גם אינטל סיכמה שזה לא היה שחרור "אמיתי".
הבעיה העיקרית (אך לא היחידה בשום פנים) עם האיטניום הייתה זמן האחזור (latency) הגבוה במיוחד של מטמון השלב השלישי שלו, אשר גרם להפחתה דרמטית ברוחב הפס הניתן לשימוש. אינטל נאלצה להשתמש בפתרונות עוקפים לתכנון הבא שלהם, ובאותו זמן הורידה את זמני האחזור של המטמון הראשי והמשני למינימום של כל תכנון מודרני (פרט לPower4 של IBM). כמו כן, הם שדרגו את אפיק בעל 64-ביט ו266-מגה-הרץ של האיטניום לאפיק של 128-ביט עם 400 מגה-הרץ, דבר ששילש את רוחב הפס של המערכת.
הדור השני של שבבי איטניום (איטניום 2) הושקו ביולי 2002. במצב IA-64, ביצועים במספרים שלמים היו הטובים ביותר מכל תכנון בזמן ההשקה, כאשר הביצועים בנקודה צפה היו שניים רק לPower4. מהירויות שעון וגדלי L3 היו 1 ג'יגה-הרץ עם 3 מגה-בית ו900 מגה-הרץ ו1.5 מגה-בית. ביצועי X86 אמנם שופרו אך עדיין פיגרו מאחורי מעבדי X86 רגילים; ביצועי איטניום 2 היו דומים לביצועי פנטיום 2 (שיצא לשוק ב1998).
כשנה מאוחר יותר שוחרר תכנון איטניום 2 משופר, בגרסאות של 1.5 ג'יגה-הרץ עם 6 מגה-בית L3, 1.4 ג'יגה הרץ עם 4 מגה-בית, ו1.3 ג'יגה הרץ עם 3 מגה-בית. בזמן השחרור, גרסת ה1.5 ג'יגה-הרץ השיגה את התוצאות הגבוהות ביותר של SpecFP וSpecInt למעבדים בודדים, מבין כל השבבים המופצים.
החברים ממשפחת איטניום ששוחררו ברבע השלישי של 2003 הם גרסה מוזלת של איטניום 2 עם 1.4 ג'יגה-הרץ ו1.5 מגה-בית זכרון L3, וגרסה חסכנונית בחשמל עם תדירות שעון של 1 ג'יגה-הרץ עם 1.5 מגה-בית. הראשון מיועד לתחנות עבודה זולות ואשכולות HPC (מחשבים בעלי ביצועים גבוהים), והאחרון מיועד לשרתי בלייד ומחשבים "קומפקטים" אחרים.
בזמן שנמשכים המאמצים לשפר את מהירות ההרצה של קוד x86, הוא נותר עדיין איטי מדי למטרות רבות. החשיבות של תפקודיות הx86 נתונה לויכוח — מעט מאוד אנשים קונים מערכות איטניום בכדי להריץ קוד x86. אולם, אינטל מתכננת להחליף את יחידת החומרה האחראית על תרגום x86 עם חבילת תוכנת הדמיה (emulation) (ברוח FX!32 לDEC Alpha של חברת דיגיטל). בעקבות כך, צפויה הרצה מהירה יותר של קוד זה והורדת סיבוכיות שבב. לשבבים עם רכיבי תוכנת הדמיה יש תקדים במחשוב עסקי, למשל במכונות VAX וS/390.
ייצור ופיתוח מספר ארכיטקטורות מעבדים נעצרו לטובת האיטניום. DEC Alpha של HP ומשפחת PA-RISC עומדים לפרוש לטובת חומרת האיטניום. HP מתכננת לתמוך לעוד 5 שנים בארכיטקטורות הישנות שלה, החל משנת 2003. SGI תכננה במקור לבטל בשלבים את ארכיטקטורת MIPS למעבדים לטובת האיטניום מהר ככל האפשר, אולם תוכניותיה כרגע אינן ברורות, ופיתוח של מוצר בעל שני ארכיטקטורות צפוי לעתיד הקרוב. ייצור איטניום של SGI מוכר היטב, אולם טכנולוגיית IRIX והבסיס הקיים הם בעלי חשיבות רבה.
תמיכת התוכנה השתפרה מאז שחרורו של איטניום 2. חלק ממערכות הפעלה שהוסבו הן HP-UX, לינוקס וחלונות של מיקרוסופט. כמו כן OpenVMS וFreeBSD בשלבי הסבה לאיטניום. HP מתכננת להעביר את לקוחות Tru64 לHP-UX על איטניום, במקום להסב אותה לאיטניום. קיימות הסבות של מסד הנתונים של Oracle וDB/2, בין היתר.
[עריכה] דאגות
ב2002, האיטניום הוא פרויקט המחשבים השני היקר ביותר בהיסטוריה, שני רק ל IBM 360(אשר, יש לציין, היה הצלחה מסחררת). אולם, ישנם ספקות רבות בקשר לעתידו של הפרויקט, בעיקר בגלל שתי בעיות.
הראשונה היא שהיתרונות בפשטות, אחת מהמטרות הראשיות של תכנון VLIW, אינם בולטים למדי באיטניום. לאיטניום מהדור ה2 יש כמות אדירה של טרנזיסטורים, 221 מיליון במספר, אשר דורשים 130 וואט של כוח. בשביל תקציב דומה, הIBM POWER מאפשר 4 מעבדי 64-ביט על רכיב עיבוד אחד. אולם, בעית הכוח הדרוש רק מתחילה לקבל יחס, נכון ל2003, בעקבות הוספה של עוד ועוד זכרון מטמון מסוג L3, וספירת הטרנזיסטורים רק עולה.
השנייה היא - תכנון המהדר אשר מאפשר לאיטניום להגיע למקסימום הביצועים שהוא יכול לבצע הוכיח את עצמו כמשימה קשה , וסוגיה רצינית ביותר. שיפורים מבוצעים בהצבה, אולם הסבת תוכנה לאיטניום קיבלה מוניטין של בעלת קשיים רבים.
השלב הבא במשפחת איטניום יהיה כנראה איטניום 2 עם 9 מגה-בית זכרון מטמון L3 ותדירות שעון 1.8 ג'יגה-הרץ. גרסה של שבב זה תשתמש ככל הנראה באפיק ראשי בתדירות של 667 מגה-הרץ. לאחר מכן,בשנת 2005 צפוי לצאת תכנון בעל שם הקוד Montecito אשר יהיה עם ליבה כפולה וביליון טרנזיסטורים. לאחריו, צפוי לצאת בסביבות שנת 2007 שבב בעל שם הקוד Tukwila אשר על תכנונו עובדים מהנדסים רבים מפרויקט Alpha EV8 המבוטל ואשר ככל הנראה יהיה בעל ביצועים גבוהים פי 10 ממעבד איטניום 2 הנוכחי (בעל תדירות השעון 1.3 ג'יגה הרץ ומעלה).
מבקרי המעבד איטניום כבר כינו אותו "Itanic". אינטל צפויה להיות במצב מסובך אם מעבד האיטניום יהיה אכזבה, כיוון שהצורך בארכיטקטורה בעלת 64-ביט לשרתים מסחריים רק גובר, והצורך בארכיטקטורה כזו במחשבים אישיים הוא במרחק של מספר שנים בלבד.
[עריכה] AMD64
ארכיטקטורת AMD64 של חברת AMD היא כנראה האיום האמיתי הגדול ביותר לאינטל בנוגע לארכיטקטורת 64-ביט. AMD64 ממשיכה את ההתנהלות המוקדמת של חברת אינטל דווקא בנוגע להרחבות ארכיטקטורה בלי להוריד את התאימות לאחור, החל מ8080 (8-ביט), דרך 16-ביט (8086), ולבסוף מ16-ביט ל32-ביט (80386 ועד לפנטיום)). ארכיטקורת AMD64 מרחיבה את ארכיטקטורת x86 בעלת 32-ביט על ידי הוספת אוגרים של 64-ביט, עם תאימות מלאה למצבי 32-ביט ו16-ביט לתוכנות ישנות. מערכות AMD64 יצאו לשוק באמצע שנת 2003.
הביצועים שלו טובים למדי, אולם המעבד, הנקרא Opteron, נראה כמתחרה יותר לשבבי השרתים בעלי 32-ביט של אינטל — המערכת הגדולה ביותר שאינה מתקבצת (clustered) הנמצאת בשוק מכילה 4 מעבדים (לעומת 64 של איטניום 2) ומערכות ההפעלה לשרתים המתאימות היחידות כרגע הן לינוקס, NetBSD וFreeBSD.
כשלון האיטניום ישפיע רבות על יצרנים כמו HP, אשר הצהירו שהם נוטשים את שתי ארכיטקטורות המעבדים שלהם - Alpha וPA-RISC) - לטובת האיטניום.
אף על פי זאת, עם אימוץ AMD64 על ידי יצרנים כמו סאן מיקרוסיסטמס וHP, אינטל שיחררה בפברואר 2004 את IA-32e, אשר מערך ההוראות שלו תואם לחלוטין עם AMD64.
]