Re: 32 bit 64 bit... confusion

Discussion in 'Computer Support' started by chuckcar, Oct 24, 2009.

  1. chuckcar

    chuckcar Guest

    philo <> wrote in
    news::

    > bonius mcheadius wrote:
    >> Meat Plow <> wrote in
    >> news::


    > RAM over approx 3.2 gigs it has nothing to do with which OS you use...
    > it's simply a function of all 32bit operating systems.
    >
    > Chances are the 32 OS you already are using will do the job
    >

    Wrong. It *is* the operating system. The address bus and motherboard on
    any recent pentium class computer can easily handle over 4 GB. The problem
    is with XP Home itself. The Windows 200x family never had this problem when
    memory capacity got this big.


    --
    (setq (chuck nil) car(chuck) )
     
    chuckcar, Oct 24, 2009
    #1
    1. Advertising

  2. chuckcar

    chuckcar Guest

    philo <> wrote in
    news::

    > chuckcar wrote:
    >> philo <> wrote in
    >> news::
    >>
    >>> bonius mcheadius wrote:
    >>>> Meat Plow <> wrote in
    >>>> news::

    >>
    >>> RAM over approx 3.2 gigs it has nothing to do with which OS you
    >>> use...
    >>> it's simply a function of all 32bit operating systems.
    >>>
    >>> Chances are the 32 OS you already are using will do the job
    >>>

    >> Wrong. It *is* the operating system. The address bus and motherboard on
    >> any recent pentium class computer can easily handle over 4 GB. The
    >> problem is with XP Home itself. The Windows 200x family never had this
    >> problem when memory capacity got this big.
    >>

    > the exception is PAE you need to use Google
    >

    You *said* the problem wasn't the OS but the hardware. Now you point to a
    part of the hardware that the software wasn't using properly. It's an
    exact analogy to the 64KB page size in the original IBM PC's. The machine
    can only use one chunk at a time, but it can cover multiple chunks. This
    is Intel screwing up the superior flat memory model again with nonsence.
    The hardware is capable, the software doesn't do it right. Paging is
    easily transparent to the user. Hence EMS and XMS when they were used.

    The question remains is why Intel didn't just make a 48 or 64 Bit address
    bus. Upgradability the old cash cow I guess.


    --
    (setq (chuck nil) car(chuck) )
     
    chuckcar, Oct 25, 2009
    #2
    1. Advertising

  3. Bytes of data readily accessible to the processor are identified by a
    memory address, which by convention starts at zero and ranges to the
    upper limit addressable by the processor. 32-bit processors typically
    use memory addresses that are 32 bits wide. The 32-bit wide address
    allows the processor to address 2^32 bytes of memory, which is exactly
    4,294,967,296 bytes, or four gigabytes. This is the direct source of
    the four-gigabyte memory addressing limitation.

    Further, all current 32-bit desktop and server versions of Windows
    (that is, Windows XP Home, Windows XP Pro, Windows XP Media Center
    Edition, and all non-embedded editions of Windows 2003 Server, all
    editions of Windows 2000) support addressing four gigabytes of
    physical memory.

    Yet accessing four gigabytes of physical memory isn't possible on all
    machines. Why is that?

    While there's no limit in Windows beyond the four-gigabyte limit of
    the address space, the address space might contain things other than
    memory. Hardware designers frequently use a technique called memory-
    mapped I/O. Memory-mapped I/O places memory which is visible to a
    peripheral on the system bus, in the address space of the processor.
    To communicate with the device, the processor simply writes data into
    the range of memory the device has mapped into its address space. This
    mechanism is significantly faster than using a specialized bus for I/O
    access, and provides additional benefits the software and hardware
    designers alike.

    Windows will work with the hardware to map as much physical storage
    memory as possible into the spaces around the device-provided memory
    mapped features. While the total memory available to the operating
    system will be less than four gigabytes, the system certainly is
    capable of accessing four gigabytes of memory space. For applications
    where memory is important, care must be exercised in selecting and
    configuring peripherals in order to assure the maximum amount of
    memory is available.

    One easy way to see what memory mapping is happening is to use the
    Device Manager on your system and have it show what mapping is
    occurring. On a machine with three gigabytes of memory,
    Right-click on the "My Computer" icon
    Select "Properties" from the Context menu
    In the resulting "System Properties" dialog, activate the "Hardware"
    tab
    Click on the "Device Manager" button
    In the "View" menu, select the "Resources by Connection" command
    select the "Memory" node in the tree
    Press the "*" key on the numeric keypad to expand all the nodes in the
    memory tree

    When this system boots an xp virtual machine, it counts 3072 megabytes
    of memory in the BIOS, and shows 3.0 GB in the general properties for
    the computer. But using the "Performance" tab of Task Manager, this
    machine reports 3,144,940 kilobytes of available physical memory. This
    isn't quite enough, as 3072 megabytes of memory is 3,145,728 kilobytes
    of memory. Where did the missing 788 kilobytes of memory go?

    Addresses shown in the Device Manager window are in hexadecimal. We
    don't care about many of them, but one of the important values we're
    interested in is 0xC0000000, since that corresponds to three
    gigabytes. We can see that Windows has allocated addresses 0x00100000
    through 0xBFFFFFFF to the system board, and that totals 3,144,704
    kilobytes of memory. There's also the range 0x000E0000 through
    0x000FFFFF, which is another 128 kilobytes of memory. That brings us
    within 788 kilobytes of our expected total.

    One hole of memory is evident at 0x000A0000 through 0x000BFFFF; this
    memory is mapped to the display adapter for its text mode and lower
    graphics modes. These addresses have been used by the display adapter
    by convention since the original IBM PC in the early eighties, and are
    retained for compatibility. Adding the memory around it brings us
    within a few kilobytes of our physical memory goal.

    The hole the graphics adapter causes in physical memory is called its
    aperture. This value is settable in the system BIOS, at the cost of
    being able to access memory on the video card directly and rapidly.
    With very large buffers on video cards, and the advent of SLI systems,
    the memory aperture taken out of the system address space can be huge,
    and reduces the usable general-purpose memory accessible by the
    system.

    Had this system four gigs of memory, the system would show at most
    3.94 gigabytes of physical memory available after it booted with the
    64 megabyte aperture. With the 256 megabyte aperture, the maximum is
    3.75 gigabytes. The true maximum is substantially less, since the 256
    megabyte card memory also comes from the physical address space, as
    well as memory for other devices on the system.

    Note that all the addresses in this section of the document are
    physical. The OS is free to map a physical address range to a logical
    address range in any way it sees fit, and that's important for
    understanding the next section, where all the addresses described are
    logical.

    PAE extends the range of Windows memory mapping by adding another 4
    bits to the address bus - meaning the system can now address 64GB of
    memory - handy on a multicore 32-bit system, for instance a dual AMD
    Athlon MP, on a board such as a Tyan Tiger, would turn into a real
    powerhouse since the board can handle 8GB of physical memory (I know,
    I have one). There is a slight problem though, since Windows tries to
    load device drivers into high memory areas, it often ends up stuffing
    them into areas of memory that don't physically exist. SP2 got around
    this by simply switching off PAE. Back again to the hard 4GB memory
    address space. I don't know if SP3 addressed this further by actually
    attempting to /fix/ the PAE problem. Someone else'll have to answer
    that one. What I do know is that my Athlon MP gets around it by
    dividing the memory down the middle so the system (when it ran xp SP1,
    and SP2 for about a year) reported 7.8GB RAM (with every RAM switch
    tweak I could think of and a really small graphics aperture), and each
    processor addressed and utilised 3.9GB between kernel and userspace -
    what I ended up with was a whopping nearly 6GB of usable physical
    memory. Windows xp SP1 used PAE to allow the application software to
    address >4GB /virtually/, which kinda worked though there were odd
    problems such as paging errors in memory spaces that didn't exist...
    in the end, that machine got migrated to Linux and I've not looked
    back and regretted the move, not once.

    Sources: TechNet, MSDN, [H]ard|forum, IME
     
    TheLostPacket, Oct 25, 2009
    #3
  4. chuckcar

    chuckcar Guest

    philo <> wrote in
    news::

    > chuckcar wrote:
    >> philo <> wrote in
    >> news::


    >>>> Wrong. It *is* the operating system. The address bus and motherboard
    >>>> on any recent pentium class computer can easily handle over 4 GB. The
    >>>> problem is with XP Home itself. The Windows 200x family never had
    >>>> this problem when memory capacity got this big.
    >>>>
    >>> the exception is PAE you need to use Google
    >>>

    >> You *said* the problem wasn't the OS but the hardware. Now you point to
    >> a part of the hardware that the software wasn't using properly. It's an
    >> exact analogy to the 64KB page size in the original IBM PC's. The
    >> machine can only use one chunk at a time, but it can cover multiple
    >> chunks. This is Intel screwing up the superior flat memory model again
    >> with nonsence. The hardware is capable, the software doesn't do it
    >> right. Paging is easily transparent to the user. Hence EMS and XMS when
    >> they were used.
    >>
    >> The question remains is why Intel didn't just make a 48 or 64 Bit
    >> address bus. Upgradability the old cash cow I guess.
    >>

    > What I meant was it does not matter which OS you use...be it Windows ,
    > Linux or whatever...
    > without the PAE exception if the OS is 32bit it will only be able to
    > utilize approx 3 gigs of RAM
    >

    Riight. Which *is* a software problem - in machine language granted, but
    still software. There were commands to switch pages on 8086 and 8088 based
    computers and there will be for these "pages" as well on Pentium class
    computers. If you like, I could provide the mnemonics for said instructions.
    I won't however unrequested as it would take this beyond the user level.


    --
    (setq (chuck nil) car(chuck) )
     
    chuckcar, Oct 25, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Hallvard Tangeraas
    Replies:
    0
    Views:
    525
    Hallvard Tangeraas
    Sep 14, 2004
  2. Replies:
    9
    Views:
    547
    KeithS
    Jan 20, 2005
  3. why?

    Re: 32 bit 64 bit... confusion

    why?, Oct 24, 2009, in forum: Computer Support
    Replies:
    0
    Views:
    361
  4. chuckcar

    Re: 32 bit 64 bit... confusion

    chuckcar, Oct 24, 2009, in forum: Computer Support
    Replies:
    1
    Views:
    362
    chuckcar
    Oct 24, 2009
  5. VanguardLH

    Re: 32 bit 64 bit... confusion

    VanguardLH, Oct 24, 2009, in forum: Computer Support
    Replies:
    0
    Views:
    403
    VanguardLH
    Oct 24, 2009
Loading...

Share This Page