I have never understood this.

This is what i know: 64 bits OS if you want to handle more than 2GB RAM. Else, 32 bits OS.

So on Ubuntu's homepage you can download either 64 bits or 32 bits. But the 64 bits is called amd64 and the 32 bits is called i386.

So i have to have a AMD processor to run amd64? And intel to run i386?

And if someone codes a software (lets say Apache). Does he have to code one 32 bits and one 64 bits? Do some softwares only exist for 32 and not 64 and vice versa?

Thanks in advance!


The 64-bit version is typically called 'amd64' because AMD developed the 64-bit instruction extensions. (AMD extended the x86 architecture to 64 bits while Intel was working on Itanium, but Intel later adopted those same instructions.)

The 32-bit version is called i386, because Intel originated the 32-bit instruction set used on these chips.

You can run the 64-bit version on virtually any 64-bit capable x86 compatible chip, and the 32-bit version on any modern x86-compatible chip.

Depending on how you write your software, it may or may not need to be rewritten for 64 bits. (Generally, compiled software will need changes, but not all interpreted software -- e.g., Python or Perl -- will require changes.)

  • Do you say the father of 32 bit instruction is Intel and for 64 bit AMD?
    – alhelal
    Dec 8 '17 at 9:14

I explained the origin of the names in my response to your similar question a few minutes ago.

  • oh i must have had a memory leak. didnt know i posted one almost exactly before. it has been 2 long days=)
    – ajsie
    Apr 7 '10 at 18:07

AMD came out with the 64-bit ISA used, so it's called AMD64. Intel has their own version, EM64T, which is mostly compatible. Likewise, Intel had the 32-bit ISA first, on their i80386, or i386 for short. AMD licensed it from them long ago.

Not the answer you're looking for? Browse other questions tagged or ask your own question.