CDC 7600 - CDC 7600

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

CDC 7600 был Seymour Cray -разработана преемника CDC 6600 , простираясь Data Control доминированию «s в суперкомпьютерной области в 1970 - е годы. 7600 работал на частоте 36,4 МГц (тактовый цикл 27,5 нс) и имел первичную память 65 Kword (с размером слова 60 бит) с использованием магнитного сердечника и вторичной памяти переменного размера (до 512 Kword) (в зависимости от сайта). Обычно он был примерно в десять раз быстрее, чем CDC 6600, и мог выдавать около 10 MFLOPS для кода, скомпилированного вручную, с пиковым значением 36 MFLOPS. Кроме того, в тестах производительности в начале 1970 года было показано, что она немного быстрее, чем ее конкурент IBM , IBM System / 360 , Model 195. Когда система была выпущена в 1967 году, она была продана примерно за 5 миллионов долларов в базовых конфигурациях, и значительно больше по мере добавления опций и функций.

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

Дизайн

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

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

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

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

Однако такая же плотная упаковка также привела к самой большой проблеме машины - нагреву. Что касается 7600, Крей снова обратился к своему инженеру по холодильной технике Дину Рушу, ранее работавшему в компании Amana . Руш добавил алюминиевые пластины к задней части каждой стороны штабеля дров , которые, в свою очередь, охлаждались системой жидкого фреона, проходящей через сердцевину машины. Поскольку эта система была механической и, следовательно, склонной к сбоям, 7600 был переделан в большую С-образную форму, чтобы обеспечить доступ к модулям по обе стороны от охлаждающего трубопровода, войдя внутрь С и открыв шкаф. .

Архитектура

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

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

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

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

Связь с CDC 6600

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

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

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

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

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

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

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

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

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

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

Фотографии

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