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

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

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

BI-JPO. (Jednotky počítače) M. Sběrnice

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

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

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

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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

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.

Princip funkce počítače

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

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

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

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

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

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

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

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

Systém řízení sběrnice

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.

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

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

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

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

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

Architektury počítačů a procesorů

I. Dalšívnitřní paměti

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

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

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í

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

Pokročilé architektury počítačů

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

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

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

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

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

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

Procesor z pohledu programátora

Komunikace procesoru s okolím

Periferní operace využívající přímý přístup do paměti

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.

RISC a CISC architektura

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

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

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

Pohled do nitra mikroprocesoru

Popis instrukční sady procesoru ADOP

Metody připojování periferií

Architektura počítače

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Pozice sběrnice v počítači

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í

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

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

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

2 Hardware a operační systémy

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

Jazyk symbolických adres

Metody připojování periferií

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

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010


Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI

Jednočipové mikropočítače

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

Algoritmizace a programování

Vstupně - výstupní moduly

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

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

ISU Cvičení 7. Marta Čudová

Komunikace s perifériemi

Opakování programování

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

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

frekvence 8 Mhz, přestože spolupracuje s procesori různe rychlými. 16 bitová ISA sběrnice je

O čem bude předmět X36PZ A?

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

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

Příklady popisu základních obvodů ve VHDL

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

sběrnic a jejich komunikace s periferními zařízeními. Někdy se jedná o sběrnice, kdy celkovou

Universita Pardubice Fakulta elektrotechniky a informatiky. Mikroprocesorová technika. Semestrální práce

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

Systém adresace paměti

Komunikace modulu s procesorem SPI protokol

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

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

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

ČEMU ROZUMÍ MIKROPROCESOR?

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

OPS Paralelní systémy, seznam pojmů, klasifikace

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

Vrstvy periferních rozhraní

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

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

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

Transkript:

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 9 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze Hana Kubátová BI-SAP 9, podprogramy letní semestr 2010-11

BI-SAP 9: osnova ISA: architektura souboru instrukcí, architektura procesoru, přerušení, podprogramy sběrnice Hana Kubátová BI-SAP 9, podprogramy 2

Vývoj softwaru úrovně abstrakce Vyšší programovací jazyk Překladač Jazyk symbolických instrukcí Asembler Strojový kód Procesor a = b+c If (a > MAX) a = MAX for (i==0; i<a; i++) mov reg1, konst[0] mov reg2, konst[2] add reg1, reg2 jc lab 0000 1111 0101 0111 1011 0001 1110 0011 1100 1000 1001 0110 Řídící signály Hana Kubátová BI-SAP 9, podprogramy 3

Technologie tvorby programu v asembleru Zdrojový soubor *.asm Překladač (asembler) Binární soubor (případně HEX soubor) *.bin, *.hex Toto se nahrává do paměti programu mikropočítače Hana Kubátová BI-SAP 9, podprogramy 4

Příklad programu v symbolickém vyjádření a ve strojovém kódu Tuto transformaci provádí program zvaný asembler Symbolické vyjádření programu ldi r17, 0x55 ldi r18, 0x88 mov r16, r17 mov r17, r18 mov r18, r16 jmp 0 Převod mezi symbolickým vyjádřením a strojovým kódem zajišťuje překladač (asembler) Toto píše programátor 0000: E515 0001: E828 0002: 2F01 0003: 2F12 0004: 2F20 0005: 940C 0006: 0000 Adresa v paměti programu Obsah paměti programu Toto je mikropočítačem načítáno a dekódováno jako instrukce Poznámka: mlčky předpokládáme, že strojový kód umísťujeme od adresy 0x0000. Hana Kubátová BI-SAP 9, podprogramy 5

Instrukce, pseudoinstrukce, direktivy Instrukce = existuje pro ni kód a umístění na určité adrese v paměti Pseudoinstrukce = např. vyhrazení místa pro proměnné, deklarace proměnných Direktiva = instrukce pro předkladač Makroinstrukce = konkrétní instrukce se na několik míst v programu doplní až při překladu Hana Kubátová BI-SAP 9, podprogramy 6

Instrukční cyklus Čtení instrukce Dekódování instrukce Načtení operandů Činnost procesoru: sekvenční zpracování instrukcí v nekonečné smyčce, podle instrukčního cyklu Provedení instrukce Uložení výsledku přerušení? Hana Kubátová BI-SAP 9, podprogramy 7

