[Simh] VAX Emulation Speed Ramblings...

Kevin Brunt k.brunt at ccs.bbk.ac.uk
Thu Aug 26 16:47:32 EDT 2004


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




More information about the Simh mailing list