Bufor cykliczny
![]() | Ten artykuł od 2015-02 wymaga zweryfikowania podanych informacji. Należy podać wiarygodne źródła w formie przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary) Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Bufor_cykliczny_1.png/220px-Bufor_cykliczny_1.png)
Bufor cykliczny (kołowy) – bufor, który wykorzystuje stałą (niezmieniającą swojego położenia i wielkość) tablicę (lub pamięć w elektronice) o ograniczonej pojemności do zapisu teoretycznie nieskończonej liczby danych. Z reguły raz odczytana dana staje się niepotrzebna (np. bufor FIFO) czyli może być nadpisana, dlatego po zapisaniu całej tablicy możliwe jest rozpoczęcie pisania od początku tablicy. W konsekwencji bufor cykliczny nie ma swojego początku i końca, a dokładniej położenie początku i końca jest zmienne i nie powinno być kojarzone z położeniem początku i końca rzeczywistej tablicy. W rzeczywistej implementacji bufor zorganizowany w ten sposób, że dane są przechowywane w tablicy, a dodatkowo przechowywane są dwa wskaźniki lub indeksy tablicy pokazujące pierwszy i ostatni element (albo pierwszy i puste miejsce za ostatnim). Dopisywanie nowych danych wymaga inkrementacji wskaźnika na ostatni element. W przypadku dojścia do końca tablicy jest on przemieszczany na początek. Podobnie wskaźnik odczytu po dojściu do końca tablicy przemieszcza się na początek. Bufor na ogół reprezentuje kolejkę FIFO, można też zaimplementować na nim bufor, w którym dane mogą być dopisywane i czytane z obydwu stron.
Zalety:
- prostota konstrukcji,
- szybki dostęp,
- oszczędność czasu przepisywania danych.
Wady:
- ograniczenie z góry wielkości bufora przez wielkość tablicy
Przykłady:
- bufor klawiatury w PC
- oscyloskop cyfrowy, w którym sygnał wyzwalający nie znajduje się na początku rejestrowanych próbek. W takim wypadku dane są rejestrowane ciągle a zakończenie rejestracji następuje z opóźnieniem po wystąpieniu sygnału wyzwalającego.