What is CPU server: basic, JIT1, JIT2, JIT3?

AlphaVM supports several CPU implementation back-ends. They all implement the same Alpha CPU functionality, but in various ways.

  • Basic CPU is the simplest CPU implementation based on the interpretation of Alpha instructions fetched from the memory. This CPU serfver is the only CPU server available in AlphaVM-Basic.
  • JITx CPUs are based on the Just-In-Time compilation of Alpha code to increase the performance.
    • JIT1 server compiles to byte code. Its performance is almost double of the basic CPU.
    • JIT2 server compiles Alpha code to native x86-64 code. Its performance on most workloads is about a factor of 5 faster than the basic CPU.
    • JIT3 server compiles Alpha code to native x86-64 code. This CPU server applies sophisticated optimization. It’s performance is a factor of 10 faster than the basic CPU.

AphaVM-Pro is offered with JIT3 CPU. AlphaVM-Basic only supports the basic CPU. Other CPU servers are used merely for debugging.

For the performance figures of the JIT3 see the https://emuvm.com/support/benchmarks/.

The CPU server type does not determine the emulated CPU features or type like EV4, EV5, EV6 or EV7. The CPU server type just determines the performance. The CPU features are determined by the emulated system type of the system containing the CPU. Basically, both emulated EV4 or EV6 with JIT3 will run at (approximately) the same speed.