Downgrade 64 to 32, double OS, new i7?

DarthTengil

Distinguished
Nov 26, 2009
170
0
18,690
Hi all again :hello:

Have a lot of different questions that extends over many forums but dont really know where my item belong, so I post this here and hope for good answers.

1: Going to uppgrade my computer to a Intel Core i7 920 (Bloomfield) and a ASUS x58 LGA 1366 motherboard with tripple channel DDR3 and 16x16x4x PCI-e. Dreaming of not be limited to 3.2 GB RAM. Am curious about Windows 7 64-bit thus it can handle more RAM than my present XP PRO 32-bit. I really whant to buy and play newer games like World Of Warcraft, those newly released Star Wars/Jedi games and games that support Hyper Threading. The big BUT is that I still whant to be able to play older games like Need For Speed Underground 2 (2004), Battlefield 1942 Anthology (2002-2004), Unreal Tournament 2003 and UT 2004. My first question is if I can play those on Windows 7 64-bit at all? I mean, how many PC games made from year 2002 to 2009 is NOT only for the 32-bit market? 5% or? Which 64-bit PC games is out there today that can be used on Win 7 64-bit? Is World Of Warcraft and NFS Shift (Need For Speed Shift) a 64 or 32 game? Can those be played on Win 7 64? If so, why and how? What existing PC games supports Hyper Threading by the way?

2: Is there a way to downgrade Win 7 to 32-bit so I can install and play all my old games but still have more than 3.2 GB RAM pluged in even if I cant use the extra RAMs in that mode? The function XP-Mode does not support artificial/virtual 3D, only 2D 32-bit games and programs can be used with that. Have read about a tool called Virtual Box from Sun Microsystems that does support virtual 3D, but feel somewhat insecure to use it. Does this product really work on Win 7 to create a synthetic/virtual 32-bit XP "OS" without risking multiple crashes and a instable system? Please tell me more you people that in fact does use Virtual Box on Win 7!

3: Even if I already can smell the answer I got to ask if it´s better to install two OS (Win 7 64 and XP 32) on the same computer and disc than use the Virtual Box? Is it possible to have say 6 or 12 GB RAM and install XP as one separate OS thus it only use 3.2 GB, will the computer even start/boot if I do this? Having two OS on the same computer must slow it down badly I guess? This is an item I dont know anything about at all so I´ll be happy if someone can explain in a way a non-expert can understand :eek:

4: This is not really a question but more a philosophical reasoning of whats get me both frustrated and dissociated. Cant really understand resellers and Microsoft who says both that I can use almost unlimited amount of RAMs AND in the same time can play the most part of the older games in Windows 7, when they in fact mean the 32-bit version but dont say it loud. It´s the 64-bit that both Microsoft and manufactures are flag-waving with, the one you can have up to 24 GB RAM and possibility to play super-games with. Of course everyone whant that, me too. But I am only super-interested of being able to have more RAM, not Windows 7 itself. If I cant play my games on Win 7 then whats the point of leaveing XP, when neither support more than 3.2 GB RAM? Please try to motivate me and share your own thoughts of this :heink:

5: I´m bide my time and waiting until Intel will release more i7 (Bloomfield) processors so the existing ones that now are extremely expensive in time (say after Q1 2010) will be cheaper, but am I might waiting in vain? Do anyone know if Intel is on it´s way to release and shiping newer Core i7 quad in the comming months? Or will they instead focus on i5 (Clarkdale) and CPUs with 6 or 8 cores instead of the i7 I whant to buy?

6: Maybe a stupid question but can XP 32 take advantage of Hyper Threading?

Hope you can give me useful answers and funny facts :)

/ DT
 
Solution
1. Windows 7 64 will run probably 99% of 32bit games perfectly. Only very old 16bit stuff won't work, and those you can run in an emulator or virtual machine.

2. If you want more than 4BG of RAM, have to install 64bit. Period. As in point 1, your 32bit software will work fine.

3. There is no reason to dual-boot unless you have something that absolutely will not work on Windows 7 x64.

4. Once again, Windows 7 x64 does work with pretty much all current 32bit software, AND has the additional RAM advantage. So the retailers are 100% correct in recommending it.

5. The are no new i7 quads on the way that I'm aware of. The i7-980 will be a 6-core part, and the new i5's and i3's that just released are mostly dual-cores.

6. Yes, it supported HT on the old P4's so there's no reason to think it won't work on the new CPU's.

I hope this helps.
 

DarthTengil

Distinguished
Nov 26, 2009
170
0
18,690
Thank you very much for a clean and easy answer, this put the whole thing in a new perspective :)

What I now whant to know is WHY it will work to play 32-bit games? For a couple of years ago I helpt my dad to install and uppgrade VISTA 64-bit. When we tried to install software and download drivers for ex the printer, Catalyst Control Center, Zonealarm, Download Accelerator Plus (DAP), the CD for his DVD-RW software and many other programs nothing did work because non of this was in 64-bit version. Though, we could install and play NFS Prostreet but not NFS Underground 2 though both is 32-bit and made for NTFS.

If you can play 32-bit games on Win 7 64 but not above named programs and office/clerical work related software for XP without activate XP-mode, why the heck is it so? Please explain! Is´nt Win 7 also NTFS based?
 



64 bit Windows 7 (and 64 bit XP, and 64 bit Vista, for that matter) all run 32 bit code just fine.

Regarding World of Warcraft: I am a fellow addict, and can assure you that it runs on 64 bit Windows 7 perfectly well. It installs and runs just like any other program.

Regarding Hyper Threading: That is a matter for the Operating System to support/coordinate/schedule. Applications are not concerned with that level of detailia - Apps don't "know" or "care" - They're merely requesting resource. The operating system schedules and provides, not the game/application.






