Is this related to speculative execution? The high level description sounds like NOP works as sync points.
It’s not worth optimizing for situations that do not occur in practice.
The transistors used to detect register clearing using XOR foo,foo, on the other hand, are worth it, as lots of code has that instruction, and removing the data dependency (the instruction technically uses the contents of the foo register, but its result is independent of its value) can speed up code a lot.
weinzierl•1h ago
Later on the early PCs we had a Turbo Button, but since everyone had it in Turbo mode all the time it essentially was a way to slow down the machine.
EDIT: Found an image of what I remember as the "C64 Snail". It is called "BREMSE 64" (which is German for brake) in the image.
https://retroport.de/wp-content/uploads/2018/10/bremse64_rex...
k__•54m ago
I had the impression, the turbo button was created to slow down new PCs, so they could run old software that relied heavily on CPU speed.
weinzierl•40m ago
With the AT it usually slowed down to some arbitrary frequency and it was more like a gimmick.