Los microprocesadores de las naves espaciales

Por Daniel Marín, el 4 marzo, 2013. Categoría(s): Astronáutica • Sistema Solar • sondasesp ✎ 52

El reciente fallo de uno de los dos ordenadores de Curiosity ha puesto de relieve el importante papel que juegan los microprocesadores en las misiones espaciales. El rover marciano incorpora dos RAD750 (PowerPC 750) a 200 MHz, ¿pero qué hay de otras naves espaciales?

Micro RAD750 (BAE Systems).

Con diferencia, el microprocesador más popular en la NASA es el RAD6000, una versión del PowerPC 601 desarrollado por IBM y actualmente construido por BAE Systems. El RAD6000, que opera a una velocidad máxima de 33 MHz, fue el primer microprocesador de 32 bits protegido contra la radiación y controla o ha controlado un elevado número de sondas, como por ejemplo los MERs Spirit y Opportunity (a 25 MHz), así como otras sondas marcianas como Phoenix, Mars Polar Lander, Mars Climate Orbiter, Mars Odyssey y Mars Pathfinder (en este caso con 64 MB de memoria). Las sondas MESSENGER (actualmente en órbita de Mercurio), Dawn (para el estudio de Vesta y Ceres, con 8 GB de memoria en estado sólido), Deep Space 1, Genesis y Stardust también están equipadas con él, así como los observatorios espaciales Spitzer (telescopio infrarrojo), SDO (observatorio solar en órbita baja), Swift (telescopio de rayos gamma), Gravity Probe B (satélite para el estudio de la relatividad general) y STEREO (una pareja de satélites de observación del Sol en órbita solar). La mayoría de estas naves funcionan con el sistema operativo VxWorks.

Placa de un ordenador con RAD6000 (NASA).
Fabricando el RAD750 (BAE Systems).

El siguiente microprocesador más popular es el 1750A (MIL-STD-1750A), especialmente en los vehículos de hace más de una década. El 1750A es una arquitectura de diseño concebida por los militares norteamericanos, no un modelo específico de chip, de ahí que sea fabricado por un gran número de compañías. Este micro de 16 bits se encarga de controlar la sonda Cassini de la NASA (actualmente en órbita de Saturno) y la sonda Rosetta de la ESA (en ruta hacia el cometa 67P/Churyumov–Gerasimenko). También ha viajado a bordo de las sondas Clementine, Mars Global Surveyor (que también incorporaba micros Intel 8086 en otros ordenadores) y los satélites Cluster de la ESA para el estudio de la magnetosfera, así como numerosos satélites en órbita baja (Aqua, Aura, Terra, Landsat 7, GOES-13, GOES-O, GOES-P, etc.).

Micro 1750A.

Otro microprocesador espacial es el Mongoose-V, una versión protegida contra la radiación del MIPS R3000 de Synova. Opera a 10 y 15 MHz y gestiona el ordenador central de la sonda New Horizons, actualmente en ruta hacia Plutón (a 15 MHz). Los microprocesadores Intel también se emplean en varias naves espaciales. El pequeño rover marciano Sojourner tenía un micro Intel 80C85 a 2 MHz y el telescopio espacial Hubble usa un 486 (80486), aunque antes empleaba un 386, un micro que también es usado en algunos ordenadores principales de la ISS. También ha sido muy popular el NSSC-1, un ordenador con una arquitectura diseñada por el Centro Goddard de la NASA en los años 80 que ha equipado el observatorio de rayos gamma Compton o los satélites UARS y Topex/Poseidon.

Mongoose-V (Synova).

Si nos remontamos más atrás en el tiempo, la sonda Galileo empleó seis micros RCA 1802 en su ordenador central (también usado originalmente en algunos sistemas del transbordador espacial), un chip de 8 bits. Eso sí, la mayoría de las primeras sondas y satélites empleaban microprocesadores construidos exclusivamente para la misión (o directamente no tenían micros como tales), de ahí que no sea fácil identificarlos. Las Viking usaban en los dos orbitadores un ordenador General Electric de 18 bits a 25 kHz con memoria de ferrita de 4 KB, mientras que las sondas de aterrizaje tenían un ordenador equipado con dos procesadores Honeywell HDC 402 con 18 K de memoria. Las Voyager tenían tres ordenadores, uno de los cuales era similar al de los orbitadores Viking y otro (Flight Data Subsystem) operaba a 16 bits y 80 kHz.

