Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do x86_64, i386, ia64 and other such jargons stand for?

Tags:

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?

like image 978
hardcoder Avatar asked Jan 29 '14 14:01

hardcoder


People also ask

What does x86_64 stand for?

x86-64 is a 64-bit processing technology developed by AMD that debuted with the Opteron and Athlon 64 processor. x86-64 is also known as x64 and AMD64. x86-64 enables 64-bit processing advantages such as increased memory space (up to 256TB) and processing more data per clock cycle.

What does i386 stand for?

The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistors and were the CPU of many workstations and high-end personal computers of the time.

What is IA64 and x64?

IA64 refers to the 64 bit Itanium architecture while x64 is the 64 bit extension to the x86 architecture. The IA64 is exclusive to Intel while x64 is used by all. IA64 was intended for high-end server applications while x64 was initially intended for desktops but were scaled up.

What is x86_64 and i686?

Technically, i686 is actually a 32-bit instruction set (part of the x86 family line), while x86_64 is a 64-bit instruction set (also referred to as amd64). From the sound of it, you have a 64-bit machine that has 32-bit libraries for backwards compatibility. That should be totally fine.


2 Answers

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.
like image 175
Hans Passant Avatar answered Oct 27 '22 01:10

Hans Passant


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).

like image 21
Waldemar Wosiński Avatar answered Oct 27 '22 00:10

Waldemar Wosiński