CDC 160 – серия мини-компьютеров, выпускавшихся Control Data Corporation. Модели CDC 160 и CDC 160-A представляли собой 12-битные мини-компьютеры[1][2], выпускавшиеся с 1960 по 1965 годы. Модель CDC 160G являлась 13-битным мини-компьютером с расширенной, по сравнению с CDC 160-A, версией набора команд и режимом совместимости, в котором 13-й бит не использовался[3]. Серия 160 была разработана Сеймуром Крэем - по слухам, в течение длинных трёхдневных выходных[4]. Компьютер умещался в письменный стол, за которым работал оператор.

CDC 160
CDC 160-A, крупным планом показана панель управления
CDC 160-A, крупным планом показана панель управления
Производи­тель Control Data Corporation
Дата выпуска 1960
Разрядность слова (бит) 12 бит
Устройства хранения данных память на магнитных сердечниках, 4096 слов
Габариты 74×156×76 см
Масса 370 кг
Наследник CDC 6000

Архитектура серии 160 использовала вычисления в обратном коде с циклическим переносом[5].

В 1960-е годы на протяжении нескольких лет компания NCR совместно продавала модель 160-A под собственным названием[6].

Обзор править

Издательская компания, купившая мини-компьютер CDC 160-A, описывала его как «однопользовательскую машину без возможности пакетной обработки. Пользователи или программисты заходили в компьютерный зал, садились за пульт управления, загружали с перфоленты загрузчик и запускали программу»[7].

Аппаратная часть CDC 160-A была простой, но в то же время она предоставляла множество функций, являвшихся упрощенными версиями возможностей, доступных только на больших машинах. В связи с этим, мини-компьютер был идеальной платформой для знакомства программистов-новичков со сложными понятиями систем низкоуровневого ввода-вывода и прерываний.

Все машины серии 160 имели считыватель с перфоленты и перфоратор, большинство машин имели электрическую пишущую машинку IBM, доработанную для использования в качестве компьютерного терминала[8][9][10]. Память содержала 4096 12-битных слов. Центральный процессор содержал 12-битный аккумулятор и выполнял вычисления в обратном коде, однако не имел инструкций умножения и деления. Поддерживался достаточно полный набор инструкций и несколько режимов адресации, в том числе косвенная, индексная, относительная (с базовым адресом в регистре P) и абсолютная. Набор инструкций модели 160 не имел инструкции для вызова подпрограмм и мог адресовать только один банк памяти[1].

В модели 160-A были добавлены инструкции «перехода с возвратом» (JPR) и переключения банков памяти. Инструкция перехода с возвратом обеспечивала простейшую форму вызова подпрограмм, а инструкции переключения банков памяти позволяла, хотя и достаточно неудобно, адресовать дополнительные банки памяти объёмом 4К слов, общим объёмом до 32,768 слов[2]. Эта дополнительная память была дорогой и должна была размещаться в отдельном шкафу такого же размера, как и сам мини-компьютер. К модели 160-A можно было подсоединить блок умножения/деления, который также представлял собой большое и дорогое периферийное устройство.

В моделях 160 и 160-A цикл памяти составлял 6,4 микросекунды. Инструкция сложения выполнялась два цикла. В среднем, инструкция выполнялась за 15 микросекунд, обеспечивая быстродействие 67000 инструкций в секунду[1][2].

В модели 160G регистры и память были расширены до 13 бит (14-й бит использовался для контроля чётности). В режиме G использовались все 13 бит. В режиме A для обеспечения двоичной совместимости с моделью 160-A использовались только младшие 12 бит. В модели 160G были добавлены несколько инструкций, включая встроенные инструкции умножения и деления, и несколько дополнительных режимов адресации[3][11].

Система низкоуровневого ввода-вывода обеспечивала управление устройствами, взаимодействие для определения статуса устройств, и чтение и запись данных на побайтном или поблочном уровне. Ввод-вывод можно было осуществлять в регистр, память или через канал прямого доступа к памяти (DMA). Отличие между этими типами ввода-вывода состояло в том, что обычный ввод-вывод «подвешивал» процессор на время, пока операция ввода-вывода не завершится, а DMA позволял процессору продолжать выполнять инструкции параллельно с пересылкой данных. Система прерываний модели 160-A содержала 4 линии прерываний. Первую мог активировать оператор с помощью кнопок на консоли. Вторая использовалась каналом блочного ввода-вывода для оповещения о завершении операции ввода-вывода. Ещё две линии могли использоваться периферийными устройствами. Имелась система приоритетов - линии прерываний с наименьшим номером обслуживались в первую очередь[2].

Области применения править

Мини-компьютеры серии 160 применялись для[12]:

  • Приложений реального времени
  • Автономного преобразования данных
  • Обработки научных данных
  • Обработки финансовых данных
  • Сбора и предварительной обработки данных
  • Решения инженерных задач
  • Систем связи и телеметрии
  • Построения многомашинных систем

Периферийное оборудование править

С мини-компьютерами могло использоваться следующее периферийное оборудование[12]:

  • накопители на магнитной ленте моделей 163 и 164
  • блок пишущей машинки модели 161
  • высокоскоростной считыватель и перфоратор перфокарт модели 1610
  • принтер модели 1612
  • плоттер модели 165
  • буферизированный принтер модели 166
  • считыватель перфокарт модели 167
  • арифметический блок модели 168
  • блок внешней памяти модели 169
  • считыватель перфолент модели 350
  • перфоратор перфолент модели BRPE-11
  • накопитель на магнитной ленте модели 603

Преемники править

Модифицированная архитектура мини-компьютера 160 стала основой для периферийных процессоров мэйнфреймов серии CDC 6000 и последующих моделей[4]. В периферийных процессорах большая часть набора инструкции CDC 160 осталась без изменений. Однако были внесены изменения, чтобы обеспечить программирование каналов ввода-вывода моделей 6000 серии и управления центральным процессором. На ранних этапах создания моделей 6000 серии почти вся операционная система работала на периферийных процессорах. Это разгружало центральный процессор от задач операционной системы и делало его свободным для выполнения пользовательских программ.

Примечания править

  1. 1 2 3 160 Computer Programming Manual (англ.). Control Data Corporation (1960). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  2. 1 2 3 4 Control Data 160-A Computer Programming Manual (англ.). Control Data Corporation (март 1963). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  3. 1 2 Control Data 160G Programming Reference Manual (англ.). Control Data Corporation (11 мая 1965). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  4. 1 2 Lawrence Liddiard. Seymour Cray's Machines (Part 2) (англ.) (май 1986). Дата обращения: 3 мая 2019. Архивировано 1 декабря 2017 года.
  5. Douglas W. Jones. A Programmer's Reference Manual for the CDC-160". Дата обращения: 3 мая 2019. Архивировано 7 июня 2011 года.
  6. Flamm, Kenneth. Creating the computer: government, industry, and high technology (англ.). — Brookings Institution Press, 1988. — P. 118. — ISBN 815728506.
  7. Peter Clark. DEC TIMESHARING (1965) (англ.) // The DEC Professional.
  8. Control Data 160 Typewriter Unit (англ.). Control Data Corporation (декабрь 1962). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  9. Control Data 160 Computer (англ.). Control Data Corporation. Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  10. Control Data 160-A Computer (англ.). Control Data Corporation (ноябрь 1962). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  11. Control Data 160G Computer System (англ.). Control Data Corporation. Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
  12. 1 2 Control Data 160 Computer (англ.) (август 1961). Дата обращения: 26 ноября 2017. Архивировано 6 ноября 2018 года.

Внешние ссылки править