64-bit Processor Architecture

Two chip manufacturers—Intel and AMD—control the 64-bit PC microprocessor market. Their 64-bit processors use one of two competing 64-bit architectures: IA-64 or X64. AMD64 and Intel’s EM64T platforms use X64 architecture. Intel’s Itanium chip introduces RISC-based IA-64 architecture.

X64 extends the standard IA-32 X86 architecture that is common in 32-bit Windows machines. This architecture maintains the basic register and instruction sets of IA-32. As a result, X64 processors execute the 32-bit instruction set natively, which helps performance. To adapt IA-32 for 64-bit computation, X64 adds new registers and instructions, and also changes some instruction names.

IA-64 is a native 64-bit platform and therefore must use emulation to process IA-32 instructions. This inability to run 32-bit code natively hampers the performance of legacy 32-bit Windows applications on IA-64 machines.

AutoCAD 64-bit supports only platforms that use the X64 architecture.

The following code demonstrates some differences between 32-bit and 64-bit instructions. This example shows a simple C++ function, followed by the assembly code generated for it by IA-32 and X64 compilers:

// Simple C++ function that adds and multiplies.
INT_PTR addAndMul(INT_PTR a, INT_PTR b, INT_PTR c)
{
return (a + b) * c;
} ; 32-bit compiler assembly listing ?addAndMul@@YAHHHH@Z PROC ; addAndMul
push ebp
mov ebp, esp
mov eax, DWORD PTR _a$[ebp]
add eax, DWORD PTR _b$[ebp]
imul eax, DWORD PTR _c$[ebp]
pop ebp
ret 0
?addAndMul@@YAHHHH@Z ENDP ; addAndMul ; 64-bit (X64) compiler assembly output ?addAndMul@@YA_J_J00@Z PROC ; addAndMul
mov QWORD PTR [rsp+24], r8
mov QWORD PTR [rsp+16], rdx
mov QWORD PTR [rsp+8], rcx
mov rax, QWORD PTR b$[rsp]
mov rcx, QWORD PTR a$[rsp]
add rcx, rax
mov rax, rcx
imul rax, QWORD PTR c$[rsp]
ret 0
?addAndMul@@YA_J_J00@Z ENDP ; addAndMul