CDC 7600 - CDC 7600

CDC 7600
CDC7600 main overview.png
3D-рендеринг с фигурой в масштабе
дизайн
ПроизводительКорпорация Control Data
ДизайнерСеймур Крей
Дата выходаИюнь 1967[1]
Проданных единиц+75[2]
Цена62 - 155 тысяч долларов (ежемесячная арендная плата в 1968 году)[1]
Кожух
Габаритные размерыВысота: 188 см (74 дюйма)
Ширина: 302 см (119 дюймов)[3]
Мощность95 кВт[3] @ 208 В 400 Гц[3]
Система
Операционная системаЧиппева, СФЕРА, КРОНОС
ЦПУ60 бит процессор @ 36 МГц[4]
объем памяти3.84 Мегабайт (до 512000 60-битных слов)[4]
MIPS15 MIPS
ФЛОПЫ36 MFLOPS[5]
ПредшественникCDC 6600
ПреемникCDC Cyber

В CDC 7600 был Сеймур Крей -разработанный преемник CDC 6600, расширяя Контрольные данные доминирование суперкомпьютер поле в 1970-е годы.[6] 7600 работал на частоте 36,4 МГц (тактовый цикл 27,5 нс) и имел первичную память 65 Kword (с размером слова 60 бит), используя магнитный сердечник и вторичная память переменного размера (до 512 килобайт) (в зависимости от сайта). Обычно он был примерно в десять раз быстрее, чем CDC 6600, и мог обеспечить около 10 MFLOPS на коде, скомпилированном вручную, с пиковым значением 36 MFLOPS.[7] Кроме того, в тестах производительности в начале 1970 года было показано, что он немного быстрее, чем его IBM соперник, IBM System / 360, Модель 195.[8] Когда система была выпущена в 1967 году, она была продана примерно за 5 миллионов долларов в базовой конфигурации.[9] и значительно больше по мере добавления опций и функций.

Среди заметных достижений 7600 и его достижений, помимо обширных конвейерная обработка, была физическая C-образная форма, которая одновременно уменьшала площадь пола и значительно[10] повышенная производительность за счет уменьшения расстояния, которое требуется для прохождения сигналов.[11]

дизайн

Когда 6600 приблизился к качеству производства, Cray потерял к нему интерес и занялся проектированием замены. В конце 1960-х сделать машину "немного" быстрее было бы несложно; вступление к интегральные схемы позволила более плотная упаковка компонентов и, в свою очередь, более высокая тактовая частота. Транзисторы в целом тоже стали немного быстрее[12] по мере улучшения производственных процессов и качества. Можно ожидать, что такие улучшения сделают машину в два раза быстрее, а может, даже в пять раз. Однако, как и в случае с конструкцией 6600, Крей поставил перед собой цель создать машину с производительностью в десять раз более высокой.

Одна из причин, по которой 6600 был намного быстрее своих современников, заключалась в том, что у него было несколько функциональных блоков, которые могли работать параллельно.[13] Например, машина может сложить два числа, одновременно умножая два других. Однако любая данная инструкция должна была пройти через модуль до того, как в нее могла быть подана следующая, что вызывало узкое место, когда в системе планировщика заканчивались инструкции. Добавление большего количества функциональных модулей не улучшит производительность, если планировщик также не будет значительно улучшен, особенно с точки зрения предоставления ему большего объема памяти, чтобы он мог просматривать больше инструкций для тех, которые могут быть введены в параллельные модули. Это оказалось серьезной проблемой.

Чтобы решить эту проблему, Крей обратился к концепции конвейер команд. Каждый функциональный блок состоял из нескольких секций, которые работали по очереди, например, блок сложения мог иметь схему, предназначенную для извлечения операндов из памяти, затем собственно математический блок и, наконец, еще один для отправки результатов обратно в память. В каждом конкретном случае активна была только одна часть отряда, а остальные ждали своей очереди. Конвейер улучшает это, подавая следующую инструкцию до того, как завершится первая, используя это время простоя. Например, когда одна инструкция складывается вместе, могут быть извлечены операнды для следующей инструкции добавления. Таким образом, как только текущая инструкция завершится и перейдет в схему вывода, операнды для следующего добавления уже ожидают добавления. Таким образом, каждый функциональный блок работает "параллельно",[14] как и машина в целом. Улучшение производительности обычно зависит от количества шагов, которые выполняет устройство. Например, блоку умножения 6600 потребовалось 10 циклов для выполнения инструкции, поэтому при конвейерной обработке блоков можно ожидать увеличения скорости примерно в 10 раз.

