RISC-V (pronunciado "risk-five") [ 3 ] : 1 es una arquitectura de conjunto de instrucciones (ISA) libre y abierta basada en los principios de las computadoras con conjunto de instrucciones reducido (RISC). A diferencia de las ISA propietarias como x86 y ARM , RISC-V se describe como " libre y abierta " porque sus especificaciones se publican bajo licencias de código abierto permisivas y se pueden implementar sin pagar regalías. [ 4 ]
RISC-V se desarrolló en 2010 en la Universidad de California, Berkeley, como la quinta generación de procesadores RISC creados en la universidad desde 1981. [ 5 ] En 2015, el desarrollo y mantenimiento del estándar se transfirió a RISC-V International , una organización sin fines de lucro con sede en Suiza [ 6 ] que contaba con más de 4500 miembros en 2025. [ 7 ]
RISC-V es una arquitectura popular para microcontroladores y sistemas embebidos , y el desarrollo de implementaciones de mayor rendimiento dirigidas a los mercados de dispositivos móviles, ordenadores de escritorio y servidores continúa. [ 8 ] El ISA es compatible con varias distribuciones importantes de Linux , y empresas como SiFive , Andes Technology , SpacemiT , Synopsys , Alibaba (DAMO Academy), StarFive , Espressif Systems y Raspberry Pi ofrecen sistemas en un chip (SoC) y microcontroladores (MCU) comerciales que incorporan uno o más núcleos de procesador compatibles con RISC-V. [ 8 ] [ 9 ]
Historia
El término RISC data de alrededor de 1980. [ 10 ] Antes de eso, existía cierto conocimiento (véase John Cocke ) de que las computadoras más simples podían ser efectivas, pero los principios de diseño no estaban ampliamente descritos. Las computadoras simples y efectivas siempre han sido de interés académico, y dieron como resultado el conjunto de instrucciones RISC DLX para la primera edición de Computer Architecture: A Quantitative Approach en 1990, del cual David Patterson fue coautor, y posteriormente participó en la creación de RISC-V. DLX estaba destinado a uso educativo; académicos y aficionados lo implementaron usando matrices de puertas programables en campo (FPGA), pero nunca se concibió realmente para su implementación comercial.
Krste Asanović, de la Universidad de California, Berkeley , tenía un requisito de investigación para un núcleo de CPU de código abierto, y en 2010, decidió desarrollar y publicar el suyo propio, en un "proyecto corto de tres meses durante el verano" con varios de sus estudiantes de posgrado. Había varias alternativas de código abierto establecidas disponibles, pero Asanović optó por no usarlas. Las CPU ARM y SuperH (versiones 2 y anteriores) tenían conjuntos de instrucciones de dominio público con archivos de implementación VHDL , [ 11 ] [ 12 ] [ 13 ] mientras que los núcleos completos de OpenRISC , OpenPOWER y OpenSPARC / LEON también estaban disponibles como archivos VHDL o de varios proveedores. Todas estas opciones existentes eran compatibles con la Colección de Compiladores GNU (GCC), un compilador de software libre popular , y tenían soporte para el kernel de Linux . [ 14 ] [ 15 ] [ 16 ] El plan era ayudar tanto a usuarios académicos como industriales. [ 17 ] David Patterson en Berkeley se unió a la colaboración ya que fue el creador del Berkeley RISC, [ 10 ] y el RISC-V es la quinta generación epónima de su larga serie de proyectos de investigación cooperativa basados en RISC en la Universidad de California, Berkeley ( RISC-I y RISC-II publicados en 1981 por Patterson, quien se refiere [ 18 ] a la arquitectura SOAR [ 19 ] de 1984 como "RISC-III" y a la arquitectura SPUR [ 20 ] de 1988 como "RISC-IV"). En esta etapa, los estudiantes proporcionaron software inicial, simulaciones y diseños de CPU. [ 21 ]

Los autores de RISC-V y su institución obtuvieron originalmente los documentos ISA [ 22 ] y varios diseños de CPU bajo licencias BSD , que permiten que las obras derivadas —como los diseños de chips RISC-V— sean de código abierto y gratuitas, o cerradas y propietarias. La especificación ISA en sí (es decir, la codificación del conjunto de instrucciones) se publicó en 2011 como código abierto [ 23 ] , con todos los derechos reservados. El informe técnico propiamente dicho (una expresión de la especificación) se publicó posteriormente bajo la licencia Creative Commons - Atribución 4.0 [ 24 ] para permitir mejoras por parte de colaboradores externos a través de la Fundación RISC-V, y más tarde de RISC-V International.
Se ha publicado una historia completa de RISC-V en el sitio web internacional de RISC-V. [ 6 ]
Cimientos
Los usuarios comerciales requieren que una ISA sea estable antes de poder usarla en un producto que puede durar muchos años. Para abordar este problema, la Fundación RISC-V se creó en 2015 para poseer, mantener y publicar la propiedad intelectual relacionada con la definición de RISC-V. [ 25 ] Los autores y propietarios originales cedieron sus derechos a la fundación. La fundación estuvo dirigida por la CEO Calista Redmond , quien asumió el cargo en 2019 después de liderar proyectos de infraestructura abierta en IBM . [ 26 ] En 2024 renunció como CEO. [ 27 ]
Los miembros fundadores de RISC-V fueron: Andes Technology , Antmicro, Bluespec , Ceva , Codasip , Cortus, Esperanto Technologies, Espressif Systems , ETH Zurich , Google , IBM, ICT, IIT Madras , Lattice Semiconductor , LowRISC , Microchip Technology , el Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT , Qualcomm , Rambus , Rumble Development, SiFive , Syntacore y Technolution. [ 28 ]
En noviembre de 2019, la Fundación RISC-V anunció que se trasladaría a Suiza, alegando preocupaciones sobre las regulaciones comerciales estadounidenses. [ 29 ] [ 30 ] En marzo de 2020, la organización pasó a llamarse RISC-V International, una asociación empresarial suiza sin fines de lucro. [ 7 ]
A partir de 2019RISC-V International publica libremente los documentos que definen RISC-V y permite el uso sin restricciones del ISA para el diseño de software y hardware. Sin embargo, solo los miembros de RISC-V International pueden votar para aprobar los cambios, y solo las organizaciones miembros pueden usar el logotipo de compatibilidad registrado . [ 31 ]
La Linux Foundation Europe inició la iniciativa RISC-V Software Ecosystem (RISE) el 31 de mayo de 2023. El objetivo de RISE es aumentar la disponibilidad de software para procesadores RISC-V de alto rendimiento y eficiencia energética que ejecutan sistemas operativos de alto nivel para diversos segmentos de mercado, reuniendo a un gran número de proveedores de hardware y software. Red Hat , Samsung , Qualcomm, Nvidia , MediaTek , Intel y Google se encuentran entre los miembros iniciales. [ 32 ]
Premios
- 2017: Premio Analyst's Choice de The Linley Group a la mejor tecnología (para el conjunto de instrucciones) [ 33 ]
Razón fundamental

El diseño de CPU requiere experiencia en diseño en varias especialidades: lógica digital electrónica , compiladores y sistemas operativos . Para cubrir los costos de dicho equipo, los proveedores comerciales de propiedad intelectual (PI) de procesadores, como Arm Ltd. y MIPS Technologies , cobran regalías por el uso de sus diseños y patentes . [ 34 ] [ 35 ] [ 36 ] También suelen exigir acuerdos de confidencialidad antes de publicar documentos que describan las ventajas detalladas de sus diseños. En muchos casos, nunca describen las razones de sus decisiones de diseño.
RISC-V se inició con el objetivo de crear una ISA práctica, de código abierto, utilizable académicamente y desplegable en cualquier diseño de hardware o software sin regalías. [ 3 ] : 1 [ 17 ] Además, se explican las justificaciones de cada decisión de diseño del proyecto, al menos en términos generales. Los autores de RISC-V son académicos con amplia experiencia en diseño de computadoras, y la ISA RISC-V es un desarrollo directo de una serie de proyectos académicos de diseño de computadoras, especialmente Berkeley RISC . RISC-V se originó en parte para apoyar todos esos proyectos. [ 3 ] : 1 [ 17 ]
Para construir una gran comunidad continua de usuarios y, por lo tanto, acumular diseños y software, los diseñadores de ISA RISC-V apoyan intencionalmente una amplia variedad de casos de uso prácticos: implementaciones del mundo real compactas, de alto rendimiento y de bajo consumo [ 3 ] : 1–2, 153–154 [ 37 ] sin sobrearquitecturar para una microarquitectura dada . [ 3 ] : 1 [ 38 ] [ 39 ] [ 40 ] Los requisitos de una gran base de contribuyentes son parte de la razón por la que RISC-V fue diseñado para abordar muchos usos posibles.
La afirmación principal de los diseñadores es que el conjunto de instrucciones es la interfaz clave en una computadora, ya que se encuentra en la interfaz entre el hardware y el software. [ 8 ] Si un buen conjunto de instrucciones fuera abierto y estuviera disponible para todos, podría reducir drásticamente el costo del software al permitir una mayor reutilización. También debería impulsar una mayor competencia entre los proveedores de hardware, quienes podrían dedicar más recursos al diseño y menos al soporte de software. [ 17 ]
Los diseñadores sostienen que los nuevos principios son cada vez más escasos en el diseño de conjuntos de instrucciones, ya que los diseños más exitosos de los últimos cuarenta años se han vuelto cada vez más similares. De los que fracasaron, la mayoría lo hizo por problemas financieros de sus empresas patrocinadoras, no por deficiencias técnicas en los conjuntos de instrucciones. Por lo tanto, un conjunto de instrucciones abierto bien diseñado, basado en principios bien establecidos, debería contar con el apoyo a largo plazo de muchos proveedores. [ 17 ]
RISC-V también fomenta el uso académico. La simplicidad del subconjunto de enteros permite ejercicios básicos para estudiantes y es una ISA lo suficientemente simple como para permitir que el software controle máquinas de investigación. La ISA de longitud variable proporciona espacio para extensiones del conjunto de instrucciones tanto para ejercicios de estudiantes como para investigación, [ 3 ] : 7 y el conjunto de instrucciones privilegiado separado permite la investigación en soporte de sistemas operativos sin rediseñar compiladores. [ 41 ] El paradigma de propiedad intelectual abierta de RISC-V permite que los diseños derivados se publiquen, reutilicen y modifiquen. [ 8 ] [ 42 ]
Base ISA y extensiones
RISC-V tiene un diseño modular, compuesto por partes base alternativas y extensiones opcionales. La arquitectura base y sus extensiones se desarrollan mediante un esfuerzo conjunto entre la industria, la comunidad investigadora y las instituciones educativas. La arquitectura base especifica las instrucciones (y su codificación), el flujo de control, los registros (y sus tamaños), la memoria y el direccionamiento, la manipulación lógica (es decir, de enteros) y las funciones auxiliares. Por sí sola, la arquitectura base permite implementar un ordenador de propósito general simplificado, con soporte de software completo, incluyendo un compilador de propósito general.
Extensiones estándar
Las extensiones estándar están diseñadas para funcionar con todas las bases estándar y entre sí sin generar conflictos.
Muchos ordenadores RISC-V podrían implementar la extensión de instrucciones comprimidas, C, para reducir el consumo de energía, el tamaño del código y el uso de memoria. [ 3 ] : 97–99 También hay planes futuros para admitir hipervisores y virtualización . [ 41 ]
Junto con la extensión del supervisor, S, un conjunto de instrucciones RVG, que incluye uno de los conjuntos de instrucciones base RV, y la colección de extensiones G (que incluye "I", lo que significa que la base no está integrada), define todas las instrucciones necesarias para soportar convenientemente un sistema operativo de propósito general . [ 3 ] : 129, 154
- ↑ Se espera que las partes congeladas tengan su conjunto de características final y que solo reciban aclaraciones antes de ser ratificadas.
Para nombrar las combinaciones de funciones que se pueden implementar, se define una nomenclatura para especificarlas en el Capítulo 27 de la Especificación ISA no privilegiada ratificada vigente. Primero se especifica la base del conjunto de instrucciones, que codifica para RISC-V, el ancho de bits del registro y la variante; por ejemplo, RV64I o RV32E . Luego siguen letras que especifican las extensiones implementadas, en el orden de la tabla anterior. Cada letra puede ir seguida de un número de opción mayor, opcionalmente seguido de "p", y un número de opción menor. Por defecto es 0 si no hay un número de versión menor, y 1.0 si falta todo un número de versión. Así, RV64IMAFD se puede escribir como RV64I1p0M1p0A1p0F1p0D1p0 o más simplemente como RV64I1M1A1F1D1 . Se pueden usar guiones bajos entre las extensiones para facilitar la lectura, por ejemplo, RV32I2_M2_A2 .

