Todos los procesadores AMD Family 10h (incluidos Barcelona y Istanbul) tienen dos precargadores de hardware diferentes.
-
El primero es el captador previo de caché de datos tradicional que reconoce flujos contiguos de accesos de línea de caché ascendentes o descendentes. Se puede deshabilitar configurando el bit 13 de MSRC001_1022 a "1".
-
El otro precapturador de hardware es el "precapturador de controlador de memoria". Este es un precapturador algo más general, pero solo funciona dentro del controlador de memoria (es decir, no envía los datos precargados a un núcleo; solo permite que el controlador de memoria los devuelva más rápidamente cuando el núcleo lo solicita).
- El control principal para este captador previo está en el espacio de configuración de PCI, función 2, compensación de 11 canales, con control adicional en la función 2, compensación de 1B0h para los procesadores después de Barcelona.
- He tenido éxito al deshabilitar y volver a habilitar este precapturador en un sistema Barcelona "en vivo" al actualizar los valores en el espacio de configuración PCI a través del controlador de dispositivo /dev/mem. (¡No intentes esto en casa!)
- La actividad del precapturador del controlador de memoria se muestra mediante el evento de contador de rendimiento de hardware 1F0h, con UnitMasks 02 y 04.
- Tenga en cuenta que el precapturador del controlador de memoria para Shanghái/Estambul/MagnyCours funciona "coherentemente" (lo que significa que las operaciones de sondeo de coherencia de caché se emiten junto con las captaciones previas de memoria), mientras que el precapturador del controlador de memoria en Barcelona no emite operaciones de coherencia de caché (no no se emita hasta que la solicitud del núcleo para la línea de caché llegue al controlador de memoria).
Lo anterior está documentado en la Guía del desarrollador de BIOS y kernel para procesadores Family 10h:http://support.amd.com/us/Processor_TechDocs/31116.pdf