1 votos

Memoria RAM y de pila

Me gustaría saber cuál es la diferencia entre la RAM (memoria de datos) y la memoria de pila en los microcontroladores PIC si ambas son volátiles (no estoy seguro de la pila) y la pila es una memoria temporal.

2voto

Ravindran K Puntos 1

Toda memoria RAM requiere una corriente constante para mantener su estado. Es decir, en cuanto se apaga la corriente, toda la memoria RAM desaparece. Por lo tanto, la RAM es volátil.

La pila es un área específica de la memoria RAM utilizada para almacenar variables temporales durante la ejecución del programa. Cada llamada a una función "empuja" datos a la pila. Los datos se "sacan" cuando la función regresa. Como la pila se almacena en la RAM, también es volátil.

2voto

Matt Goddard Puntos 782

En los MCUs PIC de 8 bits, "la" pila es una pequeña área de RAM dedicada al almacenamiento de las direcciones de retorno únicamente. No se puede acceder a ella más que implícitamente a través de las instrucciones CALL y RET.

0voto

Peter Bennett Puntos 15949

Cuando se llama a una subrutina, el procesador coloca la dirección de retorno en la pila, y puede hacer espacio para las variables locales (esto puede variar según el procesador y el compilador). Un registro del procesador llamado puntero de la pila contiene la dirección de la siguiente ubicación libre en la pila, y se decrementa cuando se introduce algo en la pila, y se incrementa cuando se elimina algo de la pila.

La pila suele situarse en la parte superior de la RAM y se extiende hacia abajo a medida que se introducen elementos en ella.

La pila suele formar parte del espacio de memoria RAM volátil, pero la implementación real puede variar entre las familias de microcontroladores.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X