10. März 2019: Ethiopian 737 MAX crash

ANZEIGE

Volume

Erfahrenes Mitglied
01.06.2018
11.626
9.379
ANZEIGE
Also entweder muss man dafür sorgen, dass neue Leute das wieder lernen oder man muss sich endlich an moderne Konzepte anpassen.
Analog müssen Metallflugzeugbauer auch heute noch wissen, wie man Aluminium wärmebehandelt. (Genauso, wie man es in den letzten 20ern gemacht hat... nur nicht mehr mit so gesundheitsschädlichen Bädern). Manchmal muss man das alte Wissen halt weitertragen.
Oder man verzichtet irgendwann darauf, Aluminiumblech zu formen, und fräst alles nur noch aus einem massiven, bereits wärmehandeldten Block unter Nutzung moderner CAD/CAM Technologie. Das macht die Bauteile aber nicht unbedingt besser (leichter, billiger, korrosionsbeständiger, damage-toleranter...), beim Fräsen ist die geringste mögliche Wandstärke irgendwann erreicht, und plattiert wie Blech ist es auch nicht.

Kannst du mir das mit der Hardware nochmal erklären? Ich habe es nicht gänzlich verstanden, für mich klingt das so als wären moderne CPUs zu fehleranfällig um in Flugzeugen eingesetzt zu werden.
Moderne Prozessoren sind eben nicht mehr einfach nur Hardware, sie sind "smart" und treffen auch bestimmte Entscheidungen selbst. Sie enthalten auch viel Software, die auch immer wieder angepasst wird. Damit kannst du als Enduser nie 100% vorhersagen, was sie in bestimmten Situationen tun werden. (Der ein oder andere beim Prozessorhersteller wird zumindest glauben, das zu können) Und du kannst nie sicher sein, was du zum Zeitpunkt x tatsächlich geliefert bekommst.
Alte Hardware ist 100% passiv, und macht nur exakt das, was man ihr sagt (was bisweilen nicht exkt das ist, was man wollte... ;))

Es wäre schon viel gewonnen, wenn alle Generationen und alle Fachleute (Prozessorarchitekten, Programmierer, Avioniker) mal miteinander reden würden... Aber oft sprechen sie nicht mal mehr die selbe Sprache.
 
  • Like
Reaktionen: Eckoman und isiohi

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Kannst du mir das mit der Hardware nochmal erklären? Ich habe es nicht gänzlich verstanden, für mich klingt das so als wären moderne CPUs zu fehleranfällig um in Flugzeugen eingesetzt zu werden. Wenn das stimmt, dann würde es sich für die Branche doch rentieren, einmalig gemeinsam eine CPU zu entwerfen die allen Anforderungen entspricht. Die Rechenleistung heute liegt doch einige Zehnerpotenzen über dem was aktuell gefordert wird, das wäre eine Investition in die ferne Zukunft.

Generell ist es sehr schwer bis unmöglich, einen Prozessor formal zu verifizieren, dass er garantiert keinen Schrott rechnet. Das hat man früher auch nicht gemacht, allerdings waren die Designs überschaubarer.

Es gibt eigentlich drei Knackpunkte:
a) Die Strukturen sind heute sehr klein, sodass sie anfälliger werden. Wenn da noch zehn Atome in Reihe das Gate isolieren, und eines haut ab, dann wird es problematisch. Beim zweiten gefährlich, beim dritten ist das Ding kaputt. Das kann rein thermisch oder durch Elektromigration, durch vorhandene Kristallfehler, die nicht entdeckt wurden usw. immer passieren.
Sind da 50 Atome, ist es einfach robuster.
b) Die Designs sind durch die hohe Zahl an Logikelementen schwer testbar. Es kann durchaus selbst bei einem PC Prozessor sein, dass irgendwelche Logik zeitlebens von dem Ding praktisch nicht benutzt wird und bestimmte Defekte über die Testabdeckung nicht erkannt werden.
c) Die Designer schauen bei dem Design nicht mehr wirklich durch oder jene, die das können, sind längst weinend davongelaufen (z.B. die Situation mit Intel, Entwicklung in Israel, dann arrogantes an-sich-ziehen durch Oregon, Ergebnis ist eine bis heute im Kern nicht mehr wesentlich weiterentwickelte Architektur. Und das Ergebnis, als sie doch mal basteln wollten, ist bekannt.

Moderne Prozessoren arbeiten zudem superskalar und spekulativ, d.h. es steht selbst für einen festen Maschinencode eben nicht fest, welche Einheiten das am Ende rechnen und man wirft auch mal Ergebnisse weg, wenn die Spekulation schiefging. Dies möglichst zu vermeiden, ist Aufgabe einer guten Branch Prediktion und anderer Massnahmen (Nebenanmerkung: wegen einer werden wir gewissen Herrschaften noch die Ohren langziehen, alles nur geklaut). Die Notwendigkeit der Spekulation ergibt sich aus der sogenannten Pipeline-Latenz, weil moderne Prozessoren wie eine Fließband-Fabrik arbeiten, nur dass der QS-Typ am Ende (Sprungentscheidung) feststellt, dass man am Anfang doch eine passendere Lackfarbe hätte (spekulativ) wählen sollen.

Es gibt auch noch genügend "klassische" Prozessoren, dann sind wir aber bei den Problemen:
a) Ressourcenmangel, weil die Dinger für die Wünsche des Marketings ("Envelopeprotection wie beim A320, aber halb so groß und teuer") zu lahm sind,
b) Probleme mit der Verfügbarkeit unter geeigneten Fertigungsprozessen, auch weil die Luftfahrtbranche als Abnehmer für Sonderlocken zu klein ist.
 

