2 Hardware a operační systémy

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

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

Princip funkce počítače

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

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

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

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

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

PROCESOR. Typy procesorů

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

Pohled do nitra mikroprocesoru Josef Horálek

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

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

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

Metody připojování periferií

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

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

Informační a komunikační technologie

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

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

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

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

Komunikace mikroprocesoru s okolím Josef Horálek

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:

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

Vstupně - výstupní moduly

Identifikátor materiálu: ICT-1-08

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

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

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

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

G R A F I C K É K A R T Y

Činnost počítače po zapnutí

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

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

Architektura počítače

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

Architektury počítačů a procesorů

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Sběrnice. Parametry sběrnic: a. Přenosová rychlost - určuje max. počet bitů přenesených za 1 sekundu [b/s]

Z čeho se sběrnice skládá?

Základní pojmy informačních technologií

Sběrnicová struktura PC Interní počítačové paměti PC

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

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

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

Komunikace procesoru s okolím

RISC a CISC architektura

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.

Procesor z pohledu programátora

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

Algoritmizace a programování

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

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

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

Paměti Josef Horálek

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Roman Výtisk, VYT027

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

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

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

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

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

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

Architektura procesoru ARM

Pokročilé architektury počítačů

Osobní počítač. Zpracoval: ict Aktualizace:

Cíl přednášky: Obsah přednášky:

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

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

Hardware. Příklad převodu čísla: =1*32+0*16+0*8+1*4+0*2+1*1= Převod z dvojkové na desítkovou Sčítání ve dvojkové soustavě

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

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

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

AGP - Accelerated Graphics Port

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

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

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

Architektura Intel Atom

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

Vnější paměti. Vnější paměti. Dělení podle materiálu a fyzikálních principů

Sbě b r ě n r i n ce

HW počítače co se nalézá uvnitř počítačové skříně

Systém adresace paměti

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

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

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

Vstupně výstupní moduly. 13.přednáška

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

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

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

Úvod do architektur personálních počítačů

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

Cache paměti (1) Cache paměť: V dnešních počítačích se běžně používají dva, popř. tři druhy cache pamětí:

Management procesu I Mgr. Josef Horálek

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

Transkript:

Operační systémy 2 Hardware a operační systémy Obsah: 2.1 Procesor CPU, 2.1.1 Zpracování instrukcí, 2.1.2 Zvyšování výkonu CPU, 2.1.3 Režimy CPU, 2.2 Paměť, 2.2.1 Cache, 2.3 Vstupně výstupní zařízení, 2.3.1 Komunikace se V/V zařízeními, 2.3.1.1 Přístup pouze pomocí instrukcí CPU, 2.3.1.2 Přístup pomocí instrukcí CPU s přerušovacím signálem, 2.3.1.3 Přímý přístup do paměti DMA (Direct Memory Access), 2.4 Přerušení (IRQ Interrupt ReQuest), 2.5 Sběrnice (bus), 2.6 Shrnutí požadavky OS na HW, 2.7 Opakování. 2.1 Procesor CPU Hlavní procesor (CPU Central Processing Unit) zpracovává instrukce programu, provádí tedy program. Procesory lze rozdělit dle rozsahu instrukční sady na: RISC Reduced Instruction Set Computer a CISC Complete Instruction Set Computer. Hlavní část procesoru, která vykonává aritmetické a logické operace, se označuje jako ALU (Arithmetic Logic Unit) aritmeticko logické jednotka. Aritmetické operace jsou v ní obvykle pouze celočíselné a pro výpočty s desetinnými čísly je třeba numerické jednotky FPU (Floating Point Unit) numerický koprocesor. FPU pracuje s čísly reprezentovanými jako desetinná čísla. Není li součástí hardware FPU, je třeba naprogramovat požadované operace pomocí ALU, což je náročnější. Na architektuře IA 32 je FPU trvale součástí procesoru od verze procesoru 486. Procesor obsahuje pro práci s daty i adresami registry. Jsou to paměťová místa o velikosti obvykle jednoho slova (word), kde počet bitů ve slově je dán architekturou 32bitový procesor pracuje se slovy o velikosti 32 bitů, má tedy registry také 32bitové. Nejdůležitější registry: program counter (instruction pointer) obsahuje adresu následující instrukce, instruction register interní registr (nepřístupný programátorovi) obsahující právě prováděnou instrukci, stack pointer obsahuje adresu vrcholu zásobníku. PSW (Program Status Word, případně flags) stavový registr obsahuje příznaky, které informují o výsledku předchozí instrukce; jednotlivé příznaky: C carry příznak o přenosu nejvyššího bitu při počítání s čísly skládajícími se z více slov, N negative výsledek předchozí operace je záporný, Z zero výsledek předchozí operace je nulový, V overflow výsledek předchozí znaménkové operace se nevejde do registru (při použití dvojkového doplňku reprezentuje výsledek záporné číslo). fei-learn.upceucebny.cz/mod/page/view.php?id=5269 1/5

