Articles of cpu cache

herramienta más simple para medir C acusaciones de caché del progtwig y el tiempo de CPU en Linux?

Estoy escribiendo un pequeño progtwig en C, y quiero medir su rendimiento. Quiero ver cuánto tiempo se ejecuta en el procesador y cuántos hits de caché + falta ha hecho. La información sobre los interruptores de contexto y el uso de memoria sería bueno tener también. El progtwig tarda menos de un segundo en ejecutarse. […]

clflush para invalidar la línea de caché a través de la función C

Estoy intentando usar clflush para desalojar manualmente una línea de caché para determinar el caché y los tamaños de línea. No encontré ninguna guía sobre cómo usar esa instrucción. Todo lo que veo son algunos códigos que usan funciones de nivel superior para ese propósito. Hay una función del kernel void clflush_cache_range(void *vaddr, unsigned int […]

¿Qué técnica de mapeo de caché se usa en el procesador intel core i7?

Aprendí sobre diferentes técnicas de mapeo de caché, como el mapeo directo, el mapeo asociado y la técnica de mapeo asociativo de conjuntos, y también aprendí las ventajas y desventajas. Pero tengo curiosidad por saber qué se usa en el procesador intel core i7 o AMD hoy en día. Y cómo se evolucionan las técnicas. […]

¿Cómo se escribe el código que mejor utiliza la memoria caché de la CPU para mejorar el rendimiento?

Esto podría parecer una pregunta subjetiva, pero lo que estoy buscando son instancias específicas, que podría haber encontrado relacionadas con esto. ¿Cómo hacer que el código, la memoria caché sea eficaz / compatible con la caché (más éxitos de caché, el menor número de errores de caché posible)? Desde ambas perspectivas, la caché de datos […]

Las cargas no temporales y el precapturador de hardware, ¿funcionan juntos?

Al ejecutar una serie de llamadas _mm_stream_load_si128() ( MOVNTDQA ) desde ubicaciones de memoria consecutivas, el pre-fetcher de hardware aún se activará, o debería usar la captación previa de software explícita (con sugerencia NTA) para obtener los beneficios de la captación previa mientras aún ¿evitando la contaminación del escondite? La razón por la que pregunto […]

¿Cómo puedo hacer un vaciado de caché de CPU en Windows x86?

Estoy interesado en forzar el vaciado de la memoria caché de la CPU en Windows (por razones de evaluación comparativa, quiero emular el inicio sin datos en la memoria caché de la CPU), preferiblemente una implementación C básica o una llamada Win32. ¿Hay una manera conocida de hacer esto con una llamada al sistema o […]

Qué ordenamiento de bucles nesteds para iterar sobre una matriz 2D es más eficiente

¿Cuál de los siguientes ordenamientos de bucles nesteds para iterar en una matriz 2D es más eficiente en términos de tiempo (rendimiento de la memoria caché)? ¿Por qué? int a[100][100]; for(i=0; i<100; i++) { for(j=0; j<100; j++) { a[i][j] = 10; } } o for(i=0; i<100; i++) { for(j=0; j<100; j++) { a[j][i] = 10; […]

¿Por qué el tamaño de la memoria caché L1 es más pequeño que el de la caché L2 en la mayoría de los procesadores?

¿Por qué el tamaño de la memoria caché L1 es más pequeño que el de la caché L2 en la mayoría de los procesadores?