Diferencia entre revisiones de «Estructura de la memoria; heap, stack»

De Wikitronica
Saltar a: navegación, buscar
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
[[Categoría: EC3731 - Arquitectura del Computador 2]]
 
[[Categoría: EC3731 - Arquitectura del Computador 2]]
 
[[Categoría:MIPS]]
 
[[Categoría:MIPS]]
 +
  
 
<div style="top:+0.3em; text-align: center;font-size:100%; border:1px solid #C7D0F8; background:#F2F5FD;width:80%">
 
<div style="top:+0.3em; text-align: center;font-size:100%; border:1px solid #C7D0F8; background:#F2F5FD;width:80%">
 
  '''Este artículo está incompleto. Está en construcción. Revisar la discusión.'''</div>
 
  '''Este artículo está incompleto. Está en construcción. Revisar la discusión.'''</div>
 +
  
 
[[Image:Pila.PNG|thumb|200px|right| Representación simplificada de una pila ]]
 
[[Image:Pila.PNG|thumb|200px|right| Representación simplificada de una pila ]]
Línea 24: Línea 26:
 
* http://courses.cs.vt.edu/~cs2505/fall2010/Notes/pdf/T25.MIPSStack.pdf
 
* http://courses.cs.vt.edu/~cs2505/fall2010/Notes/pdf/T25.MIPSStack.pdf
 
* https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)
 
* https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)
 +
 +
 +
== Véase también ==
 +
 +
* [[Instrucciones de salto condicional en el Mips|Instrucciones de salto condicional en el MIPS]]
 +
* [[Instrucciones de transferencia de datos en el Mips|Instrucciones de transferencia de datos en el MIPS]]
 +
* [[Instrucciones aritméticas, lógicas y de salto incondicional en el Mips|Instrucciones aritméticas, lógicas y de salto incondicional en el MIPS]]

Revisión actual del 23:38 12 may 2013


Este artículo está incompleto. Está en construcción. Revisar la discusión.


Representación simplificada de una pila

Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura.

Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.

En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.

Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo.


En cuanto al heap (la sección de memoria utilizada para la parte dinámica de la memoria), y empieza en la posición 0x10040000 de la memoria.

El heap o montón es más difícil de implementar. Típicamente se necesita un código que maneje el heap, de manera que las interacciones de inserción y extracción de datos deben tener algún tipo de estructura de datos que permitan seguir en qué posición de memoria se encuentra en el momento.

Bibliografía


Véase también

Contributors

Ddtdanilo