CDC 6600

**CDC 6600** היה מחשב של חברת קונטרול דאטה בפיתוחו של סימור קריי שהוצג ב-1964, והיה המחשב המהיר בעולם עד 1969, אז הוצג יורשו וממשיך דרכו, CDC 7600 , גם הוא בפיתוחו של קריי.

מקובל לראות את ה-CDC 6600 כמחשב העל המוצלח הראשון, כאשר ביצועיו עלו פי שלושה על אלה של המחשב שקדם לו, ה-IBM 7030 Stretch . ה-6600 היה הדגם הראשון והמרכזי בסדרת 6000 של החברה.

ה-6600 היה הצלחה מסחרית, ומעל מאה מחשבים כאלה נמכרו, אף שהיה אחד המחשבים היקרים מסוגו, עם תג מחיר של עד 9 מיליון דולר. הוא סימן את תחילת שליטתה של CDC בשוק מחשבי העל, שנמשכה עם ממשיך דרכו, CDC 7600.

ה-6600 תוכנן על ידי צוות קטן בהנהגת סימור קריי, שהגה ומימש את הרעיונות המרכזיים. CDC איבדה את ההגמוניה בשוק מחשבי העל כתריסר שנים אחר כך, עם הצגת המחשב קריי 1 , גם הוא בתכנון סימור קריי - אחרי שכבר עזב את CDC, ופתח חברה משלו.

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

## רקע
במלחמת העולם השנייה הפעיל הצי האמריקאי קבוצת מהנדסים שעסקו בפיתוח ציוד אלקטרוני לפענוח צפנים. בתום המלחמה, הפיקוד העליון של הצי חשש מהאפשרות שחברי הצוות יתפזרו בין חברות שונות בשוק הפרטי, לכן הוחלט על הקמת חברה שתעסיק אותם, דרך יצרן ציוד תעופה ומטוסים בשם "צ'ייס איירקראפט" . החברה נקראה Engineering Research Associates "". החברה החדשה עסקה בביצוע פרויקטים תוך פעילות ישירה מול הצי, והימנעות מכל שקיפות כלפי חברת האם שלה ("צ'ייס איירקראפט") משום שבכירי ומנהלי צ'ייס חסרו את הסיווג הביטחוני שהיה נחוץ לשם כך.

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

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

קריי סיים את העבודה והצטרף לחבריו ב-1960. הוא פיתח בחברה מספר מחשבים, בהם ה-CDC-1604, אחד המחשבים הראשונים שהיו מבוססים על טרנזיסטורים ולא שפופרות ריק, ובין המחשבים המהירים בעולם באותו זמן. מחשב נוסף שתכנן היה CDC 160, ובגרסה מעודכנת 160A, מחשב 12 סיביות שנחשב בין מחשבי המיני הראשונים.

חברת קונטרול דאטה זכתה להצלחה מסחרית וטכנית ופיתחה מספר קווי מוצרים, בהם מחשבי סדרת 3000, שהייתה המשך טבעי של ה-1604-CDC. עם זאת, קריי חש תסכול גובר והולך מהאילוצים מצד מחלקות השיווק והמכירות, ומהתערבות מנהלים אחרים בפעילות מחלקת המחקר והפיתוח בראשה עמד. הוא הודיע להנהלה שאם המצב לא ישתנה, הוא יעזוב. הנהלת החברה ידעה שקריי חשוב מדי מכדי לאבדו, והסכימה לבסוף לתנאיו.

## היסטוריה
ב-1962 קריי שכנע את החברה לפתוח מרכז פיתוח הרחק ממרכז החברה במיניאפוליס. הוא רכש חלקה בעיר הולדתו, צ'יפווה פולס , במדינת ויסקונסין, ומעבדת פיתוח גדולה נבנתה שם. אף שההמתנה לסיום הבינוי עיכבה את המהלך, הוא התברר כמוצלח. קריי וצוותו עברו למעבדה החדשה, כשאפילו המנכ"ל, ויליאם נוריס  וחברי ההנהלה נדרשו להזמנה מפורשת כדי לבקר במקום, וכך הובטחה לצוות עבודה ללא כל הפרעות.

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

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

המחשב תוכנן רובו ככולו על ידי קריי וג'ים תורנטון, "הגאון הנסתר" של ה-6600.

