Uno de los términos que más están apareciendo en los últimos tiempos es el de RISC-V, en especial desde los tiempos en los que se decía que NVIDIA iba a comprar ARM como una alternativa a la ISA más utilizada de todas. Sin embargo, pese a sus bondades, es importante poner los puntos sobre las íes y dejar las cosas claras sobre la enorme cantidad de desinformación que discurre por las redes.
En los últimos años, habréis leído noticias acerca de como RISC-V es el futuro de los procesadores y que pronto reemplazará a ARM. Todo ello se dice sin tener en cuenta lo difícil que es pasar del uso de un set de registros e instrucciones a otro a todos los programas existentes en el mercado. Algo que solo puede hacer si eres cierta empresa de Cupertino que controla con mano firme todo su ecosistema. Dicho de otra forma es casi imposible y ya hemos visto como por ejemplo el PC sigue basándose en x86, pese a que en su día se habló de la transición a ARM. ¿Por qué debería ser diferente con RISC-V? Es por ello que hemos pensado que lo mejor es romper ciertos mitos.
RISC-V no es lo que se suele creer
Si bien hay procesadores que disponen de la ISA RISC-V y cada vez son más, hemos de partir del hecho de que al contrario de lo que ocurre con ARM donde el set de registros e instrucciones es fijo e intocable, en RISC-V es modular y, por tanto, solo hace falta que una instrucción o conjunto de las mismas no exista para que un programa deje de funcionar. Y si bien se van añadiendo en toda clase de ISA nuevas instrucciones para revolver nuevos tipos de problemas, en realidad lo que no se hace es tocar una base que se mantiene estable con tal de mantener la compatibilidad de las diferentes aplicaciones.
El planteamiento de RISC-V es diferente, al ser modular les permite a los creadores de chips realizar procesadores de propósito específico y escoger el conjunto de instrucciones y con ello de unidades que va a llevar el chip en su forma final. Esto les permite estar más enfocados en acelerar tareas comunes y liberar a los núcleos del procesador. Aunque esto es muy diferente a un acelerador o unidad de función fija que se encuentra a una sola tarea.
Todo ello no deja de ser lo mismo que coger un coche de calle y quitarle peso para convertirlo en uno de competición. El coche es el mismo, pero no está pensado para el transporte de personas, pero sí para llegar el primero a la meta. Esa es la clave de RISC-V y lo que hará que sea popular, no su uso para propósito general, sino para solucionar pequeños problemas. Por lo que se irá volviendo su uso cada vez más popular, incluso superaran a ARM en lo que a volumen de uso se refiere, ya que veremos varios procesadores bajo dicha ISA tanto en móviles como en PC.
¿Qué tiene de interesante dicha ISA?
Pues al hecho que nos permite crear procesadores especializados o incluso de propósito general sin tener que pagar una ISA, esto es especialmente importante en sistemas embebidos en los que tenemos que tener un procesador de cierta potencia para hacer que las cosas funcionen, pero nos hemos de conformar con las especificaciones y condiciones inmutables de un procesador x86 o ARM donde terminaremos pagando de más por funcionalidades que no se usarán jamás en dicha aplicación.
Además, el objetivo de todo procesador es el de hacer que los programas se ejecuten lo más rápido posible, es por ello que muchas veces es ideal tener unidades de apoyo que quiten el peso de tareas comunes, pero repetitivas. Si bien no, todo el mundo puede realizar sus propios chips, sí que puede diseñar uno y aplicarlo vía FPGA. Lo cual ya se está empezando a hacer en el mercado de los superordenadores. En el caso del PC doméstico será diferente con unidades dentro de procesadores centrales, chips gráficos e incluso para algunas funciones del chipset.