איטניום

במחשבים, איטניום הוא ארכיטקטורת מיקרומעבד בעל 64 ביט, שפותחה בצוותא על ידי HP ואינטל. מטרתו של איטניום היא ליצור ארכיטקטורה של "עידן הפוסט־RISC" בעלת ביצועים גבוהים, תוך שימוש בתכנון VLIW. מערכת הפקודות הטבעית שלו היא ה־IA-64 החדשה, אך הוא יכול להריץ קוד x86 (בצורה איטית) ובמצב הדמיית קושחה, ובעל אפשרות להגירה של משפחת ה־PA-RISC.

הפרויקט הסתבר בסופו של דבר ככישלון. כיום כמעט רק חברת HP מוכרת מערכות איטניום. הוא לא הצליח להיכנס לשוק הביתי מכיוון שהוא מספק אמולציה איטית יחסית של קוד IA32. עם יציאת ארכיטקטורת AMD64 התברר שיש דרך פשוטה יותר לספק תמיכה במרחב כתובות גדול ועדיין לתמוך בצורה יעילה בקוד הקיים.

בינואר 2019 אינטל הכריזה על הפסקת הפיתוח של סדרת איטניום, כאשר הפסקת התמיכה בהם מתוכננת ליולי 2021.

== תכנון ==
ברמה הבסיסית, התכנון של איטניום דומה לזה של RISC – ליבת הלוגיקה מכילה סט קטן של הוראות אשר תוכננו לרוץ מהר מאוד. האיטניום משתמש בתכנון אשר מאפשר הרצה של מספר ליבות באופן מקבילי בשביל להשיג מהירות נוספת. הדבר שבו פילוסופיית תכנון האיטניום שונה מ־RISC הוא הצורה שבה ההוראות מועברות ליחידות ליבה אלה.

בתכנון "חוסר־סדר" הרווח, מפענח מורכב בוחן כל הוראה בזמן שהיא עוברת דרך הצינור (pipeline) ורואה איזה מהן יכולה להתבצע במקביל במספר ליבות. למשל בסדרת הוראות שמבצעת <code>A = B + C</code> ו־<code>D = F + G</code> לא תהיה השפעה של ההוראות אחת על השנייה, לכן ניתן להזין אותם לשתי ליבות כדי שירוצו בו זמנית.

ניבוי של איזה קוד יכול להיות מחולק בדרך כזו הוא משימה מורכבת מאוד. במקרים רבים, ערכי הקלט של שורה אחת תלויים בערכי הפלט של שורה אחרת, אך רק אם תנאי מסוים מתקיים. למשל, נסתכל על אותה דוגמה מקודם בשינוי קל:
<code>A = B + C; IF A==5 THEN D = F + G</code>. במקרה כזה, החישובים נשארים זהים, אך הפעולה השנייה דורשת את התוצאות של החישוב הראשון כדי לדעת אם יש בכלל צורך בהרצתה.

במקרים כאלה, התוכנית שמובנת במעבד בדרך כלל "מנחשת" איזה מצב יתרחש. ברוב המקרים, פקודת התנאי IF תתבצע, בהנחה שהדוגמה שלנו תבצע ב־90 אחוז מהמקרים את החלק השני שלה, ולכן אפשר בבטחה להזינה לליבה אחרת. אולם, ניחוש מוטעה יכול להביא לירידה ניכרת בביצועים, כיוון שתוצאת החישוב נזרקת והמעבד ממתין לתוצאה הנכונה של החישוב להגיע. חלק גדול משיפור הביצועים במעבדים מודרניים נובע משיפור בלוגיקת החיזוי, אולם בתקופה האחרונה מגמת השיפורים החלה להאט.

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

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

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

== מימוש ==
תכנון סדרת איטניום החלה ב־1994, מבוססת על מחקר חלוצי של חברת HP על תכנוני VLIW. התכנון המקורי של HP היה "נקי", אך זה דבר צפוי מתכנון אשר לעולם לא יבוא לידי ייצור המוני. לאחר שאינטל החלה את מעורבותה, "ניקיונו" של התכנון המקורי נעלם, לאחר שמספר אפשרויות נוספות שנדרשו לעבודה "בשטח" נוספו, ביניהם האפשרות להריץ פקודות IA-32, ואפשרויות של חברת HP עצמה כדי להקל על המעבר ממשפחת HP-PA.

