What are the differences? Does Intel 64 have 8 added 64 bit registers like AMD64?
Yes, the 8 extra GP registers and 8 extra SSE registers are available in both AMD and Intel. The same code works on both.
As a user, you shouldn't notice any difference. There are some minor differences at the kernel level, but user-mode there's no difference.
Depends on whether you mean the IA-64 architecture (Itanium CPUs), which is a completely different beast from the old x86 with only a microcode-level emulation of the old architecture, or the Intel EM-64T extensions that are a copy of AMD's x86-64 architecture, which is a 64-bit revision of x86.
All the buzzt!
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
CornedBee is of course right - Itanium/IA64 is completely and utterly different from x86-64, whether that is on the Intel or AMD platform. My previous answer assumes it's x86-64.
Some details on the differences betwen Intel and AMD implementations of x86-64:
1. AMD supports 3DNow!, Intel doesn't - no matter of what number of bits the processors support. This can be seen by the user if the user is trying to run code written for 3DNow! - but most recent code is using SSE anyways, which is available in both.
2. Intel implements CMPXCHG16B on EM64T, which is only available in the later models of AMD processor. Can be used in user-mode, but it's not exactly a common type of operation. Some operating systems use this instruction to do certain types of atomic operations.
3. AMD has a built-in memory controller, which also contains a GART (Grapichs Area Redirection Table), which if correctly programmed can be used to redirect DMA access to above 4GB when the hardware only supports 32-bit memory access.
IA64 is about as similar to x86-64 as Japanese is to English... ;-)
I mean Intel® 64 Architecture.
I feel Intel is not straightforward in its namings fo 64 bit. It never writes x64. I don't know but if this technology is invented by AMD, Intel should buy it. And if so, it should call it AMD64.
EM64T stands for Extended Memory and doesn't reflect added GPRs.
EM64T and AMD64 as well as x86-64 are all the same concept and functionality. Intel's and AMD's internal architectures are different, but the software will not notice that.
I think the name EM64T is used by Intel to avoid the conflict with IA-64, which they still say is their "64-bit processor", rather than a "extended 32-bit processor". They have different markets, but can do roughly the same things - x86 is better for some things (just-in-time compilation for example), whilst IA64 is better at other things (not many :-) ).