NSSC-1
# NSSC-1

La NASA Standard Spacecraft Computer-1 (NSSC-1) es una computadora desarrollada como uno de los componentes estándar para la nave espacial modular multimisón (Multimission Modular Spacecraft o MMS) en el Goddard Space Flight Center (GSFC) en 1974. La nave espacial básica se construyó con componentes y módulos estandarizados para reducir los costos. La computadora tenía inicialmente una memoria de núcleos magnético o memoria de cable enchapado de 18 bits de ancho de palabra de hasta 64 k. Se eligieron los 18 bits como tamaño de palabra porque proporcionaban más precisión para los datos (x4) que las máquinas de 16 bits. No soporta datos de coma flotante.

El NSSC-1 se utilizó en las siguientes misiones, mayormente limitadas al sistema solar:

* Misión Solar Máxima
* Telescopio espacial Hubble (para el control de la nave espacial, no para el manejo de datos de imágenes que inicialmente usaba el DF-224 )
* Misiones Landsat -D, renombradas como Landsat 4 y Landsat 5.
* Gamma Ray Observatory,
* $UARS.^{:910}$

Inicialmente el hardware del prototipo OBP fue desarrollado por Westinghouse y el GSFC. La máquina utilizaba lógica diodo-transistor (DTL), las piezas de menor consumo de potencia disponibles en ese momento dentro de la lista de piezas preferidas. El resultado final consistió en un conjunto de 1700 paquetes de circuitos integrados SSI (puertas NOR) repartidos en varias placas interconectadas entre sí. Para la versión del AOP el hardwate se rediseñó con 69 chips MSI (integración de escala media) utilizando lógica transistor-transistor (TTL) de bajo consumo diseñados por Harris Corporation y que, ahora sí, pudieron ser ubicados en una sola placa.

Cuando el NSSC-1 fue finalmente seleccionado como parte de la MMS, IBM se hizo con el contrato de fabricación. La máquina pasó a utilizar chips TTL MSI fabricados por TRW y funcionalmente equivalentes a los chips diseñador por Harris Corporation. Aunque los nuevos chips de TRW utilizaban algo más de potencia, resultaron ser un 50% más rápidos e igual de fiables. $^{:905}$

## Programación y soporte

El NSSC-1 disponía de un conjunto de herramientas incluyendo ensamblador / cargador / simulador y alojado en un mainframe Xerox XDS 930 (24 bits). Un simulador asociado ejecutaba el código a 1/1000 parte del tiempo real. La computadora Xerox se conectaba a una placa de prototipo en un bastidor (que, por supuesto, funcionaba a temperatura ambiente). Más tarde, el equipo de desarrollo de software y validación (Software Development and Validation Facility o SDVF) añadió un simulador de dinámica de vuelo alojado en una minicomputadora PDP-11/70 .

Se desarrolló un control ejecutivo de vuelo sobre el NSSC-1 especialmente diseñado para su uso en la Misión Máxima Solar (Solar Maximum Mission o SMM) y vuelos posteriores. El software realizaba un cambio de tarea a intervalos de 25 ms e incluía un procesador de comandos almacenados que gestionaba tanto comandos de tiempo absoluto como de tiempo relativo. Disponía de un búfer de estado que podía transferirse a una estación receptora terrestre pero también requería mucha memoria, generalmente más de la mitad de la disponible, dejando el resto para aplicaciones y como repuesto.

## Contexto histórico

### Anterior al NSSC-1

El GSFC desarrolló inicialmente el OBP (On-Board Processor) como un experimento de computador de propósito general que evolucionó al denominado procesador avanzado a bordo (Advanced Onboard Processor o AOP) utilizado en las misiones Landsat B y C, International Ultraviolet Explorer (IUE) y OSS-1. Este procesador utilizaba lógica transistor-transistor de integración de escala media (TTL).

### Después del NSSC-1

En la década de 1980, el microprocesador RCA 1802 se utilizó para muchas misiones, como por ejemplo Galileo y Magallanes. Esta y otras misiones iniciaron la tendencia de alejarse en los diseños de las CPU de la NASA construidas a medida para las naves espaciales. La exploración de las zonas internas y externas del sistema solar pasaría a realizarse con CPUs existentes (tanto civiles como militares y aeroespaciales).

Antes de que la familia RAD de CPUs de 32 bits se usara en misiones espaciales, las implementaciones del estándar MIL-STD-1750A (que permitía ejecutar aplicaciones modernas) tuvieron un uso sustancial.

Con la llegada del IBM RAD6000 en la década de 2000 y del RAD750 en la de 2010, la utilización del NSSC-1 para futuras misiones se ha vuelto totalmente impensable. Su potencia de computación no era grande, y la mayoría de las misiones espaciales modernas requieren que las computadoras de vuelo tengan una potencia de computación sustancial y sustantivamente superior.

