Eine kurze Geschichte der Weltraummikroprozessoren, Teil Eins

Am 10. Juli 1962 startete die Tor-Rakete mit dem ersten kommerziellen Telekommunikationssatelliten an Bord vom Startplatz in Cape Canaveral. Telstar-1 war der Beginn einer neuen Ära der Astronautik, die zeigte, dass der Weltraum den Menschen echte Vorteile bringen kann. Dieses Gerät wartete auf eine große Zukunft, aber einen Tag zuvor explodierte die Atombombe Starfish Prime am Himmel über dem Johnson-Atoll im Wüstenteil des Pazifischen Ozeans. Die Explosion zerstörte dreihundert Straßenlaternen in Hawaii, die anderthalbtausend Kilometer entfernt waren, und erzeugte außerdem eine große Menge freier Elektronen, die vom Erdmagnetfeld in den künstlichen Strahlungsgürtel aufgenommen wurden. Jedes Mal, wenn Telsat-1 diesen Gurt durchlief, erhielt eine fortgeschrittene Transistorfüllung eine Dosis Strahlung, und im November 1962 hatte sie aufgehört zu funktionieren. Die Geschichte des Schutzes der Weltraumelektronik vor Strahlung begann mit einer Untersuchung der Folgen dieses Vorfalls.

Glücklicherweise begannen sie ziemlich schnell, in großen Höhen nukleare Explosionen durchzuführen, aber auch ohne sie gibt es genug Arbeit, und die Anforderungen an Zuverlässigkeit und Haltbarkeit, die modernen Satelliten gestellt werden, werden immer ehrgeiziger. Es ist unmöglich, über alles zu sprechen, aber ich werde versuchen, die Vergangenheit und Gegenwart von Weltraummikroprozessoren aus verschiedenen Ländern kurz zu behandeln. Warum genau Mikroprozessoren? Die meisten von ihnen sind Informationen über sie und werden von Laien besser verstanden. Der Artikel erwies sich als lang, so dass ich ihn in zwei Teile aufteilte: eine frühe Geschichte am Beispiel der USA und Europas (unter dem Strich) und eine moderne am Beispiel Russlands ( hier ). Lass uns gehen!

Spielregel


Beginnen wir mit Begriffen und Definitionen. Mit "Mikroprozessor" meine ich eine Mikroschaltung oder einen Satz von Mikroschaltungen mit einem hohen Integrationsgrad, die zum Ausführen von Programmen entwickelt wurden. Der erste populäre Ein-Chip-Mikroprozessor war der 1971 erschienene Intel 4004 mit vier Bits - nachdem die Amerikaner auf dem Mond gelandet waren. Mit dieser Definition fallen Bordcomputer aus der Ära der heldenhaften Weltraumforschung aus dem Bild und lassen uns nur langweilige „Arbeitspferde“ zurück. Es wurde jedoch so viel über Bordcomputer der Heldenzeit geschrieben, auch über Habré. Hier , hier und da . Sie waren in der Regel für eine bestimmte Mission konzipiert, hatten eine Art Befehlssystem und eine Bittiefe von 13 Bit, dann 17, dann 21 - im Allgemeinen versuchen Sie nicht, es zu Hause zu wiederholen. Die Vereinigung begann mit Budgetkürzungen nach dem Ende des Mondrennens und dem gleichzeitigen Einsatz verschiedener Satellitenkonstellationen. Infolgedessen kamen fast alle Interessenten zu einer begrenzten Anzahl von Universalchips, die überall dort eingesetzt wurden, wo es sich herausstellte.

Der zweite wichtige Punkt ist die Verfügbarkeit von Informationen. Die Raumfahrtindustrie war noch nie besonders offen. Der erste Satellit, der Zugang des Astronauten zum Mond oder die Anzahl der Satelliten in der GLONASS-Konstellation, ist eine einfache und verständliche Werbung, aber es ist schwierig, mit den Verbrauchereigenschaften des Designs des Funksenders in Sputnik-3 zu prahlen. Fügen Sie das traditionelle Kriegsgeheimnis von oben hinzu - und wir wissen über den RAD750-Prozessor Bescheid, dass „es mehr als 150 davon gibt“ und nur ein Dutzend Satelliten, auf denen er steht. Ein typisches Zitat aus wissenschaftlichen Fachpublikationen aus den siebziger Jahren sieht folgendermaßen aus: „Ein strahlungshartes 32-Bit-PMOS / SOS-Schieberegister wurde ebenfalls gebaut und getestet. Testdaten auf dieser Strecke sind jedoch klassifiziert. “ Über offene Daten auf russischen Satelliten und Mikrokreisen (und ich verwende natürlich nur offene Daten) möchte ich nicht einmal anfangen; Bestehende Krümel gehen normalerweise übersehen ins Internet. Wissenschaftliche Publikationen ersparen uns ein wenig - vor allem, wenn Sie wissen, wonach Sie suchen. Die IEEE-Online-Datenbank ist lediglich ein Speicher für den Elektronikhistoriker. Mit den Archiven sowjetischer und russischer wissenschaftlicher Zeitschriften und Konferenzen ist die Situation radikal schlechter als mit ausländischen, aber auch nicht hoffnungslos. Das Minus von Veröffentlichungen ist, dass es durch sie schwierig ist, den Zusammenhang zwischen Mikroschaltungen und ihrer Anwendung nachzuvollziehen, aber interessante Informationen über den Entwurf von Mikroschaltungen gefunden werden können. Insgesamt: Der Artikel gibt nicht vor, vollständig zu sein, sondern ist eine Sammlung von Beispielen, anhand derer man die Entwicklung verfolgen und den aktuellen Stand von Mikroprozessoren und Mikrocontrollern für Weltraumanwendungen darstellen kann.