El Apolo empleaba el AGC (Apollo Guidance Computer) Block II en dos versiones, uno en el módulo de mando y otro en el módulo lunar, aunque en general poseía 2 KB de memoria RAM, 36 KB de memoria ROM (de núcleos de ferrita) y funcionaba a 1 MHz. La estación espacial Skylab y el shuttle en sus inicios usaron ordenadores de la familia IBM 4Pi modificados, unos productos muy populares en varios aviones militares norteamericanos. Curiosamente, el 4Pi debía haber equipado a la estación espacial militar MOL. El Skylab uso la versión de 16 bits, pero el transbordador incorporó a principios de los años 80 cinco ordenadores AP-101, una versión de 32 bits y 480 kHz del 4Pi dotado de microprocesadores Intel 8086 (también incluía micros RCA 1802 para las pantallas). Puede parecer poco, pero en su época fue una revolución (especialmente si los comparamos con los 7 kHz de los ordenadores de las cápsulas Gémini). A finales de los años 90, el shuttle incorporó microprocesadores Intel 386 en sus cinco ordenadores principales.

Los satélites rusos y soviéticos también han empleado muchos microprocesadores no estándar específicos para cada misión, aunque podemos encontrar algunos relativamente comunes. La última versión digital de las Soyuz (TMA-M) utiliza un ordenador TsVM-101 fabricado por NII Submikron dotado de un micro 1V812 a 24 MHz con 2 MB de RAM. Por su parte, el TsVM-22, que tiene un microprocesador a 60 MHz, ha sido empleado en varios satélites y, en forma fuertemente modificada, en la malograda sonda marciana Fobos-Grunt. Un gran número de sondas soviéticas (Mars 2–7, Venera 9–16 y Vega 1-2) usaron el ordenador S-530, que operaba a 100 kHz.

Ordenador ruso TsVM-22 (NII Submikron).

El RAD750 de Curiosity promete ser tan popular en el futuro como en su momento lo fue el RAD6000, aunque por ahora sólo se puede encontrar en un puñado de sondas, como es el caso de la Mars Reconnaissance orbiter (MRO). Como vemos, las prestaciones de cualquier teléfono móvil moderno supera ampliamente a estos microprocesadores espaciales, pero claro, un teléfono móvil sería incapaz de sobrevivir unas pocas horas a las duras condiciones del espacio.

Spirit y Opportunity usan el RAD6000 (NASA). 

Referencias:



