Windows 8 on early Pentium 4?

Howell

Storage? I am Storage!
Joined
Feb 24, 2003
Messages
4,740
Location
Chattanooga, TN
Do you still get downgrade privileges with W8? If so I would argue that 32bit is a downgrade.

Nevertheless I would love to hear the technical argument for this seemingly stupid decision.
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,926
Location
USA
While I'm skeptical on the number of affected PC owners who will encounter this, I do agree with the general thought that has been conveyed in various responses which is that a point release update like this shouldn't be making hardware requirement changes. I'm interested in knowing the reason why this requirement was needed for 8.1. I haven't found anything yet.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
According to the license info as read in the companies Action Pack subscription, the one Windows 8 key is for both x86 and x64 editions. (You can only install 1 version of either, but if you have x64 installed, and can remove that and install the x86 image with the same key).

Win8 Pro downgrade rights allows to move to Windows Vista or Windows 7 (either x86 or x64).
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
Now onto the restrictions. (This is my own speculation, but having programmed in assembler for many years and work on system level code at work, I think I can provide some insight).

PREFETCHW - This allows the application to request blocks of RAM to be filled into the L1/L2/L3 caches, as it's essentially letting the CPU know what you want to work on in the future. (eg you're about to start decoding a video stream, so you tell the processor, please prefetch this 1MB of RAM into the cache as I'm about to start working on it). This helps mitigate cache misses on memory access. (and since access to cache is a *lot* faster than main memory, this can reduce CPU pipeline wait states for getting access to main memory).

LAHF/SAHF - This allows applications (notably the kernel) to store and reload the CPU flags register on a context switch. (a context switch is when the code goes between user mode and kernel mode, and/or when another process/thread is given CPU time. This will typically occur between 1,000 and 100,000 times per second depending the kernel architecture). This allows the kernel to use 1 CPU instruction to perform saving and restoring of the CPU flags on a switch instead of, IIRC it's about 10 instructions on the 386...

CMPXCHG16b - This is the atomic CoMPare and eXchange 16 Bytes CPU instruction that allows to easier handles of mutexes and semaphores in multiprocessing code. It's also typically used with lock-free and wait-free algorithms in multi-threaded code... (remember the kernel itself is one very complex mutli-threaded application). This allows for less code to be used with those algorithms.

IMO, none of these are critical for an OS? But it certainly would make the kernel faster in a number of respects, mainly on the use of lock-free algorithms/data structures and in the area of context switches...
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,926
Location
USA
Now onto the restrictions. (This is my own speculation, but having programmed in assembler for many years and work on system level code at work, I think I can provide some insight).

PREFETCHW - This allows the application to request blocks of RAM to be filled into the L1/L2/L3 caches, as it's essentially letting the CPU know what you want to work on in the future. (eg you're about to start decoding a video stream, so you tell the processor, please prefetch this 1MB of RAM into the cache as I'm about to start working on it). This helps mitigate cache misses on memory access. (and since access to cache is a *lot* faster than main memory, this can reduce CPU pipeline wait states for getting access to main memory).

LAHF/SAHF - This allows applications (notably the kernel) to store and reload the CPU flags register on a context switch. (a context switch is when the code goes between user mode and kernel mode, and/or when another process/thread is given CPU time. This will typically occur between 1,000 and 100,000 times per second depending the kernel architecture). This allows the kernel to use 1 CPU instruction to perform saving and restoring of the CPU flags on a switch instead of, IIRC it's about 10 instructions on the 386...

CMPXCHG16b - This is the atomic CoMPare and eXchange 16 Bytes CPU instruction that allows to easier handles of mutexes and semaphores in multiprocessing code. It's also typically used with lock-free and wait-free algorithms in multi-threaded code... (remember the kernel itself is one very complex mutli-threaded application). This allows for less code to be used with those algorithms.

IMO, none of these are critical for an OS? But it certainly would make the kernel faster in a number of respects, mainly on the use of lock-free algorithms/data structures and in the area of context switches...

I saw several references to the CMPXCHG16b as allowing for larger amounts of RAM access. Perhaps this is a trickle-down from a merged unified OS in the Server edition?

Windows only uses a total of 16 TB out of the 256 TB implemented by the processors because early AMD64 processors lacked a CMPXCHG16B instruction.
http://www.alex-ionescu.com/?p=50
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,275
Location
I am omnipresent
I thought downgrade privileges were only on the "Pro" version.

