64 bit Drivers vs 32 bit Apps

box o rocks

Distinguished
Apr 9, 2012
750
10
18,985
I've always wondered why 64 bit Win 7/8/10 requires a 64 bit device driver, but has no problem with other 32 bit software. Can anyone give a layperson-understandable answer?
 
Solution
From the way I understand it, 32bit programs are run in an 'emulated' 32bit space. Meanwhile, accessing the hardware via drivers has to run directly in Windows proper, and thus would have to be in 64bit mode. While that might have been a little problematic when Win64 came out (as all previous drivers were compiled in 32bit mode), with as long as Win64 has been around now (XP64bit was the first), most drivers written should be done in dual 32/64bit mode with their installation programs and some conditional OS checks to see which one to install.

Oh, and just a FYI, it's not necessarily that Win7/8/10 is strictly 64bit, they have 32bit versions as well.

Rookie_MIB

Distinguished
From the way I understand it, 32bit programs are run in an 'emulated' 32bit space. Meanwhile, accessing the hardware via drivers has to run directly in Windows proper, and thus would have to be in 64bit mode. While that might have been a little problematic when Win64 came out (as all previous drivers were compiled in 32bit mode), with as long as Win64 has been around now (XP64bit was the first), most drivers written should be done in dual 32/64bit mode with their installation programs and some conditional OS checks to see which one to install.

Oh, and just a FYI, it's not necessarily that Win7/8/10 is strictly 64bit, they have 32bit versions as well.
 
Solution

viometrix

Distinguished
Jun 24, 2009
482
0
18,860
a 32 bit application is actually run in a type of emulator, the computer is not natively running it. 64 bit drivers allow for full use of the hardware for which it was written. 64 bit allows for more memory space, pcie bandwidth, and more complex cpu calculations that cannot be addressed in 32 bit.

it is a wonder in this day and age that windows still comes in 32 bit flavor, as it limits programs and games on the resources they can use or address at all. sone older games have 32 bit and 64 bit editions, and the 64 bit usually has better textures, bigger environments and better ai (and more enemies or npc's at any one given time).

hope this basic translation helps, and here is a more indepth explanation: http://windows.microsoft.com/en-us/windows/32-bit-and-64-bit-windows#1TC=windows-7
 

box o rocks

Distinguished
Apr 9, 2012
750
10
18,985


Thanks, both understandable explanations. I wasn't aware 32 pgms ran in an emulator of sorts.
But as to 32 versions of Win... that version would only be necessary for older 32 bit architecture processors, wouldn't it? Any PC processor in use today can surely run 64 bit OSs.
 

viometrix

Distinguished
Jun 24, 2009
482
0
18,860


yes
 

Rookie_MIB

Distinguished


In general, yes, you are correct. There is no real reason to run a 32bit OS, UNLESS you have some proprietary 32bit hardware which you can't get a 64bit driver for. Pretty much every processor out there these days is a 64bit CPU which started back in, what? 2003 or so? With the release of the AMD 64 - that was the first 'full' 64bit mainstream consumer CPU (yes, there were other 'mainframe' 64bit CPUs but I'm talking mainstream consumer).

The interesting thing is why there is a 32bit and a 64bit version to begin with along with memory restrictions (the alleged 4GB limit). Apparently it has to do with (shocking, I know) LICENSING of all things.
 

box o rocks

Distinguished
Apr 9, 2012
750
10
18,985


I thought for the most part, all games were still written in 32 bit code, no? All my Steam and Origin games are in the Programs (x86) folder. So are my few boxed retail games. I do remember however having the option of download one of my games in the past in 64 bit version. Can't remember which game that was right now.