Bugs in AVR und ARM

Gast #398708
Lesenswert?

Es gibt ja z.B. bei der i386-Architektur einige Probleme durch Bugs in
den Przessoren, die vom Compiler umgangen werdne müssen.
Ist das bei AVR und ARM auch so, oder weisen diese durch die einfachere
Architektur keine größeren Fehler auf.

Werden eventuell gefundene Fehler durch einzelne Revisionen korrigiert,
oder werden Compiler-Workarounds eingesetzt?

Vielen Dank schonmal für Eure Hilfe!
Gast #398710
Lesenswert?

Ja ich habe sie angeguckt.
Ich meinte eher wie die Bugs in diesen Architekturen gehandhabt werden,
also sind in den Compilern Workarounds eingebaut oder werden die Chips
einfach in neuen Revisionen gefixt?
Gast #398711
Lesenswert?

Frag ich mich ja, auf welche Errata du dich beziehst. Gib mal einen Tip,
welchen Bug ein Compiler bei AVR berücksichtigen sollte? Wenn
beispielsweise ein EEPROM unterhalb 900KHz Takt nicht mehr recht
funktioniert oder der ADC in bestimmten Konstellationen Mist baut, was
soll der Compiler denn da machen?

Gleiche Frage für die von die erwähnten x86-er übrigens. Unter den
diversen Bugs beispielsweise der K8 Prozessoren ist kein einziger
dabei, an dem Compiler irgendwas drehen könnte. Systemdesign, BIOS,
Betriebssystem ja, aber nicht der Compiler.
Gast #398712
Lesenswert?

Ein berühmter Bug in x86 ist der fdiv-Bug im Pentium, durch den
Fließkomma-Divisionen zu fehlerhaften Ergebnissen führen konnten. Es
gibt noch eine ganze Reihe anderer Bugs in den Assembler-Instruktionen,
die durchaus vom Compiler umgangen werden können. Beim AVR habe ich
bisher noch nicht von sowas gehört.
Gast #398713
Lesenswert?

Also die meisten Bugs sind bei ARM und AVR wohl nicht Architektur / Core
spezifisch sondern eher in Peripherals oder noch schlechter in analogen
Bloecken zu finden.
Bei Architektur Bugs koennte evtl. der Compiler was machen aber die
gibts kaum noch, AVR und ARM7 sind soweit ich weiss beide seit ca. 10
Jahren auf dem Markt, irgendwann lass mal gut sein mit neuen Bugs.
Die Chips basierend auf diesen Architekturen sind zwischen 10 Tagen und
10 Jahren auf dem Markt ;-)
Also mit Compilern geht insgesamt wenig, mit studieren der Errata
Sheets allerdings ne ganze Menge.

Robert
Gast #398714
Lesenswert?

Mit dem FDIV-Bug bin ich durchaus vertraut. Allergings hat der nicht so
sehr bei den Compilerherstellern für Aktivität gesorgt, als vielmehr
bei Intel. Und hat ein für alle Mal mit der unseligen Tradition
gebrochen, diese Errata Sheets nur gegen Maulkorb NDA rauszurücken.

Generell gilt bei x86, dass alles was Anwendungsprogramme betrifft,
Sache des Prozessorherstellers und ggf. des Betriebssystems ist, nicht
des Compilers.

"Es gibt noch eine ganze Reihe anderer Bugs in den
Assembler-Instruktionen, die durchaus vom Compiler umgangen werden
können."

Beispiel aus neuerer Zeit? Den letzten dieser Art fand ich beim K6, bei
dem der Beschreibung nach die fehlerhafte Konstellation vermieden werden
kann. Indes schrieb AMD trotzdem "Workaround none", fand also diese
Vorstellung nicht so prickelnd.

Was AVR angeht, oder auch ARM: Sonderlich komplex sind die Cores diese
Teile ja nicht und der ARM7-Core ist auf dem Weg über technisch sehr
ähnliche ältere ARM-Cores im Wesentlichen bald 2 Jahrzehnte alt. Die
x86-Bugs, die öfter mal Programme ausser Tritt bringen konnten,  sind
auch eher in den komplexeren Teilen angesiedelt (ebd. Divider, Branch
Target Cache [K6, der war weitaus ärgerlicher als FDIV], Caches/TLBs,
SMP-Support, usw.).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren