CDC 6600 - CDC 6600 - Wikipedia

CDC 6600
CDC 6600 Overview.png
3D-рендеринг с фигурой в масштабе
Дизайн
ПроизводительКорпорация Control Data
ДизайнерСеймур Крей
Дата выходаСентябрь 1964[1]
Проданных единиц100+[2]
Цена2 370 000 долл. США[3] (что эквивалентно 19 540000 долларов США в 2019 году)
Кожух
РазмерыВысота: 200 см (79 дюймов)
Ширина корпуса: 89 см (35 дюймов)[4]

Длина корпуса: 183 см (72 дюйма)[4]

Общая ширина: 455 см (179 дюймов)[4]
Массаоколо 12000 фунтов (6,0 коротких тонн; 5,4 т)[5]
Мощность30 кВт @ 208 В 400 Гц[6][3]
Система
Операционная системаСФЕРА, КРОНОС[7]
ЦПУ60 бит процессор @ 10 МГц[8]
объем памятиДо 982 килобайты (131000 x 60 бит)[1]
MIPS2 MIPS[8]
ПредшественникCDC 1604
ПреемникCDC 7600

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

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

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

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

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

Первые продукты CDC были основаны на машинах, разработанных в ЭРА, который Сеймур Крей было предложено обновить после перехода в CDC. После экспериментальной машины, известной как Маленький персонаж,[20] в 1960 году они доставили CDC 1604, один из первых рекламных компьютеры на базе транзисторов, и одна из самых быстрых машин на рынке. Руководство было в восторге и составило план по выпуску новой серии машин, более приспособленных для использования в бизнесе; они будут включать, например, инструкции по работе с персонажами и ведению записей. Крей не был заинтересован в таком проекте и поставил перед собой цель произвести новую машину, которая будет в 50 раз быстрее, чем 1604. Когда его попросили составить подробный отчет о планах на один и пять лет вперед, он ответил что его пятилетняя цель заключалась в том, чтобы «произвести самый большой компьютер в мире», «самый большой» в то время был синонимом «самого быстрого», и что его годовой план был «достичь одной пятой пути».

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

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

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

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

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

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

Описание

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

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

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

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

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

Позже CDC предложила варианты количества и типа CP, PP и каналов, например, CDC 6700 имел 6400 CP и 6600 CP.

Периферийные процессоры (характеристики)

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

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

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

Архитектура набора команд

В основе процессора 6600 лежит то, что сегодня назвали бы RISC система, в которой процессор настроен на выполнение сравнительно простых инструкций с ограниченным и четко определенным доступом к памяти. Философия многих других машин заключалась в использовании сложных инструкций - например, одной инструкции, которая извлекала бы операнд из памяти и добавляла его к значению в регистре. В 6600 для загрузки значения из памяти потребуется одна инструкция, а для ее добавления - вторая. Хотя теоретически медленнее из-за дополнительных обращений к памяти, тот факт, что в хорошо спланированном коде несколько инструкций могут обрабатываться параллельно, снимает эти расходы. Это упрощение также вынудило программистов быть очень осведомленными о своих доступах к памяти, и поэтому код намеренно сокращал их насколько возможно.

Модели

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

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

Регистры CDC 6x00
59. . .17. . .00(битовая позиция)
Регистры операндов (60 бит)
X0Регистрация 0
X1Регистр 1
X2Регистр 2
X3Регистр 3
X4Регистр 4
X5Регистр 5
X6Регистр 6
X7Регистр 7
Регистры адресов (18 бит)
 A0Адрес 0
 A1адрес 1
 A2Адрес 2
 A3Адрес 3
 A4Адрес 4
 A5Адрес 5
 A6Адрес 6
 A7Адрес 7
Регистры инкремента (18 бит)
 B0 (все биты нулевые)Приращение 0
 B1Приращение 1
 Би 2Приращение 2
 B3Приращение 3
 B4Приращение 4
 B5Приращение 5
 B6Приращение 6
 B7Приращение 7

