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.
která odečte hodnotu uloženou na adrese 2 od hodnoty uložené na adrese 1 a výsledek
následně uloží na adresu 0. Je-li výsledek operace 0, pokračuje se instrukcí na adrese 4, jinak
se pokračuje instrukcí na adrese 5.
Čistě explicitní vyjádření vede na příliš dlouhé instrukce a používalo se v počítačovém
dávnověku. V dnešních mikroprocesorech se nepoužívá, protože např. při velikosti adresy 32
bitů, by adresní část instrukce byla dlouhá 5*32=160 bitů.
U počítačů založených na von Neumannových principech (drtivá většina dnešních
počítačů) jsou některé informace určeny implicitně architekturou procesoru. Implicitně je
určeno, že se instrukce provádí sekvenčně (postupně) tak, jak jsou za sebou uloženy v paměti.
Sekvenční provádění instrukcí lze explicitně změnit pouze pomocí instrukcí větvení (skoky,
volání podprogramu), případně přerušení.
Za účelem sekvenčního provádění instrukcí je procesor von Neumannova typu vybaven
speciálním registrem nazývaným programový čítač (Program Counter, PC). Programový čítač
obsahuje adresu instrukce, která se má načíst z operační paměti. Během provádění instrukce se
nastaví na adresu následující instrukce. V případě, že není použita instrukce skoku se hodnota
v PC postupně zvyšuje o hodnotu odpovídající délce právě čtené instrukce. Jestliže má
instrukce délku jednoho paměťového místa, je PC zvýšen o jedničku, pokud je instrukce delší,
např. dvě paměťová místa, je PC zvýšen o dvojku.
Tří adresové instrukce.
OZ a1 a2 a3
Předpokládejme, že uspořádáme program sekvenčně, potom můžeme pevně (implicitně)
stanovit, že při nesplnění podmínky, bude vykonávání programu pokračovat následující
instrukcí, tj. instrukcí ležící v paměti bezprostředně za prováděnou instrukcí. Procesor bude pak
potřebovat dva speciální registry: