[Simh] VAX Emulation Speed Ramblings...
Norman Lastovica
norman.lastovica at oracle.com
Thu Aug 26 16:52:35 EDT 2004
assuming that this REVIVER is (or is based on) charon-vax, SRI claims:
"Using a technology known as Accelerated CPU Emulation (ACE),
the emulator dynamically optimizes the emulation of the VAX
instructions, providing an improvement of 3 to 5 times over
emulators without ACE.
"The ACE technology in CHARON-VAX/Industrial Plus does not
require intermediate storage of translated code, but provides
its full capability instantly. As the optimization takes place
below the emulated hardware level, the emulator remains fully
VAX hardware compatible and is completely transparent to VAX
operating systems and applications, like the earlier CHARON-VAX
emulators. "
> -----Original Message-----
> From: simh-bounces at trailing-edge.com
> [mailto:simh-bounces at trailing-edge.com]On Behalf Of Kevin Brunt
> Sent: Thursday, August 26, 2004 2:48 PM
> To: Kevin Handy
> Cc: simh at trailing-edge.com
> Subject: Re: [Simh] VAX Emulation Speed Ramblings...
>
>
>
> On Thu, 26 Aug 2004 13:01:56 -0600 Kevin Handy <kth at srv.net> wrote:
>
> > Robert Lawrence wrote:
> >
> > > According to
> > > http://www.comwaretech.com/products/legacy_solutions/microvax.shtml,
> > > "The REVIVER-VAX performance scales linearly with the PC's CPU speed.
> > > For integer operations, REVIVER-VAX provides a performance of about
> > > one VAX Unit of Processing (VUP) per 100 MHz of CPU clock. Disk I/O is
> > > 5 to 20 times faster than on the original VAX."
> > >
> > > How are they doing this? Are they using some sort of JIT? I get
> > > about 5 VUPs from a 1.2ghz using simh. According to their
> > > calculations, 12 VUPs should be possible.
> > >
> > > What methods can be used to increase performance of simh/vax on any
> > > given pc?
> > >
> > You are only looking at a ~2x difference in speed. Some possibilities:
> >
> > 1. Hand tuned machine language code.
> >
> > Compilers can do a good job, but handcrafted machine code can
> > make a large improvement, and a 2x difference should be possible.
> >
> > However, you would then tie the emulator to run on only one
> > specific CPU.
> >
> > 2. Improve the optimizers.
> >
> > Make the compilers produce better/faster code.
> >
> > 3. Hand optimization.
> >
> > Look for hot-spots in the simh code, and speed them up.
> >
> > 4. Less accurate emulation.
> >
> > If it doesn't have to produce the correct answer, you can make it
> > as fast as you want.
> >
> > > Thanks,
>
> You've possibly missed the underlying point which is that it's not
> really fair comparing simh with a commercial product. Somebody is being
> *paid* to make 'REVIVER-VAX' fast, no doubt getting the performance at
> the expense of maintainability and portability - tuning a program up is
> always something that is done *after* you've finished writing it.
>
> The first place to look at in trying to speed up any emulator has to be
> the memory access code - it's accessed repeatedly during (almost) every
> instruction cycle. Every native instruction squeezed out here would
> have the greatest overall effect.
>
> Kevin
>
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
>
More information about the Simh
mailing list