32bit 4Gb Memory Limit Explained

Before you guys write more about x86 architecture, PAE and driver development in Windows, why don't you try and research it first? Not much of what has been said here is true.


Hi there
I suggest you re-read my previous post again -- PHYSICAL memory extension is handled as I pointed out in my post --what isn't true please.

There is another implementation that IBM used to use on its older MVS /370 systems was called SWAPPING when you had loads of TSO (Time Sharing Option) users.

What this did was every so often swap out the entire user's address space to a reasonably fast disk (used to be called Drum storage on those days) and allow another user to be "swapped in" to use the same address range that the "swapped out" user had.

Paging is a different methodology -- The system (OS) task dispatcher knows what it needs to do next. It takes a pre-defined order of tasks in the system and determines if it can suspend (temporaily) an active task or take and suspend a non critical low priority inactive task. It then saves the REAL memory slots that that task uses and assigns those to the "waiting" task. A Dispatcher interrupt will then signal to the CPU / I/O system / graphics or whatever that this task is ready to resume its processing.

The algorithm the task dispatcher uses is or can be hideously compicated and this will make or break the efficiency of the OS. You'll need a serious course on Windows internals to make head or tail of this but you can look at the kernels of various Linux distro's if you are interested in this. The Task dispatcher is a critical element in ANY OS.

However you cut it the virtual memory still has to be matched to REAL memory and without the PAE hardware / system 4GB is your lot.


Please also suggest any other method of actually adressing more than 4GB PHYSICAL (Not Virtual) memory with a 32 bit adress scheme.

The physical restriction is still the maximum address that RAM could address and whichever way you turn it on EVERY planet in the known universe 2 ** 32 is 4GB.

Please if you refute something POST what's wrong

Or are odours of Troll beginning to seep up into the atmosphere here.

Cheers
jimbo.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom built, several laptops HP/ASUS
OS
Linux CENTOS 7 / various Windows OS'es and servers
CPU
Intel i7 Intel i5
Memory
8GB, 16GB
Graphics Card(s)
On Motherboard
Sound Card
Realtek HD audio
Monitor(s) Displays
Apple Cinema display, Samsung LCD
Screen Resolution
1920 X 1080
Hard Drives
4 X 1TB SATA
Mouse
Toshiba wireless laser
Internet Speed
> 20MB up
You talk about it is a "mathematical" impossibility for a 32bit OS to address more than 4GB and that it has to "fake" it.

All it comes down to is how paging works, and how virtual address spaces are independent of the physical address space.

It is not "mathematical" impossible, because the physical address space is larger than 4GB when running in PAE mode. It can be 64GB or more, depending on the implementation.

Surely you didn't join this fine forum just now only to point out that the 'P' in PAE stands for "physical"?
Nonetheless, it was necessary, because integer and register size was used to explain why x86 cannot address above 4G.
 

My Computer

OS
Windows
The 4 GB limit for 32 bit is a technical limitation.
More a Law of Physics than a technical limitation, but the point is the same.
 

My Computer

Computer Manufacturer/Model Number
BrightWorks Systems B4
OS
Windows 7 Profession 64-bit
CPU
Intel Core i7-860 Quad
Motherboard
Gigabyte P55-UD4P
Memory
Mushkin 4x2Gb PC12800
Graphics Card(s)
Gigabyte GTX260 896Mb
Sound Card
Integrated 7.1 HD Dolby
Monitor(s) Displays
2 Samsung 2220wm-HAS 22"
Screen Resolution
1680 x 1050 | 1680 x 1050
Hard Drives
WD HE 1Tb
PSU
Corsair TX-750W
Case
Ultra M998
Cooling
OEM
Keyboard
MS Wireless Comfort 5000
Mouse
MS Wireless 5000
Internet Speed
Cable and pretty darn fast
More a Law of Physics than a technical limitation, but the point is the same.
And I think the point with x86 architecture is that 32 bits are not the limit when the talk is about addressing physical memory. So the point is not true.
 

My Computer

OS
Windows
x86 has nothing to do with the 4Gb limit - or else the same limits would not be seen on Macs, SPARCs or UNIX machines - which are not x86 architecture hardware platforms.

It boils down to simple math (a sub-component of physics) 2^32 = 4,294,967,296 which is 4Gb. Jimbo is right.
 

My Computer

