What memory controller chipset do I have?

Discussion in 'Asus' started by Rhino, Feb 25, 2013.

  1. Rhino

    Rhino Guest

    How can I tell what memory controller chipset I have?

    I'm thinking about adding some memory to my system. It's an ASUS M3A and
    it's currently got 2 GB of memory.

    I was looking in the M3A Motherboard User Guide and it says:

    If you install Windows 32-bit version operating system, we recommend
    that you install less than 3GB of total memory. If more than 3GB memory
    is required for your system, then below two conditions must be met: 1.
    The memory controller which supports memory swap functionality is used.
    Chipsets later than Intel 975X, 955X, Nvidia NF4 SLI Intel Edition,
    Nvidia NF4 SLI X16, and AMD K8 CPU architecture support memory swap

    I have an AMD processor - Phenom 9350e Quad Core, 2000 MHz - but I have
    no idea whether my memory controller supports memory swap functionality.

    I have an old version of Everest Home Edition (Version 2.20.405) and I
    don't see anything in there that mentions the memory controller chipset.
    It's not mentioned under Memory and the Chipset tab shows nothing at
    all. Do I need a different program to tell me this? If so, what
    program(s) will do this, with a strong preference for FREE programs.

    I'm running Windows XP SP3 32 bit.
    Rhino, Feb 25, 2013
    1. Advertisements

  2. Rhino

    Paul Guest

    The memory controller is inside the processor itself.
    There is nothing for poor Everest to report. In my drawing here,
    I show the two channels of the memory bus, connected directly
    to the processor itself. The AMD770 is there mainly, to connect
    PCI Express to Hypertransport.


    CPU ---- dual channel ---- 4 DIMMs (4x2GB DDR2 max)
    Hypertransport Bus
    Northbridge AMD770 --- PCI Express slot for video card
    Hypertransport Bus
    Southbridge SB600 --- SATA ports

    The way this works is:

    1) Both a 32 bit and a 64 bit OS could access all the memory.

    2) For the 32 bit OS to do it, PAE must be enabled.
    This translates a 32 bit address computed by the processor
    (a virtual address), into a 36 bit or more address for
    the physical memory. With such a scheme, no single program
    can use all the system RAM, but if you ran sixteen different
    programs, they might access all the RAM on a really big system (64GB).

    3) Microsoft, in their infinite wisdom, enable PAE on x32, but
    prevent the user from accessing >4GB worth of address space.
    This is called the "memory license", to protect their
    expensive server operating systems.

    This includes roughly 1GB of addresses for hardware buses.
    Leaving around 3GB for memory addresses. If you install 4GB
    of memory, it reports ~3GB. If you install 8GB of memory,
    it reports ~3GB. Some other OSes, would allow the x32 OS to
    do more than that.

    4) Using this product, the memory above 4GB (on the x32 OS)
    can be used as a RAMDisk. If you install 8GB, your RAMDisk
    might be 4GB in size. The RAMDisk is capable of using PAE memory,
    or "low RAM", depending on the situation. And seems to be unable
    to access the first gigabyte in the hoisted area.


    So even though Microsoft wants to stop you from enjoying RAM
    above 4GB, the RAMDisk product does allow it to be used.

    A 64 bit OS has no such restriction, and all 8GB can be used.
    The processor must support a 64 bit OS (it does), and then
    the addresses can be much larger than 32 bits wide.

    From a practical perspective, in terms of cost/benefit, there
    are specific things the extra RAM might be useful for. If you
    run Virtual Machines at the same time as your regular OS,
    the memory comes in handy. For a lot of other usage patterns,
    your current 2GB total RAM is perilously close to the perfect
    configuration. Especially if you own a video card that
    has a lot of video RAM itself. The RAM on the video card,
    uses address space as well, and can cause some of your
    system RAM to be inaccessible. Your system doesn't have
    SLI or Crossfire perhaps, but if you jammed a 2GB video card
    in there (such things exist), then you'd have no address space
    remaining, in your Microsoft x32 OS.

    If you wish to install 4x2GB and use the remainder as a RAMDisk,
    be my guest. The RAMDisk is fast. Temporarily, I installed
    6GB of RAM on my WinXP SP3 x32 system, and I was able to do this
    with the excess RAM. A tiny (2GB capacity), very fast "hard drive" :)


    Such a "hard drive", can be used for your Photoshop scratch disk.
    No more delays!

    Other than that, for many users, such excessive RAM is useless.

    Paul, Feb 25, 2013
    1. Advertisements

  3. Rhino

    Anssi Saari Guest

    Phenom's K10. The requirement was K8 or later so you're fine.
    Anssi Saari, Feb 26, 2013
  4. Rhino

    Rhino Guest

    Thanks very much for your quick and informative reply, Paul.

    I wish I could say I followed it all but I'd be lying. I'm a programmer,
    not a hardware guy.

    If I'm following you correctly, you're saying there's no point in adding
    more memory except to get a RAMDisk. I have nothing against RAMDisks and
    might benefit from one but my real goal was to be able to start a
    program that no longer wants to work for me.

    I periodically work with DB2, IBM's relational database, and find that I
    can't launch it any more. The underlying problem seems to be memory. (Go
    to http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp and
    type SQL1022C in the Search box; then click on SQL0122C in the results
    list for the full message.)

    I've successfully launched this same version of DB2 on this same
    computer several times but its been several months since the last time.
    I'm really not sure why I should be having problems with memory since
    the last time. I had the same 2 GB of memory then as now. Sure, there
    are probably a few more processes running this time than last but even
    after I used Task Manager to kill all but one of the biggest memory
    users in the system, I still can't launch DB2. Available memory was a
    full 1 GB at that point. That should be plenty according to the manual
    (search on "memory requirement" for confirmation).

    I thought putting more memory on the motherboard would help and was just
    trying to figure out the implications of that when I posted the first
    message in this thread. I think you're saying that would be
    counter-productive in this case, right?

    Any ideas on what would be productive?
    Rhino, Feb 26, 2013
  5. Rhino

    Paul Guest

    Adding memory would not be counterproductive. The OS will ignore
    anything it doesn't like. (There are even boot.ini options, to
    make the OS ignore more of the memory.) Like I said, install 4GB,
    reports 3GB. Install 8GB, reports 3GB. And that's in x32 Windows.
    Other OSes would do this differently. Intel PAE has been around
    for years, but it didn't become a strategic problem for Microsoft,
    until big memory DIMMs became available.

    This is where I got the information. This developer "hacked"
    the OS, such that x32 would run with more than 4GB. But the hack is
    not public domain, and there was no intention to damage Microsoft's
    interests financially.


    You can shrink available address space, by using a "big" video card.
    That's a hardware way of causing a crisis. I use a 512MB video card
    in my current system, but they're available with up to 2GB of video
    memory onboard. If you buy such a card, a 64 bit OS is recommended.
    On a 32 bit OS, there's no address space left for system memory.
    There is even at least one video card, which has 4GB of memory onboard
    (a limited edition card), which would make it impossible to boot
    a 32 bit Windows OS. There would be no room for the ability
    to address system memory. The Asus MARS video card was the first one,
    but I noticed one announced just the other day, so they're still
    trying to do stuff like that. Only a Windows x64 need be used with
    that, for gaming. It has less of an issue with address space.


    In terms of running out of resources, your database may need a large
    amount, but any utilities that attempt to reach the database may need
    some too.

    On older OSes, resources are chopped up and bounded. Paged pool has limits,
    such that with fragmentation and lack of recovery of resources, you could
    run out. A reboot can fix that temporarily. Programs can also run out of
    stack or heap. Only when an OS design "unlimits" how all kinds of memory
    are allocated, do starvation issues like this go away.

    To give an example of that, when the computer starts, the hardware
    storage cards, the ones with their own BIOS chips, get to share a 128KB
    region in low memory. Even if the computer has 4GB installed, the same
    128KB region is made available. Some hardware storage cards can't load their BIOS
    code, because the available space is too small. And that's an example of
    a static allocation that is too small. All part of the "640K architecture".
    Just because something runs out of RAM, does not imply you're
    actually out of RAM. It just means a barrier was erected which
    prevented the program or process from getting what it wanted.

    One of the first OSes I worked on (written by our own developers),
    had the static stack/static heap problem. When writing programs,
    you were constantly adjusting stuff like that. And all because
    everything was done statically. I had to learn what a stack
    and what a heap was, to get my simple programs to run :)

    On Unix, the OS can apply "quotas" to RAM. On my old SunOS
    or Solaris boxes, you could limit any single processor to say,
    512MB. This would prevent a runaway process from taking all
    available memory. I don't think a Windows desktop has that feature
    (no quota for RAM on a per-process basis).

    On my WinXP x32 system, I've never had a program use more than
    1.8GB. Which lines up with the 2GB/2GB split between virtual
    address space as set up by default for the OS. Your 2GB physical
    RAM machine, should not have been affected by that, and lines up
    pretty well with those limits. But your problem seems to be,
    even the current amount of RAM, is not being made available.
    And the config options for Windows, should not impact a 2GB installed
    machine, as far as I know.

    You can shoot yourself in the foot, with the /maxmem switch,
    but you have no reason to be adding a thing like that. Win98
    also had a mechanism like this, in a different file, but there
    were legit reasons for ordinary users to be using such options.
    I had a 2GB machine, dual booting Win98, where the usage of
    such switches prevented Win98 from using more than 512MB (which
    is a comfortable limit for Win98 usage).


    I've also read articles like this, and played around with the
    tools, but didn't find this particularly helpful. This is
    still valuable information - make no mistake about that.
    But I didn't have any "Aha!" moments when trying this stuff.
    I remained as blind as I was before :)

    "Pushing the Limits of Windows: Virtual Memory"

    Paul, Feb 26, 2013
  6. Rhino

    Bob F Guest

    Would using a ramdisk for the swapfile have any advantage in speeding up the
    Bob F, Feb 27, 2013
  7. Rhino

    Paul Guest

    I've tried it, and it works :)

    In this case, there's only one problem with the concept. The
    RAMDisk software, when I tested, wasn't 100% stable when providing
    that service (holding pagefile.sys). I had a couple incidents, where
    applications didn't work right. I had to suspect my experiment and
    put things back.

    Performance wise, it's every bit as good as you would imagine.
    You can use all the regular RAM on the system, and there's no sign
    the system is swapping.

    Whereas, without pagefile.sys on RAMDisk, my system slows to a crawl
    if stuff needs to be swapped out (like, using an image editor). Which
    is the reason I was testing this in the first place.

    The properties of the software, slowly improve with time. One version
    of that RAMDisk that I tested, immediately crashed as soon as I
    tried an HDTune benchmark run. That bug is fixed, and HDTune runs fine.
    Now, if only the pagefile.sys can be housed without incident. That
    would be cooler still. As the testing I was able to do, showed
    it made a big difference. If you had 8GB of RAM, there'd be no
    "hard drive light stuck on for 30 seconds" in WinXP x32.

    Paul, Feb 27, 2013
  8. Rhino

    Anssi Saari Guest

    That's what I thought too but observation indicates otherwise. My 32bit
    XP SP3 installation won't boot any more (motherboard upgrade led to stop
    7B) but when it was still working, a video card (Nvidia GTX670) with 2
    GB was fine. In fact, XP saw 3.5 GB RAM out of 8 which was more than
    with my previous 1.25 GB video card. As far as I know simply not all
    of the graphics memory is mapped to the address space.
    Anssi Saari, Feb 27, 2013
  9. Rhino

    Paul Guest

    What happens, may depend on whether you've set PNP OS to "yes" or "no".
    Mine is always set to "No", meaning the BIOS does the planning.
    Now, maybe the BIOS code is clever, but I haven't seen
    any evidence of that to date.

    I think if you do PNP OS set to "yes", there might be some other
    possible outcomes. I can't say I've had occasion to try it.

    Paul, Feb 27, 2013
    1. Advertisements

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.