LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   What makes a computer 64-bit or 32-bit ? (https://www.linuxquestions.org/questions/linux-general-1/what-makes-a-computer-64-bit-or-32-bit-684381/)

exceed1 11-18-2008 12:16 PM

What makes a computer 64-bit or 32-bit ?
 
Hi

I was wondering how one can tell if a computer is 64-bit or 32-bit.

Is it only the type of processor that determines if the computer can handle 64-bit applications or is it other parts of the computer as well ?

stabu 11-18-2008 01:00 PM

it really concerns 32-bit or 64-bit addressing. People leave the addressing word out. So, it's about how memory is addressed, and not anything else. Because of this it doesn't necessarily mean higher performance.

It's mostly a CPU-Chipset thing, as RAM itself doesn't care how it's memory is mapped out. I do not know if it affects your graphics card though.

in linux the command uname -a will give you abundant info on your CPU type. x86_64 is the AMD 64-bit archiecture which intel also uses. IA64 is a separate 64 bit arch that Intel developed for other processors.

Your kernel and most of the accompanying software has to be specially compiled in 64bit fashion, though many 64bit distros also contain 32 bit libraries and tools so you can still happily continue operating in 32bit on a 64bit machine.

Some key bits of software are not compiled in 64bit, which makes it a pain (sometimes) to use them. Adobe, for example, is a little slow on the 64bit front.

My own experience is that you can get 15% better performance on 64bit. But this does not by any means apply across the board. Often, this is not even noticeable, unless you have a global weather prediction application going on.

johnsfine 11-18-2008 01:30 PM

Quote:

Originally Posted by exceed1 (Post 3346506)
I was wondering how one can tell if a computer is 64-bit or 32-bit.

The important thing is the size of virtual addresses, which are 32-bit on a "32-bit computer". How big they are on a "64-bit computer" is a trickier question, but anyway bigger than 32-bit.

Quote:

Is it only the type of processor that determines if the computer can handle 64-bit applications
The way I would describe it is the type of OS kernel determines whether the computer can handle 64-bit applications. The type of processor determines whether the computer can handle a 64-bit OS kernel.

Quote:

or is it other parts of the computer as well ?
I've read the claim that the BIOS must also have some support specific to 64-bit kernels. I'm not convinced that is true. But as I've never seen a 64-bit capable CPU plugged into a motherboard designed for non 64-bit capable CPU's, I have no first hand knowledge (a motherboard intended for 64-bit would have a BIOS intended for 64-bit).

Anyway, ordinary computer parts (memory, disk, graphics adapters, network adapters, etc.) don't need to be different for 64-bit.

The drivers (software) for graphics etc. do need to be different for a 64-bit kernel. So your old graphic card's hardware has no incompatibility with 64-bit but the 64-bit driver (especially for Windows) might not exist.

Quote:

Originally Posted by stabu (Post 3346547)
in linux the command uname -a will give you abundant info on your CPU type.

No. That tells you your OS kernel type, not your CPU type. That does answer the original question regarding "64-bit applications". If you have a 64-bit kernel you can run 64-bit applications and for typical Linux distributions you can also run 32-bit applications. If you have a 32-bit kernel, you cannot run 64-bit applications.

If you have a 32-bit kernel, try
cat /proc/cpuinfo | grep flags
If the output includes lm then you have a cpu that could run a 64-bit kernel even if it happens to be running a 32-bit kernel now.

The system I just checked includes both lm and lahf_lm. I don't remember what lahf_lm means. The one that means 64-bit capable is just lm.

ErV 11-18-2008 04:55 PM

Quote:

Originally Posted by exceed1 (Post 3346506)
Is it only the type of processor that determines if the computer can handle 64-bit applications or is it other parts of the computer as well ?

AFAIK, CPU and operating system determines that (not 100% sure). Install 32bit OS on box with Amd64 and you'll have perfectly 32bit system.

Wim Sturkenboom 11-19-2008 01:57 AM

Some replies are talking about addressing. I wonder if that is (100%) correct.

What makes a 64 bit processor a 64 bit processor (in my opinion) and therefore a 64-bit computer a 64-bit computer, is it's capability to work with 64 bit integers (so all internal registers are 64 bit wide). The external interface (again, in my opinion) can still be a 32 bit (data)bus in which case it takes two 'cycles' to fetch the 64-bit number from memory.

An example (in the 16 bit days) was the difference between an 8086 and an 8088 processor.


All times are GMT -5. The time now is 01:11 AM.