Misuse of word "microcode" 104
Misuse of word "microcode" 105
What do you mean by "different microcode"? On the 360-30, you could select some options on the console and you would have...
Misuse of word "microcode" 107
I haven't looked at the patents ... what I know about the 68K's internals is mostly based...
That was probably me.
Microcode still makes sense as a way to achieve cross-cpu-model compatibility, but when somone asks for 'writable control store', they usually want it to make some piece of code run 'at the speed of light', right?
Microcode used to have at least these advantages compared to regular code:
a) One instruction could specify multiple independent operations, to be executed in parallel by the different parts of the cpu.
b) A short opcode could be expanded to a complex operation, saving instruction fetch bandwidth.
Misuse of word "microcode" 106
George Neuner Legend has it that Apple negotiated with Motorola about putting special instructions in microcode for use by Quickdraw. Motorola was reluctant, and about the time that...
c) It could take advantage of 'hidden state', i.e. stuff like extra mantissa bits internal to an fpu.
Today, (a) are mostly handled by having superscalar cpus, capable of at least keeping up with the memory interface's capability to deliver operands.
b) has been taken over by the L1 code cache: Critical code snippets will tend to stay here most of the time.
c) is still sometimes valid, a good example would be when using the fpu to do arbitrary precision math: If the cpu architecture exposes a small amount of extra state, this becomes much easier:
A good example would be the way some architectures have an FMAC operation that doesn't round the intermediate FMUL result before the final FADD: This makes it possible to retrieve the full double-wide multiplication result, and makes sw 'long double' support much easier as well.
Terje -- "almost all programming can be viewed as an exercise in caching"