VOGONS


Win XP 32 or 64 bit?

Topic actions

Reply 20 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
H3nrik V! wrote on 2023-12-04, 11:40:

It does support more than 4 GiB of memory, I assume? That would probably have been an advantage for some people at the time?

It does. Also, since it's a 64-bit OS, it doesn't need to map the kernel and drivers into the 32-bit address space.
So where XP x86 can only allocate a 2 GB address space to a process (or 3 GB with a special boot option, which may cause compatibility issues), every process in XP x64 can get the full 4 GB when compiled with the /LARGEADDRESSAWARE option.

Last edited by Scali on 2023-12-05, 11:05. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 21 of 43, by VivienM

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote on 2023-12-04, 11:42:
Indeed. Technically XP x64 was not the same as XP x86. The internal version number of XP x64 was higher (5.2 instead of 5.1), si […]
Show full quote
DosFreak wrote on 2023-12-04, 11:10:

XP 64bit was released after windows 2003, it is based off of 2003 and was released so devs and enthusiasts would have a 64bit workstation OS.

Indeed. Technically XP x64 was not the same as XP x86.
The internal version number of XP x64 was higher (5.2 instead of 5.1), since it was based off a newer kernel and API.
This also means that XP x64 supports some APIs that XP x86 does not.

I read something a few weeks ago about a recent interview with Dave Cutler. It's worth noting - XP/2003 was the first time in NT history that the 'workstation' and 'server' versions did not ship at the same time. Dave was being very negative about the quality of the XP code, but seemed to be saying that by the time they shipped the server version (2003), most of the issues had been addressed.

And, obviously, it would make sense to start from the newer code base to port Windows to a new CPU architecture like AMD64.

There's a 64-bit Itanium version of XP, no? That is probably built on 5.1.2600?

As a random aside, I always found interesting that the Windows XP boxes/CDs/etc said "Windows XP. Version 2002". I suspect that they expected shipping a newer OS, e.g. 5.2, under the overall XP name (maybe they thought 5.2 would be shipped as "Windows XP. Version 2004"), but they ended up just shipping service packs (including the Big Huge SP2 service pack) based on the 5.1 code base instead.

Reply 22 of 43, by dormcat

User metadata
Rank Oldbie
Rank
Oldbie
VivienM wrote on 2023-12-03, 19:50:

By late Vista era, I think large OEMs (Dell/HP/Acer/etc) had started preinstalling 64-bit on consumer machines.

AFAIK Acer and MSI kept installing 32-bit Windows 7 in their consumer machines as of 2010. Specifically, Acer Aspire X1800 (Pentium E5400), emachines ET1830 (Pentium E5700), MSI CX500 (Pentium T4500) and Wind Book DE200 (Atom 330); all CPU were capable of 64-bit OS.

VivienM wrote on 2023-12-03, 19:50:

There's a 64-bit Itanium version of XP, no?

That one came out before the "Professional x64 Edition," was a big flop, and got discontinued in just three years. After all most Itanium users were big enterprises running Unix, while consumers simply didn't want an expensive system that couldn't run most consumer software.

Reply 23 of 43, by VivienM

User metadata
Rank Oldbie
Rank
Oldbie
dormcat wrote on 2023-12-05, 00:48:
VivienM wrote on 2023-12-03, 19:50:

By late Vista era, I think large OEMs (Dell/HP/Acer/etc) had started preinstalling 64-bit on consumer machines.

AFAIK Acer and MSI kept installing 32-bit Windows 7 in their consumer machines as of 2010. Specifically, Acer Aspire X1800 (Pentium E5400), emachines ET1830 (Pentium E5700), MSI CX500 (Pentium T4500) and Wind Book DE200 (Atom 330); all CPU were capable of 64-bit OS.

My mom had a "Gateway"-branded Acer AIO in late 2009ish, maybe spring 2010, and that came with a C2Q Q8200S, 8GB of RAM, and 64-bit Windows 7 Home Premium. Maybe only the machines with more than 3 gigs of RAM came with 64-bit in 2010? She also had an Acer 1830T (which I actually still have to this day and would love to find a new loving home for...) in maybe 2011 and I'm pretty sure the preload on that was 64-bit.

I also wonder if that could have been a North America vs other markets thing.

Reply 24 of 43, by dormcat

User metadata
Rank Oldbie
Rank
Oldbie
VivienM wrote on 2023-12-05, 00:58:

Maybe only the machines with more than 3 gigs of RAM came with 64-bit in 2010?

That must be the cause: all four machines aforementioned had only 2 GB of RAM preinstalled.

Reply 25 of 43, by Horun

User metadata
Rank l33t++
Rank
l33t++

XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and OS (XP x86 does) supports Physical Address Extensions then typically it leave about 3.4Gb-3.7Gb of the 4Gb.
Of that XP may mem cache about 10% more leaving about 3.1-3.4Gb Gb usable memory.
Most likely those were sold with 2Gb because 4Gb at the time ram was expensive and some dummy not understanding things sees 4GB when it boots but in task manager only 3.x GB, ram they would complain.
With only 3Gb ram you do not usually have that issue of PAE, though if you want to run in dual channel mode you need 2 x 1GB and 2 x 512KB sticks to run in dual channel DDR mode...just rambling, been there 😀

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 26 of 43, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2023-12-05, 03:18:
XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and […]
Show full quote

XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and OS (XP x86 does) supports Physical Address Extensions then typically it leave about 3.4Gb-3.7Gb of the 4Gb.
Of that XP may mem cache about 10% more leaving about 3.1-3.4Gb Gb usable memory.
Most likely those were sold with 2Gb because 4Gb at the time ram was expensive and some dummy not understanding things sees 4GB when it boots but in task manager only 3.x GB, ram they would complain.
With only 3Gb ram you do not usually have that issue of PAE, though if you want to run in dual channel mode you need 2 x 1GB and 2 x 512KB sticks to run in dual channel DDR mode...just rambling, been there 😀

XP doesn't support PAE for breaking the 4GB barrier. They removed that Server 2003 feature for XP to differentiate the desktop vs server product lines. It only supports PAE partially, to enable some other features.

Reply 27 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
VivienM wrote on 2023-12-05, 00:17:

And, obviously, it would make sense to start from the newer code base to port Windows to a new CPU architecture like AMD64.

Well, I wouldn't know about that. NT had been designed as portable code from the start, and had already been ported to various architectures, including 64-bit ones.
Perhaps it's more the other way around: they ported Server 2003 to AMD64 first, so they already HAD an AMD64 codebase, so why bother porting an older codebase?
Besides, 5.1 and 5.2 weren't that far apart.

VivienM wrote on 2023-12-05, 00:17:

There's a 64-bit Itanium version of XP, no? That is probably built on 5.1.2600?

Yes it is.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 28 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
dormcat wrote on 2023-12-05, 00:48:

That one came out before the "Professional x64 Edition," was a big flop, and got discontinued in just three years. After all most Itanium users were big enterprises running Unix, while consumers simply didn't want an expensive system that couldn't run most consumer software.

The Itanium version had an x86 Windows-on-Windows implementation, so it could run most consumer software.
Problems were just:
1) Originally the performance was very poor, because they relied entirely on the x86 emulation built into the Itanium CPU. By the time a more efficient x86 environment became available (the so-called "IA-32 Execution Layer", based on a dynamic recompiler), Itanium was all but dead.
2) Even with the most efficient x86 emulation, it was still very poor value for money to run x86 software on an Itanium, given the much higher cost of Itanium workstations compared to commodity x86 hardware.

Apparently the whitepaper is still online somewhere: https://www.intel.sg/content/dam/www/public/u … rence-guide.pdf
And an old article explaining the technology and performance in-depth: https://www.realworldtech.com/x86-translation/

Last edited by Scali on 2023-12-05, 08:29. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 29 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
kingcake wrote on 2023-12-05, 04:52:

XP doesn't support PAE for breaking the 4GB barrier. They removed that Server 2003 feature for XP to differentiate the desktop vs server product lines. It only supports PAE partially, to enable some other features.

I heard that one of the reasons it doesn't go beyond 4 GB is that many consumer drivers aren't PAE-aware and as such won't work.
Drivers for server/workstation OSes had more strict requirements, and as such PAE-support was a given.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 30 of 43, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

PAE is not Windows 2003 Server feature.

Last edited by The Serpent Rider on 2023-12-05, 11:32. Edited 1 time in total.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 31 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
The Serpent Rider wrote on 2023-12-05, 11:05:

PAE is not Windows 2003 Server feature.

PAE is a CPU feature obviously.
It's just what different editions of Windows do with it.
Only some of the Server editions (Advanced Server, Enterprise, Datacenter) use it to break beyond the 4 GB address barrier.
Others do use PAE, but mainly because of other functionality, such as the NX-bit.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 32 of 43, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I think I may have found that Dave Cutler interview..

https://www.windowscentral.com/software-apps/ … e-hes-ever-seen

https://www.thurrott.com/windows/291293/dave- … -cairo-and-more

It's interesting, especially the IME part.
IME is the Input Method Editor, the Japanese editions of Windows, for example, use it since the 16-Bit days.

Edit: It's on-topic in so far, because it's about buggy code bases of XP, Longhorn etc and 32/64-Bit.

Edit: That being said, I'm not sure if the interviewed is unbiased.
Windows NT 3.1 wasn't exactly a brilliant achievement, for example, as far as I can tell.
OS/2 was more usable at that point in time, also performance wise.

Last edited by Jo22 on 2023-12-05, 11:45. Edited 2 times in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 34 of 43, by Scali

User metadata
Rank l33t
Rank
l33t
The Serpent Rider wrote on 2023-12-05, 11:35:

