Nuestro PC realiza a diario una serie de tareas comunes mientras lo estamos usando que se han convertido en el próximo objetivo para mejorar el rendimiento de futuros procesadores. Para ello no se usarán núcleos más potentes, ni mejores cachés, tampoco se ampliará la velocidad de reloj. Si no que se ha decidido tomar un camino distinto, en una era donde la potencia por consumo energético se ha convertido en una máxima por el problema del cambio climático.
A lo largo del día con nuestro PC solemos hacer una serie de tareas repetitivas a las que no les damos importancia, pero que consumen gran cantidad de recursos de procesamiento y energía. Por lo que una forma de conseguir una mejora en un mundo en el que la métrica absoluta de rendimiento está pasando a ser el rendimiento por vatio, entonces cualquier elemento de hardware que ayude en dicho sentido será siempre bienvenido.
Piezas especializadas para tareas comunes
La era en la que la potencia adicional venía por un aumento en el número de núcleos y/o de la velocidad de reloj, En cambio, el paradigma en el futuro se basará en arquitecturas heterogéneas que usaran aceleradores y los llamados procesadores de dominio específicos. El aumento de rendimiento, por lo tanto, se moverá hacia lo específico.
Procesadores de dominio específico
Pero, ¿qué son estas piezas de hardware? El procesador central de tu PC o CPU está pensado para ejecutar todo tipo de programas, pero, ¿qué ocurre si queremos crear una unidad que sirva para ejecutar solo cierto tipo de aplicaciones? Lo primero que haremos será mirar todas las instrucciones que no usan dichos programas para eliminarlas. Luego reforzaremos las unidades de ejecución que usan estas instrucciones y en especial teniendo en cuenta el tipo de datos que necesitaremos. Es decir, todo procesador que no sea una CPU y que sirva para una tarea en concreto es un procesador de dominio específico, como por ejemplo las GPU de las tarjetas gráficas.
Sin embargo, existe un proceso bastante curioso, el chip de apoyo que en principio era muy simple, se acaba complicando más y más y termina necesitando hardware de apoyo. Es aquí donde se repite el ciclo una y otra vez. Por ejemplo, y ya que hemos hablado de las GPU un ejemplo de una evolución de este tipo son los Tensor Cores y los RT Cores de NVIDIA, pero estos últimos más bien son aceleradores.
Aceleradores
Los aceleradores, en cambio, son más sencillos, para empezar no son programables y por tanto no podemos ejecutar un programa con ellos. Su programa está microcableado y en consecuencia escrito en el hardware o en una ROM o memoria no volátil a la que no podemos acceder. Tiene la particularidad de realizar dicha función gastando menos transistores, menos consumo energético y en un tiempo menor que el procesador al que apoya. Una vez hecha esta rápida explicación vamos a lo que nos interesa.
¿Qué son las tareas comunes en un PC y como se acelerarán?
Una forma de acelerar el rendimiento en el hardware es hacer que ciertas instrucciones se ejecuten de forma más rápida. Uno de los problemas el diseño en las CPU es que con tal de construir instrucciones complejas se usan las sencillas como base. Esto se hace para ahorrar espacio en el chip, pero hace que algunas de ellas tengan menos rendimiento que si hubiesen sido implementadas como independientes. La idea no es otra que reducir el número de ciclos de reloj que se tardan en ejecutar los programas.
Ahora bien, a diario se suelen hacer una serie de tareas comunes con el PC, de la mayoría de ellas no somos conscientes o no les damos importancia, pero cosas como:
- Guardar un archivo de un formato a otro implica un proceso de conversión que supone ejecutar un programa complejo, para ello que consume mucho tiempo del procesador y recursos del mismo.
- Un caso similar al anterior es la compresión y descompresión de archivos en formato .zip .7z. rar y otros.
- Por otro lado, la instalación de un programa no deja de ser un proceso idéntico al anterior y todos sabemos lo tediosas que pueden llegar a ser.
- El escalado de resolución de imágenes y vídeo a tiempo real, la inclusión de unidades para el Deep Learning permitirán que esta función se vea integrada de ser en el sistema.
- Lo mismo podemos decir de la corrección del sonido como es la eliminación de ruido en las grabaciones.
El proceso de adopción tardará tiempo en producirse, dado que tiene que existir un proceso de adopción en el sistema operativo primero para que las diferentes aplicaciones puedan usarlas en el futuro.