stringtranslate.com

ЦКЗ 6600

Ортографический чертеж CDC 6600 в двух проекциях с масштабированием
CDC 6600. За системной консолью находятся два «рука» шкафа в форме знака плюс с открытыми крышками. Внутри можно увидеть отдельные модули. Стойки, удерживающие модули, закреплены на петлях, чтобы обеспечить доступ к стойкам за ними. Каждая рука машины имела до четырех таких стоек. Справа находится система охлаждения.
Системная консоль CDC 6600. Эта конструкция была крупным новшеством, поскольку экраны и клавиатура заменили сотни переключателей и мигающих лампочек, обычных для современных системных консолей. Дисплеи управлялись программным обеспечением, в первую очередь для отображения текста в трех размерах на выбор. Это также давало возможность рисовать простую графику. В отличие от более современных дисплеев, консоль была векторной системой рисования , а не растровой . Консоли имели один шрифт , где каждый глиф представлял собой серию векторов. Автодополнение частей ключевых слов позволяло быстрее вводить команды.

CDC 6600 был флагманом серии 6000 мэйнфреймовых компьютерных систем, производимых Control Data Corporation . [8] [9] Обычно считающийся первым успешным суперкомпьютером , он превзошел предыдущего рекордсмена отрасли, IBM 7030 Stretch , в три раза. [10] [11] С производительностью до трех  мегафлопс , [12] [13] CDC 6600 был самым быстрым компьютером в мире с 1964 по 1969 год, когда он уступил этот статус своему преемнику, CDC 7600. [14]

Первые CDC 6600 были доставлены в 1965 году в Ливермор и Лос-Аламос . [15] Они быстро стали обязательной системой в области высокопроизводительных научных и математических вычислений, при этом системы были доставлены в Институт математических наук Куранта , ЦЕРН , [16] [17] Радиационную лабораторию Лоуренса , [18] и многие другие. Всего было доставлено не менее 100 штук. [19]

CDC 6600 выставлен в Музее компьютерной истории в Маунтин-Вью, Калифорния . Единственная работающая машина серии CDC 6000 была восстановлена ​​Living Computers: Museum + Labs .

История и влияние

Первые продукты CDC были основаны на машинах, разработанных в Engineering Research Associates (ERA), которые Сеймур Крей попросил обновить после перехода в CDC. После экспериментальной машины, известной как Little Character , [20] в 1960 году они выпустили CDC 1604 , один из первых коммерческих транзисторных компьютеров и одну из самых быстрых машин на рынке. Руководство было в восторге и составило планы на новую серию машин, которые были бы более приспособлены для делового использования; например, они включали бы инструкции по обработке символов и ведению записей. Крей не был заинтересован в таком проекте и поставил себе цель создать новую машину, которая будет в 50 раз быстрее, чем 1604. Когда его попросили [ когда? ] завершить подробный отчет о планах на один и пять лет вперед, он ответил, что его пятилетняя цель — «создать самый большой компьютер в мире», «самый большой» в то время было синонимом «самого быстрого», и что его годовой план — «пройти одну пятую пути». [21]

Переведя свою основную команду в новые офисы недалеко от первоначальной штаб-квартиры CDC, они начали экспериментировать с более качественными версиями «дешевых» транзисторов , которые Cray использовал в 1604. После долгих экспериментов они обнаружили, что просто не было способа, которым транзисторы на основе германия могли бы работать намного быстрее, чем те, которые использовались в 1604. «Бизнес-машина», которую изначально хотело руководство, теперь формирующаяся как серия CDC 3000 , подтолкнула их так далеко, как они могли зайти. Затем Cray решил, что решение заключается в работе с новыми на тот момент транзисторами на основе кремния от Fairchild Semiconductor , которые только что появились на рынке и предлагали значительно улучшенные характеристики переключения.

В этот период CDC выросла из стартапа в крупную компанию, и Крей все больше разочаровывался в том, что он считал нелепыми требованиями к управлению. Ситуация значительно обострилась в 1962 году, когда новый CDC 3600 начал приближаться к качеству производства и, казалось, был именно тем, чего хотело руководство, когда оно этого хотело. В конце концов Крей сказал генеральному директору CDC Уильяму Норрису , что что-то нужно изменить, иначе он покинет компанию. Норрис чувствовал, что он слишком важен, чтобы его терять, и дал Крей зеленый свет на создание новой лаборатории там, где он захочет.

После недолгих поисков Крэй решил вернуться в свой родной город Чиппева-Фолс, штат Висконсин , где он купил участок земли и открыл новую лабораторию. [ когда? ]

Хотя этот процесс внес довольно длительную задержку в проектирование его новой машины, как только он оказался в новой лаборатории, без вмешательства руководства, дела пошли быстро. К этому времени новые транзисторы стали довольно надежными, и модули, построенные с ними, как правило, работали правильно с первой попытки. 6600 начал обретать форму, и Крей работал вместе с Джимом Торнтоном , системным архитектором и «скрытым гением» 6600.

