Strojový kód. Instrukce počítače



Podobné dokumenty
Architektury počítačů a procesorů

Princip funkce počítače

Počítač jako prostředek řízení. Struktura a organizace počítače

Architektura počítače

Přerušovací systém s prioritním řetězem

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Systém adresace paměti

Pohled do nitra mikroprocesoru Josef Horálek

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

3. Počítačové systémy

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Vstupně - výstupní moduly

Architektura počítačů Logické obvody

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Architektura počítačů Logické obvody

Struktura a architektura počítačů (BI-SAP) 9

a operačních systémů

Přerušovací systém 12.přednáška

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Vstupně výstupní moduly. 13.přednáška

Struktura a architektura počítačů (BI-SAP) 7

Procesor z pohledu programátora

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

8. Laboratoř: Aritmetika a řídicí struktury programu

Jak do počítače. aneb. Co je vlastně uvnitř

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Principy komunikace s adaptéry periferních zařízení (PZ)

Řízení IO přenosů DMA řadičem

Předmluva 13 Použité konvence 14. KAPITOLA 1 Základní číselné soustavy a pojmy Číselné soustavy a převody 15 1.

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

BI-JPO (Jednotky počítače) Cvičení

Adresní mody procesoru

Metody připojování periferií BI-MPP Přednáška 2

Kubatova Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR Kubátová Y36SAP-strojový kód 1

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Pohled do nitra mikroprocesoru

Procesor. Procesor FPU ALU. Řadič mikrokód

IMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.

Architektura procesorů PC shrnutí pojmů

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Systém řízení sběrnice

Architektura procesoru ARM

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Struktura a architektura počítačů (BI-SAP) 11

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Profilová část maturitní zkoušky 2014/2015

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

3. Principy komunikace s perifériemi: V/V brány, programové řízení, přerušení, řešení priorit. Řadiče, DMA kanály. Popis činnosti DMA kanálu.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Klimatizace. Třída: 4.C. Střední Průmyslová Škola Elektrotechnická Havířov Protokol do MIT. Skupina: 3. Zpráva číslo: 3

Aritmetické operace a obvody pro jejich realizaci

VY_32_INOVACE_CTE_2.MA_19_Registry posuvné a kruhové. Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl

Popis instrukční sady procesoru ADOP

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

35POS Počítačové systémy. 8 Mnohaúrovňová organizace počítače 1

Program a životní cyklus programu

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

5 Přehled operátorů, příkazy, přetypování

Paměti a jejich organizace

PROCESOR. Typy procesorů

Architektura Pentia úvod

Opakování programování

Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

setup() { I = 0; } loop() { I = I + 1; }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Datové typy a struktury

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

Algoritmizace a programování

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Paměťový podsystém počítače

ISU Cvičení 3. Marta Čudová

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic


Algoritmizace a programování

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Komunikace procesoru s okolím

Přidělování paměti II Mgr. Josef Horálek

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. 25

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Sada 1 - Základy programování

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Přidělování zdrojů (prostředků)

Struktura a architektura počítačů (BI-SAP) 10

ZOS OPAKOVÁNÍ. L. Pešička

Principy počítačů I - Procesory

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Transkript:

Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska systému je přímo proveditelný Strojový kód procesoru je tedy množina všech strojových instrukcí, které je procesor schopen vykonávat. Kódování závisí na typu procesoru Cvičný strojový kód: Instrukce počítače Formát strojové instrukce operační kód určuje, jaká instrukce se bude vykonávat adresa vstupního operandu identifikuje operand(y), se kterým bude instrukce pracovat adresa výstupního operandu stanoví adresu(y), na kterou bude po provedení instrukce uložen výsledek adresa následně vykonané instrukce sdělí procesoru, jakou instrukci má vykonávat jako následující pokud není uvedena, procesor začne vykonávat bezprostředně následující instrukci U různých typů počítačů je různý instrukční kód a instrukce mohou mít různý počet operandů (obvykle 0,1,2,3). - 1 -

