איטניום

**איטניום** (באנגלית: **Itanium**) הייתה משפחה של מעבדי מחשבים בארכיטקטורת 64 ביט, שפותחה במשותף על ידי HP ואינטל, שהושקה ביוני 2001, ושווקה בעיקר עבור שרתים ארגוניים ומערכות מחשוב בעלות ביצועים גבוהים. פיתוח המעבד נמשך עשר שנים, בעלות של 5 מיליארד דולר.

בעת השקתו בשנת 2001, לאחר עשור של פיתוח, הביצועים של המעבד היו מאכזבים בהשוואה למעבדי  ו- מבוססים יותר. יכולת האמולציה להפעלת יישומי x86 ומערכות הפעלה קיימות הייתה גרועה במיוחד. מערכות מבוססות איטניום יוצרו על ידי HP ויורשתה Hewlett Packard Enterprise (HPE) בתור קו שרתי ה-Integrity, ועל ידי מספר יצרנים אחרים. בשנת 2008, איטניום הייתה ארכיטקטורת המיקרו-מעבדים, בעלת 64 ביט, רק הרביעית בתפוצתה בשוק לשרתים ארגוניים, מאחורי x86-64, Power ISA (גרסה מתקדמת של ה-PowerPC של IBM) ו-SPARC.

בפברואר 2017, אינטל השיקה את הדור האחרון של המעבד, "Kittson", הוא שימש רק בשרתים למשימות קריטיות שייצרה חברת HPE. בשנת 2019, אינטל הודיעה כי הזמנות חדשות עבור Itanium יתקבלו עד ה-30 בינואר 2020, והמשלוחים ייפסקו עד ה-29 ביולי 2021.

האיטניום מעולם לא נמכר היטב מחוץ לשוק לשרתים ארגוניים ומערכות מחשוב בעלות ביצועים גבוהים, והארכיטקטורה הוחלפה בסופו של דבר על ידי ארכיטקטורת x86-64 (נקראת גם AMD64) של המתחרה AMD, מאחר שהיא הרחבה תואמת לארכיטקטורת 32 סיביות x86, המיושמת על ידי, למשל, קו מעבדי Xeon של אינטל וקו מעבדי Opteron של AMD.
## היסטוריה
### פיתוח המעבד
250px|ממוזער|שמאל|תרשים ארכיטקטורה של האיטניום
תכנון סדרת איטניום החלה ב־1994, על בסיס מחקר חלוצי של חברת HP על תכנוני  ו- שהחל כבר ב-1989. HP הגיעה למסקנה שכבר לא משתלם ליצרני מערכות מחשוב ארגוניות יחידות לפתח בעצמם מיקרו-מעבדים קנייניים, ולכן היא שיתפה פעולה עם אינטל החל מ-1994 לפיתוח ארכיטקטורת IA-64, שנגזרת מ-EPIC. אינטל הייתה מוכנה להשקיע מאמצי פיתוח גדולים מאוד עבור IA-64, מתוך ציפייה שהמיקרו-מעבד שיתקבל ישמש את רוב יצרני המערכות הארגוניות ברחבי העולם, זאת במסגרת מאמציה להרחיב את פעילותה מעבר למחשב האישי לעולם המחשוב העסקי. HP ואינטל יזמו מאמץ פיתוח משותף גדול במטרה לספק את הגרסה הראשונה (שקיבלה את שם הקוד Merced) ב-1997, אך הוא נדחה מספר פעמים. גרסה זו כללה מהירויות שעון של 733 ו-800 מגה־הרץ ו־2 עד 4 מגה־בייט של זיכרון מטמון. היא תוכננה לתמוך במערכות הפעלה שונות. מחלונות של מיקרוסופט ועד ל-HP-UX של HP ולינוקס. המעבד היה הראשון של אינטל הפועל בארכיטקטורה המעבדת מידע בנתחים של 64 ביט ולא 32 ביט כמו שאר המעבדים של אינטל עד אז, ובמיוחד הזיאון (Xeon) שהיה פופולרי ליישומים ארגוניים באותה עת.