מחשבי התקופה התבססו על מעבד מרכזי יחיד, שטיפל בנוסף לחישובים גם בקלט/פלט ובמשימות נוספות, כמו ניהול המשימות. קריי נקט בגישה שונה, וב-6600 כלל מעבד מרכזי פשוט ומהיר, שמטפל בחישובים בלבד (מחשבים אחרים בסדרה זו צוידו בשני מעבדים מרכזיים), ובמקביל עשרה "מעבדים היקפיים"  שטיפלו בקלט/פלט, ניהול העבודה, ומטלות נוספות שאינן חישוב. המעבד המרכזי נבנה בארכיטקטורה שלימים נקראה בשם RISC, או מחשוב עם סט פקודות מצומצם. גם העיצוב הפיזי של המחשב כוון כולו להגדלת הביצועים, שמשמעותה שימוש בנתיבים קצרים ככל האפשר עבור האותות. כדי לאפשר זאת, נבנה המחשב בצורת **+**, כשרכיבי החישוב נמצאים בחלקיהן הפנימיים של ארבע הזרועות. המעבר לסיליקון וזמני המיתוג המהירים חייבו גישה חדשה לפיזור החום, והמחשב מקורר בעזרת פריאון, כאשר יחידות הקירור וספקי הכוח מאכלסים את חלקן החיצוני של הזרועות.

המחשב הוצג ב-1964, ולמרות תג המחיר הגבוה היה הצלחה מסחרית, ומעל 100 מחשבי 6600 נמכרו. הראשונים סופקו למוסדות ממשלה ומשרד ההגנה האמריקאי, ובהמשך לגופים נוספים, רבים מהם אוניברסיטאות. בנוסף, נמכרו מאות מחשבים נוספים מסדרה 6000 (הדגמים האחרים נקראים 6400, 6500 ו-6700).

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

כשהמזכר הוצג לקריי הוא הגיב, לא בלי שמץ לגלוג, "נראה שווטסון ענה בעצמו לשאלתו".

כמענה להצלחתו של CDC 6600 החלה חברת IBM במיזם  לפיתוחו של מחשב מהיר יותר. המיזם הניב חידושים בארכיטקטורה ובטכנולוגיה, אך לא תאם את ספינת הדגל של החברה, IBM System/360, ובשנת 1969 בוטל קודם שעבר לייצור. במקום זאת, IBM הכריזה על כוונתה לייצר במסגרת System/360 את מודל 92, שיהיה מהיר כמו CDC 6600. אף שהמחשב ש-IBM הכריזה עליו לא היה קיים, ההכרזה עליו פגעה קשות במכירות של CDC 6600, משום שלקוחות פוטנציאליים העדיפו להמתין למחשב המובטח של IBM. נוריס לא השלים עם צעד זה של IBM, ותביעת הגבלים עסקיים שיזם הובילה להסדר, בתחילת 1973, שהעביר 80 מיליון דולר מ-IBM ל-CDC. במסגרת ההסדר קיבלה CDC לבעלותה את SBC, חברה בת של IBM שכללה את לשכות השירות של IBM, שפעילותה השתלבה בפעילות לשכות השירות של CDC.

## תיאור
ממוזער|מודול אחד של CDC-6600. מודול אופייני מכיל כמה עשרות טרנזיסטורים ורכיבים נוספים.
ממוזער|תרשים. החלק החיצוני של הזרועות מכיל את ספקי הכוח ומערכת הקירור והחלק הפנימי את רכיבי המחשב עצמו. הריבוע במרכז מאוכלס רובו ככולו בכבלים שמחברים בין היחידות בזרועות השונות
CDC-6600 מבוסס טרנזיסטורי סיליקון, ופועל בקצב שעון של 10MHz. הזיכרון הוא זיכרון ליבה מגנטית, שמפוזר פיזית בארבע הזרועות. בחלקן החיצוני של הזרועות ספקי כוח ומחליפי חום מקוררי מים, שמקררים את רכיבי המחשב עצמו בעזרת פריאון.

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

המחשב בנוי מקרוב ל-6,000 מודולים (בתמונה), שקוררו במערכת סירקולציה של פריאון נוזלי, על כל אחד מהם כמה עשרות טרנזיסטורים ורכיבים נוספים. בסך הכל המחשב כולל כ-400,000 טרנזיסטורים, ומאות קילומטרים של כבלים, שמאכלסים בצפיפות את מרכז המחשב ומקשרים בין היחידות בארבע הזרועות.