За время существования машины (с 1964 по 1969 год) было продано более 100 CDC 6600. Многие из них были отправлены в различные лаборатории, связанные с ядерным оружием , и довольно много попало в университетские вычислительные лаборатории. CDC 6600 использовался для опровержения гипотезы Эйлера о сумме степеней в раннем примере прямого числового поиска. [22]

Крей немедленно обратил внимание на его замену, на этот раз поставив цель десятикратного увеличения производительности 6600, представленную как CDC 7600. Более поздние [ когда? ] компьютеры CDC Cyber ​​70 и 170 были очень похожи на CDC 6600 по общей конструкции и были почти полностью обратно совместимы.

6600 был в три раза быстрее предыдущего рекордсмена, IBM 7030 Stretch ; это встревожило IBM . Тогдашний генеральный директор Томас Уотсон-младший написал служебную записку своим сотрудникам 28 августа 1963 года: «На прошлой неделе Control Data... объявила о системе 6600. Я знаю, что в лаборатории, разрабатывающей систему, всего 34 человека, включая уборщика. Из них 14 инженеров и 4 программиста... Сопоставляя эти скромные усилия с нашей обширной деятельностью по разработке, я не понимаю, почему мы потеряли лидирующие позиции в отрасли, позволив кому-то другому предложить самый мощный в мире компьютер». Ответ Крея был саркастическим: «Похоже, мистер Уотсон сам ответил на свой вопрос». [23] [24]

Описание

Типичные машины 1950-х и 1960-х годов использовали один центральный процессор (ЦП) для управления всей системой. [25] Типичная программа сначала загружала данные в память (часто с использованием предварительно свернутого библиотечного кода), обрабатывала их, а затем записывала обратно. Это требовало, чтобы ЦП были довольно сложными, чтобы обрабатывать полный набор инструкций, которые они должны были выполнять. Сложный ЦП подразумевал большой ЦП, вводящий задержки сигнализации, пока информация текла между отдельными модулями, составляющими его. Эти задержки устанавливали максимальный верхний предел производительности, поскольку машина могла работать только со скоростью цикла, которая позволяла сигналам успевать поступать на следующий модуль.

Cray применил другой подход. В 1960-х годах процессоры, как правило, работали медленнее, чем основная память , к которой они были подключены. Например, процессору могло потребоваться 15 циклов для умножения двух чисел, в то время как каждый доступ к памяти занимал всего один или два цикла. Это означало, что было значительное время, когда основная память простаивала. Именно это время простоя и использовал 6600.

CDC 6600 использовал упрощенный центральный процессор (CP), который был разработан для максимально быстрого выполнения математических и логических операций, что требовало его создания как можно меньшего размера, чтобы сократить длину проводки и связанные с ней задержки сигналов. Это привело к (обычно) крестообразному основному шасси машины с печатными платами для CPU, расположенными близко к центру, и привело к гораздо меньшему CPU. В сочетании с более высокой скоростью переключения кремниевых транзисторов новый CPU работал на частоте 10 МГц (время цикла 100 нс), примерно в десять раз быстрее, чем другие машины на рынке. Помимо того, что тактовая частота была быстрее, простой процессор выполнял инструкции за меньшее количество тактов; например, CPU мог завершить умножение за десять циклов.

Поддержка ЦП осуществлялась десятью 12-битными 4-килобайтными периферийными процессорами (ПП), каждый из которых имел доступ к общему пулу из 12 каналов ввода-вывода (I/O) , которые обрабатывали ввод и вывод, а также контролировали, какие данные отправлялись в центральную память для обработки ЦП. ПП были разработаны для доступа к памяти в то время, когда ЦП был занят выполнением операций. Это позволяло им выполнять ввод-вывод по существу бесплатно с точки зрения центрального процессорного времени, поддерживая занятость ЦП как можно дольше.

CP 6600 использовал 60-битное слово и представление целых чисел в виде дополнения до единиц, что позже использовалось машинами CDC вплоть до конца 1980-х годов, что сделало их последними системами, за исключением некоторых цифровых сигнальных процессоров , использующими эту архитектуру. [26]

Позднее [ когда? ] CDC предложила варианты относительно количества и типа CP, PP и каналов, например, CDC 6700 имел два центральных процессора, 6400 CP и 6600 CP.

В то время как другие машины того времени имели сложные передние панели для управления ими, 6600 имеет только панель мертвого старта . [27] Имеется двойная системная консоль CRT, но она управляется операционной системой и не управляет и не отображает оборудование напрямую.

Вся машина 6600 содержала около 400 000 транзисторов. [28]

Периферийные процессоры

Процессор мог выполнять только ограниченное количество простых инструкций. Типичный процессор той эпохи имел сложный набор инструкций , который включал инструкции для обработки всех обычных «хозяйственных» задач, таких как доступ к памяти и ввод/вывод . Вместо этого Cray реализовал эти инструкции в отдельных, более простых процессорах, предназначенных исключительно для этих задач, оставив процессору гораздо меньший набор инструкций. Это был первый из того, что позже стало называться компьютером с сокращенным набором инструкций (RISC).

