motherboard - What is the difference between the terms "memory", "main memory", "RAM", "Memory bank" and "Memory Module"

07
2014-07
  • Celeritas

    What is the difference in the followoing words? They seem to all be interchangable.

    Memory, Main memory, RAM, Memory bank, Memory Module.

    Correct me if I'm wrong but my understanding is memory is a very general term, for example anywhere data can be stored can be considered memory (except registers). Main memory refers to the memory that typically sits between HDD and CPU and is RAM. RAM is a technology for main memory, in the sense that it allows for random reads and writes. Memory bank is the physical location on the motherboard where the main memory goes. Memory module is a physical piece of main memory (such as those strips you can buy from the store). Is this right?

  • Answers
  • Keltari

    Memory - a broad term including all type of memory. This includes RAM, ROM, flash, etc.

    RAM - Random Access Memory. A random-access device allows stored data to be accessed directly in any random order. Today, random-access memory takes the form of integrated circuits. Strictly speaking, modern types of DRAM are not random access, as data is read in bursts, although the name DRAM / RAM has stuck. However, many types of SRAM, ROM, OTP, and NOR flash are still random access even in a strict sense. RAM is normally associated with volatile types of memory (such as DRAM memory modules), where its stored information is lost if the power is removed. Many other types of non-volatile memory are RAM as well, including most types of ROM and a type of flash memory called NOR-Flash. The first RAM modules to come into the market were created in 1951 and were sold until the late 1960s and early 1970s.

    Memory Bank - A memory bank is a logical unit of storage in electronics, which is hardware dependent. In a computer the memory bank may be determined by the memory access controller along with physical organization of the hardware memory slots.

    Memory Module - A broad term used to refer to a series of dynamic random access memory integrated circuits modules mounted on a printed circuit board and designed for use in personal computers, workstations and servers.


  • Related Question

    computer architecture - What is the maximum addressable memory?
  • Questioner

    I just started learning assembly.

    My laptop specification says:

    Microprocessor: Intel Core Duo processor T2300

    Microprocessor Cache: 2MB L2 Cache

    Memory Max: 2048MB

    Memory: 1024MB 667MHz DDR2 System Memory (2 Dimm)

    "Intel Core Duo processor T2300" specification says:

    instruction Set : 32-bit

    I think now I can assume that the data bus is also at least 32 bit. So minimum addressable memory should be 4GB.

    Moreover CPU specification also mention the Memory Specifications

    Physical Address Extensions 32-bit

    which as I understand means it can address 64GB of memory

    Would that mean that, given only 2 memory slots on motherboard, my laptop can support 2x 2GB memory sticks == (4GB) memory?

    I guess the laptop guys assumed that there won't be 2GB sticks, so they might have mentioned Memory Max: 2048MB


  • Related Answers
  • Kevin Montrose

    Addressable memory for a 32-bit system is 4GB, physical memory is whatever's installed. Your operating system manages the later to give running programs the illusion of the former. Its a good deal more complicated than that, but that's the gist of it.

    PAE increases the amount of physical memory that a machine can use, not the addressable memory. Pointers remain 32-bit, so addressable memory is still restricted to 4GB.

    Memory capacity on a machine is dictated by more than just what the CPU is capable of. Don't assume your machine can support 4GB.

  • Paul Tomblin

    There are many factors beyond the memory address space that controls how much memory a computer can address. For instance, my wife's Mac Book PRo can only support 3GB, and if you put two 2GB memory sticks, it still only addresses 3GB of it.

    By the way, 32 bits means the chip can theoretically address 4GB of memory. Where did you ge that 64GB number?

  • Brian Rasmussen

    There are a number of factors in play here. With a 32 bit architecture the OS is be able to address 4 GB of memory. However, all of this may not be available for applications. For instance a Windows machine with 4 GB of memory will usually not be able to use more than roughly 3,5 GB for OS and applications as some of the address space is used to map hardware.

    Also, Windows splits the 32 bit memory address space into two: 2 GB for kernel memory used by the OS and 2 GB for user space applications. I.e. per default each application will only be able to access 2 GB of memory. Windows can be configured to use 1 GB for kernel and 3 GB for user.

    On top of that the actual hardware may set certain limitations. When your laptop specification says maximum memory is 2 GB it is most likely because that is the maximum the motherboard will support. It doesn't matter how much the OS is able to address. If the hardware will only recognize 2 GB then that is the limit on physical memory for the machine.

  • 8088

    No, I completely disagree - a 32-bit processor does not mean that the addressable memory is 4GB. Strictly saying 32-bit processors mean that your ALU size is 32 i.e. it can perform operation on 32 bit data at a time. *note- a 32 bit CPU does not mean the size of the data bus. As your CPU is 32 bit it can manipulate on 32 bit data (which can be an address) so it is faster in operation.

    All it depends on is the size of your address bus. If the address bus size is 32 bit it means there are 2^32 location available for your CPU to which it can communicate. The location start from 0H to FFFFFFFF. Imagine that your CPU is 32 bit but your address bus is only 8 bits. How many location are available for your CPU to communicate? There are only 2^8=256 locations available for your CPU to communicate. Since each location is 8 bits=1byte, your CPU can only address up to 256 bytes of memory.