Forum

Einloggen | Registrieren | RSS  

matzi682015(R)

E-Mail

Aachen,
25.07.2016,
20:40
 

µControlers und µProzessoren (Elektronik)

Hallo Gemeinde,

so ein moderner µControler oder µProzessor hat 10^9 oder 10^10 oder noch mehr Transistoren und andere Bauteilechen/Widerstands-/Kapazitätsstrukturen inne; macht es etwas aus, wenn da einer oder ein paar dutzend kaputt sind? Oder anders gefragt: Ist bei solchen hochkomplexen Bauelementen alles 100,00000000%ig in Ordnung? Und was ist, wenn nicht?

--
greets from aix-la-chapelle

Matthes :hungry:

bastelix(R)

25.07.2016,
21:21

@ matzi682015

µControlers und µProzessoren

» Hallo Gemeinde,
»
» so ein moderner µControler oder µProzessor hat 10^9 oder 10^10 oder noch
» mehr Transistoren und andere Bauteilechen/Widerstands-/Kapazitätsstrukturen
» inne; macht es etwas aus, wenn da einer oder ein paar dutzend kaputt sind?
» Oder anders gefragt: Ist bei solchen hochkomplexen Bauelementen alles
» 100,00000000%ig in Ordnung? Und was ist, wenn nicht?
Kommt darauf an was der Transistor schalten soll: https://de.wikibooks.org/wiki/Computerhardware:_Prozessor#Celeron_und_Duron

Wenn der Transistor zu einer speziellen Recheneinheit gehört (gibt ja Prozessoren die in Hardware gegossene Video-Codecs, Crypto-Algorithmen, Hardware-Controller, ... haben) und die nicht verwendet wird ist das eigentlich auch kein Problem. Vereinfacht gesagt, wenn die Gleitkomma-Einheit vom Prozessor kaputt ist und du nie mit Gleitkommazahlen rechnest wirst du den Defekt nie bemerken (wobei keine Gleitkomma-Berechnungen wohl nur bei µC vorkommen)

Wenn es ein Design-Fehler ist könnte man versuchen was per Software zu drehen: https://de.wikipedia.org/wiki/Pentium-FDIV-Bug

MK

26.07.2016,
11:32

@ matzi682015

µControlers und µProzessoren

» Hallo Gemeinde,
»
» so ein moderner µControler oder µProzessor hat 10^9 oder 10^10 oder noch
» mehr Transistoren und andere Bauteilechen/Widerstands-/Kapazitätsstrukturen
» inne; macht es etwas aus, wenn da einer oder ein paar dutzend kaputt sind?
» Oder anders gefragt: Ist bei solchen hochkomplexen Bauelementen alles
» 100,00000000%ig in Ordnung? Und was ist, wenn nicht?

Da machst Du ein Faß auf, über das dicke Bücher und Promotionen geschrieben wurden. Ich versuch’s mal ganz kurz: man muß zwischen verschiedenen Fehlerarten unterscheiden, solche die eindesigned wurden (weil der Entwickler Fehler gemacht hat), solche, die in der Produktion entstehen und solche, die erst im Feld entstehen. Bei komplexen Produkten ist keiner dieser Fehler auszuschließen.
Design-Fehler versucht man mit aufwendigen Verifikationen zu minimieren. Man überlegt sich, welche Fehler bei der Entwicklung passiert sein könnten und simuliert, ob die ausgedachte Schaltung sich korrekt verhält. Andernfalls muß sie korrigiert werden.
Fertigungsfehler versucht man durch mehrere Tests im Fertigungsprozeß zu finden und die fehlerhaften Bauteile werden dann aussortiert. Fehler im Feld werden durch Redundanzen erkannt und entweder behoben oder ihre Auswirkungen werden reduziert (Schalten in den fail-safe mode, beim Auto: „limp-home“).
Bei der Verifikation werden mögliche Fehlerszenarien übersehen, so daß sich Design-Fehler bis in das Produkt fortpflanzen. Im günstigsten Fall werden sie dann dokumentiert (sie werden eine Eigenschaft des Produkts, ein „Feature“) und der Benutzer muß das berücksichtigen. Schwerwiegendere Fehler werden in nachfolgenden Revisionen behoben.
Auch Fertigungstests können nie alle möglichen Fehler finden, obwohl komplexe Bausteine heutzutage schonmal zu einem Drittel nur aus Teststrukturen bestehen. Sie sind nur vorhanden, um das Bauteil beim Hersteller zu testen, sie haben keine weitere nützliche Funktionalität und sie werden im normalen Betrieb abgeschaltet. Dennoch ist man froh, wenn man 98% eines Bauteils damit testen kann. Mitunter gibt man sich mit weniger zufrieden. Das bedeutet, daß ein gewisser (sehr geringer) Prozentsatz fehlerhafter Bauteile ausgeliefert wird. Das sind übrigens weit weniger als 2%, wie man aus diesen Zahlen meinen könnte, denn es gibt weitere Tests, die die meisten verbleibenden Fehler finden können, aber eben nicht alle. Regelmäßig werden Rückläufer untersucht und gegebenenfalls die Testprogramme entsprechend erweitert (bei sogenannten Test-Escapes).
Fehler im Feld sind meistens sporadische Fehler, zumindest wenn der Hardware-Designer die Spezifikation des Bauteils eingehalten hat. Sie entstehen z.B. durch Alpha-Strahlung und sind beim Neustart des Systems verschwunden. Man kann sie nur mit Redundanzen entdecken. Bei Microcontrollern für sicherheitskritische Anwendungen haben die meisten Speicher mindestens ein Paritätsbit, in der Regel aber eine Fehlerkorrektur (ECC), die einen 1-Bit Fehler behebt und einen 2-Bit Fehler zumindest erkennt. Immer mehr Controller (zumindest für die Automobilindustrie) haben Lock-Step Cores. Dabei sind die CPU-Kerne doppelt ausgelegt und ihre Ergebnisse werden nach jedem Taktzyklus verglichen. Kommen sie auf unterschiedliche Ergebnisse, werden entsprechende Fehlerfunktionen ausgeführt.
Ach ja, der Kunde verlangt in der Regel 0 PPM Fehlerquote als Ziel. Mehr als 5 PPM (5 Ausfälle bei einer Million gelieferter Bauteile) gelten als nicht akzeptabel.