ollifast

Erfahrenes Mitglied
04.07.2018
842
0

Moderne Prozessoren sind eben nicht mehr einfach nur Hardware, sie sind "smart" und treffen auch bestimmte Entscheidungen selbst. Sie enthalten auch viel Software, die auch immer wieder angepasst wird. Damit kannst du als Enduser nie 100% vorhersagen, was sie in bestimmten Situationen tun werden. (Der ein oder andere beim Prozessorhersteller wird zumindest glauben, das zu können) Und du kannst nie sicher sein, was du zum Zeitpunkt x tatsächlich geliefert bekommst.
Alte Hardware ist 100% passiv, und macht nur exakt das, was man ihr sagt (was bisweilen nicht exkt das ist, was man wollte... ;))
Es wäre schon viel gewonnen, wenn alle Generationen und alle Fachleute (Prozessorarchitekten, Programmierer, Avioniker) mal miteinander reden würden... Aber oft sprechen sie nicht mal mehr die selbe Sprache.
Es ist gar nicht mal so sehr die "Software", gerade ältere Prozessoren enthielten häufig viel mehr Microcode.

Der Knackpunkt sind die Modelle auf RTL (Register Transfer) Ebene in VHDL oder Verilog, wenn man da als Designer nicht durchblickt und Fehlermöglichkeiten in der Logik übersieht, hat man gleich verloren.
 

insofern

Erfahrenes Mitglied
29.08.2017
1.159
686
jwd
Klingt vielleicht etwas blöde jetzt, weil das Thema nach wie vor interessant ist.
Aber hatten wir das nicht schon vor 100+ Seiten? Genau in dieser Detailtiefe?


#500. Beitrag
 

thorfdbg

Erfahrenes Mitglied
14.10.2010
3.342
578
Moderne Prozessoren sind eben nicht mehr einfach nur Hardware, sie sind "smart" und treffen auch bestimmte Entscheidungen selbst. Sie enthalten auch viel Software, die auch immer wieder angepasst wird. Damit kannst du als Enduser nie 100% vorhersagen, was sie in bestimmten Situationen tun werden. (Der ein oder andere beim Prozessorhersteller wird zumindest glauben, das zu können) Und du kannst nie sicher sein, was du zum Zeitpunkt x tatsächlich geliefert bekommst.
Naja, die Architekturen sind zu groß und zu kompliziert, als dass man vollständig vorhersagen kann, wie sich der Prozessor in einer Situation genau verhält, und es sind auch zu viele Lagen von antikem Design um einen modernen Kern gewickelt, als dass man einen handelsüblichen x64-Kern vollständig verifizieren könnte. Das ist ja beileibe kein Interpreter mehr von x86-Assembler, sondern eher ein "online Compiler" von Cisc nach Risc-Code, den man da heute vorfindet.

Jetzt kann man sich mal den Spaß machen und das Errata-Sheet eines halbwegs modernen Prozessors durchlesen - das sind alles so Dinge, die mit kleiner, aber nicht verschwindender Wahrscheinlichkeit im Betrieb auftreten können. Dann darf man sich fragen, ob man das in einem System haben will, von dem Menschenleben abhängt.

Ich kann schon verstehen, warum man lieber auf gut verstandene, gut beherrschbare Logik gehen will, von der man im jeden Schritt genau weiß, was sie tut. x64 ist so das genau Gegenteil davon. Eventuell braucht es für solche kritischen Anwendungen einen Neustart vom Prozessordesign, etwas, was eher in Richtung "arm" geht. Einfach, schnell genug für die Aufgabe, und komplett durchschau- und vorhersagbar.