Los cálculos básicos, de enteros extendidos y de punto flotante, con primitivas de sincronización para computación multinúcleo, se consideran necesarios para la computación de propósito general, y por lo tanto tenemos la abreviatura "G".
Un pequeño ordenador de 32 bits para un sistema embebido podría ser RV32EC . Un ordenador grande de 64 bits podría ser RV64GC ; es decir, RV64IMAFDCZicsr_Zifencei .
Con el aumento en el número de extensiones, el estándar ahora permite que las extensiones se nombren con una sola "Z" seguida de un nombre alfabético y un número de versión opcional. Por ejemplo, Zifencei nombra la extensión instruction-fetch. Zifencei2 y Zifencei2p0 nombran la versión 2.0 de la misma. La primera letra que sigue a la "Z" por convención indica la categoría de extensión alfabética más relacionada, IMAFDQLCBJTPVN . Así, la extensión Zam para operaciones atómicas desalineadas se relaciona con la extensión estándar "A". A diferencia de las extensiones de un solo carácter, las extensiones Z deben separarse con guiones bajos, agruparse por categoría y luego alfabéticamente dentro de cada categoría. Por ejemplo, Zicsr_Zifencei_Zam .
Las extensiones específicas del nivel de privilegio de supervisor se nombran de la misma manera, utilizando la letra "S" como prefijo. Las extensiones específicas del nivel de hipervisor se nombran utilizando la letra "H" como prefijo. Las extensiones del nivel de máquina se prefijan con las tres letras "Zxm". Las extensiones del conjunto de instrucciones de nivel de supervisor, hipervisor y máquina se nombran según las extensiones de menor privilegio.
Los desarrolladores de RISC-V pueden crear sus propias extensiones de conjunto de instrucciones no estándar. Estas siguen la convención de nomenclatura "Z", pero con el prefijo "X". Deben especificarse después de todas las extensiones estándar y, si se enumeran varias extensiones no estándar, deben listarse alfabéticamente.
Perfiles y plataformas
Se están debatiendo los perfiles y las plataformas para las listas de opciones estándar de ISA.
Esta flexibilidad puede utilizarse para optimizar en gran medida un diseño especializado al incluir únicamente el conjunto exacto de características ISA requeridas para una aplicación, pero esa misma flexibilidad también conlleva una explosión combinatoria en las posibles opciones ISA. Los perfiles especifican un conjunto común mucho más reducido de opciones ISA que capturan el mayor valor para la mayoría de los usuarios y que, por lo tanto, permiten a la comunidad de software centrar sus recursos en la construcción de un ecosistema de software sólido. [ 47 ]
La especificación de la plataforma define un conjunto de plataformas que especifican los requisitos de interoperabilidad entre software y hardware. La Política de Plataforma define los diversos términos utilizados en esta especificación. La Política de Plataforma también proporciona los detalles necesarios con respecto al alcance, la cobertura, la nomenclatura, el control de versiones, la estructura, el ciclo de vida y las declaraciones de compatibilidad para la especificación de la plataforma. [ 48 ]
Diseño
Como arquitectura RISC, el conjunto de instrucciones RISC-V es una arquitectura de carga y almacenamiento . Sus instrucciones de punto flotante utilizan el estándar IEEE 754. Entre las características notables del conjunto de instrucciones RISC-V se incluyen: ubicaciones de campos de bits de instrucción elegidas para simplificar el uso de multiplexores en una CPU, [ 3 ] : 17 un diseño arquitectónicamente neutro y una ubicación fija para el bit de signo de los valores inmediatos para acelerar la extensión de signo . [ 3 ] : 17
El conjunto de instrucciones está diseñado para una amplia gama de usos. El conjunto de instrucciones base tiene una longitud fija de instrucciones alineadas naturalmente de 32 bits , y el ISA admite extensiones de longitud variable donde cada instrucción puede tener cualquier número de paquetes de 16 bits de longitud. [ 3 ] : 7–10 Las extensiones admiten pequeños sistemas embebidos , computadoras personales , supercomputadoras con procesadores vectoriales y computadoras paralelas a escala de almacén .
La especificación del conjunto de instrucciones define variantes de espacio de direcciones de 32 bits y 64 bits . La especificación incluye una descripción de una variante de espacio de direcciones plana de 128 bits , como una extrapolación de las variantes de 32 y 64 bits, pero el ISA de 128 bits permanece "no congelado" intencionalmente, porque a partir de 2023, todavía hay poca experiencia práctica con sistemas de memoria tan grandes. [ 3 ] : 41
A diferencia de otros diseños académicos que suelen estar optimizados únicamente para la simplicidad de la exposición, los diseñadores pretendían que el conjunto de instrucciones RISC-V fuera utilizable para ordenadores prácticos. A partir de junio de 2019, la versión 2.2 del ISA de espacio de usuario [ 52 ] y la versión 1.11 del ISA privilegiado [ 41 ] están congeladas , lo que permite que continúe el desarrollo de software y hardware. El ISA de espacio de usuario, ahora renombrado como ISA no privilegiado, fue actualizado, ratificado y congelado como la versión 20191213. [ 3 ] Una especificación de depuración externa está disponible como borrador, versión 0.13.2. [ 53 ]
Conjuntos de registros
RISC-V tiene 32 registros enteros (o 16 en la variante integrada), [ 3 ] : 13, 33 y cuando se implementa la extensión de punto flotante, 32 registros de punto flotante adicionales. [ 3 ] : 63 Excepto para las instrucciones de acceso a memoria, las instrucciones solo direccionan registros .
El primer registro entero es un registro cero , y los demás son registros de propósito general. Almacenar un valor en el registro cero no tiene efecto, y leerlo siempre devuelve 0. Usar el registro cero como marcador de posición simplifica el conjunto de instrucciones.
Existen registros de control y estado, pero los programas en modo de usuario solo pueden acceder a aquellos que se utilizan para la medición del rendimiento y la gestión de coma flotante.
No existen instrucciones para guardar y restaurar múltiples registros. Se consideraba que eran innecesarias, demasiado complejas y quizás demasiado lentas. [ 42 ]
Acceso a la memoria
Al igual que muchos diseños RISC, RISC-V es una arquitectura de carga y almacenamiento : las instrucciones solo acceden a los registros, mientras que las instrucciones de carga y almacenamiento transmiten datos hacia y desde la memoria.
La mayoría de las instrucciones de carga y almacenamiento incluyen un desplazamiento de 12 bits y dos identificadores de registro. Un registro es el registro base. El otro registro es el de destino (para una carga) o el de origen (para un almacenamiento).
El desplazamiento se suma a un registro base para obtener la dirección. [ 3 ] : 24 La formación de la dirección como un registro base más un desplazamiento permite que las instrucciones individuales accedan a las estructuras de datos. Por ejemplo, si el registro base apunta a la parte superior de una pila, las instrucciones individuales pueden acceder a las variables locales de una subrutina en la pila. De igual manera, las instrucciones de carga y almacenamiento pueden acceder a una estructura de estilo registro o a un dispositivo de E/S mapeado en memoria. El uso del registro cero constante como dirección base permite que las instrucciones individuales accedan a la memoria cercana a la dirección cero.
La memoria se direcciona como bytes de 8 bits, con las instrucciones en orden little-endian , [ 3 ] : 9–10 y con los datos en el orden de bytes definido por la interfaz del entorno de ejecución en el que se ejecuta el código. [ 3 ] : 3, 9–10, 24 Se puede acceder a las palabras, hasta el tamaño del registro, con las instrucciones de carga y almacenamiento.
RISC-V se especificó originalmente como little-endian para asemejarse a otras computadoras conocidas y exitosas, por ejemplo, x86 . [ 3 ] : 9–10 Esto también reduce la complejidad de una CPU y cuesta un poco menos porque lee palabras de todos los tamaños en el mismo orden. Por ejemplo, el conjunto de instrucciones RISC-V decodifica comenzando por el byte direccionado más bajo de la instrucción. Se definieron variantes big-endian y bi-endian para dar soporte a bases de código heredadas que asumen big-endian. [ 3 ] : 9–10 El ISA privilegiado define bits en los registros mstatus y mstatush que indican y, opcionalmente, controlan si los accesos a memoria en modo M, modo S y modo U, distintos de las búsquedas de instrucciones, son little-endian o big-endian; esos bits pueden ser de solo lectura, en cuyo caso el endianness de la implementación está cableado, o pueden ser modificables. [ 41 ] : 23–24
Una interfaz de entorno de ejecución puede permitir que las direcciones de memoria a las que se accede no estén alineadas con su ancho de palabra, pero los accesos a direcciones alineadas pueden ser más rápidos; por ejemplo, las CPU simples pueden implementar accesos no alineados con una emulación de software lenta impulsada por una interrupción de fallo de alineación . [ 3 ] : 3, 24–25
Al igual que muchos conjuntos de instrucciones RISC (y algunos conjuntos de instrucciones de computadoras con conjuntos de instrucciones complejos (CISC), como x86 e IBM System/360 y sus sucesores hasta z/Architecture ), RISC-V carece de modos de direccionamiento que escriban en los registros. Por ejemplo, no se autoincrementa. [ 3 ] : 24
RISC-V gestiona los sistemas de memoria que se comparten entre CPU o hilos , asegurando que un hilo de ejecución siempre vea sus operaciones de memoria en el orden programado. Pero entre hilos y dispositivos de E/S, RISC-V se simplifica: no garantiza el orden de las operaciones de memoria, excepto mediante instrucciones específicas, como fence.
Una fenceinstrucción garantiza que los resultados de las operaciones predecesoras sean visibles para las operaciones sucesoras de otros hilos o dispositivos de E/S. fencePuede garantizar el orden de las combinaciones de operaciones de E/S tanto en memoria como mapeadas en memoria. Por ejemplo, puede separar las operaciones de lectura y escritura de memoria, sin afectar las operaciones de E/S. O, si un sistema puede operar dispositivos de E/S en paralelo con la memoria, fenceno los obliga a esperarse entre sí. Una CPU con un hilo puede decodificar fencecomo nop.
Algunas CPU RISC (como MIPS , PowerPC , DLX y RISC-I de Berkeley) colocan 16 bits de desplazamiento en las instrucciones de carga y almacenamiento. Establecen los 16 bits superiores mediante una instrucción de carga de palabra superior . Esto permite establecer fácilmente valores de media palabra superior sin desplazamiento de bits. Sin embargo, la mayoría de las veces, la instrucción de media palabra superior se utiliza para crear constantes de 32 bits, como direcciones. RISC-V utiliza una combinación similar a SPARC de desplazamientos de 12 bits e instrucciones de establecimiento de palabra superior de 20 bits . El desplazamiento más pequeño de 12 bits ayuda a compactar las instrucciones de carga y almacenamiento de 32 bits, seleccionando dos de los 32 registros y aún así teniendo suficientes bits para admitir la codificación de instrucciones de longitud variable de RISC-V. [ 3 ] : 16
Inmediatos
RISC-V maneja constantes y direcciones de 32 bits con instrucciones que establecen los 20 bits superiores de un registro de 32 bits. La instrucción `load upper immediate` luicarga 20 bits en los bits 31 a 12. Luego, una segunda instrucción, como `load upper immediate`, addipuede establecer los 12 bits inferiores. Se pueden formar números pequeños o direcciones utilizando el registro cero en lugar de `load upper immediate` lui.
Este método se amplía para permitir código independiente de la posición mediante la adición de una instrucción auipcque genera 20 bits de dirección superiores sumando un desplazamiento al contador de programa y almacenando el resultado en un registro base. Esto permite que un programa genere direcciones de 32 bits relativas al contador de programa.
El registro base a menudo se puede usar tal cual con los desplazamientos de 12 bits de las cargas y almacenamientos. Si es necesario, addise pueden establecer los 12 bits inferiores de un registro. En ISA de 64 y 128 bits, luiy auipcextender el signo del resultado para obtener la dirección más grande. [ 3 ] : 37
Algunas CPU rápidas pueden interpretar combinaciones de instrucciones como instrucciones fusionadas únicas , luio auipcson buenas candidatas para fusionarse con jalr, addi, cargas o almacenamientos.
Llamadas a subrutinas, saltos y bifurcaciones
La llamada a subrutina de RISC-V jal(salto y enlace) coloca su dirección de retorno en un registro. Esto es más rápido en muchos diseños de computadoras, ya que ahorra un acceso a memoria en comparación con los sistemas que colocan una dirección de retorno directamente en una pila en memoria. jalTiene un desplazamiento con signo de 20 bits ( complemento a dos ). El desplazamiento se multiplica por 2 y luego se suma al PC (contador de programa) para generar una dirección relativa a una instrucción de 32 bits. Si la dirección resultante no está alineada a 32 bits (es decir, no es divisible exactamente por 4), la CPU puede forzar una excepción . [ 3 ] : 20–23, Sección 2.5
Las CPU RISC-V saltan a direcciones calculadas mediante una instrucción de salto y enlace de registrosjalr . jalres similar a jal, pero obtiene su dirección de destino sumando un desplazamiento de 12 bits a un registro base. (En contraste, jalagrega un desplazamiento mayor de 20 bits al PC).
jalrEl formato de bits de es similar a las cargas y almacenamientos relativos a registros. Al igual que estos, jalrse puede usar con las instrucciones que establecen los 20 bits superiores de un registro base para realizar saltos de 32 bits, ya sea a una dirección absoluta (usando lui) o a una relativa al PC (usando auipcpara código independiente de la posición). (Usar una dirección base cero constante permite llamadas de una sola instrucción a una dirección pequeña (el desplazamiento), fija positiva o negativa).
RISC-V recicla jaly jalrpara obtener saltos incondicionales de 20 bits relativos al PC y saltos incondicionales de 12 bits basados en registros. Los saltos simplemente hacen que el registro de enlace sea 0 para que no se guarde ninguna dirección de retorno. [ 3 ] : 20–23, Sección 2.5
RISC-V también recicla jalrpara regresar de una subrutina: para hacer esto, jalrel registro base de se establece como el registro de enlace guardado por jalo jalr. jalrEl desplazamiento de es cero y el registro de enlace es cero, por lo que no hay desplazamiento y no se guarda ninguna dirección de retorno.
Al igual que muchos diseños RISC, en una llamada a subrutina, un compilador RISC-V debe usar instrucciones individuales para guardar los registros en la pila al inicio y luego restaurarlos desde la pila al salir. RISC-V no tiene instrucciones para guardar o restaurar múltiples registros. Se pensaba que estas instrucciones harían que la CPU fuera demasiado compleja y posiblemente lenta. [ 54 ] Esto puede ocupar más espacio de código. Los diseñadores planearon reducir el tamaño del código con rutinas de biblioteca para guardar y restaurar registros. [ 55 ]
RISC-V no tiene registro de código de condición ni bit de acarreo . Los diseñadores creían que los códigos de condición hacen que las CPU rápidas sean más complejas al forzar interacciones entre instrucciones en diferentes etapas de ejecución. Esta elección hace que la aritmética de precisión múltiple sea más compleja. Además, algunas tareas numéricas requieren más energía. Como resultado, no se admite la predicación (la ejecución condicional de instrucciones). Los diseñadores afirman que los diseños de CPU muy rápidos y fuera de orden realizan la predicación de todos modos, al ejecutar la bifurcación de comparación y el código condicional en paralelo, y luego descartar los efectos de la ruta no utilizada. También afirman que incluso en CPU más simples, la predicación es menos valiosa que la predicción de bifurcaciones , que puede prevenir la mayoría de los bloqueos asociados con las bifurcaciones condicionales. El código sin predicación es más grande, con más bifurcaciones, pero también afirman que un conjunto de instrucciones comprimido (como el conjunto C de RISC-V ) resuelve ese problema en la mayoría de los casos. [ 42 ]
En cambio, RISC-V tiene saltos cortos que realizan comparaciones: igual, distinto de, menor que, menor que sin signo, mayor o igual que y mayor o igual que sin signo. Diez operaciones de salto de comparación se implementan con solo seis instrucciones, invirtiendo el orden de los operandos en el ensamblador . Por ejemplo, el salto si es mayor que se puede realizar con menor que con el orden de los operandos invertido. [ 3 ] : 20–23, Sección 2.5
Las ramas de comparación tienen un rango con signo de doce bits y saltan con respecto al PC. [ 3 ] : 20–23, Sección 2.5
A diferencia de algunas arquitecturas RISC, RISC-V no incluye una ranura de retardo de bifurcación , una posición después de una instrucción de bifurcación que puede llenarse con una instrucción que se ejecuta independientemente de si se toma la bifurcación o no. [ 3 ] : 20–23, Sección 2.5 RISC-V omite una ranura de retardo de bifurcación porque complica las CPU multiciclo, las CPU superescalares y las tuberías largas. Los predictores de bifurcación dinámicos han tenido suficiente éxito como para reducir la necesidad de bifurcaciones retardadas. [ 42 ]
En el primer encuentro con una bifurcación, las CPU RISC-V deben asumir que se tomará una bifurcación relativa negativa (es decir, el bit de signo del desplazamiento es "1"). [ 3 ] : 20–23, Sección 2.5 Esto supone que una bifurcación hacia atrás es un bucle y proporciona una dirección predeterminada para que las CPU segmentadas simples puedan llenar su canalización de instrucciones. Aparte de esto, RISC-V no requiere predicción de bifurcaciones , pero las implementaciones de núcleos pueden agregarla. RV32I reserva un espacio de instrucciones "HINT" que actualmente no contiene ninguna sugerencia sobre bifurcaciones; [ 3 ] : 28–29, Sección 2.9 RV64I hace lo mismo. [ 3 ] : 38–39, Sección 5.4
Conjuntos aritméticos y lógicos
RISC-V divide las operaciones matemáticas en un conjunto mínimo de instrucciones enteras (conjunto I ) con suma, resta, desplazamiento, lógica bit a bit y bifurcaciones de comparación. Estas pueden simular la mayoría de los demás conjuntos de instrucciones RISC-V mediante software. (Las instrucciones atómicas son una excepción notable). Las instrucciones enteras de RISC-V carecen de la instrucción de cero inicial de conteo y de las operaciones de campo de bits que normalmente se utilizan para acelerar el cálculo de punto flotante por software en un procesador de enteros puros; sin embargo, aunque nominalmente se encuentran en la extensión de manipulación de bits, las extensiones ratificadas Zbb, Zba y Zbs contienen instrucciones enteras adicionales, incluida una instrucción de cero inicial de conteo.
Las instrucciones de multiplicación de enteros (conjunto M ) incluyen multiplicación y división con signo y sin signo. Se incluyen multiplicaciones y divisiones de enteros de doble precisión, así como multiplicaciones y divisiones que producen la palabra de orden superior del resultado. El documento ISA recomienda que los implementadores de CPU y compiladores fusionen una secuencia estandarizada de instrucciones de multiplicación y división de orden superior e inferior en una sola operación, si es posible. [ 3 ] : 43–45
Las instrucciones de punto flotante (conjunto F ) incluyen aritmética de precisión simple y también bifurcaciones de comparación similares a la aritmética de enteros. Requiere un conjunto adicional de 32 registros de punto flotante. Estos son separados de los registros de enteros. Las instrucciones de punto flotante de doble precisión (conjunto D ) generalmente asumen que los registros de punto flotante son de 64 bits (es decir, de doble ancho), y el subconjunto F está coordinado con el conjunto D. También se define un ISA de punto flotante de 128 bits de precisión cuádruple ( Q ). [ 3 ] : 63–82 Las computadoras RISC-V sin punto flotante pueden usar una biblioteca de software de punto flotante.
RISC-V no provoca excepciones en errores aritméticos, incluidos desbordamiento , [ 3 ] : 17–20 subdesbordamiento, subnormal y división por cero. [ 3 ] : 44–45 En cambio, tanto la aritmética de enteros como la de punto flotante producen valores predeterminados razonables, y las instrucciones de punto flotante establecen bits de estado. [ 3 ] : 66 La división por cero se puede detectar mediante una bifurcación después de la división. [ 3 ] : 44–45 Los bits de estado se pueden comprobar mediante un sistema operativo o una interrupción periódica.
Operaciones de memoria atómica
RISC-V admite computadoras que comparten memoria entre múltiples CPU e hilos . El modelo estándar de consistencia de memoria de RISC-V es la consistencia de liberación . Es decir, las cargas y los almacenamientos generalmente se pueden reordenar, pero algunas cargas pueden designarse como operaciones de adquisición que deben preceder a los accesos a memoria posteriores, y algunos almacenamientos pueden designarse como operaciones de liberación que deben seguir a los accesos a memoria anteriores. [ 3 ] : 83–94
El conjunto de instrucciones base incluye soporte mínimo en forma de una fenceinstrucción para imponer el orden de la memoria. [ 3 ] : 26–27 Aunque esto es suficiente ( fence r, rwproporciona adquisición y fence rw, wproporciona liberación ), las operaciones combinadas pueden ser más eficientes. [ 3 ] : Capítulo 8
La extensión de operaciones de memoria atómica admite dos tipos de operaciones de memoria atómica para la consistencia de liberación. Primero, proporciona instrucciones de carga reservadalr y de almacenamiento condicionalsclr de propósito general. Realiza una carga e intenta reservar esa dirección para su hilo. Un almacenamiento condicional posterior scen la dirección reservada se realizará solo si la reserva no se rompe por un almacenamiento intermedio de otra fuente. Si el almacenamiento tiene éxito, se coloca un cero en un registro. Si falla, un valor distinto de cero indica que el software necesita reintentar la operación. En cualquier caso, la reserva se libera. [ 3 ] : Capítulo 8
El segundo grupo de instrucciones atómicas realiza secuencias de lectura-modificación-escritura : una carga (que opcionalmente puede ser una carga-adquisición) en un registro de destino, luego una operación entre el valor cargado y un registro fuente, y finalmente un almacenamiento del resultado (que opcionalmente puede ser un almacenamiento-liberación). Hacer que las barreras de memoria sean opcionales permite combinar las operaciones. Las operaciones opcionales se habilitan mediante bits de adquisición y liberación que están presentes en cada instrucción atómica. RISC-V define nueve operaciones posibles: intercambio (usar directamente el valor del registro fuente); suma; AND, OR y OR exclusivo a nivel de bits; y mínimo y máximo con y sin signo. [ 3 ] : Capítulo 8
Un diseño de sistema puede optimizar estas operaciones combinadas más que lry sc. Por ejemplo, si el registro de destino para un intercambio es la constante cero, se puede omitir la carga. Si el valor almacenado no se ha modificado desde la carga, se puede omitir el almacenamiento. [ 52 ] : 44
El IBM System/370 y sus sucesores, incluyendo z/Architecture y x86 , implementan una instrucción compare-and-swap ( ), que prueba y actualiza condicionalmente una ubicación en la memoria: si la ubicación contiene un valor antiguo esperado, lo reemplaza con un nuevo valor dado; luego devuelve una indicación de si realizó el cambio. Sin embargo, generalmente se ejecuta una instrucción simple de tipo load antes de para obtener el valor antiguo. El problema clásico es que si un hilo lee (carga) un valor A , calcula un nuevo valor C y luego usa ( ) para reemplazar A con C , no tiene forma de saber si la actividad concurrente en otro hilo ha reemplazado A con algún otro valor B y luego ha restaurado A entretanto. En algunos algoritmos (por ejemplo, aquellos en los que los valores en memoria son punteros a bloques asignados dinámicamente), este problema ABA puede conducir a resultados incorrectos. La solución más común emplea una instrucción doblemente ancha para actualizar tanto el puntero como un contador adyacente; Desafortunadamente, dicha instrucción requiere un formato de instrucción especial para especificar múltiples registros, realiza varias lecturas y escrituras, y puede tener una operación de bus compleja. [ 3 ] : 48–49cascascascascas
La alternativa lr/ sces más eficiente. Generalmente solo requiere una carga de memoria, y minimizar las operaciones de memoria lentas es deseable. También es exacta: controla todos los accesos a la celda de memoria, en lugar de simplemente asegurar un patrón de bits. Sin embargo, a diferencia de cas, puede permitir el bloqueo mutuo , en el que dos o más hilos provocan repetidamente fallos en las instrucciones de los demás. RISC-V garantiza el progreso hacia adelante (sin bloqueo mutuo) si el código sigue las reglas sobre la temporización y la secuencia de instrucciones: 1) Debe usar solo el subconjunto I. 2) Para evitar fallos de caché repetitivos, el código (incluido el bucle de reintento) no debe ocupar más de 16 instrucciones consecutivas. 3) No debe incluir instrucciones del sistema ni de barrera, ni saltos hacia atrás entre lry sc. 4) El salto hacia atrás al bucle de reintento debe ser a la secuencia original. [ 3 ] : 48–49
La especificación proporciona un ejemplo de cómo usar las instrucciones atómicas de lectura-modificación-escritura para bloquear una estructura de datos. [ 3 ] : 54
subconjunto comprimido
El conjunto de instrucciones estándar RISC-V especifica que todas las instrucciones son de 32 bits. Esto hace que la implementación sea particularmente simple, pero al igual que otros procesadores RISC con codificación de instrucciones de 32 bits, resulta en un tamaño de código mayor que en conjuntos de instrucciones con instrucciones de longitud variable. [ 3 ] : 99 [ 54 ]
Para compensar, las instrucciones de 32 bits de RISC-V son en realidad de 30 bits; 3/4 del espacio de código de operación se reserva para un conjunto de instrucciones comprimidas de longitud variable opcional (pero recomendado) , RVC, que incluye instrucciones de 16 bits. Al igual que en SuperH , ARM Thumb y MIPS16 , las instrucciones comprimidas son simplemente codificaciones alternativas para un subconjunto de las instrucciones más grandes. Como en SuperH , pero a diferencia de los conjuntos comprimidos de ARM o MIPS, se reservó espacio desde el principio, por lo que no hay un modo de operación separado. Las instrucciones estándar y comprimidas se pueden mezclar libremente. [ 3 ] : 97 [ 54 ] (La letra de extensión es C .) [ 3 ] : 97
Dado que (al igual que Thumb-1 y MIPS16) las instrucciones comprimidas son simplemente codificaciones alternativas (alias) para un subconjunto seleccionado de instrucciones más grandes, la compresión se puede implementar en el ensamblador y no es esencial que el compilador siquiera lo sepa.
En 2011 se probó un prototipo de RVC. [ 54 ] El código del prototipo era un 20 % más pequeño que el código comprimido para PC x86 y MIPS , y un 2 % más grande que el código ARM Thumb-2 . [ 54 ] También redujo sustancialmente tanto la memoria caché necesaria como el consumo de energía estimado del sistema de memoria. [ 54 ]
El investigador pretendía reducir el tamaño binario del código para ordenadores pequeños, especialmente sistemas informáticos embebidos . El prototipo incluía 33 de las instrucciones más utilizadas, recodificadas en formatos compactos de 16 bits utilizando códigos de operación previamente reservados para el conjunto comprimido. [ 54 ] La compresión se realizó en el ensamblador , sin cambios en el compilador. Las instrucciones comprimidas omitieron campos que suelen ser cero, utilizaron valores inmediatos pequeños o accedieron a subconjuntos (16 u 8) de los registros. addies muy común y a menudo compresible. [ 54 ]
Gran parte de la diferencia de tamaño con respecto al conjunto Thumb de ARM se debía a que RISC-V, y el prototipo, no tenían instrucciones para guardar y restaurar múltiples registros. En su lugar, el compilador generaba instrucciones convencionales que accedían a la pila. El ensamblador RVC del prototipo solía convertirlas a formatos comprimidos que ocupaban la mitad del espacio. Sin embargo, esto seguía consumiendo más espacio de código que las instrucciones ARM para guardar y restaurar múltiples registros. El investigador propuso modificar el compilador para que llamara a rutinas de biblioteca para guardar y restaurar registros. Estas rutinas tenderían a permanecer en una caché de código y, por lo tanto, se ejecutarían rápidamente, aunque probablemente no tan rápido como una instrucción para guardar múltiples registros. [ 54 ]
El estándar RVC requiere el uso ocasional de instrucciones de 32 bits. Varias propuestas de RVC no estándar están completas, no requieren instrucciones de 32 bits y se dice que tienen densidades más altas que el estándar RVC. [ 56 ] [ 57 ] Otra propuesta se basa en estas y afirma usar también un rango de codificación menor. [ 58 ]
subconjunto incrustado
Un conjunto de instrucciones para las CPU integradas más pequeñas (conjunto E) se reduce de otras maneras: solo se admiten 16 de los 32 registros enteros. [ 3 ] : Capítulo 4 Se pueden utilizar todas las extensiones actuales; se está considerando una extensión de punto flotante para usar los registros enteros para valores de punto flotante. El conjunto de instrucciones privilegiado solo admite el modo máquina, el modo usuario y los esquemas de memoria que utilizan la reubicación de direcciones base y límite. [ 41 ]
Se ha debatido sobre un perfil de microcontrolador para RISC-V, con el fin de facilitar el desarrollo de sistemas embebidos complejos. Este perfil se centra en un soporte más rápido y sencillo para interrupciones mediante lenguaje C, modos de seguridad simplificados y una interfaz binaria de aplicación POSIX simplificada . [ 59 ]
Los corresponsales también han propuesto ISA RV16E de 16 bits más pequeñas y no estándar : Varias propuestas serias usarían las instrucciones C de 16 bits con 8 registros de 16 bits. [ 57 ] [ 56 ] Una broma del Día de los Inocentes propuso una disposición muy práctica: Utilizar 16 registros enteros de 16 bits, con las ISA EIMC estándar (incluidas las instrucciones de 32 bits). La broma consistía en usar la conmutación de bancos cuando una CPU de 32 bits sería claramente superior con el mayor espacio de direcciones. [ 60 ]
Conjunto de instrucciones privilegiadas
El conjunto de instrucciones (ISA) de RISC-V incluye una especificación de conjunto de instrucciones privilegiadas independiente , que describe principalmente tres niveles de privilegio más un modo de hipervisor ortogonal. A diciembre de 2021 , la versión 1.12 es ratificada por RISC-V International. [ 41 ]
La versión 1.12 de la especificación admite varios tipos de sistemas informáticos:
- Sistemas que solo tienen modo máquina , tal vez para sistemas embebidos simples,
- Sistemas con modo máquina (para un supervisor simple ) y modo usuario para implementar sistemas embebidos relativamente seguros,
- Sistemas con modo máquina, modo supervisor (para el sistema operativo) y modos de usuario para sistemas operativos típicos.
Estos corresponden aproximadamente a sistemas con hasta cuatro "anillos" de privilegio y seguridad , como máximo: máquina, hipervisor, supervisor y usuario. Se espera que cada capa también tenga una capa delgada de software de soporte estandarizado que se comunique con una capa más privilegiada, o hardware. [ 41 ]
La ISA también incluye un modo hipervisor que es ortogonal a los modos usuario y supervisor. [ 61 ] La característica básica es un bit de configuración que permite que el código de nivel supervisor acceda a los registros del hipervisor o provoca una interrupción en los accesos. Este bit permite que el modo supervisor gestione directamente el hardware necesario para un hipervisor. Esto simplifica la implementación de hipervisores alojados por un sistema operativo. Este es un modo popular para ejecutar computadoras a escala de almacén. Para admitir hipervisores no alojados, el bit puede hacer que estos accesos interrumpan al hipervisor. El diseño también simplifica el anidamiento de hipervisores, en el que un hipervisor se ejecuta bajo otro hipervisor, y si es necesario permite que el kernel utilice las características del hipervisor dentro de su propio código. Como resultado, la forma hipervisor de la ISA admite cinco modos: máquina, supervisor, usuario, supervisor bajo hipervisor y usuario bajo supervisor.
La especificación del conjunto de instrucciones privilegiadas define explícitamente los hilos de hardware , o harts . El uso de múltiples hilos de hardware es una práctica común en ordenadores más potentes. Cuando un hilo se bloquea esperando memoria, otros suelen poder continuar. Los hilos de hardware pueden ayudar a aprovechar mejor la gran cantidad de registros y unidades de ejecución en las CPU rápidas con ejecución fuera de orden. Finalmente, los hilos de hardware pueden ser una forma sencilla y eficaz de gestionar las interrupciones : no se requiere guardar ni restaurar registros, simplemente se ejecuta un hilo de hardware diferente. Sin embargo, el único hilo de hardware necesario en un ordenador RISC-V es el hilo cero. [ 41 ]
Las interrupciones y las excepciones se gestionan conjuntamente. Las excepciones se producen por la ejecución de instrucciones, incluidas las instrucciones ilegales y las llamadas al sistema, mientras que las interrupciones se producen por eventos externos. Las definiciones de los registros de control y estado existentes admiten las excepciones de error y memoria de RISC-V, y un pequeño número de interrupciones, normalmente mediante un "interruptor local avanzado del núcleo" (ACLINT). [ 62 ] Para sistemas con más interrupciones, la especificación también define un controlador de interrupciones a nivel de plataforma (PLIC) para coordinar un gran número de interrupciones entre varios procesadores. Las interrupciones siempre comienzan en el nivel de máquina con mayor privilegio, y los registros de control de cada nivel tienen bits de reenvío explícitos para enrutar las interrupciones a código con menos privilegios. Por ejemplo, el hipervisor no necesita incluir software que se ejecute en cada interrupción para reenviarla a un sistema operativo. En su lugar, durante la configuración, puede establecer bits para reenviar la interrupción. [ 41 ]
La especificación admite varios sistemas de memoria. El sistema exclusivamente físico es adecuado para los sistemas embebidos más sencillos. También existen cuatro sistemas de memoria virtual de estilo UNIX para la memoria caché en sistemas de almacenamiento masivo. Los sistemas de memoria virtual admiten MMU con cuatro tamaños, con direcciones de 32, 39, 48 y 57 bits. Todos los sistemas de memoria virtual admiten páginas de 4 KiB, árboles de tabla de páginas multinivel y utilizan algoritmos muy similares para recorrer los árboles de tabla de páginas. Todos están diseñados para el recorrido de la tabla de páginas por hardware o software. Para reducir opcionalmente el coste de los recorridos de la tabla de páginas, las páginas de gran tamaño pueden ser páginas hoja en niveles superiores del árbol de tabla de páginas de un sistema. SV32 solo es compatible con implementaciones de 32 bits, tiene un árbol de tabla de páginas de dos capas y admite superpáginas de 4 MiB. SV39 tiene una tabla de páginas de tres niveles y admite superpáginas de 2 MiB y gigapáginas de 1 GiB. Se requiere SV48 para admitir SV39. También tiene una tabla de páginas de 4 niveles y admite superpáginas de 2 MiB, gigapáginas de 1 GiB y terapáginas de 512 GiB. SV57 tiene una tabla de páginas de 5 niveles y admite superpáginas de 2 MiB, gigapáginas de 1 GiB, terapáginas de 512 GiB y petapáginas de 256 TiB. Las superpáginas se alinean en los límites de página para el tamaño de página inmediatamente inferior. [ 41 ]
Manipulación de bits
Algunas extensiones ISA de manipulación de bits fueron ratificadas en noviembre de 2021 (Zba, Zbb, Zbc, Zbs). [ 44 ] Las extensiones Zba, Zbb y Zbs son posiblemente extensiones de las instrucciones enteras estándar I: Zba contiene instrucciones para acelerar el cálculo de las direcciones de los elementos de matrices en matrices de tipos de datos de tamaño 2, 4 u 8 bytes (sh1add, sh2add, sh3add), y para procesadores de 64 (y 128) bits cuando se indexan con enteros sin signo (add.uw, sh1add.uw, sh2add.uw, sh3add.uw y slli.uw). Las instrucciones Zbb contienen operaciones para contar bits 0 iniciales, finales o todos los bits 1 en operaciones de palabras completas y de 32 bits (clz, clzw, ctz, ctzw, cpop, cpopw), reversión del orden de bytes (rev8), instrucciones lógicas con negación de la segunda entrada (andn, orn, xnor), extensión de signo y cero (sext.b, sext.h, zext.h) que no se pudieron proporcionar como casos especiales de otras instrucciones (andi, addiw, add.wu), mínimo y máximo de enteros (con y sin signo), rotación (izquierda y derecha) de bits en un registro y palabras de 32 bits (rori, roriw, ror, rorw, rol, rolw), y una operación de "combinación o" byte a byte que permite la detección de un byte cero en un registro completo, útil para manejar funciones de cadenas terminadas en nulo al estilo C. La extensión Zbs permite establecer, obtener, borrar y alternar bits individuales en un registro por su índice (bseti, bset, bexti, bext, bclri, bclr, binvi, binv).
La extensión Zbc incluye instrucciones para la "multiplicación sin acarreo", que realiza la multiplicación de polinomios sobre el cuerpo de Galois GF(2) (clmul, clmulh, clmulr). Estas instrucciones son útiles para la criptografía y las comprobaciones CRC de la integridad de los datos.
Bien ejecutado, un subconjunto de manipulación de bits más especializado puede ayudar en operaciones criptográficas, gráficas y matemáticas. Otras instrucciones que se han discutido incluyen instrucciones para desplazar unos, una inversión generalizada de bits, permutaciones de barajado y de barra transversal, colocación de campos de bits, extracción y depósito de dos palabras, bytes o medias palabras en un registro, instrucciones CRC, operaciones de matriz de bits (solo RV64), mezcla condicional, movimiento condicional, desplazamientos de embudo. Los criterios de inclusión documentados en el borrador eran compatibles con las filosofías RISC-V y los formatos ISA, mejoras sustanciales en la densidad o velocidad del código (es decir, al menos una reducción de 3 por 1 en las instrucciones) y aplicaciones sustanciales en el mundo real, incluido el soporte preexistente del compilador. La versión 0.93 de la extensión de manipulación de bits incluye esas instrucciones; [ 63 ] algunas de ellas ahora están en la versión 1.0.1 de la extensión de criptografía de instrucciones fuente escalares y de entropía . [ 46 ]
SIMD empaquetado
Las instrucciones Packed-SIMD son ampliamente utilizadas por las CPU comerciales para acelerar de forma económica el procesamiento de señales multimedia y otras señales digitales . [ 42 ] Para sistemas RISC-V simples y de costo reducido, la especificación del ISA base propuso utilizar los bits de los registros de punto flotante para realizar aritmética paralela de subpalabra de instrucción única, datos múltiples ( SIMD ).
En 2017, un proveedor publicó una propuesta más detallada en la lista de correo, y esta puede citarse como la versión 0.1. [ 64 ] A partir de 2019, la eficiencia de esta ISA propuesta varía de 2x a 5x una CPU base para una variedad de códecs DSP. [ 65 ] La propuesta carecía de formatos de instrucción y una asignación de licencia a RISC-V International, pero fue revisada por la lista de correo. [ 64 ] Algunas partes impopulares de esta propuesta fueron que agregó un código de condición, el primero en un diseño RISC-V, registros adyacentes enlazados (también una primicia) y tiene un contador de bucle que puede ser difícil de implementar en algunas microarquitecturas.
Conjunto de vectores
El conjunto de instrucciones de procesamiento vectorial propuesto podría dejar obsoleto el conjunto SIMD empaquetado . Los diseñadores esperan contar con la flexibilidad suficiente para que una CPU pueda implementar instrucciones vectoriales en los registros de un procesador estándar. Esto permitiría implementaciones mínimas con un rendimiento similar al de un conjunto de instrucciones multimedia, como se mencionó anteriormente. Sin embargo, un verdadero coprocesador vectorial podría ejecutar el mismo código con un rendimiento superior. [ 66 ]
A fecha de 19 de septiembre de 2021 La extensión vectorial se encuentra en la versión 1.0. [ 67 ] Se trata de un diseño conservador y flexible de un procesador vectorial de precisión mixta de propósito general, adecuado para ejecutar núcleos de cómputo . El código se portaría fácilmente a CPU con diferentes longitudes de vector, idealmente sin necesidad de recompilación. [ 66 ]
Por el contrario, las extensiones SIMD de vector corto son menos convenientes. Estas se utilizan en x86 , ARM y PA-RISC . En ellas, un cambio en el ancho de palabra obliga a modificar el conjunto de instrucciones para ampliar los registros vectoriales (en el caso de x86, de registros MMX de 64 bits a extensiones SIMD de transmisión (SSE) de 128 bits , a extensiones vectoriales avanzadas (AVX) de 256 bits y a AVX-512 ). El resultado es un conjunto de instrucciones cada vez mayor y la necesidad de adaptar el código existente a las nuevas instrucciones.
En la arquitectura vectorial RISC-V, en lugar de fijar la longitud del vector, se dispone de instrucciones ( vsetvli, vsetivli, y ) que toman un tamaño solicitado y establecen la longitud del vector al mínimo entre el límite de hardware y el tamaño solicitado. Por lo tanto, la propuesta de RISC-V se asemeja más al diseño de vector largo de Cray o a la extensión vectorial escalable de ARM. Es decir, cada vector de hasta 32 vectores tiene la misma longitud. [ 67 ] : 25vsetvl
La aplicación especifica el ancho total del vector que requiere, y el procesador determina la longitud del vector que puede proporcionar con los recursos disponibles en el chip. Esto se realiza mediante una instrucción ( vsetcfg) con cuatro operandos inmediatos, que especifican el número de registros vectoriales necesarios para cada ancho disponible. El total no debe ser superior al límite direccionable de 32, pero puede ser menor si la aplicación no los requiere todos. La longitud del vector está limitada por el almacenamiento disponible en el chip dividido por el número de bytes de almacenamiento necesarios para cada entrada. (También pueden existir límites de hardware adicionales, lo que a su vez puede permitir implementaciones de estilo SIMD). [ 66 ]
Fuera de los bucles vectoriales, la aplicación puede poner a cero el número de registros vectoriales solicitados, ahorrando al sistema operativo el trabajo de conservarlos en los cambios de contexto . [ 66 ]
La longitud del vector no solo es variable arquitectónicamente, sino que también está diseñada para variar en tiempo de ejecución. Para lograr esta flexibilidad, es probable que el conjunto de instrucciones utilice rutas de datos de ancho variable y operaciones de tipo variable mediante sobrecarga polimórfica. [ 66 ] El objetivo es que esto pueda reducir el tamaño y la complejidad del ISA y del compilador. [ 66 ]
Los recientes procesadores vectoriales experimentales con rutas de datos de ancho variable también muestran aumentos rentables en operaciones por segundo (velocidad), área (menor costo) y vatio (mayor duración de la batería). [ 68 ]
A diferencia de una unidad de procesamiento gráfico moderna típica , no hay planes para proporcionar hardware especial para admitir la predicción de bifurcaciones . En su lugar, se utilizará la predicción basada en compilador de menor costo. [ 66 ] [ 69 ]
Sistema de depuración externo
Existe una especificación preliminar para el depurador asistido por hardware de RISC-V . El depurador utilizará un sistema de transporte como el Grupo Conjunto de Acción de Pruebas ( JTAG ) o el Bus Serie Universal ( USB ) para acceder a los registros de depuración. Una interfaz de depuración de hardware estándar puede admitir una interfaz abstracta estandarizada o alimentación de instrucciones . [ 70 ] [ 71 ]
A partir de enero de 2017 La forma exacta de la interfaz abstracta sigue sin estar definida, pero las propuestas incluyen un sistema mapeado en memoria con direcciones estandarizadas para los registros de los dispositivos de depuración o un registro de comandos y un registro de datos accesibles al sistema de comunicación. [ 70 ] Los corresponsales afirman que sistemas similares son utilizados por la interfaz de modo de depuración en segundo plano (BDM) de Freescale para algunas CPU, ARM , OpenRISC y LEON de Aeroflex . [ 70 ]
En la alimentación de instrucciones , la CPU procesará una excepción de depuración para ejecutar instrucciones individuales escritas en un registro. Esto puede complementarse con un registro de paso de datos y un módulo para acceder directamente a la memoria. La alimentación de instrucciones permite que el depurador acceda al ordenador exactamente como lo haría un software. También minimiza los cambios en la CPU y se adapta a muchos tipos de CPU. Se dijo que esto era especialmente apropiado para RISC-V porque está diseñado explícitamente para muchos tipos de ordenadores. El registro de paso de datos permite que un depurador escriba un bucle de movimiento de datos en la RAM y luego ejecute el bucle para mover datos dentro o fuera del ordenador a una velocidad cercana a la velocidad máxima del canal de datos del sistema de depuración. [ 70 ] Los corresponsales dicen que sistemas similares son utilizados por MIPS Technologies MIPS , Intel Quark , Xtensa de Tensilica y para la interfaz de modo de depuración en segundo plano (BDM) de las CPU Power ISA de Freescale . [ 70 ]
Un proveedor propuso un subsistema de rastreo de hardware para estandarización, donó un diseño conforme e inició una revisión. [ 72 ] [ 73 ] La propuesta consiste en un módulo de hardware que puede rastrear la ejecución de código en la mayoría de las CPU RISC-V. Para reducir la tasa de datos y permitir rutas más simples o menos costosas para los datos de rastreo, la propuesta no genera datos de rastreo que puedan calcularse a partir de una imagen binaria del código. Envía solo datos que indican rutas "no inferibles" a través del programa, como qué bifurcaciones condicionales se toman. Para reducir las tasas de datos, las bifurcaciones que pueden calcularse, como las bifurcaciones incondicionales, no se rastrean. La interfaz propuesta entre el módulo y la unidad de control es una señal lógica para cada tipo de instrucción no inferible. Las direcciones y otros datos se proporcionarán en un bus especializado conectado a las fuentes de datos apropiadas en una CPU. La estructura de datos enviada a una unidad de rastreo externa es una serie de mensajes cortos con los datos necesarios. Los detalles del canal de datos no se describen intencionalmente en la propuesta, porque es probable que varios sean útiles.
Implementaciones
Antecedentes estratégicos
La organización RISC-V mantiene una lista de implementaciones de CPU y SoC RISC-V. [ 74 ] Debido a las guerras comerciales y posibles sanciones que impedirían a China acceder a ISA propietarias, a partir de 2023 el país planeaba cambiar la mayoría de sus arquitecturas de CPU y diseños de microcontroladores (MCU) a núcleos RISC-V. [ 75 ]
En 2023, la Unión Europea tenía previsto aportar 270 millones de euros en el marco de un Acuerdo Marco de Asociación (FPA) a una única empresa capaz y dispuesta a llevar a cabo un proyecto de desarrollo de CPU RISC-V destinado a superordenadores, servidores y centros de datos. [ 76 ] El objetivo de la Unión Europea era independizarse de los acontecimientos políticos de otros países y «fortalecer su soberanía digital y establecer estándares, en lugar de seguir los de otros». [ 77 ]
Según The Register , los medios chinos informaron en marzo de 2025, durante la conferencia donde se lanzó la CPU de grado servidor Alibaba DAMO Xuantie C930, que altos ejecutivos de Alibaba Cloud habían predicho que RISC-V se convertiría en una arquitectura de nube principal ya en 2030. [ 78 ] Según Reuters , en 2025, organismos gubernamentales chinos habían estado trabajando en una "guía" que promovería el uso generalizado de RISC-V en toda China. [ 78 ]
Importantes novedades para el mercado
En 2019, SiFive de Santa Clara, California, anunció su primer núcleo de CPU RISC-V de alto rendimiento con ejecución fuera de orden , la serie U8. [ 79 ] SiFive se estableció específicamente para desarrollar hardware RISC-V y comenzó a lanzar modelos de procesadores en 2017. [ 80 ] [ 81 ] Estos incluían un sistema en un chip (SoC) de cuatro núcleos y 64 bits (RV64GC) capaz de ejecutar sistemas operativos de propósito general como Linux . [ 82 ]
En julio de 2019, DAMO Academy, [ 83 ] [ 84 ] el brazo de investigación de Alibaba Group de Hangzhou , China, anunció el procesador Xuantie 910 de 2,5 GHz, 16 núcleos y 64 bits (RV64GC) con ejecución fuera de orden . [ 85 ] En octubre de 2021, el Xuantie 910 se lanzó como un diseño de código abierto. [ 86 ]
En 2022, Imagination Technologies de Kings Langley, Inglaterra, anunció que había combinado su propio núcleo RISC-V Catapult de 64 bits con su GPU IMG BXE-2-32 en un SoC, que fue validado por Andes Technology. [ 87 ] La GPU BXE admite Vulkan 1.2, OpenGL ES 3.x/2.0/1.1, OpenCL 3.0 y las API HAL de Android NN. [ 87 ]
En noviembre de 2023, DAMO presentó tres procesadores actualizados: el Xuantie C920, el Xuantie C907 y el Xuantie R910; estos procesadores estaban destinados a diversas áreas de aplicación, incluyendo vehículos autónomos, inteligencia artificial (IA), discos duros empresariales y comunicaciones de red. [ 88 ]
En 2024, SpacemiT , una empresa china con sede en Hangzhou , desarrolló su "Key Stone K1", un procesador de ocho núcleos y 64 bits disponible en el ordenador BPI-F3 , así como en los siguientes dispositivos: LicheePi 3A, Milk-V Jupiter, DeepComputing DC-ROMA LAPTOP II y SpacemiT MUSEbook con el sistema operativo Bianbu OS. El procesador se basa en el diseño de núcleo X60, integra una unidad gráfica Imagination Technologies IMG BXE-2-32 y admite la extensión vectorial RVV 1.0. [ 89 ]
En enero de 2025, SpacemiT anunció el desarrollo de un procesador para servidores con hasta 64 núcleos RISC-V, llamado "VitalStone V100" y fabricado con una tecnología de proceso de 12 nm. [ 90 ] [ 91 ] [ 92 ] El procesador VitalStone V100 se basa en gran medida en el diseño del proyecto OpenC910, un diseño que a su vez se basa en el procesador Xuantie C910, diseñado por la Academia DAMO de Alibaba. [ 93 ]
En marzo de 2025, la Academia DAMO de Alibaba lanzó el núcleo Xuantie C930 de grado servidor, [ 94 ] que admitía la familia de perfiles RVA23 de próxima generación, requerida por Ubuntu Linux a partir de octubre de 2025. [ 95 ] [ 96 ] El núcleo de CPU C930 se publicitó como ideal para servidores, computadoras personales y automóviles autónomos. [ 95 ] Creó una competencia significativa para la empresa SiFive, con sede en California , y su núcleo P870, cuyo diseño SiFive ya había lanzado en octubre de 2023. [ 97 ] [ 98 ] El P870 fue el primer núcleo de SiFive en admitir la nueva familia de perfiles RVA23. [ 99 ] Sin embargo, tanto con respecto al diseño del C930 como al del P870, en agosto de 2025 no se habían fabricado chips físicos para la venta general. [ 100 ]
El 26 de marzo de 2026, Alibaba lanzó el Xuantie C950, un núcleo de procesador RISC-V de 64 bits de alto rendimiento. [ 101 ] Este núcleo, que se construyó sobre el perfil RVA23 actualizado, fue diseñado para cargas de trabajo altas como IA de borde, computación en la nube y otros sistemas de alto rendimiento. [ 101 ] El C950 tenía una frecuencia de reloj máxima de 3,2 GHz y estaba listo para la producción en un nodo de proceso avanzado de 5 nm, con fuentes que indicaban que TSMC fabricaría el C950. [ 102 ] La revista industrial EE Times comentó que los puntos de referencia de rendimiento del C950 demostraron que un diseño de código abierto podía alcanzar niveles de rendimiento que, hasta 2026, solo los diseños propietarios de Intel o Arm podían alcanzar. [ 102 ] Según el director ejecutivo de Alibaba, Yongming Wu, el C950 fue un intento de "participar en un codiseño más profundo con la infraestructura en la nube de Alibaba y el modelo Qwen [lenguaje extenso] para proporcionar una mayor rentabilidad" en un esfuerzo por alcanzar a los fabricantes de chips occidentales. [ 103 ]
Otros acontecimientos
Existente
Las implementaciones propietarias existentes incluyen:
- Akeana, con sede en Santa Clara, California, miembro Premier de RISC-V International, ofrece una amplia gama de propiedad intelectual basada en RISC-V. Su oferta abarca desde pequeños núcleos de 32 bits hasta avanzados núcleos de 64 bits para centros de datos con capacidades de FPU, Vector, Hypervisor y multinúcleo, así como IOMMU, interconexión de alta velocidad, aceleradores de IA y propiedad intelectual relacionada.
- Andes Technology Corporation de Hsinchu, Taiwán, miembro fundador Premier de RISC-V International. [ 104 ] Sus familias de CPU RISC-V abarcan desde pequeños núcleos de 32 bits hasta avanzados núcleos de 64 bits con capacidades DSP, FPU, vectoriales, superescalares y/o multinúcleo.
- Bouffalo Lab tiene una serie de MCUs basados en RISC-V (RV32IMACF, serie BL60x/BL70x). [ 105 ]
- CloudBEAR es una empresa de propiedad intelectual de procesadores que desarrolla sus propios núcleos RISC-V para una variedad de aplicaciones. [ 106 ]
- Codasip de Múnich, Alemania, miembro fundador de RISC-V International, [ 104 ] comenzó a desarrollar una gama de núcleos de procesadores integrados de bajo consumo, alto rendimiento y para aplicaciones en 2015. [ 107 ] [ 108 ] [ 109 ] En 2016, Codasip y UltraSoC desarrollaron propiedad intelectual totalmente compatible para SOC integrados RISC-V que combina los núcleos RISC-V de Codasip y otra propiedad intelectual con la depuración, optimización y análisis de UltraSoC. [ 110 ]
- Cortus de Mauguio en la región de Montpellier, Francia, es miembro fundador original Platino de la fundación RISC-V y de RISC-V International. [ 104 ] La empresa ofrece varias implementaciones de RISC-V. Cortus ofrece servicios de diseño de ASIC utilizando su cartera de propiedad intelectual, que incluye procesadores RISC-V de 32/64 bits, desde procesadores de gama baja hasta procesadores RISC-V de muy alto rendimiento, digitales, analógicos, de RF, de seguridad y un ecosistema completo de IDE/cadena de herramientas/depuración.
- Espressif de Shanghái, China, añadió un coprocesador RISC-V ULP a su microcontrolador ESP32-S2 . [ 111 ] En noviembre de 2020, Espressif anunció su ESP32-C3, un microcontrolador de un solo núcleo, de 32 bits, basado en RISC-V (RV32IMC). [ 112 ]
- El Instituto Fraunhofer de Microsistemas Fotónicos , con sede en Dresde, Alemania, fue la primera organización en desarrollar un núcleo RISC-V que cumple con los requisitos de seguridad funcional. El núcleo IP EMSA5 es un procesador de 32 bits con una arquitectura de cinco etapas y está disponible como una variante de propósito general (EMSA5-GP) y como una variante de seguridad (EMSA5-FS) que cumple con el estándar ISO 26262 de Nivel de Integridad de Seguridad Automotriz -D. [ 113 ]
- GigaDevice de Beijing, China, desarrolló una serie de MCUs basados en RISC-V (RV32IMAC, serie GD32V) en 2019, [ 114 ] uno de los cuales se utilizó en la placa Longan Nano producida por una empresa electrónica china Sipeed . [ 115 ]
- Google ha desarrollado el módulo de seguridad Titan M2 para el Pixel 6 y el Pixel 7 [ 116 ].
- GreenWaves Technologies anunció la disponibilidad de GAP8, un SoC de 32 bits (RV32IMC) con 1 controlador y 8 núcleos de cómputo, y una placa de desarrollo en febrero de 2018. Su placa de desarrollo GAPuino GAP8 comenzó a distribuirse en mayo de 2018. [ 117 ] [ 118 ] [ 119 ]
- Imagination Technologies de Kings Langley, Inglaterra, Reino Unido, lanzó el RTXM-2200 [ 120 ] en 2023, su primer núcleo de su gama Catapult. Se trata de una CPU integrada de 32 bits, determinista y en tiempo real.
- SoC instantáneo [ 121 ] Núcleos RISC-V a partir de núcleos FPGA. Sistema en chip , incluyendo núcleos RISC-V, definido por C++.
- Micro Magic Inc. anunció en octubre de 2020 el núcleo RISC-V de 64 bits más rápido del mundo, que alcanzó los 5 GHz y 13 000 CoreMarks.
- MIPS Technologies de San José, California, se centró en el desarrollo de núcleos RISC-V en 2021. Lanzó su primera implementación, el eVocore P8700, en diciembre de 2022. [ 122 ] [ 123 ]
- Nordic Semiconductor ha anunciado su familia de chips de radio Bluetooth nRF54H20 que incluyen múltiples núcleos de coprocesador RISC-V además de sus núcleos ARM más habituales. [ 124 ]
- Seagate , en diciembre de 2020, anunció que había desarrollado dos núcleos RISC-V de propósito general para su uso en los próximos controladores de sus dispositivos de almacenamiento. [ 125 ]
- StarFive , (inicialmente distribuidor exclusivo de productos IP de núcleo RISC-V de SiFive en la región de la Gran China) [ 126 ] de Shanghái, [ 127 ] China, ofrece dos implementaciones de RISC-V : una para aplicaciones de big data y otra para almacenamiento computacional. [ 128 ] [ 129 ]
- Syntacore , [ 130 ] miembro fundador de RISC-V International y uno de los primeros proveedores comerciales de propiedad intelectual RISC-V, desarrolla y licencia una familia de propiedad intelectual RISC-V desde 2015. A partir de 2018La línea de productos incluye ocho núcleos de 32 y 64 bits, incluido el núcleo MCU SCR1 de código abierto (RV32I/E[MC]). [ 131 ] Los primeros SoC comerciales, basados en la propiedad intelectual de Syntacore, se demostraron en 2016. [ 132 ]
- WinChipHead (WCH), un fabricante chino de semiconductores de chips USB populares y económicos como CH340 y microcontroladores ARM [ 133 ] presentó una línea de microcontroladores RISC-V simple y económica CH32Vxxx, encabezada por el CH32V003 de US$0,10. [ 134 ] [ 135 ]
- A partir de 2020, el sector estratégico y de defensa de la India comenzó a utilizar el procesador Risecreek de 100–350 MHz basado en RISC-V de 64 bits desarrollado por el IIT Madras y fabricado por Intel con un proceso FinFET de 22 nm . [ 136 ] [ 137 ] El IIT Madras y la Unidad de Sistemas Inerciales de ISRO diseñaron y pusieron en marcha con éxito un chip controlador RISC-V de 64 bits para aplicaciones espaciales (IRIS) basado en el procesador base SHAKTI en febrero de 2025. La configuración del chip tiene en cuenta la potencia de procesamiento y las necesidades funcionales de los dispositivos y sensores utilizados en las misiones de ISRO. Para mejorar la fiabilidad, se interconectaron memorias internas tolerantes a fallos con el núcleo SHAKTI. [ 138 ]
- Las placas de desarrollo RIES v3.0d son las primeras en utilizar procesadores DIR-V VEGA RISC-V. Contienen el VEGA ET1031, una CPU RISC-V de 32 bits con tres puertos serie UART , cuatro puertos de interfaz periférica serie , dos megabytes de memoria flash , 256 KB de SRAM y tres temporizadores de 32 bits. Funciona a 100 MHz. C-DAC recomienda su uso en dispositivos portátiles, juguetes, pequeños dispositivos IoT y sensores en el mercado indio. [ 139 ]
- Para mejorar la eficiencia y las capacidades multitarea en electrónica de consumo, sistemas automotrices, infraestructura 5G , automatización industrial e IoT, C-DAC presentó en 2025 el procesador RISC-V de 64 bits DHRUV de doble núcleo a 1,0 GHz, fabricado con un proceso de 28 nm. [ 140 ] [ 141 ]
En desarrollo
- ASTC desarrolló una CPU RISC-V para circuitos integrados embebidos. [ 142 ]
- El Centro para el Desarrollo de la Computación Avanzada (C-DAC) en India está desarrollando un procesador RISC-V de un solo núcleo de 32 bits con ejecución en orden, un procesador de un solo núcleo de 64 bits con ejecución en orden y tres procesadores RISC-V de uno, dos y cuatro núcleos con ejecución fuera de orden, bajo la serie de microprocesadores VEGA . [ 143 ] [ 144 ] [ 145 ]
- Cobham Gaisler NOEL-V de 64 bits. [ 146 ]
- El Laboratorio de Computación de la Universidad de Cambridge , en colaboración con el Proyecto FreeBSD , ha adaptado ese sistema operativo a RISC-V de 64 bits para usarlo como plataforma de investigación de hardware y software. [ 147 ]
- Esperanto Technologies anunció que está desarrollando tres procesadores basados en RISC-V: el núcleo de alto rendimiento ET-Maxion , el núcleo de bajo consumo energético ET-Minion y el procesador gráfico ET-Graphics . [ 148 ]
- Esperanto ET-SoC-1, una supercomputadora "kilocore" de 200 TOPS en un chip, con 1088 pequeños núcleos ET-Minion de 64 bits en orden con unidades tensoriales/vectoriales y 4 grandes núcleos ET-Maxion de 64 bits fuera de orden [ 149 ]
- ETH Zurich y la Universidad de Bolonia han desarrollado en cooperación el procesador RISC-V PULPino de código abierto [ 150 ] como parte del proyecto Parallel Ultra-Low Power (PULP) para computación IoT energéticamente eficiente. [ 151 ]
- Iniciativa Europea de Procesadores (EPI), Flujo de Aceleradores RISC-V. [ 152 ] [ 153 ]

