Układy logiczne
9. Układy sterujące
9.2. Maszyny liniowe
Rejestr liczący to układ pokazany na Rys.3.
Rys.3. Rejestr liczący
Rejestr liniowy nazywamy też rejestrem LFSR ( ang. Linear Feedback Shift Register). Jest to rejestr liczący z funkcją boolowską \(f\) zadaną wzorem
\(f(Q_n,Q_{n-1},...,Q_0)=k_nQ_n \oplus k_{n-1}Q_{n-1} \oplus .... \oplus k_0Q_0 \qquad\qquad\qquad (^*)\)
gdzie \((k_n,k_{n-1},...,k_0)\in\{0,1\}^{n+1}\) jest ustalonym słowem binarnym definiującym rejestr liniowy. Funkcja \(f:\{0,1\}^{n+1}\rightarrow\{0,1\}\) zdefiniowana wzorem (*) jest przekształceniem liniowym stąd nazwa rejestru. Rejestr liniowy jest szczególnym przypadkiem tzw. maszyny liniowej lub automatu liniowego (Linear Sequential Machine). Każdy rejestr liniowy jest scharakteryzowany przez swój tzw. wielomian charakterystyczny
\(w(x)=k_nx^n\oplus k_{n-1}x^{n-1}\oplus ... \oplus k_1x\oplus k_0\)
Jest to wielomian o współczynnikach w ciele \(Z_2\). Jeśli wielomian charakterystyczny jest nierozkładalny, to rejestr liniowy wychodzący z dowolnego stanu różnego od samych zer przechodzi przez \(2^{n+1}-1\) stanów.
Rejestry liniowe stosowane są między innymi jako generatory liczb pseudolosowych.