Die dritte Sache zu vereinbaren - Ich werde nicht die Prozessorleistung des Rovers mit einem iPhone vergleichen. Es macht ein bisschen Spaß, aber der Unterschied in der Leistung beruht nicht auf einem guten Leben, sondern auf objektiven Gründen: einem langen Entwicklungszyklus, anderen Zuverlässigkeitsanforderungen, einer langwierigen Zertifizierung und dem Testen von allem, von der Chipherstellungstechnologie bis zur Satellitenmontage. Weltraumentwickler möchten natürlich immer die maximale Rechenleistung erhalten - um Informationen an Bord zu verarbeiten und die Bandbreite des Funkkanals zu schonen -, aber häufig sind andere Prioritäten wichtiger. Deshalb können zehn Jahre von der Fertigstellung der Entwicklung bis zum ersten Flug vergehen, und deshalb liebt jeder Lösungen, die bereits geflogen sind - es gibt viel weniger Probleme mit ihnen. Infolgedessen kann die Lebensdauer von Weltraummikroschaltungen 30 bis 40 Jahre betragen, die Entwicklung einer neuen Generation kann bereits vor dem ersten Flug der vorherigen beginnen, und die in den neunziger Jahren entwickelten Prozessoren sind derzeit noch in Betrieb. Ich werde sofort bemerken, dass das Design von Raumfahrzeugen immer komplizierter wird, und jetzt kann es Dutzende von Computern an Bord geben, die sehr unterschiedliche Anforderungen haben: Sie müssen Bild-Arrays rund um die Uhr verarbeiten und ein paar Sensoren einmal pro Stunde abfragen.

Viertens eine sehr kurze Erinnerung an die Strahlungseffekte des Weltraums. Eine Erinnerung von mittlerer Länge ist hier , aber sehr lang - hier .

Die Auswirkungen einer vollen Strahlungsdosis hängen mit der Ansammlung elektrischer Ladung in Dielektrika und an der Grenzfläche zwischen einem Dielektrikum und einem Halbleiter zusammen. Wir interessieren uns hauptsächlich für Gate-Oxid und Seitenisolation von MOS-Transistoren. Diese Effekte äußern sich in einer Verschiebung der Schwellenspannung von Transistoren (bei p-Kanälen nimmt der Absolutwert ab, bei n-Kanälen meistens ab, später werden jedoch Nuancen sichtbar), einer Abnahme der Mobilität von Ladungsträgern (Abnahme der Geschwindigkeit der Schaltung) und Leckagen bei n-Kanal-Transistoren ( sowohl zwischen Drain und Source eines Transistors als auch zwischen verschiedenen Transistoren), was zu einem Anstieg des statischen Stromverbrauchs führt.

Die einzelnen Effekte sind darauf zurückzuführen, dass beim Eintritt eines einzelnen geladenen Teilchens in den Transistor ein Teil der Energie dieses Teilchens auf das Material der Mikroschaltung übertragen wird und sich darin freie Elektronen-Loch-Paare bilden. Einige dieser Paare sind im Mikrokreis durch ein elektrisches Feld getrennt, und es "sieht" einen kurzen Stromimpuls, der von einem externen Teilchen "gebracht" wird. Ferner kann dieser Stromimpuls den in der Speicherzelle aufgezeichneten Wert ändern, zum Eingang des Logikelements gehen oder überhaupt etwas Katastrophales tun, um beispielsweise das Gate des Transistors zu durchbrechen oder die parasitäre Thyristorstruktur zu öffnen und einen lokalen Erdschluss mit Strom zu erzeugen.
Die Auswirkungen der Verschiebung beruhen auf der Tatsache, dass ein ankommendes Teilchen nicht nur Elektronen-Loch-Paare bilden kann, sondern auch direkt mit Atomen einer Substanz in Wechselwirkung tritt und diese aus den richtigen Positionen im Kristallgitter stößt. Für gewöhnliche Transistoren sind solche lokalen Defekte nicht schrecklich, aber sie führen zu erheblichen Schäden an optoelektronischen Bauelementen, zweidimensionalen Halbleitern und Transistoren im Nanobereich.

Es gibt immer noch Dosisleistungseffekte , aber sie werden meistens nicht kommerziell angewendet , daher werde ich nicht darüber sprechen.

Die Anfangsphase - das Beispiel der Vereinigten Staaten


Die Tatsache, dass ich nicht zuverlässig herausfinden konnte, welcher Mikroprozessor der erste an Bord des Raumschiffs war, war ziemlich vorhersehbar. Öffentliche Daten sind nur für bekannte wissenschaftliche Missionen verfügbar, und sie werden in der Regel mit den zuverlässigsten und am besten überprüften Daten erstellt, dh auf weniger teuren Satelliten im Voraus leise berechnet. Es ist bekannt, dass die Bordcomputer von Viking und Voyager nach diskreter Logik zusammengebaut wurden, aber die Standardisierung und Wiederverwendung von Komponenten begann. Voyager ist insofern interessant, als es das erste Gerät war, das Halbleiterspeicher anstelle von Magnetkernen verwendete. Darüber hinaus handelte es sich um einen flüchtigen CMOS-SRAM, dh die darin enthaltenen Informationen werden gelöscht, wenn der Strom ausfällt. Wie haben die Ingenieure es geschafft, die Geschäftsleitung davon zu überzeugen, ein solches Risiko einzugehen? Erstens wäre es ohne einen neuen Speicher nicht sinnvoll, eine schnelle CMOS-Logik anzuwenden. Im Weltraum war die CMOS-Technologie mehr als zweckmäßig: Obwohl CMOS-Schaltungen langsamer als bipolare Analoga und wesentlich empfindlicher gegenüber elektrostatischer Entladung waren, tolerierten sie extreme Temperaturen, wiesen eine geringe Rauschempfindlichkeit auf und verbrauchten radikal weniger Strom, was normalerweise an Bord ist Es gab einen Mangel. Zweitens wurde zur Sicherung der Stromversorgung die Spannung vom RTG-Ausgang direkt in den Speicher eingespeist, was darauf schließen lässt, dass die Speicherprobleme nicht mehr relevant sind, wenn etwas mit dem Generator passiert.


Abbildung 1. Karte mit einem Halbleiterspeicher mit Voyager.

Das allererste - RCA 1802


Das früheste Raumschiff, das ich fand, in dem es sich nicht um Mikroschaltungen mit mittlerem Integrationsgrad handelte, sondern um einen monolithischen Mikroprozessor (8-Bit-RCA 1802), war der am 30. Oktober 1979 gestartete Satellit Magsat. Angesichts der Tatsache, dass die ersten kommerziellen RCA 1802 im Jahr 1975 auf den Markt kamen, sollte dies bedeuten, dass sie die NASA früher erreichten als die Ladenregale - was in den Anfängen des Silicon Valley im Allgemeinen üblich war.