Další registry jsou obecné (libovolné použití), bázové adresní (obsahují počáteční adresy), ofsetové (obsahují relativní adresy), privátní (používá je interně CPU) aj. 2.1.1 Zpracování instrukcí Zpracování instrukcí má obvykle tyto fáze: 1. fetch načtení instrukce, 2. decode dekódování instrukce (určení činnosti), 3. execute provedení instrukce, 4. write zápis výsledku. Provedení instrukce v CPU 2.1.2 Zvyšování výkonu CPU Pro zvýšení výkonu CPU se používají následující techniky: spekulativní provádění instrukcí některé instrukce jsou prováděny mimo pořadí (je li to pro CPU výhodnější a nenaruší li to výpočet), použití pipeline paralelní zpracování instrukcí na základě rozdělení zpracování instrukce na nezávislé kroky, díky čemuž lze zahájit zpracovávání jedné instrukce ještě před dokončením předchozí viz obrázek, paralelizace instrukcí takové procesory se označují jako superskalární CPU, jsou schopné zpracovávat více instrukcí současně (mají duplicitní součásti), více jader duplicitní CPU v jednom pouzdře, v podstatě se jedná o víceprocesorový systém. Riscová pipeline Použití více fází pipeline: Jednotlivé fáze zpracování instrukce jsou na sobě nezávislé a využívají jinou část CPU. Díky tomu lze během další fáze zpracování jedné instrukce provádět předchozí fázi zpracování další instrukce. Tím se dosáhne vyššího počtu instrukcí provedených za jednotku času. Jednotlivé fáze riscového procesoru jsou následující: 1. fetch načtení instrukce z adresy v registru program counter do instrukčního registru, 2. decode dekódování instrukce (zjištění, co má instrukce dělat), 3. execute provedení instrukce (vykonání operace, obvykle v ALU), 4. memory access čtení z paměti, 5. write back zápis výsledků do paměti anebo registrů. fei-learn.upceucebny.cz/mod/page/view.php?id=5269 2/5

