CDC 160
CDC 160 | |
---|---|
| |
Производитель | Control Data Corporation |
Дата выпуска | 1960 |
Разрядность слова (бит) | 12 бит |
Устройства хранения данных | память на магнитных сердечниках, 4096 слов |
Габариты | 74×156×76 см |
Масса | 370 кг |
Наследник | CDC 6000 |
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]. Компьютер умещался в письменный стол, за которым работал оператор.
Архитектура серии 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 2 3 160 Computer Programming Manual (англ.). Control Data Corporation (1960). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ 1 2 3 4 Control Data 160-A Computer Programming Manual (англ.). Control Data Corporation (март 1963). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ 1 2 Control Data 160G Programming Reference Manual (англ.). Control Data Corporation (11 мая 1965). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ 1 2 Lawrence Liddiard. Seymour Cray's Machines (Part 2) (англ.) (май 1986). Дата обращения: 3 мая 2019. Архивировано 1 декабря 2017 года.
- ↑ Douglas W. Jones. A Programmer's Reference Manual for the CDC-160" . Дата обращения: 3 мая 2019. Архивировано 7 июня 2011 года.
- ↑ Flamm, Kenneth. Creating the computer: government, industry, and high technology (англ.). — Brookings Institution Press, 1988. — P. 118. — ISBN 815728506.
- ↑ Peter Clark. DEC TIMESHARING (1965) (англ.) // The DEC Professional.
- ↑ Control Data 160 Typewriter Unit (англ.). Control Data Corporation (декабрь 1962). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ Control Data 160 Computer (англ.). Control Data Corporation. Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ Control Data 160-A Computer (англ.). Control Data Corporation (ноябрь 1962). Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ Control Data 160G Computer System (англ.). Control Data Corporation. Дата обращения: 28 марта 2013. Архивировано 22 марта 2011 года.
- ↑ 1 2 Control Data 160 Computer (англ.) (август 1961). Дата обращения: 26 ноября 2017. Архивировано 6 ноября 2018 года.