a operačních systémů

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

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

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

Princip funkce počítače

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

Architektury počítačů a procesorů

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

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

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

Algoritmizace a programování

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

Kubatova Y36SAP 9. Strojový kód ISA architektura souboru instrukcí střadačově, zásobníkově orientovaná, GPR Kubátová Y36SAP-ISA 1

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

Popis instrukční sady procesoru ADOP

Pohled do nitra mikroprocesoru Josef Horálek

Přednáška. Strojový kód a data. 4. Přednáška ISA J. Buček, R. Lórencz

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

Jazyk symbolických adres

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

ISU Cvičení 3. Marta Čudová

Adresní mody procesoru

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

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

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

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

Principy počítačů I - Procesory

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

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Procesor z pohledu programátora

Architektura počítačů. Instrukce a návrh instrukční sady. Lubomír Bulej KDSS MFF UK

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

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

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

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

Architektura počítačů Implementace procesoru

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

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

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

Architektury VLIW M. Skrbek a I. Šimeček

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

Čísla, reprezentace, zjednodušené výpočty

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška I / 21

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

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

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

Pohled do nitra mikroprocesoru

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Architektury CISC a RISC, uplatnění v personálních počítačích

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Operátory. Základy programování 1 Tomáš Kühr

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Popis instrukční sady - procesory PIC Aritmetické a logické operace

Generování vnitřní reprezentace programu

Programovací jazyk Pascal

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

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

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.

Úvod do programovacích jazyků (Java)

A51 MACRO ASSEMBLER POKUSNY PROGRAM DATE 10/3/007 PAGE 1

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

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

Systém adresace paměti

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

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

MSP 430F1611. Jiří Kašpar. Charakteristika

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

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

Architektura procesoru ARM

C2115 Praktický úvod do superpočítání

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Program a životní cyklus programu

RISC a CISC architektura

Paměť počítače. alg2 1

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

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

ISU Cvičení 7. Marta Čudová

Čísla, reprezentace, zjednodušené výpočty

Úvod do programování. Lekce 1

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.

PB161 Programování v jazyce C++ Přednáška 9

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

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

Principy operačních systémů. Lekce 2: Správa paměti

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

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

Testování jednotky ALU a aplikace metody FMEA

Opakování programování

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Registry 8*32bit ERn (=16*16bit En+Rn, 8*16bit+16*8bit En+RnH+RnL)

PRINCIPY POČÍTAČŮ Metodický list číslo 1

Algoritmizace a programování

PRINCIPY POČÍTAČŮ. Schopnost logického uvažování a rešeršní práce v prostředí Internetu.

Struktura programu v době běhu

Transkript:

NSWI2 2/2 ZS Principy počítačů a operačních systémů INSTRUKCE Kdybych nařídil generálovi, aby létal od květině ke květině a on by rozkaz neprovedl, nebyla by to chyba generálova, ale moje. král asteroidu 325

NSWI2 2/2 ZS Literatura W.Stallings: Computer Organization & Architecture A.Tanenbaum: Structured Computer Organization J.Bayer et al.: Počítače prořízení N.J.Davis: Computer Organisation

NSWI2 2/2 ZS Instrukční sada styčný bod mezi návrhářem počítače a programátorem v abstraktním smyslu programátor nemá znát fyzický návrh obvodové řešení musí ale znát logický návrh, tedy např. registrový a adresový model

NSWI2 2/2 ZS Instrukční sada Instrukční sada musí být: funkčně úplná musí dovolit uživateli formulovat libovolnou úlohu zpracování jeho dat na vyšší úrovni účinná často opakované funkce by měly být provedeny rychle a za pomoci malého počtu instrukcí (jasná - požadavky na zdroje jasně určitelné)

NSWI2 2/2 ZS Instrukční sada Pokud možno, měla by být i ortogonální definice instrukcí, datových typů a způsobů adresování jsou nezávislé kompatibilní s existujícím softwarem i hardwarem

NSWI2 2/2 ZS Obsah instrukce Popis instrukční sady musí pro každou instrukci definovat:. operační kód (jaká operace má být vykonána) 2. odkaz a určení zdrojových operandů 3. umístění a určení výsledku 4. odkaz na další instrukci

NSWI2 2/2 ZS Syntaxe instrukční sady nutná součást návrhu instrukční sady určuje části, ze kterých je instrukce složena: operační kód (instrukční kód) argumenty pro dekodér musí být co nejjednodušší

