• 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 registruZkratkaVýznam a hlavní funkce
    Střadač (Akumulátor)ACCNejdů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íPCUkazuje na adresu další instrukce v paměti, která se má provést. Po každé instrukci se automaticky zvýší.
    Instrukční registrIRDoč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ůFLAGSObsahuje 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íkuSPObsahuje adresu vrcholu zásobníku (Stack) v paměti RAM. Klíčové pro návraty z podprogramů.
    Univerzální registryGPRSkupina registrů (např. R0, R1…), které může programátor volně použít pro rychlé ukládání jakýchkoli dat.
    Adresový registr pamětiMARObsahuje 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).

center

Principiální způsob zapojení klopných obvodů D pro varianty PIPO a SISO.
  • 2.1 Základní typy (podle vstupu a výstupu):

    TypNázev (anglicky)Popis
    SISOSerial-In, Serial-OutSériový vstup i výstup. Slouží k oddálení (zpoždění) signálu.
    SIPOSerial-In, Parallel-OutData 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.
    PISOParallel-In, Serial-OutData 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.
    PIPOParallel-In, Parallel-OutParalelní vstup i výstup. Funguje jako klasický paměťový registr nebo vyrovnávací paměť (Buffer).

center

SIPO (Serial-In Parallel-Out)

center

PISO (Parallel-In Serial-Out)
---

3. Příklady využití:

  1. 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ě).

  2. Aritmetické operace: Posun bitů v registru doleva o 1 pozici odpovídá násobení dvěma. Posun doprava odpovídá dělení dvěma.

  3. Časové zpoždění: Signál projde registrem a vyjde ven o několik taktů později.

  4. Běžící text: Řízení LED maticových displejů, kde se informace posouvá z jednoho sloupce do druhého.

  5. Ú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).