General Instrument CP1600

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Игровая приставка Intellivision, самое массовое применение процессора CP1610

CP160016 битный микропроцессор, созданный в середине 1970-х годов совместно компаниями General Instrument и Honeywell. Микропроцессор CP1600 был спроектирован на основе архитектуры миникомпьютера PDP-11, также использовавшейся в основе микропроцессора MCP-1600 компании Western Digital и повлиявшей на многие другие разработки. Компания Honeywell использовала CP1600 в ряде компьютеров для управления технологическими процессами и взаимосвязанных систем, но наибольшее распространение получила версия CP1610, использовавшаяся в игровой приставке Intellivision.

Описание[править | править исходный текст]

Система команд CP1600 почти полностью повторяет систему команд PDP-11, но не совместима с ней на уровне кодов операций и имеет отличия в видах адресации. Для кодов операций используются только младшие 10 бит, старшие 6 помечены как «Зарезервированные для дальнейшего расширения». Это позволило сократить объем ПЗУ микрокода. Предположительно, зарезервированные 6 бит были предназначены для использования сопроцессорами. Длина команд составляет от одного до трех машинных слов, в зависимости от вида адресации. В отличие от других процессоров с такой же архитектурой, CP1600 не поддерживает пересылки данных «память-память» с использованием косвенной адресации (смещений), кроме того, команды условных переходов используют 16-битные смещения вместо 8-битных, что позволяет, в случае длинных переходов, избежать использования дополнительных команд безусловного перехода.

Как и PDP-11, CP1600 использует восемь 16-битных регистров общего назначения, хотя в системе команд эти регистры не являются полностью эквивалентными. Регистр R0 не может быть использован для косвенного доступа к памяти. Регистры R1 – R3 могут использоваться для косвенного доступа к памяти, но не поддерживают автоинкремент. Регистры R4 и R5 всегда автоинкрементируются после косвенного доступа к памяти [1].

Регистр R6 используется как указатель стека, регистр R7 является счетчиком команд. Поскольку оба регистра программно доступны программисту, возможно реализовать несколько стеков или усложненную логику переходов. В явном виде команды для обращения к стеку отсутствуют, регистр R6 автодекрементируется перед использованием его для косвенного чтения данных из памяти, что имитирует команду POP и автоинкрементируется после использования его для косвенной записи данных в память, что имитирует команду PUSH.

Как и у PDP-11, одной из отличительных особенностей CP1600 является поддержка отображения регистров ввода-вывода на память, означающая возможность управления устройствами путем записи в определенные адреса памяти. В CP1600 в отличие от шины Unibus, применявшейся в PDP-11, шины адреса и данных были мультиплексированы для сокращения числа выводов и возможности уместить процессор в 40-выводный DIP корпус. Это отличие означало, что в практических применениях процессора необходимо использовать защелки или буферы для фиксации адреса и данных[1]. Это ограничивало скорость ввода-вывода, поэтому компания General Instrument разработала серию «Программируемых интерфейсных контроллеров» предназначенных для использования совместно с CP1600 в качестве контроллеров канала.

Процессор CP1600 был выполнен по технологии N-МОП, для питания использовались источники +12, +5, -3 В, уровни логических сигналов совместимы с ТТЛ. Изначально выпускался с тактовой частотой 3,3 МГц (время машинного цикла 600 нс)[2], затем частота была повышена до 5 МГц (время машинного цикла 400 нс). Команды требовали для выполнения от 6 до 14 машинных циклов, что при частоте 5 МГц составляло от 2,4 до 5,6 мкс[3]. General Instruments также производила систему разработки «GIMINI» для CP1600[2].

Применения[править | править исходный текст]

Микропроцессор CP1610, использованный в игровой приставке Intellivision, – это, фактически, замедленная версия CP1600 с несколькими упрощениями. В приставке Intellivision микропроцессор CP1610 работал на частоте 894 КГц в версии для телевизоров с цветовой системой NTSC, или 1 МГц для версий PAL/SECAM. Хотя пользователи компьютеров на базе CP1600 были очень редки, было произведено более 3 миллионов приставок Intellivision за период с 1980 года до кризиса индустрии компьютерных игр 1983 года, повлекшего в 1984 году закрытие выпускавших приставку производств.[4]

Производство CP1600 прекратилось в 1985 году, когда General Instruments выделила из своего состава подразделение микроэлектроники, чтобы создать компанию Microchip Technology. К этому моменту уже был доступен ряд 32-битных разработок, таких как Motorola 680x0, что снижало интерес к 16-битным системам типа CP1600, а главный потребитель, Intellivision – прекратил производство. В это же время была прекращена поддержка многих других продуктов, а основным продуктом новой компании стали микроконтроллеры PIC.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

Внешние ссылки[править | править исходный текст]