NSWI2 2/2 ZS Modalita instrukcí modalita operačního kódu např. směr rotace modalita operandů např. velikost a umístění modalita ochrany (paměti) např. úroveň procesu

NSWI2 2/2 ZS Modalita operačního kódu upřesnění operace směr a vzdálenost rotace způsob testování podmínky v podmíněném skoku směr operace load/store použití operandů (paměť / registry) úprava výsledku po provedení operace

NSWI2 2/2 ZS Modalita operandů způsob adresace přímé, nepřímé,... velikost a typ operandů stejnou instrukci možno vykonat nad různými daty ovlivňuje přípravu instrukce vícestupňové načítání vícenásobné načítání

NSWI2 2/2 ZS Modalita ochrany přístupová práva k operandům ochrana paměti právo vykonání instrukce ochrana OS, procesu

NSWI2 2/2 ZS Operační kód vyžadována jasná definice, co má instrukce provést znávrhupočítače plyne, co znamenají jednotlivé části operačního kódu... později

NSWI2 2/2 ZS Dělení instrukcí I Podle počtu operandů bezadresové jednoadresové dvouadresové tříadresové (čtyřadresové)

NSWI2 2/2 ZS Bezadresové instrukce bez operandů NOP, RET operandy dány implicitně konkrétní operand dán operačním kódem CLI, TBA operace nad zásobníkem zásobníková architektura všechny operandy jsou na zásobníku instrukce ze zásobníku vyzvedne potřebný počet instrukce je vykonána případný výsledek je uložen zpět na zásobník

NSWI2 2/2 ZS Jednoadresové instrukce zbývající dvě adresy (operandy) dány implicitně obvyklé pro akumulátorovou architekturu ADD x... Acc := Acc + x

NSWI2 2/2 ZS Dvouadresové instrukce jedna z adres je použita jak pro operand, tak pro výsledek Velmi obvyklé SUB A,4... A := A 4

NSWI2 2/2 ZS Tříadresové instrukce určeny jak oba operandy, tak umístění výsledku se zvyšováním rychlosti pamětí roste flexibilita počítače a dává velké možnosti dobrým kompilátorům vyhněte ě se problémům ů s udržováním dž dat v omezené sadě registrů a používejte jako velkou sadu registrů primární paměť. pro větší délku instrukcí a výslednou délku instrukčního slova se nepoužívá často

