Warum hat sich die ESA für SPARC für LEON entschieden?

Ende 1997 startete die Europäische Weltraumorganisation das LEON-Projekt, um leistungsfähigere Prozessoren für ESA-Missionen bereitzustellen. Eine offene Befehlssatzarchitektur war eine Grundvoraussetzung (sowohl um Verfügbarkeitsprobleme zu vermeiden als auch um Anpassungen zu ermöglichen), aber auch die Eignung für den Einsatz im Weltraum war eine wichtige Überlegung.

Die ESA entschied sich für die Verwendung von SPARC Version 8 (von 1991/1992 basierend auf dem Urheberrechtshinweis in The SPARC Architecture Manual: Version 8 , die Basis-ISA wurde 1987 veröffentlicht). SPARC hatte einige Vorteile:

  • Es war vielleicht die einzige vollständig offene ISA mit signifikanter Unterstützung.
  • Es war eine einigermaßen einfache ISA (RISC), eine freundliche Implementierung mit geringerem Aufwand.
  • Es gab Workstations mit SPARC v8-kompatiblen Prozessoren, sodass Cross-Compiling vermieden werden konnte.
  • Entwicklungstools für SPARC waren einigermaßen ausgereift, obwohl vermutlich mehr auf Server/Workstation-Workloads ausgerichtet.

Allerdings hatte SPARC auch einige Nachteile:

  • Bis 1997 (mit der Einführung des Pentium II) wäre die Zukunft von SPARC in Workstations in Frage gestellt worden (wodurch das Cross-Compiling-Problem etwas umstritten wäre).
  • SPARC wurde nicht allgemein als offenes ISA eingeführt, daher gab es keinen signifikanten Rohstoffeffekt. (Dies war wahrscheinlich keine große Überlegung für LEON, beeinflusst aber die Verfügbarkeit von Softwaretools. Die Offenheit von SPARC hat auch einen begrenzten Vorteil in Bezug auf Patente.)
  • Als klassisches RISC hatte SPARC eine etwas schlechte Codedichte. (Die Codegröße ist ein wesentlicher Faktor für weltraumgestützte Computer.)
  • SPARC wurde nicht allgemein für die Verwendung in eingebetteten Systemen übernommen. (Dies hätte die Verfügbarkeit von Entwicklungswerkzeugen beeinflusst, die für solche Systeme geeignet sind.)
  • Die Registerfenster von SPARC hätten die minimale Kerngröße erhöht, die Komplexität des Hardwaredesigns leicht erhöht und eine komplexere Entwicklung für einen streng eingeschränkten Echtzeitbetrieb mit sich gebracht.
  • SPARC enthielt weniger nützliche Funktionen wie markierte Arithmetik. (Dies war wahrscheinlich nicht von Bedeutung, da eine Teilmenge der Architektur verwendet werden konnte.)
  • Das Anweisungsformat von SPARC war etwas weniger regelmäßig als bei anderen RISCs. (Dies ist ein ziemlich trivialer Einwand; der Größen-/Leistungsunterschied zwischen Befehlsdecodern für eine Alpha-ähnliche ISA und SPARC würde weniger als 1 % betragen.)

Angesichts der einigermaßen garantierten Verwendung der gewählten Architektur durch die ESA und der besonderen Anforderungen für weltraumgestützte Systeme scheint eine kundenspezifische ISA praktisch gewesen zu sein. Ein benutzerdefinierter, offener ISA hätte erhebliche Nachteile:

  • Das Fehlen vorhandener Entwicklungstools hätte zusätzliche Kosten verursacht und die Compilerentwicklung mit der Hardwareentwicklung verknüpft (erhöhtes Zeitplanrisiko). (Nicht offene Tools für die SPARC-Entwicklung hätten ein gewisses Risiko für LEON dargestellt, aber dies hätte zu Recht als geringfügiges Problem angesehen werden können.)
  • Das Fehlen von Same-ISA-Workstations hätte die anfängliche Entwicklung komplexer und kostspieliger gemacht.
  • Selbst wenn man die Kosten für die Erstellung von Softwareentwicklungstools ausschließt, ist die Entwicklung einer neuen ISA mit erheblichen Kosten und Risiken verbunden. (Einen Konsens ohne Design-by-Committee-Effekte zu erzielen, ist eine Herausforderung, und die Gefahren des zweiten Systems könnten erheblich gewesen sein.)

