Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Userland emulator

>> I've been playing with a VAX emulator I built.  [...]
> Virtualization on a VAX.  Very nice! :-)

Thank you!

I'm not sure how fair it is to call it virtualization, though.  As I
understand the usual use of the term, that implies that the host and
guest architectures are the same.  While this may be true - you could
run the emulator on a real VAX if you wanted to - it isn't normally so;
the simulated VAX would run _much_ slower than the real thing.  Running
on a dual-core 2.5GHz Core 2 Extreme, it took some three days five and
three-quarters hours to do a full build of the 1.4T world (I think it
used only one core pretty much the whole time).  This is faster than my
MicroVAX-II, but by no more than a factor of about 2; the uVII took
about a week to do that.  Of course, workload affects speed even more
than in most cases; I/O-bound tasks will run, proportionately, faster
than compute-bound tasks, because less slow instruction-by-instruction
emulation is involved.

It _could_ be useful on a real VAX if you want a more detailed
execution trace of something than a debugger can conveniently give you.
Turning on all the tracing flags gives ridiculous amounts of detail;
just starting sh, running "date", and typing EOF to exit, generates a
trace file of over six megabytes.  (I've put that that trace log up at
ftp.rodents-montreal.org:/mouse/misc/vax-emul-sample-trace for the
curious.  There are parts which are confusing because two processes'
traces are intermixed, but it's mostly straightforward.)

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse%rodents-montreal.org@localhost
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index