CDC 6600
CDC 6600 היה מחשב של חברת קונטרול דאטה, בפיתוחו של סימור קריי שהוצג ב-1964, והיה המחשב המהיר בעולם עד 1969, אז הוצג יורשו וממשיך דרכו, CDC 7600 (אנ'), גם הוא בפיתוחו של קריי.
הוא נחשב בדרך כלל מחשב העל המוצלח הראשון, וביצועיו עלו פי שלושה על המחשב שקדם לו, IBM 7030 Stretch (אנ'). ה-6600 הוא הדגם הראשון והמרכזי בסדרת 6000 של החברה.
6600 היה הצלחה מסחרית, ומעל מאה מחשבים נמכרו, אף על פי שהיה אחד המחשבים היקרים, עם תג מחיר של עד 9 מיליון דולר. הוא סימן את תחילת שליטתה של CDC בשוק מחשבי העל, שנמשכה עם ממשיך דרכו, CDC 7600.
המחשב תוכנן על ידי צוות קטן, בהנהגת סימור קריי, שהגה ומימש את הרעיונות המרכזיים. CDC איבדה את ההגמוניה בשוק מחשבי העל כאשר הוצג המחשב קריי 1 (אנ'), גם הוא בתכנון קריי, שעזב את החברה ופתח חברה משלו.
תכנון המחשב נחשב פורץ דרך בתחומים רבים. הוא נחשב בדרך כלל למעבד הראשון בארכיטקטורת RISC, שנים לפני שזו הוגדרה וזכתה בשמה, היה אחד המחשבים הראשונים שנבנו בעזרת טרנזיסטורי סיליקון, והציג חדשנות בעיצוב הפיזי ובטכנולוגית קירור מתוחכמת. כל אלו נועדו למטרה אחת אותה הציב קריי - ליצור את "המחשב הגדול בעולם", המושג המקובל אז למחשב המהיר בעולם. קריי וצוותו עמדו במשימתם בהצלחה מרשימה, והמחשב היה הצלחה מסחרית, והשפיע על עיצוב מחשבים בדורות הבאים.
רקע
במלחמת העולם השנייה הפעיל הצי האמריקאי קבוצה שפיתחה ציוד אלקטרוני לפענוח צפנים. בתום המלחמה, הדרג הבכיר בצי דאג מהאפשרות שחברי הצוות יתפזרו בחברות שונות בשוק הפרטי, ונמצא פתרון בדמות הקמת חברה דרך יצרן ציוד תעופה ומטוסים בשם צ'ייס איירקראפט (Chase Aircraft). החברה נקראה Engineering Research Associates (ERA). החברה החדשה המשיכה לבצע פרויקטים עבור הצי ופעלה ישירות מול הצי בלי שקיפות כלפי חברת האם שלה, צ'ייס איירקראפט, משום שבכירי ומנהלי צ'ייס חסרו את הסיווג הביטחוני שהיה נחוץ לשם כך.
בעקבות דיון ומחלוקת בבית הנבחרים האמריקאי, בשאלה האם ראוי שהצי יחזיק למעשה בבעלותו חברה פרטית, נמכרה ERA לחברת רמינגטון ראנד (Remington Rand) שהייתה אז אחת מחברות המחשבים המובילות. בהמשך התמזגה רמינגטון ראנד עם חברת ספרי (Sperry Corporation), והצוות המשיך לעבוד במסגרת ספרי, והיה אחראי לתכנון מספר מחשבים.
לקראת 1957, חברי הצוות שהיו מורגלים בעצמאות, חשו שהתערבות ההנהלה הבכירה בהחלטות שונות בפרויקטים עליהם עבדו גורמת לעיכובים ומפריעה לעבודה. מרבית חברי הצוות פרשו והקימו חברה חדשה בשם קונטרול דאטה, או CDC. הם השאירו מאחור חבר צוות מרכזי, סימור קריי, כדי לכבד התחייבות שקיבלו לסיים את העבודה על מערכת שהזמין הצי.
קריי סיים את העבודה והצטרף לחבריו ב-1960. הוא פיתח בחברה מספר מחשבים, בהם ה-CDC-1604, אחד המחשבים הראשונים שהיו מבוססים על טרנזיסטורים ולא שפופרות ריק, ובין המחשבים המהירים בעולם כשהוצג ב-1960. מחשב נוסף שתכנן היה CDC 160, ובגרסה מעודכנת 160A, מחשב 12 סיביות שנחשב אחד ממחשבי המיני הראשונים.
החברה הגיעה להצלחה מסחרית וטכנית, ופיתחה מספר קווי מוצרים, בהם סדרת 3000, שהייתה המשך טבעי של 1604. עם זאת, קריי חש תסכול גובר והולך מהאילוצים שהוטלו עליו מכיוון מחלקות השיווק והמכירות, ומהתערבות מנהלים אחרים בפעילות מחלקת המחקר והפיתוח שעמד בראשה, והודיע למנכ"ל שאם משהו לא ישתנה, הוא יעזוב. הנהלת החברה חשה שקריי חשוב מדי מכדי לאבדו, והסכימה לתנאיו.
היסטוריה
ב-1962 קריי שכנע את החברה לפתוח מרכז פיתוח הרחק ממרכז החברה במיניאפוליס. הוא רכש חלקה בעיר הולדתו, צ'יפווה פולס (Chippewa Falls, Wisconsin), ומעבדת פיתוח חדשה נבנתה עליו. אף על פי שהצורך להמתין לסיום הבינוי עיכב את המהלך, הוא התברר כמוצלח. קריי וצוותו עברו למעבדה החדשה, שמנהלי החברה, ואפילו המנכ"ל, ויליאם נוריס (William Norris) לא הורשו לבקר בה בלי הזמנה מפורשת, והצוות עבד ללא הפרעות חיצוניות.
מטרתו של קריי הייתה ברורה ונועזת: לבנות את המחשב המהיר בעולם. תוך זמן קצר התברר שטרנזיסטורי הגרמניום עליהם היו מבוססים המחשבים הקודמים לא יצלחו, ואי אפשר להגיע בעזרתם לזמני המיתוג הדרושים, וקריי פנה לטרנזיסטורי סיליקון, שחברת פיירצ'יילד החלה למכור זמן קצר לפני כן, ולתצורה חדשנית, שנועדה לקיצור המוליכים בין היחידות השונות ככל הניתן.
כל אלו נועדו לתמוך בחידוש העיקרי: הארכיטקטורה, שממוקדת לחלוטין במטרה אחת: ביצועים, ובפרט ביצועי נקודה צפה. התכנון הציג עקרונות רבים שניתן למצוא ב"אילן היוחסין" של פרטים סטנדרטיים בכל מעבד מודרני, והשיגה את מטרתה בהצלחה מרשימה.
המחשב תוכנן רובו ככולו על ידי קריי וג'ים תורנטון, "הגאון הנסתר" של ה-6600.
מחשבי התקופה התבססו על מעבד מרכזי יחיד, שטיפל בנוסף לחישובים גם בקלט/פלט ובמשימות נוספות, כמו ניהול המשימות. קריי נקט בגישה שונה, וב-6600 כלל מעבד מרכזי פשוט ומהיר, שמטפל בחישובים בלבד (מחשבים אחרים בסדרה צוידו בשני מעבדים מרכזיים), ונוסף עליהם עשרה "מעבדים היקפיים" שטיפלו בקלט/פלט, ניהול העבודה, ושאר המטלות, פרט לחישוב. המעבד המרכזי נבנה בארכיטקטורה שלימים נקראה בשם RISC, או מחשוב עם סט פקודות מצומצם. גם העיצוב הפיזי של המחשב כוון כולו להגדלת הביצועים, שמשמעותה שימוש בנתיבים קצרים ככל האפשר עבור האותות. כדי לאפשר זאת, נבנה המחשב בצורת +, כשרכיבי החישוב נמצאים בחלקיהן הפנימיים של ארבע הזרועות. המעבר לסיליקון וזמני המיתוג המהירים חייבו גישה חדשה לנושא הקירור, והמחשב מקורר בעזרת פריאון, ויחידות הקירור וספקי הכוח מאכלסים את חלקן החיצוני של הזרועות.
המחשב הוצג ב-1964, ולמרות תג המחיר הגבוה היה הצלחה מסחרית, ומעל 100 מחשבי 6600 נמכרו, כשהראשונים סופקו למוסדות ממשלה ומשרד הההגנה האמריקאי, ובהמשך לגופים נוספים, רבים מהם אוניברסיטאות. בנוסף, נמכרו מאות מחשבים נוספים מסדרה 6000.
כשהמחשב יצא הוא היה מהיר פי שלושה מהמחשב המהיר ביותר עד אז, של חברת IBM. מנכ"ל IBM, תומאס ווטסון הבן, הפיץ מזכר לחברה בה הביע מורת רוח מכישלונה של חברתו לשמור על מעמדה. מחשב ה-Stretch של IBM אמנם השיג את המעמד, והיה המהיר ביותר עד אז, אך לא עמד בציפיות, וביצועיו נפלו בהרבה מהיעד, בעוד שזמן ועלות הפיתוח שלו תפחו ועלו, והחברה למעשה זנחה את הפרויקט[1] ווטסון הוציא מזכר בו כתב:
בשבוע שעבר הכריזה קונטרול דטה על ה-6600. נאמר לי שבמעבדה בה פותח המחשב עובדים רק 34 אנשים, כולל השרת, מהם 14 מהנדסים, וארבעה מתכנתים. כשמשווים משאבים צנועים אלו עם מאמצי הפיתוח האדירים שלנו, לא מובן לי למה איבדנו את מעמדנו כמובילים בתעשייה, ואפשרנו לאחרים להציג את המחשב המהיר ביותר.
כשהמזכר הוצג לקריי הוא הגיב, לא בלי שמץ לגלוג, "נראה שווטסון ענה בעצמו לשאלתו".
כמענה להצלחתו של CDC 6600 החלה חברת IBM במיזם ACS-1 (אנ') לפיתוחו של מחשב מהיר יותר. המיזם הניב חידושים בארכיטקטורה ובטכנולוגיה, אך לא תאם את ספינת הדגל של החברה, IBM System/360, ובשנת 1969 בוטל קודם שעבר לייצור. במקום זאת, IBM הכריזה על כוונתה לייצר במסגרת System/360 את מודל 92, שיהיה מהיר כמו CDC 6600. אף שהמחשב ש-IBM הכריזה עליו לא היה קיים, ההכרזה עליו פגעה קשות במכירות של CDC 6600, משום שלקוחות פוטנציאליים העדיפו להמתין למחשב המובטח של IBM. נוריס לא השלים עם צעד זה של IBM, ותביעת הגבלים עסקיים שיזם הובילה להסדר, בתחילת 1973, שהעביר 80 מיליון דולר מ-IBM ל-CDC. במסגרת ההסדר קיבלה CDC לבעלותה את SBC, חברה בת של IBM שכללה את לשכות השירות של IBM, שפעילותה השתלבה בפעילות לשכות השירות של CDC.[2]
תיאור
CDC-6600 הוא מחשב מבוסס טרנזיסטורי סיליקון, ופועל בקצב שעון של 10MHz. הזיכרון הוא זיכרון ליבה מגנטית, שמפוזר פיזית בארבע הזרועות. בחלקן החיצוני של הזרועות ספקי כוח ומחליפי חום מקוררי מים, שמקררים את רכיבי המחשב עצמו בעזרת פריאון.
מהירות הגישה לזיכרון היא 10 מחזורי שעון. הרכיבים העיקריים מלבד הזיכרון הם המעבד המרכזי ועשרת המעבדים ההיקפיים. הארכיטקטורה מאפשרת התקנת שני מעבדים מרכזיים, ובכמה מדגמי הסדרה מותקנים שניים (לכל היותר אחד מהם מהסוג המהיר יותר).
המחשב בנוי מקרוב ל-6,000 מודולים (בתמונה), שקוררו במערכת סירקולציה של פריאון נוזלי, על כל אחד מהם כמה עשרות טרנזיסטורים ורכיבים נוספים. בסך הכל המחשב כולל כ-400,000 טרנזיסטורים,[3] ומאות קילומטרים של כבלים, שמאכלסים בצפיפות את מרכז המחשב ומקשרים בין היחידות בארבע הזרועות.
בכל זרוע היו ארבע יחידות, שמוספרו מ-1 עד 16, כשבכל יחידה כזו כמה מאות מודולים, זיכרון, ורכיבים נוספים. יחידה 1 הכילה את עשרת המעבדים ההיקפיים והזיכרון שלהם, ומעט חומרת קלט/פלט. המעבד המרכזי מפוזר על פני מספר יחידות, בכל הזרועות, וכמוהו זיכרון המחשב, שגודלו המרבי 128K מילים בנות 60 סיביות, קצת פחות ממגהבייט במינוח מודרני (בכמה מחשבים עם פחות זיכרון רק שלוש זרועות).
זיכרון
עד 32 יחידות זיכרון ליבה עם 4,096 מילים כל אחת מפוזרות בזרועות המחשב. אורך המילה הוא 60 סיביות. מילה יכולה להיות מספר נקודה צפה, שלם "ארוך" (long integer) בשיטת המשלים ל-1, עד עשרה תווים מקודדים בקידוד קנייני של CDC, או הוראות למחשב, כלומר התוכנית המבוצעת.
מהירות הגישה הכוללת לזיכרון היא 10 מחזורי שעון, אך בכל מחזור שעון ניתן להתחיל פעולה חדשה של קריאה או כתיבה.[4] הזיכרון משותף למעבד המרכזי ולמעבדים ההיקפיים. בכל מחזור שעון פועל רק מעבד היקפי אחד, אבל עדיין ייתכנו "התנגשויות", כששני המעבדים, המרכזי וההיקפי, ניגשים לזיכרון באותו מחזור. רכיב חומרה מיוחד, שכונה stunt box,[5] או "תיבת הלהטוטים" ניהל את הגישות לזיכרון של המעבדים, וביצוע פעולות נוספות הקשורות לזיכרון ולתעדוף משימות.
בנוסף לזיכרון המרכזי לכל מעבד היקפי היה זיכרון פרטי - 4,096 מילים בנות 12 סיביות.
ניתן להוסיף "זיכרון משני" גדול ואטי יותר, עם מנגנון מהיר להעתקת מקטעי זיכרון בין הראשי למשני, בשליטת חומרה בלבד, בלי צורך בהתערבות המעבדים אחרי הכנת הפעולה. השימוש העיקרי בזיכרון המשני דומה למימוש של חלק קטן ממה שמכונה היום זיכרון וירטואלי. למעבדים אין גישה ישירה לזיכרון המשני.
למעבד המרכזי שני אוגרים ייעודיים, המחזיקים כתובת וגודל. שהכתובת משמשת "כתובת הבסיס" של המעבד, וכשהמעבד מבקש לקרוא או לכתוב לכתובת מסוימת, הכתובת הפיזית בשימוש היא סכום כתובת הבסיס והכתובת המבוקשת. בכל גישה לזיכרון מושווית הכתובת עם הגודל המוקצה, ואם התהליך ביקש לקרוא או לכתוב לכתובת מחוץ לבלוק שהוקצה לו, נוצרת שגיאה והתהליך נעצר. באופן זה יכול המחשב להחזיק מספר תהליכים, כשלכל אחד מהם מוקצה בלוק זיכרון, עם אבטחה שתהליך אחד לא יוכל לשבש את המרחב שהוקצה לתהליך אחר.
למעבדים ההיקפיים גישה מלאה לזיכרון כולו, בנוסף לזיכרון הפרטי שיש לכל אחד מהם.
המעבד המרכזי
המעבד המרכזי בנוי בארכיטקטורת RISC, עם רוחב מילה של 60 סיביות. הוא מכיל 10 יחידות עיבוד עצמאיות שאחראיות על פעולות כמו כפל נקודה צפה (שתי יחידות), חיבור וחילוק נקודה צפה (יחידה אחת לכל פעולה), ובדומה יחידות לפעולות במספרים שלמים ופעולות לוגיות. אין לו גישה לעולם החיצון, כלומר לקלט ופלט, אלא לזיכרון המחשב בלבד. הוא נשלט על ידי אחד המעבדים ההיקפיים, מספר 0.
דגם חלש יותר של המעבד המרכזי, עם יחידת עיבוד יחידה, הוצג מאוחר יותר, ב-CDC-6400 (בדגמים נוספים שני מעבדים "חלשים" או מעבד "חלש" ומעבד "חזק").
יחידות העיבוד העצמאיות מאפשרות לתוכנה שנכתבת היטב לגרום למספר פעולות להתבצע במקביל: ניתן להתחיל פעולת חיבור או כפל נוספת אחרי פעולת כפל, בלי להמתין לסיום הפעולה הראשונה, בתנאי שתוצאת הפעולה אינה אחד האופרנדים בפעולות הבאות. בפעולות מסוימות יכולת זו מכפילה או משלשת את עצמתו החישובית של המחשב.
היעד העיקרי של המחשב הוא ביצוע מהיר של פעולות על מספרים המבוטאים בייצוג נקודה צפה, ובהתאם היחידות:
- מכפלה בנקודה צפה - שתי יחידות, 10 מחזורי שעון
- חילוק נקודה צפה - 19 מחזורי שעון
- חיבור נקודה צפה
- חיבור שלמים (60 סיביות), מבוטאים בשיטת משלים ל-1
- הוספת 1 (increment), התוצאה נשמרת באוגר ומועתקת לזיכרון
- Shift
- פעולות לוגיות
- קפיצה מותנית
באופן תאורטי, כשהתכנה מצליחה לנצל את כל יחידות העיבוד, המחשב מבצע 3 מיליון FLOPS (או 3 MFLOPS). מעשית, תוכניות פורטרן הפיקו מהמחשב באופן עקבי 0.5 MFLOPS, בעזרת מהדרים שהגיעו בהמשך, ובתכנות זהיר בשפת סף ניתן להפיק ביצועים גבוהים מעט יותר.
סט הפקודות
פקודות המחשב הן בנות 15 או 30 סיביות. כל מילה יכולה להכיל עד ארבע פקודות, עם מספר מגבלות: פקודה של 30 סיביות חייבת לשכון במילה אחת, ופקודה שמהווה יעד של קפיצה, מותנית או לא מותנית, חייבת להופיע בתחילת המילה.
מילת הפקודה בנויה מהפקודה עצמה, שתופסת 6 סיביות, ואחריה עד שלושה אופרנדים בני שלוש סיביות, כשכל אופרנד מצביע על אחד האוגרים בפקודה באורך 15, או שני אופרנדים של אוגרים, ואופרנד אחד באורך 18 סיביות המציין כתובת, בפקודה באורך 30. בסט הפקודות 64 פקודות שונות, כולל NOP, כשחלק גדול יחסית מהן מכוון לפעולות נקודה צפה.
גישת המעבד הראשי לזיכרון היא יחסית, ומממשת רמת הגנה, שמאפשרת טעינת והרצת מספר תוכניות של משתמשים שונים, שלכל אחת מהן מוקצה מרחב זיכרון פרטי שלתוכניות המשתמשים האחרים אין גישה אליו. שני אוגרים ייעודיים מחזיקים את "כתובת הבסיס" וגודל הזיכרון ששייכים לתוכנית שרצה כעת. בכל גישה לזיכרון מושווית הכתובת ל"תקרה", ואם היא גבוהה ממנה, התוכנית נעצרת עם שגיאה.
מלבד פקודות, המעבד מזהה עוד שלושה סוגי נתונים, שכולם מורכבים ממילה אחת של 60 סיביות: מספר נקודה צפה, מספר שלם ארוך (המעבד יכול לעבוד עם שלמים באורך עד 48 סיביות), בשיטת משלים ל-1, או עד עשרה תווים בקידוד קנייני של CDC, כשכל תו תופס שש סיביות. מרחב הזיכרון הוא בן 24 סיביות, אך חומרת החשב לא תומכת במלואו.
למעבד שמונה אוגרים בני 60 סיביות, המכונים X0 עד X7, ו-16 אוגרים המשמשים לכתובות, בני 24 סיביות, בשתי קבוצות: אוגרים A0 עד A7 מכונים "כתובת", ו-B0 עד B7 מכונים "increment". לחלק מאוגרי הכתובת תפקיד מיוחד: כתיבה לכתובת A1 עד A5 גורמת כתוצאת לוואי לקריאת תוכן הכתובת לאוגרים X1 עד X5 בהתאמה, וכתיבה ל-A6 או A7 גורמת לכתיבת תוכן X6 או X7 לכתובת המתאימה בזיכרון. ל-A0 אין תפקיד דומה, והקונוונציה היא שבאוגר X0 נשמר תמיד ערך 0.
מנקודת הראות של המעבד הראשי, הזיכרון הוא "יחסי": שני אוגרים מיוחדים מסמנים את כתובת הייחוס, וגודל הזיכרון המוקצה לתהליך. כל גישה לזיכרון היא יחסית לכתובת הייחוס (כלומר גישה לכתובת 0 משמעה למעשה גישה לכתובת הייחוס, וגישה לכתובת 1 משמעה הכתובת הבאה אחרי כתובת הייחוס). בכל גישה לזיכרון מושווית הכתובת היחסית לגודל הזיכרון המוקצה, ואם היא גדולה ממנו, כלומר התהליך ניסה לגשת לכתובת מחוץ ל"בלוק" שהוקצה לו, נוצרת שגיאה והתהליך נעצר. כך ניתן להחזיק מספר תהליכים "חיים", וכאשר בתהליך מסוים המעבד הראשי ממתין לפעולת קלט פלט ארוכה שמבוצעת על ידי מעבד היקפי, ניתן להעביר אותו לביצוע תהליך אחר, שלא זקוק לקלט/פלט, תוך שמירת התהליך הראשון חי ומוגן. בכך נשמר ניצול מרבי של משאבי המחשב.
כל הפעולות האריתמטיות והלוגיות מבוצעות רק בין אוגרים, בניגוד למחשבי CISC אפייניים, בהם יש אופני מיעון מורכבים (כמו פעולות אריתמטיות בין אוגר ובין תוכן תא בזיכרון).
מעבד היקפי 0 יכול להורות למעבד המרכזי לעבור ממשימה למשימה, על ידי ביצוע פעולת exchange: המעבד המרכזי עוצר את הריצה, ושומר את מצבו, כלומר תוכן האוגרים השונים, ל"בסיס" בלוק הזיכרון. הערכים של כתובת הייחוס וגודל הבלוק של המשימה הבאה נמעודכנים, המעבד קורא את המצב של המשימה מבסיס בלוק הזיכרון החדש, ומתחיל בביצוע המשימה במקום בו הופסקה בפעם הקודמת.
למעבדים ההיקפיים גישה מלאה לזיכרון כולו, בנוסף לזיכרון הפרטי שיש לכל אחד מהם.
מעבדים היקפיים
במחשב 10 מעבדים היקפיים, שמבוססים על מחשב קודם, בן 12 סיביות, שתוכנן גם הוא בידי קריי - CDC-160A.
למעבדים ההיקפיים גישה לערוצי הקלט/פלט, והם מבצעים את משימות מערכת ההפעלה.
כל המעבדים משתמשים באותה חומרת CPU, עם עשרה סטים של אוגרים. בכל מחזור שעון, המעבד "מוזז" לקבוצת האוגרים הבאה, החל מ-0 וכלה ב-9, כשבמחזור השעון הבא שוב קבוצה 0.
התוצאה היא בפועל עשרה מחשבים עצמאיים, שמתחלקים בחומרה של מעבד יחיד, שפועל בקצב שעון של 10MHz, כשלכל אחד מהם מוקצית עשירית מהזמן, והוא פועל בקצב שעון של 1MHz, תוצאת לוואי של המבנה הזה היא שהמחשבים ההיקפיים לא צריכים לחכות לפעולת זיכרון, שצורכת 10 מחזורי שעון - כשמחשב היקפי ניגש לזיכרון, בפעם הבאה שהוא יקבל "פרוסת מעבד" תוצאת הפעולה תהיה מוכנה. לכל מחשב היקפי זיכרון פרטי של 4,096 מילים בנות 12 סיביות, וגישה לזיכרון המרכזי, דרכו הם יכולים להשאיר ולקבל בקשות והוראות זה לזה ולמעבד המרכזי.
למעבדים תפקידים מוגדרים: מעבד 0 אחראי על ניהול ה-6600, והוא מקצה משימות למעבד המרכזי ולמעבדים ההיקפיים האחרים.[6] שאר המעבדים מטפלים בהפעלת הציוד ההיקפי. כך למשל מעבד 9 אחראי על הקונסול, ומעבדים אחרים אחראים על גישה לקורא כרטיסים מנוקבים, כונן סרטים מגנטיים וכונני דיסקים, מדפסות, וכן הלאה.
זיכרון משני
זיכרון המחשב הוא זיכרון ליבה מהיר ויקר, הממומש בטבעות שבכל אחת עוברים חמישה תיילים, ניתן להוסיף זיכרון משני, שבנוי בטכנולוגיה אטית יותר, ובו רק שני תיילים עוברים בכל טבעת, עם יתרון בצפיפות ובמחיר. למעבד המרכזי אין גישה לזיכרון המשני, והמעבדים ההיקפיים מעבירים מידע בין זיכרון המחשב לזיכרון המשני, בעזרת קופסת הלהטוטים.
מערכות הפעלה
נקודת התורפה של המחשב הייתה התוכנה, ובמידה רבה מערכת ההפעלה עצמה.
מחשבי התקופה לא הריצו מערכת הפעלה "גנרית", כמו לינוקס בימינו. המשאבים המצומצמים, ובפרט הזיכרון, דרשו שמערכת הפעלה חדשה תיתפר לכל מחשב חדש, בדרך כלל על ידי עיבוד והתאמה של מערכת הפעלה קיימת עבור מחשב דומה. מערכת הפעלה ראשונה בשם COS נכתבה בחפזה על בסיס מערכת הפעלה קיימת לדגם 3000, ובמקביל מערכת הפעלה משוכללת יותר בשם SIPROS ( Simultaneous Processing Operating System) פותחה במרכז פיתוח בלוס אנג'לס. מערכת זו תמכה בתכונות רבות שהמשתמשים היו מעוניינים בהן, אך היא בוששה לבוא, מה שגרם ל-CDC הפסדים רבים בדמות קנסות פיגורים, ובסופו של דבר התוכנית בוטלה, והחברה פתחה במאמץ ליצור מערכת הפעלה על בסיס COS, אותה כינתה SCOPE. הגרסה הראשונה הייתה לא הרבה יותר מאריזה מחדש של COS, בתוספת מעט כלים, והגרסאות הבאות הוסיפו יכולות שהמשתמשים נזקקו להן, אך לא הצליחו להיפטר מבעיות אמינות.
בהמשך הופיעו מערכות הפעלה שפותחו ב-CDC, גם הן על בסיס COS. מערכת MACE שפותחה באופן לא רשמי, מבוססת על COS, שיפרה בהרבה את מבנה התוכנה ועשתה אותה מודולרית, באופן שהקל על תיקון בגים והוספת תמיכה בהתקני קלט/פלט חדשים. חלק מהלקוחות הצליחו לקבל גרסה זו, ומערכת ההפעלה הרשמית הבאה, Kronos, מבוססת על MACE. לבסוף הוציאה CDC מערכת הפעלה בשם NOS, שתומכת ב-Time-sharing(אנ'), ומבוססת גם היא על COS, והייתה אמורה להיות תואמת לאחור לשתי המערכות - SCOPE ו-Kronos. בפועל התמיכה ב-SCOPE לא הייתה מושלמת, והחברה הוציאה אריזה חדשה של SCOPE אותה כינתה NOS/BE, אחרי שהדגישה ש-NOS תהיה מערכת ההפעלה היחידה.
דגמים וציוד היקפי
המחשב תמך במגוון ציוד היקפי. המזוהה עם המחשב עצמו היה הקונסול - מקלדת ושני מסכי גרפיקה וקטורית בתצורה שזוהתה עם המחשב, קורא כרטיסים מנוקבים, כונני סרטים מגנטיים וכונני דיסקים, זיכרון משני (כמתואר לעיל), ועוד.
הדגם הבא במשפחה היה CDC-6400, שנבדל מאחיו הגדול במעבד הראשי, בו החליפה יחידת עיבוד אחת את עשרת היחידות ב-6600, וביצועיו היו פחותים מעט, אם כי עדיין עלה בביצועיו על כל מחשב אחר בשוק. אחריו הוצג CDC-6500, עם שני מעבדים מרכזיים, שניהם מסוג "6400", שפעלו במקביל. המחשב האחרון בסדרה היה CDC-6700, ובו מעבד מרכזי אחד מסוג "6600", ושני מסוג "6400".
CDC-7600 ומחשבי העל הבאים
שגיאת לואה ביחידה יחידה:תבנית_מידע בשורה 552: attempt to index field 'wikibase' (a nil value). המחשב הבא היה אמור להיקרא 6800, ולשמור על תאימות מלאה עם סדרת 6000, אך לקריי היה יעד חשוב יותר: הוא רצה לשפר את הביצועים פי 10, וכשהתברר שלא ניתן לשמור על תאימות מלאה בלי לוותר על כמה שיפורים שהיו נחוצים להשגת היעד, הוקרבה התאימות על מזבח הביצועים, ובהתאם שונה השם ל-7600, כלומר כבר לא מסדרת 6000, שהמחשבים בה תואמים מבחינת תוכנה.
המחשב הוצג זמן קצר לפני שזיכרון הליבה פינה את מקומו לזיכרונות מצב מוצק, אבל עדיין זיכרון הליבה היה "ההצגה היחידה בעיר". לעומת ההתקדמות בהתקני מצב מוצק, שצייתה בעקביות ל"חוק מור", והכפילה את הצפיפות כל 18 חודשים, כלומר יותר משלוש פעמים, או פי ארבע בין 1964 ל-1967, הרי שצפיפות ומהירות זיכרון הליבה לא התקדמו באותה מידה, והוא תומך למעשה באותו גודל זיכרון כמו ה-6600, כלומר 128K מילים בנות 60 סיביות.
השיפור בטכנולוגיות מוליכים למחצה אפשר להעלות את קצב השעון מ-10MHz ל-36.4, ולהתקין במחשב שני מעבדים מרכזיים מהירים. שיפור ביצועים של פי 3 או 4 לא סיפק את קריי, והמעבד הציג תכונה חדשה, שכיום נפוצה בכל סוגי המחשבים, בשם pipelining.
יחידות העיבוד של ה-7600 מוכנות להתחיל לטפל בהוראה הבאה לפני שסיימו לטפל בקודמת. זה מתאפשר משום שניתן לחלק את תפקיד כל יחידת עיבוד לחלקים "עצמאיים", כשכל חלק מקבל את "חומר הגלם" מהקודם, ומעביר את התוצרת לבא. כך למשל יחידת העיבוד שמבצעת חיבור צריכה לקרוא את שני האופרנדים משני אוגרים, לבצע את החיבור, ולכתוב את התוצאה לאוגר שלישי. בזמן שמתבצעת פעולת החיבור או הכתיבה, ניתן כבר להתחיל את פעולת החיבור הבאה על ידי קריאת שני אופרנדים חדשים. מבחינה מעשית זה זהה להכפלת או שילוש מספר יחידות העיבוד: יחידת עיבוד לפעולה שדורשת 10 מחזורי שעון, מתפנה לקבל את הפקודה הבאה אחרי שלושה מחזורי שעון בלבד. המחשב הציג רעיונות רבים נוספים, ועמד בכבוד ביעד של הכפלת הביצועים ב-10. קוד כתוב ידנית מגיע ל-10 MFOLOPS, עם "ביצועי שיא" של 36.
7600 שמר על תואר המחשב המהיר בעולם כמעט עד להגעת קריי 1 ב-1976 (160 megaFLOPS), ובשנים הבאות, עד 1990, החליפו ביניהם קריי ו-CDC את ההובלה מספר פעמים, כשהמחשבים הבאים של CDC עדיין מבוססים על הארכיטקטורה של 6600 ו-7600. השליטה המוחלטת של שתי החברות בתחום הסתיימה כשב-1990 הציגה פוג'יטסו מחשב עם ביצועים תאורטיים של 4 gigaFLOPS - פי אלף מ-CDC-6600, ופי מאה מה-7600, ובערך כפליים מהמחשב (של קריי) שקדם לו.
השוואה נפוצה נעשית בין כוח המחשוב של מחשבים אלו עם הטכנולוגיה המודרנית, ובפרט לטלפון חכם. ב-2021, לטלפון חכם ממוצע עצמת חישוב גדולה בכמה סדרי גודל מעוצמתו של קריי-1, עם ביצועי נקודה צפה שנמדדים במאות gigaFLOPS, ועומד לרשותו זיכרון גדול ומהיר יותר בכמה סדרי גודל.
מחשבי העל המודרניים בנויים רובם ככולם מעשרות אלפי מעבדים שפועלים במקביל, כשבדרך כלל כל אחד מהם מכיל או שולט על מאות או אלפי של "יחידות עיבוד" פשוטות יותר, שבדרך כלל ארוזות בשבבים מסוג GPU. לעומת מהירות השעון של 6600 ו-7600 שנמדדה במגההרץ, במחשבים מודרניים הקצב נמדד בגיגה-הרץ, כלומר גידול של כשלושה סדרי גודל. לעומת זאת, הביצועים, ובפרט ביצועי החישוב בנקודה צפה שבמחשבים אלו נמדדו ב"megaFLOPS", כלומר פעולות בשנייה, נמדדים כיום במאות petaFLOPS - כלומר פעולות בשנייה, עלייה של 11 סדרי גודל. עיקר ההבדל נובע ממספר המעבדים העצום במחשבי על מודרניים. חידושים ורעיונות שהוצגו לראשונה במחשבים פורצי דרך אלו עדיין נמצאים בשימוש במחשבים החדישים ביותר.
קישורים חיצוניים
- Control Data 6400/6500/6600 Computer Systems Reference Manual
- Thornton, J. (1970). Design of a Computer—The Control Data 6600. Glenview, IL: Scott, Foresman and Co.
הערות שוליים
- ^ עם זאת, פרויקט ה-7030 לא היה כישלון חרוץ, ובמהלכו פותחו שיטות וטכנולוגיות שסייעו ל-IBM לבנות מחשבים טובים וחזקים יותר בשנים הבאות, ובראי הזמן, ה-Stretch היה אבן דרך חשובה.
- ^ COMPUTERS: A Settlement for IBM, Time magazine, January 29, 1973
- ^ CDC 6600’s Five Year Reign - CHM Revolution, www.computerhistory.org
- ^ אם הכתובת המבוקשת לקריאה או כתיבה נמצאת ביחידת זיכרון שעסוקה ברגע זה, הפעולה יכולה להיכשל, אך משמעות הדבר היא רק דחייה - "תיבת הלהטוטים" תבצע את הפעולה שנית, כשהיחידה תשתחרר, והתוצאה תגיע כמה מחזורי שעון מאוחר יותר
- ^ J. B. Hertzog, CDL description of the CDC 6600 stunt box, 1971-09-01
- ^ עובדה זו זוהתה מאוחר יותר כנקודת תורפה, משום שכשל במעבד 0 משבית את המחשב כולו, וב-7600 ניתן למנות כל מעבד בתור "המנהל הראשי"
38566597CDC 6600