Originariamente inviato da oregon
Serve ad ottimizzare gli accessi in memoria da parte delle CPU.

In realta', una CPU a 32 bit riesce ad accedere in memoria in modo piu' efficiente e veloce se l'indirizzo a cui sta accedendo e' allineato ai 32 bit, appunto.

Se in memoria hai i byte allineati in questo modo

X1 X2 X3 X4
Y1 Y2 Y3 Y4

in cui i byte X1 e Y1 sono allineati ai 32 bit, per leggere i dati X4 e Y1 in blocco, in realta' la CPU deve effettuare due operazioni, la lettura dei primi 4, di cui scartera' i primi 3 e la lettura degli altri 4, di cui scarterà gli ultimi 3. Leggera' quindi

.. .. .. X4
Y1 .. .. ..

8 byte ...

Se al, contrario, il byte X4 fosse allineato, imponendo un byte di padding, in questo modo

X1 X2 X3 PP
X4 Y1 Y2 Y3

la CPU potrebbe leggere il valore a 16 bit composto da X4 e Y1 in una sola lettura, utilizzando i primi due byte e scartando gli altri due.

Non so se mi sono spiegato ...
Non sono riuscito a capire proprio bene...
Ad ogni modo