Als kleines Beispiel aus dieser Zeit zitiere ich einen Artikel von EE King, "Auswirkungen der Gesamtdosis auf den Mikroprozessor von 1802", IEEE Transactions on Nuclear Science, 1977. Der Artikel vergleicht die Auswirkung der Strahlungsdosis auf vier 1802-Varianten: zwei kommerzielle, eine experimentelle Probe, die am hergestellt wurde ein Siliziumsubstrat auf Saphir (SPS) und eine Probe, die durch ein spezielles Verfahren zur Erhöhung der Strahlungsbeständigkeit hergestellt wurde.


Figure 2. Verschiebung der Schwellenspannung beider Transistortypen unter dem Einfluss der Strahlungsdosis. C1 und C2 sind kommerzielle Chips, S ist ein Chip auf der SPS, X ist ein spezielles Beispiel.

Aus der Figur ist ersichtlich, dass sowohl die kommerziellen Proben als auch der KNS-Chip bei relativ kleinen Strahlungsdosen (8-15 Crad (Si)) die Schwelle der n-Kanal-Transistoren kleiner als Null wird und die Logikschaltungen einfach aufhören zu schalten. Gleichzeitig konnte durch ein spezielles technisches Verfahren ein Widerstand von mehr als 1 Mrad (Si) erreicht werden, also zwei Größenordnungen mehr. Ich stelle noch einmal fest, dass das Jahr 1977 ist und spezielle Chips bereits entwickelt und produziert wurden. Der beschriebene RCA 1802 war jedoch höchstwahrscheinlich das erste Anzeichen, denn in den Erinnerungen der Teilnehmer an die Entwicklung des nächsten großen NASA-Geräts - Galileo - fand ich eine Geschichte, dass 1802 zum Zeitpunkt der Wahl der Steuerungselektronik-Architektur 1977 der einzige erschwingliche strahlungsresistente monolithische Mikroprozessor war.

Es ist wichtig zu beachten, dass sie bereits damals versucht haben, die gängigsten Chips im Weltraum zu verwenden - und dies auch jetzt noch erfolgreich. Für viele Anwendungen sind weder extreme Zuverlässigkeit noch hohe Strahlungsbeständigkeit oder die vollständige Abwesenheit von Ausfällen erforderlich - nur die Abwesenheit von Ausfällen in einem angemessenen Zeitraum ist wichtig, und viele kommerzielle Chips erfüllen diese Anforderung, obwohl sie um mehrere Größenordnungen billiger sind als ihre speziell entwickelten Brüder. Bei einer Satellitenkonstellation von mehreren hundert Geräten in einer niedrigen Umlaufbahn ist im Gegensatz zu den Kosten selbst das Vorhandensein von nicht sehr häufigen Ausfällen nicht kritisch. Und nur dort, wo die Sicherheit des Landes von der Funktion der Mikrokreise abhängt, ist das Leben der Astronauten oder zumindest das Schicksal einer mehrere Millionen Jahre dauernden wissenschaftlichen Mission ohne strahlungsresistente Chips unmöglich. Es gibt natürlich gemischte Ansätze, bei denen die kritischsten Systeme mit strahlungsresistenten Chips betrieben werden und der Rest mit konventionellen Systemen. Außerdem gibt es gute Werkzeuge, bei denen der Hersteller die gleichen Kristalle verwendet, die in teuren strahlungsresistenten Produkten verwendet werden, und diese in billige Kunststoffkisten verpackt und führt keine End-to-End-Tests durch, wodurch der Preis mehrmals gespart wird. Es gibt Unternehmen, die sich speziell mit dem Testen von kommerziellen Chips befassen, um unter ihnen diejenigen zu finden, die sich versehentlich als strahlungsresistent herausgestellt haben. Aber zurück zu Galileo und 1802.


Abbildung 3. Galileo mit Space Shuttle starten. Die Bordcomputer des Shuttles, die in den siebziger Jahren entwickelt wurden, arbeiteten mit Mikroschaltungen von geringem Integrationsgrad, und erst während eines großen Upgrades, das bereits im zweitausendsten Jahr durchgeführt wurde, stiegen die strahlungsresistenten Modelle 386-e, 1802-e und der zivile PowerPC 750 an Bord.

Galileo flog aufgrund verschiedener Probleme erst 1989, wurde aber fast unmittelbar nach den Voyagers entwickelt und nach ihren Best Practices weiterentwickelt. "1802 hat niemand im Entwicklungsteam wirklich gemocht", weil diskrete Lösungen, wenn auch umständlicher, viel schneller waren. Infolgedessen wurden seine Vorteile immer noch durch Nachteile aufgewogen, und das Befehls- und Datensubsystem des Geräts (Befehls- und Datensubsystem) wurde auf 1802 aufgebaut, und das weniger belastete, aber anspruchsvollere geschwindigkeitsbezogene Subsystem der Manövriersteuerung (Attitude and Articulation Control Subsystem) wurde von einem 16-Bit-Computer gesteuert Bestückt aus bipolaren 4-Bit-Bit-Slice-Chips Am2900 (sowjetisches Gegenstück - Serie 1802).

Galileo ist außerdem wichtig für unsere Geschichte, da es das erste Gerät war, bei dem das Problem einzelner Ausfälle bei der Konstruktion berücksichtigt wurde. In Mikroschaltungen, die nach groben Konstruktionsstandards hergestellt wurden, erschienen sie fast nicht, und niemand wusste von ihrer Existenz, bis die Forschungssonden die Strahlungsgürtel von Jupiter erreichten. Die Magnetosphäre des Jupiter ist so groß, dass sich ein Teil seiner Satelliten (Europa, Io und Ganymed) darin befindet! Jupiters Magnetfelder beschleunigen schwere Ionen zu einer kolossalen Energie, deren Quelle vulkanisch aktiv ist. Es stellte sich heraus, dass solche ungeheuren Bedingungen ausreichten, um selbst bei den alten Pioneer-Mikroschaltungen Fehlfunktionen zu verursachen. Je kleiner die Designstandards sind, desto weniger Energie wird benötigt, um das Bit im Speicher zu schalten!


