CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERIAS EMBEBIDOS Organización y Mapeo de Memoria Docente: García Arreola Alicia Ríos Hernandez Jorge Alberto 22/04/2023 Introducción: Tanto la organización cómo el mapeo de memoria son conceptos importantes en tanto al diseño que involucra el uso de sistemas embebidos concierne. La organización de memoria es un concepto que hace referencia al uso y estructuración de memoria física. Por otra parte el mapeo de memoria refiere a la asignación y direccionamiento de operaciones y datos del sistema. Distintos tipos de organización de memoria: La organización de memoria varía según la arquitectura del dispositivo, pudiendo ser una memoria que separa tanto el programa cómo los datos o en su defecto una memoria compartida para ambos conceptos. Esto es lo que hace la distinción entre la arquitectura Harvard y Von Neumann. En este caso la arquitectura Harvard es la que trabaja con dos bancos de memoria distintos, teniendo uno asignado para las instrucciones mientras que el otro se encuentra asignado para los datos. La arquitectura von Neumann nos permite direccionar tanto datos cómo instrucciones en un solo banco de memoria compartido. Es importante tener en mente las limitaciones y ventajas de ambos tipos de arquitectura cuando se trata de desarrollar un sistema embebido. Sobre todo cuando se programa en bajo nivel, donde el gestionamiento de los bancos de memoria es algo importante para evitar algún tipo de saturación o desbordamiento de la misma. Saturación de memoria en Arquitectura Harvard: Cuando un micro-controlador de arquitectura Harvard se satura pueden ocurrir distintas fallas cómo un problema de respuesta en el código, que las instrucciones o datos sea inaccesible, entre otros. Sin embargo al tener dos bancos de memoria con propósito único las fallas pueden no ser tan extremas, es decir si se satura el banco de memoria de datos eso no significa que afecte o perjudique al banco de memoria de instrucciones. Simplemente no recabaría más datos o habría un fallo al momento de mostrarlos. Por otra parte si el banco de instrucciones de satura, el micro-controlador podría continuar recabando datos pero con la limitación de no poder adoptar nuevas instrucciones o detenerse en un momento dado. Saturación de memoria en Arquitectura Von Neumann: Cuando hay un desbordamiento de memoria en un micro-controlador de arquitectura Von Neumann ocurren distintas fallas que podrían ser muy problemáticas en el diseño deseado. En este caso al ser un banco de memoria compartido, el micro-controlador podría tanto ya no ser capaz de recabar o almacenar datos cómo de seguir instrucciones implementadas por el usuario. Conclusiones: Es importante considerar la optimización al momento de hacer un diseño electrónico, para esto es necesario tener conocimiento de la arquitectura del hardware sobre el que se trabaja además de comprender y leer el código escrito con detenimiento para así evitar instrucciones redundantes o escribir líneas de código innecesarias que solo abarcan espacio en la memoria del microcontrolador. Bibliografía: Singh, K. J., & Kumar, S. (2015). "Design and Implementation of Memory Organization in Microcontrollers". International Journal of Computer Applications, 112(17), 21-28. Ullah, N., & Mustafa, A. (2014). "Memory Management in Embedded Systems". International Journal of Advanced Research in Computer Science and Software Engineering, 4(2), 84-89. Brown, M. (2008). "Understanding Memory". Embedded Systems Programming, 21(5), 16-20. Mazidi, M. A., Naimi, S., & Naimi, S. (2015). "The AVR Microcontroller and Embedded Systems: Using Assembly and C for Arduino". Prentice Hall. Valvano, J. W. (2012). "Embedded Systems: Introduction to ARM Cortex-M Microcontrollers". Cengage Learning. Smith, S., & Kelly, D. (2013). "PIC Microcontroller and Embedded Systems: Using Assembly and C for PIC18". Prentice Hall.