Properly speaking, they're only for SOME Pro/Enterprise/Ultimate licenses. It depends a lot on how the licenses were purchased and how the organization manages them. Individual OEM licensing can actually be slightly different on a per-OEM basis from the whitebox OEM licenses we're probably most familiar with. As I understand it, the only way to absolutely assure full downgrade-to-whatever rights is to have software assurance contract with Microsoft.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
Perhaps this is a trickle-down from a merged unified OS in the Server edition?
I thought about this on the way to work this morning (it's amazing how the clear the mind becomes going down the freeway on my bike at 110).

We now the actual kernel itself is pretty much the same between all editions of Windows. (as in respect to the IO Scheduler, the task/process/thread scheduler, the memory management system, etc). What if these new restrictions are a flow down from the requirements/feature of the kernel used in Windows Server? Doug, as you mentioned CMPXCHG16B allows Windows to use more than 16TB of RAM, and since it's expensive to maintain two separate bits of code (especially one as an OS kernel), why not merge the two and keep the features of the higher performing one, and reduce the restrictions all round.

The other use, as mentioned with CMPXCHG16B, is the use of lock-free algorithms/data structures. By using lock-free algorithms/data structure inside the kernel itself, means less locks are involved (locks are bad for performance in multi-threaded code, but are what make multi-threaded code possible/reliable), means you can scale out handling more cores for the better performance. In ye'olde days, the NT kernel (and this included the Linux and *BSD kernels as well) pretty much shat itself when you had more than 8 cores, all because of locks... The introduction of CMPXCHGx allowed the OS to scale better with the increase in the number of cores present. (This is what allowed Linux to scale to those 1024 core computers without going to sh*t). As it's now affordable to purchased desktop machines with 8+ cores, something has to give in order for performance to not degrade to the point of adding more cores means you won't see any performance increase since the kernel is blocked from doing work due to all the locks. (I think, Coug or Dave, you mentioned looking at Quad socket servers with 10 core CPUs, so that's 40 cores (or 80 cores with Hyperthreading), that the CPU has to manage).

I know some of you have mentioned better performance in Win8.1, maybe the use of these new requirements is the reason?
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
While I'm skeptical on the number of affected PC owners who will encounter this, I do agree with the general thought that has been conveyed in various responses which is that a point release update like this shouldn't be making hardware requirement changes.

