Algoritmizace a programování

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

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

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

Vstup-výstup Input-Output Přehled a obsluha

Struktura a architektura počítačů

Struktura a architektura počítačů

Architektura počítače Základní bloky Provádění instrukcí

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

Princip funkce počítače

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

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

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Struktura a architektura počítačů

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

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

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

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

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

Algoritmizace a programování

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

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

Algoritmizace a programování

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

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

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

Procesor z pohledu programátora

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

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

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

Technické prostředky počítačové techniky

2 Hardware a operační systémy

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

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

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

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

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

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.


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

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

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

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

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

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

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

Počítačová sestava paměti, operační paměť RAM

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

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

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

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

Pohled do nitra mikroprocesoru Josef Horálek

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

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

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

2.9 Vnitřní paměti. 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

Architektura počítače

Jazyk symbolických adres

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

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

Paměti počítače 9.přednáška

Architektura počítačů

Paměti počítače ROM, RAM

a operačních systémů

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í

Management procesu I Mgr. Josef Horálek

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry.

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

Systém řízení sběrnice

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

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

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

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Paměti a jejich organizace

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

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

Paměti operační paměti

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

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

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

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

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

Architektury počítačů a procesorů

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

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

RISC a CISC architektura

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

Komunikace procesoru s okolím

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í

Popis instrukční sady procesoru ADOP

09. Memory management. ZOS 2006, L.Pešička

Paměti Josef Horálek

Počítač jako elektronické, Číslicové zařízení

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

PB153 Operační systémy a jejich rozhraní

Architektura procesoru ARM

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Systém adresace paměti

Transkript:

Algoritmizace a programování Struktura počítače - pokračování České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015

Systémová struktura počítače pokrač. Systém přerušení A8B14ADP Algoritmizace a programovaní - Systém přerušení 2

Asynchronní akce hardwareové (hw) volání procedury Žádosti o přerušení Řadič přerušení A8B14ADP Algoritmizace a programovaní - Systém přerušení 3

Asynchronní akce hw volání procedury (ISR) Kontrolní seznam 7 Check list No.7 Asynchronní akce Systém přerušení Hardwarové volání procedury Předdefinovaná cílová adresa Vektor přerušení Tabulka vektorů přerušení Asynchronní žádost o přerušení Řadič přerušení Vstupy žádostí o přerušení Asynchronní událost Žádost o přerušení do CPU Potvrzení žádosti od CPU Asynchronous actions Interrupt system Hardware procedure call Predefined target address Interrupt vector Interrupt vector table Asynchronous interrupt request Interrupt controller Interrupt request inputs Interrupt event CPU interrupt request CPU interrupt acknowledge A8B14ADP Algoritmizace a programovaní - Systém přerušení 4

Asynchronní akce hw volání procedury (ISR). Kontrolní seznam 8 Check list No.8 Asynchronní akce - pokrač. Instrukce je nepřerušitelná Reakční doba přerušení Priorita přerušení Statická priorita přerušení Dynamická priorita přerušení Programová priorita přerušení Typy přerušení Maskovatelné přerušení Nemaskovatelné Programové (ladící) přerušení Program řízený událostmi Asynchronous actions cont'd Instruction is uninterruptable Interrupt latency Interrupt priority Static interrupt priority Dynamic interrupt priority Software interrupt priority Interrupt types Maskable interrupt Nonmaskable interrupt Trap (software interrupt) Event driven program A8B14ADP Algoritmizace a programovaní - Systém přerušení 5

Asynchronní akce hw volání procedury (ISR) Kontrolní seznam 9 Check list No.9 Asynchronní akce - pokrač. Obsluha přerušení - ISR Návratová adresa z přerušení Instrukce návratu z přerušení Asynchronní událost Pozadí programu Nejnižší hladina programu Sdílené zdroje Střadač Stavové slovo procesoru - PSW Příznakový registr Kontext programu (uložit/obnovit) Asynchronous actions cont'd Interrupt service routine - ISR Interrupt return address Interrupt return instruction Asynchronous event Background (level) Lowest program level Shared resources Accumulator Processor status word - PSW Flag register Program context (save/restore) A8B14ADP Algoritmizace a programovaní - Systém přerušení 6