Abbildung 4. Ein Strahlungsbild um Jupiter. Quelle: Hans Huybrighs, „Die Durchführbarkeit von In-situ-Beobachtungen von Europas Wasserdampfwolken“, 2015

Bis 1977, als das Galileo-Design begann, hatten die Voyagers Jupiter noch nicht erreicht, und alle verfügbaren Strahlungsdaten bezogen sich nur auf die Pioniere. Einige ihrer mysteriösen Fehler wurden später als einzelne Fehler eingestuft, aber dies war später, und bislang wurden weder selbstkorrigierende Codes noch andere Methoden zum Auffinden und Korrigieren von Fehlern in die Galileo-Bordausrüstung integriert. Nachdem die wahrscheinliche Ursache für das Versagen der Pioneers and Voyagers (1982) gefunden worden war, wurden alle elektronischen Komponenten von Galileo, die so ausgewählt waren, dass sie beständig gegen die Strahlendosis waren, dringend zum Beschleuniger geschickt: Finden Sie heraus, wie sie damit umgehen werden mit einem neuen Problem. Die Ergebnisse waren enttäuschend: Wenn sich 1806, das mit einer relativ alten Technologie durchgeführt wurde, normal verhielt, verursachten im progressiven bipolaren Mikroprozessor 2901 20 bis 50% der Treffer geladener Teilchen Fehlfunktionen, und es war unmöglich, ihn zu starten. Was zu tun ist? Es wurden zwei Optionen gefunden:

  1. Probieren Sie den neuesten freudenträchtigen Bordcomputer auf der Basis der 1750A-Architektur aus und kompilieren Sie die gesamte Software nach dem Schreiben des Compilers neu. Die Kosten für diese Option wurden auf 20 Millionen Dollar geschätzt (die damaligen Dollar waren deutlich teurer als die derzeitigen).
  2. Die Entwicklung fehlertoleranter Analoga von Problemchips 2901 dringend anordnen. In diesem Fall konnte nicht die gesamte wiederholt getestete Software wiederholt werden. Sandia Labs schätzte die Entwicklung neuer Chips auf 5 Millionen und traf eine Entscheidung.

NASA Tech Briefs, Band 10, Ausgabe 3, enthält einige Details zu den von Sandia Labs entwickelten Chips: Sie waren nicht bipolar wie das Original, aber es gab neun CMOS-Typen (von etwa vierzig Chips der Originalserie), mit denen Fehlertoleranz erreicht wurde breitere als notwendige Transistoren sowie Widerstände in den Rückkopplungsschaltungen der Speicherelemente.

Rückzug über einzelne Ausfälle

Figure 5. Schema einer statischen 6-Transistor-Speicherzelle (6T SRAM)

Wenn ein SLC in den Drain eines geschlossenen Transistors eintritt, entsteht ein Ionisationsstromimpuls, und in der Zelle beginnen zwei Prozesse: das Auslösen einer positiven Rückkopplung und die induzierte Ladungsableitung.

Lassen Sie den Treffer in einem geschlossenen Transistor M2 auftreten, an dessen Drain ein Stromimpuls auftrat. Der Transistor M1 ist zu diesem Zeitpunkt vollständig geöffnet und weist einen kleinen Widerstand auf, dh der induzierte TZCh-Strom, der durch ihn fließt, geht auf Masse. Die Kapazität des Knotens nQ kann jedoch klein genug sein, um auf eine hohe Spannung aufgeladen zu werden, was zum Schalten des zweiten Wechselrichters (M3-M4) führt, der seinerseits den ersten Wechselrichter durch die Rückkopplung schaltet. Dies ist ein strahlungsinduzierter Fehler (Single Event Upset, SEU). Durch die Installation von Widerständen in der Rückkopplungsschaltung können Sie den Rückkopplungsprozess verlangsamen und der Ladung genügend Zeit zum Lösen geben.

Design SA3000 - Strahlenresistent 8085


Der Prozess der Entwicklung von strahlungsresistenten Mikroschaltungen zu dieser Zeit sah so aus, als könnten Sie den wissenschaftlichen Veröffentlichungen folgen. Als Beispiel habe ich einen Artikel von W. Kim et. al., "Radiation-Hard Design Principles Utilated in CMOS 8085 Microprocessor Family", 1983 von IEEE Transactions on Nuclear Science veröffentlicht. Sandia Labs , SA3000 – Intel 8085 ( SA3001 SA3002 RAM Intel 8155 ROM Intel 8355). , Intel , . , . RHBP , – - , n+- . , – RHBD .

NMOS- , , . 700 (Si) 30 (Si). , . Sandia Labs ( ), -. , -, . , .

.

  1. n- 2 ( 1 ) p- -0.5 -4 ( -1 ). - , , , , .
  2. , -4 5 p- , , Sandia Labs , 10 . , , NMOS CMOS , .
  3. , p- , NAND ( p- ) NOR ( ).
  4. , . , , . , , , .

( ) , , 10 , , . , 10 5 .

«» : – , – , , – , - . Sandia Labs pin-to-pin 18000 6500, . : , . , , , - .

Galliumarsenid


Ein Wechsel oder gar eine spezielle Technik zur Herstellung von strahlungsresistenten Chips war damals nicht nur selbstverständlich, sondern auch notwendig. Daher ist es logisch, dass parallel zur Suche nach Wegen zur Stabilisierung der Silizium-CMOS-Technologie nach alternativen Optionen gesucht wurde. Das Hauptprodukt war Galliumarsenid.

, , JFET , . 1984 , DARPA GaAs MIPS — RCA, McDonnell Douglas CDC-TI. 30 , “ ”. , GaAs- Am2900, 1802 , .

, 1984-1994 GaAs , «» 6500 . , GaAs , 6500 , - (). GaAs – - , . .

RISC-


GaAs RISC-, CISC . , RISC- , . « » – ARM, MIPS, SPARC, POWER – , -, - , -, , – , .

1980 US Air Force Mil-Std-1750A, 16- . , , USAF . , , JOVIAL (Mil-Std-1589) (Mil-Std-1815A). JOVIAL, , ( , , ).

