אינטל 4004

רקע

מאז היו מכונות חישוב ומחשבים, הייתה שאיפה למיזעור. מאז המצאת המעגל המשולב על ידי רוברט נויס, (שמאוחר יותר ייסד את אינטל), מספר הרכיבים על שבב סיליקון יחיד עלה בצורה עקבית משנה לשנה, עד כדי שהעלייה הזו נוסחה כ"חוק" (ראו חוק מור). לקראת סוף שנות ה־60 של המאה ה־20 כבר יוצרו רכיבים עם אלפי טרנזיסטורים, כמו מוצר הדגל של אינטל, 1101, שבב זיכרון דינמי (DRAM) בקיבולת של 1K סיביות, כשכל תא זיכרון מורכב מ־3 טרנזיסטורים, כלומר קצת יותר מ־3,000 טרנזיסטורים על שבב יחיד. בעזרת מספר כזה של רכיבים כבר אפשר לממש מחשב - למשל, מחשב מ־1956, LGP-30 , השתמש ב־113 שפופרות ו־1,450 דיודות בלבד. המהנדס טד הוף (Marcian Edward "Ted" Hoff, Jr.‎ ), שעבד באינטל, חשב שהגיע הזמן לפתח מעבד על שבב יחיד.
ב־1969, פנתה יצרנית מכונות החישוב היפנית בוסיקום (Busicom ), לשתי חברות שבבים אמריקאיות, אינטל ומוסטק (Mostek ), כדי שיפתחו עבורה שבבי LSI (כלומר שבבים המכילים אלפי טרנזיסטורים) לשימוש בדור הבא של מכונות חישוב אלקטרוניות. חברת מוסטק אכן פיתחה שבב שמימש את כל הפונקציונליות של מחשבון, והיה הראשון בסדרה של מוצרי "מחשבון על שבב" (calculator-on-a-chip), של מוסטק וחברות אחרות (כמה שנים אחר כך גם אינטל הוציאה מוצר מחשבון על שבב).
אינטל, לעומת זאת, בהמלצת הוף, הציעה לבוסיקום פתרון מסוג חדש: פיתוח מיקרו־מעבד כללי, בעזרתו תוכל בוסיקום לממש את הפונקציונליות של מכונת החישוב, ומאוחר יותר, כשיידרשו תכונות אחרות, תוכל לממש אותם בעזרת אותם הרכיבים, בעזרת שינוי בתוכנה. 
בערך באותו הזמן פנתה חברה נוספת, יצרנית המסופים CTC לאינטל, כדי שתפתח עבורה מעבד על שבב יחיד, שיועד להחליף מעבד קיים, שמומש על מספר לוחות מודפסים שהכילו מספר רב של רכיבים. בפרויקט זה הלקוח הגיע עם סט פקודות מוגדר, כמו במעבד הקיים. פרויקט זה נקרא 8008, והושלם מאוחר יותר.

הוף ומזור - תכנון ראשוני וסט פקודות

בוסיקום הסכימה, והוף, בעזרת מהנדס נוסף, סטנלי מזור, עיבדו מפרט מפורט ותכנון ראשוני, כתחליף לתכנון המקורי אתו הגיעה בוסיקום. תכנון זה כלל את סט הפקודות של המעבד, ותכנון כללי ראשוני, כמו דיאגרמות בלוקים, בחירת המארז (16 פינים), הגדרת משפחת השבבים, השמת הפינים, וכן הלאה. מזור החל לכתוב קטעי קוד, שמבצעים משימות מסוימות של מכונת חישוב (snippets), כדי להדגים איך ניתן לבצע את הדרוש. תכנון זה קיבל את אישורה של חברת בוסיקום, שהתכנון המקורי שלה כלל שמונה או עשרה שבבים שונים, שחלקם עם 40 פינים (גורם בעל השפעה משמעותית על המחיר). בוסיקום החלה לפתח את מכונות החישוב עצמן, בהתבסס על תוכנית זו, בסתיו 1969.

פדריקו פגין