בכל זרוע ארבע יחידות, הממוספרות מ-1 עד 16, כשבכל יחידה כזו כמה מאות מודולים, זיכרון, ורכיבים נוספים. יחידה 1 הכילה את עשרת המעבדים ההיקפיים והזיכרון הפרטי שלהם, ומעט חומרת קלט/פלט. המעבד המרכזי מפוזר במספר יחידות בכל הזרועות, וכמוהו זיכרון המחשב, שגודלו המרבי 128K מילים בנות 60 סיביות, קצת פחות ממגהבייט במינוח מודרני (כמה מחשבים עם פחות זיכרון נבנו עם שלוש זרועות בלבד).

### זיכרון
עד 32 יחידות זיכרון ליבה עם 4,096 מילים כל אחת מפוזרות בזרועות המחשב. אורך המילה הוא 60 סיביות. מילה יכולה להיות מספר נקודה צפה, שלם "ארוך" (long integer) בשיטת המשלים ל-1, עד עשרה תווים מקודדים בקידוד קנייני של CDC, או הוראות למחשב, כלומר התוכנית המבוצעת.

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

בנוסף לזיכרון המרכזי לכל מעבד היקפי יש זיכרון פרטי - 4,096 מילים בנות 12 סיביות.

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

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

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

### המעבד המרכזי

המעבד המרכזי בנוי בארכיטקטורת RISC, עם רוחב מילה של 60 סיביות. הוא מכיל 10 יחידות עיבוד עצמאיות שאחראיות על פעולות כמו כפל נקודה צפה (שתי יחידות), חיבור וחילוק נקודה צפה (יחידה אחת לכל פעולה), ובדומה יחידות לפעולות במספרים שלמים ופעולות לוגיות. אין לו גישה לעולם החיצון, כלומר לקלט ופלט, אלא לזיכרון המחשב בלבד. הוא נשלט על ידי אחד המעבדים ההיקפיים, מספר 0.

דגם חלש יותר של המעבד המרכזי, עם יחידת עיבוד יחידה, הוצג מאוחר יותר, ב-CDC-6400 (בדגמים נוספים שני מעבדים "חלשים" או מעבד "חלש" ומעבד "חזק").

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

היעד העיקרי של המחשב הוא ביצוע מהיר של פעולות על מספרים המבוטאים בייצוג נקודה צפה, ובהתאם היחידות:
* כפל בנקודה צפה - שתי יחידות, 10 מחזורי שעון
* חילוק נקודה צפה - 19 מחזורי שעון
* חיבור נקודה צפה
* חיבור שלמים (60 סיביות), מבוטאים בשיטת משלים ל-1
* הוספת 1 (increment), התוצאה נשמרת באוגר ומועתקת לזיכרון
* Shift
* פעולות לוגיות
* קפיצה מותנית
באופן תאורטי, כשהתכנה מצליחה לנצל את כל יחידות העיבוד, המחשב מבצע 3 מיליון FLOPS (או 3 MFLOPS). מעשית, תוכניות פורטרן הפיקו מהמחשב באופן עקבי , בעזרת מהדרים שהגיעו בהמשך, ובתכנות זהיר בשפת סף ניתן להפיק ביצועים גבוהים מעט יותר.
**סט הפקודות**

פקודות המחשב הן בנות 15 או 30 סיביות. כל מילה יכולה להכיל שתיים, שלוש או ארבע פקודות, עם מספר מגבלות: פקודה של 30 סיביות חייבת לשכון במילה אחת, ופקודה שמהווה יעד של קפיצה, מותנית או לא מותנית, חייבת להופיע בתחילת המילה. כאשר נוצר "חור", למשל כאשר לא ניתן "למלא" את שארית המילה משום שהפקודה הבאה היא "ארוכה" או שהיא חייבת להופיע בתחילת המילה, ממלאים אותו בפקודה או כמה פקודות NOP, שפירושה "אל תעשה דבר".

מילת הפקודה בנויה מהפקודה עצמה (Opcode), שתופסת 6 סיביות, ואחריה עד שלושה אופרנדים בני שלוש סיביות, כשכל אופרנד מצביע על אחד האוגרים בפקודה באורך 15, או שני אופרנדים של אוגרים, ואופרנד אחד באורך 18 סיביות המציין כתובת בפקודה באורך 30. בסט הפקודות 64 פקודות שונות, כולל NOP, כשחלק גדול יחסית מהן מכוון לפעולות נקודה צפה.

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