No, I mean that it was present in Windows 2000 too.

Sure, both the workstation and server versions.
But XP x64 was based on Server 2003, so that's the version we were talking about here.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 35 of 43, by ElectroSoldier

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2023-12-05, 03:18:
XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and […]
Show full quote

XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and OS (XP x86 does) supports Physical Address Extensions then typically it leave about 3.4Gb-3.7Gb of the 4Gb.
Of that XP may mem cache about 10% more leaving about 3.1-3.4Gb Gb usable memory.
Most likely those were sold with 2Gb because 4Gb at the time ram was expensive and some dummy not understanding things sees 4GB when it boots but in task manager only 3.x GB, ram they would complain.
With only 3Gb ram you do not usually have that issue of PAE, though if you want to run in dual channel mode you need 2 x 1GB and 2 x 512KB sticks to run in dual channel DDR mode...just rambling, been there 😀

Hardware resource mapping does indeed seem to have influenced many OEMs to chose between x32 and x64, with that 3 or 4Gb RAM being the decider.

36bit memory mapping works in XP it just doesnt work as people expect it to.
People seem to only trust what their eyes see, so if its not in system properties then it isnt happening.

kingcake wrote on 2023-12-05, 04:52:
Horun wrote on 2023-12-05, 03:18:
XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and […]
Show full quote

XP x86 natively can use over 3Gb of 4Gb installed. Many things come into play such as the Video Apature and If the bios+cpu and OS (XP x86 does) supports Physical Address Extensions then typically it leave about 3.4Gb-3.7Gb of the 4Gb.
Of that XP may mem cache about 10% more leaving about 3.1-3.4Gb Gb usable memory.
Most likely those were sold with 2Gb because 4Gb at the time ram was expensive and some dummy not understanding things sees 4GB when it boots but in task manager only 3.x GB, ram they would complain.
With only 3Gb ram you do not usually have that issue of PAE, though if you want to run in dual channel mode you need 2 x 1GB and 2 x 512KB sticks to run in dual channel DDR mode...just rambling, been there 😀

XP doesn't support PAE for breaking the 4GB barrier. They removed that Server 2003 feature for XP to differentiate the desktop vs server product lines. It only supports PAE partially, to enable some other features.

Such as?

Reply 36 of 43, by MikeSG

User metadata
Rank Member
Rank
Member

There's not a lot of benefit to it. AFAIK, all of the windows API callbacks use 64bit ints/longs instead of 32bit, so windows uses alot more memory.

I think standard WinXP 32-bit uses 100-150MB RAM. The 64-bit version must use at least 200+ MB... If you only have 256-512MB it's lose-lose.

Reply 37 of 43, by Jo22

User metadata
Rank l33t++
Rank
l33t++

^I remember that XP SP0/SP1 was dog slow on a Pentium III that previously ran Windows 98SE.

The PC had between 128 and 256 MB of RAM, which was very high for a Windows 98SE system (when 98SE was new).

Upgrading it to 768MB made quite a difference back then.

Edit: Explanation of the odd RAM configuration.
The PC had 4 memory slots, SDRAM, I think.
Factory default was 2x 128MB (dual channel), then 2x 256 MB were added. Makes 768MB total.

Likewise, in the late 2000s, upgrading a Windows XP PC (SP2) past 2GB caused a drastic performance improvement again (boot up was almost SSD like).

So all in all, I think that Windows XP has quite some demand for RAM, to "think" properly.

I've seen it struggle on many Windows 98SE PCs that had 512MB and lesss.
If someone asks me, a fully functional XP installation needs at least around ~1GB of RAM in order to not swap to disk all the time.

Of course, a lite version running in, say, a VM will be running fine with 384 MB of RAM or something.
That's without the big driver packages and various runtimes running in background.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 38 of 43, by VivienM

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-12-05, 14:49:

Edit: Explanation of the odd RAM configuration.
The PC had 4 memory slots, SDRAM, I think.
Factory default was 2x 128MB (dual channel), then 2x 256 MB were added. Makes 768MB total.

Dual channel!? That sounds rare for a system from that era...

768MB was actually quite common for an early XP-era system. Most 440BX motherboards (especially on OEM systems - I think some of the usual Taiwanese suspects had 440BX boards with 4 memory slots) had 3 slots of max 256 megs each, which became shockingly affordable around 2001-2...

Reply 39 of 43, by Horun

User metadata
Rank l33t++
Rank
l33t++

Bit-o-history: XP original public release date October 25, 2001. XP SP3 release date April 21, 2008 (Windows 7 public was Oct. 2009).
First dual channel DDR was the Intel 850 chipset introduced in Nov 2000. Official launch of the Intel 845 was Sept. 2001 which was the first Dual channel DDR for mainstream.
As an example the famous i865 and 875 P4 chipsets were mainstream released in June 2003.

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun