El Harris Semiconductor RTX 2000 , fabricado actualmente por Intersil , es un microprocesador de arquitectura de pila de 16 bits diseñado para computación en tiempo real y programado principalmente en Forth . Las versiones resistentes a la radiación , la serie RTX 2010 , se han utilizado en numerosas naves espaciales .
El diseño original fue creado por Chuck Moore , el inventor del lenguaje Forth. En 1983 fundó Novix para diseñar un microprocesador que pudiera ejecutar directamente dicho lenguaje. El NC4000 se lanzó en junio de 1985 y pronto pasó a llamarse NC4016 . [ 1 ] [ 2 ] Este procesador funcionaba a 7,5 MHz y hasta 10 MIPS . Una versión actualizada, el NC5016 , funcionaba a 10 MHz y 12 MIPS. Un modelo previsto , el NC6016 , parece no haber llegado a producirse, ya que Novix cerró sus puertas durante este período.
Harris obtuvo la licencia del diseño original 4016 poco después de su lanzamiento, lo modificó y presentó la línea RTX, abreviatura de "Real Time eXpress". Añadieron varias características, como memoria caché integrada , una unidad de multiplicación/división y memoria de programa, y lanzaron el RTX2000 en 1988, junto con el RTX2001 , que eliminó la unidad multiplicadora. Una actualización con sistemas de entrada/salida , temporizadores y una unidad de coma flotante completa dio lugar al RTX2010. Todos estos procesadores se fabricaron principalmente en una línea de silicio sobre zafiro para aplicaciones espaciales.
Un diseño similar de 32 bits , la RTX 4000, se presentó en 1989, pero no llegó a producirse en serie.
Características