מלבד פקודות, המעבד מזהה עוד שלושה סוגי נתונים, שכולם מורכבים ממילה אחת של 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 אחד שמממש את כל עשרת המחשבים ההיקפיים, אך ללא האוגרים. יש עשר קבוצות של אוגרים, כשכל קבוצה כזו מייצגת את אחד המחשבים ההיקפיים. בכל מחזור שעון, המעבד היחיד עובר להשתמש בקבוצת האוגרים הבאה, באופן מעגלי, וכיוון שכל ה"מצב" של המעבד נמצא באוגרים, המשמעות היא מימוש עשרה מחשבים שונים בעזרת חומרת CPU יחיד, כשרק האוגרים "מוכפלים" עבור כל אחד. קצב השעון של המחשב הוא 10MHz, ולכן אפקטיבית קצב השעון של כל אחד מהמעבדים ההיקפיים הוא מגה הרץ אחד - כל מעבד זוכה ל"נתח" של חומרת ה-CPU פעם אחת כל עשרה מחזורים.

תוצאת לוואי של המבנה הזה היא שהמחשבים ההיקפיים לא צריכים לחכות לפעולת זיכרון, שצורכת 10 מחזורי שעון - כשמחשב היקפי ניגש לזיכרון, בפעם הבאה שהוא יקבל "פרוסת מעבד" הקריאה או הכתיבה התבצעו. עבור המעבד הראשי, פעולת זיכרון "מוכנה" רק אחרי עשרה מחזורי שעון, עבור המעבדים ההיקפיים פעולת זיכרון היא מיידית.

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

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

בהכללה גסה אפשר לומר שהמחשב המרכזי מריץ את היישום, והמעבדים ההיקפיים את מערכת ההפעלה, או לפחות את רובה.

### זיכרון משני
הזיכרון הפנימי של המחשב הוא זיכרון ליבה מהיר ויקר, הממומש בטבעות שבכל אחת עוברים חמישה תיילים, ומוגבל ל-128K מילים. ניתן להתקין זיכרון משני כיחידה נפרדת שנמצאת מחוץ למחשב. זיכרון זה בנוי בטכנולוגיה אטית יותר, ובו רק שני תיילים עוברים בכל טבעת, עם יתרון בצפיפות ובמחיר. למעבד המרכזי אין גישה לזיכרון המשני, ו"קופסת הלהטוטים" מעתיקה בלוקים של זיכרון בין הזיכרון העיקרי המשני, בשליטת המעבדים ההיקפיים.

## תוכנה ומערכת הפעלה
נקודת התורפה של המחשב הייתה התוכנה, ובמידה רבה מערכת ההפעלה.

### תוכנה
היישומים נכתבו ברובם או כולם על ידי המשתמשים עצמם, גם אם היה שיתוף פעולה מסוים ולקוחות יכלו לפעמים להפיק תועלת מתוכנה שנכתבה על ידי לקוח אחר.

במהלך תקופת שירותו הארוכה של המחשב הגיעו מהדרים לשפות הנפוצות, בפרט COBOL ו-Fortran, שידעו לעשות שימוש בעוצמתו של המחשב. בין השאר, כאשר COBOL טיפל בטקסט, הוא ידע לפעול על המילה של המחשב כרצף של עשרה תווים (בדומה למחשבי IBM של התקופה, בקידוד בו השתמשה CDC תו אחד מורכב משש סיביות) במקום לפעול על תו יחיד בפעולה כלשהי, ומהדרי פורטרן מתקדמים שהופיעו בשנים הבאות יכלו להפיק מהמחשב ביצועי נקודה צפה של חצי מיליון פעולות בשנייה (0.5 MFLOPS). הלקוחות העיקריים של המחשב היו חברות גדולות, גופים ממשלתיים, חלקם צבאיים, ומכוני מחקר גדולים שגם הם בדרך כלל ממומנים או נתמכים מתקציבים ממשלתיים, ולקוחות אלו המשיכו לפתח תוכנה.

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

מחשבי התקופה לא הריצו מערכת הפעלה "גנרית", כמו יוניקס ולינוקס בימינו. המשאבים המצומצמים, ובפרט הזיכרון, דרשו שמערכת הפעלה חדשה תיתפר לכל מחשב חדש, בדרך כלל על ידי עיבוד והתאמה של מערכת הפעלה קיימת עבור מחשב דומה. מערכת הפעלה ראשונה בשם 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 ומחשבי העל הבאים

