Gestión de la memoria en R-V
La memoria es lineal y direccionada
- Organización de la memoria:
- En las primeras direcciones de memoria se encuentra el programa principal (en caso de haber sistema operativo será este el principal y luego nuestro programa lo colocara el SO donde le convenga ), dentro de nuestro programa habrá dos segmentos importantes.
-
El segmento del programa .text este es imprescindible aquí se almacenan las instrucciones del programa que va a seguir y en caso de no haber SO este ocupara las primeras direcciones.
-
El segmento de datos .data aquí se almacena información que el programa necesitara o información el programa genere. No es imprescindible pero por regla general un programa que no genera información no es muy útil.
En esta sección se le pueden pasar algunas instrucciones más como por ejemplo
- .word que indicara que lo que se almacena estará almacenado en una palabra (32 bit)
-
El segmento de mapeo de periféricos este se encuentra en el otro extremo de la memoria utilizando los valores más altos. son valores que no pertenecen ni a la memoria física por lo que suele haber un vacío entre ambas, estas direcciones son propias de periféricos de entrada como de salida por lo cual algunos serán de solo lectura o solo escritura y sus direcciones las indicará el fabricante.
-
equivalencias .eqv Cuando se encuentre esto quiere decir que el siguiente conjunto de caracteres se sustituirá por el que hay a continuación, esto facilita también la lectura de los códigos.