פדריקו פגין (Federico Faggin , נולד ב־1941), הוא פיזיקאי ומהנדס איטלקי, שעבד בחברת אוליבטי, שם בנה, בין השאר, מחשב מבוסס טרנזיסטורים כחלק מבדיקת היתכנות למחשב קטן וזול, פרויקט שלא הפך מוצר (פגין החל כעוזר למהנדס, אך עקב צירוף נסיבות שכלל עזיבת המהנדס שניהל את הפרויקט, ותאונה למהנדס אחר, קיבל פגין את האחריות לפרויקט והשלים אותו). אחרי השלמת תואר הדוקטור בפיזיקה, עבד פגין בחברת SGS־פיירצ'יילד, חברה איטלקית בבעלות חלקית של חברת פיירצ'יילד האמריקאית (אחת מחברות המוליכים למחצה הראשונות, והראשונה שייצרה מעגלים משולבים. חברות רבות בעמק הסיליקון, ביניהן אינטל, AMD, סיגנטיקס, ועשרות חברות נוספות נוסדו על ידי יוצאי פיירצ'יילד). במסגרת זו הוצע לפגין לעבוד חצי שנה בחברת האם, במסגרת "חילופי מהנדסים", פגין הסכים, ובפברואר 1968 הגיע לקליפורניה, ולמעשה נשאר בארצות הברית מאז. בתום ששת החודשים, פיירצ'יילד מכרה את חלקה ב־SGS, והציעה לפגין להישאר כעובד פיירצ'יילד. יום העבודה הראשון של פגין כעובד מן השורה בפיירצ'יילד, היה היום בו הודיעו רוברט נויס וגורדון מור על עזיבתם את פיירצ'יילד (זמן קצר אחר כך הכריזו נויס ומור על הקמת אינטל). פגין התמחה בבניית רכיבים בטכנולוגיות MOS ‏ (Metal–oxide–semiconductor). ופיתח כמה תהליכים וטכנולוגיות. לקראת סוף 1969, פגין חש תסכול, בין השאר בגלל הקושי בפיירצ'יילד להעביר תהליך חדש מהמעבדה לייצור. פגין פנה למנהל שלו לשעבר, לס ואדאס ( (שעזב את פיירצ'יילד והצטרף לנויס ומור באינטל), בבקשה לעבוד באינטל, ובמרץ 1970 הצטרף פגין לאינטל, ומיד קיבל את פרויקט ה־4004.

מסטושי שימה

מסטוסי שימה (, נולד ב־1943) הוא מהנדס יפני, שלמד כימיה אורגנית. ללא אפשרות תעסוקה בתחום, שימה הצטרף ליצרנית מכונות החישוב בוסיקום, בחטיבת המכונות האלקטרוניות. שימה הכיר את המפרט לעומק, ובמרץ 1970 נשלח לקליפורניה, כדי לבדוק את התקדמות הפרויקט. הוא נחת ביום העבודה השני של פגין באינטל, והופתע לגלות כמה מעט התקדמות נעשתה בפרויקט מאז אושר התכנון הראשוני. פגין מספר שאחרי שבוע בו שימה הפגין את אכזבתו וחוסר שביעות רצונו מהמצב, פגין אמר לו שהוא יכול להמשיך להתלונן, או לעזור לקיים את הפרויקט: 
I told Shima that, basically, he could continue to bitch, or he could help me.  And if he helped me, we could get there faster.
אמרתי לו, בעיקרון, שהוא יכול להמשיך לקטר, או שהוא יכול לעזור לי, ושאם הוא יעזור לי נוכל להתקדם מהר יותר.
— 
שימה בחר להצטרף לפגין, ושניהם היוו גלעין הצוות שבנה את ה־4004.

תכנון לוגי, חשמלי, ושרטוט המסכות

ב־1970 כבר היו מספר שבבים, של אינטל ושל יצרנים אחרים, עם אלפי טרנזיסטורים, אבל באינטל, השבבים הצפופים היו פשוטים יחסית מבחינת התכנון, אם כי לאו דווקא מבחינת הייצור: שבבי זיכרון בנויים ממספר רב של "תאים" זהים, ומסביבם מספר קטן יחסית של לוגיקה דיסקרטית לבקרה (ב־1970 פיתחה וייצרה אינטל משפחה של שבבי זיכרון דינמי של 1,024 סיביות, כשכל סיבית ממומשת בעזרת שלושה טרנזיסטורים - זיכרון דינמי עם טרנזיסטור בודד לתא הופיע מעט אחר כך). למעשה, לא הייתה באינטל מתודולוגיה לתכנון מעגל כה מורכב על שבב יחיד, ואינטל טרם בנתה שבב בטכנולוגיה החדשה שעליה ה־4004 היה מבוסס - "שערי סיליקון", שעשו שימוש בהמצאה של פגין מפיירצ'ילד, אותה כינה "מגע קבור" או "מגע מוטמן". פגין פיתח שיטה עבודה שונה מעט מהמקובל: בשיטה זו הצוות "דילג" על השלבים של תכנון בעזרת דיאגרמת בלוקים, שערים לוגיים, ולבסוף טרנזיסטורים, ושימה פנה היישר לשרטוט הטרנזיסטורים, כשהוא משרטט אותם בגודל אחיד. באופן זה, התכנון החשמלי נתן, לפחות בקווים כלליים, את המבנה הפיזי, והמעבר לשרטוט המסכות היה יחסית ברור, משום שהמיקום ניתן, לפחות בקווים כלליים, כבר בשרטוט החשמלי.

הצוות: פגין ושימה, ואחרים

שימה הצטרף לפגין, ויחדיו החלו לקדם את הפרויקט. פגין היה מומחה בתהליכי ייצור סיליקון, והיה גם בעל ידע מעמיק בתכנון מערכות לוגיות, בין השאר בזכות הפרויקט לבניית מחשב באוליבטי. לשימה לא היה ידע בתכנון שבבים, ולעומת זאת, היה לו ניסיון בתכנון מעגלים לוגיים, והיכרות מעמיקה עם התכנון הקיים ומפרט, שנשלח לבוסיקום בסתיו. 
פיתוח שבב דורש מספר שלבים: יש לבצע את התכנון הלוגי, בדרך כלל בעזרת שערים, או יחידות בניין גדולות יותר, שבנויות כל אחת משערים. לאחר מכן יש להפוך את התכנון הלוגי למעגל חשמלי, המורכב מטרנזיסטורים, דיודות, ונגדים. בשלב הבא פורסים את התכנון הפיזי של הרכיבים על גבי הסיליקון, ומשרטטים "מסיכות", שמגדירות את שלבי הייצור. את המסכות הללו מצלמים ומקטינים לגודל הדרוש, והן משמשות לייצר את המעגלים. מלבד שימה, לצוות נוסף שרטט, כדי לסייע בשלב השרטוט. כדי להעביר מהתכנון החשמלי לתכנון הפיזי, יש לדעת מה הפרמטרים של הטכנולוגיה בה עובדים, כלומר מה גודלו של כל תא, או "רכיב", על שבב הסיליקון, מה המרווח הנחוץ בין כל שני תאים, וכן הלאה. 
השבב הראשון היה ה־4001, משום שהתכנון הלוגי שלו היה פשוט, ובאופן כזה השרטט היה יכול להתחיל לעבוד כמעט מיד. פגין תכנן את התכנון הלוגי ואז החשמלי של השבב, ובמקביל עבד עם שימה על התכנון הלוגי והחשמלי של ה־4004. תכנון ה־4001 ארך כשבועיים, ופגין עבר לשרטוט, תוך אימון השרטט שהצטרף לצוות. השבב הבא היה ה־4003, שעבר תהליך דומה, כשבינתיים שימה מתקדם עם ה־4004. את התכנון החשמלי של ה־4004 ביצע שימה לבדו, ובינתיים הצוות גדל: נוסף מהנדס צעיר, שבהדרכתו של פגין החל לעבוד על שבב הזיכרון, ה־4002, ונוספו שרטטים, כך שכשנשלם התכנון החשמלי והפיזי של ה־4004, עבדו על המסכות שלושה שרטטים. המונח "שרטוט" אינו מדויק, משום שבטכנולוגיית המעגלים המשולבים של 1970, ה"שרטוט" התבצע למעשה בחיתוך וקילוף רובילית' (Rubylith ), בעזרת עזרי שרטוט כמו הקואורדינטוגרף.
לאחר סיום התכנון החשמלי של ה־4004, אך לפני שתמה העבודה של שרטוט המסכות, שימה חזר ליפן. הוא בנה שם מעגלים זהים ל־4004 על גבי לוחות מודפסים, בעזרת לוגיקה דיסקרטית, והחל (או המשיך) לפתח ולבדוק את התוכנה של מכונות החישוב. כשהשבבים הראשונים הגיעו מהייצור, החל ב־4001, ואחריו ה־4002 וה־4003, דוגמאות נשלחו ליפן, ושולבו במעגלים של שימה, לבדיקה והוכחת הפעולה.
הסיליקון הראשון של ה־4004 הגיע מהייצור בתחילת ינואר 1971, אך במחזור הראשון נפלה טעות גסה אך קלה לתיקון: בתהליך הייצור דולג בטעות אחד השלבים החשובים. טעות זו תוקנה, ולקראת סוף החודש הגיעה לפגין ה"פרוסה" (Wafer) הראשונה של שבבי 4004 עובדים. השבב היה "חי", אך עדיין נותרו מספר טעויות ושגיאות. השגיאות תוקנו, ובפברואר 1971 כבר היו שבבים תקינים ועובדים בהתאם למפרט, והשבבים הראשונים נמסרו ללקוח במרץ 1971.

תיאור

השבב מכיל כ־2,300 טרנזיסטורים, בטכנולוגיית pMOS עם שערי סיליקון , עם מתח עבודה של 15 וולט, בקצב שעון 740 קילוהרץ. סט הפקודות מכיל 46 פקודות, עם מספר אופני מיעון. סט הפקודות כולל גם פקודה מיוחדת שמטרתה להקל על המתכנת לבצע התמרה בין מספרים עשרוניים ובינאריים, פעולה חשובה כשרוצים לממש בעזרת המעבד מכונת חישוב, בה הפלט והקלט עשרוניים. רוב הפקודות תופסות בית אחד ב־ROM, אבל כמה פקודות תופסות 2 בתים: השבב תומך בעד 4KB זיכרון קריאה־בלבד, (בספר המעבד נכתב "32,769 סיביות"), ו־640 בתים זיכרון גישה אקראית ("5,120 סיביות"). למעבד 16 אוגרים של 4 סיביות, או 8 אוגרים של 8 סיביות, כאשר חלק מהפקודות בסט הפקודות מתייחסות לזוג אוגרים כבית אחד, ויש פקודות שפונות לאוגר מסוים, כספרה הקסדצימלית אחת, לביצוע פעולות אריתמטיות. ומחסנית בעומק 4, עליה שומר המעבד את כתובת החזרה בקריאה לשגרה. באופן זה, ניתן לכתוב תוכנית עם קריאה לשגרות עד עומק 4, למעשה בלי להיזקק לזיכרון כלל - התוכנית עצמה יושבת בזיכרון הקריאה בלבד, וניתן לכתוב ולבצע תוכנית פשוטה, כולל ביצוע קלט ופלט, בעזרת האוגרים והמחסנית הפנימיים בלבד, ללא כל זיכרון חיצוני. שבב המעבד מבצע גם את הפונקציונליות של התזמון, ולא נחוץ רכיב נפרד לתזמון. ב־4004 אין כל תמיכה בפסיקות.
לשם השוואה, בשנת 2017, יוצרו התקני סיליקון מסחריים עם גאומטריה של 10 ננומטר, אלפית מהגאומטריה של ה־4004, 10 מיקרון. משמעות הדבר היא כי ב־2017 ניתן לבנות בערך מיליון טרנזיסטורים בגודל של טרנזיסטור אחד של ה־4004. כששבב הפנטיום הראשון הוצג, הוא היה בנוי מכ־3 מיליון טרנזיסטורים. אפשר לדמיין שבטכנולוגיה של 2017 אפשר לבנות את הפנטיום המקורי בגודל של שלושה מ־2300 הטרנזיסטורים ב־4004.

ראשוניות

בערך בזמן שאינטל התחילה את הפרויקט החלו פרויקטים נוספים, באינטל ובחברות אחרות, לייצר מעבד על שבב אחד. פרויקט שהחל באינטל, בערך בזמן שפרויקט ה־4004 החל היה למעבד עבור "מסוף חכם", כפי שנקרא אז, עבור חברת CTC. מעבד זה היה מתאים יותר ליישומים כלליים, ואינטל 8008, מעבד 8 ביט, הוא מימוש הפרויקט, בערך שנה אחר כך (אפריל 1972). הפרויקט של CTC נמסר לאינטל ולחברת טקסס אינסטרומנטס בערך באותו הזמן, (קיץ 1970), וחברת טקסס אינסטרומנט למעשה הכריזה על המעבד שלה ב־1971, לפני שאינטל הכריזה על ה־4004 (אם כי אחרי שאינטל כבר סיפקה מעבדים מייצור סדרתי לבוסיקום). בהיסטוריה של טקסס אינסטרומנטס רשום שהחברה המציאה את המיקרו מעבד, ובנתה את המיקרו מעבד הראשון. רוב הכותבים לא מקבלים את גרסת טקסס אינסטרומנט, משום שלמעשה לא ברור אם יוצר אפילו מעבד אחד כזה, לפני או אחרי ההכרזה. טקסס אינסטרומנטס מעולם לא סיפקה אותו לשום לקוח, חברת טקסס אינסטרומנטס רשמה פטנט על המיקרו מעבד, ובשנים הבאות ניסתה להשתמש בפטנט זה כדי לתבוע בעלות על המצאת המיקרו־מעבד, תביעות שהסתיימו בהסדר מחוץ לבית הדין.

שימוש

אינטל החלה לספק לבוסיקום שבבים במרץ 1971. בוסיקום ייצרה מספר דגמים של מכונות החישוב, ומכרה אותם תחת שמה, וגם דרך הסכמי OEM עם חברות אחרות, בעיקר חברת NCR. לפי ההסכם המקורי, לבוסיקום הייתה בלעדיות על משפחת השבבים. המכירות של מכונת החישוב מבוססות 4004 לא עמדו בציפיות, הן בגלל מחיר השבבים, והן משום שמוסטק, החברה השנייה אליה פנתה בוסיקום, סיימה את הפיתוח קצת אחרי ה־4004, והתברר שמימוש מכונת חישוב על שבב יחיד מתאימה יותר ליישום הזה מאשר פתרון מבוסס מעבד, הדורש זיכרון RAM, ROM, ותוכנה. בסתיו 1971 נסע נויס למסע עסקים ביפן, ובין השאר נפגש עם בוסיקום. הוף ופגין יעצו לנויס להוזיל את מחיר הרכיבים מעבר למוסכם בחוזה, ולוותר על תשלום הפיתוח עליו התחייבה בוסיקום (לפי הוף, כ־$60,000), תמורת ויתור בוסיקום על סעיף הבלעדיות בחוזה. הושג הסכם שמאפשר לאינטל לשווק את המשפחה ללקוחות אחרים, בתנאי שהלקוח לא מייצר מכונות חישוב. 
בנובמבר 1971 הכריזה אינטל על משפחת השבבים, בשם "אינטל MCS-4", והחלה לפתח מערך שיווק למיקרו מעבדים. ב־1972 הציעה אינטל ללקוחות מערכת פיתוח, בשם Intellec, במחיר כמה אלפי דולרים, ומספר לא ידוע (כנראה לא גדול) של מערכות כאלו נמכרו. מאוחר יותר, ב־1974 הופיעה גרסה משופרת של השבב בשם 4040 עם מספר פקודות נוספות בסט הפקודות. ב־1975 החלה חברת National Semiconductor לייצר את גרסה משלה ל־4004. אינטל המשיכה לייצר את משפחת MCS-4 עד 1986, 15 שנים אחרי תחילת הייצור.

ממשיכי הדרך

אחרי שה־4004 סופק ללקוח, פגין התבקש לקדם את הפרויקט של ה־8008, והפרויקט אכן הגיע לשלב הסיום שנה מאוחר יותר, ב־1972. הלקוח, CTC, כבר פיתח את המסוף בשימוש בלוגיקה דיסקרטית, ולא היה מעוניין בשבב. אינטל שיווקה את השבב, בהצלחה מוגבלת. אינטל החליטה לפתח מעבד 8 ביט עצמאי, שלא יהיה קשור בהסכם בלעדיות ללקוח מסוים. אחרי סיבוב אצל לקוחות בארצות הברית ובאירופה, החל פרויקט ה־8080, בהנהגת פגין, במחצית השנייה של 1972. מסטושי שימה עזב בינתיים את בוסיקום, והחל לעבוד בחברת ריקו, וזמן קצר אחרי תחילת פרויקט ה־8080, הצטרף לפגין באינטל, והיה חבר בצוות שפיתח את ה־8080, שבב שעשה היסטוריה, והניע את מהפכת המחשב האישי שהתחוללה בעשרים השנים הבאות וגם אחר כך, בהיותו המעבד של Altair 8800, ורבים מהמחשבים שהגיעו בעקבותיו. 
פגין עזב את אינטל ב־1974, אחרי גמר פיתוח ה־8080, ופתח את חברת זילוג, וזמן קצר אחר כך הצטרף אליו שימה. יחד עם מהנדסים נוספים פיתחו שניהם את השבב Z80, שהיה פיתוח של ה־8080, עם תאימות־לאחור מלאה. ה־Z80 הוא אחד השבבים המוצלחים ומאריכי החיים בתולדות המעבדים - למעשה, שבבים תואמי Z80 עדיין מיוצרים ב־2017, ומשמשים ביישומים שונים.