Однако все не так просто. Конвейерная обработка требует, чтобы внутренние компоненты устройства могли быть эффективно разделены до такой степени, что каждый шаг операции выполняется на полностью отдельной схеме. Это редко достижимо в реальном мире. Тем не менее, использование конвейерной обработки в 7600 улучшило производительность по сравнению с 6600 примерно в 3 раза. Для достижения остальной цели машина должна была бы работать на более высокой скорости, что теперь возможно с использованием новых конструкций транзисторов. Однако существует физический предел производительности из-за времени, которое требуется сигналам для перемещения между частями машины, что, в свою очередь, определяется ее физическим размером. Как всегда, разработчики Cray приложили значительные усилия для решения этой проблемы, что позволило добиться более высоких рабочих частот. Для 7600 каждый модуль схемы фактически состоял из шести печатные платы, каждый из которых наполнен сверхминиатюрными резисторами, диодами и транзисторами. Шесть плат были уложены друг на друга, а затем соединены между собой по краям, в результате чего получился очень компактный, но практически не подлежащий ремонту модуль.

Однако такая же плотная упаковка также привела к самой большой проблеме машины - нагреву. Что касается 7600, Крей снова обратился к своему инженеру по холодильному оборудованию Дину Рушу, ранее работавшему в Амана Компания. Руш добавил алюминий пластина к задней части каждой стороны дрова трубы, которые, в свою очередь, охлаждались жидко-фреоновой системой[15] проходит через ядро ​​машины. Поскольку эта система была механической и, следовательно, склонной к сбоям, 7600 был изменен на большую C-образную форму, чтобы обеспечить доступ к модулям по обе стороны охлаждающего трубопровода, войдя внутрь «C» и открыв шкаф. .[11]

Архитектура

7600 был архитектурной достопримечательностью, и большинство его функций по-прежнему являются стандартными элементами компьютерного дизайна. Это компьютер с сокращенным набором команд с 15-битным командным словом, содержащим 6-битный код операции. Машинных кодов всего 64, включая код бездействия, без умножение или деление с фиксированной точкой операции в центральном процессоре.

7600 имеет две основных памяти. Малая основная память хранит инструкции, которые в настоящее время выполняются, и данные, которые в настоящее время обрабатываются. Он имеет время доступа 10 из второстепенных циклов 27,5 нс и длину слова 60 бит. Большая основная память содержит данные, готовые для передачи в небольшую базовую память. Он имеет время доступа 60 из второстепенных циклов 27,5 нс и длину слова 480 бит (512 бит с контролем четности).[4] Доступы являются полностью конвейерными и буферизованными, поэтому у них одинаковая скорость последовательной передачи 60 бит каждые 27,5 нс. Оба работают параллельно, поэтому скорость последовательной передачи от одного к другому составляет 60 бит за второстепенный цикл 27,5 нс. При вызове операционной системы содержимое малой основной памяти выгружается и заменяется операционной системой из большой основной памяти, а затем восстанавливается.

Существует конвейер команд из 12 слов, который в документации CDC называется стеком командных слов.[4] Все адреса в стеке выбираются, не дожидаясь обработки поля инструкции. Следовательно, выборка целевой инструкции условного перехода предшествует оценке условия перехода. Во время выполнения цикла из 10 слов (до 40 инструкций) все необходимые инструкции остаются в стеке, поэтому никакие инструкции не выбираются, оставляя небольшую базовую память свободной для передачи данных.