Merced תוכננה על ידי צוות של 500 איש בארצות הברית, אשר מאוחר יותר הודתה אינטל כי היה חסר ניסיון מספיק, וכלל מספר גדול של בוגרי אוניברסיטה טריים ללא ניסיון. מרכז הפיתוח של אינטל בחיפה פיתח כלי פיתוח וסימולציה כתמיכה לפתוח מערכת ההפעלה של המעבד. ג'ון קרופורד (מאינטל) היה הארכיטקט הראשי, בעוד גארי האק (מ-HP) היה סגנו. כבר בשלב מוקדם של הפיתוח היו חילוקי דעות בין HP ואינטל. אינטל רצתה לפתח חומרה ייעודית יותר עבור הוראות נקודה צפה, אך לאחר גילוי באג הפנטיום התקבלה עמדתה של HP להסיט מאמץ לכיוונים אחרים. באמצע 1996 התברר שגרסה גדולה מדי מבחינה פיזית להתאים לשטח השבב שתוכנן, "זה היה הרבה יותר גרוע מכל מה שראיתי בעבר", אמר קרופורד. ואנשי צוות הפיתוח נאלצו להפחית את המורכבות (ולפיכך את הביצועים) של תת-מערכות, כולל יחידת x86 וחיתוך מטמון L2 ל-96 KB. בסופו של דבר הוסכם שניתן להגיע ליעד הגודל רק על ידי שימוש בתהליך ייצור של 180 ננומטר במקום 250 ננומטר כפי שתוכנן במקור. בדור הראשון יותר מ-200 מיליון טרנזיסטורים. בכל שבב בעיות נוספות צצו אחר כך עם ניסיונות להאיץ את הנתיבים הקריטיים, מבלי להפריע למהירות המעגלים האחרים. בעקבות העיכובים בפיתוחו מונה בדצמבר 1998 מהנדס ישראלי שעבד בארצות הברית, גדי זינגר (סגן נשיא באינטל העלמית וראש חטיבת ה-Enterprise Processing Group) להיות מופקד על הפרויקט. בנוסף הוחלט להתחיל במקביל לפתח את הדור הבא של המעבד, שקיבל את שם הקוד "מקינלי". "Merced" הושלם ב-4 ביולי 1999, ובאוגוסט ייצרה אינטל את שבב הבדיקה השלם הראשון. ביולי 2000 הודיעה על עיכוב בהשקה, מאחר שהיא זקוקה ליותר זמן על מנת לבדוק את המעבדים החדשים.
### השקת הדור הראשון
250px|ממוזער|שמאל|שרת מסדרת Integrity של חברת HP הכולל מעבד איטניום
במאי 2001 הציגה אינטל את מעבד האיטניום במסיבת עיתונאים, בו מסרה כי ארכיטקטורת ה-EPIC של המעבד יאפשר יכולות חדשות בעיבוד טרה-בייטים של נתונים, זירוז רכישות ועסקות מקוונות ועיבוד חישובים מורכבים. כאשר היא צופה שכ-25 יצרני מחשבים יציעו למעלה מ-35 דגמים עם המעבד, ומאות ספקי חומרה, תוכנה ויישומים יספקו מוצרים מבוססי מערכות איטניום תוך זמן קצר. בתחילת יוני 2001 החלו משלוחים ראשונים של שרתים עם המעבד ללקוחות. בין החברות שהשיקו מערכות המבוססת על המעבד (בנוסף ל-HP) היו דל, שהשיקה משיקה תחנת עבודה מסדרת Precision המבוססת על מעבד איטניום, וסיליקון גרפיקס, שהודיעה שתבטל קוי מוצרים מבוססים ארכיטקטורת MIPS לטובת האיטניום. גם חברת קומפאק הודיעה כי תפסיק לייצר ולשווק שרתים עם מעבדי DEC Alpha, לטובת שרתים עם מעבדי איטניום, זאת אף על פי שהניבו לה הכנסות בהיקף של 3.2 מיליארד דולר בשנת 2000 והיו בבעלותה בעקבות רכישת חברת דיגיטל ב-1998. בין החברות הנוספות שהודיעו שיתמכו במעבד היו חברות התוכנה אורקל ו-SAS, וחברת אבטחת המידע הישראלית אלדין, שהשיקה מערכת אבטחה המיועדת למוצרים ותוכנות מבוססי מעבד איטניום.

אולם, ביצועיו של האיטניום היו מאכזבים. במצב IA-64, ביצועיו היו טובים במעט מתכנון X86 מקביל, וכאשר הורץ קוד X86 הביצועים היו ירודים במיוחד – בסביבות 1/8 מביצועיו של מעבד X86 מקביל. הבעיה העיקרית הייתה זמן האחזור (latency) הגבוה במיוחד של מטמון השלב השלישי שלו, אשר גרם להפחתה דרמטית ברוחב הפס הניתן לשימוש. אינטל נאלצה להשתמש בפתרונות עוקפים לתכנון הבא שלהם, ובאותו זמן הורידה את זמני האחזור של המטמון הראשי והמשני למינימום של כל תכנון מודרני (פרט ל־Power4 של IBM). כמו כן, הם שדרגו את אפיק בעל 64 ביט ו־266 מגה־הרץ של האיטניום לאפיק של 128 ביט עם 400 מגה־הרץ, דבר ששילש את רוחב הפס של המערכת. בינואר בוצע השקה של שרתי HP המתבססים לראשונה על מעבדי מקינלי, ממשפחת האיטניום, בהם יישמו שיפורים אלו. בסך הכל נמכרו רק כמה אלפי יחידות של הדור הראשון.