2.1.3 Režimy CPU Obvykle jsou k dispozici alespoň dva režimy práce CPU: režim user není povoleno vše, některé instrukce jsou zakázané, některé mají omezené operandy, zápis do některých registrů je omezen, režim kernel privilegovaný režim, všechny instrukce jsou povoleny. Architektura IA 32 (x86) má čtyři režimy: ring 0 ring 3, kde ring 0 je privilegovaný režim a ring 3 je uživatelský režim. S nástupem virtualizace procesory podporující hardwarovou virtualizaci technologie Vanderpool (VT) / Pacifica (AMD V) zavádějí novou úroveň, kterou využívá hypervizor, úroveň ring 1. Instrukce TRAP (nebo její ekvivalent) provádí přepnutí z režimu user do režimu kernel. Jedná se o skok na předem definovanou adresu v jádře OS. Využívá se pro systémová volání či ošetření výjimek a chybových stavů. 2.2 Paměť Pro běh programů i pro ukládání dat je potřeba paměť. Pokud by výroba rychlé paměti byla levná, byla by paměť v počítačích nejspíše jen dvojí pro běh a pro trvalé ukládání. Nicméně výroba velmi rychlé paměti je drahá, takže počítače disponují různými druhy různě rychlých pamětí. Nejrychlejší paměti pro běh procesů a jejich data jsou registry procesoru, dále pak cache na procesoru (může být různých úrovní dle rychlosti) a operační paměť. Pro trvalé ukládání dat pak slouží disky s pamětí flash či SSD, magnetické pevné disky, páskové jednotky a optické jednotky. Paměť dále můžeme dělit na RAM (Random Access Memory) a ROM (Read Only Memory). Paměť pouze pro čtení si prošla vývojem od čistě nepřepisovatelné verze čipů (ROM) přes čipy s možností jednoho naprogramování (PROM), dále pak čipy vymazatelné ultrafialovým zářením (EPROM) a nebo elektronicky (EEPROM). Operační systém pro zajištění izolace procesů potřebuje, aby HW podporoval ochranu operační paměti. Je třeba izolovat paměť procesů navzájem a také izolovat jádro OS od procesů. Další důležitou vlastností je relokace. To je vlastnost, která dovolí zavést proces od libovolné adresy nebo jej za běhu přemístit na jiné (např. po odložení procesu na swap se při vrácení do paměti nahraje na jiné adresy). Z toho důvodu se pak rozlišuje mezi adresou logickou (virtuální) a fyzickou (skutečnou). Proces a procesor (CPU) pracují s logickými adresami a tím je umožněna i relokace. Na fyzické adresy jsou ty logické převáděny jednotkou MMU (Memory Management Unit), která může být součástí čipu CPU. 2.2.1 Cache Protože výroba velmi rychlé paměti je drahá, nepoužívá se pro operační paměť ta nejlepší technologie, ale jiná, přijatelně rychlá a cenově dostupnější. Díky tomu je však procesor, který pracuje několikrát rychleji než paměť, zdržován při každém přístupu do operační paměti. Proto se vkládá mezi operační paměť a procesor vyrovnávací mezipaměť cache, která je rychlostí stejná jako procesor (nebo je mu rychlostí mnohem bližší). Do této mezipaměti se ukládá část aktuálně prováděného kódu procesu a část jeho dat. Procesor pak na operační paměť nemusí čekat. Přitom se využívá toho, že proces má tendenci přistupovat ke stejné části paměti jako v bezprostředně předcházejícím čase (např. při vykonávání cyklu), což se označuje jako princip lokality odkazů. Díky tomuto principu může paměť cache fungovat efektivně i při malých velikostech a činitel úspěšnosti (Hit Ratio), kterým se určuje efektivita paměti cache, se pak bude blížit jedné i při malé kapacitě paměti. Činitel úspěšnosti (HR) určuje počet úspěšných přístupů do paměti cache (data v ní byla nalezena a nemuselo se přistupovat do pomalejší operační paměti) v poměru ke všem přístupům do paměti. Střední přístupová doba (T S ) pak označuje střední dobu potřebnou pro získání dat z paměti. Vypočítat lze následovně: T S = T C + (1 HR) T OP, kde T C je přístupová doba do paměti cache a T OP je přístupová doba do operační paměti, přičemž T C << T OP. Bude li HR blízko jedné, střední přístupová doba se bude blížit přístupové době do cache. 2.3 Vstupně výstupní zařízení Aby byl počítač k něčemu užitečný, měl by mít připojená nějaká vstupní a výstupní zařízení. Před zařízení bývá připojen řadič (řídicí jednotka, controller), který řídí komunikaci mezi procesorem, operační pamětí a daným zařízením. OS má pak zajistit zjednodušení práce při komunikaci s V/V zařízeními, což zajišťují ovladače (device drivers). fei-learn.upceucebny.cz/mod/page/view.php?id=5269 3/5