Činnost procesoru při provádění programu Veškeré programy jsou převedeny do strojového kódu (sekvence strojových instrukcí) Po spuštění programu procesor postupně zpracovává instrukce adresa zpracovávané instrukce je v čítači instrukcí (IP) Každá instrukce je zpracována ve dvou fázích výběrová fáze řadič přenese obsah čítače instrukcí (IP) na adresní sběrnici a vydá příkaz ke čtení z hlavní paměti (HP) paměť přenese obsah adresované buňky na datovou sběrnici řadič uloží instrukci do registru instrukcí (RI) obsah čítače instrukcí se zvýší o 1 prováděcí fáze instrukce v RI je řadičem dekódována je-li nastaven příznak modifikace indexregistrem (IND), je k operandu přičten obsah indexregistru řadič naadresuje HP a přečte obsah vstupních operandů v součinnosti s ALU je instrukce provedena a výsledek uložen do střadače řadič zajistí přenos výsledku ze střadače na adresu výstupního operandu Vstupní a výstupní operandy Vstupní a výstupní operand může být umístěn v hlavní paměti jednoznačně určen adresou procesoru procesor má vlastní registry (paměťová místa), do kterých lze ukládat Způsob adresace = způsob, jakým bude operand instrukce na základně obsahu procesorem identifikován Dále použité symboly: X operand S střadač < > obsah operandu, adresy, Způsoby adresace bezprostřední X S hodnota operandu přímo do S operand je procesoru k dispozici okamžitě po načtení instrukce není třeba žádného dalšího čtení z paměti nebo registru X = 100 do S se uloží hodnota 100-2 -

přímá <X> S obsah adresy X se uloží do S hodnota v poli operandu je interpretována jako adresa hlavní paměti, na které je operand uložen X = 100 do S se uloží obsah adresy 100, tj. 102 adresa obsah 100 102 101 40 102 101 nepřímá <<X>> S obsah obsahu adresy X se uloží do S hodnota v poli operandu je interpretována jako adresa hlavní paměti, na které je teprve uložena adresa operandu X = 100 do S se uloží obsah obsahu adresy 100, tj. 101 s posuvem <X + <R>> S k obsahu R se přičte X, obsah výsledné adresy se uloží do S Adresaci s posuvem lze použít několika různými způsoby: relativní adresace R = čítač instrukcí, X = posuv ± bázová (segmentová) adresace R = základní adresa v HP (báze, segment), X = kladný posuv indexová adresace X = určitá adresa v HP, R = kladný posuv (IND) X = 100, IND = 1 do S se uloží obsah adresy 101, tj. 40 Pomocí indexové a přímé adresace lze vytvořit nepřímou adresaci <<X>> S <X> S ; S IND ; <0> IND S - 3 -

Typy strojových instrukcí instrukce pro přenos dat LNA, LDA, LDI, STA, STI přesouvají data mezi paměťovými místy, která se nacházejí v HP, registrech nebo zásobníku. aritmetické instrukce ADD, SUB, MLP, MOD, DIV instrukce pro základní aritmetické operace s čísly v pevné a pohyblivé řádové čárce (sčítání, odčítání, násobení a dělení) logické instrukce AND, OR, XOR logické instrukce realizují booleovské funkce na stejnolehlých bitech operandů. instrukce posuvu a rotace SHR, SHL, RSHR, RSHL posouvají obsah paměťového místa o v instrukce stanovený počet vlevo nebo vpravo instrukce (ne)podmíněného skoku JMP, JZ, JP, JZ instrukce obsahuje na místě operandu adresu, na kterou je proveden skok při splnění určité podmínky instrukce pro podporu cyklů LOOP instrukce, které sníží nebo zvýší obsah indexregistru a provedou skok na adresu uvedenou v poli operandu, pokud obsah indexregistr není nulový. instrukce pro podporu podprogramů JSR, RET důležité instrukce, které dovolují změnit právě vykonávanou sekvenci instrukcí za sekvenci jinou. instrukce operace se zásobníkem PUSH, POP instrukce pro čtení a ukládání dat na zásobník (speciální datová struktura, ze které jsou naposledy uložená data vybírána jako první strategie LIFO, tj. Last In First Out) instrukce pro I/O operace slouží pro komunikaci s přídavnými zařízeními. instrukce obsluhy přerušení INT, RETI slouží pro generování vnitřního přerušení a návrat z obslužné subrutiny přerušení systémové instrukce HLT speciální instrukce používané operačním systémem Některé instrukce lze provádět jen v systémovém stavu privilegované instrukce smí je užít jen operační systém, ne uživatelský program pokus o provedení v uživatelském stavu vyvolá přerušení - 4 -