USAF, NASA, ESA . 1750- ( , , , bit-slice 2901 , Galileo) , Cassini . Mil-Std-1750A MA31750 Dynex Plessey - . IT , 1750A USAF 1996 , , 16 32- , . , , 1750 . , Rosetta, 2004 , “”, 2013.


, : «1802+8085» «1750+386», 386 Sandia Labs Intel; 386 , Hubble , Space Shuttle. - MIPS-, Mongoose-V, New Horizons, - RAD, POWER. Phoenix, Opportunity, Spirit Curiosity, Spitzer Kepler – , NASA . – RAD5500 – 2016 . – HPSC (High Performance Spaceflight Computing), Boeing ARM-, NASA USAF. , (RTEMS ), , – Yocto Linux.

, , – HPSC , , , . Mongoose-V – MIPS , RAD6000 , PowerPC601. , , ; . , , , .


Abbildung 6. Vergleich von PowerPC750- und RAD750-Kristallen. Die Chips werden nach den gleichen Designstandards hergestellt, ihre Fläche verdoppelt sich gleichzeitig fast. Achten Sie auf das nahezu identische Blocklayout - dies ist der Fall, wenn die Kompatibilität auf niedriger Ebene gewährleistet ist. Große Unterschiede in der Größe der Speicherblöcke lassen auf die Verwendung von strahlungsresistenten Speicherzellen mit mehreren Transistoren (10T statt 6T) und integrierter Redundanz schließen.

Ein Paradigmenwechsel - der Fall der Europäischen Weltraumorganisation


Die Geschichte der europäischen Raumfahrtprozessorentechnik ist untrennbar mit dem Namen des schwedischen Ingenieurs Jiri Gaisler verbunden. Mitte der achtziger Jahre trat er der ESA bei und begann mit der Entwicklung der ersten proprietären europäischen Weltraummikroprozessoren. Zuerst war es ein lizenzierter Amerikaner 1750A, dann eine eigene Entwicklung, die auf demselben Befehlssystem (hergestellt in England) basierte - um die Kompatibilität mit bereits geschriebener Software zu gewährleisten. Und da dies eine IT-Site ist, wollen wir uns ansehen, um welche Art von Software es sich handelt:

Proprietäre Werkzeuge
Ada Compiler von TLD (USA)

Open Source
Das GNU-Kompilierungssystem für das Jahr 1750 bestand ursprünglich aus zwei Hauptteilen.
eine Reihe von Tools, die CNS im Rahmen des Vertrages der Agentur entwickelt hat:

  • GNU C-Compiler (gcc-2.7.2)
  • Linker, Assembler, Archivierer usw. (binutils-2.7)
  • Standalone-c-Bibliothek
  • POSIX-Threads-Bibliothek (IEEE 1003.1c-1995) (ein vorbeugender Echtzeit-Manager)
  • GNU Debugger (gdb-4.16) für das Jahr 1750

eine Reihe von Tools, die entweder von der Agentur selbst entwickelt wurden oder von externen Quellen zur Verfügung gestellt werden, und zwar:
  • CRTX (der kleine zyklische / synchrone Echtzeit-Manager von SmartCom - extern)
  • Standalone-Simulator 1750 (O. Kellogg sim1750-2.3b - extern)
  • wxIDE (eine portable integrierte Entwicklungsumgebung basierend auf J. Smart wxWindows 2.65 - intern)

Ein wichtiger Punkt, der die Arbeit der Europäischen Weltraumorganisation in Bezug auf Software auszeichnet, ist die gezielte und systematische Unterstützung und Bezahlung für die Schaffung von Open-Source-Produkten sowie die Schaffung von Ökosystemen für die Wiederverwendung von Entwicklung und Kostensenkung. Nicht nur für Software: Für strahlungsresistente Schaltungen erstellt und unterstützt das belgische IMEC-Institut die ESA-Interessen DARE-Entwicklungsplattformen (Design Against Radiation Effects), einschließlich Entwurfsrouten, angepasster PDKs und großer Mengen digitaler und analoger IP-Blöcke für sechs verschiedene Herstellungsprozesse (350, 180) 90 und 65 nm). Diese Plattformen sind keine Open Source-Plattformen, sondern werden bei Bedarf an alle ESA-Kontaktausübenden lizenziert.

ERC32 - der erste voll europäische


Nun zurück zu Jiri Geysler. Die erste Generation eigener europäischer 1750A-Prozessoren in der Architektur (ein Drei-Chip-Kit wurde 1989 fertiggestellt, die voll integrierte MA31750 1991) wurde mit Blick auf die Rosetta-Mission entwickelt, die eines der Flaggschiffe eines breiten europäisch-amerikanischen wissenschaftlichen Programms werden sollte, zu dem auch das Teleskop gehörte. “ Hubble “und Missionen, um Sonne und Planeten zu studieren.

"Rosetta" ist ein Apparat mit einem langen und komplexen Schicksal. Das Projekt begann 1986 zusammen mit den Vereinigten Staaten und sollte viele Teile der Mariner MkII-Geräte wiederverwenden (die Beine des 1750A wachsen von hier aus), aber nach einer Weile stornierte der US-Kongress die Finanzierung des amerikanischen Teils des Programms (später umgerechnet in ein niedrigeres Budget für die Cassini-Sonde). Europa blieb auf sich allein gestellt. Als sich 1994 herausstellte, dass die ursprüngliche Mission, zu der auch die Lieferung von Kometenmaterial auf die Erde gehörte, nicht alleine durchgeführt werden konnte, wurden die Aufgaben der Mission neu formuliert. Zehn Jahre später, im Jahr 2004, begann Rosetta seine Reise zum Kometen Churyumov-Gerasimenko, und im Jahr 2014, als er den Kometen erreichte, konnten die Nachrichten gelesen werden, darunter auch über alte Schaltkreise mit der Leistung eines Taschenrechners. Und dies sind immer noch nicht genug Nachrichten in den Nachrichten über die Stapelprozessoren im Philae-Landemodul, die die Sprache Forth hardwaremäßig implementieren.

