Materiales
- Guía Práctica de RISC-V: El Atlas de una Arquitectura Abierta.
Libro para empezar, por ahora la mejor referencia que he leído. Hace una muy
buena introducción de la arquitectura. De lo mejor que tiene son las
secciones con comentarios al respecto de las decisiones de diseño, las que
hacen más amena la lectura y ayudan a entender mejor el ISA. Hay que tener en
cuenta que el libro es de fines del 2017 y ya existen algunos cambios en las
especificaciones.
- The RISC-V Instruction Set Manual:
Volume I: Unprivileged ISA y
Volume II: Privileged Architecture.
La palabra última en cuanto a la especificación del ISA pero bastante tedioso
y aburrido de leer. Indispensable como referencia, no es de los primeros
lugares para aprender sobre RISC-V.
- Computer Organization and Design RISC-V Edition: The Hardware Software
Interface.
Un libro ameno para aprender o repasar arquitectura de computadores en versión
RISC-V (nivel principiante). También cuenta con comparaciones entre distintos
ISA’s para explicar decisiones de diseño. Si bien es innecesario para
aprender el ISA vale la pena repasar el Capítulo 2, Instructions:
Language of the Computer.
- RISC-V opcodes.
Contiene los opcodes de la arquitectura. Es una buena referencia. El
archivo
parse_opcode
contienen los valores numéricos de los CSR’s.
- RISC-V ELF psABI specification.
Entre otros se describen los diferentes tipos de convenciones de llamadas
(aquí es donde se explica la diferencia entre
ilp32
y lp64
utilizados en
la opción -mabi
de gnu as).
- RISC-V Assembly Programmer’s Manual.
Realmente le queda enorme el nombre. Una decepción si lo que se estaba
buscando es aprender ensamblador de RISC-V. Lo único a destacar: directivas
de gnu as y Assembler Relocation Functions.
- Compiler Explorer.
Una herramienta extremadamente útil para inspeccionar el código generado
(ensamblador) por distintos compiladores a partir de trozos de código.
Varios
Ejemplo de Endianess en RISC-V