[Tutor] what is 'doubleword alignment'?
Dave Angel
d at davea.name
Sun Jul 17 00:02:30 CEST 2011
> --- On Sat, 7/16/11, Albert-Jan Roskam<fomcl at yahoo.com> wrote:
>
> From: Albert-Jan Roskam<fomcl at yahoo.com>
> Subject: [Tutor] what is 'doubleword alignment'?
> To: "Python Mailing List"<tutor at python.org>
> Date: Saturday, July 16, 2011, 8:23 PM
>
> Hello,
>
> What is 'doubleword alignment'? It is used in the following sentence: "Fill up the buffer with the correctly encoded numeric and string values, taking care of blank padding and doubleword alignment."
>
> I know that the buffer is comprised of variables of 8-bytes, or multiples thereof, each. Numeric variables are 8 bytes, char vars are at least 8 bytes. For example, a 10-byte value is 'ceiled' to 18 bytes. This is done with padding (spaces, I think). But the aligment part...?
>
> TIA
>
> Cheers!!
>
> Albert-Jan
>
On 07/16/2011 04:53 PM, Albert-Jan Roskam wrote:
> Got it already, I think. The word boundary of one chunk of information (in my case 8 bytes) is aligned in the computer's memory such that the boundary's address is a power of two.
>
> But correct me if I'm wrong ;-)
>
> Cheers!!
>
> Albert-Jan
>
>
>
(please put your new text AFTER the text you're quoting. I moved it in
this case, but couldn't also get the indentation right)
Not quite. Doubleword alignment is alignment on an 8byte boundary. The
address of such a boundary will be a multiple of 8, not a power of two.
So in your earlier example, the 10 byte string will be padded to 16, not
18 bytes. If the buffer starts aligned, then each such element will
also be aligned.
--
DaveA
More information about the Tutor
mailing list