Ilustración del primer prototipo funcional del chip RISC-V de EPI en 2021. - El Grupo de Ingeniería de Sistemas Inteligentes Reconfigurables (RISE) del IIT-Madras está desarrollando seis diseños de CPU RISC-V de código abierto de la serie Shakti para seis usos distintos, desde una pequeña CPU de 32 bits para el Internet de las cosas (IoT) hasta grandes CPU de 64 bits diseñadas para computadoras a escala de almacén, como granjas de servidores basadas en las tecnologías RapidIO e Hybrid Memory Cube . [ 154 ] [ 39 ] [ 155 ] RISE arrancó con éxito Moushik de 32 bits para la aplicación de tarjetas de crédito, máquinas de votación electrónica (EVM), cámaras de vigilancia, cerraduras de seguridad y sistemas de gestión de salud personalizados. [ 137 ] [ 156 ]
- lowRISC es un proyecto sin ánimo de lucro para implementar un sistema de hardware en un chip (SoC) totalmente de código abierto basado en la arquitectura RISC-V de 64 bits. [ 157 ]
- Nvidia planea usar RISC-V para reemplazar su procesador Falcon en sus tarjetas gráficas GeForce . [ 158 ]
- El consorcio RV64X está trabajando en un conjunto de extensiones gráficas para RISC-V y ha anunciado que está desarrollando un núcleo RISC-V de código abierto con una unidad GPU. [ 159 ]
- Ventana Micro Systems reveló que está desarrollando propiedad intelectual de CPU RISC-V de alto rendimiento y tecnología de chiplets dirigida a aplicaciones de centros de datos. [ 160 ] [ 161 ]
Código abierto
- Las CPU de Berkeley están implementadas en un lenguaje de diseño de hardware único, Chisel , y algunas llevan el nombre de famosas locomotoras:
- Rocket de 64 bits. [ 162 ] Rocket puede ser adecuado para computadoras intermedias compactas y de bajo consumo, como dispositivos personales. Nombrado en honor a Rocket de Stephenson .
- La máquina Berkeley Out-of-Order de 64 bits (BOOM). [ 163 ] La máquina Berkeley Out-of-Order (BOOM) es un núcleo RISC-V RV64GC de código abierto, sintetizable y parametrizable, escrito en el lenguaje de construcción de hardware Chisel. BOOM utiliza gran parte de la infraestructura creada para Rocket y puede utilizarse en ordenadores personales, superordenadores y ordenadores a escala de almacén.
- Cinco diseños de CPU Sodor de 32 bits de Berkeley, diseñados para proyectos estudiantiles. [ 38 ] Sodor es la isla ficticia de la serie The Railway Series .
- El Instituto de Tecnología Informática de la Academia China de Ciencias (ICT CAS) lanzó en junio de 2020 el proyecto del procesador RISC-V de alto rendimiento XiangShan. [ 164 ] [ 165 ] En el verano de 2021, se presentó en una conferencia RISC-V en China un prototipo de CPU producido en TSMC en un nodo de proceso de 28 nm, con velocidades de hasta 1,3 GHz. [ 166 ] Se iba a producir un prototipo actualizado en SMIC en un nodo de proceso de 14 nm con velocidades de hasta 2 GHz. [ 167 ] Las capacidades del segundo procesador XiangShan, llamado “Nanhu”, que se lanzó en agosto de 2022, podrían haber superado las del ARM Cortex-A76 , una CPU actual en ese momento, convirtiendo a Nanhu en la CPU de código abierto más potente del mundo en 2023. [ 168 ] [ 88 ] Para 2022, el Instituto de Tecnología Informática planeaba anunciar un nuevo diseño de XiangShan con la extensión RISC-V Vector para aplicaciones como la aceleración de IA; en el futuro esperaba encontrar una empresa tipo “ Red Hat ” que se dedicara a la comercialización de sus núcleos XiangShan. [ 168 ]
- PicoRV32 porClaire Wolf , [ 169 ] una implementación en Verilog de la clase RV32IMC de una unidad de microcontrolador (MCU)de 32 bits.
- La familia CORE-V de núcleos RISC-V de código abierto está gestionada por la Fundación OpenHW .
- SCR1 de Syntacore, [ 131 ] una implementación en Verilog de la clase RV32IMC de una unidad de microcontrolador (MCU) de 32 bits .
- MIPT-MIPS [ 170 ] de MIPT-ILab ( MIPT Lab for CPU Technologies creado con la ayuda de Intel ). MIPT-MIPS es un simulador pre-silicio de precisión de ciclo para CPU RISC-V y MIPS. Mide el rendimiento de programas que se ejecutan en la CPU. Entre sus características clave se encuentran: compatibilidad con llamadas al sistema interactivas MARS, [ 171 ] simulación interactiva con GDB , unidad de predicción de bifurcaciones configurable con varios algoritmos de predicción y caché de instrucciones y derivación de datos entre etapas. Implementación en C++.
- SERV [ 172 ] de Olof Kindgren, un núcleo RV32I serial de bits validado físicamente pequeño en Verilog , es la CPU RISC-V más pequeña del mundo. Está integrado con los sistemas de construcción de SoC LiteX y FuseSoC. Una implementación en FPGA [ 173 ] tenía 125 tablas de búsqueda (LUT) y 164 flip-flops , funcionando a 1,5 MIPS . En un ASIC de nodo de 130 nm, era de 2,1 kGE [ 173 ] y una FPGA de gama alta podía albergar 10 000 núcleos. [ 174 ]
- PULPino (Riscy y Zero-Riscy) de ETH Zürich / Universidad de Bolonia. [ 175 ] Los núcleos en PULPino implementan una ISA RV32IMC simple para microcontroladores (Zero-Riscy) o una ISA RV32IMFC más potente con extensiones DSP personalizadas para procesamiento de señales embebidas.
- Western Digital , en diciembre de 2018, anunció un núcleo RV32IMC llamado SweRV EH1 que presenta un diseño de canalización de nueve etapas y superescalar de 2 vías en orden. En diciembre de 2019, WD anunció el SweRV EH2, un núcleo en orden con dos hilos de hardware y una canalización de nueve etapas, y el SweRV EL2, un núcleo de emisión única con una canalización de 4 etapas [ 176 ]. WD planea usar procesadores basados en SweRV en sus controladores flash y SSD, y lo lanzó como código abierto para terceros en enero de 2019. [ 177 ] [ 178 ] [ 179 ]
- NEORV32 de Stephan Nolting, [ 180 ] una unidad de microcontrolador (MCU) de 32 bits altamente configurable de clase RV32[I/E]MACUX_Zbb_Zfinx_Zicsr_Zifencei CPU con soporte de depurador en chip escrito en VHDL independiente de la plataforma . El proyecto incluye un SoC similar a un microcontrolador que ya incluye módulos comunes como UART, temporizadores, SPI, TWI, un TRNG y memorias integradas.
- Hazard3 de Luke Wren, un procesador RV32I con una arquitectura de tres etapas. [ 181 ] Dos núcleos Hazard3 están implementados en el microcontrolador RP2350 . [ 182 ]
Hardware para el usuario final

