Instrumento general CP1600

CP1600 es un microprocesador de 16 bits , creado a mediados de la década de 1970 conjuntamente por General Instrument y Honeywell . El microprocesador CP1600 fue diseñado sobre la base de la arquitectura de minicomputadora PDP-11 , también se utiliza sobre la base del microprocesador MCP-1600 de Western Digital e influye en muchos otros diseños. Honeywell ha utilizado el CP1600 en varias computadoras de control de procesos y sistemas interconectados, pero la versión CP1610 utilizada en la consola de juegos Intellivision ha sido la más utilizada .

Descripción

El sistema de mando CP1600 repite casi en su totalidad el sistema de mando PDP-11, pero no es compatible con él a nivel de códigos de operación y tiene diferencias en los tipos de direccionamiento. Solo los 10 bits inferiores se utilizan para los códigos de operación, los 6 superiores están marcados como "Reservados para una mayor expansión". Por otro lado, a la hora de diseñar sistemas, esto permitió reducir la cantidad de ROM. Presumiblemente, los 6 bits reservados estaban destinados a ser utilizados por coprocesadores. La longitud de los comandos es de una a tres palabras máquina, según el tipo de direccionamiento. A diferencia de otros procesadores con la misma arquitectura, el CP1600 no admite transferencias de datos de memoria a memoria mediante direccionamiento indirecto (offsets), además, las instrucciones de salto condicional utilizan desplazamientos de 16 bits en lugar de 8 bits, lo que permite, en el caso de saltos largos, evite usar comandos de salto incondicionales adicionales.

Al igual que el PDP-11, el CP1600 utiliza ocho registros de propósito general de 16 bits , aunque estos registros no son completamente equivalentes en el conjunto de instrucciones. El registro R0 no se puede utilizar para el acceso indirecto a la memoria. Los registros R1 - R3 se pueden usar para el acceso indirecto a la memoria, pero no admiten el incremento automático. Los registros R4 y R5 siempre se incrementan automáticamente después de un acceso indirecto a la memoria [1] .

El registro R6 se usa como puntero de pila, el registro R7 es el contador de programa. Debido a que ambos registros están disponibles programáticamente para el programador, es posible implementar múltiples pilas o lógica de salto compleja. No hay instrucciones explícitas para acceder a la pila, el registro R6 se reduce automáticamente antes de usarlo para leer indirectamente datos de la memoria, lo que simula una instrucción POP, y se incrementa automáticamente después de usarlo para escribir datos indirectamente en la memoria, lo que simula una instrucción. PUSH.

Al igual que el PDP-11, una de las características distintivas del CP1600 es la compatibilidad con la asignación de registros de E/S de memoria , lo que significa la capacidad de controlar dispositivos escribiendo en direcciones de memoria específicas. En el CP1600, a diferencia del Unibus utilizado en el PDP-11, los buses de dirección y datos se multiplexaron para reducir la cantidad de pines y ajustar el procesador en un paquete DIP de 40 pines . Esta diferencia hizo que en las aplicaciones prácticas del procesador fuera necesario utilizar latches o buffers para fijar la dirección y los datos [1] . Esto limitó la velocidad de E/S, por lo que General Instrument desarrolló una serie de "Controladores de interfaz programables" diseñados para usarse con el CP1600 como controladores de canal .

El procesador CP1600 se fabricó con tecnología N-MOS , se utilizaron fuentes de +12, +5, -3 V para la fuente de alimentación, los niveles de señal lógica son compatibles con TTL . Inicialmente lanzado a 3,3 MHz (tiempo de ciclo de máquina de 600 ns) [2] , luego la frecuencia se incrementó a 5 MHz (tiempo de ciclo de máquina de 400 ns). Los comandos requerían ejecutar de 6 a 14 ciclos de máquina, que a una frecuencia de 5 MHz oscilaban entre 2,4 y 5,6 μs [3] . General Instruments también produjo el sistema de desarrollo "GIMINI" para el CP1600 [2] .

Aplicaciones

El microprocesador CP1610 utilizado en la consola de juegos Intellivision es en realidad una versión más lenta del CP1600 con algunas simplificaciones. En el decodificador Intellivision, el microprocesador CP1610 funcionaba a 894 kHz para televisores NTSC , o 1 MHz para versiones PAL / SECAM . Aunque los usuarios de computadoras basadas en CP1600 eran muy raros, se produjeron más de 3 millones de consolas Intellivision desde 1980 hasta la crisis de la industria de juegos de computadora de 1983 , que llevó al cierre de las industrias productoras de consolas en 1984. [cuatro]

La producción del CP1600 cesó en 1985 cuando General Instruments escindió su división de microelectrónica para formar Microchip Technology . En este punto, ya estaban disponibles una serie de desarrollos de 32 bits, como el Motorola 680x0 , que redujo el interés en sistemas de 16 bits como el CP1600, y el principal consumidor, Intellivision, cesó la producción. Al mismo tiempo, se eliminó el soporte para muchos otros productos y los microcontroladores PIC se convirtieron en el producto principal de la nueva empresa .

Véase también

Enlaces

  1. 1 2 Lowell Turner, "General Instruments CP1600" Archivado el 23 de marzo de 2017 en Wayback Machine , 10 de julio de 2001
  2. 1 2 "Microprocesador Serie 1600" Archivado el 26 de mayo de 2011. , Catálogo de datos de General Instruments 1977, p.10
  3. ^ "Manual de usuario del microprocesador CP-1600" Archivado el 4 de marzo de 2016.
  4. Mattel Intellivision - 1980-1984 (enlace no disponible) . Juegos clásicos . IGN . Archivado desde el original el 28 de enero de 2013. 

Enlaces externos