|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Memory |
|
|
|
|
|
|
|
Problem:
|
|
|
|
|
|
How long does it take to
get 4 bytes? |
|
|
|
|
If
the data is word-aligned, and it takes time T to get 1 byte, it will take
time 4T |
|
|
|
to get 4 bytes (4
accesses to the same chip) |
|
|
|
|
Why is word alignment
significant? |
|
|
|
Solution: put
consecutive bytes on different chips. This is called interleaving. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M[0]
on Chip 00, M[1] on Chip 01, M[2] on Chip 10, M[3] on Chip 11, |
|
|
|
|
and M[4] back on Chip 00 |
|
|
|
If data is word-aligned,
first byte always appears on chip 00 |
|
|
|
|
|
Also, the other bytes
are at the same address on the other chips |
|
|
|
Allows accessing an
entire word in time T |
|
|
|
Where is M[5]? Chip 01,
index 1 |
|
|
|
In
general, where is M[i]? Think of the address in binary. |
|
|
|
The chip is at i % 4 |
|
|
The chip is the low two bits. |
|
|
The index is at i / 4 |
|
The index is bits B11-2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|