Procesor z pohledu programátora



Podobné dokumenty
Adresní mody procesoru

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

Pohled do nitra mikroprocesoru Josef Horálek

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

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

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

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

ISU Cvičení 3. Marta Čudová

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

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

Princip funkce počítače

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

ISU Cvičení 7. Marta Čudová

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Operační systémy 2. Přednáška číslo 1. Úvod do OS

RISC a CISC architektura

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

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

Jazyk symbolických adres

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

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

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ý.

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

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

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

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

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


x86 assembler and inline assembler in GCC

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

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

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

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

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

Michal Brandejs. Mikroprocesory Intel

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

Petr Krajča. 26. říjen, 2012

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

REbejs. 1. workshop (draft0)

v aritmetické jednotce počíta

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

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

Instrukční soubory, registrové struktury, způsoby adresace. INP 2008 FIT VUT v Brně

Michal Brandejs. Mikroprocesory Intel Pentium

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

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

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

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.

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

Jednočipové mikropočítače (mikrokontroléry)

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

PROCESOR. Typy procesorů

Architektura počítače

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

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

Metody připojování periferií

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

Pohled do nitra mikroprocesoru

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

Základní uspořádání pamětí MCU

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

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Architektura procesoru ARM

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

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

Popis instrukční sady procesoru ADOP

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

Architektury počítačů a procesorů

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

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

Úvod SISD. Sekvenční výpočty SIMD MIMD

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

2 Hardware a operační systémy

Intel Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

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

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

Procesory z řady 8051

Algoritmizace a programování

Programátorský model x86

MCP BIOS řídicí jednotky Kit386EXR

Počítače Didaktik. Jan Lorenz. Semestrální projekt z X31SCS

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:

Systém přerušení. Algoritmizace a programování. Struktura počítače - pokračování. Systémová struktura počítače pokrač.

Program "Světla" pro mikropočítač PMI-80

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í

Provádění instrukcí. procesorem. Základní model

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

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

ŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická

Mikroprocesor Intel 8051

Struktura a architektura počítačů

PicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz

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

Assembler - 2.část. poslední změna této stránky: Zpět

Opakování programování

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

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

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

Periferní operace využívající přerušení

Transkript:

Procesor z pohledu programátora Terminologie Procesor (CPU) = řadič + ALU. Mikroprocesor = procesor vyrobený monolitickou technologií na čipu. Mikropočítač = počítač postavený na bázi mikroprocesoru. Mikrokontrolér = mikropočítač se speciálními periferiemi vyrobený na čipu.

Programátorsky zajímavé vlastnosti procesoru ISA (Instruction Set Architecture): Registrová sada procesoru Instrukční soubor Adresní prostory (paměti a IO) 3 Poznámka: CPU a paměť Adresa 3 Adresní prostor paměti Data Kód programu Data Instrukce Univerzální registry ALU Řadič Instrukce Řídicí registry Paměť CPU 4

Poznámka: Registr Registr slouží v počítači jako dočasná paměť pro uložení určité hodnoty (operandy pro aritmetické operace, kód instrukce, ). Operand A Operand B 6 5 4 3 6 5 4 3 A + B Registry OV CY 6 5 4 3 Overflow Carry bit Součet A + B 5 Poznámka: Registr Technická realizace: Registr je sestaven z klopných obvodů. Zápis dat do registru n "Zápis" Čtení dat z registru Klopné obvody 6

Registrová sada procesoru (Intel IA-3) EAX EBX ECX EDX 3 5 AH BH CH DH SP BP SI DI DS CS SS ES FS GS IP Flags AL BL CL DL AX BX CX DX EIP EFlags 4 ks univerzálních registrů 3 bitů 4 ks bázových a indexových registrů 6 ks segmentových registrů IP (PC) a příznakový registr 8 ks FP registrů 8 bitů 8 ks SIMD registrů 8 bitů 8 ks MMX registrů 64 bitů Segmentování a ochrana paměti FPU MMX SIMD APIC 9 5 8 4 FPU CR FPU SR FPU Tag 4 GDTR IDTR TR LDTR 9 MM- X MM- MXCSR APIC_B ASE_MSR ICR APIC ID LDR DFR TPR EOI SVR TMR IRR ISR FP R - FPU IP FPU DP FPU Op Řídicí registry CPU 3 Ladicí registry 3 MXCSR CR4 CR3 CR CR CR DR DR6 DR5 DR4 DR3 DR DR DR DCtlMSR Machine Specific Registers MSR Registrová sada procesoru (Alpha) 3 ks 64 bitových interger registrů, 3 ks 64 bitových float registrů, cca 5 řídicích registrů. Nemá příznakový registr. Všechny operace jsou typu registr registr. S pamětí pracují pouze instrukce Load a Store. R RR F FF PC R3 F3 cca 5 řídicích registrů 8

