En la constante evolución del panorama tecnológico, la elección de la arquitectura de procesadores se ha convertido en un elemento crucial para desarrolladores de CPUs. Dos nombres destacan en esta arena: RISC-V vs ARM.
Ambas ISAs compiten por dominar el mundo de los microprocesadores en todos los segmentos de mercado, desde los dispositivos IoT y de bajo consumo, hasta el HPC. Sin embargo, cada una con sus propias fortalezas y enfoques distintivos, y en este artículo vamos a tratar de ver quién ganaría esta batalla.
Hay que señalar que, aunque Arm tiene ahora una gran ventaja en el mercado, éstos temen enormemente a RISC-V, prueba de ello fue la web que publicaron nada más aparecer RISC-V para tratar de frenar lo que consideraban una gran amenaza, aunque fue todo un ridículo y finalmente tuvieron que borrar dicha web, ya que las críticas fueron mayores al beneficio…
Índice de contenidos
Mientras x86 y Arm estaban dominando el mercado, se creó RISC-V para tratar de abordar las limitaciones de estas otras ISA. Una de las mayores diferencias era su licencia, ya que es de código abierto (BSD License), algo que sus competidores no son y por tanto, quien quiere crear procesadores basados en ellas tienen que pagar, algo que es gratuito en RISC-V.
De esta forma, se ha convertido en una especie de Linux del hardware, que por ahora crece silenciosamente, pero cuyo futuro es prometedor.
El proyecto RISC-V comenzó en 2010, con un equipo de investigadores de la Universidad de California (Berkeley) liderado por David Patterson y Krste Asanović, entre otros destacados como también Andrew Waterman, etc. No hay que olvidar que David Patterson es uno de los padres de RISC, junto con John L. Hennessy.
David fue el creador de los Berkeley RISC y sucesores, mientras Hennessy creó casi en paralelo los Stanford MIPS. De hecho, RISC-V se denomina así al ser la quinta tras RISC-I, RISC-II, SOAR/VLSI-BAM y SPUR.
Estos diseños pioneros influenciarían en otras muchas RISC como POWER, SPARC, Arm, etc.
Las primeras especificaciones RISC-V se lanzaron en 2011, creándose la RISC-V Foundation bajo el paraguas de la Linux Foundation para más tarde dar lugar a RISC-V Inernational, que sería el grupo encargado de promover la adopción y estandarización de esta ISA. Actualmente, este grupo cuenta con una membresía de más de 200 grandes participantes que colaboran, como Western Digital, NVIDIA, Google, SiFive, Intel, Seagate, Qualcomm, AMD, Analog Devices, Infineon, IBM, Mediatek, MIPS Technologies, Nokia, NXP, Raspberry Pi Foundation, Arduino, Renesas, Siemens, Sony, ST Microelectronics, Texas Instruments, y un larguísimo etc.
Poco a poco, RISC-V está siendo la base de más procesadores y aceleradores, aunque aún no está al nivel de Arm en este sentido. Pero necesita tiempo…
También deberías leer nuestra guía de compra sobre los mejores microprocesadores del mercado
Arm Ltd es una empresa británica que comenzó como Acorn Computers, iniciada a principios de los años 80s, y pasando a ser Advanced RISC Machines (ARM) y finalmente lo que es hoy día. Además, en 2016 pasaría a ser propiedad de la japonesa SoftBank Group, pese al intento de compra de NVIDIA, aún sigue en manos japonesas.
Esta ISA estaba destinada a chips sencillos destinados para ordenadores muy elementales, destacando por sus buena relación rendimiento/eficiencia. Poco a poco pasó de este uso casi marginal en Inglaterra a cobrar cada vez más importancia en equipos de todo tipo donde el consumo era importante. Así fue como iría desplazando poco a poco a MIPS en este sentido, pero a pesar inyecciones de dinero por parte de empresas como Apple para algunos dispositivos que resultaron un fracaso, Arm no terminaba de fraguar.
Sin embargo, el boom de Arm llegaría con la aparición de los dispositivos móviles, ya que estos chips de alta eficiencia serían los perfectos para esta aplicación. Los smartphones y tablets hicieron que cobrase una importancia muy elevada. Y esto impulso le valdría para llegar también a los portátiles y sobremesas, como vemos en el caso de Apple, entre otros, e incluso comenzaron con pequeños microservidores hasta grandes supercomputadoras como Fugaku.
También te recomiendo leer nuestra guía sobre los mejores dispositivos móviles basados en ARM
Ahora bien, si te preguntas por la batalla RISC-V vs ARM, para ver las ventajas y desventajas de cada una hay que ir punto por punto:
Tanto RISC-V como Arm son una ISA tipo RISC, es decir, con un conjunto de instrucciones reducido y simples para posibilitar mayor eficiencia y potenciar las posibilidades de la microarquitectura de hardware. De hecho, los diseños CISC han terminado aceptando la derrota y han pasado a funcionar como un RISC a nivel de hardware, con traducción de CISC a microoperaciones tipo RISC como se puede apreciar en los microprocesadores Intel y AMD, por ejemplo.
Además, tenemos arquitecturas de 32 y 64-bit en ambos casos, así como extensiones SIMD. Sin embargo, hay que destacar algunas diferencias importantes:
El rendimiento de uno u otro no depende tanto de la ISA, sino de la microarquitectura, es decir, la forma en la que se implementa esa ISA. Sin embargo, RISC-V ha demostrado que puede servir para diseños con rendimiento similar a Arm, a pesar de ser una ISA mucho más nueva y con menos tiempo de «maduración», aunque Arm sigue teniendo una ventaja.
Comparando algunos núcleos equivalentes basados en RISC-V y ARM, también vemos cómo en ambos casos se tiene una eficiencia similar, e incluso hemos visto datos prometedores en el caso de RISC-V en cuanto a consumo (OPS/W) y código reducido.
RISC-V, como he mencionado antes es modular y extensible, lo que permite mayor grado de personalización y optimización para cada objetivo. Además, también supera a Arm en otro aspecto, y es que al ser abierta se puede implementar sin necesidad de pagar regalías, mientras que para usar Arm sí que se debe pagar una cuantiosa cantidad de dinero, lo que dificulta su acceso. Para usar un núcleo Arm se debe pagar por IP o por la licencia para usar la ISA como hace Apple.
Mientras que con RISC-V no tienes que pagar nada, aunque existen empresas como SiFive que están creando núcleos IP basados en RISC-V, pero en este caso es opcional.
Si se comparan dos modelos similares basados en una y otra, vemos cómo RISC-V gana por goleada en cuando a densidad de cómputo, siendo hasta 2x veces superior a Arm. Esto también le permite tener un área de chip en torno a un 50% inferior, lo que es una enorme ventaja. Si los núcleos Arm ya eran muy pequeños frente a los x86, RISC-V vemos que va más allá, lo que puede ser muy beneficioso para futuros diseños manycore de alto rendimiento.
En IA, RISC-V también tiene la ventaja de haber sido una ISA creada muy recientemente, mientras el resto de ISAs, incluida Arm, fueron creadas hace 4 o 5 décadas, por lo que no se diseñaron el repertorio de instrucciones pensando en las cargas de trabajo actuales, como es el caso de la inteligencia artificial. Mientras que RISC-V sí que ha sido pensada para esto.
Es evidente que mientras Arm es más maduro, tiene un mayor ecosistema creado en torno a él, lo que significa más cantidad de sistemas operativos (Android, GNU/Linux, iOS, macOS, Windows, FreeRTOS, RISC OS, etc.) y software compilado para funcionar con esta ISA, además de mayor cantidad de hardwrae creado para esta plataforma.
Sin embargo, RISC-V es aún un ecosistema muy inmaduro, está apenas comenzando, por lo que hay menos cantidad de software para él, tan solo es soportado por Linux (también FreeBSD, Zephyr y FreeRTOS) por ahora, y el hardware disponible puede estar algo más limitado.
No obstante, tanto Arm como RISC-V, lo que han hecho es aprovechar la inercia de los estándares para x86 y unirse a ellos, soportando ACPI, UEFI, y otros, para así poder funcionar con hardware creado para x86, como es el caso de la SiFive HiFive Unmatched, una placa base con chip RISC-V que puede usar unidades SSD NVMe, tarjetas gráficas NVIDIA, Intel o AMD PCIe, etc. Me gustaría agregar también que Google y Qualcomm están trabajando intensamente para que RISC-V también esté soportada en Android, y si estos chips llegan a dispositivos móviles como lo hizo Arm en su día, se pueden beneficiar enormemente de este gran mercado como ya hizo Arm.
Como he comentado, RISC-V es open-source, bajo licencia BSD, lo que permite que cualquiera pueda usar la ISA sin pagar royalties, y permitiendo a los diseñadores tener su propio control. Mientras que en el caso de Arm, es la propia Arm la que tiene todo el control, y sus licencias son de pago.
A pesar de las desventajas con las que cuenta RISC-V actualmente, yo apostaría por ella para un futuro por las numerosas ventajas que tiene y el gran interés que está demostrando en la industria.
¿A ti qué te ha parecido?
CHIEFTEC acaba de presentar dos nuevas cajas para PC, Visio y Visio Air con un…
Asus ZenWiFi BT8 es un sistema Mesh Wi-Fi 7 el cual se sitúa por debajo…
Qualcomm anuncia nuevos SoC Snapdragon X, pero no se trata de una nueva generación, sino…