Uploaded by JORGE ALBERTO RIOS HERNANDEZ

Organizacion y Mapeo de memoria JARHZ

advertisement
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.
Download