El RCA CDP1802 es un microprocesador de 8 bits LSI (Large Scale Integration) en formato DIP 40 fabricado en tecnología CMOS implementado utilizando la arquitectura COSMAC (Complementary Symmetry Monolithic Array Computer)[1]​ lanzado por RCA a principios de 1976, siendo el primer microprocesador de la compañía en un solo chip.[2]​ Es la segunda versión del COSMAC 1801 primer microprocesador CMOS, que estaba formado por dos circuitos, reunidos en uno solo en el 1802.[3]​ Los aficionados por lo general se refieren a el simplemente como "el 1802". En la actualidad sigue siendo fabricado por Intersil Corporation como un microprocesador de alta fiabilidad. El 1802 tiene una arquitectura diferente de la mayoría de los otros microprocesadores de 8 bits.

Patillaje del RCA COSMAC CDP1802 en encapsulado DP-40
Amarillo = Power;
Verde = Salida;
Azul = Entrada;
Rojo = I/O Tri-State.
RCA CDP 1802
Foto del die del RCA CDP1802

En 1970 y 1971, Joseph Weisbecker desarrolló una nueva arquitectura de computadoras de 8 bits.[4]​ RCA publicó el trabajo de Weisbecker como el COSMAC 1801U y 1801R (también conocido como TA6889/TA6890 y TC 1084/TC 1085) a principios de 1975, utilizando su proceso CMOS (llamado COS/MOS, acrónimo de Complementary Silicon/Metal-oxide Semiconductor). En 1976, un equipo liderado por Jerry Herzog integró los dos chips en uno, el 1802.[2][5][6]

Los sucesores del 1802 son el CDP1804, el CDP1805 y el CDP1806, que tienen un conjunto de instrucciones extendido, otras características mejoradas (como RAM y ROM incorporadas y un temporizador incorporado), con algunas versiones funcionando a velocidades de reloj más rápidas, aunque no con una diferencia de velocidad significativa. Algunas características también se pierden, como la funcionalidad de cargador de arranque automático DMA. También hay algunos cambios menores en la función de los pines.

Introducción

editar

El RCA 1802 tiene un diseño CMOS de núcleo estático sin una frecuencia de reloj mínima, de modo que puede ejecutarse a velocidades muy bajas y baja potencia, incluyendo una frecuencia de reloj de cero para suspender el microprocesador sin afectar su funcionamiento. Tiene dos buses separados de 8 pines: un bus de datos bidireccional de 8 bits y un bus de direcciones multiplexando la parte alta y baja de las direcciones en dos ciclos, al contrario de lo normal, que es multiplexar las direcciones y los datos.

El 1802 tiene un puerto de salida (Q) de un solo bit, programable y comprobable, y cuatro pines de entrada que son probados directamente por una rama de su conjunto de instrucciones (EF1-EF4).

Puede direccionar 64K de memoria, RAM y ROM en cualquier combinación. Mantiene un espacio separado para periféricos que controla mediante cuatro líneas N, que toman un valor 1 a 7 cuando se direcciona un periférico. Permite la transmisión de datos entre memoria y periféricos directamente, sin pasar por el acumulador. Contiene un DMA rudimentario, utilizando R2 como puntero.

Su modo entrada/Salida (I/O) es flexible y programable, y tiene un reloj monofásico con un oscilador integrado. Su conjunto de registros consta de dieciséis registros de 16 bits. El contador de programa (PC) puede residir en cualquiera de estos, y se puede configurar mediante la instrucción SEP Rn, proporcionando una forma sencilla de implementar múltiples PCs y realizar llamadas de subrutina. (Vea las llamadas de subrutina más abajo). De forma similar, los punteros y el direccionamiento indirecto usan el registro X (instrucción SEX Rn), o los 16 registros pueden usarse como registros de propósito general. Las interrupciones DMA In y Out utilizan registros específicos.

Arquitectura

editar

El 1802 consta de un array de 16 registros de 16 bits, R0 a R15. Cualquiera de estos registros se puede usar como contador de programa, punteros de datos, punteros de pilas o simplemente para guardar datos. Tras el reset, R0 es el contador de programa. Se puede mover la información de los registros al acumulador y viceversa, la parte alta (R0.1) y la parte baja (R0.0) separadamente. Además de los registros, el 1802 contiene:

  • D: Acumulador de 8 bits.
  • P: Indica que registro actúa como contador de programa. Es de 4 bits.
  • X: Indica que registro actúa como puntero de datos. Es de 4 bits.
  • DF: Indicador de acarreo. Un bit.
  • Q: Flag de usuario. Un bit.
  • EI: Habilita la interrupción. Un bit.
  • T: Registro temporal que contiene los valores de P y X, se usa bajo control del programa.