Una máquina de pila se diferencia de los diseños tradicionales en que carece de registros de procesador de propósito general definidos en la arquitectura del conjunto de instrucciones . En su lugar, utiliza modos de direccionamiento basados en desplazamientos en la pila, que normalmente se almacena en la memoria principal o se guarda parcialmente en caché en registros que no son visibles para el programador.
Por ejemplo, un procesador RISC moderno generalmente incluye una instrucción del tipo ADD C,A,B, que significa "sumar el valor del registro A al valor del registro B y colocar el resultado en el registro C". En una máquina basada en pila, esta instrucción sería simplemente ADD, que inherentemente eliminaría los dos valores superiores de la pila, los sumaría y colocaría el resultado de nuevo en ella. Una ventaja de este enfoque es que las instrucciones suelen ser más pequeñas; en una máquina con 32 registros visibles para el usuario, como muchos sistemas RISC, cada una de las tres referencias de registro requiere cinco bits, lo que exige que la instrucción sea de al menos tres bytes y normalmente cuatro. En una máquina de pila, los códigos de operación de un solo byte pueden cubrir muchas de las instrucciones.
El acceso a parámetros a través de una pila en la memoria principal es más lento que el uso de registros dedicados, y las máquinas de pila suelen tener un rendimiento general inferior como resultado. Sin embargo, esto se compensa en ciertos usos. En una máquina de registros, los valores de los registros deben guardarse en la memoria para tareas como llamadas a subrutinas y procesamiento de interrupciones . Si la máquina tiene treinta y dos registros de 32 bits, esto significa que se debe guardar 1 kbit y cargar otro. En una máquina de pila, los registros son prácticamente ilimitados, y el conjunto activo se puede seleccionar cambiando un único valor: el puntero de pila . Esto hace que estos sistemas sean extremadamente rápidos en el cambio de contexto y puede ofrecer mejoras de rendimiento significativas en sistemas con muchas interrupciones, como la computación en tiempo real .
El RTX 2000 es una máquina de dos pilas , cada una con una profundidad de 256 palabras, que admite la ejecución directa de Forth . Las llamadas a subrutinas solo consumen un ciclo de procesador y los retornos no consumen ningún tiempo. [ 3 ] También tiene una latencia de interrupción muy baja y constante de solo cuatro ciclos de procesador, lo que lo hace idóneo para aplicaciones en tiempo real . Cuenta con múltiples buses de instrucciones que permiten el envío simultáneo de varias instrucciones, lo que ayuda a eliminar las pausas mientras se espera la carga de datos de la memoria principal, al ejecutar una instrucción que ya tiene los datos cargados. Finalmente, debido a que las instrucciones se asignan directamente a conceptos de alto nivel, el código de instrucción es muy denso y los programas son mucho más pequeños que los lenguajes ensamblador normales utilizados con diseños tradicionales. [ 3 ]
Historia
En 1983, Chuck Moore implementó un procesador para su lenguaje de programación Forth como una matriz de puertas lógicas. Dado que Forth puede considerarse una máquina virtual de doble pila, diseñó el procesador, el Novix N4000 (posteriormente renombrado NC4016), como una máquina de doble pila . Este sistema utilizaba solo 4000 puertas lógicas construidas a partir de 16 000 transistores CMOS , en comparación con las 68 000 puertas lógicas del Motorola 68000 de 1979. El chip podía ejecutar directamente 40 primitivas de Forth y 123 combinaciones, eliminando la necesidad de una máquina virtual completa y acelerando el rendimiento de las instrucciones más comunes. [ 3 ]
En 1988, Harris Semiconductor adquirió los derechos de la línea Novix e inició un programa de mejora. Añadieron pilas en el chip para reducir el número de accesos a la memoria principal, varios temporizadores y contadores en el chip, un controlador de interrupciones dedicado y un multiplicador de hardware de un solo ciclo. [ 3 ] La nueva versión se denominó RTX 2000 y se comercializó para aplicaciones espaciales. [ 4 ]
Ejemplos de naves espaciales que utilizan el RTX2010
- Explorador de composición avanzada (ACE)
- CERCA / Zapatero
- TEMPORIZADO
- Módulo de aterrizaje de Rosetta: Philae
Referencias
- ^ Moore, Charles H.; Murphy, Robert W. "Bajo el capó de un superchip: el NOVIX FORTH" (PDF) . Journal of Forth Application and Research . 3 (2). ISSN 0738-2022 .
- ^ Koopman. " 4.4 La arquitectura del Novix NC4016 ". En Koopman (1989) .
- ^ a b c d Hand, Tom (1990). "El microcontrolador Harris RTX 2000" (PDF) . Revista de Aplicación e Investigación de Forth . 6 (1): 5– 13.
- ^ Patente estadounidense vencida 5070451A , Moore, Charles H. y Murphy, Robert W., "Microprocesador de lenguaje específico Forth", emitida el 3 de diciembre de 1991, asignada a Intersil
Enlaces externos
- "HS-RTX2010RH" . Intersil . Archivado del original el 15 de junio de 2011. Consultado el 11 de febrero de 2009 .Página de producto de Intersil.
- "Hoja de datos HS-RTX2010RH" (PDF) . Intersil. Marzo de 2000. 3961.3.
- Rash, James. "Aplicaciones espaciales de Forth" . Centro de Vuelo Espacial Goddard de la NASA . Archivado del original el 4 de febrero de 2011.
- "Manual de referencia del programador de la familia RTX 2000" (PDF) . Harris. 1990.
- Koopman, Philip (1989). "4.5 Arquitectura del Harris RTX 2000" . Stack Computers: la nueva ola . Ellis Horwood. ISBN 978-0138379230. Consultado el 16 de abril de 2016 .
- Koopman, P.; Schuldt, M. (2018) [1997]. "RTX2000 Simulator: Linux port of MSDOS original" . GitHub.
mientras se carga una imagen de AppForth de Rick VanNorman.
- Computadoras de aviónica
- Microprocesadores resistentes a la radiación
- Máquinas apiladoras
- microprocesadores de 16 bits
- Introducciones relacionadas con la informática en 1988