To be honest, I think the number is more than most people expect... How many people how have entry-level boxes, or 2-3 yr old boxes that upgraded to Win8 to have the latest and greatest? I know Tannin is a fan some of the lower end stuff, as it offers incredible performance for the dollar, and to be honest he was correct. But, the critical point, there were trade-offs in doing so, and only with hindsight did that become visible. (The most I'm seeing online about complaints are people with the early Pentium/Celerons that were purchased with the i3/i5/i7 came out, typically 2-3yr old boxes, which is all respects are decent performing machines, but lack the required features).
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
It is beyond stupid to do this on a point release
I agree 100%.

But, money matters, and with a slow-down in desktop sales, maybe it was MS's way of scratching Intel's/AMDs back by getting more hardware sales in the pipeline...

Now the funny thing is, what are most people going to do:
1. Nothing, and whinge they are stuck on Windows 8.0.
2. Move to Linux/Mac
3. Buy a new tablet to replace the desktop.
4. Buy a new desktop that comes with Windows 8.1.

My money is on 1 and 3 happening in the majority of cases...

Now if this was a new restriction on release of say, Windows 9 (which also killed the 32bit edition), I would not have a problem with it...
 

P5-133XL

Xmas '97
Joined
Jan 15, 2002
Messages
3,173
Location
Salem, Or
Gimme a break, Microsoft isn't just playing with really old HW. With 8.x Microsoft isn't even allowing Core2Duo/Quad processors (and they are not that old) to access some capabilities like Hyper-V/Virtual PC that were readily avail with Windows 7 generation of OS.

Microsoft has an agenda that it is enforcing upon its user base that is not mandatory for efficient operation. They are going to do what they are going to do and user base be dammed.
 

Stereodude

Not really a
Joined
Jan 22, 2002
Messages
10,865
Location
Michigan
You can only install 1 version of either, but if you have x64 installed, and can remove that and install the x86 image with the same key.
As it in won't work, or you're technically violating the EULA?

Gimme a break, Microsoft isn't just playing with really old HW. With 8.x Microsoft isn't even allowing Core2Duo/Quad processors (and they are not that old) to access some capabilities like Hyper-V/Virtual PC that were readily avail with Windows 7 generation of OS.

Microsoft has an agenda that it is enforcing upon its user base that is not mandatory for efficient operation. They are going to do what they are going to do and user base be dammed.
Sounds just like Apple.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,275
Location
I am omnipresent
Gimme a break, Microsoft isn't just playing with really old HW. With 8.x Microsoft isn't even allowing Core2Duo/Quad processors (and they are not that old) to access some capabilities like Hyper-V/Virtual PC that were readily avail with Windows 7 generation of OS.

At least with regard to Hyper-V, the CPU requirements have been pretty much fixed since Server 2008. Virtual PC (and therefore XP Mode) didn't require those things but it also supported only a subset of all the features. No, a lot of older CPUs and MOST laptops are completely SOL on Hyper-V, but in exchange the machines that can run it get to work in a much more flexible environment. It's not an entirely unrealistic trade-off.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
As it in won't work, or you're technically violating the EULA?
Sorry, poor wording.

Typically single license for Windows 8 is valid for both x86 or x64 editions of the OS. You just choose which one to install. If you need to switch between 32bit and 64bit editions, just wipe the machine and install the other edition. IIRC/AFAIK the only requirement is that it's on the same machine.

Now, that will vary depending on the OEM license that came with the machine... some may not allow you to switch, eg it came preloaded with x64, so you're stuck with x64.

MS Licensing with Windows 8 is not simple at all, unfortunately.
 

sedrosken

Florida Man
Joined
Nov 20, 2013
Messages
1,814
Location
Eglin AFB Area
Website
sedrosken.xyz
Oh but it is.

All those poor sods that Microsoft tricked into upgrading to Windows 8 who CAN'T upgrade to 8.1 'coz Microsoft stealth-introduced a secret new hardware compatibility restriction. Their support cuts out in 2015.

And the sad thing is that to get their machine to be sane again they need to shell out cash to have someone re-install Windows 7 on there. Most simply don't have the know-how required to install it themselves. Heh, if they saw how installing Windows 95 and 98 was when you were using a system that couldn't boot off of a CD, they'd be quaking in their boots. And even that was simple compared to getting Linux running back when it was just a command line Unix clone.
 

P5-133XL

Xmas '97
Joined
Jan 15, 2002
Messages
3,173
Location
Salem, Or
At least with regard to Hyper-V, the CPU requirements have been pretty much fixed since Server 2008. Virtual PC (and therefore XP Mode) didn't require those things but it also supported only a subset of all the features. No, a lot of older CPUs and MOST laptops are completely SOL on Hyper-V, but in exchange the machines that can run it get to work in a much more flexible environment. It's not an entirely unrealistic trade-off.

I have WS2008 as well as W7 and Hyper-V/Virtual PC works fine with C2D/C2Q. It is the advent of W8 and Ws2012 that requires i3+. I repeat at least on my scale C2D/C2Q is not that old.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
Not necessarily, a number of C2D/C2Qs and most Xeons (based on the C2D/C2Q cores) have that required functionality... (VT-x being the main one for HyperV in 2012).

If your C2D/C2Q has VT-x, I would surprised if Win8.1 doesn't work on it. (As VT-x includes PREFETCHx, LAHF/SAHF, NX, Intel64 and CMPXCHG16b).

You know what's funny: the original Intel Atom 330 has PREFECTHW, LAHF/SAHF, NX and CMPXCHG16b support... and can run Win8.1.
 

Tannin

Storage? I am Storage!
Joined
Jan 15, 2002
Messages
4,448
Location
Huon Valley, Tasmania
Website
www.redhill.net.au
Doesn't the same key work for both [64-bit and 32-bit versions] ? I know it would require a clean reinstall, but it's not like there's absolutely no workaround.

As if. For starters, you can't access more than 3GB of RAM on 32-bit Windows. And why buy a new Windows version if not 'coz you will want to add more RA, either now or in the future?
 

Tannin

Storage? I am Storage!
Joined
Jan 15, 2002
Messages
4,448
Location
Huon Valley, Tasmania
Website
www.redhill.net.au
While I'm skeptical on the number of affected PC owners who will encounter this

Everyone who owns an Athlon 64 X2 just for starters. By far the best-selling AMD processor. Not to mention Operons. And I haven't even started listing all those Intel Core 2 parts ... we are not talking weird and obscure or oddball hardware, we are talking huge numbers of people, ordinary mainstream people with ordinary mainstream hardware. Screwed over by Microsoft. Big-time. And don't forget the millions and millions of people still running XP ('coz they bought hardware during the Vista Era when XP was the only viable choice) who are going to need to upgrade in April 2014 when MS drop XP security updates.
 

sedrosken

Florida Man
Joined
Nov 20, 2013
Messages
1,814
Location
Eglin AFB Area
Website
sedrosken.xyz
And what sucks is that these people don't even know that they're getting... Er, "found in the alps." They see that big fat error message that Windows 8.1 setup.bombs out with and think, "Well, looks like it's time to buy a new computer!" Nevermind the fact that when they were just using Windows 8 it ran perfectly.

Does this mean my Pentium Dual-Core won't run it? Not that I really care, seeing as once Win7 support dies off I'm switching to Linux full-time, with a small Windows 7 partition for my games.

Also that thing about the original Atom 330 being able to run it had me laughing so hard that I literally fell out of my chair. Don't ask me why I found it so funny, I just did.
 

sedrosken

Florida Man
Joined
Nov 20, 2013
Messages
1,814
Location
Eglin AFB Area
Website
sedrosken.xyz
I just tried 8 on my GX270 on a whim, and, oh my no.

Same error code, 0x0(some more zeros, I lost count... don't quite know how many make up a hex address, is it 8?)5D, though shouldn't the Socket 478 P4s all support NX? Is it just Dell being stupid with their BIOS?

I know for a fact-ish that the LGA775 revision does.
 

sedrosken

Florida Man
Joined
Nov 20, 2013
Messages
1,814
Location
Eglin AFB Area
Website
sedrosken.xyz
Jeez I really need to lurk moar before posting. I answered my own question last year.

Nope, Nawp, Nerp, no NX support. I am HOT.

Out of curiosity, would an Athlon XP 3k+ run 8? I'm guessing no, but considering AMD was way ahead of Intel in that time period...

Also, how low of a price do you think I could get a pretty much bare-bones i3 rig for? For right now I'm sure integrated graphics will tide me over. I'll live without an SSD. I'll even cope with having only 4 GB RAM.

This is mostly hypothetical, as I have no money currently, but I am thinking about getting a summer job.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
though shouldn't the Socket 478 P4s all support NX?
Quite the opposite, most socket 478 P4's won't support NX bit. (NX bit was introduced with the page extensions with the AMD64/Intel64/x64 instruction set. IIRC, the first Intel CPUs to have AMD64 support were on socket 775... (Prescott core based P4's).

PS. not all s775 P4's do either. Most of the Core 2 Duo/Quad's do, but original s775 P4's (which were 32bit only) do not. Only the P4's that could do 64bit would have it, and some of the later 32bit ones (again Prescott based cores).
 

sdbardwick

Storage is cool
Joined
Mar 12, 2004
Messages
609
Location
North San Diego County
Few (in fact, I don't recall any) 478 P4s support NX; Wilamette and Northwood [1st and 2nd core iterations] did not. Most of the 775s did.
 
Last edited:

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,357
Location
Gold Coast Hinterland, Australia
Also, how low of a price do you think I could get a pretty much bare-bones i3 rig for? For right now I'm sure integrated graphics will tide me over. I'll live without an SSD. I'll even cope with having only 4 GB RAM.
A lot of vendors sell bare-bone PCs, where you literally choose a base, CPU, RAM and HDD. I would be surprised to pay over US$300 for something decent. Merc, would have a better idea, on exact specs/prices though.
But even newegg has name-brand new boxes for as little as $480 (eg. HP, i3-3240T, 4GB RAM, 1TB HDD, etc). (Even cheaper if you go with Pentiums/Celeron's or AMD A4/A10 CPUs).
If you are really interested in this, start a new thread with your options, preferred/reasonable price bracket, and you'll get a few suggestions... The worst thing you can do is ask: what's the cheapest. It's better to ask: I have $400, what can I get for that... You'll get a more rounded answer.
 

LiamC

Storage Is My Life
Joined
Feb 7, 2002
Messages
2,016
Location
Canberra
Do you have to be bleeding edge or new?

I took an image of an XP system running an Athlon X2 5000+ (2.6Ghz)/780G, SB700/3 GB DDR2 667 @ 4-4-4-12 timings/250 GB Samsung SP2504C/Radeon 6670. Had lots a Printer/Scaner/Web cam start up guff. The actual physical physical box booted reasonable well. but not lightening fast.

I then placed that image on another SP2504C and attached it to a Q6600 @ 3.0GHz (4 GB 375 MHz FSB, 750 MHz memory @ 4-4-4-12 timings)/Radeon 3450/P35 chipset. And boy was this system significantly faster. Very snappy.

So I thought it might have been a dual core/quad core thing as the hard disk was the same. Dug out a Pentium G840 (2.8 GHz)/2 GB DDR 1333 and used the same disk. Almost as snappy as the Q6600, but not quite, and significantly faster than the Athlon X2. What I'm getting at is that you are prepared to go with second hand, a Core 2 Quad, or early revision i Series might be a far cheaper alternative than new, and you aren't going to give up much performance from the latest. In fact the performance gain from your existing rig will be greater than the little you will be giving up. Just a suggestion.
 
Top