En 2022, ClockworkPi lanzó dos kits de computación para aficionados: el terminal DevTerm y el ordenador de mano uConsole . Ambos kits ofrecían como opción un módulo RISC-V de 64 bits de un solo núcleo, que utilizaba el RV64IMAFDCVU basado en el SoC Allwinner D1. [ 183 ] [ 184 ]
DeepComputing , una empresa de hardware con sede en Hong Kong, anunció el lanzamiento el 13 de abril de 2023 de la "primera computadora portátil del mundo con procesador RISC-V"; la computadora portátil, llamada "DC-ROMA", se entregó a sus primeros clientes en agosto de 2023 [ 185 ] y venía con el sistema operativo chino openKylin Linux preinstalado . [ 186 ] El modelo básico del dispositivo, disponible en Alibaba , seguía siendo caro a unos US$1500 [ 187 ] considerando que estaba impulsado por la CPU "XuanTie C910" de Alibaba (DAMO), relativamente lenta [ 188 ] .
Una actualización en junio de 2024 duplicó la cantidad de núcleos a 8 y aumentó la velocidad de reloj a 2 GHz (desde 1,5 GHz), mientras que redujo el precio a US$1000. [ 189 ] El procesador utilizado fue un SpacemiT SoC K1. [ 190 ] [ 191 ] Una colaboración con Canonical [ 192 ] significó que el ROMA II viniera con la principal distribución internacional de Linux Ubuntu preinstalada . [ 193 ]
En 2024, DeepComputing anunció una colaboración con Framework Computer para producir una placa base para su Framework Laptop 13. [ 194 ] [ 195 ] El 4 de febrero de 2025, el portátil estaba listo para su envío; estaba dirigido principalmente a desarrolladores. Cuenta con un procesador StarFive JH7110 de 4 núcleos . [ 196 ] [ 197 ]
En 2025, DeepComputing anunció DC-ROMA AI PC, una segunda placa base para el Framework Laptop 13. Está basada en el SoC EIC7702X de ESWIN, que cuenta con capacidades de IA de hasta 50 TOPS cuando la NPU (Unidad de Procesamiento Neuronal) está habilitada. [ 198 ] [ 199 ]
Software
Además de contar con una gran cantidad de diseños de hardware de CPU, RISC-V también es compatible con cadenas de herramientas, sistemas operativos (por ejemplo, Linux ), middleware y software de diseño:
Las herramientas de software RISC-V disponibles incluyen una cadena de herramientas GNU Compiler Collection (GCC) (con GDB , el depurador), una cadena de herramientas LLVM , el simulador OVPsim (y una biblioteca de modelos de procesadores rápidos RISC-V), el simulador Spike y un simulador en QEMU (RV32GC/RV64GC). Una versión de OpenJDK ya está integrada en el repositorio principal de OpenJDK . [ 200 ]
Existe soporte para el sistema operativo Linux kernel, FreeBSD , NetBSD y OpenBSD . La versión preliminar de FreeBSD para la arquitectura RISC-V se incorporó al proyecto principal en febrero de 2016 y se incluyó en FreeBSD 11.0. [ 201 ] [ 147 ]
Como una de las únicas siete arquitecturas de CPU (por ejemplo, ARM o x86 ), Debian Linux ha brindado soporte oficial a RISC-V desde Debian Trixie , que se lanzó en agosto de 2025. [ 202 ] También existen versiones de las distribuciones de Linux Fedora , [ 203 ] y openSUSE , [ 204 ] y una versión de Haiku , [ 205 ] (solo versiones de 64 bits, no de 32 bits). En junio de 2024, la empresa hongkonesa DeepComputing anunció la disponibilidad comercial de la primera computadora portátil RISC-V del mundo que ejecuta el popular sistema operativo Linux Ubuntu en su forma estándar ("listo para usar"). [ 9 ] [ 206 ]
En agosto de 2025, Ubuntu decidió, sin embargo, dejar de dar soporte a los perfiles antiguos (por ejemplo, RV64GC o RVA20), lo que significaba que las CPU RISC-V existentes en ese momento ya no eran compatibles a partir de la versión 25.10 de Ubuntu (es decir, desde octubre de 2025; las versiones anteriores de Ubuntu seguían dando soporte a perfiles y CPU más antiguos, por supuesto). En septiembre de 2025, no había procesadores disponibles en el mercado para el perfil "RVA23" que Ubuntu acababa de exigir, solo un par de diseños (por ejemplo, el XuanTie C930 de DAMO Academy o el SiFive P870). El sitio web de noticias informáticas Heise Online explicó la repentina interrupción por el hecho de que los procesadores que utilizaban la tecnología RV64GC más antigua solían tener un rendimiento muy bajo en las pruebas de rendimiento (y, por lo tanto, una utilidad limitada para un sistema operativo de usuario final actualizado), y que el nuevo diseño RVA23 daría lugar a procesadores mucho más rápidos (por ejemplo, frecuencias de reloj muy superiores a 2 GHz). [ 207 ]
Existe un puerto de Das U-Boot . [ 208 ] UEFI Spec v2.7 ha definido el enlace RISC-V y los ingenieros de HPE han realizado un puerto TianoCore [ 209 ] y se espera que se incorpore al proyecto principal. Se realizó un análisis profundo del arranque RISC-V como parte de openSUSE Hackweek 20. [ 210 ] Existe un puerto del microkernel seL4 [ 211 ] [ 212 ] [ 213 ] con propiedades de corrección funcional, integridad y flujo de información verificadas formalmente. [ 214 ] Hex Five lanzó el primer Secure IoT Stack para RISC-V con soporte para FreeRTOS . [ 215 ] También se portó xv6 , una reimplementación moderna de la sexta edición de Unix en ANSI C utilizada con fines pedagógicos en el MIT . El sistema operativo en tiempo real Pharos se ha adaptado a RISC-V de 64 bits [ 216 ] (incluyendo protección de tiempo y memoria). Véase también Comparación de sistemas operativos en tiempo real .
Existe un simulador para ejecutar un sistema RISC-V Linux en un navegador web usando JavaScript . [ 217 ] [ 218 ] [ 219 ]
QEMU admite la ejecución (mediante traducción binaria ) de sistemas RISC-V de 32 y 64 bits (por ejemplo, Linux) con numerosos dispositivos emulados o virtualizados (serie, paralelo, USB, red, almacenamiento, reloj en tiempo real, temporizador de vigilancia, audio), así como la ejecución de binarios RISC-V Linux (traduciendo las llamadas al sistema al núcleo del host). Admite la emulación multinúcleo (SMP). [ 220 ]
El simulador CREATOR es portátil y permite al usuario aprender varios lenguajes ensamblador de diferentes procesadores (CREATOR incluye ejemplos con una implementación de instrucciones RISC-V y MIPS32). [ 221 ] [ 222 ] [ 223 ] [ 224 ] [ 225 ]
Se han aplicado varios lenguajes para crear núcleos IP RISC-V, incluyendo un lenguaje de descripción de hardware basado en Scala , Chisel , [ 226 ] que puede reducir los diseños a Verilog para su uso en dispositivos, y el lenguaje de descripción de procesadores CodAL que se ha utilizado para describir núcleos de procesadores RISC-V y para generar los correspondientes HDK ( RTL , banco de pruebas y UVM ) y SDK. [ 227 ] El Grupo de Trabajo de Cumplimiento Internacional de RISC-V tiene un repositorio de GitHub para RV32IMC. [ 228 ]
El simulador educativo extensible WepSIM [ 229 ] implementa un subconjunto microprogramado de instrucciones RISC-V (RV32I+M) [ 230 ] y permite la ejecución de subrutinas tanto [ 231 ] como a nivel de ensamblador y microprogramación. [ 232 ] [ 233 ]
Herramientas de desarrollo
- IAR Systems lanzó la primera versión de IAR Embedded Workbench para RISC-V, que admite núcleos y extensiones RISC-V RV32 de 32 bits. Las futuras versiones incluirán compatibilidad con 64 bits y con el conjunto de instrucciones base RV32E, más pequeño, así como certificación de seguridad funcional y soluciones de seguridad.
- Lauterbach añadió soporte para RISC-V a sus depuradores JTAG TRACE32 . [ 234 ] [ 235 ] Lauterbach también anunció [ 236 ] soporte para el rastreo de procesador basado en SiFives RISC-V NEXUS .
- SEGGER lanzó un nuevo producto llamado "J-Trace PRO RISC-V", agregó soporte para núcleos RISC-V a su familia de sondas de depuración J-Link , [ 237 ] su entorno de desarrollo integrado Embedded Studio, [ 238 ] y su RTOS embOS y software embebido. [ 239 ]
- UltraSOC Archivado el 22 de septiembre de 2020 en Wayback Machine , ahora parte de Siemens, [ 240 ] propuso un sistema de rastreo estándar y donó una implementación.
Véase también
Notas
- ↑ Se admite big-endian y bi-endianness mediante variantes no estándar; las instrucciones siempre son little-endian. [ 3 ] : vi, 9–10
- ↑ Los registros vectoriales se pueden agrupar en tiempo de ejecución, de esta manera una sola instrucción vectorial puede operar sobre varios registros vectoriales. Pueden formar grupos de 1, 2, 4 u 8, lo que da como resultado 32, 16, 8 o 4 registros vectoriales utilizables, respectivamente.
- ↑ La longitud de un vector no agrupado puede variar de 8 a 8192 bits (8 Kib ; 1 KiB ) y debe ser una potencia de 2. Con el tamaño máximo de grupo (8), la longitud del vector podría alcanzar los 65 536bits (64Kib; 8KiB).
Referencias
- ↑ Asanović, Krste ; Patterson, David A. (6 de agosto de 2014). Los conjuntos de instrucciones deberían ser gratuitos: el caso de RISC-V (PDF) . Departamento de EECS, Universidad de California, Berkeley. UCB/EECS-2014-146.
- 1 2 "Especificaciones técnicas de RISC-V" . RISC-V International . Consultado el 28 de mayo de 2025 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 Waterman, Andrew; Asanović, Krste , eds. (diciembre de 2019). "The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 20191213" ( PDF) . RISC-V Foundation . Recuperado el 5 de noviembre de 2021 .
- ↑ "Preguntas frecuentes sobre RISC-V" . Consultado el 12 de septiembre de 2025 .
- ↑ Urquhart, Roddy (29 de marzo de 2021). "¿Qué significa RISC-V? Una breve historia de la ISA abierta" . Sistemas y diseño: opinión . Ingeniería de semiconductores.
- 1 2 "Acerca de RISC-V International" . Historia de RISC-V . Consultado el 12 de septiembre de 2025 .
- 1 2 "Acerca de RISC-V International" . RISC-V International . Consultado el 12 de septiembre de 2025 .
- 1 2 3 4 Hassan, Qusay F.; Sagahyroon, Assim (4 de junio de 2025), "RISC-V" , Avances en Internet de las cosas (1 ed.), Boca Raton: CRC Press, págs. 244–284 , doi : 10.1201/9781003506638-15 , ISBN 978-1-003-50663-8Consultado el 13 de enero de 2026.
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace ) - 1 2 Connatser, Matthew. "El primer portátil RISC-V del mundo con Ubuntu preinstalado presume de inteligencia artificial y chip de ocho núcleos" . The Register . Consultado el 19 de agosto de 2024 .
- 1 2 Patterson, David A. ; Ditzel, David R. (octubre de 1980). "El caso de la computadora con conjunto de instrucciones reducido". ACM SIGARCH Computer Architecture News . 8 (6): 25. doi : 10.1145/641914.641917 . S2CID 12034303 .
- ↑ "Procesador abierto J-core" . j-core.org . Consultado el 16 de junio de 2025 .
- ↑ "Núcleo compatible con Amber ARM" . OpenCores . Consultado el 26 de agosto de 2014 .
- ↑ "ARM4U" . OpenCores . Consultado el 26 de agosto de 2014 .
- ↑ "Arquitecturas de CPU: la documentación del kernel de Linux" . docs.kernel.org . Consultado el 20 de agosto de 2024 .
- ↑ Aleksandar Kostovic (12 de julio de 2021). "Libre-SOC lanza el primer chip OpenPOWER que no es de IBM en una década" . Tom's Hardware . Consultado el 20 de agosto de 2024 .
- ↑ Nguyen, Phuc-Vinh; Tran, Thi-Thu-Trang; Diep, Phuoc-Loc; Le, Duc-Hung (septiembre de 2018). "Implementación ASIC de bajo consumo del procesador OpenSPARC T1 multinúcleo en un proceso CMOS de 90 nm". 2018 IEEE 12th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC) . IEEE. págs. 95–100 . doi : 10.1109/MCSoC2018.2018.00027 . ISBN 978-1-5386-6689-0.
- 1 2 3 4 5 Asanović, Krste . "Los conjuntos de instrucciones deberían ser libres" (PDF) . Informes técnicos de UC Berkeley . Regentes de la Universidad de California . Recuperado el 15 de noviembre de 2016 .
- ↑ Chen, Tony; Patterson, David (24 de enero de 2016). Genealogía RISC-V (Informe técnico). Universidad de California en Berkeley. UCB/EECS-2016-6.
- ↑ Samples, Alan Dain; Klein, Mike; Foley, Pete (1985). Arquitectura SOAR (Informe técnico). Universidad de California, Berkeley. UCB/CSD-85-226.
- ↑ Hill, Mark Donald; et al. (Susan J. Eggers, James Richard Larus, George S. Taylor, Glenn D. Adams, Bidyut Kumar Bose, Garth A. Gibson, Paul Mark Hansen, John Keller, Shing I. Kong, Corinna Grace Lee, Daebum Lee, JM Pendleton, Scott Allen Ritchie, David A. Wood, Benjamin G. Zorn, Paul N. Hilfinger, DA Hodges, Randy H. Katz, John K. Ousterhout y David A. Patterson ) (diciembre de 1985). SPUR: una estación de trabajo multiprocesador VLSI (informe técnico). Universidad de California, Berkeley. UCB/CSD-86-273.
- ↑ "Colaboradores" . riscv.org . Regentes de la Universidad de California. Archivado del original el 7 de septiembre de 2018. Consultado el 25 de agosto de 2014 .
- ↑ Asanović, Krste . "Manual del conjunto de instrucciones RISC-V, Volumen I: ISA de nivel de usuario básico" (PDF) . Informes técnicos de UC Berkeley . Regentes de la Universidad de California . Consultado el 13 de mayo de 2011 .
- ↑ Hruska, Joel (21 de agosto de 2014). "RISC vuelve a la carga: la nueva arquitectura RISC-V espera competir con ARM y x86 siendo totalmente de código abierto" . ExtremeTech .
- ↑ "Información sobre derechos de autor y licencia" .
Este documento es una obra derivada del "Manual del conjunto de instrucciones RISC-V, Volumen II: Arquitectura privilegiada, versión 1.9.1", publicado bajo la siguiente licencia: © 2010–2017 Andrew Waterman, Yunsup Lee, Rimas Aviˇzienis, David Patterson, Krste Asanovi ́c. Licencia Creative Commons Atribución 4.0 Internacional.
- ↑ «Un nuevo modelo para microprocesadores desafía a los gigantes de la industria» . The Economist . 3 de octubre de 2019. ISSN 0013-0613 . Consultado el 10 de noviembre de 2019 .
- ↑ "Conferencia de Automatización del Diseño" . dac.com . Consultado el 6 de febrero de 2021 .
- ↑ "La directora ejecutiva de RISC-V, Calista Redmond, renuncia tras 5 años de progreso" . HPCwire . Consultado el 21 de julio de 2025 .
- ↑ "Miembros" . RISC-V Internacional . Consultado el 1 de agosto de 2023 .
- ↑ "Grupo tecnológico de chips con sede en EE. UU. se traslada a Suiza por temor a restricciones comerciales" . Reuters . 26 de noviembre de 2019. Consultado el 26 de noviembre de 2019 .
- ↑ Cheung, Sunny (15 de diciembre de 2023). "Examinando la gran estrategia de China para RISC-V" . China Brief . Jamestown Foundation . Consultado el 18 de diciembre de 2023 .
- ↑ "Directrices de marca – RISC-V International" . Consultado el 23 de junio de 2024 .
- ↑ Lardinois, Frederic (31 de mayo de 2023). "La Linux Foundation Europe lanza RISE, el proyecto del ecosistema de software RISC-V" . TechCrunch . Consultado el 13 de diciembre de 2024 .
- ↑ «The Linley Group anuncia los ganadores de los premios anuales Analysts' Choice Awards» (Comunicado de prensa). The Linley Group. 12 de enero de 2017. Consultado el 21 de enero de 2018 .
- ↑ Demerjian, Chuck (7 de agosto de 2013). "Una mirada larga a cómo ARM licencia chips: Parte 1" . SemiAccurate .
- ↑ Demerjian, Chuck (8 de agosto de 2013). "Cómo ARM licencia su propiedad intelectual para la producción: Parte 2" . SemiAccurate .
- ↑ "Wave Computing cierra su iniciativa MIPS Open con efecto inmediato y sin previo aviso" . 15 de noviembre de 2019.
- ↑ "Generador de núcleo de cohete" . RISC-V . Regentes de la Universidad de California. Archivado del original el 6 de octubre de 2014. Consultado el 1 de octubre de 2014 .
- 1 2 Celio, Christopher; Love, Eric. "riscv-sodor: microarquitecturas educativas para risc-v isa" . GitHub . Regentes de la Universidad de California . Recuperado el 25 de octubre de 2019 .
- 1 2 "Programa del procesador SHAKTI" . Instituto Indio de Tecnología de Madrás . Consultado el 3 de septiembre de 2019 .
- ↑ Celio, Christopher. "CS 152 Laboratory Exercise 3" (PDF) . UC Berkeley . Regents of the University of California. Archivado del original (PDF) el 12 de febrero de 2015. Recuperado el 12 de febrero de 2015 .
- 1 2 3 4 5 6 7 8 9 10 Waterman, Andrew; Asanović, Krste (3 de diciembre de 2021). "Manual del conjunto de instrucciones RISC-V Volumen II: Documento de arquitectura privilegiada Versión 20211203" (PDF) . RISC-V International . Recuperado el 5 de noviembre de 2021 .
- 1 2 3 4 5 Waterman, Andrew; Asanović, Krste (31 de mayo de 2016). "Manual del conjunto de instrucciones RISC-V, volumen I: ISA de nivel de usuario base versión 2.1" (PDF) . Universidad de California, Berkeley. EECS-2016-118 . Recuperado el 5 de noviembre de 2021 .
- ↑ "Extensión estándar B para instrucciones de manipulación de bits" . RISC-V International. Abril de 2024.
- 1 2 "Extensiones ISA de manipulación de bits" (PDF) . RISC-V International. Noviembre de 2021.
- ↑ "Extensión vectorial" . RISC-V International. Noviembre de 2021.
- 1 2 "RISC-V Cryptography Extensions Volume I Scalar & Entropy Source Instructions" (PDF) . GitHub . 18 de febrero de 2022 . Recuperado el 28 de enero de 2023 .
- ↑ "Perfiles RISC-V" . Debate . 2022.
- ↑ Subcomité Horizontal de la Plataforma RISC-V (diciembre de 2021). "Especificación de la Plataforma RISC-V" (PDF) . Versión 0.3-borrador.
- ↑ "Perfiles" . Especificaciones técnicas de RISC-V . Diciembre de 2024.
- ↑ "6.1.3. Extensiones opcionales RVA22U64" . Perfiles RISC-V . RISCV. 2024.
- ↑ "Base obligatoria RVA23U64" . Perfiles RVA23 . RISCV. Diciembre de 2024.
- 1 2 Waterman, Andrew; Asanović, Krste (7 de mayo de 2017). "Manual del conjunto de instrucciones RISC-V, volumen I: ISA de nivel de usuario base versión 2.2" (PDF) . RISC-V International . Recuperado el 5 de noviembre de 2021 .
- ↑ Newsome, Tim; Wachs, Megan (22 de marzo de 2019). "Soporte de depuración externa RISC-V Versión 0.13.2 d5029366d59e8563c08b6b9435f82573b603e48e" (PDF) . RISC-V International . Consultado el 7 de noviembre de 2021 .
- 1 2 3 4 5 6 7 8 9 Waterman, Andrew (13 de mayo de 2011). Mejora de la eficiencia energética y reducción del tamaño del código con RISC-V comprimido . UC Berkeley: Regentes de la Universidad de California. pág. 32. Recuperado el 25 de agosto de 2014 .
- ↑ Waterman, Andrew; et al. "Manual del conjunto de instrucciones comprimidas RISC-V, versión 1.9 (borrador)" (PDF) . RISC-V . Archivado del original (PDF) el 8 de noviembre de 2016. Consultado el 18 de julio de 2016 .
- 1 2 Brussee, Rogier. "Un RVC completo de 16 bits" . Grupos de Google . Fundación RISC-V . Consultado el 18 de julio de 2019 .
- 1 2 Brussee, Rogier. "Propuesta: Xcondensed, [ a ] ... Compacto... G-ISA independiente de 16 bits" . Servidor de correo RISC-V ISA . Grupos de Google . Recuperado el 10 de noviembre de 2016 .
- ↑ Phung, Xan. "Improved Xcondensed" . Google Groups . RISC-V Foundation . Consultado el 18 de julio de 2019 .
- ^ Ionescu, Liviu. "El perfil del microcontrolador RISC-V" . GitHub . Consultado el 5 de abril de 2018 .
- ↑ Barros, César (1 de abril de 2018). "Propuesta: RV16E" . Desarrolladores de ISA RISC-V (Lista de correo) . Recuperado el 2 de abril de 2018 .
- ↑ Bonzini, Paolo; Waterman, Andrew. "Propuesta de virtualización sin modo H" . RISC-V ISA Developers (Lista de correo) . Consultado el 24 de febrero de 2017 .
- ^ "riscv-aclint/riscv-aclint.adoc en principal · riscv/riscv-aclint" . GitHub . Consultado el 2 de enero de 2024 .
- ↑ Wolf, Claire, ed. (10 de enero de 2021). "Documento de extensión de manipulación de bits RISC-V, versión 0.93" (PDF) . GitHub . Fundación RISC-V . Consultado el 9 de marzo de 2021 .
- 1 2 "Resumen de instrucciones para una propuesta ISA "P"" . Grupos de Google . ANDES Technologies . Consultado el 13 de enero de 2020 .
- ↑ Su, Charlie (30 de junio de 2018). "Soluciones RISC-V integrales para AIoT" (PDF) . Contenido RISC-V . Fundación RISC-V. Archivado del original (PDF) el 6 de enero de 2024. Recuperado el 28 de enero de 2023 .
- 1 2 3 4 5 6 7 Schmidt, Colin; Ou, Albert; Lee, Yunsup; Asanović, Krste . "Propuesta de extensión vectorial RISC-V" (PDF) . RISC-V . Regentes de la Universidad de California. Archivado del original (PDF) el 15 de marzo de 2016 . Recuperado el 14 de marzo de 2016 .
- 1 2 "Extensión Vector de lanzamiento 1.0, congelada para revisión pública · riscv/Riscv-v-spec" . GitHub .
- ↑ Ou, Albert; Nguyen, Quan; Lee, Yunsup; Asanović, Krste . "Un caso para los MVP: Procesadores vectoriales de precisión mixta" (PDF) . UC Berkeley EECS . Regentes de la Universidad de California. Archivado del original (PDF) el 15 de marzo de 2016. Recuperado el 14 de marzo de 2016 .
- ↑ Lee, Yunsup; Grover, Vinod; Krashinsky, Ronny; Stephenson, Mark; Keckler, Stephen W.; Asanović, Krste . "Explorando el espacio de diseño de la gestión de divergencias SPMD en arquitecturas de datos paralelos" (PDF) . Sitio EECS de Berkeley . Regentes de la Universidad de California. Archivado del original (PDF) el 15 de marzo de 2016. Recuperado el 14 de marzo de 2016 .
- 1 2 3 4 5 Bradbury, Alex; Wallentowitz, Stefan. "RISC-V Run Control Debug" . Google Docs . RISC-V Foundation . Consultado el 20 de enero de 2017 .
- ↑ Newsome, Tim. "Resultados de la encuesta del Grupo de depuración de RISC-V" . Grupos de Google, Grupo de depuración de RISC-V . Fundación RISC-V . Consultado el 20 de enero de 2017 .
- ↑ McGooganus. "riscv-trace-spec" . GitHub . Consultado el 13 de enero de 2020 .
- ↑ Dahad, Nitin (7 de diciembre de 2019). "UltraSoC aborda el desafío de la compatibilidad con RISC-V mediante la donación de un codificador de trazas" . EE Times . Aspencore . Consultado el 13 de enero de 2020 .
- ↑ "Descripción general de los núcleos y SoC RISC-V" . RISC-V. 25 de septiembre de 2019. Consultado el 5 de octubre de 2019 .
- ↑ "China apuesta fuerte por un futuro RISC-V" . 8 de enero de 2024. Consultado el 7 de mayo de 2024 .
- ^ "270 millones de euros para CPU y tecnología: EuroHPC para RISC-V-Technik" . heise en línea (en alemán). 21 de diciembre de 2022 . Consultado el 13 de agosto de 2024 .
- ↑ "Una Europa preparada para la era digital - Comisión Europea" . commission.europa.eu . 19 de febrero de 2020. Consultado el 13 de agosto de 2024 .
- 1 2 "Alibaba lanza un diseño de CPU RISC-V de nivel de servidor" . Archivado del original el 16 de marzo de 2025. Recuperado el 19 de mayo de 2025 .
- ↑ Frumusanu, Andrei (30 de octubre de 2019). "SiFive anuncia su primer núcleo de CPU RISC-V OoO: la propiedad intelectual del procesador de la serie U8" . Anandtech . Archivado del original el 30 de octubre de 2019.
- ↑ "HiFive1" . SiFive . Archivado del original el 26 de febrero de 2017. Recuperado el 10 de julio de 2018 .
- ↑ SiFive. "Hi-Five1: Kit de desarrollo de código abierto compatible con Arduino" . Crowd Supply . Consultado el 2 de diciembre de 2016 .
- ↑ "FU540 SoC CPU" . SiFive . Archivado del original el 5 de octubre de 2018. Consultado el 24 de octubre de 2018 .
- ^ "研究布局" . damo.alibaba.com . Consultado el 13 de agosto de 2024 .
- ↑ "Tecnología para el futuro" . damo.alibaba.com . Consultado el 13 de agosto de 2024 .
- ↑ "La empresa china Alibaba está fabricando un procesador RISC-V de 16 núcleos y 2,5 GHz" . www.techspot.com . 28 de julio de 2019. Consultado el 30 de julio de 2019 .
- ↑ "Alibaba libera como código abierto cuatro núcleos RISC-V: XuanTie E902, E906, C906 y C910" . 20 de octubre de 2021. Consultado el 20 de octubre de 2021 .
- 1 2 "GPU Imagination compatible con RISC-V con licencia para diseñadores de chips" . Archivado del original el 24 de enero de 2025. Recuperado el 16 de junio de 2025 .
- 1 2 "Examinando la gran estrategia de China para RISC-V" . jamestown.org . Consultado el 13 de agosto de 2024 .
- ^ "进迭时空开发者社区" . desarrollador.spacemit.com . Consultado el 10 de diciembre de 2024 .
- ↑ StringerAI™ (9 de enero de 2025). "SpacemiT desarrolla el chip de CPU para servidores V100 para aplicaciones de IA de próxima generación" . SDxCentral . Consultado el 12 de septiembre de 2025 .
- ↑ Anton Shilov (14 de enero de 2025). "SpacemiT de China desarrolla una CPU RISC-V de 64 núcleos para centros de datos en 12 nm" . Tom's Hardware . Consultado el 20 de enero de 2025 .
- ↑ SpacemiT. "Avance en RISC-V: SpacemiT desarrolla el chip de CPU para servidores V100 para aplicaciones de IA de próxima generación" . www.prnewswire.com (Comunicado de prensa) . Consultado el 20 de enero de 2025 .
- ↑ Anton Shilov (14 de enero de 2025). "SpacemiT de China desarrolla una CPU RISC-V de 64 núcleos para centros de datos en 12 nm" . Tom's Hardware . Consultado el 8 de junio de 2025 .
- ↑ "XuanTie C930" . www.xrvm.com . 6 de diciembre de 2025. Consultado el 6 de diciembre de 2025 .
- 1 2 "Alibaba lanza un diseño de CPU RISC-V de nivel de servidor" . Archivado del original el 11 de abril de 2025. Recuperado el 19 de mayo de 2025 .
- ↑ Sharwood, Simon (5 de marzo de 2025). "Mientras Alibaba lanza una CPU RISC-V de nivel servidor, Pekín respalda la arquitectura ISA" . The Register . Consultado el 12 de septiembre de 2025 .
- ↑ Mann, Tobias (11 de octubre de 2023). "Los nuevos núcleos SiFive RISC-V buscan mejorar el rendimiento y acelerar las cargas de trabajo de IA" . The Register . Consultado el 12 de septiembre de 2025 .
- ↑ "Golem.de: IT-News für Profis" . www.golem.de . Consultado el 19 de mayo de 2025 .
- ↑ Aufranc (CNXSoft), Jean-Luc (30 de agosto de 2023). "SiFive presenta el núcleo de alto rendimiento P870 y analiza el futuro de RISC-V - CNX Software" . CNX Software - Embedded Systems News . Consultado el 17 de octubre de 2025 .
- ↑ en línea, heise (15 de agosto de 2025). "RISC-V y Linux: Ubuntu 25.10 exige procesadores totalmente nuevos" . c't Magazin . Consultado el 17 de octubre de 2025 .
- 1 2 "Alibaba presentó XuanTie C950: núcleo RISC-V de alto rendimiento para IA en el borde" . circuitdigest.com . Consultado el 20 de junio de 2026 .
- 1 2 Valerio, Pablo (1 de abril de 2026). "Alibaba lanza la CPU XuanTie C950 para IA agenica" . EE Times . Recuperado el 20 de junio de 2026 .
- ↑ Sharwood, Simon (25 de marzo de 2026). "Alibaba entrega un chip de servidor RISC-V optimizado para la IA china" . theregister . Consultado el 4 de julio de 2026 .
- 1 2 3 "Miembros" . RISC-V Internacional . Consultado el 22 de enero de 2021 .
- ↑ Bausch, Jeffrey (17 de enero de 2022). "En CES2022, Bouffalo muestra su solución integral Matter" . EE Times . Consultado el 20 de enero de 2022 .
- ↑ "CloudBEAR" . RU . Consultado el 16 de octubre de 2018 .
- ↑ riscv/riscv-cores-list , RISC-V, 6 de febrero de 2021 , recuperado el 9 de febrero de 2021 – vía Git hub
- ↑ "Codasip anuncia núcleos de procesador RISC-V que ofrecen capacidades multinúcleo y SIMD" . Electrónica nueva . Reino Unido . Archivado del original el 23 de diciembre de 2020. Consultado el 9 de febrero de 2021 .
- ↑ "Codasip se une a la Fundación RISC-V y anuncia la disponibilidad de la propiedad intelectual del procesador Codix compatible con RISC-V" . Diseño y reutilización . Consultado el 9 de septiembre de 2024 .
- ↑ Manners, David (23 de noviembre de 2016). "Codasip y UltraSoC se combinan en RISC-V" . Electronics Weekly . Metropolis International Group . Consultado el 23 de noviembre de 2016 .
- ↑ "3.6.2 Coprocesador de ultrabajo consumo". Hoja de datos de la familia ESP32-S2 V1.1 (PDF) . Espressif Systems. 2020. Consultado el 9 de junio de 2020 .
- ↑ "Hoja de datos de la familia ESP32-C3 V0.4" (PDF) . Espressif Systems. 2020. Consultado el 27 de diciembre de 2020 .
- "Presentamos el ESP32-C3" . Espressif (Comunicado de prensa). 27 de noviembre de 2020.
- ↑ Manners, David (8 de junio de 2021). "Fraunhofer licencia un núcleo RISC tolerante a fallos para aplicaciones críticas de seguridad" . Electronics Weekly . Consultado el 13 de abril de 2022 .
- ↑ "GigaDevice presenta la serie GD32V con núcleo RISC-V en un nuevo microcontrolador de propósito general de 32 bits" . Giga Device . 23 de agosto de 2019. Archivado del original el 29 de agosto de 2019. Consultado el 29 de agosto de 2019 .
- ↑ "Sipeed Longan Nano — Placa de desarrollo RISC-V GD32VF103CBT6" . Seeed studio . Consultado el 29 de agosto de 2019 .
- ↑ Kleidermacher, Dave; Seed, Jesse; Barbello, Brandon (27 de octubre de 2021). "Pixel 6: Estableciendo un nuevo estándar para la seguridad móvil" . Blog de seguridad de Google . Archivado del original el 27 de octubre de 2021. Recuperado el 12 de febrero de 2023 .
- ↑ "GreenWaves GAP8 es un procesador RISC-V IoT de bajo consumo optimizado para aplicaciones de inteligencia artificial" . CNXSoft . 27 de febrero de 2018. Consultado el 4 de marzo de 2018 .
- ↑ Yoshida, Junko (26 de febrero de 2018). "La IA llega a los dispositivos de detección" . EE Times . Consultado el 10 de julio de 2018 .
- ↑ "GreenWaves Technologies anuncia la disponibilidad del kit de desarrollo de software GAP8 y la placa de desarrollo GAPuino" (Comunicado de prensa). 22 de mayo de 2018.
- ↑ "IMG RTXM-2200 CPU" . Imagination . Archivado del original el 23 de octubre de 2023. Consultado el 30 de septiembre de 2023 .
- ↑ "SoC instantáneo" , núcleos FPGA.
- ↑ Leibson, Steven (9 de enero de 2023). "MIPS lanza su primer núcleo de procesador RISC-V: es un gran 'Un'" . EEJournal .
- ↑ Robinson, Dan (11 de mayo de 2022). "MIPS revela los primeros chips RISC-V que llegarán en el cuarto trimestre de 2022" . The Register .
- ↑ {{cite web [url= https://www.nordicsemi.com/Products/nRF54H20 |title=nRF54H20 System-on-Chip SoC multiprotocolo revolucionario}}
- ↑ Shilov, Anton (9 de diciembre de 2020). "Seagate desarrolla sus propios núcleos RISC-V para controladores de almacenamiento" . Tom's Hardware .
- ↑ Ma, Chloe (marzo de 2021). "RISC-V Estrella que surge del Este: Presentación de StarFive" . RISC-V International . Consultado el 9 de julio de 2025 .
- ↑ "Contacto StarFive" . Tecnología Star Five . Consultado el 9 de julio de 2025 .
- ↑ Horwitz, Josh (23 de marzo de 2023). "El gigante chino de búsquedas Baidu invierte en la startup de tecnología de chips RISC-V StarFive" . Reuters .
- ↑ Sharwood, Simon (27 de marzo de 2023). "El gigante web chino Baidu respalda RISC-V para el centro de datos" . The Register .
- ↑ "Syntacore" . Consultado el 11 de diciembre de 2018 .
- 1 2 "SCR1 es un núcleo MCU RISC-V de código abierto de alta calidad en Verilog" . GitHub . Syntacore . Consultado el 13 de enero de 2020 .
- ↑ "Actas del taller RISC-V" . 11 de diciembre de 2016. Consultado el 28 de enero de 2023 .
- ↑ "WinChipHead (WCH)" .
- ↑ "CH32V003" . WCH-IC . Consultado el 10 de julio de 2023 .
- ↑ "the-10-cent-risc-v-processor-ch32v003" . EEvblog . Consultado el 10 de julio de 2023 .
- ↑ Desikan, Shubashree (6 de agosto de 2018). "El IIT-Madras impulsa un chip desi" . The Hindu . ISSN 0971-751X . Consultado el 25 de septiembre de 2020 .
- 1 2 "Conozca el chip microprocesador Atmanirbhar de la India 'Moushik', diseñado para dispositivos IoT" . WION . 24 de septiembre de 2020. Consultado el 25 de septiembre de 2020 .
- ↑ Tripathi, Sibu Kumar (11 de febrero de 2025). "ISRO e IIT Madras desarrollan un chip semiconductor de fabricación nacional" . India Today . Consultado el 11 de febrero de 2025 .
- ↑ Dobberstein, Laura. "La CPU RISC-V casera de la India debuta en una placa de desarrollo económica" . The Register . Consultado el 6 de marzo de 2024 .
- ↑ Aufranc, Jean-Luc (16 de diciembre de 2025). "VEGA AS2161 "DHRUV64" — Un microprocesador RISC-V de 64 bits y doble núcleo a 1 GHz diseñado en India" . CNX Software . Consultado el 26 de diciembre de 2025 .
- ↑ Yang, Mash (16 de diciembre de 2025). "Siguiendo el lema "Make in India", el primer procesador RISC-V de 64 bits desarrollado en la India, "DHRUV64", ha debutado oficialmente" . Mashdigi . Consultado el 26 de diciembre de 2025 .
- ↑ Ashenden, Peter (9 de noviembre de 2016). "Re: [ isa-dev ] RISC V ISA para sistemas embebidos" . Desarrolladores de RISC-V ISA (Lista de correo) . Recuperado el 10 de noviembre de 2016.
En ASTC (www.astc-design.com), tenemos una implementación de RV32EC como un núcleo IP sintetizable destinado a pequeñas aplicaciones embebidas, como sensores inteligentes e IoT.
- ↑ "C-DAC anuncia Tech Conclave 2019" . The Times of India . Archivado del original el 17 de mayo de 2019. Consultado el 12 de abril de 2019 .
- ↑ Sharwood, Simon (19 de agosto de 2020). "India selecciona RISC-V para el concurso de autosuficiencia de semiconductores: utilice estos núcleos de producción nacional para construir el kit" . The Register . Consultado el 9 de julio de 2021 .
- ↑ "Microprocesadores VEGA" . Procesador Vega - CDAC . 9 de julio de 2021. Archivado del original el 9 de julio de 2021. Consultado el 9 de julio de 2021 .
- ↑ "Procesador NOEL-V" . Cobham Gaisler . Consultado el 14 de enero de 2020 .
- 1 2 "Fundación FreeBSD: Compromiso con la adaptación inicial de la arquitectura RISC-V de FreeBSD" . 4 de febrero de 2016.
- ↑ "Esperanto sale del modo sigiloso y apunta a la IA con un monstruo RISC-V de 7 nm y 4096 núcleos" . wikichip.org . Enero de 2018. Consultado el 2 de enero de 2018 .
- ↑ "Solución aceleradora de IA RISC-V 1092 de Esperanto ET-SoC-1 en Hot Chips 33" . 24 de agosto de 2021.
- ↑ "Proyecto PULPino en GitHub" . GitHub . Consultado el 2 de febrero de 2018 .
- ↑ "Plataforma PULP" . Plataforma PULP . Consultado el 2 de febrero de 2018 .
- ↑ "Accelerator Stream" . Iniciativa Europea de Procesadores (EPI) . Consultado el 22 de febrero de 2020 .
- ↑ Redmond, Calista (28 de enero de 2023). "Cómo la Iniciativa Europea de Procesadores está aprovechando RISC-V para el futuro de la supercomputación" . Noticias internacionales de RISC-V . RISC-V International.
- ↑ Halfacree, Gareth (10 de junio de 2021). "Los expertos en RISC-V presentan un plan para llevar la arquitectura a la computación de alto rendimiento" . The Register . Consultado el 9 de julio de 2021 .
- ↑ "Proyecto de procesador de código abierto del IIT Madras" . Rapid IO . IIT Madras. 26 de agosto de 2014. Archivado del original el 14 de septiembre de 2014. Consultado el 13 de septiembre de 2014 .
- ↑ "El IIT Madras desarrolla y pone en marcha el microprocesador MOUSHIK para dispositivos IoT" . IIT Madras . 24 de septiembre de 2020. Consultado el 9 de julio de 2021 .
- ↑ "Sitio web de lowRISC" . Consultado el 10 de mayo de 2015 .
- ↑ Xie, Joe (julio de 2016). Historia de evaluación de NVIDIA RISC V. 4.º taller de RISC-V . YouTube. Archivado del original el 13 de noviembre de 2021.
- ↑ "RV64X: Una GPU gratuita y de código abierto para RISC-V" . EETimes . 27 de enero de 2021. Consultado el 9 de febrero de 2021 .
- ↑ Gwennap, Linley (13 de diciembre de 2021). "Ventana desarrolla un chiplet RISC-V". Microprocessor Report .
- ↑ Dahad, Nitin (6 de septiembre de 2021). "Startup de chiplets RISC-V recauda 38 millones de dólares y se centra en la computación de centros de datos" . EE Times .
- ↑ Asanović, Krste ; et al. "chip cohete" . GitHub . RISC-V Internacional . Consultado el 11 de noviembre de 2016 .
- ↑ Celio, Christopher. "riscv-boom" . GitHub . Regentes de la Universidad de California . Consultado el 29 de marzo de 2020 .
- ↑ Repositorio de XiangShan en Github
- ↑ Procesador RISC-V de 64 bits de código abierto de XiangShan para competir con el Arm Cortex-A76 - CNX Software
- ↑ Halfacree, Gareth (6 de julio de 2021). "Diseñadores de chips chinos esperan derrocar al Cortex-A76 de Arm con el diseño XiangShan RISC-V" . The Register . Consultado el 13 de agosto de 2024 .
- ^ "Offengelegter RISC-V-Chip aus China soll an ARM Cortex-A76 heranreichen" . c't Magazin (en alemán). 30 de junio de 2021 . Consultado el 13 de agosto de 2024 .
- 1 2 Brown, Eric (8 de diciembre de 2021). "Debutan dos núcleos RISC-V de 64 bits: StarFive Dubhe y CAS Nanhu" . LinuxGizmos.com . Recuperado el 13 de agosto de 2024 .
- ↑ Wolf, Claire. "PicoRV32: una CPU RISC-V optimizada en tamaño" . GitHub . Consultado el 27 de febrero de 2020 .
- ↑ "MIPT-MIPS: Simulador pre-silicio con precisión de ciclo de las CPU RISC-V y MIPS" . GitHub .
- ↑ "Funciones de llamada al sistema MIPS disponibles en MARS" . courses.missouristate.edu . Consultado el 28 de mayo de 2023 .
- ↑ Kindgren, Olof. "SERV - La CPU RISC-V serial" . GitHub . Consultado el 25 de septiembre de 2023 .
- 1 2 Kindgren, Olof (29 de diciembre de 2022). "SERV: 32 bits es el nuevo 8 bits" (Vídeo, 2:38) . YouTube . Fundación RISC-V . Recuperado el 25 de septiembre de 2023 .
- ↑ Halfacree, Gareth (14 de junio de 2022). "CoreScore Benchmark establece un nuevo récord con 10 000 núcleos RISC-V en una FPGA" . fossi-foundation.org . Fundación FOSSi . Consultado el 25 de septiembre de 2023 .
- ↑ Traber, Andreas; et al. "PULP: Parallel Ultra Low Power" . ETH Zurich, Universidad de Bolonia . Consultado el 5 de agosto de 2016 .
- ↑ Shilov, Anton. "Western Digital lanza dos nuevos núcleos SweRV RISC-V para microcontroladores" . www.anandtech.com . Consultado el 9 de febrero de 2021 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ Shilov, Anton. "Western Digital revela el núcleo SweRV RISC-V y la iniciativa de coherencia de caché sobre Ethernet" . www.anandtech.com . Archivado del original el 6 de diciembre de 2018. Consultado el 23 de mayo de 2019 .
- ↑ "Western Digital publica el código fuente del núcleo RISC-V de SweRV" . AB Open . 28 de enero de 2019. Archivado del original el 21 de mayo de 2019.
- ↑ Cores-SweRV en GitHub
- ↑ Nolting, Stephan (2022). "neorv32" . GitHub . doi : 10.5281/zenodo.7030070 . Recuperado el 9 de septiembre de 2021 .
- ↑ Wren, Luke (8 de agosto de 2024), Wren6991/Hazard3 , consultado el 8 de agosto de 2024
- ↑ Upton, Eben (8 de agosto de 2024). "Raspberry Pi Pico 2, nuestra nueva placa microcontroladora de 5 dólares, ya a la venta" . Consultado el 8 de agosto de 2024 .
- ↑ Alderson, Alex (27 de octubre de 2022). "Clockwork uConsole: La consola de fantasía llega en múltiples variantes con 4G opcional" . Notebookcheck . Archivado del original el 30 de abril de 2025. Recuperado el 24 de julio de 2025 .
- ↑ Lunduke, Bryan (15 de marzo de 2022). "Ya está disponible el primer ordenador portátil RISC-V" . The Lunduke Journal of Technology . Consultado el 25 de julio de 2025 .
- ↑ "Se entrega oficialmente el primer portátil RISC-V del mundo, Roma: 8 GB de RAM y sistema operativo nacional preinstalado" . Gizmochina . 17 de agosto de 2023. Consultado el 13 de septiembre de 2024 .
- ↑ liubing (13 de abril de 2023). "¡ROMA ha sido lanzado oficialmente!" . DeepComputing . Consultado el 13 de septiembre de 2024 .
- ↑ Ian Evenden (4 de octubre de 2022). "Ya está disponible el primer portátil del mundo con procesador RISC-V" . Tom's Hardware . Consultado el 14 de septiembre de 2024 .
- ^ en línea, heise (13 de octubre de 2021). "Barra de almacenamiento del procesador RISC-V de Alibaba XuanTie C910" . c't Magazin (en alemán) . Consultado el 14 de septiembre de 2024 .
- ↑ Jowi Morales (13 de junio de 2024). "La primera computadora portátil RISC-V del mundo recibe una importante actualización: DeepComputing duplicó la cantidad de núcleos, aumentó la frecuencia a 2 GHz y agregó capacidades de IA" . Tom's Hardware . Consultado el 14 de septiembre de 2024 .
- ↑ Jowi Morales (13 de junio de 2024). "La primera computadora portátil RISC-V del mundo recibe una importante actualización: DeepComputing duplicó la cantidad de núcleos, aumentó la frecuencia a 2 GHz y agregó capacidades de IA" . Tom's Hardware . Consultado el 27 de noviembre de 2024 .
- ↑ "Resumen del chip RISC-V de 8 núcleos SpacemiT K1" . Documentación de BananaPi . Consultado el 27 de noviembre de 2024 .
- ↑ "La primera computadora portátil RISC-V del mundo recibe una ACTUALIZACIÓN MASIVA y viene equipada con Ubuntu" . canonical.com . Consultado el 14 de septiembre de 2024 .
- ↑ anisha. "El primer portátil RISC-V del mundo recibe una ACTUALIZACIÓN MASIVA y viene equipado con Ubuntu – RISC-V International" . Consultado el 14 de septiembre de 2024 .
- ↑ "Presentamos una nueva placa base RISC-V de DeepComputing" . Framework . Consultado el 6 de diciembre de 2024 .
- ↑ "DeepComputing lanza un programa de acceso anticipado para la placa base DC-ROMA RISC-V para Framework Laptop 13" . DeepComputing . 13 de noviembre de 2024. Consultado el 9 de diciembre de 2024 .
- ↑ "StarFive-soc" . www.starfivetech.com . Consultado el 9 de julio de 2025 .
- ↑ "La placa base RISC-V para Framework Laptop 13 ya está disponible" . Framework . Consultado el 5 de febrero de 2025 .
- ↑ Sunny Grimm (10 de marzo de 2025). "Se revela un mini PC de IA RISC-V que cabe dentro de la carcasa de un portátil Framework: el PC de IA RISC-V DC-ROMA de DeepComputing afirma tener 50 TOPS y 64 GB de RAM" . Tom's Hardware . Consultado el 27 de julio de 2025 .
- ↑ "DeepComputing presenta un PC con IA RISC-V que ofrece un rendimiento de 50 TOPS - Noticias" . www.allaboutcircuits.com . Consultado el 28 de julio de 2025 .
- ↑ "JEP 422: Puerto Linux/RISC-V" . OpenJDK . Consultado el 12 de septiembre de 2025 .
- ^ "riscv - Wiki de FreeBSD" . wiki.freebsd.org .
- ↑ "Arquitecturas compatibles" . Wiki . Debian . Consultado el 28 de agosto de 2025 .
- ↑ "Arquitecturas/RISC-V" . Fedora Wiki . Red Hat . Consultado el 26 de septiembre de 2016 .
- ↑ "Portal RISC-V" . Wiki . openSUSE . Consultado el 21 de junio de 2021 .
- ↑ "Arrancando nuestras imágenes RISC-V" . Proyecto Haiku . 7 de noviembre de 2021. Consultado el 4 de marzo de 2023 .
- ↑ "El primer portátil RISC-V del mundo recibe una importante actualización y viene equipado con Ubuntu" . Blog . Canonical. 13 de junio de 2024. Consultado el 19 de agosto de 2024 .
- ↑ "RISC-V y Linux: Ubuntu 25.10 exige procesadores totalmente nuevos" . c't Magazin . Heise. 15 de agosto de 2025. Consultado el 12 de septiembre de 2025 .
- ↑ Begari, Padmarao. "Ya está disponible la versión U-Boot para RISC-V de 32 bits" . Google Groups . Microsemi . Consultado el 15 de febrero de 2017 .
- ↑ RiscVEdk2 en GitHub
- ↑ "Análisis profundo del arranque de RISC-V" . openSUSE Hackweek .
- ↑ Paturel, Mathieu; Subasinghe, Isitha; Heiser, Gernot (24 de agosto de 2023). «Primeros pasos en la verificación de la plataforma central seL4» . Actas del 14.º Taller ACM SIGOPS Asia-Pacífico sobre Sistemas . APSys '23. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 9-15 . doi : 10.1145/3609510.3609821 . ISBN 979-8-4007-0305-8.
- ↑ Almatary, Hesham. "RISC-V, seL4" . Documentación de seL4 . Organización de Investigación Científica e Industrial de la Commonwealth (CSIRO) . Consultado el 13 de julio de 2018 .
- ↑ Almatary, Hesham. "Repositorio" . GitHub . Consultado el 13 de julio de 2018 .
- ↑ "Plataformas compatibles" . docs . seL4 . Consultado el 11 de septiembre de 2025 .
- ↑ "MultiZone Secure IoT Stack, la primera pila IoT segura para RISC-V" . Hex Five Security . Hex Five Security. 22 de febrero de 2019. Archivado del original el 6 de marzo de 2019. Consultado el 3 de marzo de 2019 .
- ↑ "Pharos" . SourceForge . Consultado el 1 de abril de 2020 .
- ↑ "ANGEL es un simulador de Javascript RISC-V ISA (RV64) que ejecuta riscv-linux con BusyBox" . RISCV.org . Archivado del original el 11 de noviembre de 2018. Consultado el 17 de enero de 2019 .
- ↑ Lee, Yunsup (5 de marzo de 2014). "¡Arranca RISC-V Linux en tu navegador web!" . RISC-V International . Consultado el 12 de septiembre de 2025 .
- ↑ "ANGEL – RISC-V" . riscv.org.s3-website-us-west-1.amazonaws.com . Archivado del original el 1 de diciembre de 2020. Consultado el 4 de septiembre de 2020 .
- ↑ "Documentación/Plataformas/RISCV" . Wiki de QEMU . Consultado el 7 de mayo de 2020 .
- ↑ Camarmas-Alonso, Diego; García-Carballeira, Félix; Del-Pozo-Punal, Elías; Mateos, Alejandro Calderón (29 de mayo de 2024). "CREADOR: Un entorno de desarrollo educativo integrado para la programación RISC-V" . Acceso IEEE . 12 : 127702– 127717. Código bibliográfico : 2024IEEEA..12l7702C . doi : 10.1109/ACCESS.2024.3406935 . ISSN 2169-3536 .
- ↑ Camarmas-Alonso, Diego; García-Carballeira, Félix; Del-Pozo-Puñal, Elías; Mateos, Alejandro Calderón (23 de julio de 2021). CREATOR: Simulador didáctico y genérico para la programación en ensamblador [ CREATOR: Simulador didáctico y genérico para programación en ensamblador ] . XXXI Jornadas de Paralelismo (JP20/21) (en español). Málaga. doi : 10.5281/zenodo.5130302 .
- ↑ Camarmas-Alonso, Diego; García-Carballeira, Félix; Del-Pozo-Punal, Elías; Mateos, Alejandro Calderón (octubre 2021). Un nuevo simulador genérico para la enseñanza de la programación en ensamblador . 2021 XLVII Congreso Latinoamericano de Computación (CLEI) (en español). Cartago, Costa Rica: IEEE (publicado el 21 de diciembre de 2021). págs. 1 a 9. doi : 10.1109/CLEI53233.2021.9640144 . ISBN 978-1-6654-9503-5. S2CID 245387555 .
- ↑ "Ejemplo de Creator Web con RISC-V" , Creator SIM , Github.
- ↑ Código fuente del CREADOR , GitHub.
- ↑ "Chisel: Construcción de hardware en un lenguaje embebido Scala" . UC Berkeley . Regentes de la Universidad de California . Consultado el 12 de febrero de 2015 .
- ↑ "Codasip Studio" . Codasip . Consultado el 19 de febrero de 2021 .
- ↑ riscv/riscv-compliance , RISC-V, 12 de febrero de 2021 , consultado el 19 de febrero de 2021 – vía Github
- ↑ "WepSIM: Un simulador educativo interactivo en línea que integra microdiseño, microprogramación y programación en lenguaje ensamblador". IEEE Transactions on Learning Technologies . doi : 10.1109/TLT.2019.2903714 .
- ↑ "Subconjunto microprogramado" , WepSIM , GitHub.
- ↑ "Subrutinas" , Wep SIM , Github.
- ↑ "Ejemplo de WepSIM con RISC-V_im" . WepSIM . Github.
- ↑ "WepSIM" . Github.
- ↑ "Depurador RISC-V" . www.lauterbach.com Depurador TRACE32 para RISC-V .
- ↑ "Lauterbach y SiFive incorporan soporte para TRACE32 en núcleos RISC-V de alto rendimiento" . www.sifive.com .
- ↑ "TRACE32 admite el rastreo RISC-V de SiFive" . www.lauterbach.com . Archivado del original el 2 de junio de 2022. Consultado el 6 de marzo de 2021 .
- ↑ "SEGGER añade compatibilidad con la IP Coreplex de SiFive a su sonda de depuración J-Link, líder en el sector" . Consultado el 19 de septiembre de 2017 .
- ↑ "PR: SEGGER Embedded Studio admite la arquitectura RISC-V" . Consultado el 23 de noviembre de 2017 .
- ↑ "PR: SEGGER presenta RTOS, pilas y middleware para RISC-V" . Consultado el 8 de diciembre de 2017 .
- ↑ Dahad, Nitin (23 de junio de 2020). "Siemens adquiere UltraSoC para su conjunto de productos de ciclo de vida de SoC" . EE Times . Consultado el 12 de julio de 2023 .
Lecturas adicionales
- "Manual de instrucciones del conjunto de instrucciones RISC-V" . RISC-V International.
- "Programación en lenguaje ensamblador RISC-V" . GitHub . 8 de noviembre de 2019.
- Waterman, Andrew (enero de 2016). "Diseño de la arquitectura del conjunto de instrucciones RISC-V" (PDF) . Departamento de EECS, Universidad de California, Berkeley . EECS-2016-1.
- Asanović, Krste ; Patterson, David A. (6 de agosto de 2014). "Los conjuntos de instrucciones deberían ser libres: el caso de RISC-V" . Departamento de EECS, Universidad de California, Berkeley . UCB/EECS-2014-146.
- Waterman, Andrew; Lee, Yunsup; Avizienis, Rimas; Cook, Henry; Patterson, David A .; Asanović, Krste (25–27 de agosto de 2013). El conjunto de instrucciones RISC-V (PDF) . Hot Chips 25. Universidad de Stanford, Palo Alto, California, EE. UU. Archivado del original (PDF) el 6 de agosto de 2020. Recuperado el 3 de abril de 2018 .
- Dabbelt, Palmer (7–11 de febrero de 2015). Ecosistema de software RISC-V (PDF) . Arquitectura de computadoras de alto rendimiento (HPCA) 2015. San Francisco, California, EE. UU.
- Lee, Yunsup (7–11 de febrero de 2015). Generador de SoC "Rocket Chip" RISC-V en Chisel (PDF) . High-Performance Computer Architecture (HPCA) 2015. San Francisco, California, EE. UU.
- Waterman, Andrew; Lee, Yunsup; Patterson, David A .; Asanović, Krste (5 de noviembre de 2015). "Manual del conjunto de instrucciones comprimidas de RISC-V, versión 1.9 (borrador)" (PDF) . RISC-V . Archivado del original (PDF) el 8 de noviembre de 2016. Recuperado el 18 de julio de 2016 .
Enlaces externos
- Sitio web oficial

- RISC-V en GitHub
- Ecosistema de software RISC-V (RISE)
- computadoras de 64 bits
- Presentaciones relacionadas con la informática en 2010
- Arquitecturas de conjuntos de instrucciones
- Microcontroladores
- Microprocesadores abiertos
- Listas de microprocesadores
- RISC-V