Имеется восемь 60-битных регистров, каждый с адресным регистром.[4] Перемещение адреса в регистр адреса запускает чтение или запись небольшой основной памяти. Эти регистры используются в арифметических и логических инструкциях в качестве источников и адресатов. Программист или компилятор пытается вовремя извлечь данные для использования и сохранить данные до того, как в том же регистре потребуются другие данные, но если он не готов, процессор переходит в состояние ожидания, пока это не произойдет. Он также ожидает, если один из четырех арифметических устройств с плавающей запятой не готов по запросу, но из-за конвейерной обработки этого обычно не происходит.[16]

Связь с CDC 6600

CDC 7600 «был спроектирован так, чтобы быть совместимым с повышением уровня машинного кода с 6600, но обеспечивать существенное повышение производительности».[17][18] Один пользователь сказал: «Большинство пользователей могут работать в любой системе без изменений».[8]

Хотя 7600 разделял многие функции 6600, включая оборудование, инструкции и 60-битный размер слова, это не был объектный код. совместимый с CDC 6600.[19][8] Кроме того, это был не совсем исходный код (КОМПАС ) совместимы, поскольку некоторых инструкций в 7600 не было в 6600, и наоборот. Первоначально он назывался CDC 6800,[20] но был изменен на 7600, когда Cray решил, что он не может быть полностью совместим. Однако из-за конструкции операционной системы 7600, 6600 и 7600 использовали «единую программную среду», несмотря на различия на низком уровне.[8]

Фактически, с точки зрения высокого уровня 7600 был очень похож на 6600. В то время память компьютера могла быть организована в блоки с независимыми путями доступа, и в проектах Cray это использовалось в своих интересах. В то время как большинство машин будут использовать один ЦП для выполнения всех функций системы, Крей понял, что это означает, что каждый блок памяти проводит значительное время в режиме ожидания, пока ЦП обрабатывает инструкции и обращается к другим блокам. Чтобы воспользоваться этим преимуществом, 6600 и 7600 оставили рутинные служебные задачи, печать вывода или чтение. перфокарты, например, к серии из десяти меньших 12-битных машин на основе CDC 160A известные как «Периферийные процессорные блоки» или PPU.[21] Для любого заданного цикла машины один из PPU управлял, загружая данные в память, в то время как главный процессор обрабатывал числа. Когда цикл завершился, управление было передано следующему PPU. Таким образом, в памяти всегда хранится актуальная информация для работы основного процессора (исключая задержки в самих внешних устройствах), что устраняет задержки с данными, а также позволяет создавать ЦП для математической производительности и ничего другого. . PPU можно было бы назвать очень умным «каналом связи».

Как и 6600, 7600 использовал 60-битные слова с инструкциями, длина которых обычно составляла 15 бит, хотя были также и 30-битные инструкции. Инструкции были упакованы в 60-битные слова, но 30-битная инструкция не могла соединить два слова, и управление могло быть передано только первой инструкции в слове. Однако сам набор инструкций был изменен, чтобы отразить новую схему внутренней памяти, что сделало его несовместимым с более ранним 6600. Машины были достаточно похожи, чтобы сделать перенос компиляторы и операционные системы возможно без особых проблем. Изначально машина не поставлялась с программным обеспечением; сайты должны были быть готовы написать свою собственную операционную систему, такую ​​как LTSS, NCAROS и другие; и компиляторы, такие как LRLTRAN (версия Fortran Ливермора с динамическим управлением памятью и другими нестандартными функциями).

CDC также произвела два многопроцессорных компьютера на базе 7600 с номером модели 7700.[22] Они состояли из двух 7600 машин в асимметричной конфигурации: центральной и вспомогательной. Они использовались для пуска ракет и слежения за входом в СССР. МБР. Имитатор радара был симулятором в реальном времени с CDC 6400 для входного / выходного интерфейса. Эти системы должны были использоваться в Тихоокеанский ракетный полигон. Один компьютер был установлен в TRW в Редондо-Бич, Калифорния (позже переехал на атолл Кваджалейн, южная часть Тихого океана), а второй был установлен в Макдоннелл Дуглас в Хантингтон-Бич, Калифорния. Это были настоящие 7600, соединенные шасси 25, чтобы сделать их 7600 MP.

