Architektura počítače Základníbloky...
Transcript of Architektura počítače Základníbloky...
![Page 1: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/1.jpg)
Y38ÚOS Úvod do opera čních systém ů 01
České vysoké učení technické Fakulta elektrotechnická
ÚVOD DO OPERAČNÍCH SYSTÉMŮ
Ver.1.00
Architektura počítače
Základní bloky
Provádění instrukcí
2010
![Page 2: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/2.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 2
Hodnocení předmětu A0B38UOS
• CVIČENÍ• Během semestru 4 testy:
• 15 minut: (4., 6., 8. cvičení)• 60 minut: (11. cvičení)
• Ze semestru lze získat maximum 60 bodů.• Na zápočet minimum 30 bodů !
• ZKOUŠKA• Zkouškový test + krátká ústní část (maximálně 40 bodů).
• KLASIFIKACE• 90 – 100 bodů A (výborně)• 80 – 89 bodů B (velmi dobře)• 70 – 79 bodů C (dobře)• 60 – 69 bodů D (uspokojivě)• 50 – 59 bodů E (dostatečně)• < 50 bodů F (nedostatečně)Klasifikace je možná na základ ě hodnocení ze cvi čení při dosažení ≥ 30 bodů!!!• 55 – 60 bodů A (výborně) + absolvování krátké ústní zkoušky• 49 – 54 bodů B (velmi dobře) + absolvování krátké ústní zkoušky• 43 – 48 bodů C (dobře)• 37 – 42 bodů D (uspokojivě)• 30 – 36 bodů E (dostatečně)
![Page 3: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/3.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 3
Studijní materiály a informace o předmětu
• http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
• http://measure.feld.cvut.cz/node/2700
![Page 4: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/4.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 4
„Nultá“ generace 1642 - 1945
• Mechanické počítače (kalkulátory)• 1642 – Blaise Pascal – kalkulátor po výběr daní (+, -)• 1672 – Gotfried von Leibniz – mechanický počítač (+, -, *, /)• (1792-1871) – Charles Babbage – analytical engine
• První skutečný počítač• Měl čtyři části
• Store (paměť), Mill (CPU), Input section (čtečka děrných karet – z měděného plechu), Output section (děrovačka karet). Neměl operační systém.
• Kapacita paměti – 1000 slov (slovo 50 dekadických cifer)• Mill četl operandy z paměti, uměl +, -, *, -, a výsledek zapsal
zpět do paměti.• Velký pokrok – počítač byl universální, četl program a data z
děrných karet a výsledek přenesl do výstupních karet• Programoval se v jednoduchém assembleru• Programátorka – Ada Lovelace (dcera básnika Byrona)
• Počítač nikdy nepracoval uspokojivě, nepřesné mech.součásti
![Page 5: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/5.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 5
První generace (1945-55)
• HW – elektronky nebo elektromechanická relé
• Mnoho pokusů, USA, Anglie, Německo• Př.:
• Německo K. Zuse – Z3 computer (hw – relé)
• Anglie Collosus• USA W. Mauchley a J.Eckert – ENIAC (hw – elektronky)
• Počítače velmi nespolehlivé (elektronky), pomalé (relé)
• Neexistovaly programovací jazyky• Neexistoval operační systém
• Program se připravoval na propojovací desce (kabely), počítač si programátor vyhradil pro sebe vložil propojovací desku a zkoušel program.
• Počítač se použival pro numerické výpočty
• Okolo roku 1950 – začátek používání děrných štítků (malé vylepšení)
![Page 6: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/6.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 6
Druhá generace (1955-65)
• HW – Tranzistory, OS – Batch Systems, Mainframe
• Vynález tranzistoru (1947) radikálně změnil situaci• Počítače se staly dostatečně spolehlivé, daly se použít pro komerční
výpočty• Mohly být vyráběny a prodány zákazníkům
• Byly velmi drahé (miliony dolarů)
• Počítače si mohly dovolit pouze velké a bohaté podniky• Poprvé došlo k jasnému oddělení činnosti navrháře počítače, výrobce,
operátora, programátora a personálu údržby
• Tyto počítače se nazývaly „Mainframes“
• Zabíraly celé klimatizované místnosti• CPU podstatně rychlejší než I/O operace (štítky, pásky), snaha využít
výkon počítače efektivně – vstupní a výstupní operace na levnějších, ale pomalejších počítačích, výpočet pak na hlavnim stroji – dávkovézpracování (Batch processing)
![Page 7: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/7.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 7
Druhá generace (1955-65)
• HW – Tranzistory, OS – Batch Systems
• Dávkové zpracování (Batch Processing)
IBM Computers(Mainframes)
Slow SlowFast, Large Main Memory
[1] Tanenbaum, A: Modern Operating Systems. Prentice Hall, New Jersey, 2008
[1]
![Page 8: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/8.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 8
Výpočetní dávka na děrných štítcích
• Dávkové zpracování (Batch Processing), Job
JAN NOVAKJAN NOVAKJAN NOVAKJAN NOVAK
První štítek dávky
Pokyn k natažení překladače
Zdrojový kód programu
Data programu
Koncový štítek dávky
![Page 9: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/9.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 9
Postup zpracování programu
• Počítače (Mainframes) drahé – miliony dolarů
• Zabíraly celé místnosti (klimatizace)• Postup zpracování programu:
• Zapsat program na papír
• Přenést na děrné štítky (děrovací psací stroj) – sestavit dávku (Batch)• Přinést dávku obsluze počítače
• Přenést informace z děrných štítků na magnetickou pástku
• Přenést magnetickou pásku na hlavní počítač
• Spustit výpočet (i více dávek najednou)
• Výsledek se zapíše na jinou magnetickou pásku
• Přenést pásku na tiskový počítač
• Vytisknou buď výsledek, častěji chybové hlášení (syntax error)
• Vyzvedout tiskovou sestavu u obsluhy
• Prostudovat tiskovou sestavu• Upravit program a celý postup opakovat
![Page 10: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/10.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 10
Třetí generace 1965-80
• HW – integrované obvody (SSI - malá integrace)
• OS – multiprogramming, spooling, timesharing• Řada počítačů IBM360 – jsou kompatibilní, liší se rychlostí a velikostí paměti
• Operační systém OS360 shodný pro celou řadu
• Nový princip řízení výpočtu - Multiprogramming• Umožnil efektivní využití CPU (rychlé) i když I/O operace jsou pomalé
• V hlavní paměti je současně několik úloh (Jobs), když daná úloha čekéna ukončení I/O operace, CPU se přidělí další úloze (multiprogrammig)
• Současné (paralelní) čtení programu z děrných štítků a výpočet – Spooling(Simultaneous Peripheral Operation On Line). Odpadá počítač pro pořizovánídat. Nová úloha (Job) mohla být operačním systémem spuštěna ihned po dokončení předchozí.
• Interaktivní sdílení času - Timesharing – k počítači připojeno více (mnoho) terminálů a uživatel mohl s počitačem komunikovat interaktivně. Čas CPU byl přidělován jednotlivým uživatelům tak často, aby vznikl dojem, že každý uživatel má počítač ihned k dispozici.
![Page 11: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/11.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 11
Některé OS využívající Timesharing
• CTSS (Compatible Time Sharing System) – 1962 M.I.T
• MULTICS (Multiplexed Information and Computing Service) – Bell Labs, GE
• Vznik trhu minipočítačů (Minicomputers) – 1961 – DEC (Digital EquipmentCorporation) PDP-1, PDP-7, PDP-11 – řádově levnější než „Mainframes“, minipočítač si mohly dovolit university i menší firmy.
• Jeden z autorů MULTICS tento OS upravil pro PDP-7 – vznik OS UNIX• Významné verse UNIXu – System-V (AT&T), BSD (Berkeley Software
Distribution)• IEEE – vytvořila normu (Standard) pro UNIX → POSIX
• MINIX – malý klon UNIXu (1987) (Tannenbaum)
• Linux (upravený MINIX) (Linus Torvalds)
![Page 12: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/12.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 12
Čtvrtá generace 1980-2010
• HW – mikroprocesory (integrované obvody LSI, VLSI – velká integrace)
• OS CP/M, MS-DOS, Windows, Apple Macintosh• Vznik osobních počítačů a později sítových OS
• 1971 Intel 4004
• 1974 Intel 8080, Motorola 6800, Zilog Z80 (1975)• 1977 CP/M – Control Program for Microcomputers (Digital Research) –
secondary storage – Floppy disk• 1978 Intel 8088 (16 bit machine)
• 1980 IBM PC (Personal Computer)
• 1980 MS-DOS (MicroSoft Disk Operating System (na HDD)• 1983 Intel 80286
• Apple Macintosh OS a GUI (Graphical User Interface)
• 1985-1995 Microsoft Windows – jen grafická nadstavba nad MS-DOS• 1985 Windows 95 (16 bit system)
• 1988 Windows 98 (16 bit system)
![Page 13: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/13.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 13
Čtvrtá generace 1980-2010
• 1999 – Windows NT 4.0 (New Technology)(32 bit) – již bez MS-DOS
• Windows NT přejmenovány na Windows 2000• 2001 Windows XP (vylepšené NT)
• 2007 Windows Vista
• 2009 Windows 7• Paralelně s Windows se šíří používání různých verzí UNIXu – Linux
• Včetně několika versí GUI pro UNIX
• X Windows System (X11)• Gnome
• KDE
• Rychlé rozšiřování síťových a distribuovaných OS• Oddělená kapitola – Operační systémy reálného času (Real Time Operating
Systems – RTOS) – na PC i v Embedded (vestavných) aplikacích počítačů.• Hard RTOS, Soft RTOS.
![Page 14: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/14.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 14
Operační systém (Operating System)
• Operační systém je software který [1]:• pro uživatelské programy vytváří lepší, jednodušší, přehlednější základnu
pro efektivní využití počítače,• spravuje všechny prostředky (resources) počítače.
• Prostředky (resources) počítače:• Procesory• Operační paměť (Main Memory)• Disky• Tiskárny• Klávesnice• Myš• Síťové adaptéry• … různá další vstupní a výstupní zařízení (Devices)
[1] Tanenbaum, A: Modern Operating Systems. Prentice Hall, New Jersey, 2008
![Page 15: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/15.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 15
Komponenty počítačového systému
![Page 16: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/16.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 16
Komponenty operačního systému
![Page 17: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/17.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 17
Struktura počítače
Kontrolní seznam 1
Struktura počítače
• Počítač
• Procesor• Operační paměť
• Periferní obvody
• ALU – aritmetická a logická jedn.• Registr (paměťové místo)
• Řízení procesoru - Řadič
• Vstupní kanály• Výstupní kanály
• Společná sběrnice
• Bit• Byte (slabika)
Check list No.1
Computer structure
• Computer
• Processor, CPU• Main Memory
• Peripherals
• ALU – Arithmetic Logic Unit• Register
• Processor control - Controller
• Input (Input Channels)• Output (Output Channels)
• Bus (Common Bus)
• Bit• Byte
![Page 18: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/18.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 18
Strukrura počítače
Hlavní komponentypočítače
Procesor
Výpočetníčást
Mezipaměťvýsledků
ŘízeníŘadič
(Controller)
Paměťprogramu
a dat
Vstupnía výstupní
zařízení
Komunikace s okolním
světem
![Page 19: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/19.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 19
Propojení bloků počítače – Bus (společná sběrnice)
![Page 20: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/20.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 20
Paměti počítače
CPU
DataMemory
I/OChannels
Input
Output
CommonBus
Clock
BUS MASTER
XTAL
ProgramMemory
BIOS
OperatingSystem
ApplicationProgram
MAINMEMORY
PROGRAMINSTRUCTIONS
PROGRAMVARIABLES
&PROGRAM
STACKSEQUENTIAL PROGRAM PROCESSING(ONE INSTRUCTION AT A TIME)
COMMON DATA PATH (BIDIRECTIONAL)
CPU - SYNCHRONOUS FINITE STATE MACHINE (FSA, FSM)
EXTERNAL MEMORY
Corsair
CD/DVD
HDD
FLASH
![Page 21: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/21.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 21
Organizace operační paměti (Main Memory)
• Operační paměť (Main Memory) je rozdělena na buňky – paměťová místa, kterým jsou přiřazena nezáporná čísla nazývaná adresy
• • Obsah paměťového místa je slovo• slovo (word) – velikost závisí na procesoru (např. 16b, 24b, 32b, 64b),
• b – značí bit (binary digit)
• B – značí byte (slabika), 8b = 1B, byte je uspořádaná osmice bitů, obvykle 2 nebo i více byteů tvoří slovo, např. u procesorů Intel řady
x86 – 1 slovo = 2B = 16b.
![Page 22: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/22.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 22
Procesor a operační paměť - Výkon vs. roky
Výkon
100.000 x
40 let
![Page 23: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/23.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 23
Paměťová hierarchie
Ryc
hlo
st p
říst
up
u
Velikost
Magnetická páska
Magnetický disk (HDD)CD-RW
DVD-RW
Operační paměť (DRAM)
Cache
Registry na CPUC
en
a
![Page 24: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/24.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 24
Instrukční cyklus
Kontrolní seznam 2
Instrukční cyklus
• Čtení instrukce
• Vykonání instrukce• Dekódování instrukce
• Čtení operandu
• Zpracování operandů
• Zápis výsledku
• Řídicí sběrnice (CB)
• Datová sběrnice (DB)• Adresová sběrnice (AB)
• Sběrnicový cyklus
• Směr přenosu informace
Check list No.2
Instruction cycle
• Operational code (Opcode) fetch
• Instruction execution• Instruction decode
• Operand read
• Operand processing• Result write
• Control bus (CB)
• Data bus (DB)• Address bus
• Bus cycle
• Information transfer direction
![Page 25: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/25.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 25
Vykonání instrukce
![Page 26: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/26.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 26
Rozdělení společné sběrnice
![Page 27: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/27.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 27
Kde číst následující instrukci
1) Další instrukci čti vždy z adresy uložené v PC
2) Adresa v PC se mění automaticky, po čtení instrukce ukazuje na dalšíinstrukci
3) Adresa v PC se dá změnit vykonáním instrukce skoku, cílováadresa je součástí instrukce
Čítač instrukcí
![Page 28: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/28.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 28
Větvení programu (Jump, Branch)
Realizace větvení programu
![Page 29: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/29.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 29
Dekompozice problému na dílčí části
![Page 30: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/30.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 30
Zde příklad v Javě
![Page 31: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/31.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 31
Požadavky pro volání procedury
Návratová adresa
![Page 32: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/32.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 32
Princip volání procedury (Procedure Call)
Zásobník (návratových
adres)
Ukazatel zásobníku
![Page 33: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/33.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 33
Synchronní akce – volání procedury
Kontrolní seznam 3
Synchronní akce
• Čítač instrukcí - PC
• Ukazatel do paměti programu• Postupné čtení
• Automatická inkrementace
• Vnucená adresa• Zásobník
• Ukazatel zásobníku
• Ukazatel na vrchol zásobníku• Vrchol zásobníku
• Vlož do zásobníku - PUSH
• Vyzvedni ze zásobníku - POP
Check list No.3
Synchronous actions
• Program Counter PC
• Pointer to program memory• Sequential read
• Auto-increment
• Forced address• Stack
• Stack Pointer
• Pointer to stack top• TOS – top of stack
• PUSH
• POP
![Page 34: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/34.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 34
Synchronní akce – volání procedury - pokrač.
Kontrolní seznam 4
Synchronní akce - pokrač.
• Začátek programu
• Hlavní smyčka• Volání procedury
• Návratová adresa
• Začátek procedury• Tělo procedury
• Bod návratu (return)
• Vnořené volání• Návěští (cílová adresa skoku)
• Skok (bez návratové adresy)
• Hloubka zásobníku
Check list No.4
Synchronous actions – cont'd
• Program start point
• Main loop• Procedure call
• Return address
• Procedure start• Procedure body
• Return
• Nested calls• Label (jump target address)
• Jump (no return address)
• Stack depth
![Page 35: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/35.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 35
Prostředky pro organizaci volání procedury
![Page 36: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/36.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 36
Sdílené prostředky (sdílí je procedury)
![Page 37: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/37.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 37
Princip volání procedury (synchronní)
• Volání procedury - souhrn akcí• Volání procedury je vyvolané programem (synchronní) ne vnější událostí
(vnější událost – viz. přerušení)• Stejným mechanismem se řídí i vnořené volání (procedura volá proceduru)• Další instrukce se vždy čte z adresy právě uložené v čítači instrukcí (PC)
• Čti instrukci “Call“• Ulož “návratovou adresu“ (tj. obsah čítače instrukcí) do zásobníku• Vlož do čítače instrukcí počáteční adresu procedury• Ulož kontext do zásobníku• Proveď tělo procedury• Vyzvedni kontext• Proveď instrukci “Return“• Ta vyzvedne “Návratovou adresu“ ze zásobníku do čítače instrukcí (PC)• Pokračuj v programu za místem volání “Call“ na pozadí – tj. čti instrukci
z adresy uložené v PC
![Page 38: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/38.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 38
Před čtením “CALL“
1
234
567
![Page 39: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/39.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 39
Po čtení “CALL“
1
234
567
1
![Page 40: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/40.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 40
Během provádění “CALL“
1
234
567
2
![Page 41: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/41.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 41
Po provedení “CALL“
1
234
567
3
![Page 42: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/42.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 42
Před čtením “RETURN“
1
234
567
4
![Page 43: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/43.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 43
Po čtení “RETURN“
1
234
567
5
![Page 44: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/44.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 44
Po čtení “RETURN“
1
234
567
6
7
![Page 45: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/45.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 45
Princip volání procedury (synchronní) - souhrn
• Volání procedury - souhrn akcí• Volání procedury je vyvolané programem (synchronní) ne vnější událostí
(vnější událost – viz. přerušení)• Stejným mechanismem se řídí i vnořené volání (procedura volá proceduru)• Další instrukce se vždy čte z adresy právě uložené v čítači instrukcí (PC)
• Čti instrukci “Call“• Ulož “návratovou adresu“ (tj. obsah čítače instrukcí) do zásobníku• Vlož do čítače instrukcí počáteční adresu procedury• Ulož kontext do zásobníku• Proveď tělo procedury• Vyzvedni kontext• Proveď instrukci “Return“• Ta vyzvedne “Návratovou adresu“ ze zásobníku do čítače instrukcí (PC)• Pokračuj v programu za místem volání “Call“ na pozadí – tj. čti instrukci
z adresy uložené v PC
![Page 46: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/46.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 46
Asynchronní akce – hardwareové (hw) volání procedury
Řadič přerušení
Žádosti o přerušení
![Page 47: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/47.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 47
Asynchronní akce – hw volání procedury (ISR)
Kontrolní seznam 5
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
Check list No.5
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
![Page 48: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/48.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 48
Asynchronní akce – hw volání procedury (ISR).
Kontrolní seznam 6
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
Check list No.6
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
![Page 49: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/49.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 49
Asynchronní akce – hw volání procedury (ISR)
Kontrolní seznam 7
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)
Check list No.7
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)
![Page 50: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/50.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 50
Asynchronní akce – hw volání procedury (ISR)
![Page 51: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/51.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 51
Prostředky pro organizaci hw volání procedury (interrupt)
![Page 52: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/52.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 52
Sdílené prostředky (sdílí je ISR a přerušený program)
![Page 53: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/53.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 53
Žádost o obsluhu přerušení (hw volání procedury)
![Page 54: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/54.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 54
Žádost o obsluhu aktivní - 1
![Page 55: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/55.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 55
Dokončení aktivní instrukce - 2
![Page 56: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/56.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 56
Uložení (Push) návratové adresy do zásobníku (Stack) - 3
![Page 57: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/57.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 57
Vyzvednutí adresy obslužného programu (ISR) - 4
![Page 58: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/58.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 58
Spuštění obslužné procedury přerušení (ISR) - 5
![Page 59: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/59.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 59
Uložení kontextu do zásobníku - 6
![Page 60: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/60.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 60
Provedení těla obslužné procedury (ISR) - 7
![Page 61: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/61.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 61
Obnovení kontextu (ze zásobníku) - 8
![Page 62: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/62.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 62
Vyzvednutí návratové adresy (ze zásobníku) - 9
![Page 63: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/63.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 63
Obnovení běhu přerušeného programu - 10
![Page 64: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/64.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 64
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
![Page 65: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/65.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 65
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
![Page 66: Architektura počítače Základníbloky Prováděníinstrukcíaldebaran.feld.cvut.cz/vyuka/uvod_do_os/38UOS-2010-01z... · 2010. 9. 29. · Y38ÚOS Úvod do opera čních systémů01](https://reader031.fdocuments.net/reader031/viewer/2022012009/613006ff1ecc51586943d496/html5/thumbnails/66.jpg)
Y38ÚOS Úvod do opera čních systém ů 01 - Architektura po čítače 66
České vysoké učení technické Fakulta elektrotechnická
Architektura počítačeZákladní bloky
Provádění instrukcí
KONEC
ÚVOD DO OPERAČNÍCH SYSTÉMŮ