52 Comentarios

    1. Antonio, no sé a que respondes, supongo que al primer comentario eliminado pero sí es respecto a que 18bits no puede ser ya que 18 bits no es el resultado de ningún 2 elevado a algo, aquí no tiene nada que ver, es solo el tamaño de las instrucciones y puede ser el que los diseñadores quieran, intentaré explicarme escuetamente.

      Simplificando diré que en cada ciclo el procesador lee y ejecuta una instrucción ( en este caso las instrucciones son de 18 bits, 18 ceros o unos seguidos ), por ejemplo si el procesador es de 1MHz hará esto 10^6 veces en un segundo.

      Ahora consideremos que tenemos una memoria RAM donde están los datos del programa, de ella leeremos los datos, los modificaremos si procede y guardaremos también datos.
      Los procesadores cuentan con una memoria propia llamada registros en donde guardarán una palabra ( entendiendo palabra como unidad mínima de información ) , supongamos que las palabras del micro son de 1byte (8 bits). Estos registros están dentro del procesador y en ellos se meten datos de la memoria ram y de ellos se guarda en la memoria ram. Supongamos que nuestro microprocesador tiene 16 registros.

      Bien en este momento tenemos:
      intrucciones de 18 bits, palabras de 1byte y 16 registros.
      Entonces las instrucciones tienen que tener una serie de bits que identifican que instrucción realizar ( suma,resta,multiplicación,saltar hasta la dirección de memoria X, leer un dato de memoria al registro X etc.. ), así que si tenemos que los 6 primeros bits de la instrucción son para identificar que acción realizar (2^6 = 64 por lo que podremos tener 64 instrucciones diferentes ) nos quedan 12 bits libres para cada tipo de instrucción, que por ejemplo para las más simples de suma y resta podríamos tener que de los 12 bits que nos quedan, tenemos 4 bits son para indicar en que registro se encuentra el primer sumando, otros 4 bits para indicar en que registro se encuentra el segundo sumando y los últimos 4bits para indicar en que registro guardar el resultado.
      Ej. suponiendo que la instrucción de suma es identificada por el numero 3 y que queremos sumar lo guardado en el registro 7 + el registro 2 y guardarlo en el 5, la instrucción sería de la siguiente forma:
      0011011100100101

      o visto de forma separada y con el número en base 10 entre paréntesis :

      000011(3) 0111(7) 0010(2) 0101(5)

      Después de soltar este rollo y a estas horas, quiero decir que aquí no hay redundancia, si fallan los transistores podemos quemar todo el procesador ( la redundancia se usa en discos duros por ejemplo), por lo que tener redundancia no tendría sentido. Y segundo quería dejar un simple ejemplo en el que se pudiera ver que en el tamaño de instrucciones no hace falta ser potencia de 2.

      Gracias por el blog Daniel.

    2. Hasta finales de los 60, las longitudes de palabras más habituales en ordenadores «técnicos» eran múltiplos de 6 y no de 4. Para poner unos pocos ejemplos, los IBM de las series 700 y 7000 (36 bits), los PDP-6 (18 bits), los PDP-10 (36 bits) y otros muchos. Los PDP-10 se fabricaron hasta finales de los 80. Uno de los minis más populares antes de los 70 fué el PDP-8, con una longitud de palabra de 12 bits.

  1. Me quedé pensando en tu última frase sobre los micros de los celulares actuales. Yo creo que podrían usarse en cualquier misión ya que no creo que un chip viejo como el 80386 soporte mejor la radiación que los nuevos, sino que todo debe depender de la estructura segura que lo resguarda. Saludos.

    1. No es tanto por su estructura, sino por los niveles lógicos conque trabaja su electrónica. El 386/486 trabajan a niveles lógicos TTL de 5 voltios. La lógica CMOS estándar trabaja desde 3.3 voltios hasta 15 voltios, cuyos niveles lógicos son hasta un 30% del voltaje de alimentación para el nivel «0» y por encima de un 70% para el nivel «1». A 15 voltios de alimentación podremos tener un margen de separación 6 voltios entre los niveles «0» y «1», lo que nos permite diferenciar cualquier estado lógico de los ruido externo que pudiera confundir esos circuitos.

      Los circuitos que operan en nuestros teléfonos celulares trabajan a niveles lógicos muy pequeños, tales como 2.1 voltios, 1,3 o incluso 0,8 voltios. De tal manera que se vuelven más susceptibles a ruidos externos. ¿Se acuerdan de los viejos autos con bobinas de encendidos y platinos cuyo ruido se metía en la radio AM? Algo así ocurriría con cualquier microprocesador moderno (incluidos los Intel y AMD que trabajan a menos de 3,3 voltios) que operara en el espacio donde no hay protección y está bañado de interferencias electromagnéticas difíciles de aislar.

      Aunque el artículo no lo menciona, estos microprocesadores trabajan a niveles lógicos muy altos que le permiten operar en ambientes saturados de interferencias electromagnéticas mejor que cualquier otro circuito de consumo masivo. Además, las velocidades de sus núcleos le permiten trabajar incluso cuando un ruido sea suficiente como para confundirse con un nivel lógico «1» ¿Cómo puede ser esto? Simplemente que un ruido «lógico» tiene una duración tan corta que estos micros no la detectaría debido a esa velocidad de trabajo. No solo deben alcanzar un estado lógico definido, sino permanecer en ese estado el suficiente tiempo como para ser aceptado como tal (muchas de sus puertas lógicas trabajan bajo el efecto de Histéresis). Un microprocesador trabajando a cientos de megahertz o más puede detectar y aceptar ese corto tránsito de nivel y provocar un fallo al procesar un nivel lógico que no debería ser procesado. Es por eso que se trabaja con esas velocidades tan baja habiendo en el mercado tantos procesadores entre 10 y 20 veces más veloces. Y más baratos!

      Saludos! Y muy buen artículo Daniel.

    2. Muy bien explicado y muy pertinente, Lattis, discrepamos hace poco en el tema de los «estándares» y las «normas», así que me veo en cierto modo obligado a darte las gracias ahora (no suelo hacerlo, porque si todo el mundo que lee da las gracias habria 200.000 comentarios o así).

      Aprovecho para no poner otro post, no tenía ni idea de que la Viking llevase sistemas de ferrita xD, claro, son dos generaciones (humanas) ya… pues le podían haber pedido a los soviéticos de entonces sus sistemas operativos ternarios (no binarios) que aprovechaban muy bien las propiedades de estos sistemas xD

    3. Gracias a todos y a Daniel por hacerme sentir nostálgico de mi época de docente. xD

      Por cierto Daniel, ¿el agua es una buena protección contra la radiación del espacio? ¿Qué sabes de alguna sonda que la use (líquida o congelada) para proteger su electrónica? Tengo esa duda.

    4. Muy bien explicado LattisNet.

      Una cuestión:
      La lógica CMOS consume potencia principalmente en las transiciones de estado de los transistores, y la TTL continuamente. Sería curioso saber cuánto consumiría un procesador 386/486 en comparación con un procesador equivalente con tecnología CMOS.

    5. Muy buena explicacion LattisNet! Si me permites puedo agregar algo. Los altos niveles logicos de voltaje, son en parte responsables tambien de las bajas velocidades de reloj utilizadas por muchos de los micros qe nombro Daniel.

      Usar altos niveles de voltaje soluciona el problema del ruido electrico por radiacion, el cual puede causar que se lea un 0 cuando en realidad hay un 1 o viceversa, pero trae aparejado otro problema.

      Existe un parámetro intrinseco de todo circiuto electrico llamado Slew Rate, que me indica la velocidad con la que puede crecer una señal, y se mide en por ejemplo V/uSeg (Volts sobre microsegundos).

      http://en.wikipedia.org/wiki/Slew_rate

      Suponiendo un circuito con 15V como estado logico 1, con un Slew Rate de 0.3 V/uSeg significa que la señal tarda por lo menos 050 uSeg en permutar de estado logico 0 a 1 (15/0.3=50).

      Como dice LattisNet no basta con que la señal llege al nivel logico, si no que se debe sostener en el tiempo para ser tomado como tal.

      Estos tiempos limitan fuertemente el período de reloj con los que se puede trabajar, y mucho mas en un ambiente tan hostil como el espacio. Por otro lado aumentar la frecuencia de reloj implica afinar la electronica para poder manejar los tiempos involucrados como los que comente antes.

      Muy buena entrada Daniel! Muy buena!

    6. Para Sergio: La lógica TTL y CMOS se diferencia por el tipo de construcción del transistor que trabaja en sus puertas. Osea, el elemento que hace la conmutación de un estado al otro.

      Los transistores Bipolares, que se usan en la tecnología TTL, funcionan así:
      Existe don terminales por donde viaja la corriente, llamados Emisor (Emiter) y Colector. El tercer terminal es la Base. La corriente que circula de Emisor al Colector (noten la relación entre el nombre y su función) viene determinada por la corriente aplicada en la Base (el término exacto es Portadores de Carga). Según la construcción del Sustrato (lámina de silicio semiconductor donde se fabrica el componente) se puede definir una relación entre la corriente aplicada a la Base y la que circula por el Emisor y Colector (hFE o Ganancia o Beta). Como todos sabemos toda corriente eléctrica «drena» energía en forma de calor cuando viaja por cualquier conductor. Igual ocurre en los transistores Bipolares. Esto quiere decir que la lógica TTL consume bastante energía y genera calor debido a que los elementos conmutadores requieren electrones para ser activados. Esta es una explicación muy reducida y hay otros fenómenos en el funcionamiento del transistor Bipolar que son muy extenso de explicar.

      El transistor MOS (Óxido Semiconductor Metálico) proviene de una modificación de un tipo de transistor llamado FET (Transistor de Efecto de Campo) y tiene básicamente tres terminales como el anterior, pero con los nombres Fuente (Source), Drenador (Drain) y Puerta (Gate), que serían los equivalentes Emisor, Colector y Base del Bipolar. Pero su funcionamiento es muy distinto. Fundamentalmente la corriente circula desde el terminal Fuente hasta el Drenador y el control se aplica a la Puerta. Sin embargo, a ésta no se aplica portadores de carga (electrones) sino un voltaje (campo eléctrico) que influye sombre la corriente que circula en el único canal semiconductor conductor que hay entre la Fuente y el Drenador. Esta influencia es muy parecida al torniquete que se aplica a una manguera para disminuir el caudal del fluido. Este fenómeno de «ahorcamiento» se llama Empobrecimiento (Depleting) y quiere decir que el transistor conduce sin aplicarse voltaje a la Puerta. Sin embargo, hay un tipo de transistor MOS donde el canal semiconductor del Fuente y Drenador no es conductor y la aplicación de voltaje a la Puerta permite que este canal se vuelva conductor. Este fenómeno se llama Enriquecimiento (Enhancement) y es muy usado en circuitos donde se requiere un elemento que haga de «switche». Las fuente de poder de nuestros PCs son de «Switching» y usa este tipo de transistores MOSFET (Transistor de Efecto de Campo de Óxido Semiconductor Metálico) como componente fundamental.

      Como consecuencia directa los transistores MOS producen mucho menos calor, ya que no requieren electrones que circulen por la Puerta para controlarlos. Un diseño basado en este tipo de transistores consumen muy poco y son ideales para circuitos que funcionan con fuentes de energía limitadas, como baterías, etc.

      Con respecto a si consumen durante las transiciones de estados depende de el tiempo en que permanezcan «encendido» y la respuesta es positiva. Pero el consumo durante el tiempo de uso depende de la polaridad del transistor y hay situaciones donde una polaridad consume menos que la otra. Eso se determina en la fase del diseño del circuito, y si el consumo es un factor crítico el diseño debe tomar en cuenta cual polaridad es más conveniente.

      Los procesadores 386/486 son CMOS (MOS que usa transistores complementarios) pero con un diseño que permite grandes velocidades (para la época).

      Al pasar los años se han descubierto nuevas formas de fabricar un transistor y los tipos de esto han aumentado para cumplir con ciertos criterios de funcionamiento en situaciones específicas. Este cambio en los últimos 30 años permitió la gran avalancha de dispositivos de entretenimiento que no sería posible sin estos avances.

      Saludos!

  2. El problema es la integracion, los procesadores de cualquier pc o mac usan tecnologia de unos pocos nanometros por ejemplo un I5 esta fabricado con una tecnologia de 22nm , y tienen integragrados varios de millones de transistores por ejemplo el I5 tiene 774 millones.

    En cambio un 386 esta fabricado con una tecnologia de 1,5micras y tiene 2,7 millones de transistores.

    Al tener menor densisdad de transistores tambien es mas dificil que un rayo cosmico atraviese un transistor y lo queme llegando a averiar el procesador, por eso se utilizan procesadores con una arquitectura tan antigua, ademas de no necesitar una gran potencia de calculo.

    Un saludo.

    1. No se quema por el impacto de un fotón, sino porque ese fotón puede inducir a un transistor a que se active cuando no debe activarse. Muchas puertas lógicas tienen sus salidas compartidas y un circuito de control que impide que dos o más salidas se activen a la vez. Cuando dos salidas se activan en niveles lógicos contrarios se produce lo que se llama en Electrónica Digital como «Estado Indefinido», donde no es ni «1» ni «0». La corriente circulante no viaja hacia la siguiente etapa o puerta lógica, sino que se drena por las propias salidas de las puertas activas provocando un excesivo consumo de corriente que funde sus transistores finales. Algo parecido con los equipos de audios con salidas finales a transistores (allí también esos transistores deben trabajar coordinadamente y no activarse a la vez).

    2. Recomiendo echar un vistazo a Single event Effects, single event upsets (SEU), single event transients (SET), Single event LAch up (SEL) , SEGR, SEBR, Son todos effectos diferentes debido a la radiacion que afectan a memorias y logica. Desde transitorios (los peores) a permanentes. Es cierto que hay mucha preocupacion con las nuevas tecnologias nanoscopicas porque «en general» son exponencialmente mas sensibles a la radiacion (sobre todo si tenemos en cuenta que el numero de transistores es mayor y por tanto las probabilidades de fallos incrementan)
      El tema de fiabilidad en entornos de radiacion es complicadisimo. Los conceptos no son triviales. Basicamente la Ingenieria de Fiabilidad (reliability engineering) intenta evitar que unDefecto (fault) se convierta en un ERROR y que este a su vez genere un fallo (FAILURE) que a su vez genere un Fallo Catastrofico.
      Hay 2 maneras de atacar el problema:
      A) Fault avoidance: (prevenir que los fallos debido a radiacion no se generen). Esto es imposible al 100% ya que fotones, protones, muones, electrones, neutrones …. todos generan fallos. Incluso a nivel del mar.
      B) Fault tolerance: Los fallos son inevitables. Intentemos por tanto paliar sus errores.

      Para conseguir B, hay tres recursos que se usan generalmente entrelazados:

      – Redundancia de Informacion (es decir bits extra, ej: CRC, Paridad, Codigos Hamming
      – Redundancia de Tiempo (repetir la ejecucion de instrucciones varias veces y comparar resultados)
      – Redundancy de Spacio: Tener varias estructuras replicadas, por ejemplo 3 memorias replicadas (TMR), dos (DMR) etc……, dos procesadores)

      Disculpas por el mal uso del lenguaje.

    3. Tranquilo Víctor. Y buen aporte. Entonces para lograr corregir la opción B sería lo más lógico la «redundancia». A vece me viene a la mente la idea que la pieza fundamental de la Inteligencia Artificial sería esa y no la neurona en sí. Osea, la neurona sería el átomo y la redundancia sería su molécula. La base de la materia es el átomo pero la que le da sus características físicas y químicas finales es su estructura molecular. Un ejemplo: el Carbono.

      Ya que el entorno fuera del espacio terrestres es muy caótico a nivel de interferencia electromagnética y otros fenómenos, un dispositivo con sistema de control redundante tendría las herramientas suficientes para enfrentar tal circunstancia con una fiabilidad muy cercana al 100%.

      Lo anterior creo que aplica mucho a personas que sufren accidentes cerebro-vasculares y cómo el Cerebro logra compensar la deficiencia en sus sistema de control haciendo que otras neuronas asuman las funciones perdidas, reorganizando la forma de cómo éstas interactúan entre si. Osea, hay más neuronas de las que se necesita. Y la Naturaleza no escatimó esfuerzo en proveerlas.

      Creo que este mismo principio debería aplicarse a cualquier sistema controlado remotamente y la ciencias de IA debería tomarla en cuenta. Un sistema actuador sobre un eje debería tener un impulsor doble o triple. Si falla uno están los otros. Su combinación produce mayor trabajo. Algo así como los músculos Biceps, Triceps y Cuadriceps que todos tenemos.

      Por supuesto, todo lo anterior implica energía, peso y costos. Pero recordemos que muchas naves espaciales tuvieron tan buen desempeño que fueron después programadas para misiones no anticipadas con gran éxito. Tendríamos todavía en funcionamiento el Sojourner si lo anterior se le hubiese aplicado.

      Saludos!

    4. Lo cierto es que al final todo se reduce a probabilidad. Es curioso como relacionas la inteligencia artificial con la tolerancia a fallos. A mi tambien se me va la pinza. Yo tambien habia pensado en ello. Imagino que ambas cosas tienen mucho en comun por el hecho de ser sistemas complejos. Quiero decir, a pesar de la sencillez de sus particulas elementales (neurona-puerta logica-transistor) el numero de elementos y las inter-relaciones junto con la probabilidad, hacen su entendimiento mas dificil.

      Yo siempre relaciono el tema de los Fallos en silicio con el cancer de piel. Cada uno tenemos su codigo genetico particular dentro de cada unas de nuestras celulas (transistor-puertas logicas). Las celulas estan constantemente siendo bombardeadas por particulas de radiacion solar(al igual que el silicio esta sometido constantemente al impacto de muones, electrones, iones pesados, etc. Las probabilidades de tener cancer «imagino» dependen de muchos factores. ( area de impacto, profundidad, masa de la/s particulas, sintaxis y semantica de dichos genes, tiempo de exposicion …. tormentas solares en un momento determinado, altitud, latitud, momentum…. hasta el punto de no poder predecir la posicion de un electron en un momento dado).

      En disenos Fault Tolerant que podemos hacer para evitar tener cancer? Usar protector solar (shielding) pero eso no te garantiza 100% proteccion. Evitar la exposicion larga. A mas exposicion (mas horas de ejecucion) mas probabilidad.

      Lo cierto es que en computadoras los academicos saben cual es el camino a seguir. (ver Berckeley landscape) Paralelizacion real. Muchos nucleos (redundancia) microprocesadores pequenios (fallan menos) y programas programados en paralelo con varios hilos de ejecucion redundante (como los tendones y musculos a los que haces referencia) Ojo muchos nucleos pequenos y sencillos (que no cores). La industria manda y la demanda de potencia y velocidad se consigue a base de meter 2 billions de transistores en 1-8 cores donde hace 25 anios habia solo 9000. El resultado muchos mas errores.

  3. He leído que hay un pequeño proyecto para mandar al espacio un satélite comandado por un smartphone y ver cómo operaría y si podría tomar el control. Así que imagino que pronto sabremos si sobrevivirían.

    1. Las condiciones de uso en las que se va a hacer esa prueba son totalmente diferentes a las que estamos hablando.

      No solo porque el coste si falle es ínfimo comparado con cualquiera de las sondas a las que se ha referido Daniel en su artículo, sino porque ese Smartphone va a estar en una órbita baja alrededor de la Tierra.

      Por lo tanto todo el campo magnético terrestre, el mismo que protege a toda la vida sobre su superficie, va a protegerlo. Las condiciones interplanetarias, o incluso algunas de las planetarias, recuérdese el cinturón de radiación de Júpiter al que incluso mandaron alguna Pioneer antes que la Voyager sólo para comprobar si resistiría, estas condiciones son tremendamente agresivas para electrónicas poco adecuadas a ellas.

      Muy acertados los aportes de LattisNet, estoy totalmente de acuerdo con él.

  4. Gran articulo, pero no estaria mal alguna referencia al procesador europeo por excelencia, el LEON
    http://en.wikipedia.org/wiki/LEON

    En cuanto a la propuesta de utilizar electronica comercial en espacio, mucha gente ya lo hace, aunque en misiones con bajos requerimientos de fiabilidad y en entornos de «baja» radiacion (LEO).

    En general, se deben tomar diversas precauciones con dichos componentes. Primeramente se debe verificar que pueden soportar la dosis de radiacion total de la mision. Además suelen ser protegidos (limitación de corriente de alimentación y reseteo) contra «Latchups» y redundados.

  5. Supongo que en este tipo de micros, se prefiere robustez que desempeño, no se requiere gran potencia de calculo, ademas que si corrieran a altas velocidades se consumirian muy rapido la energia disponible, o no seria muy bien aprovechada.

  6. Para un ingeniero electronico como yo este post es de lo mejor!. De todos los procesadores que nombraste los mas robustos me parecen el 8085 y el 8086. Tuve la suerte de trabajar bastante tiempo con ambas arquitecturas y se desempeñan muy bien en todo tipo de entornos. El pequeño 8085 es un caballito de batalla inagotable. Con sus solo 8 bits de palabra y su reducido set de instrucciones (ni siquiera implementa multiplicacion y division) se pueden hacer maravillas!.

    Si bien es verdad que las prestaciones de cuaquier Smartphone supera ampliamente la capacidad de los «procesadores espaciales», tanto telefonos como computadores personales usan buena parte de sus recursos para manejar las pomposas interfaces hombre maquina, cosa que un «procesador espacial» no necesita.

    Genial entrada Daniel! ya mismo me pongo a leerla de nuevo por si me perdi algo 🙂

    1. Doy fe de ello. El 8085 es un caballo difícil de desjarretar (busquen esa palabra). Yo trabajaba con las máquinas tragamonedas que tenía 200 ó 300 bombillos de filamento en el panel justo detrás de la placa madre. Esos bombillos, además del calor, hacía más ruido que camión de cerdos rumbo al matadero! Bastaba con colocar cualquier radio portátil AM a unos 5 metros y se oía por el altavoz el ruido del parpadeo de las lámparas. Y como usaban, no uno, sino tres 8279 como matriz de salida, el ruido del rastreo era horroroso. Pero así y todo, el 8085A (4MHz) o el 8085A-2 (9MHz) ni pendiente. Nunca vi uno dañado, pero sí un 8279 o un 8155. Aparte, usaban un módulo de memoria ROM con tres 2716 y 2KB de RAM. Cientos de placas de estas reparaba yo.

      Para los interesados todavía hay webs dedicada a este micro que se sigue vendiendo para diseños de controladores industriales.

    2. La NASA a ido descubriendo fallos a medida que mandaba cohetes basados en distintas tecnologias. En contra de lo que se pueda imaginar las nuevas tecnologias eran menos fiables que las viejas. Hasta el punto de que se dieron cuenta que geometrias mucho mas grandes de transistores eran mucho mas fiables y empezaron a incluir micros 3 y 4 generaciones mas antiguas para evitar los efectos transitorios.

      Os puedo encontrar una lista de catastrofes que he recopilado para mi tesis. Catastrofes del tipo satelites que dejan de funcionar hasta elecciones en belgica con sistemas de votacion electronicas donde hay 4096 mas votos que posibles votantes.

      Que casualidad que eran 4096 que es una potencia de 2. En binario si cambias un 0 por un uno en la posicion 12 aumentas en 4096 el valor anterior. POr tanto la causa era probablemente una particula cambiando el valor 0 por uno.

  7. ¡Enhorabuena Dani, otra gran entrada!

    A quienes le interese saber algo más de estos temas, y con el permiso de Dani, les remito a dos artículos que escribí hace algunos años:

    * Microprocesadores en el espacio:
    http://www.marssociety.org.es/paginas/especiales/mp_espacio.asp

    * En el interior de la sonda Mars Reconnaissance Orbiter: comunicaciones y manejo de datos:
    http://www.marssociety.org.es/paginas/especiales/mro.asp

    Saludos.

  8. Yo ya tengo que pedirlo a gritos: !!! Daniel, una zona de noticias cortas, últimas noticias o similares donde podamos opinar sobre noticias como esta:

    España, a punto de quedarse fuera del proyecto del mayor telescopio del mundo
    http://www.elmundo.es/elmundo/2013/03/04/ciencia/1362412587.html

    Y es que cuando las leo, me entran ganas de comentarlas con vosotros… ¿pero donde la comento, sin salirme de la temática?

    Cordial saludo Daniel, y a toda la gente de este magnífico site.

    1. No solo la repercusión de este hecho es científica, pues supone la pérdida de contratos para empresas españolas que ya estaban involucradas en el diseño. Y estamos hablando de que toda la cubierta del observatorio está diseñada en España, así como parte de la montura.

  9. muy interesante! de aqui se desprende que tarde o temprano tengas que hacer una nota sobre los formatos de fotos y videos de las antiguas sondas, y como aun se transmiten.
    El hubble con un 386, increible!

  10. Joder, he llegado tarde, enhorabuena por el post Dani y hoy de verdad hay que felicitar LattisNet y al anónimo del primer comentario, bueno en general a todos.

    Muy didácticos chicos…

  11. Que gusto de artículo y de comentarios… Toda una desintoxicación de la mediocridad imperante en la mayoría de los comentarios que uno lee en la red.

  12. Seguro que los microprocesadores mencionados son muy robustos, pero dudo que cuenten con la potencia de cómputo suficiente para ejecutar un software para el control y la gestión de la ISS similar al implementado por el computador HAL (salvando los «bugs» o errores de programación de dicho software, claro está).

    1. Seria posible tener 3 procesadores actuales (22nm por ejemplo) en forma de triple redundancia a su vez con memoria multiple. Comparando el valor de las 3 ejecuciones y decidiendo con un sistema de votacion que ejecucion miente seria suficiente ya que las posibilidades de que en un momento dado dos procesadores «mientan» son muy bajas.
      El unico problema es que triple redundancia consume mucha energia.
      La NASA lleva usando COTS o computer of the shelf (es decir , sistemas comerciales de consumo) desde hace mucho tiempo por su bajo coste.

  13. Increible,
    En toda la vida que llevo leyendo artículos en internet, nunca había caido en uno con tal grado de aporte por la comunidad.
    Gracias por los comentarios a todo el mundo!
    Espero no romper mucho la tónica con el mío 😉

  14. Por cierto, parece que una tarjeta del Curiosity está defectuosa. Significa eso que si una tarjeta ya “cascó”, nos queda una de reserva y luego se acabó? :-S

Deja un comentario

Por Daniel Marín, publicado el 4 marzo, 2013
Categoría(s): Astronáutica • Sistema Solar • sondasesp