Link to home
Start Free TrialLog in
Avatar of srikanthrad
srikanthrad

asked on

i686 vs x86_64?

What is the difference between i686 vs x86_64?
ASKER CERTIFIED SOLUTION
Avatar of Tachion
Tachion
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You can find a more detailed explanation on Wikipedia: http://en.wikipedia.org/wiki/P6_(microarchitecture)

The details of the i686 architecture are explained in more detailed. Essentially, the i686 instruction set goes back to the architecture of the "sixth generation" processors, the Pentium Pro. (Yup, it is that old!) After that the instruction set was mostly extended with extensions, such as the SSE instructions and MMX instruction.

Intel tried to go to 64-bit with Itanium, which was not backward compatible with the i686 type processors. AMD instead went with x86_64, which was backward compatible. This is one battle that went to AMD, in the end Intel also took the x86_64 extension to 64 bit, since it was far more successful. Remember, everyone was still using 32-bit operating systems at that time. Please note this is a very (very!) simplified version of what happened.

So, when you want to program for any of the current lines of processors in 32-bit mode, you use i686. If you want 64-bit code, you use the x86_64.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of srikanthrad
srikanthrad

ASKER

Thank you.