- Význam registru, typy a použití v procesorech
- Posuvné registry - princip, základní typy (SIPO, PISO…) a příklady využití.
1. Význam, typy a použití registrů v procesorech
-
Registr je vnitřní paměťové místo v procesoru, které slouží k dočasnému uložení jednoho slova (dat, adresy nebo instrukce).
-
Jsou tvořeny sadou rychlých klopných obvodů (typu D).
-
1.1 Proč jsou registry důležité?
- Procesor nemůže provádět operace přímo s daty v RAM, protože RAM je příliš pomalá. Data se proto musí nejdříve načíst do registru, tam se s nimi provede výpočet (v ALU) a výsledek se buď uloží do jiného registru, nebo zpět do RAM.
-
1.2 Hlavní typy registrů v CPU:
Název registru Zkratka Význam a hlavní funkce Střadač (Akumulátor) ACC Nejdůležitější registr. Vstupují do něj data pro výpočty v ALU a ukládají se do něj mezivýsledky. Čítač instrukcí PC Ukazuje na adresu další instrukce v paměti, která se má provést. Po každé instrukci se automaticky zvýší. Instrukční registr IR Dočasné úložiště pro právě prováděnou instrukci (její binární kód), kterou dekodér zrovna luští. Registr příznaků FLAGS Obsahuje bity (stavové příznaky), které říkají, jestli byl výsledek nula (Z), záporný (S), nebo došlo k přetečení (V). Ukazatel zásobníku SP Obsahuje adresu vrcholu zásobníku (Stack) v paměti RAM. Klíčové pro návraty z podprogramů. Univerzální registry GPR Skupina registrů (např. R0, R1…), které může programátor volně použít pro rychlé ukládání jakýchkoli dat. Adresový registr paměti MAR Obsahuje adresu v RAM, na kterou chce procesor právě teď zapsat nebo z ní číst.
2. Posuvné registry
- Posuvný registr je kaskádní zapojení klopných obvodů, kde je výstup jednoho připojen na vstup druhého. S každým hodinovým impulsem se informace (bit) posune o jednu pozici dále.
- Všechno řídí “hodiny” (takt). S každým tiknutím hodin se celá fronta bitů posune o jedno místo doprava (nebo doleva).

-
2.1 Základní typy (podle vstupu a výstupu):
Typ Název (anglicky) Popis SISO Serial-In, Serial-Out Sériový vstup i výstup. Slouží k oddálení (zpoždění) signálu. SIPO Serial-In, Parallel-Out Data tečou dovnitř po jednom drátě, ale ven jdou ze všech bitů naráz. Slouží jako převodník ze sériové na paralelní komunikaci. PISO Parallel-In, Serial-Out Data se „vlijí“ do všech buněk najednou a pak se po jednom drátě „vysrkávají“ ven. Slouží pro přenos dat z PC na sběrnici. PIPO Parallel-In, Parallel-Out Paralelní vstup i výstup. Funguje jako klasický paměťový registr nebo vyrovnávací paměť (Buffer).


3. Příklady využití:
-
Sériově-paralelní převodníky: Např. u USB nebo UART komunikace. Data přijdou po jednom drátě (sériově), ale procesor je potřebuje přečíst celá najednou (paralelně).
-
Aritmetické operace: Posun bitů v registru doleva o 1 pozici odpovídá násobení dvěma. Posun doprava odpovídá dělení dvěma.
-
Časové zpoždění: Signál projde registrem a vyjde ven o několik taktů později.
-
Běžící text: Řízení LED maticových displejů, kde se informace posouvá z jednoho sloupce do druhého.
-
Úspora drátů: Díky registrům SIPO můžeme ovládat obrovské displeje jen pomocí pár drátů (data se tam “nasypou” postupně za sebou).