Why would anyone run Vista x64 on a 32 bit proc?

Joined
Oct 24, 2006
Messages
8
I thought all of the x64 operating systems were for 64 bit processors. It seems to me that a 32 bit processor would take a noticeable performace hit if it was running 64 bit OS.
 
err... it wouldn't run
it would crash. The moment the kernel made a x86_64 OP call you would get the windows equiv of a kernel oops (probably a BSoD) that is assuming you could even install the OS as 64bit
 
I thought all of the x64 operating systems were for 64 bit processors. It seems to me that a 32 bit processor would take a noticeable performace hit if it was running 64 bit OS.

Where are you getting information that people install x64 Vista on x86? Modern processors since the debut of the Athlon64 all contain 64-bit instruction set as well as 32-bit. Modern processors are 32/64 hybrids.
 
There are some 64-bit-only processors, like Intel Itanium. However, they use a new 64-bit instruction set, and their inability to run 32-bit x86 code without costly translation is part of what has made them unpopular. AMD resolved this in the Athlon 64 by creating 64-bit extensions to a 32-bit x86 processor, avoiding the problem, and today virtually every x86 CPU sold has 64-bit extensions without dropping 32-bit compatibility.

A 64-bit OS would refuse to run on a 32-bit computer. Setup will not let you do it; I actually tried to install Ubuntu x64 on a VM that was emulating a 32-bit CPU, and setup immediately failed, telling me that the CPU did not support Long mode (64-bit).
 
Like the others have said, you're not going to have very much luck installing, let alone run, a 64 bit OS on a 32 bit machine/processor. Now, obviously plenty of people are running 32 bit operating systems on 64 bit hardware, but it's not going to work the other way around.

It'll be nice once Microsoft just dumps 32 bit all-together.
 
Like the others have said, you're not going to have very much luck installing, let alone run, a 64 bit OS on a 32 bit machine/processor. Now, obviously plenty of people are running 32 bit operating systems on 64 bit hardware, but it's not going to work the other way around.

It'll be nice once Microsoft just dumps 32 bit all-together.

AFAIK MS will drop 32bit OS for servers as early as 2009. For home use it will take a while I guess.
 
Maybe he thought Intel Core 2 cpus were 32bit only, because it lacks '64' in the title. I have met quite a few people who thought the same.
 
I did think the core 2 was a 32 bit chip with 64 bit support slipped in on the side.

Wow, you learn something new every day. I'm still kind of shocked though. I write software for a living. When we went from 8 to 16 to 32 bit procs the size of an 'int' (integer) moved along with it. The size of an 'int' went from 1 byte to 2 and then to 4 bytes. Now as I write code on my core 2 the size of an 'int' is still 4 bytes which lead me to beleive it was still a 32 bit proc. I just beleived it had support for 64 bit commands, kind of like the SSE commands. I don't read as much assembly code as I used to and didn't realize how much has changed with repect to the internal registers of the proc.

I guess my delima of the sizeof an 'int' of 4 is because my OS is the 32 bit version. :rolleyes:

I guess it's time for me to break down and install the 64 bit OS and get to playing. I never thought I was already running a 64 bit proc lol.

What a great site this is!

Thanks for clearing that up for me! :D
 
This isn't helping the stereotype that code junkies don't understand hardware! :D I only thought of that based on your name.
 
You're correct, you're seeing 32-bit integers because you're running on a 32-bit OS, so the CPU is in legacy mode.
 
The sizeof operator is not an accurate way of trying to determine the word size of your CPU, or the capability of your OS. The return value of sizeof is determined by your compiler, and doesn't necessarily match the word size of your CPU.

I'm fairly sure MSVC will return 4 as the sizeof(int) on a fully 64 bit platform. A 'long long' is a 64 bit integer and gets compiled into nice clean single register operations, as you'd expect. Other compilers may return 8 for int, depends upon their design goals.
 
I think the problem is probably less about home users and more about companies who use ancient custom-written 16-bit programs which are essential to the business:
http://blogs.msdn.com/oldnewthing/archive/2004/03/01/82103.aspx

I support users to this day that still run dBase and FoxPro apps. And these people LOVE them I couldn't imagine the nightmare of switching over to a point-and-click system. Not even the data migration or any of that just the user interface.

And for that matter I still see large business using AS/400 clients.... even last week I saw a working token ring network at a Sears store. The hub looked like it was from the 1980's.
 
Back
Top