Personal computing discussed
Moderators: renee, Flying Fox, morphine
NeRve wrote:I heard that AMD64 is far superior in it's 64-prowess than Intel which actually borrowed some of the CPU instructions from AMD.
Corrado wrote:NeRve wrote:I heard that AMD64 is far superior in it's 64-prowess than Intel which actually borrowed some of the CPU instructions from AMD.
That is 100% true. Intel's '64bit' is really just 64 bit memory adressing, AMD's 64 is a true 64 bit implementation of x86.
Corrado wrote:That is 100% true. Intel's '64bit' is really just 64 bit memory adressing, AMD's 64 is a true 64 bit implementation of x86.
Illissius wrote:I don't think so. The only difference iirc is the way they handle >4GB of memory -- AMD handles it seemlessly, while Intel does some remapping thing that makes it slow, as far as I've managed to gather.
just brew it! wrote:Illissius wrote:I don't think so. The only difference iirc is the way they handle >4GB of memory -- AMD handles it seemlessly, while Intel does some remapping thing that makes it slow, as far as I've managed to gather.
You are thinking of PAE (Physical Address Extension), which has been present on Intel and AMD CPUs for a while now. The CPU is physically capable of addressing more than 4GB of RAM, but the instruction set is not 64-bit aware. AWE (Address Windowing Extensions) is a kludgy API for remapping memory beyond 4GB into a "window" in the low 4GB under application control, so that 32-bit instructions can access it. This is analogous to the EMS scheme used back in the DOS days to address memory beyond 640K.
Illissius wrote:Thanks for the explanation. So do both AMD and Intel have AWE, or just Intel? I've read in multiple places something along the lines of AMD having more efficient 64-bit addressing -- is that because Intel uses AWE even in 64-bit mode, or what?
UberGerbil wrote:Intel will undoubtably improve the Opteron in the future (to extend the physical address space, among other things).
Yahoolian wrote:Yeah, I saw that article when it came out. It's close to useless (when it first came out it was completely useless because they were using the wrong graphs). Only a couple of the tests are 64bit and there's not enough information about the code that was emitted by the compiler. You'd really have to do synthetic tests on 64bit values, and even then it wouldn't necessarily be clear. Ultimately it will be the guys writing the compilers that are likely to notice any oddities about Intel's implementation.A64 3500+ vs EM64T Xeon -Anandtech
But it's unclear if any 64bit math operations were performed.
I think a better way of finding out if Intel's 64bit is doing 2x32bit for each 64bit register would be to compare P4 without 64bit with the equivelent EM64T processor.
danazar wrote:Yes, they do. As I said above, other than the physical addressing difference, Intel's implementation is identical to AMD's wrt registers, instruction set, and virtual address space. Note that in addition to the added GPRs there are also 8 additional SSE registers (which should help for matrix operations for 3D, etc).This may sound bizarre... but... Do the EM64T Xeons have double the registers in 64-bit mode like the Opterons do?
-- Section 1.2.2, page 1-2, Intel "64-Bit Extension Technology Software Developer’s Guide, Volume 1" (1.7MB PDF)1.2.2. 64-Bit Mode
64-bit mode is used by 64-bit applications running under a 64-bit operating system. It supports the following features:
• Architectural support for 64-bits of linear address; however IA-32 processors supporting 64-bit extension
technology may decide to implement less then 64-bits, see Section 1.3.3.3.and Section 1.5.2..
• Register extensions accessible through a set of new opcode prefixes (REX)
• Existing general purpose registers are widened to 64-bits (RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP)
• Eight new general purpose registers (R8–R15)
• Eight new 128-bit streaming SIMD extension (SSE) registers (XMM8–XMM15)
• A 64-bit instruction pointer (RIP)
• A New RIP-relative data addressing mode
• Can use flat address space with single code, data, and stack space
• Extended and new instructions
• Physical address support greater than 64 GB; however the actual physical address size of IA-32 processors
supporting 64-bit extension technology is implementation specific.
• New interrupt priority control mechanism
64-bit mode is enabled by the operating system on a code-segment basis. Its default address size is 64 bits; and its
default operand size is 32 bits. Note that these defaults can be overridden on an instruction-by-instruction basis using
the new REX opcode prefixes. The REX prefix allows a 64-bit operand to be specified when operating in 64-bit mode.
By using this mechanism, many existing instructions have been modified or redefined to allow usage of the larger
64-bit registers and 64-bit addresses.