Způsob aktivace ovladačů v OS může být následující: zařazení ovladače přímo do jádra OS, načtení ovladačů do paměti při spuštění systému nebo načtení ovladačů za běhu systému. V moderních OS je potřeba řešit připojování zařízení za běhu (USB, IEEE 1394), takže je třeba mít podporu pro dynamické zavádění ovladačů. 2.3.1 Komunikace se V/V zařízeními Pro komunikaci (zadávání příkazů a přenosy dat) jsou na zařízení registry, do kterých se příkazy či data zapisují nebo ze kterých se čte. Tyto registry označujeme pojmem V/V porty. Každé zařízení si alokuje nějakou část adres těchto portů. Mnohá zařízení pak podporují také přenos bez účasti procesoru (DMA), k čemuž je potřeba, aby si zařízení alokovalo příslušný kanál DMA a přerušovací signál. Rozlišujeme tři základní způsoby komunikace s V/V zařízeními: přístup pouze pomocí instrukcí CPU, přístup pomocí instrukcí CPU s přerušovacím signálem a DMA (Direct Memory Access). 2.3.1.1 Přístup pouze pomocí instrukcí CPU Procesor má instrukce pro posílání dat na V/V porty (a na čtení). Vzhledem k tomu, že procesor je mnohonásobně rychlejší než V/V zařízení, je potřeba po každé takové operaci čekat, než je možné pokračovat v komunikaci. Při přenosu bloku dat je cyklus následující: 1. Zápis do (čtení z) registru V/V zařízení, 2. kontrola stavu zápisu (čtení) neproduktivní čekání, 3. pokračování krokem 1. Během kroku 2 procesor v cyklu kontroluje stav dokončení operace, aby mohl zahájit operaci následující. Tohle čekání tedy neproduktivně využívá procesorový čas. Proto je tenhle způsob komunikace s V/V zařízením neefektivní. 2.3.1.2 Přístup pomocí instrukcí CPU s přerušovacím signálem Pokud to hardware umožňuje, lze místo čekání na dokončení operace v cyklu využít přerušovacího signálu (IRQ Interrupt ReQuest). Během provádění V/V operace může procesor provádět jinou činnost, která bude po dokončení operace automaticky přerušena, aby se mohlo pokračovat v přenosu dat. Cyklus přenosu bloku dat pak vypadá následovně: 1. Zápis do (čtení z) registru V/V zařízení, 2. provádění jiných operací produktivní využití CPU, 3. po dokončení přenosu generuje V/V zařízení přerušovací signál, který přeruší operace v kroku 2, lze tedy pokračovat předáváním dalších dat krok 1. Během provádění V/V operace může procesor provádět jinou činnost, jeho čas je využit efektivněji. Nicméně, je třeba si uvědomit, že při jednom zápise (čtení) se předávají jen data o velikosti jednoho slova (word), což je rozsah registru. Na 32bitové architektuře lze tedy obvykle naráz přenést obvykle pouze 32 bitů, tedy čtyři bajty. Při přenosu většího bloku dat pak po každém přenosu slova procesor přepíná kontext mezi přenosem a další činností, což také stojí nějakou režii. I přes vylepšení oproti předchozímu způsobu tedy při přenášení většího bloku dat není ani tenhle způsob komunikace příliš efektivní. 2.3.1.3 Přímý přístup do paměti DMA (Direct Memory Access) Pří použití přímého přístupu zařízení do operační paměti je postup následující: 1. Zápis adresy dat, množství dat a příkazu do registru V/V zařízení, 2. provádění jiných operací produktivní využití CPU, 3. po dokončení přenosu stanoveného množství dat generuje V/V zařízení přerušovací signál, který přeruší operace v kroku 2, čímž je přenos dokončen. Tímto způsobem se přenáší celý blok dat bez účasti CPU. Připojené V/V zařízení má alokovaný kanál DMA, pomocí kterého přistupuje k datům přímo do operační paměti. Procesor je použit pouze na začátku přenosu. 2.4 Přerušení (IRQ Interrupt ReQuest) fei-learn.upceucebny.cz/mod/page/view.php?id=5269 4/5

