מנוע אנליטי

מנוע אנליטי הוא התכנון הראשון של מחשב מכני, שנהגה על ידי המתמטיקאי צ'ארלס בבג' לראשונה ב-1832, במהלך עבודתו על מנוע ההפרשים. בבג' המשיך לעבוד על תכנון המנוע האנליטי עד מותו ב-1871, הגם שהיה ברור לו שמנוע זה לא ייבנה בחייו. המנוע הוא מתקן מכני לחלוטין, שמונע על ידי מנוע קיטור, ובנוי מגלגלי שיניים, גלי זיזים, מוטות מקשרים ומתקנים מכניים נוספים. ההוראות והנתונים להפעלתו מוזנים מכרטיסים מנוקבים, ותוצאות החישוב מודפסות במדפסת. המנוע פועל בבסיס ספירה עשרוני, ומורכב מארבע יחידות מרכזיות: "טחנה" (mill), "מחסן" (store), קורא (reader), ומדפסת (printer). היחידות קושרו ביניהן במערכת מוטות מקשרים שמהווים מקבילה מכנית לאפיק נתונים. הטחנה דומה בעיקרה ליחידה אריתמטית-לוגית במחשב מודרני, המחסן הוא זיכרון המחשב, והקורא והמדפסת הם אמצעי קלט/פלט. בכך בישר המנוע לא רק את הרעיון המרכזי, כלומר מכונה כללית שיכולה לבצע חישובים מסוגים שונים לפי תוכנית המוזנת אליה, אלא גם את החלוקה הפונקציונלית שנשמרה בתכנון מחשבים במאות הבאות. תכנון המנוע לא הושלם מעולם. בבג' החל לתכנן אותו ב-1837, והמשיך לעבוד על שיפורים ותוכניות מפורטות יותר ליחידות שונות במחשב, עבודה שלא הושלמה. בנו של בבג', הנרי, בנה דגם של חלק מה"טחנה". הזיכרון שהקצה בבג' למנוע - 1,000 מספרים בני 50 ספרות היה שאפתני, וכנראה לא ראלי. לשום מחשב שנבנה לפני 1960 לא היה זיכרון בגודל כזה. אחת התכונות של המנוע האנליטי, קפיצה מותנית, יכולת מרכזית במחשב, חסרה בכמה מהמחשבים הראשונים. למרות שבישר את המחשב ואת יחידותיו המרכזיות, השפעתו של המנוע האנליטי על תכנון המחשבים שנבנו במאות הבאות לא ברורה, וככל הנראה אינה גדולה. עדה לאבלייס, בתו של לורד ביירון, כתבה מספר מאמרים על המנוע, ובאחד מהם פירטה איך ניתן להשתמש במנוע לחישוב מספרי ברנולי, ובזכות תוכנית זו היא נחשבת בדרך כלל לראשונת המתכנתים, כבוד שזיכה אותה בקריאת שפת המחשב Ada על שמה. לאבלייס גם הדגישה במאמריה את נושא סט הפקודות של המנוע, והצביעה על חשיבותו. המחשב לא נבנה בימי חייו של בבג' בשל חוסר מימון, העובדה שהתכנון מעולם לא הושלם, ומגבלות טכנולוגיות בשיטות היצור של התקופה. התכנון, שכאמור לא הושלם, לא פורסם מעולם בצורה מסודרת. שנים רבות היו המאמרים של לאבלייס המקור העיקרי למידע על המנוע. החל במחצית הראשונה של המאה העשרים חקרו היסטוריונים של המחשב חלקים מניירותיו של בבג' ומסמכים נוספים שתיארו את המנוע, כשחלק מעבודתם פורסם. במחצית הראשונה של המאה ה-20 אזכורים מעטים בספרות למנוע, שהעניין בו גבר בהדרגה עם התפתחות המחשב, ובפרט עם גידול העניין בהיסטוריה של המחשוב. מתכנני המחשבים הראשונים לא הכירו את עבודתו, ובדרך כלל לא ידעו עליה כלל, והוצרכו להמציא מחדש חלק מהמצאותיו של בבג'. ערכים מורחבים – Z1, Z3 ב-1937 תכנן ובנה ממציא גרמני צעיר, קונראד צוזה, מחשב ספרתי מכני, Z1, הדומה למנוע האנליטי בחלוקה הפונקציונלית שלו. כמו במנוע, המידע הוזן משני "סרטים מנוקבים" - אחד לתוכנית ואחד לנתונים, עם אפיק נתונים וזיכרון מכני. צוזה היה צנוע בהרבה מבבג' בגודל הזיכרון, ובדיוק החישוב: לעומת מספרים עשרוניים בני חמישים ספרות אצל בבג', השתמש צוזה בייצוג בינארי בנקודה צפה, עם 22 סיביות. המעבר לשימוש בשיטה הבינארית אפשר פישוט בזיכרון, באפיק הנתונים, וביחידת העיבוד, עבורה המציא שערים לוגיים מכניים, הייתה הקפיצה שחסרה לבבג', ואפשרה לצוזה לממש את המחשב באמצעים צנועים. מאוחר יותר, צוזה העתיק את התכנון למחשב אלקטרומכני, בו ממסרים החליפו את המכניקה. מחשב זה, בשם Z3, היה כנראה המחשב הראשון בעולם שביצע חישובים מועילים. הוא הושמד בהפצצה על ברלין ב-1943. ב-1937 הגיש הפיזיקאי האמריקאי הווארד אייקן הצעה לחברת IBM לבניית מחשב ספרתי. במהלך העבודה, הוצגה לו עבודתו של בבג', ובהמשך הוסיף אזכורים והתייחסות לעבודתו של בבג' להצעת המחקר, למרות שלא הכיר את פרטי התכנון של המנוע האנליטי עצמו, והמחשב לא מבוסס על עבודתו של בבג'. אוניברסיטת הרווארד בשיתוף פעולה עם IBM בנו את המחשב Harvard Mark I (Harvard Mark I), והוא נכנס לפעולה ב-1944, והיה אחד המחשבים הספרתיים הראשונים, והראשון בארצות הברית. המחשב היה מבוסס על ממסרים בדומה ל-Z3, וכמו המנוע האנליטי של בבג' והמחשבים של צוזה, עשה שימוש ב"סרט מנוקב" להזנת התוכנית, וסרט נפרד להזנת המידע. כמו המנוע של בבג', ושלא כמו המחשבים של צוזה, המחשב השתמש בשיטה העשרונית, המחשב החל לפעול ב-1944, ואחת התוכניות הראשונות שביצע, לחישוב והדפסת לוחות מתמטיים מימשה, באיחור של כ-100 שנים, את תוכניתו המקורית של בבג'. הארכיטקטורה של המחשב היא המקור למונח ארכיטקטורת הרווארד, שהוחלפה במידה רבה במחשבים הבאים בארכיטקטורת פון נוימן. לפי סיווג זה, המנוע האנליטי והמחשבים של צוזה בנויים גם הם בארכיטקטורת הרווארד. במאה ה-21 החל ניסיון רציני לתעד ולהגשים את עבודתו של בבג'. דגם עובד של מנוע ההפרשים שלו נבנה לראשונה, והתגבר מאמץ מסודר לרכז ולחקור את ניירותיו, כמו גם חומר שהיסטוריונים קודמים ריכזו ואספו. השאיפה היא כמובן לבנות את המנוע האנליטי, או רכיבים ממנו, ולפני כן, לרכז ולפרסם באופן מסודר את הניירות, לתאר את מהלך ההתפתחות, ולהאיר את האבולוציה של התכנון לאורך כמעט ארבעים שנה. היסטוריה של המחשוב מדיה וקבצים בנושא מנוע אנליטי בוויקישיתוף דגם המכונה, IBM מנוע אנליטי, באתר אנציקלופדיה בריטניקה (באנגלית) Babbage, Charles, 1791-1871., Babbage's calculating engines : being a collection of papers relating to them, their history, and construction, Cambridge University Press, 2010, ISBN 978-1-108-00096-3