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