1.3.2. Les mémoires LIFO (Last In First Out)

Principe :

Les mémoires LIFO (Last In - First Out), appelés également pile (stack), sont un autre type de mémoire non adressable, avec deux opérations possibles :

push : équivalent à l'écriture, met une information au sommet de la pile, en poussant vers le bas les informations déjà présentes dans la pile. L'information tout en bas de la pile sera perdue.

pop : équivalent à la lecture, prend l'information qui se trouve au sommet de la pile, en poussant tout le contenu de la pile vers le sommet. L'information lue sera enlevée de la pile.


Figure 1.12. Schéma du principe d’une mémoire LIFO

Exemple : Une pile 4x8, peut être vue comme un ensemble de 8 registres a décalage, de 4 bits chacun. Mais contrairement aux FIFO, les registres a décalage sont bidirectionnels et on accède seulement au registre en haut (le sommet de la pile)

Architecture générale


Figure 1.13. Schéma une mémoire LIFO

Les ordinateurs utilisent couramment des piles pour le stockage de l'information. Dans ces cas, la pile n'est pas implémentée à l'aide des registres, mais utilise une partie de la mémoire RAM de l'ordinateur.

Dans les piles à RAM, l'information ne bouge pas, n'est pas décalée vers le bas de la pile, mais ce qui bouge est le sommet de la pile, indique par un pointeur : le stack pointer (SP).

Par convention arbitraire, lors d'un push le stack pointer est décrémenté (le sommet de la pile est déplacé vers les adresses basses de la mémoire), tandis que lors d'un pop le stack pointer est incrémenté (le sommet de la pile est déplacé vers les adresses hautes de la mémoire).

Domaines d’application

-        Sauvegarde du contexte d’un programme.

Evaluation des expressions arithmétiques.

Modifié le: vendredi 18 octobre 2024, 21:41