### השקת הדור השני
הדור השני של שבבי איטניום ("איטניום 2") הושקו ביולי 2002, עם כ-100 יישומים המנצלים את יכולת העיבוד שלו, כולל יישומים המשתייכים לתחומי החישובים הטכניים הגבוהים, כגון תכנון הנדסי ומכני באמצעות מחשב, מדעי החיים ויצירת תכנים דיגיטליים. במצב IA-64, ביצועים במספרים שלמים היו הטובים ביותר מכל תכנון בזמן ההשקה, כאשר הביצועים בנקודה צפה היו שניים רק ל־Power4. מהירויות שעון וגודלי L3 היו 1 ג'יגה־הרץ עם 3 מגה־בייט ו־900 מגה־הרץ ו־1.5 מגה־בייט. ביצועי X86 אמנם שופרו אך עדיין פיגרו מאחורי מעבדי X86 רגילים; ביצועי איטניום 2 היו דומים לביצועי פנטיום 2 (שיצא לשוק ב־1998).

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

ביוני 2003 הושק תכנון איטניום 2 משופר, בגרסאות של 1.5 ג'יגה־הרץ עם 6 מגה־בייט L3, 1.4 ג'יגה הרץ עם 4 מגה־בייט, ו־1.3 ג'יגה הרץ עם 3 מגה־בייט. בזמן השחרור, גרסת ה־1.5 ג'יגה־הרץ השיגה את התוצאות הגבוהות ביותר של SpecFP ו־SpecInt למעבדים בודדים, מבין כל השבבים המופצים.

בנובמבר 2004 השיקה נאס"א מחשב על שכלל 10,200 מעבדי איטניום המבצעים 42.7 טריליון פעולות בשנייה. את המחשב ייצרה חברת "סיליקון גרפיקס", כאשר חברת הסטארט-אפ הישראלית וולטייר הייתה קבלן משנה שסיפק רשת תקשורת למחשב, בתקן אינפיניבנד.
### כישלון המעבד ופיתוח גרסאות נוספות
בשנת 2003, השיקה חברת AMD את מעבד Opteron, אשר יישם ארכיטקטורת 64 סיביות משלו בשם AMD64. ה-Opteron זכה להצלחה מהירה בשוק השרתים הארגוניים, מכיוון שהוא סיפק שדרוג קל מארכיטקטורת x86 והוא אומץ על ידי יצרנים מובלים דוגמת סאן מיקרוסיסטמס ו-IBM. בהשפעת מיקרוסופט, אינטל הגיבה על ידי הטמעת ארכיטקטורת ערכת ההוראות x86-64 של AMD במקום IA-64 שלה בסדרת מעבדי ה-Xeon שלה ב-2004, מה שהביא לסטנדרט דה-פקטו חדש בתעשייה. בפועל פיתחה אינטל את x86-64 עוד קודם, במקביל לאיטניום במקרה שייכשל.

חברת HP המשיכה לפתח ולשווק שרתים ומוצרי אחסון מסדרת אינטגריטי בהם בו מותקנים שבבי איטניום, כולל שרתים ברמה בסיסית שנמכרו במחיר של פחות מ-3,000 דולר. אך יצרנים אחרים עברו להתמקד בשיווק שרתים בארכיטקטורת x86-64. גם יצרני תוכנה החלו לנטוש את התמיכה באיטניום, בראשם חברת אורקל שטענה כי המעבדים הגיעו לסוף דרכם והודיעה במרץ 2011 כי תפסיק לפתח גרסאות חדשות של מסדי נתונים או יישומים ארגוניים שלה עבור מעבדי איטניום. HP תבעה אותה למשפט בטענה להפרת הסכם וזכתה.

ב-2006 הוחל באספקת הדור הבה של המעבד, בעל שם הקוד מונטצ'יטו (Montecito), בו היו מעל 1.72 מיליארד טרנזיסטורים. בנובמבר 2012 הושק הדור העשירי של משפחת מעבדי איטניום, שכונה Poulson, שהחליף את המעבד מהדור התשיעי, Tukwila, שהושק שנתיים וחצי קודם. בנוסף באותה עת הציגה אינטל גם את המשך מפת הדרכים שלה למשפחת מעבדי האיטניום, Kittson – הדור ה-11, שהיה הדור האחרון שפותח ויוצר.

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

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

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

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

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

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

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

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

* 
*  - ריאיון על פיתוח האיטניום עם גדי זינגר

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

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