Speicherausrichtung auf einem 32-Bit-Intel-Prozessor
Intels 32-Bit-Prozessoren wie Pentium verfügen über einen 64-Bit-Datenbus und holen daher 8 Bytes pro Zugriff. Aufgrund dessen gehe ich davon aus, dass die physikalischen Adressen, die diese Prozessoren auf dem Adressbus ausgeben, immer ein Vielfaches von 8 sind.
Erstens ist diese Schlussfolgerung richtig?
Zweitens sollte man, wenn es korrekt ist, Datenstrukturelemente an einer 8-Byte-Grenze ausrichten. Aber ich habe Leute gesehen, die stattdessen eine 4-Byte-Ausrichtung auf diesen Prozessoren verwendeten.
Wie können sie damit gerechtfertigt werden?