Серия CDC 6000 — это снятое с производства семейство мейнфреймов, выпускаемое Control Data Corporation в 1960-х годах. [1] В его состав входили компьютеры CDC 6200, [2] CDC 6300, CDC 6400, CDC 6500, [3] CDC 6600 и CDC 6700 [4] , которые были чрезвычайно быстрыми и эффективными для своего времени. Каждый из них представляет собой большой полупроводниковый цифровой компьютер общего назначения, который выполняет обработку научных и деловых данных, а также мультипрограммирование , многопроцессорную обработку , удаленный ввод заданий , разделение времени и задачи управления данными под управлением операционной системы под названием SCOPE . (Диспетчерский контроль исполнения программы). [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 используются при адресации расширенного основного хранилища (ECS) CDC.
Инструкции имеют длину 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 МФЛОПС.
Компьютер CDC 6700 сочетает в себе функции трех других компьютеров. Как и CDC 6500, он имеет два центральных процессора. Один — центральный процессор CDC 6400/CDC 6500 с единой арифметической секцией; другой — более эффективный центральный процессор CDC 6600. Такое сочетание делает CDC 6700 самым быстрым и самым мощным из серии CDC 6000.
Центральный процессор разделяет доступ к центральной памяти с десятью периферийными процессорами (PP). Каждый периферийный процессор представляет собой отдельный компьютер с собственной памятью емкостью 1 мкс, состоящей из 4 КБ 12-битных слов. [15] : стр. 4-2 (Они чем-то похожи на миникомпьютеры CDC 160A , имеют общую 12-битную длину слова и части набора команд.)
Хотя PP были разработаны как интерфейс к 12 каналам ввода-вывода , части операционной системы Chippewa (COS) и производные от нее системы, например SCOPE , MACE, KRONOS , NOS и NOS/BE, работают на ПП. Только ПП имеют доступ к каналам и могут осуществлять ввод/вывод: передачу информации между центральной памятью и периферийными устройствами, такими как диски и магнитные ленты . Они освобождают центральный процессор от всех задач ввода/вывода, так что он может выполнять вычисления, в то время как периферийные процессоры заняты функциями ввода/вывода и операционной системы. Эта функция способствует быстрой общей обработке пользовательских программ. Большая часть операционной системы работала на PP, [28] таким образом оставляя полную мощность центрального процессора доступной для пользовательских программ.
Каждый периферийный процессор может складывать, вычитать и выполнять логические операции. Специальные инструкции осуществляют передачу данных между памятью процессора и по каналам периферийными устройствами со скоростью до 1 мкс на слово. Периферийные процессоры совместно реализованы в виде бочкового процессора . [29] Каждый из них выполняет процедуры независимо от других. Они являются свободным предшественником мастеринга шины или прямого доступа к памяти .
В инструкциях используется шестибитный код операции, поэтому для операнда остается шесть битов. Также возможно объединить 12 бит следующего слова, чтобы сформировать 18-битный адрес (размер, необходимый для доступа ко всем 131 072 словам центральной памяти). [15] : стр. 4–6.
Для ввода или вывода каждый периферийный процессор обращается к периферийному устройству по каналу связи, называемому каналом данных. К каждому каналу данных можно подключить одно периферийное устройство; однако канал можно модифицировать с помощью аппаратного обеспечения для обслуживания более чем одного устройства. Каналы данных не имеют доступа ни к центральной, ни к периферийной памяти и полагаются на программы, работающие на периферийном процессоре, для доступа к памяти или для объединения операций.
Каждый периферийный процессор может взаимодействовать с любым периферийным устройством, если другой периферийный процессор не использует канал данных, подключенный к этому устройству. Другими словами, только один периферийный процессор одновременно может использовать определенный канал данных для связи с периферийным устройством. Однако периферийный процессор может записывать данные в канал, который считывает другой периферийный процессор.
Помимо связи между периферийными устройствами и периферийными процессорами, связь происходит между оператором компьютера и операционной системой. Это стало возможным благодаря компьютерной консоли , имевшей два ЭЛТ- экрана.
Эта консоль с дисплеем значительно отличалась от обычных компьютерных консолей того времени, которые содержали сотни мигающих индикаторов и переключателей для каждого бита состояния машины. (Пример см. на передней панели .) По сравнению с этим консоль серии 6000 имеет элегантный дизайн: простая, быстрая и надежная.
Экраны консоли каллиграфические , а не растровые . Аналоговая схема управляет электронными лучами, рисуя отдельные символы на экране. На одном из периферийных процессоров работает специальная программа под названием «DSD» (динамический системный дисплей), которая управляет консолью. Кодирование в DSD должно быть быстрым, поскольку необходимо постоянно перерисовывать экран достаточно быстро, чтобы избежать видимого мерцания.
DSD отображает информацию о системе и выполняемых заданиях. Консоль также включает в себя клавиатуру, с помощью которой оператор может вводить запросы на изменение сохраненных программ и отображать информацию о заданиях, выполняющихся или ожидающих выполнения.
Полноэкранный редактор, получивший название O26 (по названию Key Punch модели IBM 026 , где первый символ сделан буквенным из-за ограничений операционной системы), можно запустить на консоли оператора. Этот текстовый редактор появился в 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 ) RWTH Ахенского университета приобрел CDC 6400, первый суперкомпьютер для управления данными в Германии и второй в Европе после Европейской организации ядерных исследований (ЦЕРН). Он также обслуживал весь университет с помощью 64 телетайпов удаленной линии (TTY), пока в 1976 году его не заменил компьютер CDC Cyber 175. [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=
( помощь )