Прием и использование

Примерно с 1969 по 1975 год CDC 7600 обычно считался самым быстрым компьютером в мире.[7] кроме специализированных подразделений. Однако даже с усовершенствованной механикой и охлаждением 7600 был склонен к сбоям. И то и другое LLNL и НКАР сообщали, что машина ломалась не реже одного раза в день, а часто четыре или пять раз. Принятие на местах установки заняло годы, пока ошибки были устранены, и хотя машина в целом продавалась достаточно хорошо, учитывая ее «высококлассную» нишу, маловероятно, что машина принесла хоть какую-то реальную прибыль для CDC. Преемник CDC 8600 так и не был завершен, и Сеймур Крей основал свою собственную компанию, Cray Research.[7]

Один уцелевший 7600 частично выставлен на Музей истории компьютеров.[9] Его огромный размер позволяет показывать только два угловых элемента. Остальное на складе. Еще 7600 выставлен на выставке Музей промышленности и технологий водопада Чиппева вместе с консолью и ленточным контроллером.

использованная литература

  1. ^ а б Обзор Адамса, 1968 г., с. 12, легенда - 3
  2. ^ В 1978 году журнал Science сообщил, что CDC продала «400 своих моделей CDC 6600 и 75 своих моделей CDC 7600».
  3. ^ а б c Подготовка площадки для CDC 7600, май 76 г.
  4. ^ а б c d е Справочное руководство CDC 7600, февраль 71 г.
  5. ^ CDC 7600 Презентация Гордона Белла из Microsoft Research
  6. ^ "CDC 7600". Архивировано из оригинал на 2016-05-15. Получено 2010-04-08.
  7. ^ а б c Гордон Белл. Перспектива Сеймура Крея В архиве 2016-05-15 в Wayback Machine.
  8. ^ а б c d "Control Data Corporation (CDC) 7600: 1971–1983". Лаборатория вычислительных и информационных систем. Университетская корпорация атмосферных исследований. Архивировано из оригинал 20 июля 2011 г.. Получено 25 сентября 2011.
  9. ^ а б «Суперкомпьютер 7600». Коллекции. Музей истории компьютеров. Архивировано из оригинал 3 октября 2012 г.. Получено 25 сентября 2011.
  10. ^ Умножьте на десять.
  11. ^ а б "7600 в Ливерморе".
  12. ^ «Они также были более чем в десять раз быстрее, чем первые МОП транзисторы» «Параллельная работа в управляющих данных 6600» (PDF).
  13. ^ Дж. Э. Торнтон (1980). «Проект CDC 6600». IEEE Annals of the History of Computing. 2 (4): 338–348. Дои:10.1109 / MAHC.1980.10044.
  14. ^ «параллельные функциональные блоки» «История суперкомпьютеров». 10 апреля 2012 г.
  15. ^ Эдвин Д. Рейли (2003). Вехи компьютерных наук и информационных технологий. ISBN  978-1573565219.
  16. ^ Лекция, прочитанная представителем CDC в компьютерном центре Калифорнийского университета в Лос-Анджелесе примерно в 1970 году.
  17. ^ Архитектура высокопроизводительных компьютеров. IBBETT. 2013. ISBN  978-1475767155.
  18. ^ "Буферизация инструкций в CDC 7600".
  19. ^ Это не значит, что этого не было Обратная совместимость, то есть когда что-то из старого работает на новом.
  20. ^ Пью, Эмерсон У .; Джонсон, Лайл Р .; Палмер, Джон Х. (1991). Системы IBM 360 и Early 370. MIT Press. п.388. ISBN  978-0-262-16123-7.
  21. ^ «Компьютерная система Control Data 7600» (PDF).
  22. ^ В итоге были выставлены на продажу: 2 CDC 7700, 1 CDC 6400; Также выставлялись на продажу 6 IBM 3033. "Продается". InfoWorld. 27 июля 1981 г. с. 49.

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

Фотографии

Записи
Предшествует
CDC 6600
3 мегафлопс
Самый мощный суперкомпьютер в мире
1969–1975
Преемник
Крей-1
136 мегафлопс