Question

I frequently encounter these terms and am confused about them. Are they specific to the Processor, or the Operating System, or both?

I have Ubuntu 12.04 running on Intel i7 machine. So which one of them would apply for my case?

Était-ce utile?

La solution

They are processor instruction set names:

  • i386 is the name of the 32-bit instruction set first implemented by Intel in the 386 processor. It became dominant thanks to dirt-cheap PC hardware.
  • x86-64 is the name of the AMD extension added to i386 to make it capable of executing 64-bit code. This is the one you have. It is highly compatible with i386 and will execute a 32-bit program as fast as an i386 processor.
  • ia64 is the name of the instruction set used in Itanium processors. The other 64-bit architecture that nobody uses anymore.

Autres conseils

Those are cpu instruction sets. Apps installers are compiled to some subset of them. Here most difference is between 32bit(i386) and 64bits(x86_64 and ia64). You can not run app for 64bit on 32bit cpu but in reverse usually yes.

x86_64 (AMD64) cpu is most common instruction set as comes to 64bit cpu on desktop computer. It is from AMD which was few years earlier with their cpu which worked fine with x86(32-bits) instructions also.

ia64 (itanium) is from intel. Itanium works fast only with 64bits and is still used in industry. Intel now uses x86_64 instructions from AMD due to its popularity in industry.

Sometimes key "amd" at installer package name is present and it is what you need for 64bit intel cpu.

i386 is quite old (Pentium times, pentium III has i686). To determine 32bits architecture(on desktop computers) also is used term x86 (aliases: IA-32, x86-32). There are also other architectures 32/64bit like ARM from smartphones.

Other cpu instruction sets can make compression, video coding/decoding, virtualization, random generators, security etc. to be faster and better. Windows 8 require PAE, NX, SSE2 (some of those are not present in ARM cpus so you have other version of Windows 8RT for them).

In hardware, x86_64 is a type of processor that can run both 32bit and 64bit applications just fine where ia64 runs 32bit applications SLOWER than any other CPU, as it is meant for 64bit only applications.

Moving on to the software side. I'm not sure about Ubuntu, but generally a 64bit Windows OS will allow you to use more than 3.3GBs of memory as well as the advantage of using your 64bit hardware to address memory better and have bigger than 2GB processes running. Usually on a 32bit, once an application reaches the 2GB limit, you'll get a OutOfMemory error from your application.

For a full article, refer to: http://en.wikipedia.org/wiki/64-bit_computing

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top