Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Possible Duplicate:
32-bit vs. 64-bit systems

From my understanding, saying that a system is 64 bit means that it has a processor that recognizes and handles the x64 instruction set (instead of x86 instruction set).

Is this right?

Is x64 a superset of x86?

Does a system with an x64 processor require that a 64-bit Operating System be installed?

Can a 64-bit Operating System handle 32-bit software?

Please add anything else relevant to this discussion that helps explain where 64bit arises from (hardware level) and what implications it has (software level).

(I realize that there are SIMILAR questions on SuperUser, but none of them answer my questions at a level of clarity I am looking for)

share|improve this question

marked as duplicate by surfasb, Nifle, akira, Sathya Aug 5 '11 at 9:43

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 Answer 1

up vote 5 down vote accepted

From my understanding, saying that a system is 64 bit means that it has a processor that recognizes and handles the x64 instruction set (instead of x86 instruction set).

Is this right?

Yes, a 64-bit CPU simply understands the amd64 (now commonly x86-64) instruction set (the ia64 instruction set is also 64-bit, but is for the Itanium processor and is not x86 compatible without a translation layer).

Is x64 a superset of x86?

Yes, amd64 / x86-64 is an x86 extension in a similar way to how the x86 architecture extended from 16-bit to 32-bit address space.

Does a system with an x64 processor require that a 64-bit Operating System be installed?

No, a 64-bit amd64 / x86-64 processor can operate in x86-32 mode and does not require a 64-bit OS, though there will be some loss of efficiency.

Can a 64-bit Operating System handle 32-bit software?

Yes, both Linux and Windows can run 32-bit applications when the underlying OS is a 64-bit installation.

The core driver for 64-bit computing is a larger address space, though most processors don't yet implement the full 64-bit wide address bus externally (usually the external bus width is 48-bit, though internally it's 64-bit, the top 16 bits are masked to 0).

Intel initially wished to abandon the x86 architecture at the transition to 64-bit computing, HP had developed the Itanium processor which was later a collaborative effort between HP and Intel. Itanium never left the niche market of high-end computing.

AMD developed x86-64 (which is why it is often referred to as amd64) as this provides a good level of backward-compatibility with existing software. Whereas existing applications must be rebuilt for use on ia64 based Itanium processors, almost all existing applications can run without modification on an amd64 / x86-64 processor.

This is not without its pitfalls, as x86 architecture has many quirks which both hardware and software engineers would like to eliminate, however the massive install base of existing x86 users makes the transition to a completely new architecture a lot harder (though it can be done, as Apple demonstrated with their move from PPC to x86 several years ago).

share|improve this answer
    
That was really helpful! Thanks! –  Shailesh Tainwala Aug 5 '11 at 9:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.