[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