Une mémoire tampon circulaire est soit un type de circuit matériel ou une zone de mémoire de l'ordinateur qui est utilisé pour stocker des informations d'entrée. Il s'agit d'un tampon de taille fixe et ne peut être comprise comme une structure de données qui utilise une mémoire tampon comme si elle était liée, d'un bout à l'autre. C'est ce qu'on appelle une mémoire tampon circulaire, car il donne l'impression de circularité. Ajout de plus d'informations lorsque la mémoire tampon est pleine amène à remplacer le premier élément stocké dans la mémoire tampon. Il est aussi appelé une mémoire tampon ou un tampon cyclique.
Une manière facile de comprendre une mémoire tampon circulaire est d'imaginer une ligne dans une station de bus. Les données sont toujours ajouté à une extrémité de la ligne et est toujours retirée de l'autre extrémité. La tête de la ligne est toujours la fente dans laquelle l'information est ajoutée; l'extrémité de queue de la ligne est le lieu où l'information est enlevée. La queue et la tête donnent l'apparence d'être à côté de l'autre dans la mise en œuvre de ce type de mémoire tampon, si le tampon est, en réalité, juste un bloc de mémoire. Contrairement à la ligne dans une station de bus, cependant, la taille de la mémoire tampon est fixée, et il a une certaine capacité maximale.
Cela signifie, lorsque la mémoire tampon est pleine, elle commence à écraser les données à la tête. La capacité maximale de la mémoire tampon doit être fixée à l'avance, et alors que ce nombre pourrait être modifié à tout moment, toutes les données existantes présentes dans la mémoire tampon seront perdues. En règle générale, les processus séquentiels utilisent des tampons cycliques d'échanger des informations et des données saisies par le seul processus sont lues par l'autre. Le premier procédé, appelé le producteur, lieux de données dans la mémoire tampon, et le second procédé, appelé le consommateur, prend le. Routines utilisent également des tampons cycliques pour stocker temporairement les données.
L'attribut le plus avantageux d'un tampon circulaire est la façon dont il stocke les données. Les données ne sont pas bousculées quand un objet à la fin de la ligne est supprimé. Si le tampon était non circulaire, tous les éléments de données présentes dans la mémoire tampon auraient à changer de position lorsque les données ont été supprimées. Un tampon circulaire peut être considéré comme un First In First Out (FIFO) type de tampon, tandis qu'un tampon standard ressemble à un Last In First Out (LIFO) type de tampon.
Comme la mémoire tampon circulaire stocke des données dans des régions contiguës de la mémoire, il permet un accès aléatoire des données rapidement. Ce type de tampon est facile à déboguer et est extrêmement efficace. Il sert de zone de cache pour stocker un certain nombre de données dernier inclus. Il est également possible d'insérer très rapidement et de suppression des données à partir des deux extrémités, le rendant idéal pour de nombreuses applications.