17

I have never understood this.

This is what I know: You need a 64 bit OS if you want to handle more than 2 GB RAM. Else, a 32 bit OS is sufficient.

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

So I have to have an AMD processor to run amd64 and Intel to run i386?

If someone codes software (let's say Apache), does he have to code one for 32 bits and one for 64 bits? Does some software only exist for 32 bit and not 64 and vice versa?

1

3 Answers 3

31

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

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

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

1
  • 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, 2010 at 18:07
5

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.