Instrukce procesoru.

Slides:



Advertisements
Podobné prezentace
Mikroprocesory Intel Obr. 1.
Advertisements

Zásobník (LiFo) Fronta (FiFo)
Algoritmizace a programování Operátory a příkazy v Delphi - 07
Instrukce procesoru pro přesun (MOV) mov X, Y Instrukce kopíruje osmibitová data ze zdroje Y do cíle X mov A, R n mov A, DPH mov A, DPL mov A, SPH mov.
Otázky k absolutoriu HW 1 - 5
Principy překladačů Mezikód Jakub Yaghob.
Programování PA - 2.
Program Programátorský model procesoru Instrukční soubor
TEP Instrukční soubor č.9.
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
AVR Assembler Symboly Návěští
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
PicoBlaze, MicroBlaze, PowerPC
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Paměťové obvody a vývoj mikroprocesoru
Tato prezentace byla vytvořena
Výrok „Počítač je pouze tak inteligentní jako jeho uživatel.“ (Radek Lochman, dnes)
Autor:Jiří Gregor Předmět/vzdělávací oblast: Digitální technika Tematická oblast:Digitální technika Téma:Paměti – úvod, základní pojmy Ročník:3. Datum.
Číselné soustavy david rozlílek ME4B
KOMBINAČNÍ LOGICKÉ FUNKCE
ZÁZNAM A KÓDOVÁNÍ INFORMACÍ
Informatika / …o počítači (základní pojmy, jednoduché představy) 2006.
Adresy a adresování Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Miloš Zatloukal.
Aritmetické operace ve dvojkové soustavě, šestnáctkový součet
Začátky mikroprocesorů
Základní pojmy a části počítače Data (informace) se v počítači ukládají v pojmenovaných celcích, které se nazývají soubory. Soubory jsou dvou druhů: Programy.
CZ.1.07/1.4.00/ VY_32_INOVACE_152_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Přehled registrů Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Miloš Zatloukal.
Marek Malík a František Černý, ME4A, 2012
Architektura počítače
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Datové typy a operátory. Co jsou datové typy  Charakterizují proměnnou nebo konstantu – jaká data obsahuje  Data jsou v počítači ukládána jako skupiny.
Mikroprocesor.
Počítač univerzální stroj na automatické zpracování informace programovatelný - program určuje využití (univerzalita) program - skupina příkazů, kterým.
Procesory.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Číslo projektu CZ.1.07/1.5.00/ Název školy Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64 Název materiálu VY_32_INOVACE_IVT_1_KOT_04_PROCESOR.
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Blokové schéma počítače.
John von Neumannova koncepce. John von Neumann  Narozen 28. prosince 1903 Budapešť Rakousko-Uhersko  Zemřel 8. února 1957 Spojené státy americké.
Základy programování mikropočítačů První program v jazyce symbolických adres.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Instrukční soubor 2
ZŠ Brno, Řehořova 3 S počítačem snadno a rychle Informatika 7. ročník III
Software,hardware,data,biti a bajty.  Software je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
MIKROPROCESOROVÁ TECHNIKA
DIGITÁLNÍ UČEBNÍ MATERIÁL
Výukový materiál zpracován v rámci projektu
ALU Aritmeticko-logická jednotka
Aritmetickologická jednotka
Výukový materiál zpracován v rámci projektu
Vlastnosti souborů Jaroslava Černá.
Jednočipové počítače – instrukční sada
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
1. ročník oboru Mechanik opravář motorových vozidel
Název projektu: Moderní výuka s využitím ICT
Výukový materiál zpracován v rámci projektu
Mikropočítač Soubor instrukcí
Financováno z ESF a státního rozpočtu ČR.
Ukládání dat v paměti počítače
Výukový materiál zpracován v rámci projektu
Aritmetické operace v číselných soustavách
Výukový materiál zpracován v rámci projektu
Číslicová technika.
Výukový materiál zpracován v rámci projektu
Číselné soustavy a kódy
Informatika / …o počítači
Transkript prezentace:

Instrukce procesoru