Позволяя ЦП, периферийным процессорам (ПП) и вводу-выводу работать параллельно, конструкция значительно повышала производительность машины. В обычных условиях машина с несколькими процессорами также стоила бы намного дороже. Ключевым моментом в конструкции 6600 было сделать процессоры ввода-вывода, известные как периферийные процессоры (ПП), максимально простыми. ПП были основаны на простом 12-битном CDC 160-A , который работал намного медленнее ЦП, собирая данные и передавая их в виде пакетов в основную память на высокой скорости через выделенное оборудование.

10 PP были реализованы виртуально; аппаратное обеспечение ЦП было только для одного PP. [29] : стр. 4-3 по 4-4  Это аппаратное обеспечение ЦП было общим и работало на 10 наборах регистров PP, которые представляли каждое из 10 состояний PP (аналогично современным многопоточным процессорам). Ствол регистра PP «вращался», причем каждый набор регистров PP представлялся «слоту», который занимал фактический ЦП PP. Общий ЦП выполнял всю или некоторую часть инструкции PP, после чего ствол снова «вращался», представляя следующий набор регистров PP (состояние). Для завершения инструкции требовалось несколько «вращений» ствола. Полный «оборот» ствола происходил за 1000 наносекунд (100 наносекунд на PP), а выполнение инструкции могло занять от одного до пяти «оборотов» ствола или больше, если это была инструкция передачи данных.

Архитектура набора инструкций CP

Основой для 6600 CPU является то, что позже будет названо RISC- системой, [ спорная (для: инструкций переменной длины) – обсудить ] та, в которой процессор настроен на выполнение инструкций, которые сравнительно просты и имеют ограниченный и четко определенный доступ к памяти. Философия многих других машин была направлена ​​на использование сложных инструкций — например, одной инструкции, которая извлекала бы операнд из памяти и добавляла бы его к значению в регистре. В 6600 загрузка значения из памяти требовала бы одной инструкции, а добавление — второй. Хотя в теории это было медленнее из-за дополнительных доступов к памяти, тот факт, что в хорошо спланированном коде несколько инструкций могли обрабатываться параллельно, разгружал эти расходы. Это упрощение также заставило программистов очень внимательно относиться к своим доступам к памяти, и поэтому кодировать намеренно, чтобы максимально сократить их. [ необходима цитата ] CDC 6600 CP, будучи трехадресной машиной, позволяет указывать все три операнда. [30]

Модели

Серия CDC 6000 включала четыре базовые модели: CDC 6400 , CDC 6500 , CDC 6600 и CDC 6700. [ когда? ] Модели серии 6000 отличались только своими ЦП, которые были двух видов: ЦП 6400 и ЦП 6600. ЦП 6400 имел унифицированный арифметический блок, а не дискретные функциональные блоки . Таким образом, он не мог перекрывать время выполнения инструкций. Например, в ЦП 6400, если инструкция сложения следовала сразу за инструкцией умножения, инструкция сложения не могла быть запущена до тех пор, пока не завершится инструкция умножения, поэтому чистое время выполнения двух инструкций было бы суммой их индивидуальных времен выполнения. ЦП 6600 имел несколько функциональных блоков, которые могли работать одновременно, т. е . « параллельно », что позволяло ЦП перекрывать время выполнения инструкций. Например, процессор 6600 мог начать выполнять инструкцию сложения в следующем цикле процессора после начала инструкции умножения (предполагая, конечно, что результат инструкции умножения не был операндом инструкции сложения), поэтому чистое время выполнения двух инструкций будет просто (более длительным) временем выполнения инструкции умножения. Процессор 6600 также имел стек инструкций , своего рода кэш инструкций , который помогал увеличить пропускную способность процессора за счет сокращения времени простоя процессора, вызванного ожиданием ответа памяти на запросы выборки инструкций. Оба типа процессоров были совместимы по инструкциям, так что программа, работающая на любом из типов процессоров, работала бы одинаково на другом типе, но работала бы быстрее на процессоре 6600. Действительно, все модели серии 6000 были полностью совместимы. CDC 6400 имел один ЦП (ЦП 6400), CDC 6500 имел два ЦП (оба ЦП 6400), CDC 6600 имел один ЦП (ЦП 6600), а CDC 6700 имел два ЦП (один ЦП 6600 и один ЦП 6400).

Центральный процессор (ЦП)

Центральный процессор (CP) и основная память машин 6400, 6500 и 6600 имели 60-битную длину слова. Центральный процессор имел восемь 60-битных регистров общего назначения X0–X7, восемь 18-битных адресных регистров A0–A7 и восемь 18-битных «инкрементных» регистров B0–B7. Аппаратно B0 постоянно удерживался на нуле. Многие программисты считали полезным устанавливать B1 в 1 и аналогичным образом считать его неприкосновенным.

