El CP1600 es un microprocesador de 16 bits creado en asociación entre General Instrument y Honeywell en 1975. [1] El diseño del CP1600 se basó en el PDP-11 , cuyo diseño también formó la base del Western Digital MCP-1600 e influyó en otros. . Honeywell usó el CP1600 en varias computadoras de control de procesos y sistemas relacionados, pero su uso más extendido fue la versión CP1610 en la consola de videojuegos Intellivision .
Descripción
El conjunto de instrucciones del CP1600 seguía de cerca al del PDP-11, pero no era del todo compatible. El código de operación de la instrucción era de sólo 10 bits, con los 6 restantes marcados como "Reservado para futuras expansiones". Parece que los 6 bits adicionales estaban destinados a ser utilizados con coprocesadores, afirmando la línea PCIT que detuvo la CPU hasta que se liberó. Las instrucciones pueden tener una longitud de una a tres palabras, según el formato de direccionamiento que se utilice. A diferencia de CPU similares [ especificar ] , el CP1600 no admitía direccionamiento indirecto de memoria-memoria (compensaciones), y el bucle se implementó de una manera diferente, lo que permitió que se ejecutara mucho más rápido [ especificar ] .
Al igual que el PDP-11, el CP1600 utilizó ocho registros de procesador de "propósito general" de 16 bits , aunque no eran realmente de propósito general como en los diseños modernos. Solo R0 era verdaderamente de propósito general y se ha descrito como "el acumulador primario". [2] R1 a R3 eran contadores de datos, generalmente utilizados para direccionamiento basado en registros ("direccionamiento implícito"). R4 y R5 se incrementan automáticamente después de acceder, lo que los hace útiles para recorrer las colecciones de datos.
R6 era el puntero de la pila , R7 el contador del programa. Dado que ambos registros eran visibles para el programador, podrían usarse para implementar múltiples pilas o admitir bifurcaciones más complejas, entre otras cosas. No hubo instrucciones de pila implícitas; cuando se usaba R6 en una operación de "lectura", disminuía la dirección y luego devolvía los datos apuntados, simulando a POP
, y cuando se usaba en una "escritura", se incrementaba posteriormente (como R4 / R5) y escribía, como un PUSH
.
Al igual que el PDP-11, una de las características notables del CP1600 fue el uso de E / S mapeadas en memoria , lo que significa que los dispositivos se controlaban escribiendo en ciertas ubicaciones de la memoria. Sin embargo, a diferencia del Unibus del PDP-11 , el CP1600 multiplexó sus líneas de datos y direcciones para reducir el número de pines y encajar en un DIP de 40 pines . Este cambio significó que las implementaciones tenían que usar pestillos o búferes para poder interactuar con la CPU cuando cambiaba el bus de indicar una dirección a datos. [2] Esto afectó negativamente el rendimiento de E / S, y para solucionar este problema, GI diseñó el "Controlador de interfaz programable" que fue diseñado para trabajar en conjunto con el CP1600 como controlador de canal .
El CP1600 se implementó en nMOS y requirió fuentes de alimentación de +12, +5, -3 V; La mayor parte de la lógica interna se implementó en TTL (5 V). Cada microestado o ciclo de procesador utiliza cuatro ranuras de tiempo internas generadas por dos relojes que no se superponen. Un reloj de dos fases de 3,3 MHz produce un microciclo de 600 nanosegundos. Un reloj de dos fases de 5 MHz produce un microciclo de 400 nanosegundos. Es capaz de agregar dos registros internos de 16 bits en 2.4 microsegundos, y la memoria para registrar agrega dos números de 16 bits en 3.2 microsegundos. [3]
General Instrument proporcionó ensambladores cruzados y simuladores / depuradores compatibles con miniordenadores de 16 bits o más . [4] GI también proporcionó un sistema de microordenador autónomo basado en CP1600 en el GIC1600. [5]
Usos
El CP1610, utilizado en Intellivision , es un miembro compatible de la familia de microprocesadores 1600. Utiliza un reloj de dos fases de 2 MHz que produce un ciclo de procesador de 1 microsegundo. [6] El CP1610 en las Intellivisions NTSC usa un reloj de dos fases de 1.7897725 MHz. Aunque los usuarios del CP1600 en la función de computadora tradicional eran relativamente raros, se produjeron más de 3 millones de Intellivisions desde 1980 hasta que el colapso del videojuego de 1983 llevó al cierre de las líneas de producción de Intellivision en 1984. [7]
La producción del CP1600 terminó en 1985 cuando General Instrument escindió su división de microelectrónica para crear Microchip Technology . En este punto, estaban disponibles varios diseños de 32 bits como el MC68000 que limitaban el interés en un diseño de 16 bits como el CP1600, y su principal cliente existente, Intellivision, ya no estaba en producción. Muchos otros productos también terminaron su vida útil al mismo tiempo, y su producto principal fue el PIC.
Referencias
- ^ Belzer, Jack; Holzman, Albert G .; Kent, Allen (1978). Enciclopedia de ciencia y tecnología de la computación: Volumen 10 - Álgebra lineal y matricial para microorganismos: identificación asistida por computadora . Prensa CRC . p. 402. ISBN 9780824722609.
- ^ a b Lowell Turner, "General Instruments CP1600" , 10 de julio de 2001
- ^ http://www.bitsavers.org/components/gi/CP1600/CP-1600_Microprocessor_Users_Manual_May75.pdf
- ^ http://www.bitsavers.org/components/gi/CP1600/CP-1600_Cross_Assembler_Simulator_Users_Manual_Nov74.pdf
- ^ http://www.bitsavers.org/components/gi/CP1600/GIC1600_Microcomputer_Users_Manuals_Sep75.pdf
- ^ http://intellivisionbrasil.com/docs/manuais-hardware/Service_GeneralInstrument_CP1610.pdf
- ^ "Mattel Intellivision - 1980-1984" . ClassicGaming . IGN . Archivado desde el original el 23 de junio de 2008 . Consultado el 16 de mayo de 2008 .
enlaces externos
- "CP1610" en Intellivision Wiki