Can DDR ram read 128 bits that are not in sequence?

  • Thread starter Thread starter lemo5
  • Start date Start date
L

lemo5

What if I want to read only every tenth 32bit-integer of a large array?
or one 32bit-member in every 200bit-object in a large array of
200bit-objects, can i still benefit from a 128 bandwidth?
thanks.
bill
 
What if I want to read only every tenth 32bit-integer of a large array?
or one 32bit-member in every 200bit-object in a large array of
200bit-objects, can i still benefit from a 128 bandwidth?
thanks.
bill

"DDR" has nothing to do with it -- the answer lies in the memory
controller and the memory configuration and how the data is stored. If
the compiler is optimized properly it will keep each integer variable
from breaking across the memory chunk size (in this case 128 bits). So
it will place 4 of the 32-bit (4 byte) integers within one 128 bit (16
byte) memory chunk. If the compiler is not optimizing then you might
find that reading any given integer might (about 1/4 of the time?) have
to involve two 128-bit memory chunks. If you are dealing with object
with 200 bits then there is no way that a single memory operation will
be able to read or store the whole object. Don't really know how modern
languages handle picking a 32-bit member from 200 but I suspect that it
will again fall to the compiler's optimization strategy but until I
knew, based on testing, I'd assume that two reads/writes would always be
involved in dealing with that 200-bitter even if only a small portion of
it was the real target of the operation.

So much for my SWAG...
 
Back
Top