CP не имел инструкций для ввода и вывода, которые выполняются через периферийные процессоры (ниже). Не было никаких опкодов, специально предназначенных для загрузки или хранения памяти; это происходило как побочный эффект назначения определенным регистрам A. Установка A1 через A5 загружала слово по этому адресу в X1 через X5 соответственно; установка A6 или A7 сохраняла слово из X6 или X7. Никаких побочных эффектов не было связано с A0. Отдельный аппаратный блок загрузки/хранения, называемый каскадным блоком , обрабатывал фактическое перемещение данных независимо от работы потока инструкций, позволяя другим операциям завершаться во время доступа к памяти, что требовало восьми циклов, в лучшем случае.

6600 CP включал десять параллельных функциональных блоков, что позволяло выполнять несколько инструкций одновременно. Сегодня [ время? ] это известно как конструкция суперскалярного процессора , но для своего времени это было уникально. В отличие от большинства современных конструкций ЦП, функциональные блоки не были конвейерными; функциональный блок становился занятым, когда ему «выдавалась» инструкция, и оставался занятым в течение всего времени, необходимого для выполнения этой инструкции. (В отличие от этого, CDC 7600 ввел конвейеризацию в свои функциональные блоки.) В лучшем случае инструкция могла быть выдана функциональному блоку каждые 100 нс такта. Система считывала и декодировала инструкции из памяти как можно быстрее, как правило, быстрее, чем они могли быть выполнены, и передавала их блокам для обработки. Блоки были:

Операции с плавающей точкой заняли почетное место в этой архитектуре : CDC 6600 (и подобные) практически единственные, кто способен выполнять 60-битное умножение с плавающей точкой за время, сопоставимое с временем для ветви программы. Недавний анализ Митчем Олсупом книги Джеймса Торнтона "Проектирование компьютера" показал, что блок операций с плавающей точкой 6600 представляет собой двухступенчатую конвейерную конструкцию.

Сложение и вычитание 60-битных чисел с фиксированной точкой обрабатывалось в Long Add Unit с использованием дополнения по единице для отрицательных чисел. Умножение с фиксированной точкой выполнялось как особый случай в блоке умножения с плавающей точкой — если показатель степени был равен нулю, блок FP выполнял умножение с одинарной точностью 48-битных чисел с плавающей точкой и очищал старшую часть показателя степени, что приводило к 48-битному целочисленному результату. Целочисленное деление выполнялось макросом, преобразуя в плавающую точку и обратно. [31]

Ранее выполненные инструкции сохранялись в кэше из восьми слов , называемом «стеком». Переходы в стеке были быстрее, чем переходы вне стека, поскольку не требовалось извлечения памяти. Стек очищался инструкцией безусловного перехода, поэтому безусловные переходы в конце циклов традиционно записывались как условные переходы, которые всегда завершались успешно.

Система использовала тактовую частоту 10  МГц с четырехфазным сигналом . Умножение с плавающей точкой занимало десять циклов, деление — 29, а общая производительность, с учетом задержек памяти и других проблем, составляла около 3  MFLOPS . Используя лучшие доступные компиляторы, в конце истории машины программы на FORTRAN могли рассчитывать на поддержание около 0,5 MFLOPS.

Организация памяти

Пользовательские программы ограничены использованием только смежной области основной памяти. Часть памяти, к которой имеет доступ исполняемая программа, контролируется регистрами RA (относительный адрес) и FL (длина поля), которые недоступны пользовательской программе. Когда пользовательская программа пытается прочитать или записать слово в центральной памяти по адресу a , процессор сначала проверит, что a находится между 0 и FL-1. Если это так, процессор обращается к слову в центральной памяти по адресу RA+a. Этот процесс известен как перемещение с привязкой к базе ; каждая пользовательская программа видит основную память как непрерывный блок слов длиной FL, начиная с адреса 0; на самом деле программа может находиться в любом месте физической памяти. Используя эту технику, каждая пользовательская программа может быть перемещена («перемещена») в основной памяти операционной системой, пока регистр RA отражает ее положение в памяти. Пользовательская программа, которая пытается получить доступ к памяти за пределами разрешенного диапазона (то есть с адресом, который не меньше FL), вызовет прерывание и будет завершена операционной системой. Когда это происходит, операционная система может создать дамп ядра, который записывает содержимое памяти программы и регистрирует в файле, предоставляя разработчику программы возможность узнать, что произошло. Обратите внимание на различие с системами виртуальной памяти ; в этом случае все адресуемое пространство процесса должно находиться в основной памяти, должно быть непрерывным, и его размер не может быть больше, чем реальный объем памяти.

