Electronic – Big address space and small physical size

addressingbusmicrocontroller

The Intel D1000 MCU datasheet says:

The MCU has 4 kB of data flash and 32 kB of code flash. Code flash
occupies the address range 0x2000 0000 to 0x3FFF FFFF and is aliased
throughout. It is accessible from both 128-bit code and 32-bit data
busses. Data flash occupies the address range 0x4000 0000 to 0x5FFF
FFFF
and is aliased throughout.

The size of the address space is:

0x2000 0000 ~ 0x3FFF FFFF = 512M Bytes

0x4000 0000 ~ 0x5FFF FFFF = 512M Bytes

  • But the datasheet says the MCU has only 4kB data flash and 32kB code flash. Why the address space is so big and the physical size is so small? Does it mean that only the first 4kB or 32kB of the big address space can be used?

  • And what does aliased mean?

Best Answer

Another word for "aliased" is "duplicated". The same physical memory location can be accessed at multiple locations, all 4K/32K apart.

Basically, they only decode the bottom 12 or 15 address bits (and some top ones for chip select).

As for why? The address registers are 32 bit, but they've only provided tiny storage chips.