Změna pořadí provádění instrukcí Instrukcemi: Skoku: nepodmíněný.. JMP, podmíněný BRxx realizace: změna obsahu PC Voláním podprogramu.. CALL realizace: změna obsahu PC a uložení návratové adresy na zásobník, při návratu (konci) podprogramu se pomocí instrukce RET nastaví obsah PC na adresu instrukce následující po CALL Přerušením Hana Kubátová BI-SAP 9, podprogramy 8

Příklad. AVR BRBC: skok jestliže bit S ve SREG je 0 Syntax: Operandy: BRBC S,k 0 s 7, -64 k +63 Operace: If SREG(s) = 0 then PC PC + k + 1 else PC PC + 1 Programový čítač: PC PC + k + 1 PC PC + 1 když podmínka není splněna Podobně BRBS Hana Kubátová BI-SAP 9, podprogramy 9

Další podmíněné skoky BRCS BRCC... S set, C clear Syntax: BRCS k BREQ... Z=1, BRNE... Z=0, BRGE... N xor V = 0... Procesor umí nastavit či vynulovat příznaky v SREG Hana Kubátová BI-SAP 9, podprogramy 10

Posuvy SHL, SHR, ASR aritmetický posun vpravo, RRC, RLC Hana Kubátová BI-SAP 8, ISA 11

Posuvy LSL, LSR posuvy logické (SHIFT) ROL, ROR rotace přes Carry ASR aritmetický posuv vpravo (? Vlevo?)... A řada dalších instrukcí, viz web SAP Hana Kubátová BI-SAP 7, AVR 12

Podprogramy Volání... CALL k k je adresa Umožňuje strukturovat program a vytvářet kratší programy Při tzv. volání je nutné na rozdíl od skoků zapamatovat, kam se vrátit, tzn. uložit návratovou adresu Ukládá se na zásobník Při návratu (na konci podprogramu je třeba instrukce RET návrat z podprogramu) Předávání parametrů: přes registry, paměť nebo zásobník Hana Kubátová BI-SAP 9, podprogramy 13

Podprogramy Volání... CALL k k je adresa Program counter: PC k Stack: STACK PC + 2 SP SP 2, (2 bytes, 16 bits) post-dekrementace Návrat z podprogramu... RET Při volání se ukládá návratová adresa na zásobník, Při návratu se obnovuje původní obsah PC ze zás. pre-inkrementace Stack: SP SP + 2, (2 bytes, 16 bits) Hana Kubátová BI-SAP 9, podprogramy 14

Zásobník -stack Operace: PUSH Rr... uložení registru na zásobník Rr STACK Program counter: Stack: PC PC + 1 SP SP 1 POP Rd... nahrání registru ze zásobníku Rd STACK Program counter: PC PC + 1 Stack: SP SP + 1 Hana Kubátová BI-SAP 9, podprogramy 15

Zásobník... Zásobník roste směrem k nižším adresám (podle typu procesoru pak jsou jinak realizované operace PUSH a POP) Obsah SP registru ukazuje na vrchol zásobníku na první prázdnou položku, na kterou se bude zapisovat (např. instrukcí PUSH, ale i přivolání podprogramu CALL nebo při přerušení) Je simulován v hlavní paměti (v AVR v paměti dat, při psaní programu je třeba ho inicializovat) Hana Kubátová BI-SAP 9, podprogramy 16

... zásobník 000 8 bitů data data 4FF Hana Kubátová BI-SAP 9, podprogramy 17

Zásobník... AVR inicializace Zásobník inicializujeme na dostatečně vysokou adresu, protože roste směrem dolů. Maximální počáteční hodnota SP pro ATmega169 je 0x4FF.include "m169def.inc" ldi r16, 0x00 out SPL, r16 ldi r16, 0x04 out SPH, r16. Vložení definičního souboru V/V registrů ATmega169 do zdrojového kódu. Zápis hodnoty 400h do SP Poznámka: V definičním souboru m169def.inc jsou adresy dolní a horní poloviny SP registru definovány takto:.equ SPL = 0x3d (dolní polovina SP).equ SPH = 0x3e (horní polovina SP) Hana Kubátová BI-SAP 9, podprogramy 18

Zásobník... použití Ukládání návratových adres na zásobník při volání podprogramu Uložení návratové adresy při vyvolaném přerušení Předávání parametrů podprogramům Lokální proměnné podprogramů Dočasné uložení registrů pro zachování transparentnosti kódu. Typicky v obsluze přerušení. Hana Kubátová BI-SAP 9, podprogramy 19

