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. Вслед за экспериментальной машиной, известной как « Маленький персонаж» , [20] в 1960 году они выпустили CDC 1604 , один из первых коммерческих компьютеров на основе транзисторов и одну из самых быстрых машин на рынке. Руководство было в восторге и планировало выпустить новую серию машин, более приспособленную для использования в бизнесе; например, они будут включать инструкции по работе с персонажами и ведению учета. Крея такой проект не интересовал, и он поставил перед собой цель создать новую машину, которая была бы в 50 раз быстрее, чем 1604. На вопрос [ когда? ] чтобы составить подробный отчет о планах на год и пять лет вперед, он ответил, что его пятилетняя цель заключалась в том, чтобы «выпустить самый большой компьютер в мире», причем «крупнейший» в то время был синонимом «самого быстрого» и что его годовой план состоял в том, чтобы «пройти одну пятую пути».

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

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

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

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

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

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

Описание

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

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

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

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

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

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

В то время как другие машины того времени имели сложные передние панели для управления ими, у 6600 была только панель запуска . [25] Существует консоль с двойной ЭЛТ-системой, но она управляется операционной системой и не управляет и не отображает оборудование напрямую.

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

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

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

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

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

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

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

Модели

Серия 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). ПРОЦЕССОР).

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

Центральный процессор (ЦП) и основная память машин 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. Никаких побочных эффектов не было связано с А0. Отдельный аппаратный блок загрузки/сохранения, называемый каскадным блоком , обрабатывал фактическое перемещение данных независимо от работы потока команд, позволяя выполнять другие операции во время доступа к памяти, что в лучшем случае требовало восьми циклов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The 6-bit characters, in an encoding called CDC display code,[32][33][34] could be used to store up to 10 characters in a word. They permitted a character set of 64 characters, which is enough for all upper case letters, digits, and some punctuation. It was certainly enough to write FORTRAN, or print financial or scientific reports. There were actually two variations of the CDC display code character sets in use — 64-character and 63-character. The 64-character set had the disadvantage that the ":" (colon) character would be ignored (interpreted as zero fill) if it were the last character in a word. A complementary variant, called 6/12 display code, was also used in the Kronos and NOS timesharing systems to allow full use of the ASCII character set in a manner somewhat compatible with older software.[35]

With no byte addressing instructions at all, code had to be written to pack and shift characters into words. The very large words, and comparatively small amount of memory, meant that programmers would frequently economize on memory by packing data into words at the bit level.

Due to the large word size, and with 10 characters per word, it was often faster to process a word's worth of characters at a time, rather than unpacking/processing/repacking them. For example, the CDC COBOL compiler was actually quite good at processing decimal fields using this technique. These sorts of techniques are now[when?] commonly used in the "multi-media" instructions of current processors.

Physical design

A CDC 6600 cordwood logic module containing 64 silicon transistors. The coaxial connectors are test points. The module is cooled conductively via the front panel. The 6600 model contained nearly 6,000 such modules.[36]

The machine was built in a plus-sign-shaped cabinet with a pump and heat exchanger in the outermost 18 in (46 cm) of each of the four arms. Cooling was done with Freon circulating within the machine and exchanging heat to an external chilled water supply. Each arm could hold four chassis, each about 8 in (20 cm) thick, hinged near the center, and opening a bit like a book. The intersection of the "plus" was filled with cables that interconnected the chassis. The chassis were numbered from 1 (containing all 10 PPUs and their memories, as well as the 12 rather minimal I/O channels) to 16. The main memory for the CPU was spread over many of the chassis. In a system with only 64K words of main memory, one of the arms of the "plus" was omitted.

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

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

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

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

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

CDC 6000 серии SCOPE 3.1 строится при работе на настольном эмуляторе CYBER

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

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

Попытка унифицировать продукты операционной системы SCOPE и Kronos привела к появлению NOS , (Network Operating System). [ когда? ] NOS задумывалась как единственная операционная система для всех компьютеров CDC, и CDC активно продвигал этот факт. Многие клиенты SCOPE оставались программно-зависимыми от архитектуры SCOPE, поэтому CDC просто переименовал ее в NOS/BE (Batch Environment) и мог утверждать, что таким образом все используют 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 мог управлять своей собственной работой с помощью инструкции перехода центрального обмена (XJ), которая меняла местами все содержимое регистров с основной памятью. Фактически, машины серии 6000 были оснащены этой возможностью.

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