Das Schicksal von Rosetta hat der ESA klar gezeigt, dass es nicht die beste Idee ist, von amerikanischen Partnern abhängig zu sein, und die Agentur begann viel Geld in Programme zu investieren, um technologische Unabhängigkeit zu erreichen, oder unserer Meinung nach in Importsubstitution. Dreißig Jahre später bestehen diese Programme weiter und erhalten einen relativ neuen Anstoß in Bezug auf den Wunsch Europas, ungeachtet von US-Exportbeschränkungen, Sanktionen und US-Handelskriegen mit China Zugang zum russischen und, was noch wichtiger ist, zum chinesischen Weltraummarkt zu haben.

Nachdem das ESA-Team genügend Erfahrung gesammelt hatte, übernahm es eine ehrgeizigere Aufgabe: einen 32-Bit-Prozessor. Zu dieser Zeit war es noch in Mode, eigene RISC-Architekturen zu entwickeln, aber die ESA stellte kein Geld für solche Unterhaltungsangebote zur Verfügung, und schlug den Entwicklern vor, sich für einen der vorhandenen ISAs zu entscheiden, zudem nicht proprietär und vorzugsweise mit einem guten Software-Ökosystem. Nach einigen Studien und anschließenden Diskussionen mit ein paar Dutzend potenziellen ESA-Vertragspartnern fiel die Wahl auf SPARC, das über alle erforderlichen Qualitäten verfügt und bereits Anfang der neunziger Jahre von einem seriösen Konsortium unter der Führung von Sun und Fujitsu frei vertrieben wird. Eine komische Tatsache: ARM wurde in Betracht gezogen, aber aufgrund der geringen Menge an Software abgelehnt. Weitere interessante Anforderungen an den Prozessor waren die Hardwareunterstützung für die Sprache Ada, um die Arbeit der bereits für den 1750A geschriebenen Software zu beschleunigen, sowie das Vorhandensein von VHDL-Modellen, um die Entwicklung prozessorbasierter Systeme zu beschleunigen.

Ein grundlegend neuer Punkt bei den Entwicklungsanforderungen war, dass der Mikroprozessor selbst nicht als Chip entwickelt wurde, sondern als High-Level-Prozessormodell in VHDL. Dies geschah, um nicht vom jeweiligen Chiphersteller abhängig zu sein und um die Verfügbarkeit des Prozessors für viele Jahre sicherzustellen, auch wenn der ausgewählten Fabrik etwas zustößt. Nach amerikanischer Tradition basierte das Kerndesign auf dem kommerziellen Cypress CY601-Prozessor, und das französische Werk Temic Semiconductor (strahlungsresistentes volumetrisches Herstellungsverfahren mit Designstandards von 800 nm) war für die Strahlungsresistenz verantwortlich. Anstelle der geplanten drei Jahre dauerte das Projekt fünf (1992-1997), das Design wurde bei der zehnten (!) Iteration der Testchips fertiggestellt, Ada musste aufgegeben werden - das Projekt wurde jedoch als erfolgreich gewertet. Das resultierende Design hieß ERC32, ein Drei-Chip-Mikroprozessor-Kit, der unter den Namen TSC691-693 auf den Markt kam, und noch später wurde das Projekt auf einem einzelnen Chip als TSC695 (20 MHz, 14 MIPS, 4 MFLOPS, 0,5 W) durchgeführt.

Zusätzlich zur üblichen Implementierung von SPARC implementiert ERC32 die Fehlererkennung und Softwarekorrektur. 99% der Trigger in den Integer-Unit-Registern, 100% der Trigger in der FPU und externe Busse sind mit Parität ausgestattet. Die erkannten Fehler verursachen sechs Arten von Interrupts, deren Reaktion programmgesteuert bestimmt wird. Im einfachsten Fall besteht die Interrupt-Behandlung darin, den fehlgeschlagenen Befehl zu wiederholen, im schlimmsten Fall kann es sich um einen Neustart des Bordcomputers handeln. Außerdem wird der NOP-Befehl so modifiziert, dass er die als XOR-Opcodes aller vorherigen Befehle empfangene Prüfsumme prüft, anstatt nichts zu tun. Wenn die Summe nicht mit dem erwarteten Wert übereinstimmt (bei der Kompilierung erhalten), wird auch ein Interrupt aufgerufen. Zum Abschluss der Beschreibung von ERC32 stelle ich fest, dass es überhaupt keinen Cache gibt, dh, die Prozessorentwickler haben dieses große Problem an andere weitergegeben.

Die vorgeschlagenen Maßnahmen zur Aufdeckung von Störungen führten zu einer Flächenvergrößerung um 15%. Oder 130%, wenn wir die Aufnahme von zwei ERC32 in eine duplizierte Konfiguration berücksichtigen, für die es auch Hardware-Unterstützung gab.

ERC-32 und das russische Segment der ISS


Das erste Gerät, das ERC32 verwendete, verdient zweifellos eine eigene Geschichte, da es das erste Mal war, dass eine ausländische Einheit in einsatzkritischen russischen Geräten eingesetzt wurde, und auch, weil deutlich wird, wie wichtig Projekte nicht sein sollten.

Aufgrund weiterer Schwierigkeiten beim Bau der US-europäischen Langzeitraumstation Freedom leitete die ESA 1992 Verhandlungen über die Möglichkeit ihrer Beteiligung am Projekt der russischen Orbitalstation Mir-2 ein. Die russische Seite war einverstanden, hatte jedoch 1992 kein Budget. Nach zwei Jahren intensiver Verhandlungen (die Abstimmung im US-Kongress endete mit 216-215 Punkten) wurden die Projekte Mir-2 und Freedom zur Internationalen Raumstation (ISS), wie wir sie heute kennen. Die europäisch-russischen Abkommen blieben unterdessen in Kraft, und die ESA startete ein Projekt für ein Datenverarbeitungssystem für das russische Modul „Dawn“ (DMS-R, Datenverwaltungssystem - Russisch).

