אניאק

אִינִיאַק (באנגלית: ENIAC, ראשי תיבות של Electronic Numerical Integrator And Computer, "מכונת אינטגרציה וחישוב ספרתית אלקטרונית") היה המחשב האלקטרוני הראשון אשר תוכנן להיות בעל שלמות טיורינג (כלומר, בעל יכולת הרצת אלגוריתמים הדומה למכונת טיורינג אוניברסלית, למעט הזיכרון הסופי שלו), בעל היכולת להיות מתוכנת מחדש באמצעות חיווט, ופותח למטרת חישובים שונים. הוא לא היה המחשב האלקטרוני הראשון - ב-1941 הוצג המחשב הגרמני Z3 אשר אמנם ניתן היה לתכנתו מחדש על ידי סרט מנוקב, אך היה מכני ולא אלקטרוני, וכן הקולוסוס הבריטי, אשר היה אלקטרוני וניתן לתכנות מחדש על ידי חיווט, אך לא היה רב-תכליתי. הן אניאק והן הקולוסוס השתמשו בשפופרות ריק, בזמן ש-Z3 השתמש בהתקנים מכניים. הצורך בחיווט לשם תכנות מחדש הוסר מ־ENIAC בשנת 1948. אניאק פותח ונבנה בידי צבא ארצות הברית לשימוש מעבדת מחקר הבליסטיקה במטרה לחשב טבלאות ירי בליסטי. פרויקט פיתוח המחשב, שנקרא פרויקט PX, הוכרז ב־17 במאי 1943. בנייתו של המחשב החלה באמצע 1944, ובפברואר 1946 הוכרז המחשב כמוכן לשימוש, כאשר בבנייתו הושקעו כמעט 500 אלף דולר. אניאק כונה על ידי העיתונות "המוח הענקי". מהירותו, הגדולה פי 1,000 ממהירויות מכונות החישוב באותה התקופה, והיכולת לתכנת אותו מחדש למטרות אחרות, הלהיבה מדענים ותעשיינים. המחשב הושבת ב־9 בנובמבר של אותה השנה לצורך שיפוץ ושדרוג הזיכרון. בתחילת 1947 עבר לשדה הניסויים אברדין של צבא ארצות הברית, והופעל מחדש בשלהי יולי של אותה שנה. המחשב נשאר פעיל עד להשבתתו הסופית באוקטובר 1955. את אניאק הגו ותכננו ג'ון פרספר אקרט וג'ון מוקלי מאוניברסיטת פנסילבניה. יחד עם ג'ון פרספר אקרט וג'ון מוקלי, עזרו לעצב את אניאק רוברט.פ. שאוו, שואן שו, תומאס קאייט שרפלס (מתכנת ראשי), ארתור ברקס, הארי האסקי, וג'אק דייוויס. צוות המתכנתות הראשון של המחשב מנה כולו נשים, אשר עבדו באותה תקופה כ"מחשבות". הן נשכרו לעבודה בשל היותן מתמטיקאיות אשר בצעו חישובים לקביעה ולחיזוי של מסלולים בליסטיים כחלק מהמאמץ המלחמתי, ולכן הכירו את החישובים שהיה על המחשב לבצע. חברות הצוות הראשון היו ג'ין ברטיק, בטי הולברטון, מרלין מלצר, רות טייטלבאום, פראנסיס בילאס-ספנס, וקייטלין (קיי) מקנולטי - מוצ'לי. למרות שהן נשארו בתפקידן גם עם סיום המלחמה, הן לא זכו בהכרה או פרסום על תרומתן, הן בשל היותן נשים והן בשל מעטה הסודיות של עבודתן. אניאק לא היווה את פסגת הטכנולוגיה של זמנו; בניגוד למחשב Z3 משנת 1941 והמחשב MARK I של האוורד אייקן משנת 1944, היה צורך בחיווט מחדש לשם הרצת תוכנית חדשה (שני המחשבים לעיל קראו את התוכנית שלהם מסרטים מנוקבים). נוסף על כך, בניגוד ל־Z3 והמחשבים המודרניים, המחשב ביצע אריתמטיקה עשרונית, ולא בינארית. הרעיון של ארכיטקטורת פון נוימן (אשר לרעיון המרכזי בה יש שימוש נרחב בימינו) פותח במקביל לתכנון מחשב האניאק, אך הוא לא מומש בו משתי סיבות: היה צורך לסיים את פיתוח המחשב במהרה כדי שיוכל לעזור למאמץ המלחמתי מוקדם ככל האפשר. כיוון שלצורך מימוש כזה דרוש זיכרון רב, היה ברור כי הזיכרון אשר יותקן במחשב פשוט יהיה קטן מדי מלהכיל גם את הנתונים וגם את התוכנית עצמה. אניאק היה היחיד מסוגו, ומחשבי אניאק נוספים לא נבנו מעולם. הקיבעון על התכנון שלו משנת 1943 גרם לכך שהמחשב כלל כמה מגבלות שלא נפתרו מעולם, בייחוד חוסר היכולת שלו לשמור תוכנית בזיכרון. אולם, הרעיונות אשר נוצרו מהעבודה עליו, וההשפעה שהייתה לו על אנשים כדוגמת ג'ון פון נוימן, היו בעלי השפעה רבה על פיתוחם של מחשבים מאוחרים יותר, כגון EDVAC, EDSAC ו-SEAC. מספר שיפורים בוצעו גם ב-ENIAC עצמו החל משנת 1948, כולל מנגנון פרימיטיבי לקריאה בלבד לצורך שמירת תוכניות , על ידי שימוש בטבלאות הפונקציה כזיכרון תוכנה לקריאה בלבד, רעיון אשר הוצע על ידי פון נוימן. שינוי זה הפחית את מהירות ENIAC פי 6, אך גם הפחית את זמן התכנות מחדש מימים שלמים לשעות ספורות, ולכן נחשב השינוי למוצדק למרות ההידרדרות הביצועים. בתחילת 1952 נוסף למחשב מנגנון מהיר להזזת הספרות מקום אחד שמאלה או ימינה (אפקטיבית - חילוק או מכפלה ב-10), אשר שיפר את מהירות פעולת ההזזה פי 5. ביולי 1953 הורחב זכרונו על ידי זיכרון ליבה בגודל 100 מילים, אשר השתמש בייצוג המספרים excess-3, אשר היה בקידוד BCD. כדי לתמוך בתוספת הזיכרון הזו, צויד אניאק בבורר חדש לטבלת הפונקציות, בורר כתובת זיכרון, מעגלים מעצבי-דפקים, ושלוש פקודות חדשות הוספו למנגנון התכנות. אקרט ומוקלי, עזרו לעודד המצאות כאלה על ידי סדרת הרצאות בתחומי ארכיטקטורת מחשבים. לאחר שצברו ניסיון רב, הקימו את תאגיד המחשבים של אקרט-מוקלי, אשר ייצר את המחשב הראשון שלהם - ה-BINAC, בשנת 1949. בשנת 1950 תאגיד זה נרכש על ידי חברת "רמינגטון ראנד", והפך למחלקת UNIVAC בחברה זו. נכון ל-2004, הודות למגמת המזעור, שבב סיליקון בגודל 0.5 מ"מ רבוע יכול להכיל את כל מה שהכיל אניאק, אשר תפס בזמנו נפח של חדר גדול. באניאק השתמשו לשמירת ספרות במוני-טבעת בעלי עשרה מצבים. פעולות אריתמטיות התבצעו על ידי "ספירת" פעימות באמצעות המונים הללו, ויצירת פעימות לנשאים אם המונה חזר למצב התחלתי (כלומר הסתובב 10 פעם). הרעיון היה לחקות את פעולת מוני הספרות במכונת חישוב מכנית. לאניאק היו 20 רגיסטרים, בעלי רוחב של 10 ספרות ובעלי סימן (כלומר ניתן היה לייצג מספרים שליליים), וניתן היה לבצע כ-5,000 פעולות חיבור או חיסור פשוטות בין שני רגיסטרים כאלה בכל שנייה (ניתן היה לחבר זוגות של רגיסטרים בו-זמנית, לכן מהירות השיא הפוטנציאלית הייתה גבוהה בהרבה בעקבות הרצה של פעולות במקביל). ארבעה מהרגיסטרים היו מבוקרים על ידי יחידת כופל מיוחדת, ובעזרתם ניתן היה לבצע 385 פעולות כפל בשנייה. פרט לכך, חמישה רגיסטרים נוספים היו מבוקרים על ידי יחידת מחלק/מוציא-שורש-ריבועי, דבר שאיפשר לבצע 40 פעולות חילוק בשנייה או 3 פעולות לחישוב שורש ריבועי בשנייה. במכונה היו עוד 9 יחידות נוספות - יחידת אתחול (שאתחלה והפסיקה את פעולת המחשב), יחידת סינכרון (שסינכרנה בין היחידות האחרות), יחידת תכנות, יחידת קלט לקריאת כרטיסי ניקוב, יחידת פלט לניקוב כרטיסי ניקוב (שאותם ניתן היה להעביר להדפסה במכונה נפרדת, ככל הנראה מדגם IBM 405), מעביר-קבועים, ושלוש טבלאות של פונקציות. בספרם של רוג'ס והאשגן ניתנים פרטים נוספים בנוגע לזמני הפעולה של המחשב, אשר שונים במקצת מאלה אשר מפורטים לעיל. מחזור השעון הבסיסי היה 200 מיקרו-שניות, או 5,000 מחזורים בשנייה לפעולות על המספרים בני 10 הספרות. בכל אחד מהמחזורים הללו, אניאק יכול היה לרשום מספר לרגיסטר, לקרוא מספר מרגיסטר, או לבצע פעולת חיבור/חיסור בין שני מספרים. פעולת כפל בין מספר עם 10 ספרות לבין מספר המורכב מ־X ספרות התבצעה ב־X+4 מחזורים, לכן מכפלה בין שני מספרים בעלי 10 ספרות לקחה 14 מחזורים, או 2,800 מיקרו-שניות, שהוא קצב של 357 פעולות כאלה בשנייה (אם אחד מן המספרים היה קטן יותר מ־10 ספרות, הפעולה הייתה מהירה יותר). פעולות חילוק והוצאת שורש ריבועי התבצעה ב 13 ⋅ ( X + 1 ) {\displaystyle 13\cdot (X+1)} מחזורים, כאשר X הוא מספר הספרות של התוצאה המתקבלת. לכן פעולת חילוק או הוצאת שורש התבצעה ב-143 מחזורים לכל היותר, או 28,600 מיקרו-שניות, שהוא קצב של 35 פעולות בשנייה. גם כאן, ככל שהמספרים היו קטנים יותר, כך החישובים היו מהירים יותר. גודלו הפיזי של האניאק היה מפלצתי בהשוואה למחשבים מודרניים. הוא הכיל 17,468 שפופרות ריק, 7,200 דיודות גביש (מוליך למחצה), 1,500 ממסרים, 70,000 נגדים, ו-10,000 קבלים. משקלו היה 27 טון, ומידותיו היו 30 מטר על 0.9 מטר על 2.4 מטר. הוא תפס 167 מ"ר, וצרך 160 קילו-ואט. באניאק השתמשו בשפופרות רדיו רגילות בעלות 8 פינים שהיו אז בשימוש נרחב גם במכשירים ביתיים. הרגיסטרים העשרונים היו בנויים ממעגלי פליפ פלופ שנבנו סביב שפופרת טריודה כפולה מדגם 6SN7. מעגל פליפ פלופ אחד עם שפופרת טריודה כפולה שימש לשם זיכרון של ביט אחד. שפופרות: 6L7, 6SJ7 6SA7 ו-6AC7 שימשו למימוש הפונקציות הלוגיות. מספר שפופרות הספק (כוח) מסוג 6L6 ו-6V6 שימשו כמגברי דחיפה לדפקים אשר עברו בכבלים בין נקודות ממסר חשובות. הבעיות הראשונות שהורצו על אניאק היו קשורות לתכנון פצצת המימן. מספר מומחי אלקטרוניקה חזו כי כשלים בשפופרות ריק יתרחשו בתדירות כה גבוהה, עד שהמכונה לא תהיה שמישה לעולם. החיזוי התגלה כנכון חלקית: כמעט מדי יום נשרפו מספר שפופרות, אשר הותירו את המחשב לא שמיש כמעט חצי מהזמן. שפופרות ריק בעלות אמינות גבוהה לא היו בנמצא עד לשנת 1948. עם זאת, מרבית התקלות התרחשו בעת ההדלקה או הכיבוי של השפופרות, כאשר ההסקות (גופי החימום) והקתודות בתוך השפופרות היו תחת לחץ של שינוי תרמי גדול. במצב עבודה רגיל השפופרות חמות אבל הטמפרטורה יציבה לאורך זמן. המהנדסים הצליחו לצמצם את הכשלים בשפופרות הריק של אניאק עד כדי כשל של שפופרת אחת מדי יומיים, על ידי כך שנקטו בגישת לעולם אין לכבות את המכונה. בשנת 1954, משך הזמן הארוך ביותר של פעולה ללא כשל כלשהו היה 116 שעות - כמעט חמישה ימים. בהשוואה לטכנולוגיה של אותם ימים, היה שיעור הכשלים של אניאק נמוך במידה ניכרת, הודות לתכנונו המדויק. אניאק הוכר כאבן דרך בתקן IEEE ב 1987. היסטוריה של המחשוב H. H. Goldstine, A. Goldstine, The Electronic Numerical Integrator and Computer (ENIAC), 1946 (reprinted in The Origins of Digital Computers: Selected Papers, Springer-Verlag, New York, 1982, pp. 359-373) J. Presper Eckert, The ENIAC (in Nicholas Metropolis, J. Howlett, Gian-Carlo Rota, (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980, pp. 525-540) John W. Mauchly, The ENIAC (in A History of Computing in the Twentieth Century, pp. 541-550) Arthur W. Burks, Alice R. Burks, The ENIAC: The First General-Purpose Electronic Computer (in Annals of the History of Computing, Vol. 3 (No. 4), 1981, pp. 310-389; commentary pp. 389-399) W. Barkley Fritz, The Women of ENIAC (in IEEE Annals of the History of Computing, Vol. 18, 1996, pp. 13-28) J. Presper Eckert, John Mauchly, Outline of plans for development of electronic computers (The founding document in the electronic computer industry.) Raúl Rojas and Ulf Hashagen, editors, The First Computers: History and Architectures, 2000, MIT Press, ISBN 0-262-18197-5. מדיה וקבצים בנושא אניאק בוויקישיתוף ידעתם שמקצוע התכנות קיים כבר 70 שנה?, באתר Geektime‏, 4 במאי 2017 טל לוי, 15.2.1946 השקת המחשב הדיגיטלי אלקטרוני הראשון, באתר הארץ, 27 באפריל 2009 סיפורו של אניאק על ידי מרטין ווייק (באנגלית) איך אניאק ביצע את הוצאת השורש (באנגלית) אניאק על שבב (באנגלית) מדמה אניאק (באנגלית) תכנות האניאק (באנגלית) מוזיאון האניאק באוניברסיטת פנסילבניה (באנגלית) סודות האניאק תמונות מודרניות של רכיבי האניאק (באנגלית) נשות האניאק (באנגלית) "מפלצת האניאק והפלא" (באנגלית) ריאיון עם אקרט מלל הלקוח מראיון וידאו שהעניק דייוויד אליסון לאקרט עבור המוזיאון הלאומי להיסטוריה האמריקאית, מכון סמית'סוניאן בשניים בפברואר, 1988. בראיון מתקיימת שיחה טכנית מעמיקה לגבי האניאק ותהליך המחשבה מאחורי התכן. (באנגלית) שאלות ותשובות: הראיון האבוד עם אקרט (באנגלית) מפרט האניאק מתוך דוח מספר 971 של המעבדות למחקר בליסטי, משנת 1955. (באנגלית) אניאק, באתר אנציקלופדיה בריטניקה (באנגלית) כתיבת נשים בחזרה לתוך היסטוריית המדע - קבוצת הנשים שתכנתה את אניאק A Logical Coding System Applied to the ENIAC