Computer Manufacturer/Model Number
BrightWorks Systems B4
OS
Windows 7 Profession 64-bit
CPU
Intel Core i7-860 Quad
Motherboard
Gigabyte P55-UD4P
Memory
Mushkin 4x2Gb PC12800
Graphics Card(s)
Gigabyte GTX260 896Mb
Sound Card
Integrated 7.1 HD Dolby
Monitor(s) Displays
2 Samsung 2220wm-HAS 22"
Screen Resolution
1680 x 1050 | 1680 x 1050
Hard Drives
WD HE 1Tb
PSU
Corsair TX-750W
Case
Ultra M998
Cooling
OEM
Keyboard
MS Wireless Comfort 5000
Mouse
MS Wireless 5000
Internet Speed
Cable and pretty darn fast
Hi there
by "Normal convention" x-86 refers to 32 bit archirecture. True some X-86 series CPU's (and AMD versions) had some 64 bit capability which would allow the address range to be extended but this required significant changes to the OS and some hardware.

XP 64 bit edition filled a stop gap until 64 bit cpu's were more readily available - but even then MS was working on "Vista" or "Longhorn".

In a way it was a pity because XP 64 bit edition is LIGHTNING fast especially on todays hardware if you can find the drivers. (It's now a niche OS with still quite a few dedicated users so you can find a lot of drivers -- you need to search around however).

But for the main purpose of this discussion x-86 architecture is usually meant the 16 / 32 bit versions of the 8086 line of processors (including 80286/80386 etc).

8086.tk

Cheers
jimbo
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom built, several laptops HP/ASUS
OS
Linux CENTOS 7 / various Windows OS'es and servers
CPU
Intel i7 Intel i5
Memory
8GB, 16GB
Graphics Card(s)
On Motherboard
Sound Card
Realtek HD audio
Monitor(s) Displays
Apple Cinema display, Samsung LCD
Screen Resolution
1920 X 1080
Hard Drives
4 X 1TB SATA
Mouse
Toshiba wireless laser
Internet Speed
> 20MB up
Intel implemented PAE in x86 many, many years ago.

PAE doesn't change how "32bit architecture" works. Have you understood the difference between virtual and physical address space?
 

My Computer

OS
Windows
You talk about it is a "mathematical" impossibility for a 32bit OS to address more than 4GB and that it has to "fake" it.

"You" should probably clarify who "you're" addressing. There are X people contributing to this thread and somewhere around X+3 distinctly different opinions ;)

All it comes down to is how paging works, and how virtual address spaces are independent of the physical address space.

This has sod-all to do with virtual memory. It's about the (un)reliability of 36-bit physical (PAE) addressing by non-OS drivers. Incidentally, you were the first person to use the word "virtual" in this conversation.

It is not "mathematical" impossible, because the physical address space is larger than 4GB when running in PAE mode. It can be 64GB or more, depending on the implementation.

No, it's not impossible when 4 little extra bits join the 32 which were already there to form a grand total of 36 bits worth of address bus in the scheme known as PAE. However, it is "mathemuthicky" impossible in a flat linear 32-bit space (in the absence of [segment: offset] - which thankfully stopped with 16-bit Windows).

Nonetheless, it was necessary, because integer and register size was used to explain why x86 cannot address above 4G.

I must admit I'm still unsure as to what or whom you're disagreeing with.
 

My Computer

Computer Manufacturer/Model Number
Multiple machines in various stages of decomposition.
OS
Win7x64
It is not "mathematical" impossible, because the physical address space is larger than 4GB when running in PAE mode. It can be 64GB or more, depending on the implementation.
You fail to realize when running with PAE, the addressing is raised from 32 bit to 36 bit.

Physical Address Extension - Wikipedia, the free encyclopedia
x86 processor hardware architecture is augmented with additional address lines used to select the additional memory, so physical address size is increased from 32 bits to 36 bits. This, theoretically, increases maximum physical memory size from 4 GB to 64 GB. The 32-bit size of the virtual address is not changed, so regular application software continues to use instructions with 32-bit addresses and...is limited to 4 gigabytes of virtual address space....
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX R4
OS
Windows 10 Pro (x64)
CPU
Intel Core i7-3930K (3.2GHz - 4.5GHz)
Motherboard
Alienware Aurora-R4 x79
Memory
4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)
Graphics Card(s)
Nvidia Geforce GTX 690
Sound Card
SteelSeries Siberia Elite
Monitor(s) Displays
Dell UltraSharp U3011
Screen Resolution
2560x1600
Hard Drives
Samsung 850 Pro 256 GB, Seagate 1TB Desktop Hybrid HDD, 2x Western Digital 4TB Green HDD
PSU
875W Some Dell PSU <.<
Case
Alienware Aurora ALX
Cooling
Custom Liquid Cooling (EK CPU & GPU blocks) dual EK 480RAD
Keyboard
Logitech G710+ Mechanical
Mouse
Logitech G700s
Internet Speed
Verizon Fios (50 mbps average)
Other Info
Server: Intel NUC D54250WYK: i5-4250U, 16GB, 256 GB mSATA, Windows Server 2012 R2
Normal convention x-86 refers to 32 bit archirecture.
Yes, but that's actually wrong. x86 originated out of platforms based on the Intel 8086 CPU architecture. I suspect marketing weenies messed it up, as they have done so many times in the past, and it stuck.
 