המחשב הבא היה אמור להיקרא 6800, ולשמור על תאימות מלאה עם סדרת 6000, אך לקריי היה יעד חשוב יותר: הוא רצה לשפר את הביצועים פי 10, וכשהתברר שלא ניתן לשמור על תאימות מלאה בלי לוותר על כמה שיפורים שהיו נחוצים להשגת היעד, הוקרבה התאימות על מזבח הביצועים, ושם המחשב הוחלף ל-7600, כדי להדגיש שאינו בסדרת 6000 שהמחשבים בה תואמים זה לזה מבחינת תוכנה.

7600 הוצג זמן קצר לפני שזיכרון הליבה החל לפנות את מקומו לזיכרונות מצב מוצק. לעומת ההתקדמות בהתקני מצב מוצק, שצייתה בעקביות ל"חוק מור", והכפילה את הצפיפות כל 18 חודשים, בערך פי ארבעה בין 1964 ל-1967, הרי שצפיפות ומהירות זיכרון הליבה לא התקדמו באותה מידה, ו-7600 תומך למעשה באותו גודל זיכרון כמו 6600 - עד 128K מילים בנות 60 סיביות.

השיפור בטכנולוגיות מוליכים למחצה אפשר להעלות את קצב השעון מ-10MHz ל-36.4, ולהתקין במחשב שני מעבדים מרכזיים מהירים. שיפור ביצועים של פי 3 או 4 לא סיפק את קריי, והארכיטקטורה הציגה תכונה חדשה, שכיום נפוצה בכל סוגי המחשבים, בשם pipelining.

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

7600 שמר על תואר המחשב המהיר בעולם כמעט עד להגעת קריי 1 ב-1976 (), ובשנים הבאות, עד 1990, החליפו ביניהם קריי ו-CDC את ההובלה מספר פעמים, כשהמחשבים הבאים של CDC עדיין מבוססים על הארכיטקטורה של 6600 ו-7600. השליטה המוחלטת של שתי החברות בתחום הסתיימה כשב-1990 הציגה פוג'יטסו מחשב עם ביצועים תאורטיים של 4 gigaFLOPS - פי אלף מ-6600, פי מאה מ-7600, ובערך כפליים מהמחשב (של קריי) שקדם לו.

השוואה נפוצה נעשית בין כוח המחשוב של מחשבים אלו עם הטכנולוגיה המודרנית, ובפרט לטלפון חכם. ב-2021, לטלפון חכם ממוצע עצמת חישוב גדולה בכמה סדרי גודל מעוצמתו של קריי-1, עם ביצועי נקודה צפה שנמדדים במאות gigaFLOPS, ועומד לרשותו זיכרון גדול ומהיר יותר בכמה סדרי גודל.

מחשבי העל של תחילת העשור השלישי של המאה ה-21 בנויים רובם ככולם ממספר עצום של מעבדים (עד כעשרה מיליון, נכון ל-2025), כשבדרך כלל כל אחד מהם מכיל או שולט על מאות או אלפי "יחידות עיבוד" פשוטות יותר, שבדרך כלל ארוזות בשבבים מסוג GPU. לעומת מהירות השעון של 6600 ו-7600 שנמדדה במגההרץ, במחשבים מודרניים הקצב נמדד בגיגה-הרץ, כלומר גידול של כשלושה סדרי גודל. לעומת זאת, הביצועים, ובפרט ביצועי החישוב בנקודה צפה שבמחשבים אלו נמדדו ב"megaFLOPS", כלומר 10^6 פעולות בשנייה, נמדדים, נכון ל-2025 באלפי petaFLOPS - כלומר 10^{18} פעולות בשנייה, עלייה של 12 סדרי גודל (ראו אל קפיטן). עיקר ההבדל נובע ממספר המעבדים העצום במחשבי על מודרניים. חידושים ורעיונות שהוצגו לראשונה "בצורה עוברית" במחשבים פורצי דרך אלו מופיעים בכל מעבד מודרני.

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


* Control Data 6400/6500/6600 Computer Systems Reference Manual
* Thornton, J. (1970). *[http://archive.computerhistory.org/resources/text/CDC/cdc.6600.thornton.design_of_a_computer_the_control_data_6600.1970.102630394.pdf Design of a Computer—The Control Data 6600]*. Glenview, IL: Scott, Foresman and Co.

## הערות שוליים

קטגוריה:ערכים שבהם תבנית בריטניקה אינה מתאימה
קטגוריה:מחשבי-על
קטגוריה:מחשבים