Все машины серии CDC 6000, кроме первых семи, могли быть сконфигурированы с дополнительной системой Extended Core Storage (ECS). ECS была построена из другого типа основной памяти, чем та, что использовалась в центральной памяти. Эта память была медленнее, но достаточно дешевой, чтобы ее можно было сделать намного больше. Основной причиной было то, что память ECS была подключена всего двумя проводами на ядро ​​(в отличие от пяти для центральной памяти). Поскольку она выполняла очень широкие передачи, ее последовательная скорость передачи была такой же, как у небольшой основной памяти. ЦП 6000 мог напрямую выполнять блочные передачи памяти между пользовательской программой (или операционной системой) и блоком ECS. Использовались широкие пути данных, поэтому это была очень быстрая операция. Границы памяти поддерживались аналогично центральной памяти, с механизмом RA/FL, поддерживаемым операционной системой. ECS могла использоваться для различных целей, включая хранение массивов пользовательских данных, которые были слишком велики для центральной памяти, хранение часто используемых файлов, подкачку и даже в качестве пути связи в комплексе с несколькими мэйнфреймами.

Периферийные процессоры (ПП)

Для выполнения «хозяйственных» задач, которые в других проектах были назначены ЦП, Крей включил десять других процессоров, частично основанных на его более раннем [ когда? ] компьютере CDC 160-A. Эти машины, называемые периферийными процессорами, или ПП, сами по себе были полноценными компьютерами, но были настроены на выполнение задач ввода-вывода и работу операционной системы. (Значительные части операционной системы работали на ПП; таким образом, большая часть мощности центрального процессора оставалась доступной для пользовательских программ.) Только ПП имели доступ к каналам ввода-вывода . Один из ПП (ПП0) осуществлял общее управление машиной, включая управление программой, работающей на главном ЦП, в то время как другие были выделены для различных задач ввода-вывода; ПП9 был выделен для системной консоли. Когда программе ПП требовалось выполнить функцию операционной системы, она помещала запрос в известное местоположение ( адрес ссылки + 1), контролируемое [32] ПП0. При необходимости PP0 назначит другой PP для загрузки необходимого кода и обработки запроса. Затем PP очистит RA+1, чтобы сообщить программе CP, что задача выполнена.

Уникальная роль PP0 в управлении машиной была потенциальной единой точкой отказа, поскольку неисправность здесь могла бы вывести из строя всю машину, даже если девять других PP и CPU все еще функционировали должным образом. Cray исправил это в конструкции преемника 7600, когда любой из PP мог быть контроллером, а CPU мог переназначить любой на эту роль. [ когда? ]

Каждый PP включал собственную память из 4096 12-битных слов. Эта память служила как для буферизации ввода-вывода, так и для хранения программ, но исполнительные блоки были общими для десяти PP в конфигурации, называемой Barrel and slot . Это означало, что исполнительные блоки («слот») выполняли один цикл инструкций из первого PP, затем один цикл инструкций из второго PP и т. д. по круговой схеме. Это было сделано как для снижения затрат, так и потому, что доступ к памяти CP требовал 10 тактов PP: когда PP обращается к памяти CP, данные становятся доступны в следующий раз, когда PP получает свое время слота.

Доступ к центральному процессору

В дополнение к обычному набору инструкций, ПП имеют несколько инструкций, специально предназначенных для связи с центральным процессором. [33] : стр.4-24–4-27 

Длины слов, символы

Центральный процессор имеет 60-битные слова, в то время как периферийные процессоры имеют 12-битные слова. CDC использовал термин «байт» для обозначения 12-битных сущностей, используемых периферийными процессорами; символы имеют размер 6 бит, а инструкции центрального процессора имеют размер либо 15 бит, либо 30 бит с 18-битным адресным полем со знаком, последнее позволяет напрямую адресуемое пространство памяти в 128 К слов центральной памяти (переведенное на современный язык, с 8-битными байтами, это чуть меньше 1 МБ). Знаковая природа адресных регистров ограничивает отдельную программу 128 К слов. (Более поздние машины, совместимые с CDC 6000, могли иметь 256 К или более слов центральной памяти, если позволял бюджет, но отдельные пользовательские программы все еще были ограничены 128 К слов CM.) Инструкции центрального процессора начинаются на границе слова, когда они являются целью оператора перехода или инструкции возврата подпрограммы, поэтому иногда требуются инструкции no-op для заполнения последних 15, 30 или 45 бит слова. Опытные программисты на ассемблере могли тонко настраивать свои программы, заполняя эти пробелы no-op различными инструкциями, которые понадобятся позже в программе.

6 -битные символы в кодировке, называемой кодом отображения CDC , [34] [35] [36] могли использоваться для хранения до 10 символов в слове. Они допускали набор символов из 64 символов, что достаточно для всех заглавных букв, цифр и некоторых знаков препинания. Этого было определенно достаточно, чтобы писать на FORTRAN или печатать финансовые или научные отчеты. Фактически использовались два варианта наборов символов кода отображения CDC — 64-символьный и 63-символьный. 64-символьный набор имел тот недостаток, что символ «:» (двоеточие) игнорировался (интерпретировался как заполнение нулями), если он был последним символом в слове. Дополнительный вариант, называемый кодом отображения 6/12 , также использовался в системах разделения времени Kronos и NOS , чтобы разрешить полное использование набора символов ASCII способом, в некоторой степени совместимым со старым программным обеспечением. [37]