Systém přerušení umožňuje plánovači OS ošetřit paralelně prováděné operace různých komponent počítače, například dokončení V/V operace, jak bylo popsáno výše, ale také lze využít pro ošetření chybových stavů. Důležitou součástí HW je časovač, což je programovatelný čip, který generuje v daných intervalech přerušovací signál. To umožňuje plánovači OS získat v těchto intervalech kontrolu nad prováděnými procesy, umožňuje preempci (odebrání procesoru běžícímu procesu) a naplánování jiného. Koncepce přerušení se využívá také pro ošetření různých výjimek na HW, například přístup do nepřidělené oblasti paměti procesu, provedení neplatné instrukce, ale také pro ošetření chyb HW (chyba parity paměti, výpadek napájení). Některé procesory mají speciální instrukci, která umožňuje provést přerušení i softwarově; ta pak může nahrazovat instrukci TRAP pro skok do jádra OS. 2.5 Sběrnice (bus) Sběrnice je propojení různých částí počítače mezi sebou, které umožňuje komunikaci a přesun dat. Nejrychlejší sběrnicí je sběrnice CPU, po ní se data mohou přenášet stejnou rychlostí jakou pracuje CPU; bývá součástí čipu CPU a je na ni napojena obvykle pouze cache první úrovně. Další sběrnicí je systémová FSB (Front Side Bus); na ni je napojena operační paměť a pak přes můstek další pomalejší sběrnice pro připojení interních zásuvných karet a externích zařízení. Pro připojování karet uvnitř osobních počítačů slouží (sloužily) sběrnice ISA (Industry Standard Architecture) a PCI (Peripheral Component Interconnect), pro připojení grafického adaptéru pak AGP (Accelerated Graphics Port), pro připojení disků IDE (Integrated Drive Electronics) a jeho vylepšení jako EIDE (Enhanced IDE), ATAPI (Advanced Technology Attachment Packet Interface). Pro připojení interních i externích disků i jiných periferií (např. skenerů) slouží sběrnice SCSI (Small Computer System Interface), dále pak standard IEEE 1394 označovaný obvykle jako FireWire, ale také i.link nebo HPSB (High Performance Serial Bus). Další je pak USB (Universal Serial Bus). 2.6 Shrnutí požadavky OS na HW Aby bylo možné implementovat operační systém se všemi vyžadovanými vlastnostmi, je třeba aby hardware počítače zahrnoval: přerušovací systém umožní efektivní využití CPU při asynchronních přenosech dat (např. DMA), programovatelný časovač pravidelně generující přerušení, které umožní preempci procesů, CPU s podporou alespoň dvou úrovní oprávnění režimy kernel a user, což umožní v neprivilegovaném režimu ošetřit neoprávněné přístupy a operace (skokem do jádra TRAP), CPU s podporou ochrany a virtualizace paměti (logické adresování) umožní využít sekundární paměť pro odložení nepotřebných procesů z operační paměti, umožní relokaci procesů. 2.7 Opakování 1. Jmenujte nejdůležitější registry procesoru. 2. Popište, jak CPU zpracovává instrukce. 3. Uveďte, jak dosahuje CPU vyššího výkonu. 4. Uveďte, proč je důležité mít na procesoru alespoň dva různé režimy. 5. Popište paměť typu cache a způsob výpočtu střední přístupové doby do paměti s využitím cache. 6. Uveďte a podrobně popište způsoby možné komunikace se vstupně výstupními zařízeními. 7. Definujte pojem preempce v souvislosti s procesy a uveďte HW části systému, které využívá. 8. Jmenujte požadavky, které klademe na HW, aby bylo možné nad ním implementovat moderní OS. Naposledy změněno: Pátek, 4. říjen 2013, 17.35 fei-learn.upceucebny.cz/mod/page/view.php?id=5269 5/5