Alte Hardware ist 100% passiv, und macht nur exakt das, was man ihr sagt (was bisweilen nicht exkt das ist, was man wollte... ;))
Nun, zumindest ist sie klein genug, als dass man in jeder Situation vorhersagen kann, was sie tun sollte. Das ist bei den modernen Prozessoren nicht der Fall.

Es wäre schon viel gewonnen, wenn alle Generationen und alle Fachleute (Prozessorarchitekten, Programmierer, Avioniker) mal miteinander reden würden... Aber oft sprechen sie nicht mal mehr die selbe Sprache.
Ja, es gibt kaum noch Leute, die die Bits zählen können aber gleichzeitig damit auch ein Simulationsproblem lösen können. Die Spezies stirbt aus, und die Probleme werden zu umfangreich, als dass ein einzelner sie beherrschen könnte.
 
  • Like
Reaktionen: longhaulgiant

freddie.frobisher

Erfahrenes Mitglied
23.04.2016
6.859
7.009
Danke an alle, jetzt verstehe ich das Problem einigermaßen. Allerdings nicht, warum dieses Problem überhaupt existiert. Flugzeugrechner müssen keine 4K-Videos in Echtzeit rendern, sondern eine überschaubare Anzahl an Sensordaten und Befehlen in Flugbewegungen umwandeln. Dafür müsste doch selbst ein steinzeitlicher 286er, oder was auch immer die letzte zuverlässige nicht-smarte CPU war, absolut ausreichend sein. Wenn man sich auf einen Kandidaten geeinigt hat, kann man diesen ja in drei Jahren Stresstest bei 110% Beanspruchung f***en, um zu sehen ob die Ergebnisse immer den Erwartungen entsprechen. Die Ansprüche werden die nächsten Jahrzehnte wohl nur mäßig wachsen, also wäre es eine gute Investition in die Zukunft.
Wie wird dieses Problem eigentlich in der Medizintechnik gelöst? Die müssten ja eigentlich genau das gleiche Problem haben.
Unqualifizierte Einschätzung anhand der Schilderungen von +1: Gar nicht! Medizintechnik ist voller Bugs, man vertraut darauf dass irgendwas zur Warnung piepst und der Patient nicht sofort beim Bluescreen verstirbt.
 

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Flugzeugrechner müssen keine 4K-Videos in Echtzeit rendern, sondern eine überschaubare Anzahl an Sensordaten und Befehlen in Flugbewegungen umwandeln. Dafür müsste doch selbst ein steinzeitlicher 286er, oder was auch immer die letzte zuverlässige nicht-smarte CPU war, absolut ausreichend sein. Wenn man sich auf einen Kandidaten geeinigt hat, kann man diesen ja in drei Jahren Stresstest bei 110% Beanspruchung f***en, um zu sehen ob die Ergebnisse immer den Erwartungen entsprechen. Die Ansprüche werden die nächsten Jahrzehnte wohl nur mäßig wachsen, also wäre es eine gute Investition in die Zukunft.
Korrekt, und wahrscheinlich wäre es im Nachhinein schlauer gewesen, wenn die FAA leistungsfähigere Rechner auch für die MAX zugelassen hätte, denn Prozessoren wie Aurix sind erfunden und werden für sicherheitkritische Anwendungen in Fahrzeugen (und auch in der Medizintechnik, um die Frage zu beantworten) eingesetzt.

Siehe folgende Presseinfo von 2012:
https://www.infineon.com/cms/de/about-infineon/press/market-news/2012/INFATV201205-040.html
Derlei Microcontroller wurden früher genauso wie alte 80x86 z.B. in 1um / 5V Prozessen hergestellt, die gibt es heute nicht mehr, das rechnet sich einfach nicht und braucht es auch nicht. Hingegen dürfte z.B. 80nm (heutige Controller) noch beliebig fortgeführt werden und es muss ja auch nicht der x86 Befehlssatz sein.

Aber halt, da ist er wieder: Der Großvater und sein "Recht", die Gerentrokratie des Flugzeugbaus. Weil irgendwann ist die MAX dann halt keine 737 mehr, eigentlich schon heute nicht mehr, und dann wäre der ganze Kram neu zu zertifizieren.

Was dann weniger ein Problem ist, wenn man wie Airbus eine saubere Struktur im Unternehmen dafür hat, und auch geeignete Softwarewerkzeuge z.B. zur formalen Verifikation, wo die sich teilweise was selber geschrieben haben. Airbus hat z.B. beim A380 völlig unproblematisch auf moderne Power PC umgestellt.

Was aber schon ein Problem ist, wenn ein Waschmittelverkäufer alles diktiert und die einzig wahre technische Einheit Dollar für jede physikalische Größe in der Entwicklung einführt. Das Flugzeug ist also nicht 40m lang, sondern 80 Mio. $ :rolleyes:

