RISC-V Flashcards
1
Q
¿Cuál era la problemática por la que surge RISC-V?
A
- Las ISA existentes eran complejas y con derechos de propiedad.
- Partiendo del procesador Intel 8086, el set x86, parte con 80 instrucciones en 1978
- Para el 2014, alcanzó las 1338 instrucciones en su versión x86 32 bits.
2
Q
¿Cuál es el origen?
A
- RISC (Reduced Instruction Set Computer) inició como proyecto en UC Berkeley
- Surge de la necesidad de una ISA libre.
- El núcleo fundamental del ISA de RISC-V es llamado RV321
- Las extensiones se indican mediante banderas representadas mediante concatenación al núcleo fundamental
3
Q
¿Cómo es el ensamblador de RISC-V?
A
- En UNIX la extensión es “.s” y en MS-DOS “.asm”
- No solo se produce el código objeto, se extienden las instrucciones para incluir operaciones útiles, se les llama pseudoinstrucciones
- Puede incluir instrucciones de alto nivel, como llamadas a librerías incluidas particulares.
4
Q
¿Cómo es el enlazador de RISC-V?
A
- En Unix recibe como entrada un archivo con extensión “.o y la salida genera un archivo “.out”; Para MS-DOS recibe un archivo con extensión “.obj” o “.lib” y genera un archivo con extensión “.exe”
- Se pueden enlazar archivos individuales por separado.
- Puede incluir instrucciones de alto nivel
5
Q
¿Cómo es la memoria de RISC-V?
A
- El Stack pointer (SP) comienza el bfff fff0 crece hacia el Static data.
- Área de texto cominenza en 0001 0000 e incluyes librerías enlazadas de forma estática.
- Static Data comienza inmediatamente después del área de texto 1000 0000
- Los datos dinámicos están después de Static Data, llamado heap, crece hacia el área de stack e incluye librerías enlazadas en forma dinámica.
6
Q
¿Cómo funcionan las directivas?
A
- Inician por “.” y luego el identificador
- Instrucciones predefinidas para la habilitación de elementos específicos del programa
- No solo se reservan para la creación de segmentos si no permiten la definición de almacenamiento en memoria.
7
Q
¿Cómo funcionan los registros de RISC-V?
A
- Sus nombres están determinados por el ABI (Aplication Binary, Interface)
- En RV321 existen 31 registros utilizables, más el x0 que siempre tiene valor 0
- Todos son de 32 bits
- Todas las operaciones