Instrukční cyklus

Diagram instrukčního cyklu

Instrukční cyklus je režim, ve kterém pracuje procesor. Od spuštění až po vypnutí se procesor (přesněji jádro procesoru, protože procesor může mít více jader) vždy nachází v jednom bodě instrukčního cyklu. Jedná se o proces, jakým jádro procesoru zpracovává strojové instrukce. Má-li procesor více fyzických jader, každé z nich pracuje nezávisle na ostatních a v jednom okamžiku se tedy každé může nacházet v jiné fázi instrukčního cyklu.

Základní pojmy

Procesor se skládá z aritmeticko-logické jednotky (ALU), řadiče, registrů a sběrnic. V instrukčním cyklu hrají roli především tyto registry a sběrnice:

  • PC (program counter) - registr uchovávající paměťovou adresu, na které se nachází příští instrukce, která se bude vykonávat
  • IR (instruction register) - registr, který obsahuje kód aktuálně prováděné instrukce
  • DB (data bus) - datová sběrnice, na ni se vystavují data, která je třeba někam dopravit (např. z registru do hlavní paměti)
  • AB (address bus) - adresová sběrnice, na ni se vystavuje adresa v hlavní paměti, ze které se čte nebo na kterou se zapisuje

Je-li v tomto článku zmíněn pojem hlavní paměť, pak je tím míněna operační paměť (typu RAM), v žádném případě se nejedná o médium pro trvalé ukládání dat jako je třeba pevný disk.

V každém procesoru se uvedené registry mohou jmenovat jinak, záleží na vůli výrobce.

Instrukční cyklus

  1. Počáteční nastavení
    Do PC se nastaví výchozí hodnota, nastaví se povolení/zákaz přerušení
  2. Čtení instrukce
    Adresa instrukce je PC vystavena na AB, z hlavní paměti je vystaven obsah paměťového místa na DB, odkud je kód instrukce načten do IR.
  3. Dekódování instrukce
    Instrukční kód z IR je dekódován řadičem, současně jsou generovány řídící signály pro ALU a další interní obvody procesoru. PC vystaví svoji hodnotu na AB, odtud je hodnota přesunuta do ALU, kde je zvýšena o délku právě načtené instrukce a následně zapsána zpět do PC.
  4. Čtení operandů
    Má-li instrukce nějaké operandy, jsou v tomto momentě načteny z hlavní paměti do pracovních registrů
  5. Vykonání instrukce
    Podle dat v IR vyšle řadič potřebné signály do ALU, kde je instrukce provedena. Pokud má instrukce nějaké výstupy, jsou uloženy přes DB do pracovních registrů procesoru nebo s použitím AB rovnou do hlavní paměti.
  6. Ošetření příčiny přerušení
    Pokud nastalo přerušení, zpracovává se nyní.
  7. Pokračuj bodem 2

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu Instrukční cyklus na Wikimedia Commons