Серия 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]
NCR продавала 160-A под своим собственным именем в течение нескольких лет в 1960-х годах. [6]
Издательская компания, купившая CDC 160-A, описала его как «однопользовательскую машину без возможности пакетной обработки. Программисты и/или пользователи приходили в компьютерный зал, садились за консоль, загружали загрузочную ленту и запускали программа». [7]
CDC 160-A представлял собой простое аппаратное обеспечение, но при этом предоставлял множество функций, которые представляли собой уменьшенные возможности, доступные только в более крупных системах. Таким образом, это была идеальная платформа для ознакомления начинающих программистов со сложными концепциями низкоуровневого ввода-вывода (I/O) и систем прерываний .
Все 160 систем имели устройство для чтения бумажных лент и перфоратор, а большинство из них имели пишущую машинку IBM Electric , модифицированную для работы в качестве компьютерного терминала . [8] [9] [10] Память на 160 составляла 4096 12-битных слов. ЦП имел 12-битный аккумулятор дополнения до единиц , но не имел умножения или деления. Имелся полный набор инструкций и несколько режимов адресации. Косвенная адресация была почти так же хороша, как и индексные регистры. Набор команд поддерживал как относительный (к текущему регистру P), так и абсолютный. Исходный набор команд не содержал инструкций вызова подпрограмм и мог обращаться только к одному банку памяти. [1]
В модели 160-А были добавлены «обратный переход» и инструкция переключения банка памяти. Обратный переход позволял выполнять простые вызовы подпрограмм, а переключение банков позволяло обращаться к другим банкам памяти размером 4 КБ, хотя и неуклюже, всего до 32 768 слов. [2] Дополнительная память стоила дорого, и ее приходилось размещать в отдельной коробке размером с сам 160-й процессор. Модель 160-A также могла поддерживать блок умножения/деления, который представлял собой еще один большой и дорогой периферийный блок.
В 160 и 160-А время цикла памяти составляло 6,4 микросекунды. Добавление заняло два цикла. Средняя инструкция занимала 15 микросекунд при скорости обработки 67 000 инструкций в секунду. [1] [2]
В модели 160G регистры и слова памяти расширены до 13 бит; в режиме G использовались все 13 бит, а в режиме A - только младшие 12 бит для двоичной совместимости с 160-A. В 160G добавлено несколько инструкций, в том числе встроенные инструкции умножения и деления, а также некоторые дополнительные режимы адресации. [3] [11]
Низкоуровневый ввод-вывод позволял управлять устройствами, использовать интерфейс для определения состояния устройства, а также для чтения и записи данных в виде отдельных байтов или блоков. Ввод-вывод может осуществляться в регистр, в память или через канал прямого доступа к памяти (DMA). Разница между этими типами ввода-вывода заключалась в том, что обычный ввод-вывод «подвешивал» ЦП до завершения операции ввода-вывода, но ввод-вывод DMA позволял ЦП продолжать выполнение инструкций одновременно с передачей данных. Система прерываний была основана исключительно на вводе-выводе, а это означает, что все прерывания генерировались извне. Прерывания были представлены новичкам как механизм оповещения, с помощью которого программа могла быть проинформирована о том, что ранее начатая операция ввода-вывода DMA была завершена.
Архитектура 160 была модифицирована и стала основой периферийных процессоров (PP) в мэйнфреймах серии CDC 6000 и их преемниках. [4] Большая часть набора из 160 команд в периферийных процессорах не изменилась. Однако были внесены изменения, включающие программирование 6000 каналов данных и управление центральным процессором . В начале 6000-х почти вся операционная система работала на PP. Это оставило центральный процессор не обремененным требованиями операционной системы и доступным для пользовательских программ.
CDC 160, который, по слухам, был разработан на выходных Крэем, был первым
настольным
(не
настольным
) компьютером CDC стоимостью 60 000 долларов, который стал прототипом процессора ввода-вывода для периферийных процессоров, окружающих CDC 6600 и 7600.