Die 1995 erhältlichen Prozessoren - die strahlungsresistenten 1750 und 386 - erfüllten nicht die Leistungsanforderungen, und bei der Belastung des RAD6000 mussten ganze Prozessorkarten gekauft werden, was die Entwicklungsflexibilität beeinträchtigte. Eine andere Option war ERC32, aber zu diesem Zeitpunkt existierte es nur in Form von Modellen, und es war noch kein einziger Testchip in Silizium hergestellt worden. Ich weiß nicht, was diese Leute antreibt, aber es war eindeutig nicht die Idee, dass mit einem nicht existierenden fortgeschrittenen Prozessor etwas schief gehen könnte. Und bei ihm gab es natürlich einen Rückstand zum Zeitplan (der mit kommerziellen Analoga für einige Zeit umgangen wurde) und ein Meer von Fehlern (was für das erste große Projekt eines kleinen Entwicklerteams vorhersehbar war), und die Fehler waren selbst unter ständigen direkten Bedingungen schlecht dokumentiert Wenden Sie sich an die Entwickler DMS-R und ERC32. Einer der Fehler in der FPU, den Entwickler von RSC Energia nicht lokalisieren konnten, musste schließlich mit Patches im Betriebssystem umgangen werden.

Es kam zu weiteren Verzögerungen (1998 war die Raumfahrtfinanzierung in Russland nicht mehr sehr gut), aber im Jahr 2000 wurden die von der ESA entwickelten Bordcomputer erfolgreich in die Umlaufbahn gebracht und arbeiten seitdem im russischen Zarya-Block.


Abbildung 7. Der Bordcomputer des ISS Zarya-Moduls basierend auf dem ERC32-Prozessor.

1996, noch vor dem Ende des ERC32-Projekts, wurde mit der Entwicklung der Anforderungen für seine Erben begonnen. Der Appetit der Programmierer stieg auf 100-500 MIPS anstatt auf 10, und der durchschlagende Erfolg des ursprünglichen Projekts bedeutete, dass Europa in absehbarer Zukunft weiterhin mit der SPARC-Architektur arbeiten würde. Die Hauptaufgabe war die Entwicklung einer Single-Chip-Version von ERC32, die vielversprechende war der neue Prozessorkern.

LEON-FT


Das Hauptmerkmal des LEON-FT-Projekts war die anfängliche Aufgabe, nicht ein Endprodukt in Form eines Chips, sondern einen lizenzierten Kern in Form eines vhdl-Codes zu schaffen und Fehlertoleranz statt Strahlungshärte sicherzustellen. Die Erfahrung mit ERC32 hat gezeigt, dass für einen zuverlässigen Betrieb eine Duplizierung erforderlich ist. Der logische nächste Schritt bestand darin, ein System zu entwickeln, das es nicht benötigt. Die Lösung dieses Problems erforderte nicht nur das Erkennen, sondern auch das Korrigieren von Fehlern auf Hardwareebene, ohne die Verwendung von Software. Die Konzepte Fehlertoleranz und Strahlungshärtung durch Design wurden natürlich nicht von den LEON-FT-Autoren erfunden, aber zuvor wurde dieser Ansatz hauptsächlich auf Transistorebene betrachtet. Sie waren die ersten, die den Kampf gegen einzelne Ausfälle durch die physikalische Implementierung des Chips vollständig auflösten und das Ziel des Projekts zur Schaffung eines stabilen Chips setzten auf kommerzielle Technologie und auf jede zu einem bestimmten Zeitpunkt verfügbare - und damit das Problem der Überalterung von technologischen Prozessen und der Schließung von Fabriken zu lösen. So wurde ein Paradigmenwechsel verzeichnet: Zwanzig Jahre, bevor wir am Beispiel von SA3000-Chips sahen, bestand das Hauptproblem in der vollen Strahlungsdosis, die mit technologischen Methoden bekämpft wurde, und es wurden einzelne Ausfälle nach dem Residualprinzip betrachtet. Bis zum Jahr 2000 änderte sich der Fokus, einzelne Ausfälle wurden zum Hauptproblem, und die Bindung an eine bestimmte Technologie wurde als Nachteil und nicht als Verdienst angesehen, selbst wenn die Fabrik getestet und zuverlässig war. Übrigens, jetzt gehört der englische (und nicht ein Wort über den Brexit) Dynex Semiconductor zu den Chinesen, und der französische Temic ist Teil des amerikanischen Mikrochips geworden.

Der LEON-FT-Kern wurde in VHDL geschrieben und mit einem Konfigurator ausgestattet, mit dem Sie verschiedene Optionen zum Schutz gegen einzelne Ausfälle für verschiedene Teile des Chips auswählen können: für eine Registerdatei und einen Cache-Speicher (Cache erschien!), Ein / zwei Paritätsbits oder einen Hamming-Code sowie Forcen Cache-Miss, bei Triggern in Datenpfaden das Vorhandensein oder Fehlen einer dreifachen Redundanz, für eine Pipeline (eine Pipeline ist aufgetreten) - die Fähigkeit, ausgehend von einem fehlgeschlagenen Befehl zurückzusetzen und erneut zu versuchen. Daher besteht die einzige Abhängigkeit von der physischen Implementierung nur in den Schnittstellenmerkmalen mit benutzerdefinierten Speicherblöcken, aus denen die Registerdatei besteht. Das Wachstum des Kernbereichs mit maximalem Schutz ohne Caches beträgt unter Berücksichtigung von etwa 40% etwa 100%. Mit allen deaktivierten Optionen stellte sich heraus, dass es sich um den SPARC V8-Kern handelte, der in Open Source als LEON (ohne das Präfix -FT) veröffentlicht wurde. Diese Praxis wurde fortgesetzt, und nachfolgende Versionen von LEONx in einer instabilen Version wurden öffentlich zugänglich gemacht, und konfigurierbare ausfallsichere Versionen von LEONx-FT wurden für die Herstellung von Mikrochips oder als Soft IP für Firmware in FPGAs lizenziert. Da LEONx-FT in keiner Weise an die Technologie gebunden ist, steht der Verwendung in FPGAs nichts im Wege - natürlich, wenn die (ziemlich strenge) Bedingung für das Fehlen von Fehlern im Speicher, der die Verbindungen der Elemente auf dem Chip steuert, erfüllt ist. Handelt es sich bei diesem Speicher jedoch nicht um SRAM, sondern um Flash oder EEPROM, ist dies eine durchaus realistische Idee, auch ohne Berücksichtigung fehlertoleranter FPGAs, bei denen der Konfigurationsspeicher mit selbstkorrigierenden Codes hardwaremäßig abgedeckt ist.


Abbildung 8. Troyed-Auslöser.

