1. Co to są rejestry?
Rejestr jest układem, który służy do pamiętania (przechowywania) informacji cyfrowej. Jako blok
funkcjonalny występuje niemal we wszystkich poważniejszych urządzeniach cyfrowych. Na
przykład pamięć (RAM, ROM) może być traktowana jako zespół rejestrów. Jednostka centralna
komputera (np. mikroprocesor) zawiera zwykle kilkadziesiąt rejestrów o różnym przeznaczeniu.
2. Podział rejestrów.
Rejestry różnią się przede wszystkim sposobem wprowadzania i wyprowadzania pamiętanej
informacji. Pod tym względem można je podzielić na:
a) rejestry równoległe umożliwiające równoległe wprowadzanie i wyprowadzanie informacji
(jednocześnie ze wszystkich i do wszystkich pozycji rejestru),
b) rejestry szeregowe umożliwiające szeregowe wprowadzanie i wyprowadzanie informacji, tzn.
kolejno bit po bicie,
c) szeregowo-równoległe umożliwiające szeregowe wprowadzanie i równoległe wyprowadzanie
informacji,
d) równoległo-szeregowe umożliwiające równoległe wprowadzanie i szeregowe wyprowadzanie
informacji,
e) rejestry uniwersalne, które umożliwiają wprowadzanie i wyprowadzanie informacji zarówno w
sposób równoległy, jak i szeregowy.
3. Parametry charakterystyczne rejestrów.
Podstawowym elementem rejestru jest przerzutnik, który umożliwia zapamiętanie jednego bitu
informacji cyfrowej. Parametry charakteryzujące rejestr:
−
długość rejestru, równa liczbie przerzutników n,
−
pojemność rejestru jest równa 2
n
i określa maksymalną ilość różnych informacji, które mogą być
zapamiętane w rejestrze,
−
szybkość pracy rejestru; dla rejestru równoległego będzie to czas trwania wprowadzania i
wyprowadzania informacji; w przypadku rejestru szeregowego będzie to maksymalna częstotliwość
impulsów zegarowych, przy której przesuwanie kombinacji nie ulega jeszcze zniekształceniu.
4. Co to są rejestry równoległe i przesuwające.
- rejestry równoległe
Wprowadzenie równoległe informacji do rejestru odbywa się najczęściej za pomocą
asynchronicznych wejść ustawiających CLEAR i PRESET przerzutnika. Informacja wyjściowa jest
dostępna na wyjściach Q przerzutników. Rejestry tego typu znajdują zastosowanie jako rejestry
pośredniczące (buforowe), np. między licznikiem a układem wyświetlającym jego stan. Informacja
z wejść równoległych X jest wprowadzana do rejestru podczas wysokiego stanu sygnału STROB.
Przy niskim stanie tego sygnału informacja wprowadzona do rejestru zostaje w nim zatrzaśnięta.
Rejestry tego typu noszą więc często nazwę zatrzasków (ang. latch). Większość rejestrów
wewnętrznych mikroprocesora oraz rejestry pamięci mają wyłącznie charakter rejestrów
równoległych.
- rejestry przesuwające
Rejestry szeregowe umożliwiają przesuwanie wprowadzonej, informacji w lewo lub w prawo
(rejestry jednokierunkowe), bądź też zarówno w lewo jak i w prawo (rejestry dwukierunkowe -
rewersyjne). Przesuwanie informacji w rejestrze odbywa się synchronicznie w takt zmian sygnału
taktującego, o jedną pozycję.
Jeżeli połączy się szereg przerzutników typu D w ten sposób, że każde wyjście Q połączone jest z
następnym wejściem D, a wszystkie wejścia zegarowe są taktowane z jednego źródła, to otrzyma się
coś, co nazywane jest "rejestrem przesuwającym" (ang. shift register). W każdym takcie zegara
zawarty w rejestrze wzór złożony z zer i jedynek przesuwa się w prawo, przy czym dane wchodzą
przez znajdujące się z lewej strony wejście D pierwszego przerzutnika. Tak jak w przypadku
zwykłych przerzutników, do pierwszego stopnia wprowadzana jest informacja znajdująca się na
wejściu tuż przed pojawieniem się impulsu zegara, a układ ma typowe opóźnienie. Rejestry mogą
być, więc łączone szeregowo bez obawy o ewentualne wyścigi logiczne. Rejestry przesuwające się
są bardzo użyteczne w układach zamiany danych równoległych (n bitów obecnych równocześnie na
n różnych liniach wejściowych) na dane szeregowe (bit po bicie, na jednej linii) i odwrotnie.
Bywają także stosowane jako pamięci, szczególnie tam, gdzie jest zachowany porządek zapisu i
odczytu danych.
5. Charakterystyka rejestru równoległo – szeregowego.
Rejestry równoległo-szeregowe i szeregowo-równoległe są również rejestrami przesuwającymi.
Konstrukcja tych rejestrów polega na kombinacji dwu poprzednich typów. Umożliwia równoległe
wprowadzanie i szeregowe wyprowadzanie informacji,
6. Przykłady grafu pracy rejestru.( przykład przesuwania cyklicznego w prawo)
0001 1
1001 9
1101 13
1000 8
1100 12
1110 14
0100 4
0110 6
0111 7
0010 2
0011 3
1011 11
7. Rejestry liczące.
Rejestrem liczącym nazywamy rejestr przesuwający ze sprzężeniem zwrotnym, w którym sygnał
podawany na wejście szeregowe X
S
jest funkcją wyjść Q
i
przerzutników rejestru
X
S
= f (Q
0
, Q
1
, …, Q
n-1
)
Podział rejestrów liczących:
a) licznik pierścieniowy,
b) licznik Johnsona (pseudopierścieniowy),
c) licznik liniowy
Opracowano na podstawie skryptu:
Komputery i Programowanie II, Materiały pomocnicze do laboratorium
Andrzej Haras, Janusz Nieznański WPG, Gdańsk 1990