При отсутствии инструкций по байтовой адресации приходилось писать код для упаковки и перемещения символов в слова. Очень большие слова и сравнительно небольшой объем памяти означали, что программисты часто экономили память, упаковывая данные в слова на уровне битов.

Из-за большого размера слова и 10 символов в слове часто было быстрее обрабатывать символы, составляющие слово, за раз, чем распаковывать/обрабатывать/переупаковывать их. Например, компилятор CDC COBOL на самом деле был довольно хорош в обработке десятичных полей с использованием этой техники. Такого рода техники теперь [ когда? ] широко используются в "мультимедийных" инструкциях современных процессоров.

Физический дизайн

Модуль логики CDC 6600 Cordwood , содержащий 64 кремниевых транзистора. Коаксиальные разъемы являются контрольными точками. Модуль охлаждается кондуктивно через переднюю панель. Модель 6600 содержала около 6000 таких модулей. [38]

Машина была построена в корпусе в форме знака плюс с насосом и теплообменником в самых дальних 18 дюймах (46 см) каждого из четырех плеч. Охлаждение осуществлялось с помощью фреона , циркулирующего внутри машины и обменивающегося теплом с внешним источником охлажденной воды. Каждое плечо могло вмещать четыре шасси, каждое толщиной около 8 дюймов (20 см), шарнирно соединенных около центра и открывающихся немного как книга. Пересечение «плюса» было заполнено кабелями, которые соединяли шасси. Шасси были пронумерованы от 1 (содержащее все 10 PPU и их память, а также 12 довольно минимальных каналов ввода-вывода) до 16. Основная память для ЦП была распределена по многим шасси. В системе с только 64К слов основной памяти одно из плеч «плюса» было опущено.

Логика машины была упакована в модули размером около 2,5 дюйма (64 мм) в квадрате и около 1 дюйма (2,5 см) в толщину. Каждый модуль имел разъем (30 контактов, два вертикальных ряда по 15) на одном краю и шесть контрольных точек на противоположном краю. Модуль был помещен между двумя алюминиевыми холодными пластинами для отвода тепла. Модуль состоял из двух параллельных печатных плат с компонентами, установленными либо на одной из плат, либо между двумя платами. Это обеспечивало очень плотную упаковку; как правило, не поддающуюся ремонту, но с хорошими характеристиками теплопередачи. Она была известна как конструкция из кордвуда .

Операционная система и программирование

Была больная тема с поддержкой операционной системы 6600 — срыв сроков. Первоначально [ когда? ] машины работали под управлением очень простой системы управления заданиями, известной как COS ( операционная система Chippewa ), которая была быстро «слеплена» на основе более ранней операционной системы CDC 3000 , чтобы что-то работало для тестирования систем перед поставкой. Однако машины должны были поставляться с гораздо более мощной системой, известной как SIPROS (Simultaneous Processing Operating System), которая разрабатывалась в подразделении System Sciences Division компании в Лос-Анджелесе . Клиенты были впечатлены списком функций SIPROS, и многие включили SIPROS в свои контракты на поставку.

SIPROS оказался крупным фиаско. Сроки разработки продолжали срываться, что стоило CDC больших сумм прибыли в виде штрафов за задержку поставки. После нескольких месяцев ожидания с машинами, готовыми к отправке, проект в конечном итоге был отменен. Программисты, работавшие над COS, не верили в SIPROS и продолжали работать над улучшением COS.

Затем разработка операционной системы разделилась на два лагеря. Эволюция COS, одобренная CDC, была предпринята в лаборатории разработки программного обеспечения в Саннивейле, Калифорния . Многие клиенты в конечном итоге получили свои системы с этим программным обеспечением, тогда известным как SCOPE (Supervisory Control Of Program Execution). SCOPE версии 1 была, по сути, разобранной COS; SCOPE версии 2 включала поддержку новых устройств и файловой системы; SCOPE версии 3 включала постоянную поддержку файлов, удаленную пакетную поддержку EI/200 и поддержку разделения времени INTERCOM . У SCOPE всегда были значительные проблемы с надежностью и ремонтопригодностью.

CDC 6000 series SCOPE 3.1 самосборка во время работы на настольном эмуляторе CYBER

Подпольная эволюция COS происходила на сборочном заводе в Арден-Хиллз, штат Миннесота . [ когда? ] MACE ([Грег] Мэнсфилд и [Дэйв] Кэландер, руководитель) была написана в основном одним программистом в нерабочее время, когда машины были доступны. Ее набор функций был по сути таким же, как у COS и SCOPE 1. Она сохранила более раннюю файловую систему COS, но внесла значительные улучшения в модульность кода для повышения надежности системы и адаптивности к новым устройствам хранения данных. MACE никогда не была официальным продуктом, хотя многие клиенты смогли выпросить копию у CDC.

