3

I want to download ODI tool for some work. But on the link here, it asks platform description. I am unable to decide b/w Microsoft Windows (x86) and All Platforms (including x64).

I am using Windows 7, 32-bit. So that inclines me towards picking Microsoft Windows (x86) but I am not sure what (x86) means.

2
  • 3
    You want x86. x64 is for a 64bit OS. x86 is a frequently used instruction set architecture (set of instructions for a CPU) that is used on 32-bit systems. x64 is simply the 64-bit version of this.
    – mdx
    Sep 20, 2013 at 15:40
  • x86 is either a microprocessor family, startig with the Intel 8086 up to the Intel Xeon, or a microprocesser architecture (IA-32) starting with the Intel 80386. I think the latter is meant. See en.wikipedia.org/wiki/IA-32
    – ott--
    Sep 20, 2013 at 21:06

1 Answer 1

11

Technically x86 simply refers to a family of processors and the instruction set they all use. It doesn't actually say anything specific about data sizes.

x86 started out as a 16-bit instruction set for 16-bit processors (the 8086 and 8088 processors), then was extended to a 32-bit instruction set for 32-bit processors (80386 and 80486), and now has been extended to a 64-bit instruction set for 64-bit processors. It used to be written as 80x86 to reflect the changing value in the middle of the chip model numbers, but somewhere along the line the 80 in the front was dropped, leaving just x86.

Blame the Pentium and it's offspring for changing the way in which processors were named and marketed, although all newer processors using Intel's x86 instruction set are still referred to as x86, i386, or i686 compatible (which means they all use extensions of the original 8086 instruction set).

x64 is really the odd man out here. The first name for the 64-bit extension to the x86 set was called x86-64. It was later named to AMD64 (because AMD were the ones to come up with the 64-bit extension originally). Intel licensed the 64-bit instruction set and named their version EM64T. Both instruction sets and the processors that use them are all still considered x86.

Source(s): http://en.wikipedia.org/wiki/IA-32 -- IA-32, Intel's 32-bit architecture. http://en.wikipedia.org/wiki/X86-64 -- Read more about x86-64 here.

But trivially, x86 refers for 32bit softwares and x64 refers to 64 bit ones.

4
  • 1
    This is the second time today I wish I could upvote an answer more than once. (Even if it would cost rep to do so). +1
    – Hennes
    Sep 20, 2013 at 21:55
  • Thanks @Hennes. Yes it can be done.. You can set a bounty for any question after 2 days from which it has been posted, then you have to wait a day,(or so) before you can award it to any pleasing answer you saw in the discussion. Note that, Anyone(with rep above 75) can start a bounty. Refer to this link Sep 21, 2013 at 9:12
  • I think you have your history backwards: I think the AMD64 name came first, by AMD. Then Intel called their compatible version of it EM64T (in P4 Prescott, and then Core2). At that point, a generic name was needed, and x86-64 became more common. (IDK when the first usage x86-64 happened; it may be pretty early). Jul 6, 2017 at 17:09
  • In some contexts, "x86" includes x86-32 and x86-64. In other contexts (especially Microsoft), is specifically means 32-bit. Also, the shorthand "x64" is almost never used by Linux / gcc. (Linux uses "amd64" and "i386" to name the two architectures). I prefer to use "x86" as a generic term that doesn't imply 32 or 64-bit mode (e.g. "the most recent x86 CPUs have SIMD vectors up to 512 bits wide"). This usage is not common in the Windows world, but I think is fairly common when discussing CPU architecture. (e.g. x86 vs. ARM doesn't just mean x86-32 vs. 32-bit ARM excluding ARM64 or thumb.) Jul 6, 2017 at 17:18

You must log in to answer this question.

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