RAM y pila de memoria

0

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 ambos son volátiles (no estoy seguro de la pila) y la pila es memoria temporal.

    
pregunta Mohamed Osama

3 respuestas

1

Toda la memoria RAM requiere una corriente constante para mantener su estado. Es decir, en cuanto apagas la alimentación, toda la memoria RAM se desvanece. Por lo tanto, la memoria 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 función llamada "empuja" datos a la pila. Los datos se "saltan" cuando la función regresa. Debido a que la pila se almacena en la memoria RAM, también es volátil.

    
respondido por el Ben Doherty
1

Cuando se llama a una subrutina, el procesador empuja la dirección de retorno en la pila y puede dejar espacio para las variables locales (esto puede hacer mucho con el procesador y el compilador). Un registro del procesador llamado el puntero de pila contiene la dirección de la siguiente ubicación libre en la pila, y se reduce cuando algo se empuja en la pila, y se incrementa cuando se elimina algo de la pila.

La pila generalmente se coloca en la parte superior de la RAM, y se extiende hacia abajo a medida que se empujan los elementos.

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

    
respondido por el Peter Bennett
1

En las MCU PIC de datos de 8 bits, "la" pila es un área pequeña de RAM dedicada al almacenamiento de direcciones de retorno solamente. No puede acceder a él más que de manera implícita a través de las instrucciones de LLAMAR y RETAR.

    
respondido por el mlp

Lea otras preguntas en las etiquetas