32bit 4Gb Memory Limit Explained

Page 3 of 7 FirstFirst 12345 ... LastLast

  1. Posts : 5,941
    Linux CENTOS 7 / various Windows OS'es and servers
       #21

    pallesenw said:
    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


  2. Posts : 173
    Windows
       #22

    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.

    H2SO4 said:
    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


  3. Posts : 1,074
    Windows 7 Profession 64-bit
       #23

    logicearth said:
    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


  4. Posts : 173
    Windows
       #24

    Digerati said:
    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


  5. Posts : 1,074
    Windows 7 Profession 64-bit
       #25

    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


  6. Posts : 5,941
    Linux CENTOS 7 / various Windows OS'es and servers
       #26

    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


  7. Posts : 173
    Windows
       #27

    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


  8. Posts : 1,377
    Win7x64
       #28

    pallesenw said:
    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

    pallesenw said:
    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.

    pallesenw said:
    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).

    pallesenw said:
    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


  9. Posts : 5,642
    Windows 10 Pro (x64)
       #29

    pallesenw said:
    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


  10. Posts : 1,074
    Windows 7 Profession 64-bit
       #30

    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


 
Page 3 of 7 FirstFirst 12345 ... LastLast

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 02:30.
Find Us