Asynchronní akce hw volání procedury (ISR) A8B14ADP Algoritmizace a programovaní - Systém přerušení 7

Prostředky pro organizaci hw volání procedury (interrupt) A8B14ADP Algoritmizace a programovaní - Systém přerušení 8

Sdílené prostředky (sdílí je ISR a přerušený program) A8B14ADP Algoritmizace a programovaní - Systém přerušení 9

Žádost o obsluhu přerušení (hw volání procedury) A8B14ADP Algoritmizace a programovaní - Systém přerušení 10

Žádost o obsluhu aktivní - 1 A8B14ADP Algoritmizace a programovaní - Systém přerušení 11

Dokončení aktivní instrukce - 2 A8B14ADP Algoritmizace a programovaní - Systém přerušení 12

Uložení (Push) návratové adresy do zásobníku (Stack) - 3 A8B14ADP Algoritmizace a programovaní - Systém přerušení 13

Vyzvednutí adresy obslužného programu (ISR) - 4 A8B14ADP Algoritmizace a programovaní - Systém přerušení 14

Spuštění obslužné procedury přerušení (ISR) - 5 A8B14ADP Algoritmizace a programovaní - Systém přerušení 15

Uložení kontextu do zásobníku - 6 A8B14ADP Algoritmizace a programovaní - Systém přerušení 16

Provedení těla obslužné procedury (ISR) - 7 A8B14ADP Algoritmizace a programovaní - Systém přerušení 17

Obnovení kontextu (ze zásobníku) - 8 A8B14ADP Algoritmizace a programovaní - Systém přerušení 18

Vyzvednutí návratové adresy (ze zásobníku) - 9 A8B14ADP Algoritmizace a programovaní - Systém přerušení 19

Obnovení běhu přerušeného programu - 10 A8B14ADP Algoritmizace a programovaní - Systém přerušení 20

Princip programu řízeného událostmi - souhrn Obsluha žádosti o přerušení souhrn akcí Dokonči právě prováděnou instrukci (instrukce je nepřerušitelná) Ulož (Push) návratovou adresu do zásobníku (tj. adresu, která je právě v čítači instrukcí (PC)) Vyzvedni adresu ISR (tj. podprogramu obsluhy přerušení) z tabulky vektorů přerušení Spusť ISR Vynuluj Interrupt Request Flag (závisí na typu procesoru) Ulož kontext do zásobníku Proveď tělo ISR (vlastní obsluhu žádosti o přerušení) Obnov původní kontext (vyzvedni ho ze zásobníku) Proveď instrukci Return Ta vyzvedne Návratovou adresu ze zásobníku do čítače instrukcí (PC) Pokračuj v programu na pozadí tj. čti instrukci z adresy uložené v PC A8B14ADP Algoritmizace a programovaní - Systém přerušení 21

Event Driven Program Principle - summary Interrupt request service summary Finish current background instruction (instruction is uninterruptable) Push Return Address to stack (i.e. address in program counter) Get ISR Address from Interrupt Vector Table Start ISR routine Clear Interrupt Request Flag (depends on processor type) Save context to stack Run ISR body Restore context from stack Execute Return instruction Pop Return Address from stack (Pop it to program counter) Continue background program read next instruction from address in PC A8B14ADP Algoritmizace a programovaní - Systém přerušení 22

Typy systémů přerušení Jednohladinové neprioritní Single level - non-priority interrupt system Vícehladinové prioritní Nemaskovatelné Softwareové Trap Maskovatelné Multi level priority interrupt system Nonmaskable Trap Maskable S pevnou hw prioritou S dynamicky volitelnou prioritou Fixed priority system Flexible priority system A8B14ADP Algoritmizace a programovaní - Systém přerušení 23

Řadič přerušení princip (Interrupt Controller) Interrupt Enable Interrupt Flag Žádost o přerušeni Povolení maskovatelných žádostí A8B14ADP Algoritmizace a programovaní - Systém přerušení 24

Cyklus obsluhy přerušení (Interrupt Cycle) A8B14ADP Algoritmizace a programovaní - Systém přerušení 25

DMA cyklus (Direct Memory Access Cycle) A8B14ADP Algoritmizace a programovaní - Systém přerušení 26

