Instrukční cyklus

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  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