Bytes & Drafts

Working notes on code, hardware, and the people around them

Tags

event-driven

Posts filed under tags.

asynchronous hardware software

Software is when hardware changes, Part 2: When the clock disappears

· 22 min read

If you have ever chased a bug where a system froze every few hours, only to wake up the moment you attached a debugger, you already know that time is rarely as simple as a counter that increments once a millisecond. Timers fire slightly early or slightly late, interrupts sneak in between instructions, peripherals run from their own oscillators, and distributed nodes see each other through links with variable delay. From the outside everything looks nicely clocked. Inside, every part of the stack negotiates its own idea of now.