DMA - princip A8B14ADP Algoritmizace a programovaní - Systém přerušení 27

DMA převzetí řízení sběrnice DMA TRANSFER CYCLE ADDRESS VALID DATA VALID BUS REQUEST BUS RELEASED DMA END CPU CONTINUES ADDR.BUS DATA BUS nread nwrite HOLD HLDA BUS MASTER 1 -CPU BUS MASTER 2 DMA CONTROLLER NOTE: nread, nwrite - SIGNAL ACTIVE IN 0 A8B14ADP Algoritmizace a programovaní - Systém přerušení 28

Programátorský model počítače A8B14ADP Algoritmizace a programovaní - Systém přerušení 29

Struktura CPU versus operandy Kontrolní seznam 10 Check list No.10 Struktura CPU versus operandy Orientovaný na zásobník ALU, PSW (Příznakový reg) zásobník Střadačově orientovaný ALU, PSW (Příznakový reg) Paměť dat Registrově orientovaný ALU, PSW (Příznakový reg) univerzální registry (v CPU) Paměťově orientovaný ALU, PSW, paměť dat CPU systems versus operands Stack oriented ALU, PSW (Flags) stack Accumulator oriented ALU, PSW (Flags), Accumulator Data memory Register oriented ALU,PSW (Flags) Universal (scratchpad) registers Memory oriented ALU, PSW (Flags), data memory A8B14ADP Algoritmizace a programovaní - Systém přerušení 30

Struktura CPU versus operandy - 1 STACK TOS ALU FLAGS STATUS STACK ORIENTED CPU A8B14ADP Algoritmizace a programovaní - Systém přerušení 31

Struktura CPU versus operandy - 2 DATA MEMORY ALU FLAGS STATUS ACCUMULATOR ACCUMULATOR ORIENTED CPU A8B14ADP Algoritmizace a programovaní - Systém přerušení 32

Struktura CPU versus operandy - 3 REGISTERS (INSIDE CPU) ALU FLAGS STATUS REGISTER ORIENTED CPU A8B14ADP Algoritmizace a programovaní - Systém přerušení 33

Struktura CPU versus operandy - 4 DATA MEMORY ALU FLAGS STATUS MEMORY ORIENTED CPU A8B14ADP Algoritmizace a programovaní - Systém přerušení 34

Oddělený prostor vstupů a výstupů A8B14ADP Algoritmizace a programovaní - Systém přerušení 35

Mapování prostoru vstupů/výstupů do paměti A8B14ADP Algoritmizace a programovaní - Systém přerušení 36

Hardwareový zásobník (v CPU) A8B14ADP Algoritmizace a programovaní - Systém přerušení 37

Adresové módy (způsoby adresování operandů) Kontrolní seznam 11 Check list No. 11 Adresové módy Paměť dat Paměť programu Přímá adresa Nepřímá adresa Ukazatel do paměti Indexové adresování Bázová adresa + index Adresování pomocí bank Přemapování paměti Přístupová banka Skrytý paměťový prostor Addressing modes Data memory Program memory Direct address Indirect address Memory pointer Indexed addressing Base address + index Memory banking Remapping Access bank Hidden memory space A8B14ADP Algoritmizace a programovaní - Systém přerušení 38

Přímá adresa (adresa součástí instrukce) A8B14ADP Algoritmizace a programovaní - Systém přerušení 39

Nepřímá adresa (adresa je v registru) A8B14ADP Algoritmizace a programovaní - Systém přerušení 40

Indexové adresování A8B14ADP Algoritmizace a programovaní - Systém přerušení 41

Dynamické přemapování a přímá adresa A8B14ADP Algoritmizace a programovaní - Systém přerušení 42

Instrukční soubor počítače rozdělení Kontrolní seznam 12 Check list No. 12 Instrukční soubor počítače Pevná řádová čárka Plovoucí řádová čárka Přesuny operandů Aritmetické operace Posuny a rotace Logické operace Bitové operace Nepodmíněné skoky Absolutní, relativní Podmíněné skoky Volání podprogramu a návrat Řídící instrukce instruction set Fixed point Floating point Move operations Arithmetic operations Shift, Rotate operations Logical operations Bit operations Goto, Branch Direct, relative Conditional Branch Call, Return Control instructions A8B14ADP Algoritmizace a programovaní - Systém přerušení 43

