RISC-V

[cita requerida] El desarrollo de una CPU requiere experiencia en diseño en varias especialidades: lógica digital electrónica, compiladores y sistemas operativos.

Debido a esto, muchos colaboradores de RISC-V lo ven como un esfuerzo comunitario unificado.

Existen tres núcleos de código abierto para esta ISA, pero no se han fabricado.

Una lista parcial de organizaciones que apoyan la Fundación RISC-V incluye: AMD, Andes Technology, BAE Systems , Berkeley Architecture Research, Bluespec, Inc.

[17]​[18]​[19]​[20]​ Los diseñadores dicen que el conjunto de instrucciones es la interfaz principal en una computadora, porque se encuentra entre el hardware y el software.

El conjunto de instrucciones privilegiadas separadas permite la investigación en el soporte del sistema operativo, sin rediseñar los compiladores.

La propiedad intelectual abierta de RISC-V permite que sus diseños se publiquen, reutilicen y modifiquen.

Rocket puede adaptarse a computadoras intermedias compactas y de bajo consumo, como dispositivos personales.

El simulador WepSIM puede usarse desde un navegador Web, y facilita aprender diversos aspectos de cómo una CPU funciona ( microprogramación, interrupciones, llamadas al sistema, etc.) usando ensamblador RISC-V.

RISC-V tiene un diseño modular, que consiste en partes de base alternativas, con extensiones opcionales agregadas.

Esto permite que los valores de media palabra superior se configuren fácilmente, sin cambiar los bits.

Otra instrucción, auipc genera los mismos 20 bits de dirección superior agregando un desplazamiento al contador del programa y almacenando el resultado en un registro base.

Para jalr el formato de bits es como las cargas y almacenamientos relativos al registro.

Los diseñadores planearon reducir el tamaño del código con las rutinas de la biblioteca para guardar y restaurar registros.

El bit más significativo se encuentra en una ubicación fija en el código de operación para acelerar la tubería.

Las CPU complejas pueden agregar predictores de bifurcación para que funcionen bien incluso con datos o situaciones inusuales.

RISC-V no causa excepciones en los errores aritméticos, incluyendo desbordamiento, subdesbordamiento, subnormal y división por cero.

Si falla, un valor distinto de cero indica que el software debe volver a intentar la operación.

Un diseño de sistema puede optimizar estas operaciones combinadas más que lr y sc.

Por ejemplo, si el registro de destino para un swap es el cero constante, la carga puede omitirse.

RISC-V garantiza el progreso hacia adelante (no Livelock) si el código sigue las reglas sobre el tiempo y la secuencia de instrucciones: 1) Debe usar solo el subconjunto I.

A diferencia del conjunto comprimido ARM's Thumb o MIPS, el espacio se reservó desde el principio para que no haya un modo de operación separado.

(letra C ) Debido a que (como Thumb-1 y MIPS16) las instrucciones comprimidas son simplemente codificaciones alternativas (alias) para un subconjunto seleccionado de instrucciones más grandes, la compresión puede implementarse en el ensamblador, y no es esencial que el compilador lo sepa.

El investigador pretendía reducir el tamaño binario del código para computadoras pequeñas, especialmente sistemas informáticos integrados.

Las instrucciones comprimidas omitieron los campos que a menudo son cero, utilizaron valores inmediatos pequeños o subconjuntos accedidos (16 u 8) de los registros.

Los diseñadores esperan tener 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 a un ISA multimedia, como se indicó anteriormente.

El código se trasladaría fácilmente a las CPU con diferentes longitudes de vectores, idealmente sin recompilar.

La longitud del vector no solo es variable arquitectónicamente, sino que también está diseñada para variar en el tiempo de ejecución.

La alimentación de instrucciones le permite al depurador acceder a la computadora exactamente como lo haría el software.