I've checked the Wiki site and there is no information on there about virtual machines.
I'm trying to make my virtual CPU platform, so I'm looking for some books to asist me.
Thanks in advance

I managed to write a simple 4 register virtual machine but I was hoping you more information on things like CPU, I/O devices, FPU?, Memory coding for the VM.Combuster wrote:An emulator is just an implementation of a well specified but severely intricate specification. You need little more than all the basic programming rules for a complex system to pull off this job.
I think really what I'm looking for is emulation, perhaps JIT as well. I'm intending to make my own virtual CPU architecture.Rew wrote:Virtual machines have essentially 3 options:
- Hardware virtualization
- Software virtualization
- Emulation
Both hardware and software virtualization run native code, thus they require the guest and host architecture to be compatible. With the tools that have been provided by amd and intel, x86 software virtualization doesn't really make sense anymore. That being said, I think what you are looking for is information on emulators.
I actually recently read a decent write-up on high level emulator design. The first answer in this thread: http://stackoverflow.com/questions/4486 ... ey-written has some good information.
Emulator optimization techniques vary greatly depending on your approach. Essentially, you are looking for more information on either interpreting or recompiling.
In my opinion, writing an effective interpreting emulator would start with understanding the pipeline of the guest OS and coming up with a design that will simulate that pipeline the best. You will probably end up with a block diagram similar to doing a google image search for intel or amd processors with named architectures.