Seguro que te has preguntado más de una vez por qué tu procesador no se puede colocar al cien por cien de rendimiento. Pues bien, hay varios motivos para ello, aunque os vamos a explicar en el ámbito del hardware por qué ocurre esto y, por tanto, cuáles son las causas que lo provocan y hasta qué punto se puede solucionar.
Hemos de partir de que no existe el sistema perfecto en el sentido de que no tenga perdidas de rendimiento, es decir, no hay ningún sistema en el mundo que funcione al ciento por ciento de rendimiento. Por lo que esperar que la CPU de nuestro PC lo haga es no tocar con los pies al suelo. Sin embargo, las causas de por lo que ocurre esto pueden ser varias y os las vamos a explicar a continuación.
¿Por qué mi CPU no funciona al cien por cien de rendimiento?
Pues hay varios motivos para ello, aunque para entender bien el rendimiento hemos de partir de los tres elementos base: velocidad de reloj, número de núcleos y el IPC. De todos ellos, los dos primeros son valores constantes que no dependen de elementos externos. El IPC, en cambio, si bien depende de la arquitectura del procesador, es decir, de la organización interna de sus componentes. También se ve influenciada por una serie de elementos externos.
Se ha de entender el IPC como la media instrucciones por ciclo que realiza un procesador. Sin embargo, esta medida no se puede tomar como un baremo para comparar las CPU y aun así el marketing de Intel y AMD lo repite de forma incesable como si fuese una constante de rendimiento que se puede extrapolar para todos los programas y en todos los casos posibles.
Y aquí es donde tenemos que entrar en dos cuellos de botellas distintos:
- El primero de ellos es por la RAM, existe un cuello de botella en la comunicación del procesador con la memoria, lo que puede crear una latencia en cada instrucción y termina por afectar al rendimiento generalizado del sistema si el subsistema de memoria no es lo suficientemente rápido.
- El segundo es por el software, es decir, por las instrucciones escogidas para codificar el programa. Esto no depende obviamente del hardware, sino de las buenas prácticas en programación a la hora de codificar las aplicaciones. Es por ello que no vamos a tocar dicha parte en este artículo.
Stalls o paradas
Cuando una CPU está sin hacer nada no rinde, y puede que este sin hacer nada por no recibir instrucciones a realizar o por no poderlas completar por el hecho de que está esperando una respuesta de la memoria. Con el paso del tiempo han aparecido trucos para evitar este problema. El más conocido es el de las cachés, que son memorias en el procesador que contienen copias de partes de la RAM para acceder rápido a ellas. Otro truco es el multihilo que consiste en darle al núcleo otra tarea a ejecutar en el tiempo de parada para poder sacarle más provecho.
Es decir, la falta de rendimiento no es por falta de potencia, sino por el hecho que la comunicación con la memoria no es la ideal en la gran mayoría de casos y esto no es algo que se puede predecir. Es decir, no se diseña un procesador para alcanzar una cifra de rendimiento concreta, sino para que teniendo en cuenta todas las dificultades llegue al máximo posible. En especial por el hecho que el controlador de memoria integrado o IMC se puede ver saturado por completo por la enorme cantidad de demandas a memoria que existe.
No en vano, es por ello que muchos sistemas a futuro se están diseñando con el concepto de acercar más la información al procesador para aumentar el IPC y con ello conseguir acercarse al cien por cien de rendimiento. La idea es reducir al máximo la cantidad de stalls o de paradas que sufren los diferentes núcleos de la CPU. Lo cual, es desde tiempos inmemoriales el mayor cuello de botella en cuanto a hardware y el que impide usar toda la potencia del procesador.
¿Se puede solucionar de alguna manera?
Pues sí, a la hora de comprar los módulos de memoria de tu PC donde deberás procurar que estos tengan la latencia más baja posible. No olvidemos de que el procesador y la RAM se comunican de forma sincronizada y, por tanto, los tiempos de acceso funcionan de manera coordinada. Sin embargo, habréis observado al comprar los diferentes módulos de memoria que estos tienen diferentes tiempos de latencia. Pues bien, las que tienen la latencia más baja permiten acercarse al cien por cien de rendimiento de la CPU.
El otro punto es el de utilizar configuración de doble canal, lo cual consiste en usar el acceso a dos módulos de memoria al mismo tiempo. Aunque en el caso de la DDR5 es cuádruple canal más bien, con tal de evitar las paradas. Es más, a nosotros nos sorprende que se vendan sistemas Single Channel todavía a día de hoy.
Otros elementos que no permiten que el procesador llegue al 100% de rendimiento
Incluso si tuviéramos la CPU perfecta en la que no hubiese ningún problema en la comunicación con la memoria y los programas estuviesen bien escritos, aun así nos encontraríamos que no se llegaría al cien por cien de rendimiento. Todo ello por una serie de factores externos que, aunque banales y aparentemente descartables en principio, sí que afectan a la creación de un entorno ideal para ello.
Los principales culpables de ello son los controladores de voltaje, temperatura y velocidad de reloj. Hay muchos mecanismos en el procesador que son síncronos y, por tanto, para funcionar dependen de una velocidad de reloj y un tiempo para cada ciclo. Si este se desajusta puede terminar con un mal funcionamiento del sistema, por lo que existe un tiempo de ajuste entre una variación en los GHz de la CPU, independientemente de la marca y la arquitectura de la que hablemos.
The post Jamás exprimirás al máximo el procesador de tu ordenador y el motivo te sorprenderá appeared first on HardZone.
from HardZone https://ift.tt/lLa6xio
via IFTTT
No hay comentarios:
Publicar un comentario