[Podcast] Kernel Panic - Board on Fire ~~> #008: Aus dem Takt - Das Doppelpack Clock-Glitches
In dieser Folge reden Ahmad und Leonard über Takte / Clocks in Prozessoren. Darüber warum es so viele gibt, wie sie erzeugt und im Chip verteilt werden und darüber, was dabei eigentlich so schief gehen kann.
Dabei berühren wir Themen wie PLLs (Phase Locked Loops), Clock Trees, Gates und Muxes, die Takte im System erzeugen und verteilen und Glitches, die beim Umschalten der Taktquellen passieren können.
Über den Kernel Panic - Board on Fire Podcast
In wahrscheinlich jedem Berufsfeld gibt es Schauergeschichten, die man sich abends am Lagerfeuer mit einer Taschenlampe am Kinn erzählen kann. So auch in der Welt der Software. In diesem Podcast geben wir in unregelmäßigen Abständen Entwicklerinnen und Entwicklern die Möglichkeit ihre Schauergeschichten zu erzählen. Es geht um monatelange Fehlersuchen, deren Ergebnis nur eine Hand voll Zeilen falscher Code sind, um subtil fehlerhafte Hardware, die zu sporadisch auftretenden Geistern im System führt, um bröckelnde Software, deren Quellcode schon vor Jahren verloren gegangen ist, und manchmal auch um ganz was anderes.
Shownotes
Wer nicht die ganze Folge hören möchte kann sich an den folgenden Zeitmarken orientieren:
- 00:00
- Einleitende warme Worte. Ahmad ist zwar nicht das erste Mal im Podcast, trotzdem stellen wir ihn, mich (Leonard), den Podcast und das Drumherum nochmal etwas vor. Nach vier Techweek-Folgen, in denen jeweils frei über ein Thema getratscht würde wollen wir jetzt wieder zurück zu den Software-Schauergeschichten. Deshalb reden wir in dieser Folge über zwei Themen, die mit der Erzeugung und Verteilung von Taktsignalen im System zusammenhängen und wie sie schief gehen kann.
- 05:45
- Was ist ein Takt in einem Prozessor und warum gibt es mittlerweile oftmals ganz viele verschiedene Takte? Wie werden diese verschiedenen Takte aus einer Eingangsfrequenz abgeleitet?
- 15:45
- Wie erzeugt eine PLL (Phase Locked Loop) aus einer niedrigen Eingangsfrequenz eine höhere Ausgangsfrequenz und wie verwendet man sie in der Praxis?
- 22:15
- Was sind Clock-Glitches, wie können sie durch Umkonfigurieren des Clock-Trees passieren und welche Probleme können sie hervorrufen?
- 27:15
- In der ersten Geschichte aus der Praxis wurden durch einen Designfehler im Chip bei eigentlich zulässigen Schaltvorgängen Clock-Glitches erzeugt, die eine Einheit im Prozessor quasi für einen Zyklus übertaktet haben. Um das zu verhindern müssen Workarounds implementiert werden.
- 35:45
- Zwischen den Geschichten reden wir etwas über die Probleme, die im Allgemeinen beim Umschalten von Clocks im laufenden System auftreten können und wie man um sie herum arbeitet.
- 38:30
- In der zweiten Geschichte geht es um eine andere Art Clock-Glitch, bei der manchmal Taktpulse auf eine etwas längere Zeit gestreckt werden, wodurch andere Chips im System aus dem Tritt geraten.
- 58:25
- Als kleines Bonus-Thema reden wir noch darüber wie die PLLs ganz bewusst ein "schlechtes" Taktsignal erzeugen können um Störabstrahlungen des Gesamtsystems zu verringern.
- 63:20
- Abschluss der Folge.
Further Readings
[Podcast] Kernel Panic - Board on Fire ~~> #009: Ho Ho Ho VirtIO - QEMU, KVM, Barebox und wie sie zusammengefunden haben
Wir haben lange gewartet, um endlich wieder eine Weihnachtssonderfolge herausbringen zu können. Für diese Folge hat uns Ahmad mal wieder ein spannendes Thema mitgebracht, oder viel mehr einen Themenkomplex. Er erzählt uns nämlich wie sich, als Barebox in die oe-core Layer des Yocto Projekts gebracht wurde, die Gelegenheit ergeben hat spannendeende Dinge über Emulation und Virtualisierung mit QEMU und KVM und Paravirtualisierung mit VirtIO zu lernen.
[Podcast] Kernel Panic - Board on Fire ~~> #007: GPU und nu? Der Weg zum offenen Grafiktreiber
In dieser Folge erzählt Lucas Stach uns wie er in die Entwicklung der offenen Grafiktreiber Nouveau und Etnaviv hineingeraten ist und was so ein Grafiktreiber eigentlich tut. Wir reden darüber warum Grafikkarten überhaupt Software ausführen und wie diese Software von der Anwendung bis in die Grafikkarte kommt.
[Podcast] Kernel Panic - Board on Fire ~~> #006: Der Browser im Fahrkartenautomaten - Webtechnologie trifft Embedded-GUIs
In dieser Folge erzählt Bastian Krause uns warum man öfter als man vielleicht denkt Webbrowser auf Embeddedgeräten vorfindet und was die verwendeten Browser von normalen Desktopbrowsern unterscheidet. Außerdem reden wir über Browserengines im Allgemeinen und auch ein bisschen über automatisiertes Testing von Webapplikationen.