Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Výše popsaný postup načtení instrukce platí pro případ, kdy je délka instrukce konstantní
a délka instrukčního slova odpovídá délce adresové sběrnice AB. U procesorů s proměnnou
délkou instrukčního slova se instrukční slovo může číst pomocí několika přístupů do paměti.
Instrukční registr IR se pak obvykle skládá z více části, např. IR1, IR2, IR3. Předpokládejme
např. 8 bitovou datovou sběrnici, 8 bitový operační znak a 16 bitovou adresu operandu. Pak se
instrukce, která obsahuje operační znak a adresu operandu, čtete pomocí tří přístupů do paměti
(tří strojových cyklů). V prvním cyklu ukazuje PC na začátek instrukce, tj. na paměťovou
buňku, kde se nachází operační znak. Operační znak se převezme z datové sběrnice DB a uloží
se do IR1. Inkrementuje se PC a do IR2 se uloží první byte adresy. Opět se inkrementuje PC a
do IR3 se uloží druhý byte adresy operandu.
Dekódování instrukce (Instruction Decode). Instrukční kód nacházející se v registru IR
je dekódován řadičem. Řadič generuje řídící signály pro ALU a další vnitřní obvody procesoru.
Operační znak bývá dekódován postupně (přečtou se operandy, dekóduje a provede se
konkrétní operace).
Čtení operandů. Předpokládejme instrukci s jedním operandem, jehož adresa je součástí
instrukčního slova. Adresa operandu byla během fetch cyklu uložena do instrukčního registru.
Nyní se část instrukčního registru obsahujícího adresu (např. IR2, IR3) připojí na adresovou
sběrnici AB, pak se na výstupu operační paměti objeví hodnota operandu. Procesor převezme
operand a uloží ho do nějakého registru nebo jej přímo připojí na vstup ALU.
Vykonání instrukce (Instruction Execution). Vykonání instrukce je závislé na typu