EDSAC

EDSAC (ראשי תיבות של Electronic Delay Storage Automatic Calculator - מחשבון אלקטרוני אוטומטי בעל זיכרון השהיה) היה מחשב בריטי, אחד הראשונים שיוצרו בעולם. המכונה נבנתה על ידי פרופסור מוריס וינסנט וילקס וצוותו לפי מודל ארכיטקטורת פון נוימן שפורסם באותה תקופה, במעבדה המתמטית של אוניברסיטת קיימברידג' שבאנגליה.

הפרויקט נתמך על ידי חברת ג'וזף ליונס הבריטית שהפעילה את המחשב היישומי מסחרי הראשון, ה-LEO I, שהיה מבוסס על תכן ה-EDSAC. ה-EDSAC הריץ תוכניות מחשב ראשונות ב-6 במאי 1949. התוכניות חישבו טבלה של ריבועי מספרים ורשימת מספרים ראשוניים.

סקירה טכנית

מרכיבים פיזיים 

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

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

זיכרון ופקודות 
הזיכרון של ה EDSAC היה מורכב מ-1024 אזורים, אולם רק 512 אזורים יושמו בתחילה.
כל אזור הכיל 18 סיביות, אבל הסיבית הראשונה לא הייתה זמינה בשל מגבלות תזמון. זו הסיבה שרק 17 סיביות היו בשימוש. פקודה הורכבה מ-5 סיביות וכן מ-11 סיביות לצורך גישה לזיכרון (אולם בהינתן 1024 מילים, רק 10 סיביות היו נחוצות). סיבית אחת מה-11 הייתה נחוצה לצורך החלטה האם הפקודה תופעל על מספר המוכל במילת זיכרון אחת או בשתי מילים.

ה-EDSAC עשה שימוש במספרים בינאריים בשיטת המשלים ל-2. מספרים אלה היו באורך מילה אחת (17 סיביות) או באורך שתי מילים (35 סיביות). לרוב תוכנן הכופל על מנת להתייחס למספרים כשברים נקודה קבועה בתחום שבין 1- ל 1 (כלומר הנקודה הייתה ממוקמת מימין לסימן). קיבולת הצובר הייתה כ-71 סיביות, כולל סיבית הסימן. כך התאפשר כפל של מספרים ארוכים (בני 35 סיביות) ללא אובדן דיוק.

הפקודות האפשריות היו: חיבור, חיסור, כפל, הזזה שמאלה, הזזה ימינה, טעינת רגיסטר כפל, אחסון וניקוי הצובר, דילוג מותנה, קריאת סרט הקלט, הדפסת תו, עיגול הצובר, no-op ועצירה. לא הייתה פקודת חילוק (אולם היו שגרות חילוק שמומשו באמצעות פעולות חשבוניות אחרות). כמו כן לא הייתה דרך לטעון מספר ישירות לתוך הצובר. כדי לבצע טעינה שכזו היה צורך בפקודת "אחסון ואיפוס הצובר" ולאחריה פקודת "חיבור".

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

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

ישומי ה-EDSAC 
 בשנת 1951, מילר וכן ווילר עשו שימוש במכונה כדי לגלות מספר ראשוני בעל 79 ספרות. המספר הראשוני הגדול ביותר עד אז.
 בשנת 1952 פיתח סנדי דאגלס  את ה"OXO", גרסה של משחק איקס עיגול עבור ה-EDSAC. הפלט הגרפי הועבר למסך CRT. ייתכן וזה היה משחק המחשב הראשון בעולם.
בשנות ה-60 של המאה ה-20 שימש ה-EDSAC לאיסוף עדויות נומריות אודות פתרונות לעקומים אליפטיים. הדבר הוביל להשערת בירץ' וסווינרטון-דייר.

פיתוחים נוספים 

מחשב ה-ESAC 2 שהיה יורשו של ה-EDSAC, נכנס לשימוש בשנת 1958. ב-1961, פיתח די. אף. הרטלי את גרסת EDSAC 2 של אוטוקוד-שפת תכנות עילית דמוית ALGOL.

באמצע שנות ה-60 של המאה ה-20, תוכנן יורש ל-EDSAC 2, אך בסופו של דבר נזנחה התוכנית לטובת הטיטאן.

מקורות 
 The Preparation of Programs for an Electronic Digital Computer by Professor Sir Maurice Wilkes, David Wheeler and Stanley Gill, Addison-Wesley, Edition 1, 1951

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

 

An EDSAC simulator – Developed by Martin Campbell-Kelly, Department of Computer Science, University of Warwick, England
50th Anniversary of EDSAC – Dedicated website at the University of Cambridge Computer Laboratory

 Pioneers recall computer creation, באתר BBC, 15 באפריל 1999

מחשבים חלוציים