Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Charakteristika Každá instrukce je tvořena 14-ti bitovým slovem. (data jsou 8-mi bitová) Většina instrukcí je vykonána v průběhu jediného cyklu. (výjimku tvoří instrukce, které souvisí s větvením programu) Syntaxe instrukcí se značně liší od zápisu používaného u jádra „8051“. Kromě mnemonického kódu obsahují příkazy nanejvýše jeden operand.
U bajtově orientovaných instrukcí adresa „f“ určuje registr se kterým se pracuje a parametr „d“ určuje (je-li použit) místo uložení výsledku operace. (d=1 => výsledek bude v registru „f“) (d=0 => výsledek bude v registru „w“) U bitově orientovaných instrukcí adresa „f“ určuje registr se kterým se pracuje a parametr „b“ určuje pozici bitu ve vybraném registru. Rozdělení instrukcí …
… rozdělení instrukcí U instrukcí, které pracují s konstantami a u řídících instrukcí, parametr „k“ označuje: konstantu (8-bitů), nebo adresu (11-bitů). Instrukční soubor je ortogonální … (každá instrukce je aplikovatelná na kterékoliv paměťové místo). U µ-počítačů na bázi jádra „8051“ instrukční soubor ortogonální není.
Časové průběhy … V každém taktu systém vykonává dvě operace současně: 1~provádí dříve načtenou instrukci 2~čte další instrukci Jedná se o dvoustupňovou pipeline. 2 1
…(zpracování instrukcí) Každý takt trvá 4 periody CLK označené Q1÷Q4. (u „8051“ – 12 period) => při shodném f CLK proběhne u PIC 3x více taktů. S ohledem na způsob realizace instrukcí se jedná o výrazný nárůst výkonu. CLK