Tony Duell wrote:
Tobe honest, it would probably be easier to make a new
processor from
scratch if you wanted to do something like this to the hardware. Just as,
I susepct, if you wanted to design an emulator for a ficticious
processor, then you wouls wnt to start by designing a clean, orthogonal,
instruction set. But it would be possible to start from an existing
'machine' in either case.
Not in all cases. Working on a homebrew FPGA 12/24 bit cpu
I don't really have a base machine to work from. The current
machine I am working on will not have a emulator but be rather
debugged on-line. I do have a earlier similar CPU design but
it was not clean as I liked but since I have a emulator
written and mostly debugged hardware I can use this for software
testing and debuging for the new machine.
But no real PDP11 has those instructions. So if you
add them to a PDP11
emulator, then the result is no longer a PDP11 emulator, in that there is
a sequence of instructions that behaves differently on the PDP11 and the
emulator. Just as if you wire up a 32 bit ALU and registers to a PDP11
processor board, the resulting machine is no longer a true PDP11.
No it would be just a PDP-11 with strange I/O board. While I have not
looked at the PDP-11 instruction set in depth there does not seem to
be room for more instructions.
There have been all sorts of interefaces proposed and made over the years
to let one computer have access to the memory of another. People have
designed cards that appear as I/O ports to the 'master' system and act
as proper bus master on the other side (so they can request the bus from
another genuine processor on, say, a VME bus and then access the memory
and peripherals over there). Simpler ones just insist on being the only
master on the 'slave' side -- there have been many attempts to add ISA
slots to other machines in this way to allow the use of cheap ISA I/O
cards, for example.
But really other than video or network stuff what is there?
You are better off building your own card as ISA I/O sucks!
In the second case you'll find things like a
2N3904 transistor that's
open-circuit base-emitter, and which is therefore not a transistor at
all. Or a 10uF capacitor that behaves as though it has a 100 ohm resistor
in series with it, inside the can (this is what's mean by ESR --
effective series resistance). The components are not what they claim to
be any more. If you rebuilt this cirucit with known-good components then
it would behave as originally intended. I really can't think of a
software equivalent of this.
True, but data formats can change over time requiring software tweeks now and then.