Příklad... AVR volání podprogramu Sečtěte 8000h + 0100h + 0100h ldi r16, 0x00 ldi r17, 0x80 ldi r18, 0x00 ldi r19, 0x01 call add16 call add16. Podprogram ; Součet dvou 16bitových čísel ; vstup: R17:R16 sčítanec 1 ; R19:R18 sčítanec 2 ; ; výstup: R17:R16 součet ; ; používá: R16, R17, ; R18, R19, SREG add16: add r16, r18 adc r17, r19 ret Parametry jsou předávány v registrech Poznámka: nezapomeňte přidat na začátek programu inicializaci zásobníku Hana Kubátová BI-SAP 9, podprogramy 20

Přerušení Vnější (periférie, uživatel) Nemaskovatelné (NMI) Maskovatelné (z řadiče přerušení) Vnitřní Chyby operandů, výsledků, krokování, Instrukce INT n (n konstanta) Postup při obsluze přerušení 1. Uloží se na zásobník informace o právě probíhajícím programu: SREG, PC 2. Zakáže se další přerušení 3. Nastaví se PC na hodnotu adresy začátku podprogramu, který provádí obsluhu daného typu přerušení 4. Provedení přerušení 5. Návrat z programu obsluhy přerušení a obnova informaci patřící původnímu programu, ve kterém bylo přerušení vyvoláno SREG, PC Hana Kubátová BI-SAP 9, podprogramy 21

Přerušení Maskování přerušení pomocí příznaku IF Povolení např. pomocí nové instrukce STI, která nastaví IF, tj. IF 1 Zákaz např. pomocí nové instrukce CLI, která nuluje IF, tj. IF 0 Vektor přerušení Obsahuje adresu podprogramu obsluhy přerušení, která je zapsána do PC V paměti obyčejně na nejnižších hodnotách je vyhrazen prostor, kde je umístěno n (INT n) vektoru přerušení, tj. adres podprogramů pro zpracování daného typu přerušení v AVR si přerušovací rutiny musí napsat programátor Řadič přerušení Hardwarové zařízení přijímající signály z vstupně-výstupných zařízení Identifikuje požadavky na přerušení podle jejích priorit IRQ (Interrupt request) Generuje přerušovací signál INT Hana Kubátová BI-SAP 9, podprogramy 22

Přerušení 7a.adresa Vekt. Př. Paměť Zásobník Obsluha V/V rozhraní 4.INTA 2.IRQ 7b.adresa 6.SREG,PC 9.SREG,PC Řadič přerušení 3.INT CPU 8.provedení programu obsluhy 5. HW 1.- 3. Vznik žádostí o přerušení 4. Rozhodnutí o obsluze (IF=1 a INTA) 5. Identifikace příčiny přerušení (číslo typu) 6. Uložení stavové informace SREG a PC na zásobník 7. Nalezení začátku podprogramu pro obsluhu daného typu přerušení pomocí vektoru přerušení (nové PC) 8. Provedení podprogramu obsluhy přerušení 9. Návrat do přerušeného programu a obnovení PC a SREG SW Hana Kubátová BI-SAP 9, podprogramy 23

HW počítače -shrnutí Všechny počítače se skládají z 5 základních částí: Datová část (ALU) -část procesoru Řídící část (řadič) část procesoru Hlavní paměť Vstupní zařízení Výstupní zařízení Paměťový systém Caches: rychlé, dražší, kapacitně menší, umísťované blíž k procesoru Hlavní paměť: pomalejší, levnější, větší Vnější paměť: ještě pomalejší Vstupní a výstupní zařízení mají nejméně pravidelné struktury: Široký rozsah rychlosti: klávesnice vs. Grafika Široký rozsah požadavku: rychlost, cena, norma atd. Hana Kubátová BI-SAP 9, podprogramy 24

Hardwarová architektura počítače Procesor Hlavní paměť PCI interface/ řadič paměti Sériové porty I/O řadič USB porty I/O řadič Desktop sběrnice I/O řadič HW architektura počítače (2) PCI CDROM I/O řadič I/O řadič Tape SCSI bus Grafický výstup Ethernet Disk Typický počítačový systém s I/O Hana Kubátová BI-SAP 9, podprogramy 25

