Cada procesador realiza diferentes compensaciones en función de su carga de trabajo esperada.
Usted pregunta sobre un comportamiento específico:
[I] fa error de caché hace que se cargue la línea A, y el siguiente error de caché hace que se cargue la línea B no adyacente, la carga de B se retrasará por la carga (s) en progreso de la (s) línea (s) adyacente a ¿UN? O, ¿la carga de B cancelará de inmediato / “puenteará” la carga de las líneas adyacentes a A?
A veces, esto se denomina pérdida de canalización , o pérdida por falta o memoria caché sin bloqueo . Algunos cachés lo admiten, otros no. He trabajado en procesadores en ambas categorías.
- ¿Cuáles crees que son los 5 mejores libros que debes leer?
- ¿Deberían los adultos poder leer cualquier libro que deseen o deberían prohibirse ciertos libros?
- ¿Cuáles son algunos libros que recomendarías para un principiante en PHP y JavaScrip?
- Estoy tratando de leer ‘Para matar un pájaro burlón’, pero el lenguaje me pareció demasiado difícil. ¿Qué tengo que hacer?
- Si supieras que ibas a ser encarcelado durante una semana y solo pudieras llevarte dos libros, ¿cuáles serían?
Sin embargo, su pregunta inicial planteó el tema de la especulación : “¿La lectura especulativa de la memoria adyacente realmente ralentiza la lectura (no especulativa) de la memoria no adyacente?”
La respuesta allí es muy dependiente de la carga de trabajo y del sistema de memoria. Y, a veces, la respuesta es sorprendente.
De hecho, hace varios años, leí un interesante artículo publicado por un equipo de la Universidad de Texas sobre la predicción de la utilidad del camino equivocado . ¿Qué es eso?
Comenzaron tratando de mejorar la eficiencia energética de su procesador al terminar la ejecución especulativa lo más rápido posible una vez que el procesador determina que se está ejecutando en el camino equivocado, en lugar de dejar que la tubería continúe hasta que se resuelva completamente el camino correcto.
Lo que descubrieron fue que sus programas se ralentizaron, a pesar de ejecutar menos instrucciones de ruta incorrecta. ¿Por qué? Resultó que algunas de esas instrucciones especulativas de ruta incorrecta todavía eran útiles para llevar los datos al caché temprano. Entonces, naturalmente, comenzaron a desarrollar un predictor de hardware que intentaría predecir qué tan útil sería la ruta incorrecta (y cuánto de la ruta incorrecta), para que pudieran mantener el beneficio de rendimiento.
Ver: Control de especulación basado en el rendimiento mediante predicción de utilidad de ruta incorrecta .