Ok, I'd thought I'd given up, but I can't resist this one...
Tony Duell wrote:
<snip of mercy>
Well,
here's _one_ textbook definition of microcode:
"...programming that is ordinarily not program-addressable, but, unlike
hardwired
logic, is capable of being modified..."
By that definition, a PERQ is not microprogrammed. PERQ microcode can
modify itself (in fact the only way of writing to the control store in a
PERQ is by 3 special microinstructions). So the control store is
(micro)program addressible....
Tony, it said '...ordinarily not program-addressable', so there are exceptions.
Thing is, we all know the conventional usage of the
terms 'microcode',
'machine code', 'emulator' and so on. And I think we all agree that
_one_
way to describe the Pentium (or ARM) + firmware + memory interface is as
a Pentium (or ARM) running a machine code program that is a PDP11
emulator.
That does not mean that's the _only_ way to describe that system.
There is a good reason why technical terminology has conventional meanings and
usages. What advantage is there it screwing this up and sowing confusion?
<snip>
If we are going to have the claim that it's
'totally incorrect' to call
the emulator 'microcode' then we need to have absolutely unambiguous
definitions of terms like 'microcode', 'hardware', 'state
machine' and so
on. And while I know what all those terms mean, and can give definitions
and examples, I am not sure I can give definitons that don't have some
ambiguities in them somewhere. In fact I am not sure such definitions
even exist.
-tony
Great, lets embrace the ambiguities, and amplifiy them until no one understands
classic computer technology!