Rejestr – układ służący do przechowywania i odtwarzania informacji w postaci bitów. Rejestr zbudowany jest z przerzutników, na każdej pozycji rejestru przechowywany jest jeden bit informacji[1]. Liczba bitów rejestru nazywana jest długością rejestru[1].
Ze względu na sposób wprowadzania i wyprowadzania informacji rejestry dzielą się na:
szeregowe (szeregowo-szeregowe) - umożliwiające szeregowe wprowadzenie i wyprowadzenie danych (tzn. bit po bicie), są to tak zwane rejestry SISO (Serial In Serial Out)
równoległe (równoległo-równoległe) - umożliwiające równoległe wprowadzenie i wyprowadzenie informacji jednocześnie do wszystkich pozycji rejestru, PIPO (Parallel In Parallel Out)
szeregowo-równoległe - umożliwiające szeregowe wprowadzenie i równoległe wyprowadzenie informacji, SIPO (Serial In Parallel Out)
równoległo–szeregowe - umożliwiające równolegle wprowadzenie i szeregowe wyprowadzenie informacji, PISO (Parallel In Serial Out)
Rejestry można podzielić także na asynchroniczne i synchroniczne. Jednakże najczęściej stosowane są rejestry synchroniczne.
Charakterystyka
Parametrami charakteryzującymi rejestr są:
Długość rejestru, równa liczbie przerzutników N
Pojemność rejestru, równa 2N
Szybkość rejestru; w przypadku rejestru równoległego będzie to czas wprowadzania lub wyprowadzania informacji, natomiast w przypadku rejestru szeregowego maksymalna możliwa częstotliwość impulsów przesuwających, przy której nie następuje zniekształcenie informacji. Może to być też po prostu czas propagacji zastosowanych przerzutników.
Przykładowa implementacja
Rejestr może zostać zbudowany z przerzutników D o połączonych razem wejściach zegarowych. Dane z wejść Dn-1...D0 są zapisywane do rejestru synchronicznie z (przykładowo narastającym) zboczem każdego impulsu CK. Dane przepisywane są z wejść przerzutnika D na wyjścia Q każdym impulsem CK.