Does the addressable physical memory range depend on which slots are occupied by the memory?

  • Thread starter Thread starter Lighter
  • Start date Start date
L

Lighter

Does the addressable physical memory range depend on which slots are
occupied by the memory?

Say, I have a 32-bit CPU and 128M RAM, and the motherboard has 4 slots
for plugging the RAM in.

My question is if the following statement is correct:

No matter which of the 4 slots is occupied by the RAM, CPU can always
address the physical address range from 0-128M. In other words, when
CPU reads/writes data from/to the address 0x000000FF, it will always
succeed, no matter which of the 4 slots is occupied by the RAM.

Is this correct? Any help will be appreciated.
 
I have found this to be correct for modern motherboards using DIMMs. Some older motherboards using SIMMs were not so tolerant.
 
Lighter said:
Does the addressable physical memory range depend on which slots are
occupied by the memory?

Say, I have a 32-bit CPU and 128M RAM, and the motherboard has 4 slots
for plugging the RAM in.

My question is if the following statement is correct:

No matter which of the 4 slots is occupied by the RAM, CPU can always
address the physical address range from 0-128M. In other words, when
CPU reads/writes data from/to the address 0x000000FF, it will always
succeed, no matter which of the 4 slots is occupied by the RAM.

Is this correct?

1) 0x07FFFFFF would be the last physical 32-bit RAM address with 128M.

2) It wouldn't succeed if either the CPU, RAM, or RAM slot was
defective. (It DOES happen)

3) If you're only loading, for example, slot 1 and 4, the only GOOD
reason is a bad ram slot, otherwise, it just looks odd. And if a
technician saw you do that, he'd wonder if you were smoking something.

4) Some motherboards don't like being loaded like that. And do require
ram to be loaded starting with the lowest numbered slot.

5) Some types of memory (mostly obsolete simms) don't like being loaded
like that. A more modern example is Rambus.

6) It would likely screw with Dual Channel mode, forcing single
channel.

The short version, is don't do that unless you have a *good* reason to.
If you do, you will probably get away with it with no major issues.



Any help will be appreciated.
 
1) 0x07FFFFFF would be the last physical 32-bit RAM address with 128M.

2) It wouldn't succeed if either the CPU, RAM, or RAM slot was
defective. (It DOES happen)

3) If you're only loading, for example, slot 1 and 4, the only GOOD
reason is a bad ram slot, otherwise, it just looks odd. And if a
technician saw you do that, he'd wonder if you were smoking something.

4) Some motherboards don't like being loaded like that. And do require
ram to be loaded starting with the lowest numbered slot.

5) Some types of memory (mostly obsolete simms) don't like being loaded
like that. A more modern example is Rambus.

6) It would likely screw with Dual Channel mode, forcing single
channel.

The short version, is don't do that unless you have a *good* reason to.
If you do, you will probably get away with it with no major issues.


One thing I forgot to mention, address 0xFF is very low, it is reserved
for hardware access. A failure to write in that area may be an issue
with a hardware device.
 
Um, YES, because of TLB address spaces are automatically mapped to
physical addresses




k....cool
 
Back
Top