Strojová instrukce je v informatice označení kódovaného příkazu pro provedení elementární operace procesoru, kterou je procesor schopen přímo vykonat (procesor je základní součástí počítače). Posloupnost strojových instrukcí je označována jako strojový kód. Různé procesory mají různé sady strojových instrukcí. Některé procesory podporují více sad strojových instrukcí (např. současné procesory pro počítače IBM PC kompatibilní podporují sadu x86-16, IA-32 a x86-64, které se celkově označují jako x86).

Zápis strojové instrukce Funkce strojové instrukce se pojmenovává tzv. mnemonikou. Za mnemonikou mohou (ale nemusí) následovat operandy, neboli parametry dané strojové instrukce. Mnemonika Mnemoniky se většinou skládají z několika písmen zkratkovitě v angličtině naznačujících funkci dané strojové instrukce. Například mnemonika SUB (z anglického SUBtract - odečti) se může použít pro operaci odečítání, sub a1, a2; mnemonika CMP (CoMPare) může být použita pro označení strojové instrukce pro porovnání dvou čísel. cmp a1, a2; Pro zápis ani pro implementaci instrukcí neexistují jednotná pravidla, každá rodina procesorů (nebo také architektura) má vlastní instrukční sadu s vlastními mnemonikami, kterou vytváří výrobce procesoru.

Zápis strojové instrukce Operand Jestliže mnemonika označuje co daná strojová instrukce dělá, její operandy určují s čím. Jinými slovy, operand určuje zdrojová nebo cílová data, nad kterými daná strojová instrukce pracuje. sub a1, a2; cmp a1, a2; Operand bývá buď konstantou, nebo adresou v některém z paměťových prostorů počítače. Typicky jsou to adresový prostor registrů a operační paměti. Adresa může být určena buď přímo (tzv. přímé adresování) - jako konstanta určující index buňky v operační paměti počítače. Druhou základní možností je nepřímé adresování, kdy je operandem registr jehož obsah je interpretován jako index buňky v operační paměti počítače.

Příklady instrukcí add r0, r2; – sčítání - přičte do registru r0 hodnotu uloženou v registru r2 addc r1, r3; – sčítání s přenosem - přičte do registru r0 hodnotu registru r1 a příznaku přenosu C mov 1234h, r0; – přesun - uloží do paměti na adresu 1234h hodnotu z registru r0 mov [r7], r0; – přesun - uloží na adresu určenou registrem r7 hodnotu z registru r0 cmp r4, r5; – porovnání - porovná hodnoty registrů r4 a r5 jmp END_IF – podmíněný skok jmp r4>, 8100h; – podmíněný skok - pokud byla hodnota registru r4 vyšší, pokračuje program na adrese 8100h Strojové instrukce se dělí podle svého určení na přesunové, aritmeticko-logické a řídící instrukce. Výrobci většinou používají mnohem jemnější rozdělení (např. přesuny, aritmetické, logické, rotace, násobení a dělení, skoky, zásobníkové, systémové instrukce). U některých architektur není situace tak jasná. Například přesunová strojová instrukce, která změní hodnotu v systémovém registru procesoru de-facto přebírá funkci systémové instrukce.

Přesunové instrukce Přesunové slouží ke kopírování dat v paměti. Tyto instrukce mají typicky mnemoniku MOV (z angl. move - přesun), případně LD nebo ST (load, store). Prakticky vždy mají dva operandy - zdrojový a cílový, kdy hodnota uložená ve zdrojovém operandu je uložena do cílového operandu.