Instrucciones y direccionamientos

editar
  • La única forma que el 1802 tiene para acceder a la memoria es indirectamente a través de los registros. Esto es M(R(n)), pero permite incrementar el registro, es decir: M(R(n)++), de modo que R(n) queda apuntando al siguiente byte. Como el contador de programa es uno de los registros, el direccionamiento inmediato no es más que M(R(P)++). Es necesario incrementar el registro para que apunte a la siguiente instrucción.
  • No existen saltos relativos, sino que se dividen en tres tipos:
    • Cortos, que cambian la parte baja del contador de programa, esto es: M→R(P).0
    • Largos, que cambian los 16 bits, permitiendo saltar a cualquier parte de la memoria.
    • Skip, que solo salta un byte. También existe un Skip Long incondicional que salta dos bytes.
  • No posee aritmética BCD, aunque sus derivados 1805 y 1806, sí.
  • Tiene instrucciones que realizan tanto la resta "acumulador menos memoria", D - M(R(N))→ D, como "memoria menos acumulador", M(R(N)) - D → D.
  • Carece de pila, de modo que ésta, si se usa, debe mantenerse mediante programa. Las versiones 1805 y 1806 incluyen "Standard Call" y "Standard Return". Son más lentas que modificar P, pero permiten un número ilimitado de subrutinas anidadas.

Versiones

editar

La tecnología del 1802 lo hizo atractivo para aplicaciones donde el bajo consumo era prioritario: equipos portátiles y militares. Para este ámbito, así como el aeroespacial existen versiones "endurecidas" (Hardened) frente a radiación y en silicio sobre zafiro (SOS). Huges lo fabricó como segunda fuente y en 2006 Harris lo mantiene en su catálogo, tanto comercial como hardened.

  • El 1806 es un 1802 con el juego de instrucciones extendido y temporizador.
  • El 1805 es un 1806 con RAM interna.

Aplicaciones

editar

Resistencia a la radiación

editar

Además de la tecnología C2L CMOS de "silicio en masa", el 1802 también estaba disponible fabricado en la tecnología Silicon on Sapphire (SOS) de proceso de semiconductores, que le da un grado de resistencia a radiación y a la descarga electrostática (ESD). Junto con sus capacidades extremas de baja potencia, esto hace que el chip sea adecuado en aplicaciones espaciales y militares (también, en el momento en que se introdujo el 1802, muy pocos, si es que los había, microprocesadores resistentes a la radiación estaban disponibles en el mercado).[7][8]​ La versión resistente a la radiación del 1802 fue fabricada por Sandia National Laboratories bajo acuerdo con RCA.[9]

Tecnología espacial y ciencia

editar

