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?
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
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
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.
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
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
x86 several years ago).