Серия CDC 6000 — это снятое с производства семейство мэйнфреймов, выпускавшихся Control Data Corporation в 1960-х годах. [1] Она состояла из компьютеров CDC 6200, [2] CDC 6300, CDC 6400, CDC 6500, [3] CDC 6600 и CDC 6700 [4] , которые были чрезвычайно быстрыми и эффективными для своего времени. Каждый из них представляет собой большой, твердотельный , универсальный цифровой компьютер, который выполняет научную и деловую обработку данных, а также многопрограммирование , многопроцессорную обработку , удаленный ввод заданий , разделение времени и задачи управления данными под управлением операционной системы под названием SCOPE (Supervisory Control Of Program Execution). [5] [6] [7] К 1970 году [8] также существовала ориентированная на разделение времени операционная система под названием KRONOS. [9] Они были частью первого поколения суперкомпьютеров . [10] Модель 6600 была флагманом серии 6000 компании Control Data. [11] [12]
Компьютеры серии CDC 6000 состоят из четырех основных функциональных устройств:
Серия 6000 имеет распределенную архитектуру.
Члены семейства различаются в основном по количеству и типу центрального процессора(ов): [17]
Некоторые характеристики и номенклатура также использовались в более ранней серии CDC 3000 :
Единственная в настоящее время (по состоянию на 2018 год) работающая машина серии CDC 6000, 6500, была восстановлена Living Computers: Museum + Labs [21]. Она была построена в 1967 году и использовалась Университетом Пердью до 1989 года, когда ее вывели из эксплуатации, а затем передали Музею промышленности и технологий Чиппева-Фолс, прежде чем ее купил Пол Аллен для LCM+L. [22]
Первым представителем серии CDC 6000 был суперкомпьютер CDC 6600 , разработанный Сеймуром Крейем и Джеймсом Э. Торнтоном [23] в Чиппева-Фолс, штат Висконсин . Он был представлен в сентябре 1964 года и выполнял до трех миллионов инструкций в секунду, в три раза быстрее, чем IBM Stretch , чемпион по скорости в течение предыдущих нескольких лет. [24] [25] Он оставался самой быстрой машиной в течение пяти лет, пока не был выпущен CDC 7600. [26] Машина охлаждается фреоновым хладагентом.
Компания Control Data изготовила около 100 машин этого типа [27] , продав их по цене от 6 до 10 миллионов долларов за штуку.
Следующей представленной системой была CDC 6400, поставленная в апреле 1966 года. Центральный процессор 6400 — более медленная и менее дорогая реализация с последовательной обработкой, а не параллельные функциональные блоки 6600. Все остальные аспекты 6400 идентичны 6600. Затем последовала машина с двумя центральными процессорами в стиле 6400, CDC 6500, разработанная главным образом Джеймсом Э. Торнтоном, в октябре 1967 года. И, наконец, CDC 6700 с ЦП в стиле 6600 и ЦП в стиле 6400 была выпущена в октябре 1969 года.
Последующие специальные варианты выпуска были разработаны специально для этой серии, в том числе:
Во всех компьютерах серии CDC 6000 центральный процессор взаимодействует примерно с семью одновременно активными программами ( заданиями ), которые находятся в центральной памяти. Инструкции из этих программ считываются в регистры центрального процессора и выполняются центральным процессором через запланированные интервалы. Затем результаты возвращаются в центральную память.
Информация хранится в центральной памяти в виде слов. Длина каждого слова составляет 60 двоичных цифр ( бит ). Высокоэффективные механизмы управления адресом и данными позволяют перемещать слово в центральную память или из нее всего за 100 наносекунд.
Расширенный блок памяти ядра (ECS) обеспечивает дополнительное хранение памяти и расширяет мощные вычислительные возможности компьютеров серии CDC 6000. Блок содержит чередующиеся банки ядра, каждое из которых имеет ширину слова ECS (488 бит) и 488-битный буфер для каждого банка. Хотя номинально ECS медленнее CM, он включает буфер (кэш), который в некоторых приложениях обеспечивает ECS лучшую производительность, чем CM. Однако с более распространенным эталонным шаблоном CM все еще быстрее.
Центральный процессор — это высокоскоростное арифметическое устройство, которое функционирует как рабочая лошадка компьютера. Он выполняет сложение, вычитание и логические операции, а также все инструкции по умножению, делению, инкрементированию, индексированию и ветвлению для пользовательских программ. Обратите внимание, что в архитектуре CDC 6000 центральный процессор не выполняет никаких операций ввода-вывода (I/O). Ввод-вывод полностью асинхронен и выполняется периферийными процессорами.
Процессор серии 6000 содержит 24 рабочих регистра , обозначенных как X0–X7, A0–A7 и B0–B7. Восемь регистров X имеют длину 60 бит и используются для большинства операций с данными — как целыми, так и с плавающей точкой. Восемь регистров B имеют длину 18 бит и обычно используются для индексации и хранения адресов. Регистр B0 жестко запрограммирован на то, чтобы всегда возвращать 0. По программному соглашению регистр B1 обычно устанавливается в 1. (Это часто позволяет использовать 15-битные инструкции вместо 30-битных инструкций.) Восемь 18-битных регистров A «связаны» с соответствующими им регистрами X: установка адреса в любой из регистров A1–A5 вызывает загрузку содержимого этого адреса в соответствующие регистры X. Аналогично, установка адреса в регистры A6 и A7 вызывает сохранение памяти в этом месте памяти из X6 или X7. Регистры A0 и X0 не связаны таким образом, поэтому могут использоваться как скретч-регистры. Однако A0 и X0 используются при адресации CDC Extended Core Storage (ECS).
Инструкции имеют длину 15 или 30 бит, поэтому на 60-битное слово может приходиться до четырех инструкций . 60-битное слово может содержать любую комбинацию 15-битных и 30-битных инструкций, которые помещаются в слово, но 30-битная инструкция не может переходить к следующему слову. Коды операций имеют длину шесть бит. Оставшаяся часть инструкции представляет собой либо три трехбитных поля регистра (два операнда и один результат), либо два регистра с 18-битной непосредственной константой . Все инструкции являются «регистр-регистр». Например, следующий код COMPASS (язык ассемблера) загружает два значения из памяти, выполняет сложение 60-битных целых чисел, затем сохраняет результат:
SA1 X УСТАНОВИТЬ РЕГИСТР A1 ПО АДРЕСУ X; ЗАГРУЗИТЬ X1 С ЭТОГО АДРЕСАSA2 Y УСТАНОВИТЬ РЕГИСТР A2 НА АДРЕС Y; ЗАГРУЗИТЬ X2 С ЭТОГО АДРЕСАIX6 X1+X2 ДЛИННОЕ ЦЕЛОЕ ЧИСЛО СЛОЖИТЬ РЕГИСТРЫ X1 И X2, РЕЗУЛЬТАТ В X6SA6 A1 УСТАНОВИТЬ РЕГИСТР A6 В (A1); СОХРАНИТЬ X6 В X; ТАКИМ ОБРАЗОМ, X += Y
Центральный процессор, используемый в серии CDC 6400, содержит унифицированный арифметический элемент , который выполняет одну машинную инструкцию за раз. В зависимости от типа инструкции, инструкция может занять от пяти тактов для 18-битной целочисленной арифметики до 68 тактов (60-битный подсчет популяции). CDC 6500 идентичен 6400, но включает в себя два идентичных ЦП 6400. Таким образом, CDC 6500 может почти удвоить вычислительную пропускную способность машины, хотя пропускная способность ввода-вывода по-прежнему ограничена скоростью внешних устройств ввода-вывода, обслуживаемых теми же 10 PP/12 каналами. Многие клиенты CDC работали над проблемами, связанными с вычислениями.
Компьютер CDC 6600, как и CDC 6400, имеет только один центральный процессор. Однако его центральный процессор обеспечивает гораздо большую эффективность. Процессор разделен на 10 отдельных функциональных блоков , каждый из которых был разработан для определенного типа операций. Все 10 функциональных блоков могут работать одновременно, каждый из которых выполняет свою собственную операцию. Предоставляемые функциональные блоки: ветвь, логическое значение, сдвиг, сложение длинных целых чисел, сложение с плавающей точкой , деление с плавающей точкой, два умножителя с плавающей точкой и два блока приращения (18-битное целочисленное сложение). Задержки функциональных блоков составляют от трех тактов для сложения приращения до 29 тактов для деления с плавающей точкой.
Процессор 6600 может выдавать новую инструкцию каждый такт, предполагая, что доступны различные ресурсы процессора (функциональное устройство, регистр). Эти ресурсы отслеживаются механизмом табло . Также поддержанию высокой скорости выдачи способствует стек инструкций , который кэширует содержимое восьми слов инструкций (32 короткие инструкции или 16 длинных инструкций, или их комбинация). Небольшие циклы могут полностью находиться в стеке, устраняя задержку памяти при извлечении инструкций.
Процессоры 6400 и 6600 имеют время цикла 100 нс (10 МГц). Из-за последовательной природы процессора 6400 его точная скорость сильно зависит от смеси инструкций, но обычно составляет около 1 MIPS . Сложения с плавающей точкой выполняются довольно быстро при 11 тактовых циклах, однако умножение с плавающей точкой выполняется очень медленно при 57 тактовых циклах. Таким образом, его скорость с плавающей точкой будет сильно зависеть от смеси операций и может быть ниже 200 кФЛОПС . 6600 быстрее. При хорошем планировании инструкций компилятора машина может приблизиться к своему теоретическому пику в 10 MIPS. Сложения с плавающей точкой занимают четыре тактовых цикла, а умножения с плавающей точкой занимают 10 тактов (но есть два многофункциональных блока, поэтому две операции могут обрабатываться одновременно.) Таким образом, 6600 может иметь пиковую скорость с плавающей точкой 2-3 MFLOPS.
Компьютер CDC 6700 сочетает в себе особенности трех других компьютеров. Как и CDC 6500, он имеет два центральных процессора. Один из них — центральный процессор CDC 6400/CDC 6500 с унифицированной арифметической секцией; другой — более эффективный центральный процессор CDC 6600. Такое сочетание делает CDC 6700 самым быстрым и мощным из серии CDC 6000.
Центральный процессор разделяет доступ к центральной памяти с десятью периферийными процессорами (ПП). Каждый периферийный процессор представляет собой отдельный компьютер с собственной памятью 1 мкс объемом 4К 12-битных слов. [15] : стр. 4-2 (Они чем-то похожи на мини-компьютеры CDC 160A , разделяя 12-битную длину слова и части набора инструкций.)
В то время как PP были разработаны как интерфейс для 12 каналов ввода-вывода , части операционной системы Chippewa (COS) и систем, производных от нее, например, SCOPE , MACE, KRONOS , NOS и NOS/BE, работают на PP. Только PP имеют доступ к каналам и могут выполнять ввод-вывод: передачу информации между центральной памятью и периферийными устройствами, такими как диски и магнитные ленточные накопители. Они освобождают центральный процессор от всех задач ввода-вывода, так что он может выполнять вычисления, пока периферийные процессоры занимаются вводом-выводом и функциями операционной системы. Эта функция способствует быстрой общей обработке пользовательских программ. Большая часть операционной системы работала на PP, [28] таким образом оставляя полную мощность центрального процессора доступной для пользовательских программ.
Каждый периферийный процессор может складывать, вычитать и выполнять логические операции. Специальные инструкции выполняют передачу данных между памятью процессора и, через каналы, периферийными устройствами со скоростью до 1 мкс на слово. Периферийные процессоры коллективно реализованы как процессор-баррель . [29] Каждый выполняет процедуры независимо от других. Они являются свободным предшественником управления шиной или прямого доступа к памяти .
Инструкции используют шестибитный код операции, таким образом оставляя шесть бит для операнда. Также возможно объединить 12 бит следующего слова, чтобы сформировать 18-битный адрес (размер, необходимый для доступа ко всем 131 072 словам центральной памяти). [15] : стр. 4–6
Для ввода или вывода каждый периферийный процессор обращается к периферийному устройству по каналу связи, называемому каналом данных. К каждому каналу данных может быть подключено одно периферийное устройство; однако канал может быть модифицирован с помощью оборудования для обслуживания более одного устройства. Каналы данных не имеют доступа ни к центральной, ни к периферийной памяти и полагаются на программы, работающие в периферийном процессоре, для доступа к памяти или для цепочек операций.
Каждый периферийный процессор может взаимодействовать с любым периферийным устройством, если другой периферийный процессор не использует канал данных, подключенный к этому устройству. Другими словами, только один периферийный процессор в каждый момент времени может использовать определенный канал данных для связи с периферийным устройством. Однако периферийный процессор может записывать данные в канал, который считывает другой периферийный процессор.
Помимо связи между периферийными устройствами и периферийными процессорами, связь осуществляется между оператором компьютера и операционной системой. Это стало возможным благодаря компьютерной консоли , которая имела два ЭЛТ- экрана.
Эта консоль с дисплеем существенно отличалась от обычных компьютерных консолей того времени, которые содержали сотни мигающих лампочек и переключателей для каждого бита состояния в машине. (См. пример на передней панели .) По сравнению с ней консоль серии 6000 имеет элегантный дизайн: простую, быструю и надежную.
Экраны консоли каллиграфические , а не растровые . Аналоговая схема управляет электронными лучами для рисования отдельных символов на экране. Один из периферийных процессоров запускает специальную программу под названием «DSD» (Dynamic System Display), которая управляет консолью. Кодирование в DSD должно быть быстрым, поскольку оно должно постоянно перерисовывать экран достаточно быстро, чтобы избежать видимого мерцания.
DSD отображает информацию о системе и выполняемых заданиях. Консоль также включает клавиатуру, с помощью которой оператор может вводить запросы на изменение сохраненных программ и отображать информацию о заданиях, находящихся в процессе выполнения или ожидающих его.
Полноэкранный редактор, названный O26 (в честь IBM model 026 key punch , с первым символом, сделанным буквенным из-за ограничений операционной системы), может быть запущен на консоли оператора. Этот текстовый редактор появился в 1967 году, что сделало его одним из первых полноэкранных редакторов. (К сожалению, CDC потребовалось еще 15 лет, чтобы предложить FSE, полноэкранный редактор для обычных пользователей с разделением времени в сетевой операционной системе CDC.)
Также существует множество игр, написанных с использованием пульта оператора. Среди них BAT (бейсбольная игра), KAL ( калейдоскоп ), DOG ( Снупи летает в своей собачьей будке по экранам), ADC ( Энди Кэпп расхаживает по экранам), EYE (превращает экраны в гигантские глазные яблоки, а затем подмигивает ими), PAC ( игра в стиле Pac-Man ), симулятор лунного посадочного модуля и многое другое.
Минимальные требования к оборудованию компьютерной системы серии CDC 6000 включают в себя компьютер, включая 32 768 слов центральной памяти, любую комбинацию дисков, дисковых блоков или барабанов для обеспечения 24 миллионов символов массовой памяти, устройство чтения перфокарт , перфоратор перфокарт , принтер с контроллерами и два семидорожечных устройства для магнитной ленты.
Более крупные системы можно было получить, включив дополнительное оборудование, такое как дополнительная центральная память, [30] [15] расширенное хранилище (ECS), дополнительные дисковые или барабанные блоки, считыватели карт, перфораторы, принтеры и ленточные блоки. Графические плоттеры и микрофильм- рекордеры также были доступны.
Флагманом был CDC 6600. CDC 6400 был более медленным, менее производительным процессором, который стоил значительно дешевле.
CDC 6500 был двухпроцессорным 6400 с двумя ЦП, но только одним набором PP ввода-вывода, разработанным для задач, связанных с вычислениями. CDC 6700 также был двухпроцессорным компьютером, который имел один ЦП 6600 и один ЦП 6400. CDC 6415 был еще более дешевой и медленной машиной; он имел ЦП 6400, но был доступен только с семью, восемью или девятью PPU вместо обычных десяти. CDC 6416 был обновлением, которое можно было добавить к компьютеру серии 6000; он добавлял дополнительный банк PPU, давая в общей сложности 20 PPU и 24 канала, разработанных для значительного повышения производительности ввода-вывода.
CDC 6600 — флагманский суперкомпьютер серии 6000 компьютерных систем, производимых Control Data Corporation . Обычно считающийся первым успешным суперкомпьютером , он превзошел своего самого быстрого предшественника IBM 7030 Stretch в три раза. С производительностью до трех мегафлопс [32] [33] CDC 6600, проданных в количестве около 100 экземпляров [34] , был самым быстрым компьютером в мире с 1964 по 1969 год, когда он уступил этот статус своему преемнику CDC 7600 [35] [26 ]
CDC 6600 предвосхитил философию дизайна RISC и, что необычно, использовал представление целых чисел в виде дополнения до единицы. Его последователи продолжали архитектурную традицию более 30 лет до конца 1980-х годов и были последними чипами, разработанными с использованием дополнения до единицы. [36]
CDC 6600 был также первым широко распространенным компьютером, включавшим архитектуру загрузки-сохранения , при которой запись в его адресные регистры запускала загрузку памяти или сохранение данных из его регистров данных.
Первые CDC 6600 были доставлены в 1965 году в Ливерморскую и Лос-Аламосскую национальные лаборатории (управляемые Калифорнийским университетом). Серийный номер 4 был отправлен в Институт математических наук Куранта в Нью-Йоркском университете в Гринвич-Виллидж, Нью-Йорк. Первая поставка за пределы США была отправлена в лабораторию ЦЕРНа недалеко от Женевы , Швейцария , [37] , где он использовался для анализа двух-трех миллионов фотографий треков пузырьковой камеры , которые эксперименты ЦЕРНа производили каждый год. В 1966 году еще один CDC 6600 был доставлен в Радиационную лабораторию Лоуренса , часть Калифорнийского университета в Беркли , где он использовался для анализа ядерных событий, сфотографированных внутри пузырьковой камеры Альвареса. [38] Техасский университет в Остине получил один для своих факультетов компьютерных наук и математики и был установлен под землей в своем главном кампусе, спрятанный на склоне холма с одной открытой стороной для эффективного охлаждения.
CDC 6600 экспонируется в Музее истории компьютеров в Маунтин-Вью, Калифорния .
CDC 6400 , член серии CDC 6000, является мэйнфреймовым компьютером, созданным Control Data Corporation в 1960-х годах. Центральный процессор был архитектурно совместим с CDC 6600. В отличие от 6600, который имел 10 параллельных функциональных блоков, которые могли работать над несколькими инструкциями одновременно, 6400 имел унифицированный арифметический блок, который мог работать только над одной инструкцией за раз. Это привело к более медленному, менее производительному ЦП, но он стоил значительно дешевле. Память, периферийный процессорный ввод/вывод (I/O) и периферийные устройства в остальном были идентичны 6600.
В декабре 1966 года в Калифорнийском университете в Беркли система CDC 6400 была введена в эксплуатацию в качестве академической вычислительной системы (с декабря 1966 года по август 1982 года). [39] [40] [41] [42] [43] [44]
В 1966 году Вычислительный центр ( нем . Rechenzentrum ) Рейнско-Вестфальского технического университета Ахена приобрел CDC 6400, первый суперкомпьютер Control Data в Германии и второй в Европе после Европейской организации по ядерным исследованиям (CERN). Он обслуживал весь университет также с помощью 64 телетайпов ( TTY), пока не был заменен компьютером CDC Cyber 175 в 1976 году. [45]
CDC 6500 , оснащенный двойным процессором 6400, [46] является третьим суперкомпьютером в серии 6000, произведенным Control Data Corporation и разработанным пионером суперкомпьютеров Сеймуром Крейем . [22] Первый 6500 был анонсирован в 1964 году и был поставлен в 1967 году. [47]
Он включает в себя двенадцать различных независимых компьютеров. Десять из них являются периферийными и управляющими процессорами, каждый из которых имеет отдельную память и может запускать программы отдельно друг от друга и от двух центральных процессоров 6400. [5] Вместо воздушного охлаждения он имеет жидкостную систему охлаждения, и каждый из трех отсеков компьютера имеет свой собственный блок охлаждения. [48]
Системы CDC 6500 были установлены:
Модель CDC 6700, состоящая из моделей 6600 и 6400, была самой мощной из серии 6000.
Джеймс Э. Торнтон ... Премия Экерта-Мокли 1994 года ... помог разработать CDC 1604, 6600, 6400, 6500 и STAR-100.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )