Kernel Panic - Board on Fire   /     [Podcast] Kernel Panic - Board on Fire ~~> #008: Aus dem Takt - Das Doppelpack Clock-Glitches

Description

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.

Subtitle
Duration
Publishing date
2023-09-24 10:10
Link
https://www.pengutronix.de/de/blog/2023-09-24-kernel-panic-board-on-fire-008-aus-den-takt.html
Contributors
Enclosures
https://www.pengutronix.de/data/kernel_panic/008_pll_glitches.mp3
audio/mpeg

Shownotes

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.

Leonard und Ahmad

Ü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.