Неофициальное программное обеспечение MACE было позже выбрано вместо официального продукта SCOPE в качестве основы следующей операционной системы CDC, Kronos , названной в честь греческого бога времени . История гласит [ когда? ] , что Дэйв Мэнсфилд позвонил в библиотеку Университета Миннесоты и попросил древнее слово, означающее «время». Он написал «Kronos» вместо «Chronos». Основной маркетинговой причиной его принятия была разработка его функции разделения времени TELEX и его удаленной пакетной функции BATCHIO. Kronos продолжал использовать файловую систему COS/SCOPE 1 с добавлением функции постоянного файла.

Попытка объединить операционные системы SCOPE и Kronos привела к появлению NOS (сетевая операционная система). [ когда? ] NOS должна была стать единственной операционной системой для всех машин CDC, что CDC активно продвигала. Многие клиенты SCOPE оставались программно зависимыми от архитектуры SCOPE, поэтому CDC просто переименовали ее в NOS/BE (пакетная среда) и могли утверждать, что все таким образом используют NOS. На практике было гораздо проще модифицировать кодовую базу Kronos, чтобы добавить функции SCOPE, чем наоборот.

Среда сборочного завода также производила другие операционные системы, которые никогда не предназначались для использования клиентами. [ когда? ] К ним относятся инженерные инструменты SMM для тестирования оборудования и KALEIDOSCOPE для дымового тестирования программного обеспечения . Другим часто используемым инструментом для полевых инженеров CDC во время тестирования был MALET (язык приложений для обслуживания оборудования), который использовался для стресс-тестирования компонентов и устройств после ремонта или обслуживания инженерами. В условиях тестирования часто использовались жесткие диски и магнитные ленты, которые были намеренно помечены ошибками, чтобы определить, будут ли ошибки обнаружены MALET и инженером.

Названия SCOPE и COMPASS использовались компанией CDC как для серии CDC 6000 , включая 6600, так и для серии CDC 3000 :

ЦКЗ 7600

CDC 7600 изначально [ когда? ] предназначался для полной совместимости с существующими машинами серии 6000; он начал свою жизнь под названием CDC 6800. Но во время его проектирования конструкторы определили, что сохранение полной совместимости с существующими машинами серии 6000 ограничит то, насколько они могут улучшить производительность, и решили пожертвовать совместимостью ради производительности. В то время как ЦП CDC 7600 был в основном совместим по инструкциям с ЦП 6400 и 6600, что позволяло переносить код на уровне исходного кода языка высокого уровня , аппаратное обеспечение CDC 7600, особенно его периферийных процессорных блоков (PPU), было совершенно другим, и для CDC 7600 требовалась другая операционная система. Это оказалось в некоторой степени удачным, поскольку позволило разработчикам улучшить некоторые характеристики дизайна серии 6000, такие как полная зависимость последнего от периферийных процессоров (PP), особенно первого (называемого PP0), для управления работой всей компьютерной системы, включая ЦП. В отличие от ЦП 6600, ЦП CDC 7600 мог управлять своей собственной работой с помощью инструкции Central Exchange jump (XJ), которая меняла все содержимое регистров с основной памятью. Фактически, машины серии 6000 были модернизированы с этой возможностью.

Смотрите также