Jede Erhöhung der (frühen) Kosten und Risiken kann die Wahrscheinlichkeit des Scheiterns des Projekts unverhältnismäßig erhöht haben. Andererseits hätte eine kundenspezifische ISA für den Zweck besser geeignet sein können und in der Luft- und Raumfahrt mehr externe Akzeptanz sowohl der ISA als auch der für die ESA entwickelten Chips (was die Qualität der Software erhöht hätte, erhöht das Testen von Implementierungen und reduzierte Hardwarekosten).

Wie kam es also dazu, dass die ESA SPARC einer benutzerdefinierten ISA vorzog (oder vielleicht eine begrenzte unbefristete Lizenz für eine andere RISC-ISA aushandelte)?

Bei den Tags bin ich mir nicht sicher. ( Wirklich überrascht, dass ESA noch kein Tag gemacht wurde.)
An den Downvoter: Es ist höflich, einen Kommentar abzugeben, der die Ablehnung erklärt. Denkst du die Frage ist off-topic? Nicht nützlich? Gibt es ein anderes Problem? (Unklar oder kein Forschungsaufwand erscheint unwahrscheinlich.)
Sie müssen wahrscheinlich weiter zurückgehen, bei Leon ging es mehr darum, die Kontrolle über die Produktion und Entwicklung des ERC32-Prozessors (der sparc-v7 implementierte) zu übernehmen. Es gibt ein paar Absätze darüber, warum es hier Sparc war, aber nicht zu viel Wesentliches.
@nos Vielen Dank! Ich wusste nicht, dass SPARC vor LEON verwendet wurde. Aus den in "32-Bit-Mikroprozessor- und Computerentwicklungsprogramm: Abschlussbericht" aufgeführten "Anwendbaren Dokumenten" geht hervor, dass die Arbeit spätestens 1991 begann (kein Glück, diese Dokumente online zu finden), zu welcher Zeit SPARC sinnvoller gewesen wäre. Mit einem zum Zeitpunkt von LEON etablierten 32-Bit-Software-Ökosystem hätte die Verwendung eines anderen ISA die Kosten und Verzögerungen erheblich erhöht. Jetzt muss ich meine Frage überdenken (oder als beantwortet nehmen).
Hmm, bevor Sie Ihre ursprüngliche Frage überdenken: Wenn es sich um die ESA handelt, sollte es eine „Aufforderung zur Einreichung von Vorschlägen“, eine „Ausschreibung“ oder ähnliches geben. Und danach soll es eine Auswertung geben. Ich bin grundsätzlich mit nein, aber es wäre nicht die ESA, wenn es nicht ein hunderte Seiten langes Dokument über die Entscheidung gäbe ...
Weil SPARC von einer Firma namens Sun !

Antworten (1)

Wie @nos sagte, wurde die Entscheidung für SPARC 1991 getroffen. Dafür gab es mehrere Gründe (Präsentation zur Geschichte von ERC und Leon):

Die ESA führte zwei Architekturstudien durch und bewertete Prozessoren wie MIPS, THOR, MC68020, I386, NS32. Außerdem lud die ESA die Industrie zu Diskussionsrunden ein. Schließlich wurde SPARC aus folgenden Gründen ausgewählt:

  • Offene Architektur ohne Patente oder Lizenzgebühren
  • Gut gestaltet und dokumentiert
  • Einfach umzusetzen
  • Etablierter Softwarestandard
  • Verfügbare Ausführung (CY601)

Wenn dies Auswahlkriterien wären, können Sie sehen, dass eine benutzerdefinierte ISA die Kriterien nicht erfüllen würde.

Der Abschlussbericht für das ERC32-Programm (wie von @nos gefunden) besagt Folgendes:

Darüber hinaus wurde gefordert, eine vorhandene Prozessorarchitektur "wiederzuverwenden", um sowohl Software- als auch Hardwareentwicklungskosten zu minimieren. Durchgeführte ESA- und Industriestudien führten damals zur Auswahl der SPARC-Befehlssatzarchitektur als Basislinie. B. um das Breadboarding und die Softwareentwicklung zu vereinfachen.