matzi682015(R)

E-Mail

Aachen,
26.07.2016,
15:32

@ MK

µControlers und µProzessoren

» » Hallo Gemeinde,
» »
» » so ein moderner µControler oder µProzessor hat 10^9 oder 10^10 oder noch
» » mehr Transistoren und andere
» Bauteilechen/Widerstands-/Kapazitätsstrukturen
» » inne; macht es etwas aus, wenn da einer oder ein paar dutzend kaputt
» sind?
» » Oder anders gefragt: Ist bei solchen hochkomplexen Bauelementen alles
» » 100,00000000%ig in Ordnung? Und was ist, wenn nicht?
»
» Da machst Du ein Faß auf, über das dicke Bücher und Promotionen geschrieben
» wurden. Ich versuch’s mal ganz kurz: man muß zwischen verschiedenen
» Fehlerarten unterscheiden, solche die eindesigned wurden (weil der
» Entwickler Fehler gemacht hat), solche, die in der Produktion entstehen und
» solche, die erst im Feld entstehen. Bei komplexen Produkten ist keiner
» dieser Fehler auszuschließen.
» Design-Fehler versucht man mit aufwendigen Verifikationen zu minimieren.
» Man überlegt sich, welche Fehler bei der Entwicklung passiert sein könnten
» und simuliert, ob die ausgedachte Schaltung sich korrekt verhält.
» Andernfalls muß sie korrigiert werden.
» Fertigungsfehler versucht man durch mehrere Tests im Fertigungsprozeß zu
» finden und die fehlerhaften Bauteile werden dann aussortiert. Fehler im
» Feld werden durch Redundanzen erkannt und entweder behoben oder ihre
» Auswirkungen werden reduziert (Schalten in den fail-safe mode, beim Auto:
» „limp-home“).
» Bei der Verifikation werden mögliche Fehlerszenarien übersehen, so daß sich
» Design-Fehler bis in das Produkt fortpflanzen. Im günstigsten Fall werden
» sie dann dokumentiert (sie werden eine Eigenschaft des Produkts, ein
» „Feature“) und der Benutzer muß das berücksichtigen. Schwerwiegendere
» Fehler werden in nachfolgenden Revisionen behoben.
» Auch Fertigungstests können nie alle möglichen Fehler finden, obwohl
» komplexe Bausteine heutzutage schonmal zu einem Drittel nur aus
» Teststrukturen bestehen. Sie sind nur vorhanden, um das Bauteil beim
» Hersteller zu testen, sie haben keine weitere nützliche Funktionalität und
» sie werden im normalen Betrieb abgeschaltet. Dennoch ist man froh, wenn man
» 98% eines Bauteils damit testen kann. Mitunter gibt man sich mit weniger
» zufrieden. Das bedeutet, daß ein gewisser (sehr geringer) Prozentsatz
» fehlerhafter Bauteile ausgeliefert wird. Das sind übrigens weit weniger als
» 2%, wie man aus diesen Zahlen meinen könnte, denn es gibt weitere Tests,
» die die meisten verbleibenden Fehler finden können, aber eben nicht alle.
» Regelmäßig werden Rückläufer untersucht und gegebenenfalls die
» Testprogramme entsprechend erweitert (bei sogenannten Test-Escapes).
» Fehler im Feld sind meistens sporadische Fehler, zumindest wenn der
» Hardware-Designer die Spezifikation des Bauteils eingehalten hat. Sie
» entstehen z.B. durch Alpha-Strahlung und sind beim Neustart des Systems
» verschwunden. Man kann sie nur mit Redundanzen entdecken. Bei
» Microcontrollern für sicherheitskritische Anwendungen haben die meisten
» Speicher mindestens ein Paritätsbit, in der Regel aber eine Fehlerkorrektur
» (ECC), die einen 1-Bit Fehler behebt und einen 2-Bit Fehler zumindest
» erkennt. Immer mehr Controller (zumindest für die Automobilindustrie) haben
» Lock-Step Cores. Dabei sind die CPU-Kerne doppelt ausgelegt und ihre
» Ergebnisse werden nach jedem Taktzyklus verglichen. Kommen sie auf
» unterschiedliche Ergebnisse, werden entsprechende Fehlerfunktionen
» ausgeführt.
» Ach ja, der Kunde verlangt in der Regel 0 PPM Fehlerquote als Ziel. Mehr
» als 5 PPM (5 Ausfälle bei einer Million gelieferter Bauteile) gelten als
» nicht akzeptabel.

HAMMER! Da wundert es mich nicht, dass meine Kiste hier fast jeden Tag eine neue Überraschung credenzt, von Anfang an.

--
greets from aix-la-chapelle

Matthes :hungry:

optional

26.07.2016,
17:24

@ matzi682015

µControlers und µProzessoren

» 100,00000000%ig in Ordnung? Und was ist, wenn nicht?

Erratum drucken.