Re: [RFC] Documentation about unaligned memory access

Jörn Engel
2007-11-30T08:23:58Z

On Fri, 23 November 2007 00:15:53 +0000, Daniel Drake wrote:
>
> What's the definition of an unaligned access?
> =============================================
>
> Unaligned memory accesses occur when you try to read N bytes of data starting
> from an address that is not evenly divisible by N (i.e. addr % N != 0).
> For example, reading 4 bytes of data from address 0x10000004 is fine, but
> reading 4 bytes of data from address 0x10000005 would be an unaligned memory
> access.

The wording could also apply to a DMA of 8k from a 4k-aligned address.
But I don't have a good idea how to improve it.

> It's safe to assume that memcpy will always copy bytewise and hence will
> never cause an unaligned access.

s/always copy/always behave as if copying/

memcpy usually copies at least wordwise, possibly even in bigger chunks.
But that is just the inner loop. Unaligned bytes at the beginning/end
receive special treatment.

Jörn

--
The rabbit runs faster than the fox, because the rabbit is rinning for
his life while the fox is only running for his dinner.
-- Aesop