Рекомендации

  1. ^ Исследование ab Адамса, 1968 г.
  2. ^ ab Компьютерный каталог и руководство покупателя, 1967 г.
  3. ^ Подготовка площадки для серии abc 6000, 65 сентября.
  4. ^ «Управляющие данные 6600: Прибытие суперкомпьютера» . Доктор Добб . Архивировано из оригинала 5 июня 2017 г. Проверено 6 октября 2018 г.
  5. ^ Руководство по обучению центральному процессору CDC 6400, февраль 67 г.
  6. ^ Анонс продукта Cyber ​​70
  7. ^ ab История и результаты теста Whetstone Benchmark
  8. ^ Кейтон, Эндрю Р.Л.; Сиссон, Ричард; Захер, Крис (2006). Средний Запад Америки: Интерпретационная энциклопедия. Издательство Университета Индианы. ISBN 0253003490.
  9. ^ «CDC 6600 - Историческая интерлюдия: от мэйнфрейма к миникомпьютеру, часть 2, IBM и семь гномов - они создают миры» . 8 ноября 2014 г.
  10. ^ «Разработанный Сеймуром Креем, CDC 6600 был почти в три раза быстрее, чем следующая самая быстрая машина того времени, IBM 7030 Stretch». Изменение мира: воплощение инженерных идей в реальность. Национальная инженерная академия. 2014. ISBN 978-0309312653.
  11. ^ «В 1964 году CDC 6600 Крея заменил Stretch как самый быстрый компьютер на Земле». Софрониу, Андреас (2013). Экспертные системы, инженерия знаний для репликации человека. Лулу.com. ISBN 978-1291595093.
  12. Энтони, Себастьян (10 апреля 2012 г.). «История суперкомпьютеров». ЭкстримТех . Проверено 2 февраля 2015 г.
  13. ^ "CDC 6600". Британская энциклопедия . Проверено 2 февраля 2015 г.
  14. ^ «Конструкция 7600 просуществовала дольше, чем любая другая конструкция суперкомпьютера. Она имела самую высокую производительность среди всех компьютеров с момента ее появления в 1969 году до появления Cray 1 в 1976 году». «КДЦ 7600». Архивировано из оригинала 15 мая 2016 г. Проверено 15 октября 2017 г.
  15. ^ Н. Льюис, «Покупательная способность: соперничество, разногласия и вычислительная стратегия при выборе суперкомпьютера в Лос-Аламосе», в IEEE Annals of the History of Computing, vol. 39 нет. 3 (2017): 25-40, 2017 [1]
  16. ^ «CDC 6600 прибывает в ЦЕРН» . График работы ЦЕРН .
  17. ^ Compagnie Lyonnaise de Cinéma (14 января 1965 г.). «Компьютер Contral Data 6600 прибывает в ЦЕРН, Европейскую организацию ядерных исследований». CDS-видео .
  18. ^ "Большой урожай". Обзор исследований . Лаборатория Лоуренса Беркли . 1981. Архивировано из оригинала 18 января 2018 г. Проверено 4 мая 2017 г.
  19. ^ «Управляющие данные 6600: Прибытие суперкомпьютера» . Архивировано из оригинала 7 июля 2019 года.
  20. ^ «Корпорация Control Data, прототип «Маленького персонажа»» . Музей истории компьютеров . Проверено 21 апреля 2016 г.
  21. ^ Марк Д. Хилл; Норман П. Джуппи ; Гуриндар С. Сохи, ред. (23 сентября 1999 г.). Чтения по компьютерной архитектуре . Морган Кауфманн. п. 11. ISBN 978-1558605398.
  22. ^ Точное изображение заметки содержится в: «Записка Уотсона-младшего о CDC 6600». 28 августа 1963 года.
  23. ^ Смозерман, Марк; Спайсер, Даг (декабрь 2010 г.). «Усилия IBM по созданию однопроцессорного суперкомпьютера». Коммуникации АКМ . Ассоциация вычислительной техники . 53 (12): 28–30. дои : 10.1145/1859204.1859216. S2CID  23816526.
  24. ^ Серия UNIVAC 1100/2200 по-прежнему обеспечивает среду с дополнением до одного, но с использованием аппаратного обеспечения с дополнением до двух.
  25. ^ «Рисунок 6-1. Панель мертвого старта» (PDF) . Управляющие данные — Серия 6000 — Компьютерные системы (PDF) . п. 6-3 . Проверено 6 октября 2023 г.
  26. Торнтон, Джеймс (1 декабря 1970 г.). Проектирование компьютера: управляющие данные 6600. с. 20. ISBN 978-0673059536.
  27. ^ Справочное руководство по аппаратному обеспечению Control Data серии 6000 (PDF) . 1978.
  28. ^ Хейс, Джон П. (1978), Компьютерная архитектура и организация , стр. 163, ISBN 0-07-027363-4
  29. ^ «Архивная копия». Архивировано из оригинала 2 января 2014 г. Проверено 13 июня 2005 г.{{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  30. ^ Это описание охватывает ранние версии программного обеспечения CDC; в более поздних версиях использовалась инструкция перехода к центральному обмену (XJ), чтобы уменьшить накладные расходы на функции, которые могли быть полностью выполнены в CP.
  31. ^ ab Control Data Corporation (1965). Справочное руководство по компьютерным системам Control Data® серии 6000 (PDF) . Проверено 28 марта 2023 г.
  32. ^ Термин «Код отображения» был связан с CDC так же, как «EBCDIC» *первоначально* ассоциировался с IBM. Другими терминами, используемыми в отрасли, были BCD и SIXBIT (последний предпочитается DEC).
  33. ^ «Коды символов DEC/PDP» .
  34. ^ "Справочник по коду символов SIXBIT" . Архивировано из оригинала 24 ноября 2016 г. Проверено 15 октября 2017 г.
  35. ^ "CDC Кронос" (PDF) .
  36. ^ Понимание компьютеров: скорость и мощность 1990, с. 17.
  37. ^ «КОМПАС для 24-битных машин» (PDF) . Архивировано из оригинала (PDF) 10 сентября 2012 г. Проверено 15 октября 2017 г.
  38. ^ «КОМПАС для 48-битных машин» (PDF) .
  39. ^ «CDC предоставила раннюю версию своей операционной системы SCOPE для 3600» Хенли, Эрнест Дж.; Льюинс, Джеффри (2014). Достижения ядерной науки и технологий. Эльзевир. ISBN 978-1483215662.

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

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