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

EDSAC

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

סקירה טכנית

עריכה

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

עריכה
 
כיוון מסכי ה-CRT שתפקידם להציג את תוכן הזיכרון הראשי ואת הרגיסטרים
 

עם תום בנייתו של ה-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

עריכה

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

עריכה

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

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

מקורות

עריכה

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

עריכה
  מדיה וקבצים בנושא EDSAC בוויקישיתוף