Un procesador realiza un acceso a la memoria en términos de una carga o una instrucción de almacenamiento.
En la mayoría de las arquitecturas (x86 / ARM / POWER), las instrucciones de carga / almacenamiento admiten el acceso a diferentes tamaños de bytes (1 byte / 2 byte / 4 byte / 8 byte / 16 byte normalmente)
Un acceso a memoria no alineado es una carga / almacén que está intentando acceder a una ubicación de dirección que no está alineada con el tamaño de acceso .
- ¿Cuáles son algunos consejos / verdades que desea dar a un estudiante de ingeniería informática de primer año?
- Soy un ingeniero eléctrico (de circuitos) voluntario para ayudar a los estudiantes de secundaria a fabricar un robot. ¿Qué necesito saber teniendo en cuenta que solo hago circuitos?
- Como estudiante de ingeniería informática, ¿qué debo aprender para desarrollar mis habilidades?
- ¿Qué es la predicción de rama en el contexto de las CPU?
- ¿Cuál es la diferencia entre una computadora y una IA?
Por ejemplo: una instrucción de carga que intenta acceder a 4 bytes desde la dirección 0x1 es un acceso no alineado. Esto generalmente se divide en dos operaciones internas como se muestra en el siguiente diagrama y se fusiona en una. (Referencia: Mi presentación sobre la ejecución de almacén de carga de compartición de diapositivas)
Tenga en cuenta que en el caso de sistemas con cachés, también puede haber casos de direcciones que cruzan un límite de línea de caché (también conocido como acceso desalineado ) y algunas veces los accesos también pueden cruzar un límite de página.
Entonces también puede tener otras complejidades, como la mitad del acceso a la memoria se encuentra en la memoria caché, mientras que la otra mitad se pierde en la memoria caché. La unidad de ejecución del almacén de carga junto con los controladores de caché se ocupa de estas complejidades, pero en resumen sigue el mismo principio básico de fusionar dos accesos
Algunas arquitecturas (como Intel x86) también tienen interrupciones de alineación que ayudan a detectar el acceso a la memoria sin alinear.