Search code examples
memorycomputer-sciencecpu-architecture

how this example in computer architecture is possible for main memory?


I read my notes as follows:

This Example

My challenge is how it's possible that we have (2^14)-1 words? how it was calculated?

We have 2^16 addressable unit divide by 2^1 (1 byte or 8 bit) makes 2^15 not 2^14. where is my mistake?


Solution

  • The addressable units are bytes. With 16 bit addressing, that's 2^16 of them. 32 bit words are 4 bytes, so 2^16 / 4 (or 2^2) = 2^14.

    That's assuming the addressing of words must be word-aligned. If words can be byte aligned, words can overlap, with one word starting at each byte (except the top or memory). That's not the normal case though.