Registrová sada procesoru H8S RxL, RxH 8bitové registry Rx, Ex 6bitové registry ERx 3bitové registry EXR řídicí registr CCR příznakový registr PC programový čítač (4 bitů) MAC Multiply Accumulate ER slouží implicitně jako SP 3 5 Ex E E E 3 5 T ERx RxH 6 6 I UI RH RH RH 5 5 H 4 4 U Rx 3 3 RL RL RxL RL I I I N Z V C ER ER ER EXR CCR PC 3 MACL 4 4 MACH 3 MAC 9 PC, SP, CCR, EXR PC = Program Counter Při provádění určité instrukce obsahuje adresu následující instrukce. SP = Stack Pointer Ukazatel na vrchol zásobníku. CCR = Condition Code Register Obsahuje soubor příznaků pro větvení programu. EXR = Extended Control Register Pro řízení přerušení a trasování.

Použití registrů Jednoduchý program: sečtení dvou čísel v paměti, uložení výsledku do paměti H8S neumí pracovat s operandy v paměti operandy se musí uložit do registrů, výsledek operace sčítání je v registru musí se uložit do paměti. 4 4 4 43 44 5 RH RH RL RL Adresa Datová paměť Registry Poznámka: Instrukce Zjednodušeně: Zdroj dat Cíl dat Zdroj dat Cíl dat MOV.B @4,RL ADD.B RL,RL Kód instrukce Operandy Kód instrukce Operandy RL @4 RL RL + RL

Jednoduchý program MOV.B MOV.B ADD.B MOV.B @4,RL @4,RH RH,RL RL,@43 4 4 4 43 44 4 4 4 43 44 5 5 5 5 4 4 4 43 44 5 3 Registr PC PC = Program Counter (Programový čítač) Paměť Při provádění určité instrukce obsahuje adresu následující instrukce. V H8S je PC dlouhý 4 bitů může adresovat paměť v rozsahu 4 = 6 M bytů. 4 4 4 43 44 45 46 4 48 PC 44 Právě prováděná instrukce Instrukce která se bude provádět jako následující Funkce PC 4

Obsahuje příznakové bity (flag) Nastavuje se podle výsledku provedené operace (kromě I) Použití: ke větvení programu Registr CCR Příznakové bity u H8S: 6 5 4 3 C Carry I UI H U N Z V C CCR V Overflow Z Zero N Negative H Half Carry I Interrupt Enable U, UI Nevyužité 5 Větvení programu podle příznaků () K větvení programu slouží instrukce Bcc (Branch Conditionally). Testuje jeden nebo několik příznakových bitů. Podle výsledku testu buď provede nebo neprovede skok (přičtení určité hodnoty k PC). 6

Větvení programu podle příznaků () Příklad: Výpočet absolutní hodnoty ze součtu dvou čísel. Sečtení čísel + Výsledek > = - Výsledek = - Výsledek Příklad: Větvení programu podle příznaků (3) Výpočet absolutní hodnoty ze součtu dvou čísel. MOV.B @4,RL ;. operand do RL MOV.B @4,RH ;. operand do RL ADD.B RH,RL ; nastaví příznaky BPL LAB ; skok při N == NEG.B RL ; dvojkový doplněk LAB: MOV.B RL,@43 ; uložení výsledku Poznámka: LAB je návěští, které označuje instrukci MOV.B RL,@43. 8

Použití dalších registrů Také registry SP a EXR mají speciální použití. SP je pro nás důležitý, ale nejprve probereme obecné možnosti adresování dat a instrukcí v paměti a kódování instrukcí. EXR má využití při obsluze přerušení a při ladění programu pro nás není důležitý. 9