caching - una - ¿Cuál es la semántica para los buffers Super Queue y Line Fill?
soluciones amortiguadoras de ph (1)
Estoy haciendo esta pregunta sobre Haswell Microarchitetcure (CPU Intel Xeon E5-2640-v3). De las especificaciones de la CPU y otros recursos descubrí que hay 10 LFB y el tamaño de la supercola es de 16. Tengo dos preguntas relacionadas con LFB y SuperQueues:
1) ¿Cuál será el grado máximo de paralelismo de nivel de memoria que el sistema puede proporcionar, 10 o 16 (LFB o SQ)?
2) De acuerdo con algunas fuentes, cada falla de L1D se registra en SQ y luego SQ asigna el buffer de relleno de línea y en algunas otras fuentes han escrito que SQ y LFB pueden funcionar de forma independiente. ¿Podría explicar el funcionamiento de SQ en resumen?
Aquí está la figura de ejemplo (No para Haswell) para SQ y LFB. Referencias: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
Para (1) lógicamente, el paralelismo máximo estaría limitado por la parte menos paralela de la tubería, que son los 10 LFB, y esto es probablemente estrictamente cierto para el paralelismo de carga a demanda cuando la captación previa está desactivada o no puede ayudar. En la práctica, todo es más complicado una vez que su carga es parcialmente ayudada por la captación previa, ya que las colas más amplias entre L2 y RAM pueden usarse para hacer que el paralelismo observado sea mayor que 10. El enfoque más práctico es probablemente la medición directa: dado Latencia medida en RAM y rendimiento observado, puede calcular un paralelismo efectivo para cualquier carga en particular.
Para (2) mi comprensión es que es al revés: todas las demandas falta en L1 asignan primero en el LFB (a menos que, por supuesto, golpeen un LFB existente) y pueden involucrar a la "superqueue" más tarde (o lo que sea que se llame días) si también pierden más alto en la jerarquía del caché. El diagrama que incluyó parece confirmar que: la única ruta desde la L1 es a través de la cola LFB.