Este proyecto es un simulador de memoria de bajo nivel implementado en C. La aplicación emula el funcionamiento de una caché de memoria, gestionando accesos, detección de fallos y volcado de datos mediante la interacción con archivos que representan la memoria principal y los accesos realizados.
- Simulación de caché: Implementa una estructura para la caché compuesta por 8 líneas, cada una con 16 bytes.
- Parseo de direcciones: Descompone una dirección en sus componentes (etiqueta, línea, palabra y bloque) utilizando operaciones a nivel de bits.
- Manejo de fallos: Detecta fallos de caché y actualiza la línea correspondiente con datos extraídos de la memoria simulada.
- Volcado de datos: Al finalizar, el contenido de la caché se guarda en un archivo binario.
- Interacción con archivos: Utiliza archivos externos para configurar la memoria y registrar los accesos.
- Compilador de C: Se recomienda utilizar GCC.
- Librerías estándar:
stdio.h,stdlib.hyunistd.h. - Sistema operativo: Linux, macOS o cualquier sistema compatible con compilación en C.
Para compilar el proyecto, ejecuta el siguiente comando en el directorio del proyecto:
gcc -o simulador main.cEsto generará un ejecutable llamado simulador.
Antes de ejecutar el simulador, asegúrate de contar con los archivos necesarios en el mismo directorio (por ejemplo, dirs_memoria.txt, accesos_memoria.txt y CONTENTS_RAM.bin).
Luego, ejecuta el simulador con:
./simuladorEste proyecto se distribuye bajo la Licencia MIT (o la licencia que prefieras).
- Saray Hershkovich @sasahershko
- Enrique Rodríguez @ronambulo