Центральный процессор (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-битную плавающая точка умножение во времени сравнимо с таковым для ветви программы.

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

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

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

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

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

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

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

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

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

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

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

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

В 6-битные символы, в кодировке, называемой Код дисплея CDC,[28][29][30] может использоваться для хранения до 10 символов в слове. Они разрешили набор символов из 64 символов, что достаточно для всех букв верхнего регистра, цифр и некоторых знаков препинания. Разумеется, этого было достаточно, чтобы написать FORTRAN, напечатать финансовые или научные отчеты. Фактически было два варианта использования наборов кодовых символов дисплея CDC - 64-символьный и 63-символьный. 64-символьный набор имел недостаток, заключающийся в том, что два последовательных символа «:» (двоеточие) могли быть интерпретированы как конец строки, если они попадали в конец 10-байтового слова. Более поздний вариант, названный 6/12 дисплейный код, также использовался в Кронос и NOS системы разделения времени, позволяющие полностью использовать ASCII набор символов, в некоторой степени совместимый со старым программным обеспечением.[31]

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

Из-за большого размера слова и с 10 символами в слове часто было быстрее обрабатывать несколько слов из символов за раз, чем распаковывать / обрабатывать / переупаковывать их. Например, CDC КОБОЛ компилятор действительно неплохо справлялся с обработкой десятичных полей с использованием этой техники. Подобные методы теперь широко используются в «мультимедийных» инструкциях современных процессоров.

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

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

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

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

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

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

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

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

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

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

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

Попытка унифицировать выпускаемые продукты ОС SCOPE и Kronos. NOS, (Сетевая операционная система). 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 серии:

CDC 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. ^ а б «Контрольные данные 6600: прибытие суперкомпьютера». Архивировано из оригинал 7 июля 2019 г.
  3. ^ а б Компьютерный справочник и руководство покупателя 1967
  4. ^ а б c Справочник по системному оборудованию, август 75 г.
  5. ^ "Control Data 6600: Суперкомпьютер прибыл". Доктора Добба. Архивировано из оригинал на 2017-06-05. Получено 2018-10-06.
  6. ^ Руководство по обучению центральному процессору CDC 6400, фев 67
  7. ^ Объявление о продукте Cyber ​​70
  8. ^ а б История и результаты теста Whetstone Benchmark
  9. ^ Cayton, Andrew R. L .; Сиссон, Ричард; Закер, Крис (2006). Средний Запад Америки: интерпретирующая энциклопедия. ISBN  0253003490.
  10. ^ "CDC 6600 - Историческая интерлюдия: от мэйнфрейма до мини-компьютера, часть 2, IBM и семь гномов - они создают миры". 8 ноября 2014 г.
  11. ^ "Designed by Seymour Cray, the CDC 6600 was almost three times faster than the next fastest machine of its day, the IBM 7030 Stretch." Making a World of Difference: Engineering Ideas into Reality. Национальная инженерная академия. 2014 г. ISBN  0309312655.
  12. ^ "In 1964 Cray's CDC 6600 replaced Stretch as the fastest computer on Earth." Sofroniou, Andreas (2013). Expert Systems, Knowledge Engineering for Human Replication. ISBN  1291595090.
  13. ^ Anthony, Sebastian (April 10, 2012). "The History of Supercomputers". ExtremeTech. Получено 2015-02-02.
  14. ^ "CDC 6600". Британская энциклопедия. Получено 2015-02-02.
  15. ^ "The 7600 design lasted longer than any other supercomputer design. It had the highest performance of any computer from its introduction in 1969 till the introduction of the Cray 1 in 1976." "CDC 7600". Архивировано из оригинал на 2016-05-15. Получено 2017-10-15.
  16. ^ N. Lewis, "Purchasing Power: Rivalry, Dissent, and Computing Strategy in Supercomputer Selection at Los Alamos," in IEEE Annals of the History of Computing, vol. 39 нет. 3 (2017): 25-40, 2017 [1]
  17. ^ "The CDC 6600 arrives at CERN". CERN Timelines.
  18. ^ Compagnie Lyonnaise de Cinéma (14 Jan 1965). "The Contral Data 6600 computer arrives at CERN, the European Organisation for Nuclear Research". CDS Videos.
  19. ^ "Бампер". Research Review. Лаборатория Лоуренса Беркли. 1981. Архивировано с оригинал на 2018-01-18. Получено 2017-05-04.
  20. ^ "Control Data Corporation, "Little Character" Prototype". Музей истории компьютеров. Получено 21 апреля 2016.
  21. ^ Mark D. Hill; Норман П. Джуппи; Gurindar S. Sohi, eds. (September 23, 1999). Readings in Computer Architecture. Морган Кауфманн. п. 11. ISBN  978-1558605398.
  22. ^ An exact image of the memo appears in: "Watson Jr. memo about CDC 6600". August 28, 1963.
  23. ^ Smotherman, Mark; Spicer, Dag. "IBM's Single-Processor Supercomputer Efforts".
  24. ^ В UNIVAC серии 1100/2200 still provides a ones'-complement environment, but using two's complement hardware.
  25. ^ Control Data 6000 Series Hardware Reference Manual (PDF). 1978.
  26. ^ «Архивная копия». Архивировано из оригинал на 2014-01-02. Получено 2005-06-13.CS1 maint: заархивированная копия как заголовок (связь)
  27. ^ This description covers early versions of CDC software; later versions used the Central Exchange jump (XJ) instruction to reduce the overhead for functions that could be performed entirely in the CP.
  28. ^ The term "Display code" was associated with CDC much as "EBCDIC" was *originally* associated with IBM. Other terms used in the industry were BCD and SIXBIT (the latter being preferred by DEC)
  29. ^ "DEC/PDP Character Codes".
  30. ^ "SIXBIT Character Code Reference". Архивировано из оригинал в 2016-11-24. Получено 2017-10-15.
  31. ^ "CDC Kronos" (PDF).
  32. ^ Understanding Computers: Speed and Power 1990, p. 17.
  33. ^ "COMPASS for 24 bit machines" (PDF). Архивировано из оригинал (PDF) на 2012-09-10. Получено 2017-10-15.
  34. ^ "COMPASS for 48 bit machines" (PDF).
  35. ^ "CDC delivered an early version of their SCOPE operating system for the 3600" Henley, Ernest J.; Lewins, Jeffery (2014). Advances in Nuclear Science and Technology. ISBN  1483215660.

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

внешняя ссылка

Записи
Предшествует
IBM 7030 Stretch
World's most powerful computer
1964–1968
Преемник
CDC 7600