what is microcode?
Posted Nov 11, 2005 19:33 UTC (Fri) by giraffedata
In reply to: On binary drivers and stable interfaces
Parent article: On binary drivers and stable interfaces
Thanks for making a point that needed to be made.
We should clarify though, that people (IBM engineers are the only ones I've heard do it) do often use the term "microcode" to refer to any software built into a device. They're all wrong.
Also for the sake of precision, microcode isn't just for CPUs. Any machine can be driven by microcode -- it's really just a style of software; a class of instruction set. In days when CPUs were expensive, many machines were implemented with microcode. I don't know how much microcode is in use today, but I imagine communication processors (e.g. inside a network switch or TCP Offload Engine) get some use out of it go faster than any conventional CPU could go.
I found a pretty good definition at http://www.webopedia.com/TERM/M/microcode.html .
"firmware," unfortunately, isn't the right word either. That just means instructions that are somewhat permanent, as in a ROM chip. The permanence isn't really what we're talking about here; in fact, I think we're specifically talking about software that has to be loaded every time the device powers up. I'd just call it "the device control program."
to post comments)