Und dann kommt halt dabei raus, dass irgendein Uralt-Rechnerchen, die niemals für Spielchen wie MCAS ausgelegt war, das reingewürgt bekommt, mit den bekannten Folgen. Wer billig kauft, der kauft bekanntlich zweimal, aufgrund der Anforderungen der EASA werden sie höchstwahrscheinlich entweder ein paar Platinen tauschen dürfen und/oder ein Loch in die Außenhaut für einen weiteren Sensor einbringen dürfen.

Unqualifizierte Einschätzung anhand der Schilderungen von +1: Gar nicht! Medizintechnik ist voller Bugs, man vertraut darauf dass irgendwas zur Warnung piepst und der Patient nicht sofort beim Bluescreen verstirbt.
In der Tat ist die Situation eine andere, es gibt auch bei Medizintechnik die MPG Zertifizierung je nach Risikoklasse, allerdings gibt es vielfach auch einen sicheren Zustand. Ein Flieger kann hingegen nicht einfach rechts ranfliegen, parken und den Serviceonkel mitten in der Luft holen, außerdem geht es um extrem viele Menschenleben.

Bei einem Röntgengerät ist es hingegen ok, wenn das Gerät einfach nur streikt und einen Fehler anzeigt. Es darf keinesfalls eine Überdosis Strahlung liefern, da kann man aber zusätzliche Hardware-Massnahmen gegen einbauen. Das Gerät geht dann in den sicheren Zustand und bittet um Service. Selbst in kritischen Bereichen wie der Intensivmedizin reicht vielfach die Fehlermeldung, dass z.B. die Messung unzuverlässig ist, es bleibt immer noch relativ viel Zeit, um zu reagieren. Natürlich macht man sich damit keinen guten Namen ...
 

freddie.frobisher

Erfahrenes Mitglied
23.04.2016
6.859
7.009
Das ist ja beileibe kein Interpreter mehr von x86-Assembler, sondern eher ein "online Compiler" von Cisc nach Risc-Code, den man da heute vorfindet.
Airbus hat z.B. beim A380 völlig unproblematisch auf moderne Power PC umgestellt.
Power PC ist doch auch RISC, oder nicht? Verzeiht die dummen Fragen, ich möchte das Problem einfach nur begreifen. Meine letzten Programme habe ich als Jugendlicher im letzten Jahrtausend kompiliert, damals hat man noch "XOR AX,AX" anstatt von "MOV AX,0" geschrieben um sich ein paar Zyklen zu ersparen. So viel zu meinem Verständnis für aktuelle CPUs, das bewegt sich nahe null.
 

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Power PC ist doch auch RISC, oder nicht? Verzeiht die dummen Fragen, ich möchte das Problem einfach nur begreifen. Meine letzten Programme habe ich als Jugendlicher im letzten Jahrtausend kompiliert, damals hat man noch "XOR AX,AX" anstatt von "MOV AX,0" geschrieben um sich ein paar Zyklen zu ersparen. So viel zu meinem Verständnis für aktuelle CPUs, das bewegt sich nahe null.
Power PC ist auch RISC, aber RISC per se - also die Möglichkeit der Fließbandverarbeitung von Instruktionen - ist nicht unbedingt das Sicherheitsthema.

Es geht eher um hochgradig spekulative Ausführung und speziell bei PC-Prozessoren auch um fragwürdige Optimierungen (gell Fa. Intel).

Wenn gewünscht, kann ich ein paar Zeilen mehr dazu schreiben, auch wenn das hier ein Vielfliegerforum ist.
 

Volume

Erfahrenes Mitglied
01.06.2018
11.626
9.379
Wie wird dieses Problem eigentlich in der Medizintechnik gelöst? Die müssten ja eigentlich genau das gleiche Problem haben.
Vor ein Paar Jahren war das Ergenis einer Studie: jede 5. Diagnose ist falsch, jede 3. Röntgendiagnose ist falsch.
So gut, ist jeder Prozessor zu jeder beliebigen Zeit.

a) Ressourcenmangel, weil die Dinger für die Wünsche des Marketings ("Envelopeprotection wie beim A320, aber halb so groß und teuer") zu lahm sind

Die Prozessoren im A320 sind um ein vielfaches schneller, als notwendig. Die Airbus Envelope Protection basiert auf einem Dutzend simpler Regeln, das schafft jeder 80er Jahre Prozessor locker.
Das Problem mit dem 737 FCC ist auch mehr auf der input/output-Seite als beim Prozessor.