32 bit Windows operating systems are limited to 3.25GB or less, irregardless of their version. By this I mean the 32 bit limit is the same for XP, as it is for Vista, as it is for Win7. If you want to use more resource than that, then you need to use 64 bit.

You may run Virtual Box on 64 bit Win 7, if you feel you must. As stated already, Win 7 x64 will run nearly any game for Windows written for XP or newer. So IMHO, you don't need it unless you have VERY old games with 16 bit code and/or installers.


On the processor side:

The CPU reads the actual binary code, which is presented in the form of instructions. These instructions are the "x86" and "x64" that you read/hear about. Now, most people understand that an x86 Processor (pre~2003, 2004) can't run x64 code. That's because the newer standard has commands, syntax, instructions, and data sets that do not exist in the older one. BUT: Understand that the newer x64 instruction set includes everything in the x86 - So any x64 processor can and will fully handle anything that's x86. Indeed, if your processor is a Sempron, P4, or newer, it *is* an x64 processor.

Therefore, as long as the (game) was compiled to the x86 (32bit) standard, the CPU can fully understand and run it because they are still 'speaking' the same language. And the reverse isn't true: Imaging speaking to a grade school child with words and phrases an MBA can use. The kid (older standard) won't understand it. The MBA can fully understand the child, though.



On the side of the OS: There is a similar mechanic, though here it's called an "API" (Application Programming Interface). In very broad terms, it works like the instructions sent to a CPU: These are the commands and formats programmers use to talk to the Operating System, which they use to access system resources like memory and information on the hard drive. You can think of it like the teller window at the bank: It's your way to pass an instruction inside in order to get the result you want. When you go to the teller (API), you have to give her a message (instruction) in the format that that she understands, right? The OS wants to see some Function (Withdrawl), the location required (Account #), and some data set (how much). If you give the teller (OS) that, then you'll get your twenty bucks.

As long as the program (game, whatever) follows the proper API's then it will run on the Operating System.

Therefore: As long as a given (32 bit) game is written to the proper Windows (Vista) API's, and compiled to run on an x86 processor, then it *will* run on 64 bit (Vista).


Generally speaking, when you hear about incompatibilities it's because the programmers who wrote a given application either did not adhere to the proper API spec when they wrote their code, or because they took short cuts (which may no longer work), or because the (new) Operating System's API set is different from the old one.






The short answer is No: You may put the physical resource there, but withouth the necessary address space, a 32 bit os is not capable of using it.


In a computer all bytes in the memory system need a unique name. This is called an address. For example, if you have 2 GB of main memory, then there are 2147483648 bytes of RAM in your machine, each of which require an address for the operating system to communicate to it. To give these all an address you need 31 bits to do it. Now, if/when you have 32 bits, you can name 4 GB (2 bytes to the 32nd power = 4GB).

This is why the total addressable space available in a 32 bit OS is 4GB – the OS runs out of addresses and cannot communicate/locate any more bytes of memory because of that.

You may think ”Hey, 4GB of address space… 4GB of RAM… What’s the problem” The problem is that memory isn’t the only thing needing an address. If you install a total of 4GB worth of RAM, the system will detect/use/display less than 4GB of total memory because of address space allocation for other critical functions, such as:

- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- Configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices

Different onboard devices and different add-on cards (devices) will result of different total memory size. e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.

This limitation applies to most chipsets & Windows XP/Vista 32-bit version operating systems. Again, this is a limitation of the Operating System not having enough address space to allocate to the system *and* the RAM. Not allocating address space to devices renders them inoperable. Not allocating addresses to RAM simply results in the unaddressed section not being used in an otherwise fully functional computer. Therefore the OS designers assign RAM last.


If you install a Windows operating system, and if more than 3GB memory is required for your system, then the below conditions must be met:

1. A memory controller which supports memory swap functionality is used. The latest chipsets like Intel 975X, 955X, Nvidia NF4 SLI Intel Edition, Nvidia NF4 SLI X16, AMD K8 and newer architectures can support the memory swap function.

2. Installation of Windows XP Pro X64 Ed. (64-bit), Windows Vista 64, or other OS which can provide more than 4GB worth of address space.









The only reason it doesn't make sense to you is because you have it stuck in your head that a 64 bit OS can not run 32 bit code. This is completely false. SIXTY FOUR BIT WINDOWS CAN, DOES, AND WILL RUN 32 BIT CODE.




4 cores are the sweet spot right now - and certainly for an i7 since hyperthreading gives the potential for 8 - and will be for some time until software programmers and tool makers write code that takes better advantage of more processor cores. An i7 now will last and serve well for it's normal lifespan.




Yes - but it's less intelligent about scheduling resource than newer versions of the operating system.
 
Solution




The short answer is because Drivers operate in a different 'space' within the OS than Applications do, and have to run natively.


For applications, there is a feature in all 64 bit versions of Windows called "WOW 64" (standing for "Windows on Windows"). Without getting too technical, it stands for what you may think: It is a complete set of 32 bit libraries and the intelligence to play 'Traffic Cop' on behalf of your apps/games. It provides a 32 bit environment for your applications to use. This requires no intervention on the part of the user, and is transparent to the application.
 

DarthTengil

Distinguished
Nov 26, 2009
170
0
18,690
I wanna thank you guys from the bottom of my heart!!! Now being freshly brainwashed and mentally corrected in my own CPU I really starting to understand the basic of computing and how the systems is built up :) As Kewix25 wrote the info and pedagogical ways to explain should be read by everyone who does´nt know it yet! This thread is now solved. See ya!