Good writeup!<p>Don't mean to be nitpicky...but I noticed some minor issues in your article, which I will list them below...<p>* the instructions for CPU are in bare ISA binary code, and not assembly. Although there is generally a 1-1 mapping between assembly and binary code (assuming they are well-formed), but you cannot run assembly code directly on CPU. You have to assemble them into ISA binary code first...<p>* at this assembly level, their corresponding ISA binary instructions are only atomic with regards to the regular users...but for CPU, the binary code would be broken down into microcode and then they will be executed...