Hinweis zum Bibliotheksdesign: Um die Kompatibilität mit allen Bibliotheken zu gewährleisten, besteht das Abstimmungselement hier aus gewöhnlichen Logikgattern. Natürlich ist er selbst in keiner Weise vor einzelnen Ausfällen geschützt, aber er ist viel weniger als ein gewöhnlicher Auslöser, was bedeutet, dass die Wahrscheinlichkeit geringer ist und der Ausfall kurz, aber nicht verriegelt ist. Wenn dies nicht ausreicht, gibt es spezielle Implementierungen des Abstimmungselements auf Transistorebene, die störungsresistenter sind als die in der Abbildung gezeigte Option, und die der Bibliothek als Grundelemente hinzugefügt werden können. Bei Entwurfsstandards von 1000-100 nm sind eine ganze Reihe interessanter Implementierungen von Logikelementen mit erhöhter Fehlertoleranz möglich, die es ermöglichen, den Logikentwurf der Mikroschaltung minimal zu ändern und keine komplexen Dreifachentwürfe einzuführen. Die beliebtesten Optionen sind die interne Duplizierung von Elementen und die integrierte Filterung (z. B. in Form von Widerständen in Rückkopplungsschaltungen im Speicher).


Abbildung 9. DICE-Speicherzelle mit integrierter Duplizierung; Aufgrund von Gegenkopplungen ist ein Ausfall nur möglich, wenn gleichzeitig zwei Wechselrichter angestoßen werden, was relativ einfach zu verhindern ist. Auf der rechten Seite sind die Topologien einer normalen Speicherzelle und von DICE dargestellt.

LEON-FT war ein Testprojekt und nicht für die Kommerzialisierung vorgesehen. Diese Entwicklung sowie nachfolgende kommerzielle Produkte - LEON2-FT-Kerne - wurden von Geisler in seiner eigenen Firma Gaisler Research in Göteborg hergestellt. Die Exklusivrechte für LEON2-FT wurden von Atmel erworben, die Temic, ein ERC32-Unternehmen, erwarb. Das Ergebnis ist der in Russland weit verbreitete AT697-Chip, der mit der Atmel-Spezialstrahltechnologie und aufgrund der Tatsache, dass Atmel ein amerikanisches Unternehmen ist, das Export- und Sanktionsbeschränkungen unterliegt, hergestellt wird. Im Jahr 2008 wurde Gaisler Research von Aeroflex an Amerikaner verkauft, dann von English Cobham, dann von Brexit, und jetzt kauft Cobham einen amerikanischen Investor unter dem Eindruck der Unzulässigkeit der Verschwendung des nationalen Schatzes und der nationalen Verteidigung. Dies ist die Geschichte der Importsubstitution und der technologischen Unabhängigkeit in Europa.

Die aktuelle Version - LEON5 - verfügt über eine achtstufige Pipeline, eine Verzweigungsvorhersage und andere Funktionen moderner Mikroprozessoren. Ab der dritten Version bietet Gaisler nicht nur Prozessorkerne, sondern auch eine große Bibliothek verschiedener IP-Blöcke, mit denen Benutzer Systeme auf einem Chip erstellen können, die für ihre spezifischen Anforderungen geeignet sind Anforderungen sowie eine große Auswahl an proprietärer, Drittanbieter- und Open Source-Software (eine ausführliche Beschreibung finden Sie hier . Zu den Betriebssystemen gehören VxWorks 6.9 und 7.0, RTEMS 4.10 und 5 sowie Linux auf Basis von Kernel 3.10 und 4.9).

Ein kleiner Exkurs über Wirtschaft und Planung
LEON gilt als der erfolgreichste und großflächigste Weltraumchip. Gleichzeitig betrug die Gesamtauflage beider ERC32-Varianten rund fünftausend Stück und die Auflage von Atmel-Chips auf Basis des LEON2-FT-Kerns rund eineinhalbtausend Stück. American BAE Systems bietet Broschüren mit 200 Bordcomputern mit dem RAD6000 und 150 mit dem RAD750 an. Es ist absolut klar, dass bei solchen Auflagen die Entwicklung und Zertifizierung solcher Mikroschaltungen nicht um jeden Preis kommerziell gerechtfertigt werden kann und die Entwicklung vom Staat (oder im Falle der ESA vom Staatenbund) subventioniert werden muss. Darüber hinaus gilt die Notwendigkeit einer Subventionierung der Entwicklung in den meisten Fällen nicht nur für Mikroprozessoren, sondern auch für die meisten anderen Mikroschaltungen für Weltraumanwendungen. Ausnahmen sind am leichtesten bei relativ einfachen Chips zu finden, die kostengünstig entwickelt und dann nach Weltraumstandards in großen Mengen verkauft werden können. Dies schafft wiederum die Voraussetzungen für eine langfristige strategische Planung für die Entwicklung der Basis der Weltraumelemente, die Hervorhebung von Schlüsselbereichen und die Wiederverwendung von mit subventioniertem Geld entwickeltem geistigem Eigentum. In dieser Hinsicht unterscheiden sich Modelle, die in den USA, in Europa und in Russland tätig sind, nur in den Einzelheiten der Implementierung und im Organisationsgrad des Prozesses.

Arbeitsteilung


Wie bereits erwähnt, lösen LEONx-FT IP-Cores nur das Problem einzelner Ausfälle. Der Schutz gegen die volle Dosis und den Thyristoreffekt liegt beim Benutzer, der sich entweder für ein stabiles FPGA oder eine Kombination aus Technologie und Bibliotheken entscheiden muss.Schauen wir uns das Beispiel des Gaisler GR712-Chips genauer an, der in der jüngsten israelischen Bereshit-Mondmission verwendet wurde.

. GR712 – LEON3-FT. – 180 TowerJazz. – RadSafe, Ramon Chips ( , «»). RadSafe . GR716 – LEON3-FT – IMEC, IP 180 UMC. GR740 – , LEON4-FT – 65 ST Microelectronics, . , , , .


10. , MA31750 , GR740 ( 65 STM, , 250 , 459 MIPS/, 22.7 MFLOPS).

, . -, , , . -, , , . -, ( ), , .

. , , , .

Source: https://habr.com/ru/post/de482904/


All Articles