Komplizierter ist nicht besser. Der Pilot muss ja noch in der Lage sein, zu verstehen was sein Computer macht. Die Leute die ihn prüfen und zulassen sowieso. Traditionell versucht man eigentlich immer, alles so simpel (und damit vorhersagbar und nachprüfbar) zu machen wie möglich. Stichwort KISS Prinzip ;)
Ein Design ist nicht perfekt, wenn man nichts mehr hinzufügen kann. Ein Design ist perfekt, wenn man nichts mehr weglassen kann.
 

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Die Prozessoren im A320 sind um ein vielfaches schneller, als notwendig. Die Airbus Envelope Protection basiert auf einem Dutzend simpler Regeln, das schafft jeder 80er Jahre Prozessor locker.
Das Problem mit dem 737 FCC ist auch mehr auf der input/output-Seite als beim Prozessor.

Beides, das Ding ist mit der Synchronisation zwecks Sensor-Datenabgleich wohl schon ganz schön ins Stocken gekommen, drum ja die Probleme mit dem Autopilot mit der neuen MCAS-Software. Ob das jetzt an der DMA, an der SDP-CPU oder am Zilog-Co lag, weiß ich nicht. Jedenfalls ist die Hardware wohl am Limit und wenn sie den von der EASA geforderten dritten AoA-Sensor virtualisieren wollen, werden sie ein paar Platinen auswechseln dürfen.

Eine gewisse Reserve wie beim A320 schadet nicht, einfach weil man dann sauberer ohne irgendwelche Tricksereien programmieren kann, auch wenn die Ausführung dann ein paar Takte mehr braucht. Und solche Software ist dann auch übersichtlicher und enthält weniger versteckte Fehler. Einen Prozessor sollte man bei Echtzeitanforderungen nie ans Limit treiben, dann wird es unsicher.

 
  • Like
Reaktionen: feb und cockpitvisit

thorfdbg

Erfahrenes Mitglied
14.10.2010
3.342
578
Danke an alle, jetzt verstehe ich das Problem einigermaßen. Allerdings nicht, warum dieses Problem überhaupt existiert. Flugzeugrechner müssen keine 4K-Videos in Echtzeit rendern, sondern eine überschaubare Anzahl an Sensordaten und Befehlen in Flugbewegungen umwandeln. Dafür müsste doch selbst ein steinzeitlicher 286er, oder was auch immer die letzte zuverlässige nicht-smarte CPU war, absolut ausreichend sein.
Vermutlich wäre er es auch, vorausgesetzt, es fänden sich noch Hersteller dafür. Bestimmte steinalte Prozessoren sind als Microcontroller immer noch im Markt und somit verfügbar (6502, Z80, 8086, 68000 findet man noch "neu gebaut"), aber die Luft wird einfach dünn, wenn man etwas mehr Power benötigt und die Produkte über Jahrzehnte verfügbar sein müssen. Bei bestimmten Prozessoren gibt es nur noch NOS (New old stock), und insbesondere in China wird gefälscht, was das Zeug hält.

Wenn man sich auf einen Kandidaten geeinigt hat, kann man diesen ja in drei Jahren Stresstest bei 110% Beanspruchung f***en, um zu sehen ob die Ergebnisse immer den Erwartungen entsprechen. Die Ansprüche werden die nächsten Jahrzehnte wohl nur mäßig wachsen, also wäre es eine gute Investition in die Zukunft.
Ist eine Frage der Marktgröße... ob Dir jemand nochmal eine Maske für einen 286 auflegt und den neu produziert... Mit welcher Technik eigentlich? Die heutigen Fabs werden in den Strukturgrößen gar nicht mehr herstellen können. Für so einige gut etablierte Mirkoprozessoren lohnt das noch, aber es schränkt die Auswahl doch erheblich ein.

Unqualifizierte Einschätzung anhand der Schilderungen von +1: Gar nicht! Medizintechnik ist voller Bugs, man vertraut darauf dass irgendwas zur Warnung piepst und der Patient nicht sofort beim Bluescreen verstirbt.

Ich würde meinen, "das hängt davon ab". Bei einem CT oder MRT hängt nicht das Leben der Patienten von ab, die sind "fast unkritisch". Trotzdem legt man hier hohen Wert auf die Verlässlichkeit der verwendeten Algorithmen. Verlustbehaftete Bildkompression war bis vor einigen Jahren etwa tabu, weil im Prinzip dadurch Artefakte entstehen könnten, die der Radiologe misinterpretieren könnte. Andererseits wird der Einfluss der eigentlichen Bildgenerierung von den gleichen Leuten komplett unterschätzt, denn ein CT erzeugt ja die Bilder erst durch eine Radon-Transformation, die selbst eben auch schon eine Interpretation der physikalischen Signale darstellt - von der Schiene ist man heute schon runter.