Ссылки

  1. ^ Обзор Адамса 1968 г.
  2. ^ ab Компьютерный справочник и руководство покупателя 1967
  3. ^ Подготовка площадки для серии abc 6000, сентябрь 65 г.
  4. ^ "Control Data 6600: The Supercomputer Arrives". Dr. Dobb's . Архивировано из оригинала 2017-06-05 . Получено 2018-10-06 .
  5. ^ Руководство по обучению работе с центральным процессором CDC 6400, февраль 67 г.
  6. ^ Анонс продукта Cyber ​​70
  7. ^ История и результаты сравнительного анализа Whetstone
  8. ^ Кэйтон, Эндрю Р.Л.; Сиссон, Ричард; Захер, Крис (2006). Американский Средний Запад: Интерпретативная энциклопедия. Издательство Индианского университета. ISBN 0253003490.
  9. ^ "CDC 6600 – Историческая интерлюдия: от мэйнфрейма к мини-компьютеру. Часть 2. IBM и семь гномов – они создают миры". 8 ноября 2014 г.
  10. ^ "Спроектированный Сеймуром Крейем, CDC 6600 был почти в три раза быстрее, чем следующая самая быстрая машина своего времени, IBM 7030 Stretch". Making a World of Difference: Engineering Ideas into Reality. Национальная инженерная академия. 2014. ISBN 978-0309312653.
  11. ^ "В 1964 году CDC 6600 компании Cray заменил Stretch в качестве самого быстрого компьютера на Земле". Софрониу, Андреас (2013). Экспертные системы, инженерия знаний для репликации человека. Lulu.com. ISBN 978-1291595093.
  12. ^ Энтони, Себастьян (10 апреля 2012 г.). «История суперкомпьютеров». ExtremeTech . Получено 2015-02-02 .
  13. ^ "CDC 6600". Encyclopaedia Britannica . Получено 2015-02-02 .
  14. ^ "Проект 7600 просуществовал дольше, чем любой другой проект суперкомпьютера. Он имел самую высокую производительность среди всех компьютеров с момента своего появления в 1969 году до появления Cray 1 в 1976 году." "CDC 7600". Архивировано из оригинала 2016-05-15 . Получено 2017-10-15 .
  15. ^ Н. Льюис, «Покупательная способность: соперничество, разногласия и вычислительная стратегия при выборе суперкомпьютера в Лос-Аламосе», в IEEE Annals of the History of Computing, т. 39, № 3 (2017): 25-40, 2017 [1]
  16. ^ "CDC 6600 прибывает в ЦЕРН". Хронология ЦЕРН .
  17. Compagnie Lyonnaise de Cinéma (14 января 1965 г.). «Компьютер Contral Data 6600 прибывает в ЦЕРН, Европейскую организацию по ядерным исследованиям». Видеоролики CDS .
  18. ^ "Bumper Crop". Обзор исследований . Lawrence Berkeley Laboratory . 1981. Архивировано из оригинала 2018-01-18 . Получено 2017-05-04 .
  19. ^ "Control Data 6600: The Supercomputer Arrives". Архивировано из оригинала 7 июля 2019 года.
  20. ^ "Control Data Corporation, прототип "Little Character"". Музей истории компьютеров . Получено 21 апреля 2016 г.
  21. Говард, Тоби (февраль 1997 г.). «Сеймур Крей: признание». Personal Computer World .
  22. ^ LJ Lander; TR Parkin (1966). «Контрпример к гипотезе Эйлера о суммах одинаковых степеней». Bull. Amer. Math. Soc . 72 : 1079. doi : 10.1090/S0002-9904-1966-11654-3 .
  23. ^ Марк Д. Хилл; Норман П. Джуппи ; Гуриндар С. Сохи, ред. (23 сентября 1999 г.). Чтения по компьютерной архитектуре . Морган Кауфманн. стр. 11. ISBN 978-1558605398.
  24. Точное изображение меморандума можно найти в: «Меморандум Уотсона-младшего о CDC 6600». 28 августа 1963 г.
  25. ^ Smotherman, Mark; Spicer, Dag (декабрь 2010 г.). «Попытки IBM создать однопроцессорный суперкомпьютер». Communications of the ACM . 53 (12). Association for Computing Machinery : 28–30. doi : 10.1145/1859204.1859216. S2CID  23816526.
  26. ^ Серия UNIVAC 1100/2200 по- прежнему обеспечивает среду с дополнительным кодом, но с использованием аппаратного обеспечения с дополнительным кодом.
  27. ^ "Рисунок 6-1. Панель мертвого пуска" (PDF) . Control Data - 6000 Series - Computer Systems (PDF) . стр. 6-3 . Получено 6 октября 2023 г. .
  28. ^ Торнтон, Джеймс (1 декабря 1970 г.). Проектирование компьютера: данные управления 6600. стр. 20. ISBN 978-0673059536.
  29. ^ Справочное руководство по оборудованию серии Control Data 6000 (PDF) . 1978.
  30. ^ Хейс, Джон П. (1978), Архитектура и организация компьютеров , стр. 163, ISBN 0-07-027363-4
  31. ^ "Архивная копия". Архивировано из оригинала 2014-01-02 . Получено 2005-06-13 .{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  32. ^ Это описание охватывает ранние версии программного обеспечения CDC; более поздние версии использовали инструкцию перехода к центральному обмену (XJ) для снижения накладных расходов на функции, которые могли быть выполнены полностью в CP.
  33. ^ ab Control Data Corporation (1965). Справочное руководство по компьютерным системам серии Control Data® 6000 (PDF) . Получено 28 марта 2023 г.
  34. ^ Термин "Display code" был связан с CDC, так же как "EBCDIC" был *первоначально* связан с IBM. Другими терминами, используемыми в отрасли, были BCD и SIXBIT (последний предпочитала DEC)
  35. ^ «Коды символов DEC/PDP».
  36. ^ "SIXBIT Character Code Reference". Архивировано из оригинала 2016-11-24 . Получено 2017-10-15 .
  37. ^ "CDC Кронос" (PDF) .
  38. Понимание компьютеров: скорость и мощность 1990, стр. 17.
  39. ^ "COMPASS для 24-битных машин" (PDF) . Архивировано из оригинала (PDF) 2012-09-10 . Получено 2017-10-15 .
  40. ^ "КОМПАС для 48-битных машин" (PDF) .
  41. ^ "CDC предоставила раннюю версию своей операционной системы SCOPE для 3600" Хенли, Эрнест Дж.; Льюинс, Джеффри (2014). Достижения в области ядерной науки и техники. Elsevier. ISBN 978-1483215662.

Дальнейшее чтение

Внешние ссылки