My Computer

Computer Manufacturer/Model Number
BrightWorks Systems B4
OS
Windows 7 Profession 64-bit
CPU
Intel Core i7-860 Quad
Motherboard
Gigabyte P55-UD4P
Memory
Mushkin 4x2Gb PC12800
Graphics Card(s)
Gigabyte GTX260 896Mb
Sound Card
Integrated 7.1 HD Dolby
Monitor(s) Displays
2 Samsung 2220wm-HAS 22"
Screen Resolution
1680 x 1050 | 1680 x 1050
Hard Drives
WD HE 1Tb
PSU
Corsair TX-750W
Case
Ultra M998
Cooling
OEM
Keyboard
MS Wireless Comfort 5000
Mouse
MS Wireless 5000
Internet Speed
Cable and pretty darn fast
I think we have beaten this horse to death.
 

My Computer

Computer Manufacturer/Model Number
HP, Dell, Gateway, Toshiba - 4 laptops and 2 desktops
OS
Vista, Windows7, Mint Mate, Zorin, Windows 8
CPU
from 1.6GHz Duo to i7
Monitor(s) Displays
2x HP w2207
Hard Drives
5x HDD, 7x SSD, 12x Externals
Keyboard
with trackball - no mices
Mouse
Trackball mice
Internet Speed
DSL 6000
Which is why I don't bother taking part in these theoretical conversations.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Home built
OS
Windows 7 Ult, Windows 8.1 Pro,
CPU
Q9650-4.275GHz, E8600 4.5GHz, E6750-3.8GHz
Motherboard
Evga 780i FTW
Memory
G.Skill PC2 9600 1200Mhz 5 5 5 15 2T
Graphics Card(s)
GTX480
Sound Card
Asus Xonar D2
Monitor(s) Displays
HannsG
Screen Resolution
1680X1050
Hard Drives
GSkill Phoenix Pro 120GB SSD
PSU
ThermalTake Toughpower 1000Watt modular
Case
ThermalTake XaserV
Cooling
Xigmatek S1283
Keyboard
Logitech G15
Mouse
Logitech G9
Internet Speed
T1
Probably good - since this is physics, not theory.

As far as dead horses, there's many more.

But personally, I think it is up the OP, or admin to stifle contributions.
 

My Computer

Computer Manufacturer/Model Number
BrightWorks Systems B4
OS
Windows 7 Profession 64-bit
CPU
Intel Core i7-860 Quad
Motherboard
Gigabyte P55-UD4P
Memory
Mushkin 4x2Gb PC12800
Graphics Card(s)
Gigabyte GTX260 896Mb
Sound Card
Integrated 7.1 HD Dolby
Monitor(s) Displays
2 Samsung 2220wm-HAS 22"
Screen Resolution
1680 x 1050 | 1680 x 1050
Hard Drives
WD HE 1Tb
PSU
Corsair TX-750W
Case
Ultra M998
Cooling
OEM
Keyboard
MS Wireless Comfort 5000
Mouse
MS Wireless 5000
Internet Speed
Cable and pretty darn fast
Yeah we should probably have stopped a few pages back after all the post with actual facts to back them up and such. It is now starting to turn into something completely different from the original point.

Thanks to those who did contribute additional useful facts to all of this.
 

My Computer