NSWI2 2/2 ZS Y =(A (A B) / (C+D*E) Y = AB CDE*+/ 3 adresové 2 adresové adresové adresové SUB YA Y,A,B MOV YA Y,A LOAD D PUSH A MUL ADD DIV T,D,E TTC T,T,C Y,Y,T SUB Y,B MOV TD T,D MUL ADD DIV T,E TC T,C Y,T MUL ADD STORE LOAD SUB DIV STORE E C Y A B Y Y PUSH SUB PUSH PUSH PUSH MUL ADD DIV POP B C D E Y

NSWI2 2/2 ZS Zápis výrazu Infixová notace Prefixová notace Postfixová notace (A-B) / (C+D*E) /-AB+C*DE AB-CDE*+/ (převod z infixové notace pomocí gramatiky výrazu)

NSWI2 2/2 ZS (A B) / (C+D*E) / /-AB+C*DE - + AB-CDE*+/ A B C * D E

NSWI2 2/2 ZS Gramatika aritmetického výrazu EXP : TERM : EXP + TERM EXP - TERM TERM ; TERM * FACTOR TERM / FACTOR FACTOR ; FACTOR : ( EXP ) identifier ;

NSWI2 2/2 ZS Reverzní polská notace Snadný výpočet pomocí zásobníku: vstup: výraz v RPN zpracování: číslo: uložit na zásobník operace: vyzvednout ze zásobníku potřebný počet argumentů provést operaci výsledek uložit na zásobník výstup: hodnota výrazu je uložena na zásobníku

NSWI2 2/2 ZS Dělení instrukcí II Podle typu operace. aritmetické operace 2. logické operace 3. operace pro přesun dat uvnitř počítače 4. operace pro vstup/výstup dat do/z počítače 5. řídící operace

NSWI2 2/2 ZS. aritmetické instrukce základní výpočetní operace + * / abs, neg, inc, dec speciální aritmetické operace práce v plovoucí řádové čárce logaritmy, odmocniny,... konverze, překlady

NSWI2 2/2 ZS 2. logické instrukce Booleovské operace AND, OR, NOT, XOR Porovnávání, test pouze nastavení příznaků Posuny a rotace pozor na význam zpracovávaných dat, znaménko

NSWI2 2/2 ZS Booleovské operace Základní operace unární NOT (, ~,!) binární OR (+, ), AND (, &) Odvozené operace XOR, NOR, NAND, XNOR,... Pravdivostní tabulky A NOT A B OR AND XOR NOR NAND XNOR

NSWI2 2/2 ZS Příklady logických operací OR AND OR 53 6 OR C9 6 = DB 6 AND 53 6 AND C9 6 = 4 6 XOR NOT 53 6 XOR C9 6 = 9A 6 NOT C9 6 = 36 6

NSWI2 2/2 ZS Operace posunu Logické posuny posouvají bity operandu o N míst vlevo/vpravo uvolněné bity nastaveny na Aritmetický posun vpravo zleva vstupuje hodnota nejvyššího bitu Rotace cyklický posun bitů o N míst vlevo/vpravo

NSWI2 2/2 ZS Příklady operací posunu hif f Shif Ri h Shift Left 3 6 SHL 2 = 46 6 Shift Right 3 6 SHR 2 = 4 6 Rotate Left Shift Arithmetic Right Rotate Left C9 6 ROL 2 = 27 6 Shift Arithmetic Right C9 6 SAR 2 = F2 6

NSWI2 2/2 ZS 3. přesuny dat typické pro Load/Store architekturu přenos obsluha blh start, test 4. vstup/výstup

NSWI2 2/2 ZS 5. řídící instrukce skoky nepodmíněný, podmíněný volání podprogramu, návrat řízení např.: halt, wait, nop skip execute

NSWI2 2/2 ZS Určení argumentů implicitně parametry dány použitou instrukcí explicitně součástí zápisu instrukce je odkaz na parametry Nutno jasně definovat při návrhu instrukční sady

NSWI2 2/2 ZS Způsoby adresace immediate bezprostřední zápis dat v instrukci direct v instrukci zapsána adresa operandu indirect odkaz do paměti, kde je adresa oper. indexed k zadané adrese je přičten index based adresa tvoří posunutí vzhledem k bázi relative vzhledem k adresovému čítačiči

NSWI2 2/2 ZS Immediate Mode operand je obsažen v instrukci data jsou za běhu kódu konstantní po načtení instrukce není třeba přistupovat do paměti velikost operandu je omezená opcode data

NSWI2 2/2 ZS Direct Mode v instrukci je zapsána adresa operandu k vykonání instrukce je třeba navíc přístup k paměti rozsah adres limitován velikostí instrukce adresa operandu je konstatní, data se mohou měnit opcode addr data

NSWI2 2/2 ZS Indirect Mode v instrukci je adresa, na které se v paměti nachází operand k vykonání instrukce jsou třeba 2 přístupy navíc: načtení č adresy operandu přístup k operandu data opcode addr addr

NSWI2 2/2 ZS Indexed Mode, Base Mode výsledná adresa složena ze dvou částí: základ posunutí velmi podobné, někdy se nerozlišuje při rozlišování např. podle toho, kdo to dělá: indexed: v programu pro přístup p k datům based: v OS pro implementaci ochrany/segmentace

NSWI2 2/2 ZS Indexed mode opcode index i-reg base + data

NSWI2 2/2 ZS Based mode base opcode b-reg offset + data

NSWI2 2/2 ZS Relative Mode operand je určen relativně vzhledem k programovému čítači opcode rel

NSWI2 2/2 ZS Adresace s použitím registrů Některá ze zúčastněných adres je z domény registrů, nikoli hlavní paměti Register addressing jako direct, ale adresová část určuje registr Register indirect jako indirect, ale adresová část určuje registr, který obsahuje adresu operandu

NSWI2 2/2 ZS Automatické změny argumentů Např.. pre- a. -increment 2. post- b. -decrement automatický posun na další zpracovávaná data je součástí logiky instrukce typické pro přesuny dat a konverze typické v kombinaci s nepřímým adresováním

NSWI2 2/2 ZS Kombinace přístupy možno kombinovat: base with scaled index and displacement LA = (SR) + (I)*S + (B) + A