Logické instrukce Logické instrukce realizují booleovské operace na stejnolehlých bitech obou operandů. Strojové instrukce obvykle realizují booleovské operace AND (logický součin), OR (logický součet), EQ (ekvivalence, stejnost), XOR (vylučující nebo, nestejnost) a NON (negace, opak, doplněk). P Q NON P P P AND Q P Q ( ) P OR Q P Q (+) P XOR Q P Q P EQ Q P Q 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 Obecná pravidla bitových operací: x AND 0 0 x OR 0 x x XOR 0 x x AND 1 x x OR 1 1 x XOR 1 x x AND x x x OR x x x XOR x 0 X = (10101010) 2 M = (00001111) 2 - maska Maska znamená nastavení hodnoty pomocného registru (M) nebo paměťového místa tak, aby po provedení vybrané logické instrukce s registrem X a maskou M došlo k požadované změně registru X podle obecných pravidel bitových operací. X AND M = (00001010) 2 První čtyři bity vynulovány, ostatní zůstanou zachovány. X OR M = (10101111) 2 První čtyři bity zůstanou zachovány a ostatní nastaveny na jedničku. X XOR M = (10100101) 2 První čtyři bity zůstanou zachovány a ostatní budou znegovány (nastaveny na opačnou hodnotu). X XOR X = (00000000) 2 Použití operace XOR na tentýž registr (vždy na bity se stejnou hodnotou) způsobí vynulování celého registru. Vynulování registru pomocí instrukce XOR potřebuje ke svému provedení méně strojových cyklů než přiřazení hodnoty 0 do registru. - 5 -

Přerušení Přerušení je signál, který způsobí změnu stavu systému, tj. přechod z uživatelského do systémového stavu (módu jádra). Vznikne kdykoliv nastane nějaká událost. Přerušení se uplatňují podle priorit = úroveň důležitosti přerušení. V případě, že nastane více událostí najednou, je nejprve obslouženo přerušení s nejvyšší prioritou Vykonávání obsluhy přerušení je možné přerušit pouze událostí s vyšší prioritou, než je priorita právě obsluhovaného přerušení Událost (event) = cokoliv, co má vliv na řízení práce výpočetního systému. Přerušení (události) lze rozdělit na: Vnitřní (program, HW) událost vznikající uvnitř procesoru - trap Vnější (operátor, prostředí) vzniká vně procesoru - interupt Očekávané (mají nastat), např. zařízení splnilo úkol Neočekávané (poruchy) Synchronní (vyvolá instrukce) Asynchronní (nezávisí na instrukci) Při asynchronním přerušení se vždy prováděná instrukce nejprve dokončí celá. Maskovatelné lze mu zabránit nastavením k tomu určeného registru procesoru, tzv. masku přerušení Nemaskovatelné události, které nelze maskovat. Obvykle se jedná o chybnou činnost počítače Obsluha přerušení - počítač zahájí práce na programu operačního systému zjistí příčinu přerušení uloží stavové slovo současného procesu a obsah čítače instrukcí na zásobník do hlavní paměti na základě tzv. vektoru přerušení najde v tabulce vektorů přerušení odpovídající subrutinu při vnitřním přerušení součást instrukce INT při vnějším přerušení vloží vektor přerušení na datovou sběrnici zařízení, které žádá o přerušení provede příslušnou subrutinu ošetření přerušení obnoví obsahy pracovních registrů instrukce RETI obnova stavového slova procesoru obnova čítače instrukcí rozhodne zda opětovně spustí přerušený proces nebo zda zařadí jiný K ovládání přerušovacího systému je ve strojovém kódu k dispozici instrukce INT x generování vnitřního přerušení, x je interpretován jako vektor přerušení RETI ukončení vykonávání subrutiny ošetření přerušení - 6 -