Was lebenserhaltende Systeme angeht, kenne ich mich nicht aus, aber ich würde mir schon wünschen, dass man da etwas mehr Sorgfalt bei der Hardware legen würde als bei unkritischeren Systemen wie bei bildgebenden Verfahren.
 

thorfdbg

Erfahrenes Mitglied
14.10.2010
3.342
578
Power PC ist doch auch RISC, oder nicht? Verzeiht die dummen Fragen, ich möchte das Problem einfach nur begreifen. Meine letzten Programme habe ich als Jugendlicher im letzten Jahrtausend kompiliert, damals hat man noch "XOR AX,AX" anstatt von "MOV AX,0" geschrieben um sich ein paar Zyklen zu ersparen. So viel zu meinem Verständnis für aktuelle CPUs, das bewegt sich nahe null.

PPC ist auch risc, ja, aber das ist auch nicht das Problem - also RISC oder nicht - sondern wieviel da an anderen Systemen noch mitläuft. Eine moderne CPU hat einen Cache (Zugriffszeiten sind nicht vorhersagbar, sondern hängen vom Cache ab), Branch-Prediction (Ausführungszeiten hängen von vorherigen Programmen ab), der x86 hat noch solche Nettigkeiten wie "System management mode", bei dem vollkommen unsichtbar und unkontrollierbar vom Os Code ablaufen kann, Übersetzung von Instruktionen in Micro-Ops (kann Fehler enthalten), mehrere Ausführungspipelines (Hyperthreading), mehrere Registersätze, Register-Renaming... Mit anderen Worten: Reichlich Logik, bei der man sich in den Fuß schießen kann, wenn man mal irgendwo eine Kleinigkeit falsch gemacht hat. Je größer das System, desto schwieriger zu kontrollieren und zu verifizieren.

Von diesen CPU-errata ist der DIV-Bug des Pentium wohl bekannt geworden, aber das ist nur einer der vielen Bugs, die es in die Öffentlichkeit geschafft haben. Solche Bugs (oder Errata) gibt es bei jedem hinreichend komplexen Microprozessor, egal ob risc oder nicht, weil auch risc noch komplex genug ist.

Wenn Du jetzt einen steinalten Prozessor vom Typ 6502 nimmst, der über die letzten 40 Jahre wohlstudiert ist, so sind da wohl mittlerweile alle Bugs bekannt, und das Design ist so klein, dass man davon ausgehen kann, dass es keine bösen Überraschungen mehr geben wird. Allerdings ist er so schwach, dass man damit kaum noch etwas steuern kann, was viel komplexer als eine Waschmaschine oder ein Toaster ist. Eine 737MAX eher nicht.

Thema PPC: IMHO hat sich Airbus damit auch ein Ei gelegt, die Prozessorfamilie ist nämlich auch am Aussterben. Es wird noch genug Bedarf für ein paar Jahre geben und die CPUs wird es wohl noch zu kaufen geben, aber ein neues Design würde ich damit nicht mehr machen. "arm" wäre wie gesagt eher eine gute Wahl, zumal der ganze Prozess viel offener ist.
 

singmeister

Erfahrenes Mitglied
16.08.2011
2.408
110
BSL
"arm" wäre wie gesagt eher eine gute Wahl, zumal der ganze Prozess viel offener ist.

Und da sind wir wieder beim Ipad, da ist ein flotter arm Prozessor drin.

Also Boeing, kauft Ipads und Klett-Klebeband zur Installation im Cockpit und die Sache ist erledigt. Wohin schicke ich meine Rechnung?
 

Volume

Erfahrenes Mitglied
01.06.2018
11.626
9.379
Wenn Du jetzt einen steinalten Prozessor vom Typ 6502 nimmst, der über die letzten 40 Jahre wohlstudiert ist, so sind da wohl mittlerweile alle Bugs bekannt, und das Design ist so klein, dass man davon ausgehen kann, dass es keine bösen Überraschungen mehr geben wird. Allerdings ist er so schwach, dass man damit kaum noch etwas steuern kann, was viel komplexer als eine Waschmaschine oder ein Toaster ist. Eine 737MAX eher nicht.
Für ein MCAS Programm á la
"If AoA > 12 Then
For t = 1 to 30
StabTrim = NoseDown
Loop
EndIf
" reicht ein 6502 völlig.

Puh, es ist jetzt bald 40 Jahre her, dass ich fliessend 6502 gesprochen habe... Die ein oder anderen Addressen des Atari 800 habe ich heute noch im Kopf.

