Nico de Jong wrote:
From: "Tony Duell"
<ard(a)p850ug1.demon.co.uk>
>It is, of course, possible to make a processor where the microcode can be
>changed by the user. Many early graphics workstations (the PERQ, many of
>the Xerox machines, etc) had microcode that was loaded from disk when the
>machine booted. WCS (Writeable Control Store) options were available for
>a few models of PDP11 to allow the user to write microcode.
Actually, intel and AMD x86 chips all have a small WCS for patching bugs
I thought that came in with the Pentium (or maybe the 486) -- I would be
suprised if the 8086 had any WCS.
that are discovered after the chips are out in the
field. The BIOS
loads these patch words on boot up.
And the rotten sods won't tell you how to ahck the microcode yourself,
which ruins the fun ;-). At least with the PERQ you were _expected_ to
write your own miocrocode...
To change the machine, I understand that my VAX11/730 loads the CPU
microcode from the TU58 tape at power-on (certainly there's what looks to
be the WCS RAMs on one of the CPU boards, and I can't find any microcode
PROMs). Does anyone know how 'general purpose' the 11/730 is -- can it be
changed into some totally different processor by loading the right microcode?
What I means is this. On the PERQ, all the instruction decoding is done
in the mcirocode, so that you can, in principle, emulate just about any
processor by loading the right microcode (There is rumoured to have been
a PDP11-compatible microcode for the PERQ, but I've never seen it).
Conversely, on the PDP11/45 (another machine I've been inside), some of
the instruction decoding is done in hardware -- for example the 2 3-bit
fields in a PDP11 machine instrucion which select source and destination
registers are connected to the address lines of the RAM chips that hold
said registers with only a mimimal amount of logic between (and similarly
for the ALU control bits). What this means is that just about any
register-to-register ALU operation goes through the same
micro-instructions with the hardware selecting which registers are used,
and which operation is performed. So if I pulled the PROMs from my 11/45
and replaced them with RAM (OK< and did some other mods), I couldn't
really turn it into a different processor.
Now, which class does the 11/730 fall into? Is it possible to, say, write
microcde for the 11/730 to turn it into a PDP8, or a Nova, or something?
-tony