Aritmeticko-logické instrukce Aritmeticko-logické instrukce slouží k vykonávání aritmetických nebo logických operací. V podstatě jde o to, že se zdrojovými operandy se provede určitá matematická operace, jejíž výsledek je uložen do cílového operandu. Velmi častý je případ, kdy jeden ze zdrojových operandů slouží současně jako cílový. To znamená, že např. instrukce add r0, r1 nejprve sečte hodnoty registrů r0 a r1, přičemž výsledek uloží do registru r0. Typickými funkcemi aritmeticko-logických instrukcí jsou : sčítání (ADD), odečítání (SUB), porovnávání (CMP), bitové logické součty (OR) logické součiny (AND), bitové posuny a rotace. Aritmetické nebo logické nemusí být vždy dvouoperandové, instrukce realizující např. absolutní hodnotu, násobení mínus jedničkou, nebo dvojkový doplněk mají pouze jeden operand. Podle možností daného procesoru se liší šířka operandů (8/16/32 bitů) a jejich typ. Některé procesory (např. PIC) mají pouze instrukce pro jednoduché operace s malými celými čísly (viz byte), jiné mohou přímo pracovat s čísly v plovoucí řádové čárce.

Instrukce a příznakové registry Záměrným vedlejším efektem provedení instrukce obvykle bývá určité nastavení příznakových bitů v procesoru, který za tímto účelem obsahuje takzvaný registr příznaků. Registr příznaků využívají především podmíněné skoky a instrukce pro přičítání nebo odečítání s přenosem. Způsob nastavování příznaků bývá obvykle pro určitou skupinu instrukcí stejný. Zvláštní funkci z tohoto hlediska zastávají instrukce pro porovnávání, protože nemění hodnotu svých operandů, ale pouze nastavují příznakové bity (anglicky flags). Téměř vždy jsou přítomny příznakové bity : N - negative - nastavuje se, když je výsledkem operace záporné číslo Z - zero - nastavuje se, když je výsledkem operace nula C nebo CY - carry - nastavuje se, když došlo při sčítání k přenosu. Při odčítání nebo porovnávání se nastavuje jako výpůjčka, nebo jako negace výpůjčky, to závisí na architektuře CPU. V nebo OV - overflow - nastavuje se, pokud došlo při operaci k přetečení Různé procesory mohou implementovat více, ale jen výjimečně méně příznakových bitů.

Řídící instrukce Tyto instrukce mění buď tok programu, nebo způsob, jakým procesor funguje. Základní řídící instrukcí je instrukce skoku (typicky má mnemoniku JMP), která říká, že vykonávání programu nepokračuje následující instrukcí, ale instrukcí která je uložena na adrese definované operandem instrukce JMP. Podobnou funkci má instrukce podmíněného skoku, která se používá v kombinaci s instrukcemi nastavujícími příznakové bity k větvení programu. Ke skoku dojde pouze za předpokladu, že jsou určitým způsobem nastaveny příznakové bity procesoru. Následující instrukce podmíněného skoku (např. JMPR CC_NZ, 1234h - skoč, když není nastaven příznak Z - zero) může například "přehodit výhybku programu", pokud výsledkem kontrolního součtu nebyla nula. Opakovaně využívané sekvence kódu je možné vyvolat pomocí instrukce volání podprogramu (typicky "CALL"), konec podprogramu označuje instrukce návratu z podprogramu (typicky "RET" nebo "RETURN"). Kromě toho mohou některé instrukce měnit způsob chodu procesoru, který může být přepínán mezi dvěma různými soubory instrukcí - mezi "ARM" módem a "thumb" módem. Přičemž instrukční soubor ARM je optimalizovaný na rychlost, zatímco instrukční soubor "thumb" je optimalizovaný na velikost kódu.

Kódování instrukcí Aby mohly být instrukce vykonávány procesorem, je nutno je uložit do polovodičové paměti, jako sekvence několikaciferných dvojkových čísel. Tato sekvence se nazývá strojový kód. Výrobce procesoru proto pro každou instrukci definuje, jakým způsobem má být zakódována do paměti počítače. Výrobce procesoru může například stanovit, že každá instrukce je zakódována pomocí 16 bitů (neboli dvojkových cifer). do prvních šesti bitů se zakóduje mnemonika instrukce (šestibitové číslo dovolí implementovat 64 typů instrukcí - mnemonik), do druhých pěti bitů se zakóduje první operand, do posledních pěti bitů se zakóduje druhý operand. Ve skutečnosti bývá kódování instrukcí mnohem složitější, avšak princip je stejný.