General Instrument CP1600

Поделись знанием:
Перейти к: навигация, поиск

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.

См. также

Ссылки

  1. 1 2 Lowell Turner, [www.nyx.net/~lturner/public_html/CP1600.html "General Instruments CP1600"], 10 July 2001
  2. 1 2 [www.rhoent.com/cp_lp.pdf «Series 1600 Microprocessor»], General Instruments 1977 Data Catalog, с.10
  3. [bitsavers.trailing-edge.com/pdf/gi/CP1600/CP-1600_Microprocessor_Users_Manual_May75.pdf «CP-1600 Microprocessor users manual»]
  4. [classicgaming.gamespy.com/View.php?view=ConsoleMuseum.Detail&id=17&game=9 Mattel Intellivision - 1980-1984]. ClassicGaming. IGN. [www.webcitation.org/6E0rRk3NJ Архивировано из первоисточника 28 января 2013].

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

  • [wiki.intellivision.us/index.php?title=CP-1610 "CP1610"] at the [wiki.intellivision.us/index.php?title=Main_Page Intellivision Wiki]