I was taught in university that microcode was what "high level" assembly language instructions were hardwired to on the lower level. Such that "add eax, ebx" becomes something like:
load eax into some internal ALU register load ebx into some internal ALU register tell the ALU to go into "add-mode" tell the ALU to do it's thing load the result from the ALU into the eax register increase the program counter
or something similar. I know this is probably a lot more complex on modern processors, but anyway...
Now, I know that it has been possible to update the microcode in Intel processors for a very long time. And this is where I get confused:
Does this mean that an Intel processor can be totally changed with microcode updates? How much of, say, a Core 2 Duo is hardwired, and how much of it can be updated with microcode updates? And if microcode is changable, is it still as fast as if it was hardwired?
I am confused :(
Please help!
/David