El 1802 fue utilizado en muchas naves espaciales y programas de ciencia espacial, experimentos, proyectos y módulos.

  • La sonda espacial Galileo utiliza múltiples (~20) microprocesadores 1802.[10]
  • Se ha afirmado a menudo incorrectamente que el 1802 ha sido utilizado en las Viking y Voyager , pero no estaba disponible en el momento en que esas nave espacial fueron diseñadas, y las fuentes primarias describen las computadoras de Viking y de Voyager como arquitecturas muy diferentes al 1802, no estando basadas en microprocesador.[11]
  • El 1802 ha sido ampliamente utilizado en satélites de órbita terrestre, principalmente para su computadora primaria, pero desde la década de 1990 su uso como una computadora de control de vuelo de baja complejidad y sistemas de telecomunicaciones ha dominado.[12]
    • La Fase 3-D de AMSAT (también conocida como AO-40, probablemente el último 1802 lanzado al espacio en 2000)[13]
    • Varios satélites OSCAR[14]
    • UoSAT-C[15]
    • UoSAT-1 UO-9
    • MAGSAT
  • El 1801 de dos chips predecesor del 1802 se utilizó en satélites AMSAT anteriores.[16]
  • También se ha verificado en la documentación de la NASA que ha sido utilizado en:
  • El 1802 también se usó en MASCOT (MIT Astronomical Spectrometer/Camera for Optical Telescopes), un instrumento de viaje desplegado en muchos telescopios a principios de los años ochenta.[17][18]
  • Al menos uno de los 57 experimentos a bordo del Long Duration Exposure Facility (LDEF: Módulo Experimental Espacial de Larga Duración) de la NASA (lanzado y recuperado por un Transbordador espacial), the Thermal Control Surfaces Experiment (TCSE - Experimento de Superficies de Control Térmico), utilizó el 1802.
  • Un dispositivo de seguridad basado en 1802, el Electronic Fill Device (dispositivo de llenado electrónico), se utilizó junto con el sistema de comunicaciones seguras del transbordador espacial estadounidense, como un sistema de cifrado/descifrado basado en tierra para cargar claves de misión secreta en varios sistemas informáticos de tierra y los Shuttle antes del lanzamiento.[19]
  • Los satélites SROSS-C y SROSS-C2 de la Agencia India de Investigación Espacial lanzados en 1992 y 1994, respectivamente, utilizaron un procesador 1802.[20]​ Se desconoce si los dos primeros satélites que no lanzaron (A & B) incorporaban un 1802.
  • La cámara de transición explosiva (ETC - Explosive Transient Camera) basada en tierra, un monitor de cielo de campo amplio de destellos ópticos celestiales, incorporó un procesador 1802 como controlador para la electrónica de control de instrumentos (ICE).[21]
  • Un procesador 1802 fue una de las CPUs utilizados en el Paquete de Diagnósticos de Plasma Recuperable (RPDP - Recoverable Plasma Diagnostics Package), un satélite eyectable y recuperable con sistemas de soporte de vuelo y tierra, que voló en varias misiones Spacelab del transbordador espacial desde los años 80 a la década de 1990.[22][23]
  • Las sondas espaciales idénticas Vega 1 y 2, desarrolladas como un esfuerzo cooperativo internacional en 1985, utilizaron (entre otros procesadores) al menos dos microprocesadores 1802 cada uno en al menos dos instrumentos suministrados por Hungría, el PLAZMAG Comet Plasma Spectrometer y el Espectrómetro de partículas de alta energía TUNDE-M.[24]
  • Un procesador 1802 fue utilizado en el SupraThermal Energetic Particle telescope (STEP), subsistema del instrumento científico Energetic Particles: Acceleration, Composition and Transport (EPACT) ubicado en el satélite aún en funcionamiento de la NASA WIND lanzado en 1994.[25]
  • En 1982, durante la misión STS-3, el transbordador espacial Columbia llevó una carga útil que incluía el experimento Vehicle Charging and Potential (VCAP) como parte del módulo OSS-l, que consistía en una serie de instrumentos montados en un palet del Spacelab. Uno de los instrumentos del VCAP era la Unidad de Interfaz de Control Digital (DCIU - Digital Control Interface Unit), que incorporaba tres procesadores 1802: un microprocesador de control general, un controlador de voltaje de barrido SRPA y un monitor de señalización y visualización.[26]
  • Una de las tres naves espaciales de la misión AMPTE (Active Magnetospheric Particle Tracer Explorers o Exploradores de Trazadores de Partículas Magnetosféricas Activas) el CCE (Charge Composition Explorer), lanzado en 1984, contenía el instrumento de experimentación Medium Energy Particle Analyzer (MEPA), que utilizaba un procesador 1802 resistente a la radiación para su sistema de datos de mando y control.[27]
  • La información anecdótica de Tom Skillman, que trabajó en el proyecto, afirma que el Experimento de Composición de Plasma en el satélite ISEE-3 (o ISEE-C - International Sun-Earth Explorer #3; más tarde designado el Explorador Cometario Internacional (ICE - International Cometary Explorer)), lanzado en 1978 y perdido en 2014, contenía un microprocesador 1802. Esta información no se ha verificado a través de la documentación original.[28]

Microcomputadores

editar

Un número de primeros microcomputadores se basaron en el 1802, incluyendo el COSMAC ELF (1976), Netronics ELF II, Quest SuperELF, COSMAC VIP, Comx-35, los finlandeses Telmac 1800 y Oscom Nano, los yugoslavos Pecom 32 y 64, y los sistemas Cybervision vendidos por Montgomery Ward a finales de los años 70,[29]​ así como la videoconsola RCA Studio II (una de las primeras consolas en utilizar gráficos en mapa de bits). El sistema de entrenador de computadoras individuales Edukit en una sola placa (SBC - single board computer), similar a un COSMAC Elf ampliado, fue ofrecido por Modus Systems Ltd. en Inglaterra a principios de los años ochenta.[30]​ Infinite Incorporated produjo un ordenador con bus S-100 para ampliación basado en el 1802 como equipo de entrenamiento a finales de los años 70 llamado el UC1800, disponible ensamblado o en forma del kit.[31][32]

Como parte del trabajo de los aficionados a la Retroinformática, otras computadoras se han construido más recientemente (después de 2000), incluyendo el kit de microordenador en tarjeta de socio que se ajusta en una lata Altoids[33]​ y el Spare Time Gizmos Elf 2000 (Elf 2K),[34]​ entre otros. Consulte Emuladores y Simuladores para otros sistemas.

Integración del producto

editar

El 1802 también se usó en una variedad de otros productos y sistemas, algunos basados en la ciencia, y otros comerciales.

  • Un ejemplo es el Sistema de Monitoreo de Calidad de Agua Desplegable Remota (WQMS - Remote Deployable Water Quality Monitoring System), el cual usó dos microprocesadores 1802, desarrollado como una empresa conjunta por la NASA y otras agencias federales.[35]
  • Otro ejemplo son dos versiones tempranas de Sinar Moisture Meters de 1980 y 1985.[36]
  • El dispositivo de seguimiento de tiempo Infocel TimeTrac de mediados de los 80 también incorporó el 1802 en su diseño.[37]
  • Con posterioridad a 1980 Chrysler y sus diferentes modelos de vehículos utilizan el 1802 en su segunda generación del Electronic Lean-Burn System, con control de chispa electrónica, uno de los primeros sistemas de control automáticos computarizados a bordo.[38][39]
  • El 1802 fue utilizado en la fabricación de muchas máquinas de pinball y arcades en España.[40]
  • Muchas patentes de EE. UU. hacen referencia al microprocesador 1802 (búsqueda: CDP1802, RCA1802, & COSMAC).
  • A finales de los años setenta y principios de los ochenta, se utilizaron múltiples 1802 en una configuración maestro-esclavo en el diseño del Automated Seismic Processor (ASP) sistema de detección y análisis de microseísmos por la División de Ciencias del Laboratorio Nacional Lawrence Berkeley en la Universidad de California en Berkeley por el Departamento de Energía de los Estados Unidos.[41]
  • El 1802 fue utilizado en un cronómetro digital en el Boeing 737.[42]
  • Muchas estaciones meteorológicas automatizadas (AWS - Automated Weather Stations) desplegadas en la Antártida a principios de los años 80 utilizaron el 1802.[43]
  • Un procesador 1802 se utilizó en los últimos teléfonos de pago Kimus 1a (también conocido como PTT TE 450) de SODECO (Societe Des Compteurs de Geneve) en Europa (Países Bajos y Suiza).[44]
  • Un procesador 1802 también se utilizó en el modelo de 1977 Sherwood Micro/CPU-100 FM Tuner.[45]
  • La Armada de los Estados Unidos utilizó un sistema basado en 1802 en el desarrollo de su programa de detección, indicación y cálculo de radiación (RADIAC) de ARCADES (Automatic RADIAC Calibration And Diagnostic Equipment System) Radiation Detection, Indication, and Computation (RADIAC) en el Laboratorio Nacional Oak Ridge en colaboración con Martin Marietta en la década de 1980, creando una interfaz entre una unidad lector-registradora y un sistema informático, con el hardware implementado como una computadora RCA CDP18S600 de una sola placa y el software escrito en el intérprete RCA BASIC III.[46]
  • El Microwriter MW4 un procesador de textos de mano con un teclado de acordes de finales de 1970 y principios de 1980 utilizó un procesador 1802.[47]
  • El Cordis Sequicor I era un marcapasos con microprocesador controlado por software y controlado por software, que utiliza el microprocesador RCA 1802.[48]​ Cordis también utilizó el 1802 en sus programadores de marcapasos, el Programmer III y el IAP (Inter-Active Programmer).[49]

Lenguajes de programación

editar

El primer lenguaje de alto nivel disponible para el 1802 fue Forth, proporcionado por Forth, Inc. en 1976. Otros lenguajes de programación disponibles, tanto intérpretes como compiladores, son CHIP-8 (y variantes), 8th (una versión de Forth creada por Lee Hart),[50]Tiny BASIC de Tom Pittman,[51]C, varios ensambladores y ensambladores cruzados, entre otros. Otros lenguajes especiales fueron usados por varias agencias federales, como la NASA y sus instalaciones, incluyendo el Centro Espacial Lyndon B. Johnson, AMES, el Centro de vuelo espacial Goddard, Langley, Marshall y el Laboratorio de Propulsión a Reacción (JPL), que incluyeron el compilador cruzado HAL/S,[52]STOIC, un lenguaje parecido al Forth,[17]​ y otros.

Emuladores y Simuladores

editar

El chip 1802 y los ordenadores que utilizan el microprocesador han sido emulados y simulados en hardware y/o software por aficionados. Un diseño está en VHDL para un FPGA.[53]​ Se creó un clon del COSMAC Elf de plena velocidad y bus exacto sin un chip de microprocesador CDP1802 ni el chip de vídeo CDP1861 utilizando microcontroladores PIC.[54]​ Un simulador en línea del COSMAC Elf (mejorado) escrito en JavaScript se ejecuta en el navegador del usuario sin necesidad de descargar.[55]

Chips de soporte

editar

Chips de gráficos

editar

En los primeros microcomputadores basados en 1802, el chip de vídeo, CDP1861 (para el formato de vídeo NTSC, CDP1864 para PAL ), utilizó el controlador DMA incorporado para mostrar gráficos bitmap en blanco y negro en pantallas estándar de TV. El 1861 también fue conocido como el sistema de gráficos Pixie, pantalla, chip y generador de vídeo,[56]​ sobre todo cuando se utiliza en el microordenador COSMAC ELF. Otras nombres de chips conocidos para el 1861 son TA10171, TA10171V1 y TA10171X, que fueron designaciones tempranas para "muestras de ingeniería de pre-calificación" y "números de parte preliminares", aunque se han encontrado en microordenadores de producción RCA Studio II y Netronics Elfs.[57]

El chip 1861 podría mostrar 64 pixels horizontalmente y 128 píxeles verticalmente, aunque al volver a cargar el registro R0 DMA a través del programa de controlador de software 1802 requerido y la rutina de servicio de interrupción, la resolución podría reducirse a 64 × 64 o 64 × 32 para usar menos memoria o para hacer píxeles cuadrados. 64 × 32 píxeles cuadrados creados y 256 bytes de memoria (2K bits). Esta fue la resolución habitual para el sistema de programación de juegos Chip-8. Dado que el búfer de trama de gráficos de vídeo era a menudo similar o igual en tamaño al tamaño de la memoria, no era inusual mostrar su programa/datos en la pantalla que le permite ver a la computadora pensar (es decir, procesar sus datos). Los programas que corrieron amok y se sobrescribieron accidentalmente podrían ser espectaculares.

Aunque las versiones más rápidas de 1802 podían operar a 4-5 MHz (a 5 V, era más rápida (6,4 MHz) a 10 V), normalmente se operaba a 3,58 MHz dividido por 2 (1,76 MHz) para satisfacer los requisitos de la norma 1861 que dio una velocidad de poco más de 100.000 instrucciones por segundo.

El circuito integrado CDP1862 Color Generator Circuit IC, un chip auxiliar del 1861, podría utilizarse para generar gráficos en color. Algunos sistemas informáticos, como el Pecom 64, utilizaban el VIS (Video Interface System), que consistía en los chips auxiliares CDP1869 y CDP1870, para gráficos de color de mayor resolución.

Ejemplos de Pixie Graphic Display Imagery
 
Icónico ejemplo de gráficos Pixie del COSMAC Elf mostrando una nave espacial tipo Star Trek y el código de programa, mediante el emulador Octo Chip-8 en resolución 64x32.
 
Pantalla del juego Mastermind, mediante el emulador Octo Chip-8 en resolución 64x32.
 
Pantalla del juego Space Jam!, mediante el emulador Octo Chip-8 en resolución 64x32.

Ejemplo de código

editar

Este ejemplo de fragmento de código es una rutina de diagnóstico que prueba las operaciones ALU (Arithmetic and Logic Unit).

..  TEST ALU OPS
0000 90         GHI 0     .. PREPARAR R6
0001 B6         PHI 6
0002 F829       LDI DOIT  .. PARA ENTRADA DE OPCODE
0004 A6         PLO 6
0005 E0         SEX 0     .. (X=0 AHORA)
0006 6400       OUT 4,00  .. ANUNCIA USLISTO
0008 E6         SEX 6     .. AHORA X=6
0009 3F09       BN4 *     .. ESPERAR POR IT
000B 6C         INP 4     .. OK, COGER IT
000C 64         OUT 4     .. Y MOSTRARLO
000D 370D       B4 *      .. ESPERE PARA LA LIBERACIÓN
000F F860       LDI #60   .. AHORA PREPARADO PARA
0011 A6         PLO 6     .. PRIMER OPERANDO
0012 E0         SEX 0     .. MOSTRAR SO
0013 6401       OUT 4,01
0015 3F15       BN4 *
0017 E6         SEX 6     .. COGER Y MOSTRAR
0018 6C         INP 4     .. (A 0060)
0019 64         OUT 4     .. (TAMBIÉN INCREMENTO R6)
001A 371A       B4 *
001C E0         SEX 0     .. DITTO SEGUNDO OPERANDO
001D 6402       OUT 4,02
001F E6         SEX 6
0020 3F20 LOOP: BN4 *     .. ESPERAR POR IT
0022 6C         INP 4     .. COGER IT (NOTA: X=6)
0023 64         OUT 4     .. ECHO IT
0024 3724       B4 *      .. ESPERE PARA LA LIBERACIÓN
0026 26         DEC 6     .. BACK UP R6 EN 0060
0027 26         DEC 6
0028 46         LDA 6     .. OBTENGA EL PRIMER OPERANDO A D
0029 C4   DOIT: NOP       .. REALIZAR LA OPERACION
002A C4         NOP       .. (SPARE)
002B 26         DEC 6     .. VOLVER A 0060
002C 56         STR 6     .. RESULTADO DE LA SALIDA
002D 64         OUT 4     .. (X=6 STILL)
002E 7A         REQ       .. DESACTIVAR Q
002F CA0020     LBNZ LOOP .. ENTONCES SI CERO,
0032 7B         SEQ       .. VOLVER A ENCENDER
0033 3020       BR LOOP   .. REPETIR EN CUALQUIER CASO

Nota: La rutina anterior supone que el microprocesador CDP1802 está en un estado de reinicio inicial (o que se ha configurado como tal antes de ejecutar este código). Por lo tanto, el contador de programa (PC) y el indicador de registro indirecto X se ajustan a un registro de 16 bits R0. Es por eso que se puede generar un valor inmediato, como en el ejemplo 'OUT 4,00', porque PC y X apuntan a R0. El PC se incrementa después de que el byte de instrucción de opcode se recupera de la memoria, por lo que apunta a la siguiente dirección cuando se ejecuta OUT 4. Por lo tanto, emite el valor en memoria apuntado por RX = R0, que es el siguiente byte inmediato. La instrucción OUT también incrementa el registro X, que es R0, que es también el PC, por lo que emite el valor inmediato después de la salida y continúa la ejecución del programa en la siguiente dirección de instrucción después del valor inmediato. Es por eso que ves la rutina establecida X (SEX) para registrar R6 y R0 según sea necesario. También tenga en cuenta que, aunque el código de operación OUT incrementa el registro RX, para producir fácilmente una sección de memoria ('buffer'), INP no lo hace. Almacena el valor en la dirección señalada por RX y en el acumulador de bytes de datos de 8 bits, pero RX no se modifica.

La rutina también supone que OUT 4 mostrará el valor en el LED de 8 bits del sistema de la CPU o en la pantalla hexadecimal de 2 dígitos, e IN 4 obtendrá el valor de los ocho conmutadores (o posiblemente el teclado hexadecimal). El código de operación BN4 (bucle; * = 'esta dirección'), "rama si la línea EF4 de entrada de un solo bit es lo", se usa para probar si se pulsa el botón momentáneo de "Entrada". El bucle opcode B4 ('if hi') espera que se suelte el botón. SEQ y REQ activan y desactivan la línea Q única, que suele estar conectada a un LED.

El 1802 es una "máquina de bytes", pero tiene 16 registros de 16 bits, R0-RF (a veces denominado 0-F sin el prefijo 'R'). Para hacer frente a los datos de registro de 16 bits, el programador debe obtener y poner los valores Hi o Lo de los registros utilizando el acumulador D como intermediario. Estos bytes altos y bajos de los registros a veces se denominan Rn.0 (lo) y Rn.1 (hi). Las ramas cortas son opcodes de 2 bytes con direccionamiento de página absoluta y un límite de dirección de 256 bytes. Las ramas largas son opcodes de 3 bytes con ramificación de direcciones de 16 bits.

Esta información debe hacer que la rutina sea más comprensible para cualquier programador informático que esté lo suficientemente informado como para leer "pseudo-código" y que esté al menos familiarizado con el ensamblaje y la programación del lenguaje de máquina.

Referencias

editar
  1. «RCA Laboratories Research Report 1973». RetroTechnology. RCA. Consultado el 24 de mayo de 2016. 
  2. a b «RCA COSMAC 1802». The Antique Chip Collector's Page. AntiqueTech.com. 21 de abril de 2009. Archivado desde el original el 2 de enero de 2013. Consultado el 27 de diciembre de 2010. 
  3. Russo, Paul. «Interprocessor Communication for Multi-Microcomputer Systems». IEEE Computer Society. IEEE. Consultado el 15 de junio de 2016. 
  4. An Eight-Bit Micro-Processor, RCA Technical Report, PRRL-7l-TR-207
  5. «Joseph Weisbecker». Vintage-Computer.com. 8 de febrero de 2010. Archivado desde el original el 17 de julio de 2011. Consultado el 27 de diciembre de 2010. 
  6. «Joseph A. Weisbecker (1932 - 1990)». CosmacElf.com. Archivado desde el original el 16 de junio de 2014. Consultado el 27 de diciembre de 2010. 
  7. «A high speed bulk CMOS C2L microprocessor». IEEE Xplore Digital Library. IEEE. Consultado el 4 de junio de 2016. 
  8. «A Radiation-Hardened Bulk Si-Gate CMOS Microprocessor Family». IAEA.org. IAEA.org. Consultado el 4 de junio de 2016. 
  9. Gülzow, Peter. «No RISC, No Fun!». AmSat Germany. Archivado desde el original el 13 de abril de 2013. Consultado el 25 de marzo de 2017. 
  10. Tomayko, James (Abril de 1987). «Computers in Spaceflight: The NASA Experience». NASA. Consultado el 6 de febrero de 2010. 
  11. http://www.retrotechnology.com/memship/1802_spacecraft.html COSMAC 1802 History in Space
  12. «RCA COSMAC VIP». Obsolete Technology Website. Consultado el 31 de enero de 2010. 
  13. «Copia archivada». Archivado desde el original el 5 de octubre de 2006. Consultado el 19 de diciembre de 2006.  AMSAT History
  14. http://www.retrotechnology.com/memship/amsat.html The COSMAC 1802 and AMSATs, OSCARs and UoSATs
  15. «73 Amateur Radio Magazine, International Edition, Junio de 1988». SurvivorLibrary.com. Junio de 1988. Consultado el 29 de junio de 2016. 
  16. «IPS HIGH LEVEL PROGRAMMING OF SMALL SYSTEMS, 2nd Ed.». JR Miller Homepage. Archivado desde el original el 19 de septiembre de 2016. Consultado el 11 de junio de 2016. 
  17. a b «MASCOT (MIT Astronomical Spectrometer / Camera for Optical Telescopes)». 
  18. «How CCD Detectors have Revolutionized Astronomy». Archivado desde el original el 20 de diciembre de 2016. Consultado el 25 de marzo de 2017. 
  19. Mead, Barry (Mar 2016). «MDCCCII.com (1802) People». MDCCCII.com (1802). William Donnelly. Consultado el 31 de julio de 2016. 
  20. «Cosmic gamma ray bursts - Recent developments and observations from SROSS satellites». Current Science Research Journal. 10 de noviembre de 1995. 
  21. Vanderspek, Roland (14 de noviembre de 1985). «Final Report for the NASA/MIT Explosive Transient Camera (ETC) Program». NASA Technical Reports Server (NTRS). 
  22. Roberts, Bill. «Recoverable Plasma Diagnostics Package (RPDP)». NASA Technical Reports Server (NTRS). 
  23. «A Recoverable Plasma Diagnostics Package (RPDP) for Spacelab». NASA Technical Reports Server (NTRS). Sep 1980. 
  24. «Hungarian Instruments for the VEGA Program». Defense Technical Information Center. 12 de agosto de 1987. 
  25. «The Energetic Particles: Acceleration, Composition, and Transport (EPACT) investigation on the WIND spacecraft». The SAO/NASA Astrophysics Data System. 16 de junio de 1993. 
  26. «1983 Spacecraft Environmental Interactions Technology Conference Report». NASA Technical Reports Server (NTRS). 1983. 
  27. «IEEE Transactions on GeoScience and Remote Sensing, Volume GE-23, No.3, Mayo 1985, page 232». ResearchGate. 1985. 
  28. Skillman, Tom (2014). «Contact Us Comment Section». Space College Foundation. Archivado desde el original el 29 de abril de 2017. 
  29. Ruske, Dave. «Cybervision 2001, 3001, and 4001». COSMAC Elf. COSMACELF.COM. Consultado el 30 de junio de 2016. 
  30. «Wireless World magazine ad on page 22». American Radio History. May 1981. Consultado el 21 de enero de 2017. 
  31. «Equipment Report - Infinite UC1800 Microcomputer». ClassicCmp.org - Classic Computing. Radio Electronics Magazine. Aug 1977. Consultado el 22 de enero de 2017. 
  32. Haberhern, William (Feb 1977). «Kilobaud Magazine Article Pg 90». Archive.org. Wayne Green. Consultado el 22 de enero de 2017. 
  33. Hart, Lee. «The 1802 Membership Card Computer». Lee Hart's Homepage. Lee Hart. Consultado el 22 de mayo de 2016. 
  34. «Spare Time Gizmos Elf 2000 (Elf 2K)». 
  35. «Remote Deployable Water Quality Monitoring System». 
  36. «Five generations of Sinar Moisture Meters». Consultado el 22 de mayo de 2016. 
  37. «Inforcel». Consultado el 22 de mayo de 2016. 
  38. «RCA/Weisbecker "System 00" aka "FRED"». Retrotechnology. Herb Johnson. 22 de junio de 2016. Consultado el 23 de junio de 2016. 
  39. «The Chrysler Lean Burn engine control system». All Mopar Chrysler Info. AllPar.com. Consultado el 23 de junio de 2016. 
  40. Donnelly, William (7 de julio de 2016). «MDCCCII (1802) | Product Integration: Commercial & Scientific Applications». A COSMAC 1802 CPU RetroComputing Extravaganza. William Donnelly. Consultado el 7 de julio de 2016. 
  41. «Earth Sciences Division Annual Report 1979». International Atomic Energy Agency. IAEA.org. Julio de 1980. Consultado el 24 de julio de 2016. 
  42. Mead, Barry (March 2016). «MDCCCII.com (1802) People». MDCCCII.com (1802). William Donnelly. Consultado el 31 de julio de 2016. 
  43. «The challenges of changing technologies for the USAP AWS program». PolarPower.org. 2009. Archivado desde el original el 20 de diciembre de 2016. Consultado el 25 de marzo de 2017. 
  44. «Wiki Article». Technologia Incognita Wiki. Amsterdam Hackerspace. Consultado el 31 de diciembre de 2016. 
  45. Hilpert, Brent (Enero de 2013). «Sherwood Micro/CPU-100 FM Tuner». bhilpert Home Page. bhilpert. Archivado desde el original el 16 de enero de 2017. Consultado el 12 de enero de 2017. 
  46. «Instrumentation and Controls Division Progress Report for the Period July 1,1982 to July 1, 1984, Volume 1». SciTech Connect. US DOE Office of Scientific and Technical Information. Diciembre de 1984. Consultado el 18 de enero de 2017. 
  47. «MicroWriter Redux». Loper OS Project Blog. Stanislav Datskovskiy. 1 de febrero de 2013. Consultado el 1 de febrero de 2017. 
  48. «Cordis Sequicor and Gemini cardiac pacer demonstration model». Computer History Museum. 
  49. «Use of Microcomputers and Personal Computers in Pacing». National Center for Biotechnology Information. 1983. 
  50. «Membership Card Software». 
  51. «Itty Bitty Computers & TinyBasic». 
  52. «Current Status of the HAL/S Compiler on the Modcomp Classic 7870 Computer». 
  53. Baker, Scott (2016). «1802 CPU coded in VHDL». Scott L Baker Github. Scott Baker. Consultado el 24 de julio de 2016. 
  54. Rossin, Ted (2011). «Elf Clone». Ted Rossin Homepage. Ted Rossin. Consultado el 24 de julio de 2016. 
  55. Donnelly, William (2011). «COSMAC Elf-ish CDP1802 Simulator in JavaScript». Donnelly-House Homepage. William Donnelly. Consultado el 24 de julio de 2016. 
  56. «Build the PIXIE Graphic Display». Popular Electronics. Archivado desde el original el 19 de junio de 2016. Consultado el 13 de junio de 2016. 
  57. «CDP1861 (discussion)». COSMACELF Yahoo Group discussion. Consultado el 14 de junio de 2016.