Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When the term 'x86' is used, does it always refer to 32-bit? And is it only about Intel processors?

share|improve this question
up vote 4 down vote accepted

x86 is shorthand for "The family of 80386 and upwards processors" where "x" stands for the number 2 and upwards. (There was an 80186 processor but that was only used for a special case, and the 80286 was not much more than a glorified 80186). All of them were based on the 8086, a very popular 8/16 bit processor of the 80's (8/16 means it was an 8 bit processor with some enhancements that made it almost like 16 bits).

The 80386 (known just as the "386") was 32 bit. The 80486 (known just as the "486") was 32 bit. The 80586 (the first generation of Pentium processors) was also 32 bit. Processors in the same family since the 586 have been either 32 bit or 64 bit.

x86 also refers to the instruction set these processors use. All the processors in this family use the same core instruction set, but with a few differences:

  1. The introduction of MMX, MMX2 and SSE instructions in Pentium II and upwards processors.
  2. 64-bit processors include extra 64-bit instructions. These processors are known as x86_64 processors.

AMD have their own notation for similar processors, but they still speak the x86 language at the core. amd64 provides similar functions to x86_64, and AMD's 3dNow! provides similar facilities as MMX and SSE from Intel.

Intel also made another architecture - the IA64, or iTanium. This uses a completely different instruction set, and is only used in very high-end machines - mainframes, industrial systems, etc.

So in short "x86" is taken to mean "Any processor which, at its core, uses the Intel 32-bit instruction set based on the original 8086 instruction set" - be that Intel, AMD, Via, or others.

share|improve this answer
    
Sorry to gravedig, but when you say 8/16 means it was an 8 bit processor with some enhancements that made it almost like 16 bits and that x86 is the above at its core. Does this mean 64 bit machines are basically like 8 bit processors? Or am I just mis-reading? And when you have two Windows program folders (normal and x86 one), does this mean the x86 runs everything inside of it as 32-bit rather than 64-bit? Thanks! I am just really intrigued by this stuff. :) – Austin Sep 14 '15 at 15:17
1  
@Austin All the instructions that exist in the 8086 also exist in the 286, 386, 486, pentium, etc, right the way up to the newest Core processors. So yes the are "like" the 8 bit CPUs in that respect. In the same way that a Citroen 2CV and a Jaguar XJ6 are the same because they both take the same kind of petrol. Besides that small core bit of similarity they are incredibly different. For instance the XJ6 has more cylinders than the 2CV... – Majenko Sep 14 '15 at 15:28
1  
When you have software written and compiled for a 32-bit operating system running on a 64-bit operating system (note: it's the operating system here, not the chip - you can run a 32-bit operating system on a 64-bit chip and it doesn't care that it's 64-bit), the 32-bit software has to be translated to run with the 64-bit operating system's libraries and internal functions. This compatibility layer is what Windows provides when it separates out the 32-bit and 64-bit compiled software. So it runs it as 64 bit but only after it has inserted an extra layer of translation to make it seem 64 bit. – Majenko Sep 14 '15 at 15:30
    
Thank you very much, so informative! :) – Austin Sep 14 '15 at 18:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .