I feel bad that I really don't understand any of this. My mental model of what a CPU does stops at the assembly level, and intuitively feels like (and looks like) doing some convolution on an image - e.g. a local, nodal point moving through a bitmap, leaving behind the wake of some set of operations, a smear, with some of that smear propagating forward. But now I realize that all of these models are a middling-high level picture of a CPU's side effect, not it's operation - the manner in which it combines it's operands is, effectively, voodoo. But voodoo with which I am comfortable, for reasons involving NAND gates and Alan Turing, but I wonder: should I be so comfortable?
Very, very few people understand what a CPU truly does. We all have differing understandings, yours probably about like mine, if not better.
Once you feel you understand perfectly how it works, Keller comes along and says that you can run the same program 100 times, and it'll never execute the same way twice.
Anymore, I just treat it like a black box I'm glad to not have to bargain with.
I found NandGame[1] to really help illustrate just how a simple CPU operates. The bottom-up approach was great at demystifying the various sub-units and how they come together to form a CPU.
Of course, modern CPUs are incredibly more complex, but most appear to function like a really fast, simple CPU.
For many programmers it stops at the API, and often in a higher level language like JavaScript or Python. Understanding down to ASM is pretty far down compared to the average.