Page 1 of 1

Choose instruction set

Posted: 19. Sep 2011, 10:33
by windj007
Hi!

I'm sorry for the newbie question but I didn't find the answer neither in forums nor in FAQs or manuals.

Question: can instruction set be choosed during the virtual machine creation process? (I didn't find that option...)
Is there more detailed option than choosing between 32bit or 64bit only? (for example x86, amd64, generic i686 or i386).

That question was born when I tried to launch a program built on Debian Squeeze amd64 notebook on Debian Squeeze installed on the VM.
That program did not launch because of instruction set mismatch (in my opinion).
Error message: cannot execute binary file.

Both systems were installed from the same distribution.
VM runs on the Windows 7 x64 on the machine with Intel i5-780.

Thank you!

Re: Choose instruction set

Posted: 19. Sep 2011, 14:08
by mpack
No, the instruction set cannot be selected. VirtualBox is not a CPU simulator, code runs natively on the host processor. CPU simulators exist (not in VBox) but are orders of magnitude slower in execution speed.

Read the FAQ material in the "Howtos and Tutorials" forum.

Questions about the correct operation of Linux guests should be pursued in the "Linux Guests" forum.

Re: Choose instruction set

Posted: 19. Sep 2011, 20:00
by windj007
Thank you!

Re: Choose instruction set

Posted: 20. Sep 2011, 21:22
by Sasquatch
windj007 wrote:Is there more detailed option than choosing between 32bit or 64bit only? (for example x86, amd64, generic i686 or i386).
Almost all examples you give are 32 bit, only difference is the optimisation used for the compilation of the software. E.g. i386 is generic 32 bit, i686 is a bit more optimised. AMD64 speaks for itself: 64 bit. See Wikipedia for more information about all the notations (i386, i586, i686).

Re: Choose instruction set

Posted: 21. Sep 2011, 15:02
by mpack
It's more than just optimization. Over the years both Intel and AMD have introduced various new flavours of instruction set extensions, i.e. MMX, SSE, SSE2, SSE3, SSE4, plus AMDs 3D now! and its subsequent revisions etc. These are new executable instructions, not simply performance tweaks to existing ones. The host PC either supports these features or it doesn't - VirtualBox can't simulate them.