Daher forderte die ESA ausdrücklich die Verwendung einer vorhandenen ISA.

Wenn Sie sich für eine benutzerdefinierte ISA entscheiden, müssen Sie alles selbst erstellen:

  • das gesamte Chipdesign (anstatt wie bei SPARC vorhandene Bausteine ​​nutzen zu können),
  • Compiler,
  • sämtliche Software einschließlich des Betriebssystems,
  • Cross-Compilation und andere Ausrüstung, die Sie benötigen, um Software für diese neue ISA zu entwickeln

Sie verlieren auch den Komfort, Hardware von der Stange für die Tausenden von Systemen zu haben, die Sie auf der Erde benötigen, für Entwicklung, Tests usw. Und Sie verlieren die Tausende von Mannjahren, die bereits in das Testen der SPARC-Architektur und -Software investiert wurden. Bis 1991 waren alle Fehler in SPARC bekannt; Die SPARC-Software war ausgereift und überall im Einsatz. Eine benutzerdefinierte ISA kann etwas effizienter werden, aber Sie erhöhen die Schwierigkeit des Projekts um mehrere Größenordnungen.
( guter Artikel über Leon , Leon und Strahlungshärtung , Leon-Entwicklung )
In den FAQ für LEON heißt es:

Warum implementiert LEON ein SPARC und kein ARM oder MIPS?

Das Entwerfen von SPARC-Prozessoren kann ohne jegliche Lizenzen erfolgen. Dies ist in der Tat der Grund, warum Jiri Gaisler SPARC für die Entwicklung von LEON ausgewählt hat, sehen Sie nur, wie oft Intel, MIPS und ARM Unternehmen verklagt haben, die Prozessoren mit ihrer Architektur entwickelt haben.

Beispielsweise endeten Mitte Februar 2002 die Rechtsstreitigkeiten zwischen Lexra/MIPS und picoTurbo/ARM beide mit einer vollständigen Niederlage der beiden CPU-Klonfirmen (Lexra und picoTurbo). Beide Unternehmen wurden geschlossen und ihre Kunden zu MIPS/ARM transferiert.

Jiri Gaisler sagte: „Mehr denn je freue ich mich über die Entscheidung für SPARC. :-) Und vielen Dank an Sun und SPARC International für die offene Lizenz!“

Ich nehme an, Sie konnten nichts anderes als die Präsentation für ERC finden. SPARC war von Natur aus nicht patentfreier als jede offene Spezifikation; Die Gründer haben keine Patentfreistellung geleistet (die berüchtigten MIPS-Patente waren wahrscheinlich ungültig, übrigens, wie gut das auch für andere war). SPARC war als Architektur nicht besonders gut konzipiert, und jede RISC-ähnliche ISA wäre "einfach" zu implementieren (Compiler, Betriebssystem und sogar Hardwareänderungen zwischen RISCs können gering sein). 1991 (ERC) waren die Kompromisse anders als 1997 (LEON), aber bis dahin wäre Softwarekompatibilität wichtig.
Bei meiner „Recherche“ fand ich das folgende Zitat von Patterson im SPARC Microprocessor Oral History Panel, Session One, Origin and Evolution : „Die Tatsache, dass es der einzige Standardbefehlssatz ist, der einzige Befehlssatz mit einem Standard und einer Verifikationssuite macht es sehr attraktiv für kleine Gruppen". (Ich habe Ihrer Antwort +1 gegeben und werde sie wahrscheinlich später akzeptieren, obwohl ich auf detaillierteres Referenzmaterial gehofft hatte.)
Ich konzentrierte meine Suche auf ERC, da LEON ein Nachfolger ohne Berücksichtigung anderer Architekturen zu sein scheint.
Ich habe gerade ein Papier gefunden , das 'Teil der ESTEC "RISC Evaluation Study" war. „Performance analysis of three RISC-based space-dedizierte Computer“ ( PDF ) erscheint verwandt und eingeschränkt auf T800, THOR und SPARC. Die SLUB Dresden hat eine Kopie des 378-seitigen Berichts.
Wo können Sie kostengünstige Entwicklungsboards für diesen CPU-Typ erhalten?
Suchen Sie nach „LEON SPARC Entwicklungsplatine“. Das erste Ergebnis, das ich bekam: hitechglobal.com/ipcores/leon3.htm