Computer Manufacturer/Model Number
Custom
OS
Win7 64bit Ultimate
CPU
AMD Phenom II X6 1100T Black Edition Thuban 3.3GHz, 3.7GHz
Motherboard
Gigabyte GA-890FXA-UD5
Memory
CORSAIR DOMINATOR GT 8GB (2 x 4GB) 1866 DDR3
Graphics Card(s)
XFX HD-697A-CNDC Radeon HD6970 2GB 256-bit
Sound Card
Creative SoundBlaster X-Fi Platinum Fatal1ty Edition
Monitor(s) Displays
Dual 25 Inch Hanns-G HZ251
Screen Resolution
1920x1080 X 2
PSU
Corsair 850W Single Rail
Case
Thermaltake V9 BlacX w/ Dual HDD Docking Station
Cooling
Air lots and lots of air and copper...
Keyboard
Kensington (Low-Profile)
Mouse
Creative Fatal1ty
Internet Speed
15Gbit (15 Down 5 Up)
Other Info
XIGMATEK HDT-S1284F 120mm HYPRO Bearing CPU Cooler, LG Blu-Ray Burner.
Completely agree. That article is entirely misguided. I think the conspiratorial tone was meant to raise his profile, as opposed to actually explaining the issue properly.
Properly? Well, the article's issue is licensing. It's in a section of my website that deals with other aspects of licensing. Its central claim is simply that 32-bit Windows Vista has the operating-system support for using memory above 4GB but that tamper-protected license values prevent the operating system from putting that support into use. Windows Vista is the first 32-bit (client) version of Windows for which this is true. That's the article's issue. If you have a different issue that you want explained, then that's your problem. If you think my chosen issue is not explained properly, then show where I'm factually incorrect or where I overlook something I ought not.

Conspiratorial tone? If Microsoft had a clear statement even roughly similar to my article's claim, then of course I would have no article. I don't say that Microsoft planned anything wicked. I don't go further than saying that Microsoft finds it at least convenient to have a limit that matches a widely held misunderstanding. I note that Microsoft says strikingly little, that some of what little it does say is absurd, and that none of what it says is open to testing (on Windows Vista). I suspect that marketing considerations have some play in this, given that Microsoft and others gain if consumers move to 64-bit Windows faster than they might otherwise. What's your problem with any of that?
The dilemma faced by MS came down to two choices:
That is essentially what the article says Microsoft says, too. But the article dismisses it as disingenuous and gives a reason. The dichotomy you present is false. In your phrasing, the falsity is that your #2 can be met only by a license restriction. There were other solutions, with backwards compatibility, which could have been implemented using existing facilities.
The guy's a ranter.
OK, I don't know that when you presented Microsoft's argument, above, you were offering it as criticism of my article, but if you were, then you would appear to have at least one of the distinguishing characteristics of ranting, namely of not acknowledging, let alone attending, to the other party's counter-arguments.

Generally, if someone writes that X is false because of Y, then fair criticism is that you argue something like that Y is false or that its truth would not invalidate X. If you just reassert X without even acknowledging that Y has been put as a counter-argument, then you're certainly not aiming for fair criticism.
 

My Computer

OS
Windows Vista
Conspiratorial tone? If Microsoft had a clear statement even roughly similar to my article's claim, then of course I would have no article. I don't say that Microsoft planned anything wicked. I don't go further than saying that Microsoft finds it at least convenient to have a limit that matches a widely held misunderstanding. I note that Microsoft says strikingly little, that some of what little it does say is absurd, and that none of what it says is open to testing (on Windows Vista).
There was plenty coming from Microsoft (through developer channels) about this issue six years ago when Microsoft decided that 64-bit would be its only path to > 4GB on client/desktop OS due to well-documented driver issues in consumer space, and subsequently assured developers they needn't be concerned about whether their drivers for 32-bit MS client/desktop OS could cope with addresses larger than 4GB because there would never be a MS client/desktop OS where this would happen or be supported (but vendors of server/enterprise/professional hardware would). e.g.

Part 3: Memory Protection Technologies (See discussion under Driver Compatibility)

Physical Address Extension - PAE Memory and Windows

Operating Systems and PAE Support

The RAM reported by the System Properties dialog box and the System Information tool is less than you expect in Windows Vista or in Windows XP Service Pack 2 or later version

The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed

More recent discussion:

Mark's Blog : Pushing the Limits of Windows: Physical Memory (See section titled Windows Client Memory Limits)

Lastly, why would Microsoft neuter PAE on client/desktop space to a maximum 4GB? If you don't like Microsoft's explanation why, maybe you'll better prefer Linus Torvald's explanation why Microsoft would do this....

Because "PAE really really sucks"
 

My Computer

OS
Windows XP
Guys

Hi and welcome

A- you are replying to someone who isnt even on this site anymore (10/2009) thread.

B- If you search you will find this topic has been beaten to death regularly for months.

C- Linus when drunk is slightly off topic dont you think.

Just an FYI for you all.

Again welcome and have fun

Ken J+
 

My Computer

Computer Manufacturer/Model Number
HP Pavillion dv-7 1005 Tx
OS
Win 8 Release candidate 8400
CPU
[email protected]
Memory
4 gigs
Graphics Card(s)
Nvidia 9600M
Sound Card
HD built-in
Monitor(s) Displays
17" Wxga
Screen Resolution
1440x900
Cooling
none
Internet Speed
45Mb down 5Mb up
Back
Top