87

My processor is an Intel Core 2 Duo P8600 (2.40GHz). As far as I know that's a 64-bit processor - I'm a bit confused as the architecture is called AMD 64, is this a generic name given to 64-bit architectures? I've heard of x64 but can't see a release labelled with this.

0

3 Answers 3

113

X64, amd64 and x86-64 are names for the same processor type. It's often called amd64 because AMD came up with it initially. All current general-public 64-bit desktops and servers have an amd64 processor.

There is a processor type called IA-64 or Itanium. It's only found in supercomputers and a few high-end servers.

A 64-bit processor can run a 32-bit system, so you have a choice of installing the amd64 version or the i386 version. Here are a few points of comparison:

  • A few years ago, some programs had bugs when compiled for 64-bit processors, but that's mostly a thing of the past.

  • You can run 32-bit programs on a 64-bit system; the converse is not true.

  • A 32-bit kernel can access more than 4GB of RAM, so having more than 4GB of RAM is not a compelling reason to run a 64-bit kernel. On the other hand, a 32-bit program can only access less about 3GB of memory.

  • Which one is faster depends on the application (number crunching can be more than twice as fast in 64-bit mode, while symbolic manipulation can be more than twice as slow).

If in doubt, on an amd64-capable processor, use an amd64 distribution.

12
  • 2
    A 32-bit kernel -> A 64-bit kernel @Gilles ! ;)
    – Jelly
    Jan 3, 2016 at 16:59
  • 1
    @Jelly I don't understand your comment. Were you reporting a typo? The only occurrence of “32-bit kernel” in my answer is correct. (Of course the sentence is also correct for a 64-bit kernel, but that isn't interesting.) Jan 4, 2016 at 10:39
  • 1
    @Jelly PAE kernels (which includes the default kernel since 12.04) can access up to 64GB. Jan 4, 2016 at 12:37
  • 3
    @Jelly No, they're called 32-bit, because virtual addresses are on 32 bits. Physical addresses (which are only used internally in some places in the kernel) use 64 bits. You can call it a “32-bit kernel with 64-bit physical addresses”, but by no means a “36-bit” or “64-bit kernel” — that would mean that pointers (i.e. virtual addresses) use 36 or 64 bits. The limit to 2^36 isn't due to the number of bits in pointers, but the number of bits spanned by MMU descriptors and on some buses; these have no reason to be powers of 2. Jan 4, 2016 at 16:08
  • 1
    @gihanchanuka No. That wouldn't even make sense. The point here is that a 32-bit kernel can access more than 4GB of RAM. Jan 12, 2019 at 21:55
23

You can use both the x86 and the amd64 images. And yes the initial generic name for the architecture was amd64 because it was developed, well, by AMD. Anyway, today is usually know as x86-64 or even x64.

0
18

Intel licensed the AMD64 instruction set for their non-Itanium 64 Bit CPUs. That means, yes, AMD64 is one of the generic names for the x86 64 bit architecture.

Of course your CPU can run 32 bit x86 kernels as well - but this is not recommended since you lose all the benefits of the x86-64 architecture (mainly bigger address space and more registers).

0

You must log in to answer this question.

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