Eine gewisse Reserve wie beim A320 schadet nicht, einfach weil man dann sauberer ohne irgendwelche Tricksereien programmieren kann, auch wenn die Ausführung dann ein paar Takte mehr braucht.
Und solche Software ist dann auch übersichtlicher und enthält weniger versteckte Fehler.

Ich hatte die Aussage "Die Prozessoren im A320 sind um ein vielfaches schneller, als notwendig." nicht wertend gemeint.
Und ja, das ist gut so. Nicht zuletzt weil man dann noch Luft hat, etwas zu ändern falls es sich als notwendig erweisen sollte...
Bei der Max war das wohl nicht mehr möglich.

 
  • Like
Reaktionen: feb

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Ist eine Frage der Marktgröße... ob Dir jemand nochmal eine Maske für einen 286 auflegt und den neu produziert... Mit welcher Technik eigentlich? Die heutigen Fabs werden in den Strukturgrößen gar nicht mehr herstellen können. Für so einige gut etablierte Mirkoprozessoren lohnt das noch, aber es schränkt die Auswahl doch erheblich ein.
Man müsste eine neue Maske erstellen, das wäre mit den Synthesetools eigentlich nicht so schlimm, allerdings sollte man dazu die Logik kennen und daran wird es hapern, da alles noch Paperware. Zwar ist so ein 6502 eine nette Übung für einen FPGA VHDL-Kurs (erweiterte Hausaufgabe: "Entwerfen Sie VHDL Code, welcher diesen Prozessor emuliert"), aber womöglich verhält sich gerade bei undokumentierten Befehlen das Ding nicht so wie das Original.

Und dann sind wir bei den Kosten: MPW Run für 100 Stück irgendwas um die 15-20T€, Engineering Run für viele Tausend um die 100-150T€. Ist erstmal nicht so viel, aber das einzelne Exemplar wird dann schon recht teuer. Im Grunde ist so ein neuer Prozess für eine 8 Bit CPU Perlen vor die Säue, es macht dann mehr Sinn, einen der vielen Controller mit viel Peripherie an Bord zu nehmen, weil neu validieren müsste man es so oder so, siehe oben, und dann hat man gleich 16/32 Bit. Die Auswahl an guten Microcontrollern ist wirklich sehr groß.

Auch eine Option RISC V Design selber auf eine Maske bringen und das validieren und archivieren, dann herrscht dauerhaft Ruhe. Macht IMHO mehr Sinn als den alten Kram nachzubauen, das sollte man dem FPGA VHDL-Kurs überlassen ;)

Ich würde meinen, "das hängt davon ab". Bei einem CT oder MRT hängt nicht das Leben der Patienten von ab, die sind "fast unkritisch". Trotzdem legt man hier hohen Wert auf die Verlässlichkeit der verwendeten Algorithmen. Verlustbehaftete Bildkompression war bis vor einigen Jahren etwa tabu, weil im Prinzip dadurch Artefakte entstehen könnten, die der Radiologe misinterpretieren könnte. Andererseits wird der Einfluss der eigentlichen Bildgenerierung von den gleichen Leuten komplett unterschätzt, denn ein CT erzeugt ja die Bilder erst durch eine Radon-Transformation, die selbst eben auch schon eine Interpretation der physikalischen Signale darstellt - von der Schiene ist man heute schon runter.
Halt bitte keine Röntgen-Überdosis im CT und beim MRT die <80mT fürs schnelle Gradientenfeld einhalten (Herzrhytmus), dann ist schonmal das Leben an sich sicher. Das kann man mit purer Hardware sicherstellen.

Und gegen Fehlinterpretationen einfach verschiedene Darstellungen verschiedener Ebenen und Relaxationszeiten, wenn der Radiologe das dann ordentlich auswertet, sollte es auch keine Probleme geben, selbst wenn mal ein Pixel zu hell oder dunkel ist. Und wenn der Radiologe nix taugt, helfen auch 100 redundate Prozessoren nicht. Und häufig hilft auch der gute Radiologe nicht, weil der kann zwar diagnostizieren, aber keine Wunder vollbringen.

Was lebenserhaltende Systeme angeht, kenne ich mich nicht aus, aber ich würde mir schon wünschen, dass man da etwas mehr Sorgfalt bei der Hardware legen würde als bei unkritischeren Systemen wie bei bildgebenden Verfahren.
Wird gemacht, wobei "Alarm" im Krankenhausumfeld auch eine brauchbare Lösung ist, so schnell stirbt es sich nicht. Kritisch sind implantierbare System wie Herzschrittmacher mit eingebautem Defi, da ist es ungut, wenn der Mist baut oder ausfällt, zumal nicht unbedingt - im Gegensatz zum Krankenhaus - Fachkräfte sofort zur Stelle sind.
 

cockpitvisit

