Los procesadores Intel de 32 bits como Pentium tienen un bus de datos amplio de 64 bits y, por lo tanto, obtienen 8 bytes por acceso. En base a esto, asumo que las direcciones físicas que estos procesadores emiten en el bus de direcciones siempre son múltiplos de 8.Alineación de memoria en un procesador Intel de 32 bits
En primer lugar, ¿es correcta esta conclusión?
En segundo lugar, si es correcto, entonces uno debe alinear los miembros de la estructura de datos en un límite de 8 bytes. Pero he visto personas que usan una alineación de 4 bytes en cambio en estos procesadores.
¿Cómo pueden justificarse al hacerlo?
No tengo idea de lo que significa esta pregunta, pero estoy intrigado acerca de cómo esto se relaciona con la programación, y cómo esto podría afectarme. ¿Dónde puedo leer una introducción básica a este tipo de cosas de bajo nivel? –
Consulte "Lo que todo programador debe saber sobre la memoria": http://people.redhat.com/drepper/cpumemory.pdf – Crashworks
¿Cómo se puede obtener desde "lecturas solicitadas siempre son múltiplos de 8" hasta "sus datos siempre deben comenzar en un límite de 8 bytes "? No veo la conexión lógica entre estos. Mientras los datos no * crucen * un límite de 8 bytes, estamos bien, ¿verdad? – jalf