הפרויקט להעמיד איטניום בעל איכות מספקת לייצור המוני ממשיך להתקיים. השחרור המתוכנן היה ל־1997, אך הוא נדחה מספר פעמים. בשנת 2001, גרסה ראשונה נכנסה לשוק, עם השם קוד Merced, במהירויות שעון של 733 עד 800 מגה־הרץ ו־2 עד 4 מגה־בייט של זיכרון מטמון. המחירים נעו בין 1,200 ל־4,000 דולר אמריקאיים. אולם, ביצועיו היו מאכזבים. במצב 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. בגרסה זו נעשה שימוש ב Intel QuickPath Interconnect.חלק ממערכות הפעלה שהוסבו הן HP-UX, לינוקס וחלונות של מיקרוסופט. כמו כן OpenVMS ו־FreeBSD בשלבי הסבה לאיטניום. HP מתכננת להעביר את לקוחות Tru64 ל־HP-UX על איטניום, במקום להסב אותה לאיטניום. קיימות הסבות של מסד הנתונים Oracle ו־DB/2, בין היתר.

מספר הפצות (כגון רד האט ואובונטו) הכריזו על הפסקת התמיכה בו בגרסאות עתידיות.

==בעיות==
ב־2002, האיטניום הוא פרויקט המחשבים השני היקר ביותר בהיסטוריה, שני רק ל־IBM System/360 (אשר היה הצלחה מסחררת). אולם, ישנם ספקות רבים בקשר לעתידו של הפרויקט, בעיקר בגלל שתי בעיות.

הראשונה היא שהיתרונות בפשטות, אחת מהמטרות הראשיות של תכנון VLIW, אינם בולטים למדי באיטניום. לאיטניום מהדור ה־2 יש כמות אדירה של טרנזיסטורים, 221 מיליון במספר, אשר דורשים הספק של 130 ואט. בשביל תקציב דומה, ה-IBM POWER מאפשר 4 מעבדי 64 ביט על רכיב עיבוד אחד. אולם, בעיית הכוח הדרוש רק מתחילה לקבל יחס, נכון ל־2003, בעקבות הוספה של עוד ועוד זיכרון מטמון מסוג L3, וכמות הטרנזיסטורים רק עולה.

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

השלב הבא במשפחת איטניום יהיה כנראה איטניום 2 עם 9 מגה־בייט זיכרון מטמון L3 ותדירות שעון 1.8 ג'יגה־הרץ. גרסה של שבב זה תשתמש ככל הנראה באפיק ראשי בתדירות של 667 מגה־הרץ. לאחר מכן, בשנת 2005 צפוי לצאת תכנון בעל שם הקוד Montecito אשר יהיה עם ליבה כפולה וביליון טרנזיסטורים. לאחריו, צפוי לצאת בסוף שנת 2008 שבב בעל שם הקוד Tukwila אשר על תכנונו עובדים מהנדסים רבים מפרויקט Alpha EV8 המבוטל ואשר ככל הנראה יהיה בעל ביצועים גבוהים פי 10 ממעבד איטניום 2 הנוכחי (בעל תדירות השעון 1.3 ג'יגה הרץ ומעלה).מעבד הביניים הוא MONTVAILE, הנמכר היום ומגיע להישגים משמעותיים טכנולוגיים וכן במונחי TCO.

מבקרי המעבד איטניום כבר כינו אותו "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) ומערכות ההפעלה לשרתים המתאימות היחידות כרגע הן Novell NetWare, לינוקס, NetBSD ו־FreeBSD.

כישלון האיטניום ישפיע רבות על יצרנים כמו HP, אשר הצהירו שהם נוטשים את שתי ארכיטקטורות המעבדים שלהם – Alpha ו־PA-RISC – לטובת האיטניום.

אף על פי זאת, עם אימוץ AMD64 על ידי יצרנים כמו סאן מיקרוסיסטמס ו־HP, אינטל הוציאה לאור בפברואר 2004 את IA-32e, אשר מערך ההוראות שלו תואם לחלוטין עם AMD64.

==קישורים חיצוניים==

* 

==הערות שוליים==

קטגוריה:מעבדי אינטל