A thread is passed between components and back to the originator and only rarely enters the SystemC Kernel.
Each thread has a variable called delay of how far it has run ahead of kernel simulation time, and only yields when it needs an actual result from another thread or because its delay exceeds a locally-chosen value.
Each component increments the delay field in the TLM calls it processes, according to how long it would have delayed the client thread under approximate timing.
Each component may have a quantum keeper, but only one is illustrated at the CPU subsystem.
Every thread must encounter a quantum keeper at least once in its outermost loop.