Paměť počítače Paměť počítače je zařízení pro uchování programu a dat Základní funkce paměti: Uložení informace do paměti zápis Vyzvednutí informace z paměti čtení Třídění pamětí různá hlediska: Způsob použití v počítači Metoda přístupu k informacím v paměti Uchování a změna informace v paměti Fyzikální princip paměti Rychlost přístupu k informaci Kapacita paměti A8B14ADP Algoritmizace a programovaní - Systém přerušení 44

Třídění pamětí počítače Způsob použití v počítači Operační paměť (Main Memory) Externí paměť Vyrovnávací paměť (cache, nebo mezi počitači) Komunikační paměť (mezi počítači) Metoda přístupu k informacím v paměťi: Libovolný (náhodný) výběr položky (adresovatelná paměť) Jednobránová, dvoubránová, vícebránová Sekvenční (postupný) výběr položky (sériová paměť) Fronta (Queue, FIFO First In First Out) Zásobník (Stack, LIFO Last In First Out) Asociativní paměť (Contents Addressable Memory) A8B14ADP Algoritmizace a programovaní - Systém přerušení 45

Třídění pamětí počítače Uchování a změna informace v paměti: Volatilní po vypnutí napájení ztrácejí informaci SRAM Statická RAM (Static Random Access Memory) DRAM Dynamická RAM SDRAM Synchronní dynamická RAM Nevolatilní po vypnutí napájení informace zůstává v paměti ROM (Read Only Memory) EPROM (Erasable ROM) EEPROM (Electrically Erasable ROM) FLASH SRAM zálohovaná baterií Magnetické disky Optické disky A8B14ADP Algoritmizace a programovaní - Systém přerušení 46

Třídění pamětí počítače Fyzikální princip paměti: Polovodičové (Elektronické) Magnetické Optické Rychlost přístupu k informaci: Rychlé pro zápis i čtení (R/W) SRAM DRAM SDRAM Rychlé pro čtení ROM EPROM EEPROM FLASH A8B14ADP Algoritmizace a programovaní - Systém přerušení 47

Cache vyrovnávací paměť Urychlení práce počítače Část informace přesunuta do menší ale rychlé paměti (cache) Přístup procesoru k této informaci rychlejší Pokud informace v cache není, nutno ji přisunout do cache z operační paměti Cache může být rozdělena na více úrovní (hladin) jedna z úrovní je přímo v procesoru, druhá může být vně procesoru (ale sestavená z rychlejší paměti než je paměť operační) Cache může být určena jen pro data nebo i pro instrukce Data cache Instruction cache Virtual-to-physical address translation cache (u počítače s virtuální pamětí, kde je paměťový prostor rozšířen z operační paměti i na disk) Data cache po zpracování dat se data uloží: Ihned zpět do operační paměti (write-through method) Do data cache (write-back method). Zpět do operační paměti se uloží později, při novém plnění data cache A8B14ADP Algoritmizace a programovaní - Systém přerušení 48

Cache Vyrovnávací paměť - jednohladinová Single Level Cache A8B14ADP Algoritmizace a programovaní - Systém přerušení 49

Cache Vyrovnávací paměť - dvouhladinová Multi Level Cache A8B14ADP Algoritmizace a programovaní - Systém přerušení 50

Virtuální paměť (Virtual Memory) - princip A8B14ADP Algoritmizace a programovaní - Systém přerušení 51

Virtuální paměť Virtuální paměť (Virtual Memory) Paměťový prostor je rozšířen na disk Adresy (logické) mohou mít hodnotu větší než odpovídá operační paměti Část instrukcí a dat spuštěného programu je odložena (Swap) na disk (ty, které nejsou právě třeba při provádění programu) Paměťová jednotka, která se přenáší mezi virtuální a fyzickou pamětí se nazývá stránka (Page) A8B14ADP Algoritmizace a programovaní - Systém přerušení 52

Algoritmizace a programování Struktura počítače KONEC České vysoké učení technické Fakulta elektrotechnická