Erfahrenes Mitglied
04.12.2009
5.070
2.497
FRA
der x86 hat noch solche Nettigkeiten wie "System management mode", bei dem vollkommen unsichtbar und unkontrollierbar vom Os Code ablaufen kann, Übersetzung von Instruktionen in Micro-Ops (kann Fehler enthalten), mehrere Ausführungspipelines (Hyperthreading), mehrere Registersätze, Register-Renaming... Mit anderen Worten: Reichlich Logik, bei der man sich in den Fuß schießen kann

Ist es aber generell noch der richtige Weg, auf "100% zuverlässige" Einzelkomponenten zu setzen? Ein Prozessor wird auch ohne Schnickschnack nie 100% zuverlässig sein, weil z. B. immer kosmische Strahlung einschlagen kann. Die IT bewegt sich z. B. eher in die andere Richtung - nämlich, mehr Redundanz.

Ich sehe ehrlich gesagt auch nicht, warum man jetzt plötzlich leistungsstärkere, aber ähnlich zuverlässige CPUs braucht. Anfangs ging's ja darum, dass man mathematisch die Richtigkeit der Steuersoftware nachweist, und dazu zählt auch die Zuverlässigkeit (und Vorhersagbarkeit) der eingesetzten CPU. Nur: bei komplexerer Software geht das nicht mehr, weil man die Komplexität nicht mehr überschauen kann. Also braucht man sowieso eine andere Vorgehensweise bei der Qualitätssicherung.

Und falls doch: kann man nicht "einfach" eine höher getaktete Version der 68000 entwickeln, aber mit der absolut gleichen Prozessor-Logik? Keine Ahnung ob es geht - meine Erfahrung mit Microchips beschränkt sich auf ein VHDL-Praktikum bei der Uni vor vielen Jahren.
 

ollifast

Erfahrenes Mitglied
04.07.2018
842
0
Ist es aber generell noch der richtige Weg, auf "100% zuverlässige" Einzelkomponenten zu setzen? Ein Prozessor wird auch ohne Schnickschnack nie 100% zuverlässig sein, weil z. B. immer kosmische Strahlung einschlagen kann. Die IT bewegt sich z. B. eher in die andere Richtung - nämlich, mehr Redundanz.
Die Redundanz will man zusätzlich, bei Airbus aus gutem Grund unterschiedliche Prozessorhersteller, damit die nicht alle zusammen ausfallen.

Ich sehe es so: Man kann in der Tat vieles durch Redundanz und Diversität lösen. Trotzdem braucht es wohl einen gewissen Druck auf die Hersteller, planmäßig und systematisch zu entwickeln, speziell auf jene an der US-Westküste. So einem IBM-Prozessor täte ich schon vertrauen, man hört ja auch nicht, dass die Z-Series die Kontostände vermanscht.

Aber sowas wie Microschrott mit dem letzten Winmurks Update vom Juni 2020 (!) will man einfach nicht. Da haben sie selbst die Hochsicherheitsversion (LTSB/C) vermurkst, wenn man da als Peripheriegerät statt einem Drucker ein Ruderservo drangehabt hätte, würde selbst trotz Corona grad sehr viel Flugzeugschrott am Boden liegen. Von weiteren Problemen ganz zu schweigen.

Und wahrscheinlich würden die Leute in den abgestürzten MAX heute noch leben, wenn die Programmierer auch nur minimal ihr Hirn eingeschaltet hätten, selbst mit einem PC- oder Ipad-Prozessor als Basis.

In der Ecke der Welt haben sie offenbar echt ein "Talent" für sowas, so wie der deutsche Kapitalmarkt eben Gauner magisch anzieht ...

Die Erfahrung hat eben gezeigt, dass die MAX abgestürzt sind und daher braucht es wohl ganz einfach maximalen Druck, damit irgendwas halbwegs sicheres dabei rauskommt.
 

Volume

Erfahrenes Mitglied
01.06.2018
11.626
9.379
Allein der Satz "Als Ursache gilt eine fehlerhafte Software" erzeugt bei mir schon größere Unlust, diese Sendung überhaupt anzusehen...
Die Software hat zu 100% gemacht, wofür sie programmiert wurde. Das gesamte System war eine dämliche Idee um aerodynamische/flugmechanische Schwächen des Flugzeugs auszubügeln, und wurde dazu noch den Piloten komplett verschwiegen (nicht nur die Software, auch z.B. die Änderung der Cutout Schalter und die Geschwindigkeit, mit der die Standardprozedur abgearbeitet werden muss).

Aber die Bevölkerung muss ja darauf vorbereitet werden, nach einem Softwareupdate wieder mit vollstem Vertrauen in 737en einzusteigen...