Alinear a la línea de caché y conocer el tamaño de la línea de caché

Para evitar el intercambio falso, quiero alinear cada elemento de una matriz a una línea de caché. Primero, necesito saber el tamaño de una línea de caché, así que asigno a cada elemento esa cantidad de bytes. En segundo lugar, quiero que el inicio de la matriz se alinee con una línea de caché.

Estoy usando Linux y la plataforma x86 de 8 núcleos. Primero, ¿cómo encuentro el tamaño de la línea de caché? En segundo lugar, ¿cómo me alineo con una línea de caché en C. Estoy usando el compilador gcc.

e modo que la estructura estaría siguiendo, por ejemplo, suponiendo un tamaño de línea de caché de 64.

element[0] occupies bytes 0-63
element[1] occupies bytes 64-127
element[2] occupies bytes 128-191

y así sucesivamente, suponiendo, por supuesto, que 0-63 esté alineado con una línea de caché.

Respuestas a la pregunta(6)

Su respuesta a la pregunta