michaelbr :
Pinhedd :
Most of what you read on the internet is wrong, including what you read about there being no true 64 bit OS.
Don't run Windows XP any longer, upgrade to Windows 7 or Windows 8. All modern devices support 64 bit modes of operation, so it's best to install a 64 bit operating system to take advantage of the new security features and associated performance improvements.
Sorry, I'm afraid I did not express myself clearly, what I meant is there's no true 64bit CPU for laptop, those current 64bit CPU are in reality 32bits simulating 64bits. That's what I read on the net, I'm not sure if it's correct or not.
That's also false.
What they may have been alluding to is that when x86 microprocessors are first powered on or reset they operate in
real mode in which they are nothing more than an extremely fast Intel 8086. At some point the boot chain either the firmware or the operating system's boot loader will place the microprocessor into either
protected mode or
long mode if either mode is supported by the microprocessor. These are more commonly known as 32 bit mode and 64 bit mode but the technical differences between them are vast enough that such a simple designation is inappropriate.
All of the above considers only the instruction set architecture, not the physical implementation of that architecture. A 3 month old i7-4770k is most obviously different than a 35 year old 8086 yet for the first few seconds after power on they behave the same as far as application code is concerned.
Physically speaking, all scalar operations on a CPU that supports long mode are done using execution units that are designed around 64 bit data words. An operation to add two 16 bit numbers in
real mode will still use the same physical hardware that would be used to add two 64 bit numbers in
long mode.
The same is true for storing numbers in the microprocessor's general purpose registers. The 8086 had 4 general purpose registers, each 16 bits wide, labelled AX, BX, CX, and DX. There are many more registers, but I won't discuss those.
The 80386 extended these to 32 bits and renamed them as EAX, EBX, ECX, and EDX. When the 32 bit 80386 is running 16 bit 8086 or 80286 code, the AX register simply occupies the lower 16 bits (lower half) of the EAX register and so on.
When the registers were again extended from 32 bits to 64 bits late into the Pentium 4 series of microprocessors the same pattern was followed, EAX became RAX, EBX became RBX and so on. The microprocessor can still run 16 bit code (only under an operating system running in Proected Mode though, no 16 bit code on 64 bit operating systems), with AX occupying the lowest quarter of the RAX register. When 32 bit code is run on an operating system running in long mode (this is what allows 32 bit programs to run without issue on 64 bit versions of Windows), EAX occupies the lower half of the RAX register and so on.
So, as you can see, modern microprocessors are wholly and completely 64 bit compliant as far as their general purpose execution goes. What the poster may have been confused about is how microprocessors handle
long operations, or operations on 64 bit integers, when operating in protected mode.
Normally a 64 bit number would fit in a single 64 bit register, but protected mode has access to only 32 bit registers. If we wished to add two 64 bit numbers labelled X and Y on a 64 bit system we can simply load A into RAX, B into RBX, add them, and store the result back in RAX.
However, a microprocessor running in
protected mode does not have access to RAX or RBX, it has access to only the subsets EAX and EBX. In this case, the 64 bit numbers must each be spread across two registers. X can be loaded into EAX and EBX (32 bits in each), and Y can be loaded into ECX and EDX (again, 32 bits in each). A full 64 bit summation can be performed on a 32 bit microprocessor (or a 64 bit microprocessor executing 32 bit code) using several partial summations. The result can then be written back into EAX and EBX as desired.
All of the above applies to the x86 family of microprocessors only.
Intel has another family of microprocessors known as the Itanium family. Itanium microprocessors are supercomputer oriented and are very, very different in design philosophy from their x86 brethren. They are natively 64 bit from the start.