Parece que los dos grandes fabricantes de GPU están constantemente lanzando controladores actualizados que tienen un pequeño aumento de rendimiento aquí y allá. Cuando son para el mismo juego, apuesto a que se acumula con el tiempo.
Con eso en mente, ¿por qué nunca escuchamos acerca de AMD o Intel que modifican los controladores de CPU para una determinada aplicación o versión de Windows o algo así?
Respuestas:
En primer lugar, a veces hay casos en los que se lanza un parche de controlador que podría aumentar el rendimiento o aumentar la eficiencia para una determinada CPU. Pero obviamente estás haciendo esta pregunta porque simplemente no es tan común. Sin embargo, lo que hacen las optimizaciones del controlador de CPU es similar en concepto.
Una GPU es un circuito muy complicado. Existe para descargar ciertas tareas que toman mucho tiempo en una CPU. Reciben conjuntos de datos e instrucciones sobre qué hacer con estos datos. La GPU debe poder ordenar los datos de manera manejable e interpretar las instrucciones para indicarle qué hacer. Luego, debe realizar una serie de operaciones matemáticas en los datos. Después de eso, debe volver a ordenar los datos y enviar los resultados al sistema operativo cuando esté completo. Esta es una descripción muy simplista de la tubería de gráficos por computadora . Hay varios pasos que se deben tomar antes de que los datos estén listos para el programa.
Ahora, como la GPU debe aceptar conjuntos de instrucciones e implementar operaciones matemáticas muy complicadas en el hardware, habrá ciertas cosas que se sabe que se ejecutan más rápido o más lento a través de esta tubería. Parte de escribir un controlador para un dispositivo es interpretar los datos y las instrucciones enviadas al dispositivo, traduciéndolo para que el dispositivo pueda entenderlo. Cuando un controlador hace esto, puede tomar decisiones sobre cómo enviar los datos al dispositivo para que las tareas tomen el menor tiempo posible. Sin embargo, un controlador generalmente no tiene mucha información sobre lo que está haciendo el programa que está atendiendo. Todo lo que recibe del programa son las llamadas a la API ("dibujar una línea", "colorear un punto", "sombrear un triángulo", etc.). Entonces, las suposiciones que puede hacer no son muy buenas.
Cuando AMD o nVidia publican una actualización de controlador que contiene mejoras de rendimiento para juegos específicos, lo que esto significa es que el controlador detectará qué juego está llamando al hardware de gráficos y tendrá una serie de suposiciones codificadas que se conocen sobre cómo es el juego. implementado. Puede ser que el juego tenga muchas imágenes de textura que deben intercambiarse rápidamente dentro o fuera de la memoria, o que haga una gran combinación de colores sobre la marcha para producir ciertos efectos de iluminación. Por lo general, lo que hará un juego es implementar pequeños programas (llamados "sombreadores") que describen cómo realizar estos cálculos, y se enviarán a la GPU para ejecutarlos. Si el conductor sabe cómo el juego usa el hardware, puede organizar los datos y elegir conjuntos de instrucciones que realicen la tarea deseada de una manera que aumente el rendimiento y la eficiencia.
Sin embargo, a veces, después de que se ha enviado el producto, se pueden encontrar errores en alguna parte de la GPU. Puede ser lo suficientemente oscuro como para haberse perdido en la validación cuando se diseñó el chip, pero se puede encontrar que causa un comportamiento defectuoso o indeseable (o incluso se bloquea) en un juego en particular que lo golpea. En ese caso, el controlador detectará este estado defectuoso y lo solucionará, ya sea descargando algunos cálculos en el lado de la CPU o cambiando la forma en que alimenta los datos a la GPU para que no entre en este estado. Estos, nuevamente, serán lanzados en forma de actualizaciones de controladores.
Básicamente, no está cambiando el rendimiento del hardware en sí, solo está cambiando la forma en que usa el hardware, para que pueda operar de manera más eficiente y rápida en el mismo conjunto de datos.
fuente
Los "controladores de CPU" raramente existen, y ciertamente no como módulos cargables. El "controlador de CPU" ocasional se necesitaría para alguna variación del control multinúcleo o el manejo de interrupciones (por ejemplo, los núcleos dobles AMD necesitaban un controlador WinXP para una utilización completa). De lo contrario, la mayoría de los sistemas operativos se configuran y crean para acceder a la CPU directamente. Si aparece un problema y es grave, el código del kernel se parchea y se lanza una actualización del kernel.
Las GPU ya no son solo periféricos; Se han convertido en coprocesadores. El "controlador de GPU" no solo proporciona acceso al dispositivo, sino que también incluye algoritmos de procesamiento (es decir, subprogramas de gráficos) para la GPU empaquetada en el controlador. El tamaño de estos "controladores" es un regalo / pista. Son estos algoritmos / subprogramas los que se están mejorando.
fuente
No son solo los controladores, es la GPU misma. Una GPU está especializada en varios tipos de cálculos (por ejemplo, FFT) y manipulación de memoria. Puede funcionar en paralelo en la mayoría de las tareas dadas y hacerlo más efectivo que una CPU de uso general.
Con un mejor conocimiento de los programas en ejecución, puede optimizar la manipulación de la memoria o los procesos de cálculo para estos programas. La GPU es muy versátil en cómo hacer cálculos y realizar manipulaciones de memoria, por lo que aún debe escribirse el firmware o controlador perfecto . ;) Hay mucho espacio para mejoras.
La mayoría de los otros dispositivos no son tan versátiles en su uso. La mayoría del hardware en una PC tiene que ejecutarse en sus especificaciones, seguir protocolos, por lo que el controlador no necesita ser optimizado.
A, se olvidó de la CPU. > _ <La CPU se puede optimizar. La mayoría de los nuevos modelos de CPU tienen un firmware programable, pero el aumento de rendimiento no vale la pena. Solo se usa para corregir errores en el proceso de compilación de hardware.
fuente