What's the difference between aligned access and aligned data?

Viewed 17

I looked at an older article on Nehalem architecture improvements; first point mentions this:

First of all, there’s no performance penalty for using the unaligned versions of load/store instructions in cases where the data are aligned in memory.

What does it mean?

Say I have some random data in memory; is it 'aligned'? I thought that aligned access (I guess == aligned versions of store/load) implies some aligned data that is accessed.

But here they talk about unaligned access of aligned data; I'm not sure what this means.

If I have a struct aligned at 64 bits in memory, and I access a word at e.g. offset 3 within that struct, is it any better than the case where the struct itself is unaligned?

I thought that the resulting address accessed is all that matters in context of alignment.

0 Answers
Related