4 ms·
Well, it's not that simple, but I'm happy to argue that you can consider machine code the real interface to the hardware, not the undocumented microarchitectura
by tux3 5y ago
Well, it's not that simple, but I'm happy to argue that you can consider machine code the real interface to the hardware, not the undocumented microarchitectural uops.
The translation to macro and micro ops is done in silicon, hardcoded, with the exceptions of instructions that may need to read from MSROM, and the patching system that ucode updates have. That's a small percentage of instructions executed.
And because all of that is hidden from the software, it's not something you can interract with, and it changes with the CPU model. It's internal details, not the external interface (despite some people really writing the machine code specifically with some uop sequence in mind :) )
I'm not sure FPGAs are really the same concept, though. Even if they're reconfigurable, I still consider them hardware, not software code. After all you write FPGA code in HDL :)