Vstup a výstup Pro jednoduchou komunikaci s prostředím je možné připojit tzv. brány (porty). Ovládá je procesor pomocí instrukcí vstupu a výstupu IN a OUT Jsou připojené na sběrnici Jejích výstupy ovládají nebo monitorují vnější prostředí Příklad možných instrukcí pro ovládaní bran Instrukce Význam IN A Reg brána OUT A Brána Reg IN OUT Adresy těchto bran (registrů) tvoří nezávislý datový prostor oddělený od pamětí pro programy a data. DB Hana Kubátová BI-SAP 9, podprogramy 26

V/V jednotky a jejich řízení vstupní a výstupní zařízení připojení periferních zařízení přes sběrnice zařízení mapovaná do paměti zařízení řízená instrukcemi DMA Hana Kubátová BI-SAP 9, podprogramy 27

V/V zařízení mapovaná do paměti Část adresového prostoru není využívaná jako paměť. Tyto adresy se používají jako čísla zařízení V/ V. Tomu musí odpovídat dekodéry adres. Pro výstup se používají instrukce zápis do paměti. Pro vstup se používají instrukce čtení z paměti. Hana Kubátová BI-SAP 9, podprogramy 28

V/V zařízení řízená instrukcemi Zařízení V/V mají vlastní adresový prostor. Existují speciální instrukce pro vstup a výstup. Možnosti: 1. Instrukce trvá, dokud není provedena příslušná operace (popř. její nezbytná část). 2. Existuje instrukce, kterou lze zjistit stav zařízení. Programově (s využitím dotazů na stav zařízení) se zajišťuje potřebné čekání. 3. Po provedení instrukce pro vstup nebo výstup pracuje zařízení autonomně. Procesor může v té době provádět jiné instrukce. Ukončení činnosti periferního zařízení je signalizováno přerušením. Hana Kubátová BI-SAP 9, podprogramy 29

SBĚRNICE BUS soubor vodičů a pravidel určený k propojení jednotek počítače styk = propojení = rozhraní [interface] podsběrnice obvykle též nazývané sběrnice: adresová [Address Bus] datová [Data Bus] řidící... řidící a stavové signály [Control Bus] adresy a data mohou být multiplexovány (časově): stačí jedina sběrnice pro adresy i data je třeba řidící signál adresa / data Hana Kubátová BI-SAP 9, podprogramy 30

Typy výstupů, připojení ke sběrnici Standardní výstup totem-pole Výstupy nelze spojovat!!! Otevřený kolektor open collector (OC) Montážní součin wired-and gate (TTL) Třístavový výstup tri-state output Připojení ke sběrnici, 3 stavy: H, L, Z vysoká impedance Hana Kubátová BI-SAP 9, podprogramy 31

Operace na SBĚRNICÍCH operace (typické): čtení [read] zápis [write] čtení změna zápis [read modify write] zápis čtení [read after write] přenos bloku [block data transfer] broadcast (oběžník?): příkaz všem jednotkám broadcall (?): vyžádané informace od všech jednotek (popř. od určených jednotek) Hana Kubátová BI-SAP 9, podprogramy 32

Typy sběrnic sběrnice: paralelní sériové používají se zprav. pro systémové účely jako záložní (např. při poruše paralelní sběrnice) Hana Kubátová BI-SAP 9, podprogramy 33

Typy sběrnic. jednosměrně řízené řídící jednotka nečeká na potvrzení příkazu k provedení operace obousměrně řízené synchronní -řízená hodinami (vysílanými po příslušném vodiči). (jednosměrné řízení) pseudosynchronní (obousměrné řízení) hodiny + čekání speciální signál(y) např. WAIT asynchronní (obousměrné řízení) Hana Kubátová BI-SAP 9, podprogramy 34

asynchronní sběrnice Handshake korespondenčni režim.. hand shake Operace Příkaz (žádost request RQ) Potvrzení (acknowledgement ACK) Hana Kubátová BI-SAP 9, podprogramy 35

Přidělování sběrnic centralizované... přidělovač sběrnice (funkci přidělovače někdy zastává procesor) cyklické výzvy přidělovač nabízí postupně a adresně sběrnici jednotlivým jednotkám paralelní = nezávislé. žádosti a potvrzení sériové kombinované paralelní a sériové distribuované... bez přidělovače round-robin postupné cyklické přidělování prioritní přidělování na základě priorit Hana Kubátová BI-SAP 9, podprogramy 36