General Instrument CP1600

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Игровая приставка Intellivision, самое массовое применение процессора CP1610

CP1600 – 16 битный микропроцессор, созданный в середине 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.

См. также

Ссылки

  1. 1,0 1,1 Lowell Turner, "General Instruments CP1600" Архивная копия от 23 марта 2017 на Wayback Machine, 10 July 2001
  2. 2,0 2,1 «Series 1600 Microprocessor» Архивировано 26 мая 2011 года., General Instruments 1977 Data Catalog, с.10
  3. «CP-1600 Microprocessor users manual» Архивировано 4 марта 2016 года.
  4. Mattel Intellivision - 1980-1984 (недоступная ссылка). ClassicGaming. IGN. Архивировано 28 января 2013 года.

Внешние ссылки