3.2
Registry, posuvné registry
Dalšími příklady sekvenčních logických obvodů jsou nejrůznější registry a obecně paměti. Sem patří různé modifikace jako například posuvné registry, registry s funkcí rotace, různé typy front, zásobníků a střadačů, ale například i převodníky sério-paralelní a paralelně-sériové komunikace.
Definice
Z hlediska způsobu plnění (zápisu) a čtení rozlišujeme čtyři varianty registrů a pamětí:
- PIPO, Parallel In – Parallel Out, s paralelním zápisem i paralelním čtením,
- SISO, Serial In – Serial Out, se sériovým zápisem i sériovým čtením (zpožďovací článek, výstup je zpožděn o n bitů),
- SIPO, Serial In – Parallel Out, se sériovým zápisem a paralelním čtením, který slouží jako převodník ze sériového na paralelní tok,
- PISO, Parallel In – Serial Out, s paralelním zápisem a sériovým čtením, tzv. serializér, který slouží jako převodník paralelního toku na sériový.
Ve všech případech se jako základní stavební prvky uplatní klopné obvody, především D a JK. Principiální ukázky řešení varianty PIPO a SISO pomocí klopných obvodů D představuje obrázek 32.
+

Obr. 32. Principiální způsob zapojení klopných obvodů D pro varianty PIPO a SISO.
Registry jsou často doplněny různými funkcemi, jako je například posuv (posuvný registr), rotace (kruhový registr, Johnsonův kruhový registr), nulování, mazání, logické operace (XOR) apod.
V anglické literatuře se často setkáme s pojmy FIFO a LIFO. FIFO (First In First Out) představuje registr typu SISO, tedy v pořadí, v jakém do registru data zapíšeme, je z něho i čteme. V češtině pro tento typ registru obvykle používáme pojem fronta. Naopak LIFO (Last In First Out) je registr, ze kterého čteme data přesně v opačném pořadí, než v jakém do něho vstoupila, tedy poslední uložená data čteme jako první atd. Proto tento typ registru označujeme jako zásobník.