memory - Is a multiplexed system/address bus slower?

08
2014-07
  • Sukminder

    When a address bus is multiplexed it typically send addresses in two consecutive parts. Thus for a 32 bit bus one only need 16 wires.

    Typically, (if I get this correct):

    4 bit bus:

      +-------------+            +-------------+
      |             +----1------->             |
      |             |            |             |
      |             +----0------->             |
      |             |            |             |
      |             +----0------->             |
      |             |            |             |
      |             +----1------->             |
      +-------------+            +-------------+
    

    4 bit multiplexed

      +-------------+            +-------------+
      |             |            |             |
      |             +----0---1--->             |
      |             |            |             |
      |             +----1---0--->             |
      |             |            |             |
      +-------------+            +-------------+
    

    As there is a problem with memory speed vs CPU capability doesn't a multiplexer cause speed penalty? Is it a physical constraints issue?

  • Answers
  • cybernard

    depends on the bus speed.

    If both are say 500Mhz then yes the effective speed is 50% for the second example.

    If #1 is 500Mhz and #2 is 1000Mhz then the transfer speeds are the same.


  • 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.