Počítačová technika ing. Zdeněk Prášil
OAMB
2
Poděkování: Děkuji ing.Karlu Šulcovi a Miroslavu Mildovi za podnětné připomínky k obsahu a formě těchto skript a své ženě za trpělivost, se kterou snášela, že jsem se půl roku věnoval více práci na těchto skriptech než jí. ing. Zdeněk Prášil, duben 1997
2
3-
1 Úvod Tato skripta byla napsána pro potřeby Vyšší odborné školy ekonomické a obchodní akademie v Mladé Boleslavi. Látka je obsahem přednášek v prvním ročníku VOŠ. Vybrané partie je možno použít i v prvním pololetí prvního ročníku Obchodní akademie, kde jsou v předmětu Výpočetní technika probírány teoretické základy počítačové techniky. Dalším možným použitím je výuka ve volitelném předmětu Počítačová technika ve třetím ročníku OA. Úkolem těchto skript je seznámit studenty s hlavními trendy vývoje výpočetní techniky, vybavit je potřebným pojmovým aparátem a umožnit jim orientaci při rozhodování o nákupu a využití výpočetní techniky pro potřeby jejich budoucích zaměstnavetelů. Vzhledem k rychlému vývoji v oblasti výpočetní techniky je třeba počítat s tím, že zde obsažené informace velmi rychle zastarávají, proto autor předpokládá, že bude v dalších letech vydávat doplňky k jednotlivým kapitolám, shrnující pokrok v příslušné oblasti.
3
4
2 Vývoj výpočetní techniky Výpočetní technika je do jisté míry považována za jeden ze symbolů moderní doby. Často máme tendenci zapomínat na to, že snaha usnadnit si práci, a to i intelektuální, je stejně stará jako lidstvo samo. První pomůcky pro výpočty se objevují s rozvojem obchodu a peněžnictví asi před 3 až 4 tisíci lety. Jde o tzv. abakus, vypadající jako populární dětské počítadlo s kuličkami. Na rozdíl od něj však umožňuje nejen sčítání a odčítání, ale i násobení a dělení. Testy ukázaly, že obratný počtář s abakusem (v Rusku se používá pod názvem „ščot“) provádí běžné výpočty rychleji, než běžný pracovník s elektronickou kalkulačkou. Toto prastaré zařízení se v mnoha východních zemích s úspěchem používá dodnes. Dlouho jsme se domnívali, že vývoj výpočetních pomůcek ve starověku ustrnul na úrovni abakusu. Archeologický nález z roku 1930, kdy byla při podmořských vykopávkách potopené řecké lodi z 2.století před naším letopočtem vylovena podivná hrouda „bronzových úlomků“, nevzbudil ve své době žádnou senzaci. Teprve v šedesátých letech, po prozkoumání úlomků pomocí roentgenu, došlo k rozruchu. Ukázalo se, že jde o přesnou soustavu ozubených kol (do té doby jsme se domnívali, že lide dokáží přesná ozubená kola vyrábět až od 17. století), která navíc tvořila poměrně komplikovaný mechanický počítací stroj, umožňující provádět astrologické výpočty. Dodnes nikdo neví, jak je možné, že takový stroj mohl vzniknout o 19 století dříve, než jsme tušili. Prvním známým výrobcem mechanických počítacích strojů byl koncem 17. století francouzský matematik B. Pascal. Vyrobil poměrně dokonalý mechanický kalkulátor, umožňující provádět všechny hlavní matematické operace (včetně umocňování a odmocňování a výpočtů se siny a cosiny). Pokusil se jej dále zdokonalit na skutečný počítač, pracující na základě programu, čteného z děrných štítků, zemřel však dříve, než byl schopen svou práci dokončit. Moderní počítače se začínají rozvíjet až v souvislosti s 2. světovou válkou ve 40. letech tohoto století. Rozvoj raket a letadel, stejně jako snaha o konstrukci jaderných zbraní, vedla k potřebě rychle provádět velmi složité výpočty. Proto se během války jak v Německu, tak i v USA a SSSR rozběhly práce na konstrukci elektronických počítačů. První exempláře se však objevují až po roce 1945. Objevuje se tzv. nultá generace počítačů. Jde o zařízení, pracující s využitím elektromagnetických relé (elektromagnetické relé si můžeme představit jako elektrický spínač ovládaný elektromagnetem). Šlo o experimentální zařízení, schopná provádět asi deset operací za sekundu a se střední dobou mezi dvěma poruchami řádově několik minut. Praktický význam ještě neměly, šlo pouze o ověřování některých obecných konstrukčních principů. Kolem roku 1948 nastupuje první generace počítačů. Jejich základním prvkem je elektronka (vakuová skleněná baňka s několika elektrodami, schopná rovněž pracovat jako spínací prvek). Tyto počítače již byly schopny provádět řádově stovky až tisíce operací za sekundu a v provozu bez poruchy vydržely desítky minut až hodiny. Byly velmi drahé, měly obrovskou spotřebu elektrické energie (každý počítač měl vlastní malou elektrárnu) a zabíraly obvykle celou budovu. Prováděly se na nich různé výpočty pro potřeby armády - především v souvislosti s vývojem raket a jaderných zbraní. Komunikace s nimi byla možná pouze pomocí děrných štítků a děrných pásek, programování probíhalo pomocí strojového kódu (každý krok počítače musel být zaznamenán pomocí číselného kódu).
4
5-
Přibližně v roce 1955 se objevují počítače druhé generace počítačů. Jejich základní součástí je tranzistor (polovodičová součástka, umožňující opět spínání a rozpínání elektrických obvodů). Počítač se v této době stává vcelku běžným zařízením objevuje se ve školách, věděckých ústavech, úřadech, výrobních podnicích atd. Počítače druhé generace provádějí až statisíce operací za sekundu, bezporuchový provoz trvá několik dní. Prudce klesá cena počítačů a spotřeba energie. Jejich používání je usnadněno formulací vyšších programovacích jazyků (první z nich v roce 1955 Fortran). Objevují se u nich různé vnější paměti - disky, magnetické pásky atd. Komunikace s obsluhou je usnadněna zavedením počítačových tiskáren a zadáváním příkazů pomocí elektrického psacího stroje. Po roce 1970 hovoříme o třetí a později o tři a půlté generaci počítačů. Jejich základním prvkem se stává integrovaný obvod (tedy celý funkční celek, tvořený mnoha tranzistory, umístěnými díky pokroku technologie na jediné malé křemíkové destičce). Tato generace trvá přes různé proměny a zdokonalení vlastně dodnes. V roce 1974 dochází k historickému zlomu - firma Intel konstruuje první mikroprocesor 4004. Od té doby se datuje vývoj moderní výpočetní techniky, jejímuž popisu jsou věnována tato skripta.
5
6
3 Základní pojmy. Popis obecného počítače Definice: Počítač je sekvenční automatický programovatelný elektronický stroj na zpracování informací. Tato definice vcelku dobře vystihuje hlavní rysy počítače, odlišující jej od jiných zařízení. Především - je to stroj, tedy zkonstruovali a vyrobili jej lidé, aby si určitým způsobem ulehčili práci. Používá se ke zpracování informace. Pro naše potřeby vystačíme s poněkud intuitivní představou informace jako určitého údaje, odrážejícího uspořádání okolní reality (existují samozřejmě nejrůznější další matematické, kybernetické, filosofické atd. definice informace, ty však překračují rámec našeho výkladu). Je elektronický, to znamená je složen z elektronických součástek a pracuje s elektrickými veličinami - především s elektrickým napětím. Že jde o stroj automatický, je celkem jasné. Obsluha do činnosti počítače zasahuje většinou jen nepřímo, počítač pracuje po většinu doby bez zásahů obsluhy - automaticky. Sekvenční automat je takové zařízení, jehož výstupy závisí nejen na vstupech, ale i na jeho předchozím vnitřním stavu (příkladem sekvenčního automatu může být známý hlavolam, Rubikova kostka - její stav vždy záleží nejen na pohybu, který s kostkou provedete, ale i na její předchozí kombinaci). Programovatelnost říká, že činnost stroje není jednou pro vždy daná, že je možno ji měnit tzv. programem. 3.1 Reprezentace informace v počítači Informace v počítači mohou být trojího druhu. Mohou to být buď instrukce, nebo data, nebo adresy. Instrukce počítači určují, co má v určitém kroku udělat. Program potom můžeme považovat za určitou sekvenci (řadu) instrukcí, vedoucí ke splnění požadované úlohy. Data
jsou informace, které počítač podle instrukcí zpracovává. Dělíme je na vstupní data (co má počítač zpracovávat) a výstupní data (výsledek zpracovávání).
Adresy
určují odkud má počítač informaci získat, nebo kam ji má uložit. Adresovat je možno, jak uvidíme dále, jak paměť, tak i vstupní nebo výstupní zařízení.
Všechny v současnosti pracující počítače patří mezi číslicové počítače (kdysi existující analogové počítače vymizely již před dvaceti lety), to znamená, že všechny informace, vyskytující se v nich, jsou v podobě čísel. Je nutné si uvědomit, že jedno a totéž číslo může být v určité situaci instrukce, v jiné může jít o data a opět v jiné to může být adresa. Pro kódování čísel se v počítačích používá tzv. binární (dvojková) soustava, pracující pouze se dvěma číslicemi 0 a 1. Potřeba pouhých dvou číslic, snadno rozlišitelných dvěma stavy zařízení a proto snadno technicky realizovatelných, je hlavním důvodem, proč se tato soustava používá u číslicových počítačů od počátků jejich vývoje až dodnes. V současnosti se ustálila situace, kdy obě číslice jsou reprezentovány úrovněmi elektrického napětí. Hodnotě 0 odpovídá napětí 0 až 0,4 V, hodnotě 1 napětí větší než 2,4 V, typicky používanou hodnotou je 5 V (z důvodu snížení zahřívání součástek se toto napětí postupně snižuje, některé procesory pracují i s napětím 2,8 V).
6
7-
Srovnejme si dvojkovou soustavu s nám běžnou soustavou desítkovou (vycházející z počtu našich prstů). Chceme-li zjistit, jaké množství určité číslo v desítkové soustavě představuje, provedeme si podvědomě například tento převod: 3654,5 = 3.103 + 6.102 + 5.101 + 4.100 + 5.10-1 = 3000 + 600 + 50 + 4 + 0,5 Obdobně i binární číslo můžeme rozepsat takto: 10110111,110 = 1.27 + 0.26 + 1.25 + 1.24 + 0.23 + 1.22 + 1.21 + 1.20 + 1.2-1 + 1.2-2 + 0.2-3 = 128 + 0 + 32 + 16 + 0 + 4 + 2 + 1 + 1/2 + 1/4 + 0 Vidíme, že zápis binárních vychází velmi dlouhý a pro nás nepřehledný. Proto se často binární hodnoty zapisují pomocí tzv. hexadecimálních číslic. (Pozor! V počítači vystupují pouze binární čísla. Pomocí hexadecimálních číslic si je zapisujeme my, lidé, aby byl zápis přehlednější.) Binární číslo rozdělíme na čtveřice binárních číslic a každou tuto čtveřici zapíšeme pomocí jedné hexadecimální číslice. To ilustuje následující tabulka: 0000 0001 0010 0011 0100 0101 0110 0111
0 1 2 3 4 5 6 7
1000 1001 1010 1011 1100 1101 1110 1111
8 9 A B C D E F
Číslo 1101001110100010 můžeme tedy zapsat D3A2. Jedna binární číslice tvoří tzv. bit (1 b). Například číslo 1101 se skládá ze čtyř bitů. 8 bitů dohromady tvoří jeden byte (1 B) (čteme “bajt“) - tedy např. 11010101 je obsah jednoho bytu. Obě tyto jednotky se používají rovněž pro vyjadřování množství informace. Vyšší jednotky jsou např. 1kB = 1024 B, 1MB = 1024kB atd. (násobky jsou dány mocninou čísla 2, která je nejbližší hodnotě 1000 - 210 = 1024). Konkrétní binární číslo může kódovat nejrůznější informace. Jde-li o instrukci, jde o kód instrukce. Všechny možné kódy instrukcí, které je počítač schopen provádět, tvoří dohromady instrukční soubor počítače. Při zápisu instrukcí pomocí jejich číselných kódů hovoříme o zápisu ve strojovém kódu. Že jde o instrukci je obvykle určeno místem uložení v paměti. Jde-li o data, může být informace kódována několika způsoby. Numerická data (tedy číselné hodnoty, s nimiž se provádějí výpočty) mohou být vyjádřena přímo jako binární čísla, nebo mohou být vyjádřena např. v tzv. BCD kódu (BCD = Binary Coded Decimal - binárně kódovaná dekadická čísla). Vysvětleme si rozdíl mezi oběma kódováními ukázkou na příkladu. Mějme číslo 365 v dekadické soustavě. Pokud jej budeme převádět na binární číslo, získáme 1.256 + 0.128 + 1.64 + 1.32 + 0.16 + 1.8 + 1.4 + 0.2 + 1.1 = 8 7 6 1.2 +0.2 +1.2 +1.25+0.24+1.23+1.22+0.21+1.20 tedy 36510 = 1011011012 = 16D (v hexadecimálním vyjádření) 7
8
Při zápisu v BCD kódu převádíme na binární číslo každou číslici dekadického čísla zvlášť, tedy 36510 = 0011|0110|0101BCD 3 6 5 Zatímco binární kódování se používá především pro kódování dat pro výpočty, kód BCD se objevuje především u vstupních a výstupních dat. Vzájemné převody obou kódů nejsou pro počítač problém. Znaková data (tedy např. texty, příkazy pro počítač atd.) se kódují převážně v kódech odvozených od kódu ASCII, určeného pro znaky anglické abecedy, upravených pro příslušnou národní abecedu. V češtině se používá nejčastěji kód Kamenických a Latin 2. V těchto kódech je jednotlivým znakům přiřazeno určité binární číslo spolu s označením, že jde o znak.
8
9-
3.2 Základní části počítače Uspořádání základních částí počítače zachycuje von Neumannovo schéma (viz obr.). Toto uspořádání základních částí počítače se od počítačů 1. generace dodnes podstatně nezměnilo, tyto základní části se vyskytují i u dnešních počítačů.
ALU data
data
informace
I/O
M instrukce
adresy
adresy
C
kde I/O ............... vstupní a výstupní zařízení M ................ vnitřní paměť počítače ALU ............ aritmeticko-logická jednotka C ................... řadič
Vstupní a výstupní zařízení (I/O) mají především charakter převodníku informace, převádějí formu informace z podoby uvnitř počítače na podobu mimo počítač a obráceně (např. grafická karta převádí informaci z binární podoby uvnitř počítače na televizní signál zobrazitelný na monitoru). Vnitřní paměť počítače umožňuje uchovávat a rychle vyhledávat informace. Přebírá informace ze vstupních zařízení, předává je řadiči (instrukce) a aritmeticko-logické jednotce (data), ukládá do sebe výstupní data a předává je výstupnímu zařízení. Aritmeticko-logická jednotka je výkonným orgánem počítače. V ní se provádí vlastní zpracování informací. Přebírá z paměti data, zpracovává je a ve zpracované podobě je opět odesílá do paměti. Řadič podle instrukcí programu řídí a koordinuje činnost všech částí počítače. Přebírá z paměti instrukce programu, dekóduje je (tj. zjišťuje, jaké kroky musí počítač jako celek i jeho jednotlivé části provést, aby byla instrukce splněna) a vysílá signály do dalších částí počítače tak, aby zajistil provedení istrukce.
9
10
Základní myšlenkou von Neumannova schématu, pro kterou si dodnes uchovává svůj význam, je komunikace mezi vstupními a výstupními zařízeními a zbytkem počítače prostřednictvím paměti. Toto uspořádání umožňuje do určité míry vyrovnat obrovské rozdíly v rychlosti mezi vstupními a výstupními zařízeními, často omezenými rychlostí člověka (např. klávesnice), na jedné straně a ALU a řadičem na straně druhé. Program a k němu příslušná data se nejprve uloží pomocí vstupního zařízení do paměti. Po spuštění programu začne řadič přebírat instrukce, podle nich nastavuje činnost ALU a ta zpracovává data. Výsledky se ukládají do paměti a na výstupní zařízení se předávají až po skončení zpracování. Pokud je v paměti připraven další program, může se hned spustit a nemusí čekat na ukončení činnosti pomalého výstupního zařízení, např. tiskárny. Tím je dosahováno podstatně vyšší efektivnosti práce počítače, než při jiných uspořádáních . Podívejme se nyní na jednotlivé obecné části počítače trochu podrobněji. 3.2.1 Přehled pamětí Ústřední částí obecného počítače podle von Neumannova schématu je paměť, přesně řečeno vnitřní paměť. Sám název naznačuje, že kromě nich existují i paměti vnější. Základní rozdíl je ve způsobu komunikace s ostatními částmi počítače. Než se začneme dále bavit o pamětech, musíme si vysvětlit několik základních pojmů. Paměť, která si uchovává uloženou informaci i bez dodávek energie, se označuje jako paměť energeticky nezávislá. Paměť, která po přerušení dodávky energie ztrácí uloženou informaci, je paměť energeticky závislá. Kapacita paměti vyjadřuje množství informace, které je maximálně možno do paměti uložit, vyjadřuje se v B (bytech), případně kB, MB, GB atd. Adresa označuje určité místo v paměti, na které je možno uložit informaci. Obvykle je možno na jednu adresu uložit 1B informace. Rychlost paměti se určuje jako průměr doby mezi vstupem adresy do paměti a výstupem přečtené informace z paměti a (pokud to paměť umožňuje) obdobné doby potřebné pro zápis informace. Vnitřní paměti jsou přímo spojeny s řadičem a ALU. Hlavním požadavkem je tedy u nich rychlost. Jsou to většinou polovodičové paměti, jejich rozhodující charakteristikou je rychlost, která se pohybuje na úrovních ms a nižších. U současných počítačů jejich kapacita bývá 8-32 MB, nejsou však žádnou výjimkou ani počítače s podstatně většími vnitřními pamětmi (např. 64MB a více). Vnější paměti komunikují s počítačem prostřednictvím vstupních a výstupních zařízení, jsou rozsáhlé a uchovávají informace, když počítač není v chodu. Typickým příkladem jsou například magnetické disky. Rozhodující charakteristikou je u nich kapacita a trvanlivost záznamu. Běžně používané kapacity vnějších pamětí se dnes pohybují v rozsahu 500 MB až 2 GB, nejsou však výjimečné ani paměti větší. Všechny vnější paměti jsou energeticky nezávislé. ROM
klasická ROM PROM EPROM
RAM
SRAM DRAM
vnitřní paměti vnější
10
1
Vnitřní paměti se dělí na paměti ROM a RAM. Paměť ROM (read-only memory - paměť pouze pro čtení) je taková paměť, ze které může počítač pouze číst. Je to paměť energeticky nezávislá, v počítači jsou v ní obvykle uloženy programy, tvořící základ operačního systému, např. tzv. BIOS. Paměti ROM se dělí na tři skupiny - klasické paměti ROM, paměti PROM a paměti EPROM. Z hlediska počítače není mezi nimi rozdíl, rozdíl je dán způsobem ukládání informací do paměti. Klasické paměti ROM jsou vyráběny ve velkých sériích a jejich obsah je vytvářen již při výrobě. Dnes se používají především v oblasti spotřební elektroniky. Paměti PROM se dodávají prázdné, uživatel si do nich může mimo počítač poměrně jednoduchým způsobem informaci zapsat, ale pouze jednou. Jejich použití se vyplatí u malých sérií. Paměti EPROM je možno mimo počítač určitým způsobem vymazat (ultrafialovým světlem, elektrickým impulzem atd.) a uložit do nich novou informaci. V poslední době se s nástupem nových technologií začaly více používat paměti Flash EPROM, umožňující přeprogramování přímo v počítači. U nových počítačů jsou typickou pamětí pro uložení BIOSu - tedy základní skupiny programů, nutných pro rozběh a činnost počítače (bude vysvětleno v kapitole o operačním systému) Paměti RAM (random access memory - paměť s libovolným přístupem) umožňují počítači zapisovat i číst informace. Jsou většinou energeticky závislé, i když existují i speciální případy energeticky nezávislých pamětí RAM. Dělí se na dvě hlavní skupiny - statické paměti SRAM a dynamické paměti DRAM. Statické paměti SRAM se vyznačují tím, že informace v nich uložená se může měnit pouze vnějším zásahem (zapsáním jiné informace, příkazem ke smazání, vypnutím zdroje energie atd.). Jejich základní součástí jsou tzv. bistabilní klopné obvody (Jsou to elektronické obvody s jedním či dvěma vstupy a dvěma výstupy, které se mohou nacházet v jednom ze dvou tzv. stabilních stavů - ustálených stavů na výstupech. Buď je na jednom z nich elektrické napětí odpovídající 0 a na druhém 1, nebo obráceně. Vnějším impulzem se vyvolá přechod z jednoho stavu do druhého. Tyto obvody umožňují uložit jeden bit informace.) Podle typu tranzistorů, z nichž se skládají klopné obvody, se paměti dále dělí na unipolární a bipolární. Z hlediska uživatele má toto rozdělení význam v tom, že unipolární paměti RAM (někdy též označované zkratkou CMOS) má menší spotřebu elektrické energie, než paměti druhého typu, jsou však citlivější na dotykové napětí (nesmí se na ně sahat nechráněnou rukou). Statické paměti jsou nejrychlejším typem pamětí, jsou však velmi drahé, proto se používají pouze u tzv. pamětí CACHE (viz. dále). Dynamické paměti DRAM se skládají z miniaturních kondenzátorů (Kondenzátor je elektronická součástka, která, připojí-li se na zdroj elektrické energie, se nabije určitým elektrickým nábojem, což se na venek projevuje tím, že se i po odpojení zdroje na ní udrží elektrické napětí. Toto napětí s časem klesá, kondenzátor se vybíjí.). Dynamické se jim
11
12
říká proto, že je třeba informaci v nich uloženou neustále periodicky obnovovat. Tento proces se nazývá REFRESH. Spočívá v tom, že periodicky se z každé adresy v paměti informace přečte a opět se na stejnou adresu zapíše. Paměti DRAM jsou výrazně lacinější, než paměti SRAM a proto se v počítačích používají jako hlavní vnitřní paměti. Je-li např. v prospektu uvedeno, že počítač má 8MB RAM, jde jednoznačně o DRAM. Všeobecně lze říci, že paměti DRAM jsou relativně pomalejší, v poslední době se však začínají objevovat dynamické paměti typu EDO RAM, jejichž rychlost by měla postupně dosáhnout rychlosti pamětí SRAM. Podrobnější popis jednotlivých typů pamětí je v kapitole Vnitřní paměti. Vnější paměti se dělí podle fyzikálního principu ukládání informace dělí
Vnější paměti
mechanické
děrné štítky děrné pásky
magnetické
magnetické pásky magnetické disky pružné disky (FD) (diskety) pevné disky (HD) CD-ROM CD-RAM
optické
Další, podrobnější popis těchto pamětí bude následovat v kapitole o vnějších pamětech.
12
1
3.2.2 Řadič (C) Jak jsme si uvedli výše, je hlavní úlohou řadiče podle instrukcí programu řídit a koordinovat činnost ostatních částí počítače tak, aby byl program proveden. V dalším výkladu si podrobněji popíšeme činnost řadiče a vysvětlíme pojem instrukční cyklus. Nejprve se podívejme na schéma obecného řadiče - u dnešních počítačů je již uspořádání poněkud odlišné, vychází však z principů, které si zde vysvětlíme. Hlavní části obecného řadiče: R.A.I. ...... registr adresy instrukce R.I. ........... registr instrukce D.I. ........... dekodér instrukce G.Ř.I. ........ generátor řídicích impulzů
Vysvětlení některých termínů: registr - vnitřní paměťové místo počítače, umožňující obvykle pomocí klopných obvodů uchovávat jedno binární číslo. generátor - můžeme chápat jako “zdroj“. instrukce (z paměti)
R.A.I.
R.I. D.I. G.Ř.I.
adresa instrukce (do paměti)
příznaky (z ALU)
řídící impulzy
Činnost řadiče je možno popsat ve čtyřech krocích: 1)
Vyhledání a načtení instrukce. V registru adresy instrukce je uložena adresa instrukce, která má být v daném instrukčním cyklu provedena. Paměť se přepne na čtení a odešle se do ní adresa instrukce z R.A.I. V paměti se vyhledá paměťové místo s příslušnou adresou. Na tomto místě je uložen kód instrukce, která má být prováděna. Tento kód se přečte a odešle do řadiče, kde se uloží do registru instrukce R.I..
13
14
2)
Dekódování instrukce. Dekodér instrukce přečte kód instrukce z R.I. a určí, jaké dílčí kroky je třeba provést pro vykonání instrukce. Podle toho nastaví příslušným způsobem činnost generátoru řídicích impulzů G.Ř.I..
3)
Provedení instrukce. Tato část instrukčního cyklu se mění podle typu prováděné instrukce. Generátor řídicích impulzů vysílá postupně impulzy ostatním částem počítače (vstupním/výstupním zařízením, paměti a ALU) tak, aby byla příslušná instrukce provedena. U typické instrukce se zpracování skládá z načtení dat do ALU, provedení operace s daty a z uložení výsledku do paměti, u řady instrukcí však průběh vypadá odlišně.
4)
Nastavení adresy následující instrukce programu v R.A.I.. Jde o poslední krok instrukčního cyklu, po něm začíná cyklus následující. Nová adresa vzniká obvykle zvětšením obsahu R.A.I., v případě instrukcí skoku se adresa načítá z paměti z místa za kódem instrukce (viz. dále).
Vysvětleme si ještě dvě podstatné podrobnosti tohoto schématu. Vidíme, že vstup z paměti není možný pouze do R.I., kam se zapisuje kód instrukce přečtený z paměti, ale i do R.A.I. Pro vysvětlení tohoto faktu si musíme uvědomit, že při běžném zpracovávání programu se instrukce berou postupně z jednoho paměťového místa za druhým od nejnižší adresy k nejvyšší. Některé instrukce však tuto posloupnost zpracovávání mění zpracování programu se může vrátit o několik instrukcí zpět, případně může některé instrukce přeskočit - jak je v daném případě zapotřebí. Tyto instrukce se nazývají instrukce skoku. adresy 01 02 03 04 05 06 07 08 09 0A 0B . . .
RAM
běžný směr zpracování instrukcí programu
příklad skoku zpět
V takovém případě následuje za kódem instrukce adresa místa v paměti, od kterého má zpracovávání programu pokračovat. Tato adresa se přečte a zavede do R.A.I. a zpracovávání programu v dalším cyklu pokračuje od této nové adresy. Druhým významným detailem je vstup tzv. příznaků z ALU do generátoru řídicích impulzů. Tento vstup respektuje skutečnost, že počítač rozeznává instrukce nepodmíněné a podmíněné. Nepodmíněné instrukce se provádějí vždy, podmíněné pouze tehdy, je-li splněna určitá podmínka. Tato podmínka se formuluje právě pomocí příznaků, které si blíže vysvětlíme ve výkladu činnosti ALU. Zjistí-li dekodér, že jde o
14
1
podmíněnou instrukci, testuje G.Ř.I. nejprve hodnoty příznaků, a pouze tehdy, pokud odpovídají nastavené podmínce, zahájí provádění instrukce. V případě, že neodpovídají podmínce, instrukce se neprovede a rovnou se nastavuje adresa následující instrukce. 3.2.3 Aritmeticko-logická jednotka (ALU) data z paměti M
F
A
TMP
příznaky (do C) řídicí impulzy
OB
(z C)
data do paměti ¨ A ........ střadač TMP.... pomocný registr F.......... registr příznaků OB....... operační blok Obecná aritmeticko-logická jednotka se skládá ze tří registrů a operačního bloku. Její funkce spočívá v zpracovávání dat podle řídicích impulzů z řadiče. Střadač je jakýmsi ústředním registrem počítače. Vstupní data pro zpracování procházejí vždy alespoň z části střadačem (potřebuje-li daná instrukce jeden operand, prochází tento operand střadačem, potřebuje-li dva operandy, prochází jeden z nich střadačem) a výsledek operace se před odesláním do paměti alespoň z části ukládá do střadače. Pomocný registr tvoří druhý vstup do operačního bloku, prochází jím v případě potřeby druhý operand pro danou instrukci, a v případě, že se výsledek nevejde do střadače, ukládají se do něj “přebývající“ bity výsledku. Počet bitů střadače určuje velikost binárního čísla, jaké může operační blok v jednom kroku zpracovat. Tento údaj označujeme jako délku slova počítače a hovoříme o počítačích s délkou slova 4b, 8b, 16b, 32b, 64b atd. Výkonnou částí ALU je operační blok. V něm se provádí vlastní zpracování dat. Řídicí impulzy z řadiče přepínají jeho funkci na některou z možných operací. ALU obecně umožňuje provádět tyto operace: 1) Aritmetické operace - obvykle sčítání, odčítání, násobení a dělení. Sčítání a odčítání je možné provádět buď s přenosem, nebo bez přenosu (bude vysvětleno dále). Násobení a dělení se provádí buď bez znaménka, nebo se znaménkem.
15
16
Pokud se provádí násobení a dělení se znaménkem, využívá se nejvyšší bit čísla jako znaménko (0 odpovídá +, 1 odpovídá -). 2) Logické operace - představují operace s výroky, tedy s tvrzeními, u kterým je možno jednoznačně přiřadit hodnotu “pravda“ (TRUE), nebo “nepravda“ (FALSE). Tyto hodnoty jsou v počítači reprezentovány 1 a 0. ALU je obvykle schopna provádět tyto logické operace: NEGACE (NOT) - operace s jedním operandem operand
výsledek
0 1
1 0
LOGICKÝ SOUČIN (AND) - operace se dvěma operandy 1.operand 2.operand 0 0 1 1
0 1 0 1
výsledek 0 0 0 1
LOGICKÝ SOUČET (OR) - operace se dvěma operandy 1.operand 2.operand 0 0 1 1
0 1 0 1
výsledek 0 1 1 1
Logické operace se provádějí s jednotlivými registry vždy bit po bitu. Aby bylo operaci možno provést, musí být oba operandy stejně dlouhé. Příklad: Logický součin dvou osmibitových čísel: 10110111 AND 10011010 10010010 3) Porovnávání - ALU je schopna porovnat mezi sebou dvě číselné hodnoty. Porovnávání zjišťuje, zda platí pro dvě hodnoty =, <>, <, > ,<=,>= atd. Porovnávání má charakter výroku, to znamená, že buď daný vztah platí, a potom je výsledkem “pravda - TRUE“, nebo neplatí, a pak je výsledkem “nepravda FALSE“. 4) Rotace a posuvy - Rotace jsou operace, při kterých se bity v registru posunou o jedno či více míst vlevo či vpravo, přičemž “přebývající“ bity jsou zapisovány na “uvolněná“ místa na druhé straně registru
16
1
Příklad: 10101 se rotací o jedno místo vlevo změní na 01011 rotace vlevo Posuny jsou operace, při kterých se bity v registru posunou o jedno či více míst vlevo či vpravo. přičemž “přebývající“ bity se ztrácejí a na “uvolněná“ místa se zapisuje 0, 1, nebo se tam kopíruje poslední bit registru (podle typu instrukce). Příklad: posun o jedno místo vlevo 0
Tedy 11011 se posunem o jedno místo vlevo změní na 10110
Všechny složité operace s daty, které je počítač schopen provádět, musí být v konečné fázi rozloženy na výše uvedené elementární operace. Z toho je možno si alespoň částečně představit komplikovanost vytváření programů pro počítače ve strojovém kódu. Registr příznaků je velmi specifickým registrem počítače. Od ostatních registrů se liší tím, že do něj není ukládáno binární číslo, ale každý bit má svůj specifický význam. Tyto bity se označují jako příznaky (flaggs). U počítačů rozeznáváme dvě základní skupiny příznaků: Řídicí příznaky jsou bity, jejichž hodnota je nastavována uživatelem pomocí určitých instrukcí. Nastavení hodnoty příznaku mění určitým způsobem funkci počítače. Příkladem může být příznak, označovaný jako TF, u procesorů řady 80x86. Nastavením tohoto příznaku na hodnotu 1 přechází počítač do tzv. režimu krokování. Provede vždy jen jednu instrukci programu a následující instrukci provede až po opakovaném spuštění. Tento režim činnosti umožňuje kontrolovat program instrukci po instrukci - používá se pro odlaďování programů (hledání a odstraňování chyb v programech). Stavové příznaky jsou bity, které jsou automaticky nastavovány při činnosti počítače a signalizují stav ve střadači po ukončení operace. Příkladem může být třeba bit ZF (zero), který nabývá hodnoty 1 pokud je výsledkem operace hodnota 0. Podobně bit CF (carry) signalizuje tzv. přetečení o jeden řád, tedy že výsledné číslo se do střadače o jeden řád “nevešlo“.
Poznámka:
17
18
Tento bit umožňuje např. sčítat libovolně velká čísla na počítači ve více krocích (viz. poznámka o aritmetických operacích výše). Příklad Při sčítání 8bitových čísel pomocí 4bitového počítače provedeme sčítání dolních čtyř bitů bez přenosu a horních čtyř bitů s přenosem, tedy tak, že k součtu přičteme hodnotu bitu CF. +
1101 0001 1110
+
0111 1100 1 0011 přenos do vyššího řádu
CF = 1 1111 tedy výsledek 11010111 + 00011100 = 11110011
Stavové příznaky se velmi často používají pro formulování podmínek v tzv. podmíněných instrukcích. Pro lepší představu si můžeme registr příznaků představit jako jakýsi kontrolní panel. Stavové příznaky potom představují jakési kontrolky, jejichž rozsvícení signalizuje určitý stav. Řídicí příznaky si potom můžeme představit jako vypínače, jejichž sepnutím se spouští určitý specifický režim činnosti počítače. Další podrobnosti o příznacích budou uvedeny v kapitole popisující jednotlivé mikroprocesory. 3.2.4 Vstupní a výstupní zařízení (I/O) Vstupní a výstupní zařízení slouží především jako určitý typ převodníků informace z jedné podoby do druhé, zprostředkovávajících přenos dat mezi počítačem a vnějšími zařízeními (např. monitorem, tiskárnou, myší atd.). Vezměme si jako typický příklad třeba tzv. videokartu (grafickou kartu, grafický adaptér). Jde o typické výstupní zařízení (osobní počítač není bez ní schopen pracovat). Vstupují do ní informace z počítače v numerické podobě a vystupují v podobě televizního signálu pro monitor. V širším slova smyslu můžeme za vstupní a výstupní považovat i různá periferní zařízení, připojovaná k počítači a umožňující vstup nebo výstup informací. Vstupní a výstupní zařízení dělíme podle dvou hledisek: 1) Podle směru předávání informace Vstupní - slouží k zadávání informací do počítače. Například klávesnice, myš, scanner, světelné pero, snímač optického čárového kódu atp. Výstupní - jejich prostřednictvím počítač sděluje výsledky své činnosti, případně jimi působí na okolí. Typický příklad je tiskárna, monitor, zvuková karta, plotter atp. Vstupní i výstupní - tato zařízení mohou sloužit pro vstup i výstup informací. Typickým příkladem jsou vnější paměti umožňující zápis i čtení (magnetické paměti, optické disky CD-RAM), ale také modem, síťová karta atp.
18
1
2) podle způsobu předávání informace: Paralelní - u těchto zařízení je tolik spojovacích vodičů, kolik je bitů přenášeného slova. Celé slovo se potom předává najednou v jediném taktu. výhodou je vysoká rychlost přenosu, nevýhodou citlivost na vnější rušivé vlivy (především elektromagnetická pole) a potřeba relativně velkého počtu vodičů.
Příkladem zařízení s paralelním přenosem mohou být například vnější magnetické paměti - disky, u kterých se velmi rychle předává velké množství informace na krátké vzdálenosti. Dalším paralelním zařízením je tiskárna. V tomto případě je nutno co nejrychleji předat informace do tohoto pomalého zařízení a uvolnit počítač pro další práci. Sériová - u těchto zařízení se všechny bity slova předávají jeden po druhém po jediném vodiči. Přenos slova tedy trvá tolik taktů z kolika bitů se slovo skládá. Nevýhodou je podstatně menší rychlost přenosu. Výhodou je potřeba jediné spojovací cesty. Sériový přenos se používá především u přenosu na větší vzdálenosti a u zařízení přímo komunikujících s člověkem (zde je komunikace z hlediska počítače tak pomalá, že paralelní přenos by byl naprosto zbytečný). Typickým příkladem může být klávesnice nebo myš.
Výběr vstupního nebo výstupního zařízení se provádí pomocí adresy. Tato adresa se označuje jako port (brána). Objeví-li se např. na obrazovce počítače hlášení “serial port 3F7“, znamená to, že konektor pro připojení sériového vstupního nebo výstupního zařízení má adresu 3F7 (tedy 0011 1111 0111). Pomocí této adresy bude počítač komunikovat se zařízením, které na tento konektor připojíme (např. s myší). Tím jsme ukončili popis obecného počítače a s ním spojený výklad základních pojmů a v dalším textu navážeme podrobnějším popisem skutečných částí mikropočítače (vyjdeme z nejrozšířenějšího typu - IBM PC. Začneme tzv. mikroprocesorem.
19
20
4 Mikroprocesory 4.1 Základní pojmy Před popisem jednotlivých typů mikroprocesorů si budeme muset vysvětlit alespoň některé z technických pojmů používaných při popisech těchto zařízení. Integrovaný obvod vzniká na malé křemíkové destičce speciální technologií. Je to vlastně elektronický prvek obsahující v sobě celý funkční celek (zesilovač, paměť, mikroprocesor ...), složený z většího množství elementárních součástek (především tranzistorů). U integrovaných obvodů hovoříme o tzv. hustotě integrace, tedy množství těchto elementárních součástek na chipu (= destička čistého křemíku). V počátcích technologie integrovaných obvodů byly na chipu řádově desítky tranzistorů, v současnosti může jít o desítky, ale i o stovky tisíc či miliony. Mikroprocesor je potom integrovaný obvod o vysoké hustotě integrace, obsahující vždy v sobě kromě dalších částí aritmeticko-logickou jednotku a řadič. Sám o sobě není schopen pracovat, potřebuje vždy řadu pomocných a podpůrných obvodů. Společně s vnitřní pamětí a vstupním a výstupním zařízením tvoří základ celku, který nazýváme mikropočítač. Existují i tzv. jednočipové mikropočítače, které v jediném elektronickém prvku obsahují všechny uvedené části (včetně malé vnitřní paměti). Mikroprocesor komunikuje se svým okolím prostřednictvím tzv. sběrnic. Sběrnice (anglicky „bus“) je paralelní cesta přenosu informací. Šířka sběrnice je počet bitů, které je po sběrnici možno přenášet současně v jediném okamžiku. V souvislosti s mikroprocesory hovoříme o vnitřních sběrnicích a vnějších sběrnicích. Vnitřní sběrnice jsou uvnitř mikroprocesoru (jedna nebo více) - přímo na chipu. Propojují mezi sebou jednotlivé funkční celky mikroprocesoru. Při jejich konstrukci není výrobce nijak omezen. Navrhuje je tak, aby mikroprocesor jako celek pracoval co nejrychleji. Vnější sběrnice propojují mikroprocesor s jeho okolím. Vzhledem k potřebě propojovat mikroprocesor s dalšími součástkami (mnohdy i od jiných výrobců) musí být vnější sběrnice určitým způsobem normalizovány. Většina výrobců respektuje normy stanovené firmou Intel vzhledem k silnému postavení výrobků této firmy na světovém trhu. Každý mikroprocesor má tři vnější sběrnice - datovou, adresovou a řídící. Po datové sběrnici jsou přenášena data a instrukce (jsou-li adresy součástí instrukce, přenášejí se před dekódováním také nejprve po datové sběrnici do mikroprocesoru). Je to obousměrná sběrnice, umožňující jak přenos informací z paměti nebo vstupního/výstupního zařízení do mikroprocesoru, tak i opačným směrem (Pozn. U některých počítačů je datová sběrnice tvořena dvěma jednosměrnými sběrnicemi pro přenos jedním a druhým směrem. Podle potřeby se přepíná na jednu nebo druhou sběrnici. Dosahuje se tak větší rychlosti přenosu po této sběrnici). Šířka této sběrnice určuje jednak maximální číslo, které může mikroprocesor zpracovat v jednom taktu (tedy = 2n, kde n je šířka datové sběrnice), jednak i strukturu a maximální možný počet instrukcí instrukčního souboru. Adresová sběrnice je jednosměrná a slouží k přenosu adres z mikroprocesoru do paměti, nebo vstupních/výstupních zařízení. Šířka sběrnice určuje maximální velikost adresovatelné paměti mikroprocesoru (Mmax = 2n, kde n je šířka adresové sběrnice). Řídící sběrnice slouží k přenosu řídících impulzů mezi mikroprocesorem a dalšími obvody mikropočítače. Může mít různou šířku podle typu mikroprocesoru, vždy však bude obsahovat tyto čtyři signály:
20
2
MEMR = „memory read“, nastavení paměti do režimu čtení MEMW= „memory write“, nastavení paměti do režimu zápis I/OR = „input/output read“, nastavení čtení ze vstupního/výstupního zařízení I/OW = „input/output write“, nastavení zápisu na vstupní/výstupní zařízení Důležitým parametrem mikroprocesoru je jeho tzv. pracovní (nebo-li taktovací) frekvence mikroprocesoru. Mikroprocesor totiž nepracuje neustále, pracuje pouze v přesně určených časových okamžicích. Pokusme si vysvětlit, proč tomu tak je: a
c e
b
d
Obr. Vznik hazardu
Představme si, že určitá část mikroprocesoru může být zapojena podle obrázku. Vidíme, že signál a se dostane přímo na vstup c druhého bloku, zatímco signál b nejprve musí projít prvním blokem. Žádný funkční blok nepracuje nekonečnou rychlostí, signál b se tedy na vstupu d objeví s určitým zpožděním. a
t b t c t d t e hazard
t taktovací pulzy t
Následkem toho na výstupu e vzniká tzv. hazard, tedy oblast, ve které výstup e neodpovídá skutečným hodnotám vstupů a a b. Odstranění tohoto jevu je možné zavedením taktovacích pulzů a úpravou obvodu tak, aby všechny změny probíhaly pouze v okamžiku např. náběžné hrany taktovacího pulzu. Vzdálenost pulzů od sebe musí být taková, aby spolehlivě proběhly všechny přechodové děje a na vstupu 21
22
následujícího funkčního bloku byly připraveny všechny vstupní signály. Počet taktovacích pulzů za sekundu určuje pracovní frekvenci mikroprocesoru. Je celkem jasné, že čím menší je nutná vzdálenost mezi pulzy (a tedy čím více může být pulzů za sekundu), tím je činnost mikroprocesoru rychlejší. Mikroprocesory se rozdělují ze dvou hledisek. První postihuje způsob jejich zrychlování spolupráce s pamětí, druhé vychází ze struktury instrukčního souboru mikroprocesoru. Dle prvního dělení rozeznáváme mikroprocesory registrově orientované a sběrnicově orientované, dle druhého hovoříme o mikroprocesorech RISC a CISC. Již na počátku vývoje mikroprocesorů se ukázalo, že jedním z hlavních „úzkých míst“ je komunikace s pamětí. Registrově orientované mikroprocesory omezují komunikaci s pamětí pomocí poměrně velkého množství pomocných registrů, se kterými může ALU a řadič komunikovat s nepatrnými časovými zpožděními. Tyto registry je možno používat např. pro ukládání mezivýsledků při výpočtech a do paměti se potom odešle teprve konečný výsledek. Při vhodné konstrukci programu je možno značně omezit počet zápisů a čtení z paměti. Tato koncepce byla typická pro mikroprocesory firmy Intel. Sběrnicově orientované mikroprocesory mají jen malý počet vnitřních registrů, zaměřují se však na optimální organizaci sběrnic a co největší urychlení přenosů mezi pamětí a mikroprocesorem. Tento přístup byl typický např. pro firmu Motorola. Postupem času se ukázalo, že žádný z těchto konstrukčních přístupů není jednoznačně lepší než druhý. Obě vývojové linie se postupně sbližují - u registrově orientovaných mikroprocesorů dochází k optimalizaci komunikace po sběrnicích a u sběrnicově orientovaných se objevuje větší počet pomocných registrů (u mikroprocesorů firmy Motorola 68040 se objevuje až 80 pomocných registrů). I když dnes toto rozdělení poněkud ztratilo na významu, lze říci, že mikroprocesory vycházející původně z registrové koncepce mají i dnes určité výhody při numerických výpočtech a mikroprocesory vycházející původně ze sběrnicové koncepce rychleji pracují s grafikou. Druhé rozdělení vychází z vývoje instrukčního souboru (připomeňme si instrukční soubor je soubor všech instrukcí, které je příslušný mikroprocesor schopen dekódovat a provádět). V počátcích mikroprocesorů byla snaha poskytnout uživatelům co nejširší instrukční soubor, aby bylo jejich programování co nejpohodlnější. Tyto mikroprocesory jsou dnes označovány jako CISC (complete instruction set computer počítač s úplným instrukčním souborem). Dekodéry těchto procesorů jsou poměrně velmi složité a vedou k určitému zpomalování mikroprocesorů. Statistickým zkoumáním četnosti používání instrukcí v činnosti počítače se navíc ukázalo, že instrukční soubor je možno rozdělit na dvě poměrně ostře oddělené skupiny instrukcí. První je tvořena asi 40% instrukcí, které jsou používány téměř neustále (jejich použití tvoří asi 90% prováděných instrukcí), ve druhé je zbývajících téměř 60% instrukcí, které se vyskytují poměrně vzácně (asi v 10% případů). Z těchto poznatků vycházeli konstruktéři mikroprocesorů RISC (reduced instruction set computer - počítač s redukovaným instrukčním souborem). Instrukční soubor je omezen na nejčastěji používané instrukce, dekodér je jednodušší a mikroprocesor pracuje rychleji, jeho programování však bývá komplikovanější. V současné době se zdá, že mikroprocesory RISC začínají převládat. Určitý zvrat tohoto trendu přišel počátkem roku 1997, kdy se začínají objevovat procesory s koncepcí VLIW (Very Long Instruction Word). Instrukce těchto procesorů se skládají z řady dílčích mikroinstrukcí, typických pro procesory RISC. Tyto mikroinstrukce jsou všechny přečteny v jediném kroku - jako u běžné instrukce procesoru CISC. Provádějí se potom současně v řadě paralelně pracujících vnitřních
22
2
jednotek procesoru. Firma Intel chce tuto technologii, představující zajímavé spojení principů CISC (bohatý výběr komplexních instrukcí, umožňujících snadnou tvorbu programů) a RISC (rychlé, často paralelní provádění jednoduchých instrukcí) použít u nových procesorů, označovaných ve vývoji jako P7. O hlavních výrobcích uveďme, že firma Intel se věnovala rozvoji mikroprocesorů CISC. Teprve její předposlední mikroprocesor Pentium naznačuje postupný přechod ke koncepci RISC, který je potom završen u zatím posledního procesoru PentiumPro. Další procesory, označované jako MMX, se potom zaměřují na zlepšení práce s multimediálními aplikacemi. Konkurenční výrobci - Motorola, nebo DEC - se na RISC orientovali od začátku a vývoj ukázal, že šlo o správné rozhodnutí (jejich procesory dosahují dvoj- i vícenásobných rychlostí oproti výrobkům firmy Intel - nástup procesorů VLIW tento trend pravděpodobně může zvrátit). K mikroprocesorům se vyrábí řada pomocných obvodů, označovaných jako koprocesory. Jde v podstatě o obvody, které přebírají některé úkoly mikroprocesoru a provádějí je rychleji a efektivněji, než by je prováděl mikroprocesor sám. Typické koprocesory jsou např. matematický koprocesor, provádějící za mikroprocesor náročnější numerické výpočty (jde tedy o jakousi „kalkulačku pro mikroprocesor“ s jejíž pomocí provádí rychleji výpočty, které by mu jinak dlouho trvaly), vstupní a výstupní koprocesor, přebírající řízení komunikace se složitějšími soustavami periferních zařízení (= např. tiskárny, diskové a disketové jednotky, číslicovo-analogové převodníky umožňující převést výstup počítače na úroveň elektrického napětí, použitelného např. pro řízení motorků robotů a NC obráběcích strojů, a pod.), nebo grafické koprocesory umožňující rychle provádět složité operace s obrazem na monitoru počítače. V dalším výkladu se budeme věnovat popisu mikroprocesorů firmy Intel. V závěru kapitoly uvedeme základní informace o hlavních mikroprocesorech dalších významných výrobců. (Pozn. - Na trhu jsou i mikroprocesory jiných firem než Intel, ale většinou jde o napodobeniny procesorů Intel. Takové mikroprocesory se označují jako klony). 4.2 Vývoj mikroprocesorů firmy Intel. Firma Intel vyrobila v roce 1974 první mikroprocesor. Legenda praví, že se tak stalo vlastně nedopatřením. Firma údajně vyvíjela řídící obvod pro numerickou televizi na objednávku jakési japonské firmy. Vývoj se nepovedl, Japonci obvod nepřevzali a Intel začal zkoumat, nejde-li obvod použít i pro něco jiného. Kupodivu - šlo to. A tak se zrodil první čtyřbitový mikroprocesor později označovaný jako 4004. Ještě v témže roce se objevila osmibitová verze 8008. V roce 1975 vznikl mikroprocesor 8080, který se ve variantě 8080A stal vůbec nejmasověji vyráběným mikroprocesorem v dosavadní historii. Dodnes se používá např. v obvodech číslicových regulačních zařízení. Následníkem tohoto mikroprocesoru byl procesor 8085, jehož struktura je prakticky totožná s předchozím typem, liší se zdokonaleným a rozšířeným instrukčním souborem. Zásadní změna koncepce nastala kolem roku 1978 s nástupem nového procesoru 8086. Počínaje tímto typem nastupuje řada procesorů, označovaná jako 80x86. Členy této řady byly procesory 8088, 80186, 80286, 80386SX, 80386DX, 80486SX a 80486DX. Pro všechny tyto procesory platí tzv. kompatibilita shora, to znamená, že všechny programy, vytvořené na starších typech procesorů, musí být bez problému provozovatelné na novějších procesorech. Procesor 8086 byl 16bitový, pracoval s 20bitovou adresovou sběrnicí (měl možnost adresovat paměť o velikosti 1MB). Jeho pracovní frekvence se pohybovala
23
24
kolem 5 MHz. Tvořil základ známých počítačů PC XT. Vzhledem k tomu, že pro něj byly navrženy první verze operačního systému DOS a celá řada programů počítá s tímto procesorem, byl jeho instrukční soubor i systém adresování zachován i u novějších procesorů v rámci tzv. reálného režimu činnosti procesoru (viz. dále). Procesor 8088 vznikl úpravou 8086 pro práci v 8bitovém prostředí. V době vzniku procesoru 8086 ještě totiž nebylo k dispozici dostatečné množství 16bitových komponent počítače, proto se ukázalo jako výhodné provést tento ústupek, aby byla usnadněna výroba počítačů PC XT do doby dostatečného rozvoje 16 bitových komponent. Procesory 8086 a 8088 mohly využívat matematický koprocesor 8087 a vstupní/výstupní koprocesor 8089. Nástupcem 8086 měl být nepříliš povedený procesor 80186. Nepřinesl žádná podstatná zlepšení, vyráběl se po poměrně krátkou dobu a v našem výkladu jej přeskočíme. Podstatnou změnou byl procesor 80286, vyráběný od roku 1982. U tohoto procesoru se poprvé objevuje v plném měřítku tzv. skalární architektura, umožňující pipelining. Podrobněji tuto problematiku vysvětlíme v příslušném odstavci, v této části stačí říci, že jde o zpracování instrukcí „jako na běžícím pásu“, tedy procesor je rozdělen na jednotlivé více méně samostatné jednotky, které si mezi sebou předávají práci. Současně je rozpracováno několik instrukcí. Jestliže jedna instrukce se provádí, následující se již dekóduje, další načítá a pro ještě další se určuje adresa. Zpracovávání instrukcí tak probíhá mnohem rychleji, než u předchozích typů procesorů. Procesor 80286 měl 16-bitovou datovou sběrnici a 24-bitovou adresovou sběrnici. Jeho taktovací frekvence mohla dosáhnout až 25 MHz. Stal se základem nové řady počítačů, označovaných jako PC AT, později, pro upřesnění, PC AT/286. U 80286 se také poprvé objevují dva pracovní režimy - reálný, ve kterém se procesor chová jako rychlý procesor 8086, a chráněný, ve kterém procesor plně využívá všechny své možnosti. Nevýhodou bylo, že zatímco přepnutí z reálného režimu do chráněného se provádělo nastavením jednoho z řídicích příznaků, přepnutí zpět bylo možné jen restartováním procesoru signálem RESET. Další slabinou byly problémy při zpracovávání instrukcí skoku. Instrukce pro zpracovávání byly vybírány z paměti v pořadí adres míst v paměti. Pokud se vyskytla instrukce skoku, zjistila se až v konečné fázi, tedy při výkonu instrukce. V té době bylo již rozpracováno několik nesprávně načtených instrukcí, uložených na adresách za touto instrukcí skoku. Bylo nutno nově načítat instrukce z cílového místa skoku, čímž se činnost procesoru podstatně zpomalila. Tyto problémy byly odstraněny u následujícího typu, procesoru 80386. Tento procesor, vyráběný od roku 1985, byl dodáván ve dvou verzích, označovaných 80386SX a 80386-DX. Obě verze uvnitř pracovaly jako 32-bitové, SX však navenek pracoval jako 16-bitový procesor, DX byla i navenek 32-bitová verze. Toto rozlišení vzniklo vzhledem k tomu, že v době vzniku procesoru 80386 nebyly dosud v dostatečném množství k dispozici 32-bitové komponenty počítačů (jde tedy o podobný vztah, jako mezi 8086 a 8088). V dalším se budeme zabývat vlastnostmi procesoru 80386-DX. Měl 32-bitovou datovou sběrnici i 32-bitovou adresovou sběrnici. Jeho pracovní frekvence mohla být až 40MHz. Uměl provádět tzv. předvýběr skoků a při načítaní instrukcí ke zpracování již tuto instrukci respektoval. Určité problémy vznikaly u podmíněných instrukcí skoku procesor je při předvýběru nerozeznával od nepodmíněných a vždy vycházel z předpokladu, že se skok provede. Další významnou změnou byla možnost přepínat režimy činnosti pomocí řídicích příznaků oběma směry - nejen z reálného režimu do chráněného, ale i zpět. V chráněném režimu existuje speciální podrežim, tzv. „režim virtuální 8086“. V tomto režimu může procesor zpracovávat programy jak pro reálný, tak i pro chráněný režim (bez neustálého přepínání z jednoho režimu do druhého - nutné
24
2
při zpracovávání více úloh současně (multitasking - viz. dále). Zavedením adresování s možností tzv. stránkování bylo dosaženo možnosti adresovat prakticky libovolnou paměť (až 64 TB). Tento způsob adresování byl tak úspěšný, že jej nebylo třeba měnit ani u následujících typů procesorů (80486 a Pentium). Procesor 80386-DX byl již tak rychlý, že tradiční dynamická paměť RAM začala zdržovat činnost počítače s tímto procesorem. Aby bylo možno plně využívat rychlost tohoto procesoru, bylo třeba radikálně zrychlit činnost paměti. Vzhledem k tomu, že použití pamětí S-RAM příslušné velikosti by bylo ekonomicky neúnosné (výsledný počítač by byl příliš drahý a nikdo by si ho nekoupil), bylo třeba najít takové uspořádání, které by i s malou pamětí S-RAM dosáhlo požadovaných výsledků. Jde o zavedení paměti CACHE. Paměť CACHE je malá statická paměť RAM, vřazená mezi procesor a velkou hlavní operační paměť typu D-RAM. Tato velká paměť je rozdělena na jednotlivé úseky o takové velikosti, aby se do paměti CACHE vešly vždy alespoň tři tyto úseky. Při činnosti počítače jsou potom úseky mezi pamětí CACHE a pamětí D-RAM přesouvány tak, aby v paměti CACHE byl vždy úsek paměti, se kterým procesor právě pracuje, úsek předcházející a následující.
1
2
3
4
5
...
CACHE (např 256 kB) 1 (4) mikroprocesor
DRAM 8 MB
2 (5) 3 (6)
Princip paměti CACHE
Jestliže na počátku jsou v paměti CACHE úseky 1, 2 a 3, začne procesor nejprve zpracovávat úsek 1. Po skončení práce přejde na úsek 2. Při přechodu na úsek 3 se úsek 1 uloží zpět do paměti D-RAM a na jeho místo se do paměti přesune úsek 4 atd. Nedochází-li tedy v programu k příliš velkým skokům, je velmi vysoká pravděpodobnost, že procesor najde informace, které potřebuje, v rychlé paměti CACHE typu S-RAM a nemusí čekat na čtení z pomalé paměti D-RAM. Účinnost paměti CACHE závisí mimo jiné na její velikosti - běžně se používá 128 kB, 256 kB a 512 kB. S rostoucí pamětí CACHE samozřejmě roste i cena počítače, je tedy třeba
25
26
vybrat při koupi počítače rozumný kompromis mezi technickými požadavky a ekonomickými možnostmi. Procesor 80386 byl doprovázen matematickým koprocesorem 80387, uměl však spolupracovat i se starším koprocesorem 80287. Přítomnost koprocesoru a jeho typ se signalizoval pomocí řídicích příznaků. Po mikroprocesoru 80386 následoval v roce 1989 typ 80486. U něj již nedocházelo k dalším změnám struktury. Hlavní rozdíl spočíval v doplnění procesoru pamětí CACHE o velikosti 4 kB, umístěnou přímo na chipu a označovanou jako interní paměť CACHE (na rozdíl od externí paměti CACHE, připojované stejně jako u předchozího typu procesoru), a o matematický koprocesor (u 80486DX), který je rovněž umístěn na chipu. Vzhledem k rozlišení paměti CACHE na externí a interní dochází oproti 80386 k určitým změnám příznaků - je možno volit, zda bude či nebude používána interní paměť CACHE, zda tato paměť bude používána pro ukládání mezivýsledků bez současného přepisu do externí paměti CACHE a do operační paměti atd. Zdokonalování technologie výroby integrovaných obvodů vedlo ke zrychlení vnitřní činnosti procesoru. Objevily se typy označované 80486 DX2 (-DX4 atd.), vnitřně pracující s dvojnásobnou (či vícenásobnou) frekvencí, než na jaké pracují zbývající části počítače. Výkonnost těchto procesorů je tak vysoká, že ze srovnávacích zkoušek vycházely jako lepší než následující typ Pentium 75 MHz. Procesorem 80486 končí řada procesorů 80x86. Nový procesor, prodávaný od roku 1993 pod označením Pentium, přichází se zásadními změnami ve struktuře i v principech činnosti. Současně se objevuje několik procesorů jiných firem, než Intel, které se na tuto řadu snaží navázat odlišným způsobem. Jde např. o procesor firmy NexGen Nx 586, nebo PowerPC, vyráběný ve spolupráci firmami Motorola, Apple a IBM. Hlavním rozdílem u Pentia oproti předchozím typům je přechod od koncepce CISC, jejíž rozvojové možnosti se koncem osmdesátých let pravděpodobně vyčerpaly, ke koncepci RISC. Aby byla zaručena slučitelnost s programy pro procesory CISC, obsahuje procesor překládací paměť ROM, která umožňuje přeložit složitější instrukci CISC na řadu jednodušších instrukcí RISC. Do jisté míry se tím zpomaluje činnost procesoru, proto skutečně špičkových výkonů dosahuje procesor s programy, které byly napsány přímo pro něj a které obsahují minimum komplexních instrukcí. Dalším významným rysem je 64 bitová datová sběrnice. Adresová sběrnice zůstává 32-bitová a způsob adresování se oproti předchozím typům 80386 a 80486 nemění. Součástí procesoru jsou dvě interní paměti CACHE o kapacitě 2 x 8 kB (postupně se zvětšuje - u Pentia 200 MHz dosahuje až 128 kB). Jedna slouží jako instrukční paměť, druhá jako datová. Objevuje se zde tzv. superskalární architektura, umožňující zpracovávání instrukcí formou dual pipeline. To znamená, že určité typy jednoduchých instrukcí mohou být zpracovávány v každém kroku dvě současně (představme si toto zpracování jako činnost dvou výrobních pásů vedle sebe). Procesoru Pentium může pracovat buď jako tzv. Master, kdy provádí všechny výpočty a odesílá výsledky po sběrnicích, nebo, v případě zdvojení procesorů, také jako Checker, který kontroluje své výsledky s hodnotami, které posílá na sběrnice Master a v případě rozdílných výsledků signalizuje chybu. Umožňuje tak průběžné provádění kontroly správnosti činnosti - každá instrukce je současně zpracovávána oběma procesory a výsledek musí být totožný. Matematický koprocesor umožňuje provádět výpočty s až 80 bitovými čísly. U prvních procesorů Pentium byl tento koprocesor zdrojem některých chyb, které byly u pozdějších sérií odstraněny.
26
2
První procesory Pentium dosahovaly taktovací frekvence 60 MHz, později nastoupily procesory s frekvencí 75 MHz. Srovnávací testy ukázaly, že jejich výkonnost neodpovídala ceně a že lacinější procesory 486DX2 a DX4 dosahovaly lepších výsledků. Teprve Pentia s pracovní frekvencí nad 100 MHz přinášejí radikální zlepšení. V současné době dosahují procesory Pentium pracovních frekvencí kolem 200 MHz (leden 1997). Nástupcem procesoru Pentium je od roku 1995 procesor PentiumPro. Jde již o procesor čistě koncepce RISC. Superskalární architektura je dále rozvinuta tak, že je možno v každém kroku zpracovávat až čtyři instrukce současně. V pouzdře procesoru jsou dva čipy - na jednom je vlastní procesor a malá primární interní paměť CACHE a na druhém je sekundární interní paměť CACHE o kapacitě 256 nebo 512 kB (u špičkových procesorů se již dodává i varianta s kapacitou 1MB). Datová sběrnice nadále zůstává 64 bitová, adresová je rozšířena na 36 bitů. Důležitým novým rysem je i změna napětí, se kterými procesor pracuje. Rozdíl mezi rovní 0 a 1 se zmenšuje na 1,5V, napájecí napětí klesá z 5 na 2,8V. Současně se výrobce snaží snížit ztrátový výkon procesoru pod 20W a zabránit tak jeho nadměrnému zahřívání (Potřeba účinného chlazení byla pro procesory Pentium typická). To vyžaduje vývoj nových komponentů počítače, především nový řadič sběrnic a řadič pamětí RAM. Rychlost procesoru může být až 300 milionů instrukcí za sekundu, pracovní frekvence kolem 200 MHz (leden 1997). Problémem zatím je relativně vyšší cena. V roce 1997 se začínají objevovat procesory Pentium/MMX a PentiumPro/MMX. MMX označuje doplnění procesorů obvody pro zdokonalení práce s multimediálními aplikacemi, spojujícími obraz, zvuk a text do jednoho komplexního celku. Ve vývoji je již další generace procesorů, pracovně označovaná P7 (Pentium bylo vyvíjeno pod označením P5 a PentiumPro pod označením P6). Podrobnosti o nich nebyly zatím publikovány. 4.3 Procesory ostatních firem Velké množství výrobců procesorů je možno rozdělit na dvě skupiny - první, větší skupinu, tvoří výrobci tzv. klonů, to znamená procesorů, které v podstatě odpovídají výrobkům firmy Intel a liší se od nich především nižší cenou. V některých případech přinášejí i dílčí zdokonalení oproti originálům - to platí především pro procesory firmy NextGen a AMD. Podstatně zajímavější je druhá skupina výrobců, kteří jdou od počátku vlastní cestou. Mezi nimi dominují firmy Motorola, DEC a IBM. Firma Motorola dodává procesory pod označením 680x0. Jde o určitou obdobu řady procesorů Intel 80x86. Všechny tyto procesory vpodstatě vycházejí z koncepce RISC a ze sběrnicové orientace. Výsledkem je u nich velmi dobrá práce s grafickými programy - v této oblasti procesory Intel jejich náskok dodnes zcela nedohonily. První z procesorů této řady, 68000, se vyráběl od roku 1979. I když byl vnitřně 32bitový, navenek komunikoval pomocí 16-bitové sběrnice. Adresy mohly být 24-bitové. Jako varianta se vyráběl procesor 68008, umožňující komunikaci s 8-bitovým okolím. Procesor 68010 přinesl rozšíření instrukčního souboru a určité změny ve zpracovávání vnitřních přerušení. Objevují se u něj paměti CACHE, pracovní frekvence dosahuje až 16 Mhz. Procesor 68020 je již plně 32-bitový mikroprocesor s pracovní frekvencí 16 až 25 Mhz. Adresová i datová sběrnice jsou 32-bitové. Vyráběl se k němu matematický
27
28
koprocesor 68881(2). Kombinace tohoto procesoru s koprocesorem byla natolik výkonná, že tvořila základ navigačního systému raket Pershing. Další typy, 68030 a 68040, jsou sice ještě programově kompatibilní s předchozími členy řady, jejich vnitřní struktůra je však značně odlišná. Objevují se u nich velké vnitřní paměti CACHE, několikanásobné vnitřní sběrnice a širokou škálu vnitřních registrů. Zatím posledním produktem firmy Motorola, vyráběným ve spolupráci s firmami IBM a Apple Macintosh, je procesor PowerPC. Jde o velmi univerzální procesor, umožňující práci jak s komponenty počítačů řady IBM PC, tak i Apple Macintosh. Tím je i vyřešen jeden z problémů počítačů firmy Apple Macintosh - nedostatek vhodných programů. Na počítačích s PowerPC je možno provozovat jak programy pro IBM PC (a to je většina programů, které jsou dnes na trhu), tak i pro Apple Macintosh. Firma DEC (Digital Electronic Corporation) vyrábí procesory pod označením Alpha. Tyto procesory se rovněž jednoznačně orientují na koncepci RISC. Jsou plně 64-bitové, vyrábějí se od roku 1992. Jejich architektura je založena na instrukcích o konstantní šířce 32 bitů, oddělení registrů pro celočíselné proměné a pro čísla s desetinnou čárkou a adresování prostřednictvím 64 bitové virtuální adresy. Specifikou procesorů Alpha je PALcode (Privileg Architecture Library - privilegovaná knihovna v rámci architektury). Jde o knihovnu programů pro obsluhu přerušení, přepínání úloh atd. Tyto programy probíhají nezávisle na operačním systému, operace probíhají přímo na úrovni hardwaru. Probíhají-li v režimu se zákazem přerušení, může být celá posloupnost instrukcí prováděna jako jediná atomizovaná operace. Procesor pracuje v režimu dual-pipeline (jako podstatně pozdější Pentium) a má možnost měnit šířku a rychlost datové sběrnice dle potřeby (DB 64 až 128 bitů při 7.5 až 18.75 MHz). Procesor obsahuje 8kB instrukční CACHE a 8 kB datovou CACHE. Jeho součástí jsou i řídicí obvody pro externí paměť CACHE. Procesory se dodávají ve variantách 21064, 21066 a 21068 s pracovní frekvencí 33 až 275 MHz. Vzhledem ke své vysoké výkonnost a poměrně vysoké ceně se uplatňují především u serverů, dodávaných firmou DEC. Posledním z významných výrobců procesorů je firma IBM, dodávající procesory RS1000 a RS2000. Jde opět o procesory RISC. Určitým problémem u firmy IBM je rozsáhlost její produkce, takže oddělení, produkující tyto procesory si zároveň konkuruje s oddělením, spolupracujícím na vývoji PowerPC. Celkově však procesory RS nepřesahují parametry popsaných procesorů Alpha a PowerPC.
28
2
5 Popis struktury jednotlivých typů mikroprocesorů Popis struktury jednotlivých typů mikroprocesorů musíme začít procesorem 8080. Není tomu tak z nějaké piety či vzpomínky na dávno překonaný procesor, ale proto, že je relativně jednoduchý a je na něm možno poměrně snadno ukázat základní části procesorů. Dále si popíšeme procesor 8086, protože všechny následující typy procesorů až po Pentium umožňují práci v tzv. reálném režimu, kdy se procesor chová prakticky stejně jako patřičně zrychlený procesor 8086. Procesor 80386 bude dalším významným procesorem, který budeme muset podrobněji popsat. Jeho způsoby adresování paměti jsou dále používány u všech dalších typů procesorů, stejně jako způsob přepínání z úlohy do úlohy atd. V závěru si podrobněji popíšeme procesory Pentium a PentiumPro, které tvoří současnou součástkovou základnu firmy Intel. 5.1 Intel 8080A Tento procesor byl vyráběn firmou Intel od roku 1975. Šlo o osmibitový mikroprocesor s 8 bitovou datovou sběrnicí a 16 bitovou adresovou sběrnicí (mohl tedy pracovat s operační pamětí o velikosti 64 kB). Jeho klon byl od počátku 80. let vyráběn i u nás a tvořil základ počítačů IQ-151, používaných v té době ve školách. Dodnes se tyto procesory používají v obvodech pro číslicovou regulaci např. u některých průmyslových provozů. Na schématu je možno dobře ukázat základní části mikroprocesoru - aritmetickologickou jednotku ALU, řadič C a pole pomocných registrů. Všechny části procesoru jsou mezi sebou propojeny 8-bitovou vnitřní datovou sběrnicí. Vstup a výstup mezi vnitřní a vnější sběrnicí probíhá přes oddělovací datový registr (data se nejprve zapíší do registru a odsud se předávají na sběrnici). Výstup adres na adresovou sběrnici je z některého z adresových registrů přes zesilovač adres, který zaručuje udržení potřebných napěťových úrovní na adresové sběrnici. ALU se skládá ze střadače A, pomocného střadače ACT, pomocného registru TMP, registru příznaků F, obvodu decimální korekce DAA a operačního bloku OB. Operační blok pracuje s 8-bitovými čísly. Z aritmetických operací ovládá pouze sčítání a odčítání. Násobení a dělení muselo být prováděno postupným sčítáním nebo odečítáním. Logické operace zahrnovaly logický součet, logický součin, negaci a exkluzívní logický součet (výsledek 1 pouze tehdy, je-li jedna vstupní hodnota 1 a druhá 0 - jsou-li oba vstupy 0, nebo oba vstupy 1, je výsledek 0). Procesor dále uměl porovnávat dvě čísla - porovnávání se provádělo odečtením obou čísel, přičemž se výsledek neukládal, pouze se podle něj nastavily stavové příznaky, ze kterých se zjišťoval výsledek porovnání (Příklad: Porovnáme-li dvě stejná čísla, je výsledkem jejich odečtení 0. Tento výsledek se signalizuje nastavením stavového příznaku ZERO na 1. Je-li tedy po operaci porovnání příznak ZERO nastaven na 1, byla obě čísla stejně velká). Rotace a posuvy byly možné pouze o jedno místo vpravo nebo vlevo. Zapojení střadače A a pomocného střadače ACT umožňovalo uložit a ve dvou krocích zpracovat 16-bitová čísla (např. při výpočtech s adresami). Pokud potřeboval operační blok dvě čísla zároveň, vstupovalo druhé číslo přes pomocný registr TMP. Střadač A sloužil též pro ukládání některých výsledků operací.
Schema mikroprocesoru Intel 8080A 29
A.C.T
A T.M.P
Č.Ř.O
DAA
O.B.
F D.I.
R.I.
PC SP
Z C E L
Zesilovač adresy
Inkrementor/Dekrementor
W B D H
MX
Vnitřní sběrnice procesoru
AB (16 bitů)
Vstupní buffer
DB (8 bitů)
30
Pole pomocných registrů
RESET φ 2
φ 1
SYNC
WAIT
READY
HLDA
HOLD
INTE
INT
DBIN
WR
30
3
Obvod dekadické korekce DAA prováděl převod čísel z binárního kódu do kódu BCD (např. před výstupem výsledků výpočtu na výstupní zařízení). Příliš se neosvědčil a u dalších typů procesorů byl nahrazen softwarově (programem pro přepočet z jednoho kódu do druhého). Registr příznaků obsahoval pouze stavové příznaky. Objevují se zde příznaky, které se dále opakují i u dalších typů procesorů: ZF - příznak ZERO. Nabývá hodnoty 1, pokud výsledek operace byl 0. Při nenulovém výsledku má hodnotu 0. CF - příznak přetečení. Nabývá hodnoty 1, pokud byl výsledek operace větší než 8bitové číslo. Vzhledem k tomu, že procesor provádí pouze operace sčítání a odčítání, nemůže být přetečení větší než o jeden řád. SF - příznak znaménka. Nabývá hodnoty 1, pokud je výsledkem operace záporné číslo. Pro kladná čísla a pro nulu má hodnotu 0. PF - příznak parity. Tento příznak se používá pro zabezpečení dat při ukládání do paměti, při čtení s pamětí, nebo při komunikaci se vstupním a výstupním zařízením. U procesorů Intel se používá tzv. sudá parita, to znamená, že obsahuje-li číslo sudý počet 1, je hodnota PF=1, obsahuje-li lichý počet, je PF=0. Při ukládání do paměti se vždy s číslem ukládá i hodnota paritního bitu (neukládá se tedy 8 bitů, ale 9). Po přečtení čísla se zkontroluje, odpovídá-li hodnota paritního bitu počtu přečtených 1. Pokud tomu tak není, došlo k chybě, která musí být signalizována a počítač nemůže dále pracovat. Každého napadne, že tímto způsobem je možno zjistit jednu chybu (nebo, přesněji řečeno, lichý počet chyb) v čísle. Dojde-li k sudému počtu chyb, nic se nezjistí. Pravděpodobnost chyby je však tak malá, že výskyt dvou chyb v jednom čísle je možno považovat za prakticky vyloučený. Příklad: Ukládání 11001100
PF=1
Přečtení a) 10001100 PF=1 chyba!! b) 10101100 PF=1 chyba, ale není signalizována!!
AF = příznak pomocný přenos. Nabývá hodnoty 1 při přenosu ze spodních 4 bitů čísla do horních 4 bitů čísla. Příklad: 0000 1111 + 0000 0001 0001 0000
AF=1
31
32
Používá se především při převodech binárních čísel do kódu BCD. Zůstává zachován i u vícebitových procesorů (16-bitových, 32-bitových atd.). U nich jde o přenos mezi spodními a horními čtyřmi bity posledního bytu. 5.1.1 Řadič Řadič se skládá z registru instrukce R.I., dekodéru instrukce D.I., časovacích a řídicích obvodů ČŘO a dvou 16-bitových adresových registrů, čítače instrukcí PC a ukazatele zásobníkové paměti SP, doplněných o inkrementor/dekrementor I/D (inkrementace - zvětšení hodnoty čísla v registru o 1, dekrementace snížení hodnoty čísla v registru o 1). Čítač instrukcí plní úlohu, kterou jsme si popsali u obecného řadiče pro registr adresy instrukce. Obsahuje tedy vždy adresu instrukce, která bude prováděna v daném instrukčním cyklu. Hodnota v tomto registru se mění buď zápisem nové adresy instrukce (např. u instrukcí skoku), nebo postupným zvyšováním hodnoty pomocí inkrementoru (u běžných, za sebou následujících instrukcí). Registr je 16 bitový, takže obsahuje celou adresu instrukce, nemusí se (na rozdíl od pozdějších procesorů) provádět žádné výpočty. Celá paměť je procesoru kdykoliv přístupná, ochrana určitých oblastí, vyhražených např. pro systémové proměnné (bude vysvětleno později), je poměrně obtížná. Operační systém (= soustava programů, řídících komunikaci mezi jednotlivými částmi počítače, organizujících ukládání informací do vnitřní nebo vnější paměti, řídících vstup a výstup dat atd.) je u počítačů s těmito procesory obvykle velmi jednoduchý a býval často uložen v paměti ROM. Ukazatel zásobníkové paměti je druhý 16 bitový adresový registr procesoru 8080A. Zásobníková paměť je úsek paměti RAM, využívaný poněkud speciálním způsobem. Zásobníková se tato paměť nazývá proto, že je postupně zaplňována informacemi, ukládanými jedna před druhou s tím, že čtení informací probíhá v obráceném pořadí, než jak byly ukládány, tedy naposled uložená informace se čte jako první (označení LIFO - last in first out). Konstruktérům to připomínalo zásobník u samopalu, ze kterého je také naposled vložený náboj vystřelován jako první. Zásobníková paměť se používá i u všech následujících typů procesorů (např. pro ukládání informací nutných pro návrat do původního programu při přerušení - viz. dále), proto si její činnost popíšeme podrobněji. V registru SP (Stack Pointer) je uložena adresa tzv. dna zásobníku (stack bottom). Při ukládání se vždy ukládají dva byty na adresy SP-1 a SP-2. Nová hodnota v SP po prvním uložení bude adresa SP-2. Tento postup se opakuje při každém ukládání do zásobníkové paměti (Postup při zápisu - zmenšit SP o 1, na tuto adresu uložit první byte, zmenšit SP o 1 a na tuto adresu uložit druhý byte). Při čtení se opět vždy přečtou dva byty z adres SP a SP+1. Nová hodnota v registru SP po čtení bude SP+2 (Postup čtení - přečíst první byte, zvětšit SP o 1, přečíst druhý byte, zvětšit SP o 1.). Změny hodnot SP jsou, jak je pravděpodobně zřejmé, prováděny pomocí inkrementoru/dekrementoru.
32
3
zápis
čtení
SP-2
SP-1
SP
2. byte
SP
1. byte
SP+1
Dno zásobníku
SP+2
Obr. Princip činnosti zásobníkové paměti Registr instrukce je 8-bitový. Po přečtení z paměti se do něj ukládá vykonávaná instrukce. Dekodér instrukce je poměrně jednoduchý, procesor 8080A pracoval s instrukčním souborem o 256 instrukcích. Časovací a řídicí obvody plní jednak úlohy generátoru řídicích impulzů, popsaného v kapitole o obecném řadiči, jednak vyhodnocují nejrůznější vnější řídicí signály, přepínají procesor do požadovaných stavů atd. Vzhledem k tomu, že se podobné signály vyskytují i u následujících procesorů, popišme se je zde podrobněji WR signál oznamující výstup platných dat na datovou sběrnici (pruh nad označením znamená, že v klidovém stavu je na tomto vývodu napětí odpovídající logické 1, v aktivním 0). DBIN signál přepínající směr přenosu dat po datové sběrnici. Je-li na něm úroveň 0, přenášejí se data z procesoru na sběrnici (OUT). Je-li na něm úroveň 1, přenášejí se data ze sběrnice do procesoru (IN). INTE přijetí nebo odmítnutí žádosti o přerušení INT žádost o přerušení Přerušení je proces, umožňující procesoru řešit situace, kdy v době práce na jednom programu přijde od některého vnějšího zařízení požadavek na provedení jiného programu (např. obslužného programu 33
34
příslušného zařízení). Aby bylo možno takové situace řešit, musí mít každý program přiřazenu určitou prioritu (důležitost). Pracuje-li procesor na programu s určitou prioritou a přijde požadavek na přerušení (signál na vstup INT), dokončí vždy procesor nejprve tu instrukci, kterou právě provádí. Potom porovná prioritu prováděného programu s prioritou žadatele o přerušení. Je-li priorita prováděného programu vyšší, procesor žádost odmítne (INTE = 0) a pokračuje v práci na původním programu. Nový program spustí teprve po skončení stávajícího. Je-li však priorita žadatele vyšší, uloží procesor do zásobníkové paměti adresu instrukce, u které v původním programu skončil, spolu s obsahem všech pomocných registrů, přijme žádost o přerušení (INTE = 1) a spustí nový program. Po jeho skončení načte ze zásobníkové paměti vše potřebné a pokračuje v práci na původním programu. HLDA splnění příkazu k zastavení HOLD příkaz k zastavení Zastavení procesoru je stav, ve kterém se procesor elektricky odpojí od vnějších sběrnic. Používá se především při přímém přístupu do paměti (DMA). Při běžné komunikaci mezi vstupními a výstupními zařízeními a pamětí se totiž jednotlivé byty vždy nejprve uloží do střadače A a odsud se odešlou na místo určení. Při přenosech většího množství dat je tento způsob pomalý. Příslušné periferní zařízení potom vyšle příkaz HOLD a po potvrzení odpojení mikroprocesoru signálem HLDA převezme řízení vnějších sběrnic a provede komunikaci s pamětí přímo, bez vměšování mikroprocesoru. Po jejím skončení se procesor ze stavu zastavení dostane pomocí žádosti o přerušení (tu může vyslat zařízení, které původně iniciovalo příkaz k zastavení a signalizuje tak, že již dále nepotřebuje DMA). WAIT signalizace, že procesor je ve stavu čekání. READY signál, že na datové sběrnici jsou data, která procesor potřebuje. Čekání je stav, ve kterém se procesor nalézá, pokud pro svou práci potřebuje data z některého vstupního zařízení (např. z klávesnice). Do tohoto stavu se dostane automaticky např. po instrukci pro čtení ze vstupního zařízení. Mikroprocesor nic neprovádí a čeká na signál READY, který mu signalizuje, že potřebná data jsou na datové sběrnici a že si je může převzít. (Ve stavu čekání je procesor např. po rozběhu počítače, kdy počítač nic neprovádí a na monitoru bliká kurzor. Po zadání příkazu a jeho odeslání klávesou ENTER se vytvoří signál READY, procesor příkaz převezme a začne vykonávat...). SYNC je synchronizační signál, oznamující ostatním částem mikropočítače začátek pracovního cyklu a výstup tzv. stavového slova procesoru. Synchronizace je nutná vzhledem k tomu, že mikroprocesor musí prakticky každou instrukci provádět ve spolupráci s dalšími obvody (s pamětí, vstupními a výstupními obvody atd.). Provedení každé instrukce se skládá ze dvou či více kroků, tzv. pracovních (nebo strojových) cyklů. V prvním cyklu dochází k vyhledání a k načtení instrukce 34
3
do registru instrukce a k dekódování instrukce, ve druhém a případně v dalších cyklech k jejímu provedení a k nastavení adresy následující instrukce. Na počátku každého pracovního cyklu musí mikroprocesor jednak upozornit okolí, že začíná nový pracovní cyklus (k tomu slouží právě signál SYNC), a jednak oznámit, co mají v daném cyklu dělat další obvody mikropočítače (tedy, např. má-li být paměť v režimu zápis, nebo v režimu čtení atd.). To provádí vysláním binárního čísla na datovou sběrnici - toto číslo se označuje jako stavové slovo procesoru. f1, f2 časovací signály, jejichž smysl byl vysvětlen v odstavci o časování mikroprocesorů RESET signál pro restartování procesoru. 5.1.2 Pole pomocných registrů Mikroprocesor 8080A představoval typický registrově orientovaný mikroprocesor, byl tedy doplněn polem pomocných registrů W, Z, B, C, D, E, H, L. Jsou to 8 bitové registry, složené z klopných obvodů. Pro práci s 16 bitovými čísly, např. s adresami, mohou být spojovány do registrových párů BC, DE a HL, se kterými je potom možno pracovat jako s 16 bitovými registry. Registry W a Z jsou tzv. interní registry procesoru. Procesor s nimi pracuje podle své potřeby, ukládá si do nich informace při výkonu instrukcí, ale uživateli nejsou přístupné. Příkladem jejich použití může být činnost při výměně hodnot mezi dvěma registry, např. mezi D a E (viz. obr.) 1)
D
2) 3
D
3
5
5 E
W
5 E
3
3)
D
W 5
3
3 E
Obr. Výměna hodnot mezi dvěma registry Registry B, C, D a E mohou být používány vcelku libovolně podle potřeb uživatele při tvorbě programu. Jsou to běžně přístupné pomocné registry. Registry H a L většinou nevystupují samostatně, ale jako 16 bitový dvouregistr HL jsou používány pro adresování. (Procesor 8080A má jednoduché registrové adresování, to znamená, že adresa požadovaného místa v paměti je uložena v některém z registrů, odkud se v nezměněné podobě odesílá na adresovou sběrnici. Jako adresový registr se běžně používá PC, SP a HL.) 5.1.3 Skupina mikroprocesoru. Mikroprocesor 8080A byl ještě poměrně jednoduchý mikroprocesor, který pro svou činnost potřeboval několik dalších podpůrných obvodů. Celek, tvořený mikroprocesorem a jeho podpůrnými obvody se nazýval skupina mikroprocesoru. Minimální skupina mikroprocesoru je potom minimální provozuschopná kombinace mikroprocesoru a podpůrných obvodů. U procesoru 35
36
8080A je tato minimální skupina mikroprocesoru tvořena kromě mikroprocesoru ještě generátorem hodin, dodávaným pod označením 8224, a budičem řídicí a datové sběrnice, označovaným 8228. 0V +6 V -5 V +12 V
adresová sběrnice (16 bitů)
mikroprocesor 8080A
HOLD INT INTE XTAL
WR
RESIN
WAIT READY RESET SYNC
BUDIČ SBĚRNICE 8228
STSTB BUSEN
datová sběrnice (8 bitů)
8224
φ2
řídicí sběrnice (5 bitů)
GENERÁTOR
READYIN HODIN
datová sběrnice (8 bitů)
φ1
DBIN HLDA
Obr. Minimální skupina mikroprocesoru Generátor hodin 8224 plní tři základní úlohy: 1) Generuje časovací signály f1 a f2 pro mikroprocesor. Základní frekvence je dána krystalickým oscilátorem XTAL, který vytváří sinusové napětí o pevné, neměnné frekvenci. Od tohoto napětí potom obvod odvozuje obdélníkové signály f1 a f2 o potřebné frekvenci, tvaru a velikosti. 2) Synchronizuje vstupní signály RDYIN a RESIN s časovacími impulzy a přetváří je na signály READY a RESET. Vzhledem k tomu, že činnost procesoru probíhá v taktech, jak bylo vysvětleno v odstavci o časování, mohou tyto signály vstoupit do procesoru pouze v okamžiku časovacího impulzu. Stisknutí např. tlačítka RESET na počítači generuje signál
36
3
taktovací impulzy
RESIN. Generátor hodin tento signál přijme a pošle jej do procesoru až s následujícím časovacím impulzem.
RESIN
t
RESET
t
t
Obr. Přeměna RESIN na RESET 3) Zpracuje signál SYNC z mikroprocesoru a přetváří jej na signál STSSTB, který slouží pro synchronizaci dalších částí mikropočítače s mikroprocesorem (potřebu synchronizace jsme vysvětlili v odstavci o signálu SYNC). Generátor hodin, plnící výše popsané funkce, je součástí všech mikropočítačů, i těch s novými typy procesorů. V současnosti nejde o samostatný obvod, ale je součástí integrovaného obvodu řídícího základní desku počítače. Krystalický oscilátor je možno nalézt na této desce počítače, obvykle jde o součástku v kovovém pouzdře, na kterém je uvedena výstupní frekvence oscilátoru v MHz. Budič řídící a datové sběrnice 8228 plní tyto dvě úlohy: 1) Přebírá a vyhodnocuje stavové slovo procesoru a generuje podle něj signály pro řídicí sběrnici, kterými nastavuje činnost dalších obvodů mikropočítače v daném pracovním cyklu. 2) Podle signálu DBIN a dalších řídicích signálů řídí směr přenosu informací po datové sběrnici. Jsou tři možné stavy přenosu - přenos dat z procesoru na sběrnici, ze sběrnice do procesoru, nebo zablokování přenosu a faktické odpojení procesoru od datové sběrnice.
37
38
U novějších typů procesorů, počínaje 8086, jsou tyto funkce již naintegrovány v mikroprocesoru a mikroprocesor řídí datovou sběrnici a generuje signály pro řídicí sběrnici sám. Mikroprocesor 8080A byl zatím nejmasověji vyráběným mikroprocesorem v historii, vyráběl se dokonce i v Československu v 80. letech. V současnosti se některé jeho klony stále ještě používají v jednodušších systémech číslicové regulace, počítače s ním však jsou již historickou kuriozitou.
38
3
5.2 Intel 8086 Nástupcem procesoru 8080A se nestal jen o málo zdokonalený typ 8085, lišící se pouze zdokonaleným instrukčním souborem, ale až 16 bitový procesor 8086 s 20 bitovou adresovou sběrnicí (umožňující adresovat v té době neuvěřitelně velkou paměť - 1 MB), vyráběný od roku 1978. Přinesl natolik zásadní změny, že po určitou dobu musel být dodáván ve verzi 8088, která představovala určitý ústup zpět k 8 bitovým procesorům - bylo to nutné vzhledem k tomu, že se v té době ještě nevyráběly další komponenty počítačů, schopné pracovat s 8086. Procesor 8086 (nebo 8088) se stal základem ve své době úspěšných počítačů PC XT. Množství programů, které byly pro tento procesor napsány, si vynutilo zachování základních rysů 8086 i u dalších procesorů firmy Intel. Byl proto u nich zaveden tzv. reálný režim činnosti, kdy každý z novějších procesorů pracuje jako velmi rychlá verze procesoru 8086. Proto se s činností 8086 seznámíme podrobněji. 5.2.1 Blokové schéma U procesoru 8086 se poprvé objevují náznaky dalšího vývoje směrem k tzv. skalární architektuře a k pipeliningu. U předcházejících typů mikroprocesorů probíhalo zpracování instrukce způsobem popsaným v kapitole o obecném řadiči. Zpracovávala se vždy jen jedna instrukce v daném instrukčním cyklu. To znamenalo, že vždy pracovala jen jedna část procesoru a ostatní stály (Např. v době, kdy dekodér prováděl dekódování instrukce, nepracovala žádná jiná část procesoru.). Skalární architektura představuje takové uspořádání procesoru, kdy je tento procesor rozdělen na jednotlivé funkční jednotky, provádějící víceméně nezávisle na sobě jednotlivé kroky instrukčního cyklu. Jejich spolupráci si nejlépe můžeme představit jako práci dělníků na výrobním pásu, kdy každý pracovník vykonává určitou dílčí operaci a předává výrobek následujícímu. Na páse je v každém okamžiku tolik rozpracovaných výrobků, kolik je u pásu pracovníků. Pracovní čas každého z nich je efektivněji využit než kdyby pracovali každý samostatně. Procesor tak může obdobně rozpracovat několik instrukcí současně např. zatímco jednu instrukci provádí, může následující dekódovat a další třeba načítat atd. U procesoru 8086 jde teprve o první kroky v tomto směru. Procesor je rozdělen na dvě jednotky - jednotku řízení sběrnic BIU a výkonnou jednotku EU. Jednotka BIU plní tyto úlohy: 1) Vypočítává adresy (způsob výpočtu popíšeme dále) 2) Řídí přenos dat po sběrnicích a generuje signály pro řídicí sběrnici. 3) Vyhledává a načítá instrukce do fronty instrukcí. Fronta instrukcí je řada propojených registrů, které si předávají informace jako v reálné frontě (např. v obchodě). Je-li první instrukce odebrána ze fronty k dalšímu zpracování, posunou se ostatní ve frontě o jedno místo dopředu a na uvolněné místo na konci fronty je možno načíst další instrukci.
39
40
Jednotka EU
Jednotka BIU
Datové registry
AX
AH
AL
Segmentové registry Střadač
CS
Kódový segment
BX
BH
BL
Báze
CX
CH
CL
Čítač
DS
Datový segment
DX
DH
DL
Data
SS
Zásobníkový segment
ES
Extra segment
IP
Čítač instrukcí
Ukazatele a indexové registry
SP
Ukazatel zásobníku
BP
Ukazatel báze
SI
Zdrojový index
DI
Cílový index
Sčítačka (20 bitů) - generování adres Řízení sběrnic
fronta instrukcí
Operandy D.I
6 5
A.L.U
4 Č.Ř.O F
3 2 1
Obr. Blokové schéma 8086 Jednotka EU plní tyto úlohy: 1) Přebírá instrukce z fronty instrukcí 2) Dekóduje instrukce. 3)Provádí instrukce. Obě jednotky pracují do jisté míry nezávisle jedna na druhé. Jednotka BIU připravuje instrukce do fronty, jednotka EU je odebírá, dekóduje a provádí. Procesor za běžných okolností nemusí čekat na přístupy do paměti a na čtení z paměti, čímž se jeho činnost podstatně zrychluje.
40
4
Jednotka BIU ovšem načítá instrukce do fronty postupně, tak, jak jsou uloženy v paměti (od nejnižší adresy k nejvyšší). Pokud je v programu instrukce skoku, zjistí se to až při dekódovaní a provádění instrukce v jednotce EU. Instrukce, načtené ve frontě, jsou nyní zbytečné, jednotka BIU se musí nastavit na cílovou adresu skoku a fronta se načítá znovu. Instrukce skoku tedy dost podstatně zpomalují činnost procesoru. Adresování se provádí výpočtem, využívá se zde tzv. segmentové adresování. Princip tohoto adresování spočívá v tom, že celá paměť je rozdělena na jednotlivé úseky, zvané segmenty. Adresu konkrétního místa v paměti potom vypočteme jako součet adresy počátku příslušného segmentu a tzv. offsetu (posunu), který říká, kolikáté paměťové místo v příslušném segmentu chceme adresovat. Výsledná 20 bitová adresa se skládá ze dvou 16 bitových čísel. První z nich se bere z některého ze segmentových registrů v jednotce BIU. Přidáním čtyř 0 na konec tohoto čísla získáme adresu počátku daného segmentu. Druhé představuje offset, bereme je z některého z indexových registrů a přičteme je k adrese počátku segmentu. Maximální délka segmentu je tedy 216 = 64kB. Segmenty se mohou vzájemně překrývat, nejsou nijak chráněny proti přepisu (ochrana musí být zajišťována programově).
paměť RAM
posun (offset) = adresa požadovaného místa v paměti
adresované místo
Segment (64 kB)
+
počátek segmentu Posun (počet paměťových míst od počátku)
adresa počátku segmentu
Obr. Princip segmentového adresování Příklady výpočtu adres: 41
42
a) Adresa instrukce: CS
0000
+
CS ... segmentový reg. pro kódový segment
IP
IP ... čítač instrukcí
Fyzická adresa instrukce Pozn.: Segment, obsahující instrukce programu, se označuje jako kódový segment. b) Adresa místa v zásobníkové paměti SS +
0000 SP
SS ... segmentový registr zásobníkového segmentu SP ... ukazatel zásobníkové paměti
Fyzická adresa místa v zásob. paměti Pozn.: Segment, obsahující zásobníkovou paměť, se označuje jako zásobníkový segment. Ukazatel zásobníku SP je na počátku nastaven na maximální hodnotu (FFFF). Při ukládání do zásobníkové paměti se ukládají opět dva byty, to znamená, že se SP při zápisu zmenšuje o 2 a při čtení zvětšuje o 2. V jednom zásobníkovém segmentu může být několik zásobníkových pamětí, je však třeba programově hlídat, aby nedošlo k jejich vzájemnému překrývání. c) Adresa dat DS +
0000
např. SI nebo DI
DS ... segmentový registr datového segmentu SI, DI ... indexové registry
Fyzická adresa dat Pozn.: Segment, obsahující data, se nazývá datový segment. Registry, které obsahují offset dat, se nazývají indexové registry. V některých případech je možno offset vypočítávat i sečtením dvou indexových registrů. d) Extra segment - jde o speciální segment, se kterým může uživatel nakládat jak potřebuje. Jeho počáteční adresu získáme přidáním čtyř 0 k obsahu segmentového registru ES, offset se obvykle opět určuje pomocí indexových registrů. Výpočet adresy probíhá ve 20 bitové sčítačce v jednotce BIU, adresa se neukládá do žádného registru a je rovnou odesílána na adresovou sběrnici. Kromě 42
4
této sčítačky obsahuje BIU obvody řízení sběrnic, čtyři výše popsané segmentové registry, čítač instrukcí IP, rovněž popsaný výše, a šestičlennou frontu instrukcí. Registry v této frontě jsou 8 bitové, jedna instrukce tedy může zabírat i několik míst ve frontě. Jednotlivé byty jsou předávány do dekodéru v jednotce EU, po každém předání se obsah zbývajících registrů posune o jedno místo ve frontě dopředu a na uvolněné místo na konci fronty načte jednotka BIU další byte z paměti. Jak jsme již dříve uvedli, tento postup dobře pracuje, pokud nedochází k instrukci skoku. V případě skoku je třeba nově nastavit buď pouze hodnotu IP (blízký skok), nebo IP i CS (daleký skok) a celou frontu načítat znovu. Jednotka EU pracuje do jisté míry nezávisle na BIU. Jak jsme již uvedli, dekóduje a provádí jednotlivé instrukce. Její operační blok může provádět výpočty s 8-bitovými a 16-bitovými čísly, oproti 8080A má již instrukce pro provádění násobení a dělení (dokonce ve dvou variantách - se znaménkem a bez znaménka). Pozn.: Při násobení a dělení bez znaménka jsou násobena nebo dělena celá 8 bitová nebo 16 bitová čísla. Při násobení a dělení se znaménkem je nejvyšší bit (na „levé“ straně čísla) používán jako znaménko, tedy 0=+, 1=-. Vlastní číslo je pak složeno ze zbývajících 7 nebo 15 bitů. Registr příznaků F obsahuje příznaky AF, CF, ZF a PF se stejnou funkcí, jakou jsme si popsali u procesoru 8080A. Přibývá zde příznak OF, který spolu s CF signalizuje přetečení. Rozdíl je v tom, že příznak CF nabývá hodnoty 1 při přetečení o jeden řád, OF při přetečení o více než jeden řád. Vzhledem k zavedení funkcí násobení a dělení je třeba respektovat možnost, že výsledek násobení dvou 16-bitových čísel může být až 32 bitové číslo. U procesoru 8086 se také poprvé kromě stavových příznaků objevují tři řídicí příznaky, nastavované pomocí instrukcí a měnící podstatným způsobem činnost procesoru: IF - umožňuje nastavením hodnoty tohoto příznaku na 1 zakázat tzv. maskovatelná přerušení (bude vysvětleno dále). TF - nastavením tohoto příznaku na hodnotu 1 přejde procesor do režimu krokování. V tomto režimu procesor neprovádí program jako celek, ale provede vždy jen jednu instrukci a po ní přeruší svou činnost. Po dalším spuštění provede další instrukci atd. Tento režim je využíván pro odlaďování programů, kdy po každé jednotlivé instrukci můžeme zkontrolovat, zda program provádí to, co jsme od něj očekávali. DF - tímto příznakem je mění směr zpracovávání tzv. řetězců. Instrukční soubor 8086 obsahuje skupinu instrukcí, které zpracovávají nikoliv jednotlivá čísla, ale celé úseky paměti, označované jako řetězce. Tyto úseky paměti je možno zpracovávat ve dvou směrech - od nejnižší adresy k nejvyšší, nebo od nejvyšší adresy k nejnižší. Volba směru zpracovávání je dána tímto příznakem. Je-li nastavena 0, je směr od nejnižší adresy k nejvyšší, je-li nastavena 1, je směr od nejvyšší adresy k nejnižší. Systém přerušení je u 8086 podstatně propracovanější, než u předchozích typů. U tohoto procesoru rozeznáváme přerušení externí a interní. Požadavek na
43
44
externí přerušení přichází z vnějšku, z jiných částí počítače, požadavek na interní přerušení vzniká uvnitř procesoru, v průběhu zpracovávání přerušení. Externí přerušení rozdělujeme na maskovatelná a nemaskovatelná. Tato přerušení jsou rozlišena různými vstupy na pouzdře mikroprocesoru. Nemaskovatelná přerušení musí být vždy vyhodnocována, není možno je zakázat. Maskovatelná přerušení je možno zakázat nastavením příznaku IF na 1. Žádosti o přerušení, přicházející na příslušný vstup procesoru, jsou potom ignorovány. Toho se využívá tehdy, když procesor provádí část programu, kterou autor považuje za natolik důležitou, aby bylo třeba zabránit všem méně významným přerušením. Interní přerušení mohou vzniknout: a) Kritickou chybou programu. Typickým příkladem takového přerušení je přerušení, které vznikne, pokud dojde v běhu programu k dělení nulou. b) Nastavením režimu krokování. Nastavením příznaku TF na 1 začne procesor pracovat v režimu krokování, to znamená, že po každé instrukci dojde k přerušení. Význam tohoto režimu jsme si vysvětlili výše. c) Instrukcí. V programu můžeme přímo předepsat určité přerušení podmíněnou nebo nepodmíněnou instrukcí. Podmíněná instrukce je vázána na některý příznak, např. instrukce INTO se provede, pokud platí příznak OF=1. Nepodmíněná instrukce má tvar INT n, kde n je přirozené číslo v rozsahu 0 až 255. Význam těchto čísel si vysvětlíme dále. Nemaskovatelná (vstup NMI) Externí (vnější) Maskovatelná (vstup INTR) Přerušení Interní (vnitřní)
Krokování (TF=1)
Kritická chyba (dělení nulou) Podmíněné (INTO) Instrukcí Nepodmíněné (INTn)
Obr. Přerušení Na nejnižších adresách paměti, od adresy 0, je úsek o délce 1 kB, vyhražený pro tzv. vektory přerušení. Vektor přerušení je tvořen 4 byty, v 1 kB paměti je tedy prostor pro 256 takových vektorů. Každé vnitřní i vnější přerušení má přiděleno jedno číslo od 0 do 255. Při vyvolání určitého přerušení provede procesor skok na vektor přerušení, jehož číslo odpovídá typu daného přerušení (tedy, jde-li o INT 4, skočí na pátý vektor přerušení, protože první vektor odpovídá INT 0). Čtyři byty tohoto vektoru obsahují adresu počátku segmentu a offset místa, na kterém v paměti začíná obslužný program přerušení. Po skončení programu přerušení pokračuje procesor buď ve zpracovávání programu
44
4
následující instrukcí za instrukcí, která přerušení vyvolala, nebo např. restartováním procesoru atd. Příklad: Volání programu pro obsluhu myši adresy
INT 0 INT 1 INT 2 INT 3 počátek segm. posun
INT 4
1023
Hlavní program
Začátek programu
Volání přerušení
INT 4
Ovladač myši
Začátek ovladače myši
Návrat do hlavního programu
Konec programu
Skok na adresu, obsaženou ve vektoru přerušení
Skok na příslušný vektor přerušení
Oblast vektorů přerušení (1 kB)
0 1 2 3 4 5 6 7 8 9
provedení Konec ovladače myši
Obr. Volání ovladače myši pomocí přerušení Určitou specifikou procesorů řady 80x86 jsou rozdělitelné pracovní registry. 16 bitové registry AX, BX, CX a DX mohou být používány i jako dva 8 bitové registry AH, AL, BH, BL, CH, CL, DH a DL (podobné dělení je možné i u dalších, 32 bitových procesorů) . Každý z registrů má poněkud specifické použití. Například registr CX slouží jako čítač opakování, to znamená, že číslo v něm u tzv. instrukcí cyklu určuje, kolikrát se má určitá instrukce nebo skupina instrukcí opakovat. Registr BX se používá pro převody mezi kódy, především pro převod z binárního kódu do kódu BCD atd. 45
46
Procesor 8086 mohl pracovat ve dvou módech, v minimálním módu a v maximálním módu. V minimálním módu pracuje v systémech s menším počtem dalších obvodů. Veškeré řídící signály pro řídicí sběrnici si v tomto módu generuje sám, musí být doplněn pouze generátorem hodin 8284A. V maximálním módu pracuje procesor s v systémech s větším množstvím obvodů, kterým by procesor sám o sobě nedokázal zaručit potřebné elektrické parametry signálu na řídicí sběrnici. V tomto režimu musí být procesor doplněn řadičem sběrnice 8288. Kromě těchto obvodů byl k procesoru 8086 dodáván matematický koprocesor 8087 a koprocesor pro řízení vstupů a výstupů 8089.
46
4
5.3 Intel 80286 Procesor 80186, vyráběný jako nástupce 8086, byl komerčně neúspěšný a dodával se pouze po krátkou dobu. Počítače vybavené tímto procesorem patří svým způsobem mezi kuriozity. Zásadní kvalitativní zlom přichází až v roce 1983 s nástupem procesoru 80286. Tento procesor s 16 bitovou datovou sběrnicí a 24 bitovou adresovou sběrnicí znamenal další výrazný pokrok pipeliningu a skalární architektury.
DB 16 bitů
IU
BU fronta instrukcí
fronta dekódovaných instrukcí
EU
AB 24 bitů
AU
Obr. Jednotky 80286 Procesor je rozdělen na čtyři funkční jednotky, z nichž každá provádí určitý krok instrukčního cyklu. Jednotky mezi sebou komunikují především pomocí front. Adresová jednotka AU provádí výpočet adresy způsobem, který si popíšeme dále. Zatím si můžeme uvést, že způsob adresování závisí na tom, v jakém režimu procesor právě pracuje. Adresová jednotka předává vypočtenou adresu sběrnicové jednotce. Sběrnicová jednotka BU řídí sběrnice, generuje signály pro řídicí sběrnici, načítá z paměti instrukce a umísťuje je do šestičlenné fronty instrukcí. Odsud je přebírá instrukční jednotka. Instrukční jednotka IU přebírá instrukce z fronty, kam jí je připravila BU. Provádí dekódovaní instrukcí a v dekódované podobě ukládá instrukce do další, tříčlenné fronty, odkud je přebírá výkonná jednotka. Výkonná jednotka EU přebírá dekódované instrukce a provádí je.
47
48
Zpracování instrukcí je velmi rychlé, pokud v programu nejsou instrukce skoku. Problémem opět je, že v okamžiku, kdy EU provádí instrukci skoku, je již v různých stádiích rozpracování několik dalších instrukcí, načtených ze špatných adres. V takovém případě je nutno zpracovávání přerušit a načíst znovu instrukce z cílové adresy skoku. je tedy jasné, že rychlost procesoru velmi záleží na způsobu napsání programu. Procesor může pracovat ve dvou režimech. Po zapnutí se nachází v tzv. reálném režimu, ve kterém se chová jako rychlý procesor 8086, schopný pracovat s větší pamětí (délka adresy není 20 bitů, jako u 8086, ale 24 bitů). Pomocí nového řídicího příznaku PE je možno procesor přepnout do chráněného režimu, ve kterém plně využívá svých možností, včetně specifického adresování, odlišného způsobu zpracování přerušení atd. Přepnutí zpět do reálného režimu je u 80286 možné pouze pomocí RESET. Procesor je od počátku přizpůsoben tzv. multitaskingu (v chráněném režimu), to znamená, že je schopen současně mít rozpracováno několik úloh a přeskakovat z jedné do druhé (typické např. u Windows). Pro tyto účely si rozděluje paměť na jeden tzv. globální paměťový prostor a jeden či více (podle počtu rozpracovaných úloh) lokální paměťový prostor. Globální paměťový prostor je přístupný všem rozpracovaným úlohám, jednotlivé lokální prostory jsou vždy vyhrazeny pouze pro jednu úlohu a ostatní úlohy do těchto částí paměti nemají přístup. V reálném režimu procesor adresuje obdobně jako 8086, to znamená, že výsledná adresa se skládá z adresy počátku segmentu a z offsetu. Rozdíl je v tom, že výsledná adresa je 24 bitová, , že za 16 bitové číslo ze segmentového registru je nutno přidat čtyři 0 před a čtyři 0 za číslo, abychom získali adresu počátku segmentu. V reálném režimu je možno přímo adresovat pouze 1 MB paměti, další paměť musí být adresována např. pomocí systému „expanded memory“ (bude vysvětleno v kapitole o pamětech). V chráněném režimu je situace poněkud odlišná. Především zde rozlišujeme virtuální adresu a reálnou adresu.
REÁLNÁ PAMĚŤ
VIRTUÁLNÍ ADRESA Offset (16 bitů)
Selektor (16 bitů) Index (13 bitů)
TI
RPL (2 b)
posun
GDT/LDT 8192 položek tabulek popisovačů segmentů GDT nebo LDT
24 bitová reálná adresa
+ Popisovač segmentu (64 bitů)
Adresované místo v paměti
24 bitová adresa počátku segmentu (báze segmentu)
Obr. Určování adresy u 80286 v chráněném režimu
48
4
Virtuální adresa je tvořena dvěma 16 bitovými čísly, selektorem a offsetem. Offset má stejný význam jako při běžném segmentovém adresování. Selektor se však skládá ze tří částí (bráno zleva): 13 bitů tvoří Index, 1 bit TI 2 bity RPL Nejsnáze je možno vysvětlit význam bitu TI. Má-li hodnotu 0, adresujeme v globálním paměťovém prostoru, má-li hodnotu 1, adresujeme v jednom z lokálních paměťových prostorů. Dva bity RPL určují tzv. úroveň oprávnění, související s ochranou jednotlivých částí paměti. Tento pojem si ještě dále vysvětlíme. Index určuje číslo popisovače segmentů, který vybíráme z tabulky popisovačů segmentu. Je-li TI = 0, vybíráme popisovač segmentu z tabulky GDT. Pokud je TI = 1, vybíráme z příslušné tabulky LDT (Jak je určováno z které je mimo rámec těchto skript. Náročnějším zájemcům je možno alespoň naznačit, že tabulka GDT obsahuje mj. i adresy počátků všech vytvořených tabulek LDT, takže nejprve musíme v GDT vyhledat tuto adresu a potom teprve můžeme pracovat s příslušnou tabulkou. Podrobnější popis např. viz. „Mikroprocesory Intel“, M. Brandejs, nakladatelství GRADA 1991). Tabulka může obsahovat celkem 213, tedy 8192 popisovačů segmentů. Popisovač segmentu se u 80286 skládá z 8 bytů (jeho délka je tedy 64 bitů). Můžeme si ho představit jako jakýsi kartotéční lístek, obsahující všechny podstatné informace o příslušném segmentu. První dva byty zleva jsou nevyužity, využívá je až procesor 80386 a další. Třetí byte vyjadřuje přístupová práva do daného segmentu (jaký typ informací segment obsahuje, jak je chráněn, která úloha nebo úlohy do něj mohou vstupovat atd.). Čtvrtý, pátý a šestý byte obsahují bázi segmentu, tedy jeho 24 bitovou počáteční adresu. Sedmý a osmý byte obsahuje limit segmentu, tedy jeho délku. Délka segmentu se u 80286 a dalších procesorů tedy může měnit, u 80286 od 0 do 216, tedy 64 kB.
Popisovač segmentů (64 bitů) 0 (16 bitů)
Přístupová práva (8 bitů)
Báze segmentu (24 bitů)
Limit segmentu (16 bitů)
Obr. Popisovač segmentu 80286 Při výpočtu adresy se nejprve dle bitu TI určí, se kterou z tabulek GDT a LDT se bude pracovat. Potom se podle indexu určí příslušný popisovač segmentu z příslušné tabulky. Z něj se vezme báze segmentu a zkontroluje se, není-li offset větší než limit segmentu. Potom se sečte báze segmentu a offset a tím se získá reálná adresa v paměti RAM, kterou jednotka BU odešle na adresovou sběrnici. Multitasking je realizován tak, že v globálním paměťovém prostoru je vymezena určitá část pro tzv. tabulky TSS. Každá z úloh, které jsou otevřeny, má 49
50
svou vlastní tabulku TSS. Poloha těchto tabulek je zaznamenána pomocí popisovačů TSS, uložených v tabulce GDT. Délka každé tabulky TSS je 44 bytů (352 bitů) a při práci na příslušné úloze se do ní průběžně kopírují obsahy všech registrů procesoru. Při přeskoku do jiné úlohy zůstane v tabulce TSS původní úlohy zachován poslední stav procesoru při práci na této úloze. Při návratu do této úlohy je tedy možno tento stav obnovit a pokračovat v práci na dané úloze tam, kde jsme skončili. Podle typu uložených informací se segmenty rozlišují na datové, instrukční, systémové a bránové. Bližší podrobnosti o těchto segmentech je opět možno nalézt ve zmíněné publikaci. Z hlediska ochrany jednotlivých segmentů je používáno systému úrovní oprávnění. V popisovači segmentů jsou v bytu přístupových práv dva bity, zařazující příslušný segment do jedné ze čtyř úrovní oprávnění 00 (nejvyšší), 01, 10 a 11 (nejnižší). Není-li stanoveno jinak, jsou první tři úrovně vyhrazeny pro různé funkce operačního systému a čtvrtá je pro uživatelské úlohy. Existují jednoznačná pravidla, která určují, jaké úrovně oprávnění musí mít jednotlivé segmenty při přechodu z jednoho segmentu do druhého. Jsou tedy prakticky vyloučeny situace, kdy by nechtěně došlo k přemazání informací jednoho programu činností jiného programu. Přerušení v reálném režimu jsou obdobná, jako u 8086. V chráněném režimu se číslo přerušení odvolává na jeden z 256 popisovačů segmentů s rutinami obsluhujícími přerušení, který nalezne v tabulce IDT. I zde mohou být v popisovači přerušení rozlišena na maskovatelná a nemaskovatelná. Přepnutí z jedné úlohy do druhé s využitím TSS rovněž probíhá jako zvláštní typ přerušení. Procesor 80286 byl doplněn matematickým koprocesorem 80287, který výrazně urychloval činnost výsledného počítače. Procesor 80286 byl základem počítačů třídy PC AT/286.
50
5
5.4 Intel 80386 SX a DX V roce 1985 se objevil nástupce procesoru 80286, 32 bitový procesor 80386. Vyráběl se ve dvou variantách. Varianta 80386 SX vnitřně pracovala jako 32 bitový procesor, navenek však komunikovala pomocí 16 bitové datové sběrnice a 24 bitové adresové sběrnice. Hlavním důvodem jejího zavedení byla možnost využívat starší typy komponentů počítačů, určené pro 80286 - šlo tedy o podobný vztah, jako mezi 8086 a 8088. 80386 DX byl již plně 32 bitový mikroprocesor, to znamená, že byl vybaven 32 bitovou datovou sběrnicí a 32 bitovou adresovou sběrnicí. Šířka adresové sběrnice procesoru umožňovala přímo adresovat 4 GB fyzické paměti a, s použitím stránkování, až 64 TB virtuální paměti. („Virtuální paměť“ je takový režim spolupráce mezi pevným diskem a vnitřní pamětí, kdy počítač průběžně odkládá nepoužívané části informace na disk a snaží se načítat předem z disku potřebné informace. Pokud by vše ideálně fungovalo, měl by vždy potřebné informace ve vnitřní paměti a nemusel by čekat na načítání z disku. Choval by se tedy jako kdyby jeho vnitřní paměť měla stejnou kapacitu jako pevný disk. I když takového optimálního výsledku není nikdy běžně dosahováno, vede použití virtuální paměti ke zrychlení práce počítače.) Jde o tak velkou kapacitu paměti, že další změny adresování u následujících typů procesorů již nebyly nutné a způsob adresování, který si popíšeme u 80386 DX platí i pro 80486 a Pentium. U procesoru 80386 rovněž dochází ke změnám jeho vnitřní struktury.
DB 32 bitů fronta instrukcí
IU fronta dekódovaných instrukcí
EU
BU CPU AB 32 bitů
SU PU Obr. Jednotky 80386
51
52
Segmentační jednotka SU a stránkovací jednotka PU slouží k výpočtu adresy způsobem, který si popíšeme dále. Pokud není zapnuto stránkování, určuje adresu pouze SU, pokud je zapnuto, podílejí se na výpočtu adresy obě jednotky. Sběrnicová jednotka BU řídí komunikaci procesoru s okolím pomocí sběrnic, organizuje přenos informací mezi procesorem, pamětí a vstupními a výstupními zařízeními. Adresy přebírá z SU a případně i z PU. Jednotka předvýběru instrukcí CPU vybírá prostřednictvím BU z paměti instrukce a řadí je do 16 B dlouhé instrukční fronty. Částečně již respektuje instrukci skoku - pokud na ni narazí, načítá další instrukce z cílové adresy skoku bez ohledu na to, šlo-li o skok podmíněný nebo nepodmíněný. Zpoždění špatným načtením instrukcí tedy nastává pouze tehdy, šlo-li o podmíněný skok, který se v daném případě neměl provést. Instrukční jednotka IU přebírá instrukce od CPU z fronty, dekóduje je na mikroinstrukce a v dekódované podobě je ukládá do další fronty. Výkonná jednotka EU přebírá dekódované instrukce z druhé fronty a co nejrychleji je provádí. V dalším popisu se soustředíme na 80386 DX. Procesor opět může pracovat ve dvou režimech, v reálném a v chráněném. V reálném režimu se chová obdobně jako velmi rychlý procesor 8086, je schopna adresovat 1 MB paměti, má obdobně organizovaná přerušení atd. Přepínání do chráněného režimu je realizováno pomocí řídicího příznaku. U 80386 je přepínání příznakem možné oběma směry, není tedy k návratu do reálného režimu nutný RESET jako u 80286. V chráněném režimu procesor plně využívá všech svých možností. Chráněný režim je organizován tak, aby v něm bylo možno bez úprav spustit programy, napsané původně pro chráněný režim 80286. Vzhledem k tomu, že při multitaskingu je někdy třeba souběžně provozovat úlohy pro reálný i pro chráněný režim, je u procesoru v chráněném režimu zaveden tzv. režim virtuální 8086 (V86). V tomto podrežimu si procesor vyhradí úsek paměti o délce 1 MB a ten zpracovává jako 8086, i když jinak pracuje v chráněném režimu jako plný procesor 80386. Adresování se liší podle režimu činnosti. V reálném režimu procesor opět pracuje přímo maximálně s 1 MB, adresuje segmentově a délka vypočtené adresy je, jako u 8086, 20 bitů. V režimu V86 pracuje v úlohách pro reálný režim opět s 1 MB paměti, ten však může být umístěn prakticky kdekoliv v reálné fyzické paměti (nemusí jít o 1. megabyte reálné paměti, jako v reálném režimu). V chráněném režimu procesoru 80386DX rozeznáváme při adresování tři typy adres - logickou adresu, lineární adresu a fyzickou adresu.
52
5
LOGICKÁ ADRESA Selektor (16 bitů) Index (13 bitů)
TI
Offset (32 bitů) RPL (2 b)
GDT/LDT +
8192 položek popisovačů segmentů GDT nebo LDT
32 bitová LINEÁRNÍ ADRESA Popisovač segmentu (64 bitů) 32 bitová báze segmentu
Obr. Převod logické adresy na lineární Logická adresa má podobnou strukturu jako virtuální adresa u 80286. Skládá se také ze selektoru (16 bitů) a offsetu (32 bitů). Selektor má přesně stejné složení (index, TI, RPL) jako u 80286. Offset je 32 bitový, to znamená, že délka segmentu může být prakticky neomezená (až 4 GB). Rozdělení paměťového prostoru na globální a lokální je obdobné, jako u 80286, stejný je i význam bitu TI. Podle něj se určuje je-li adresované místo v segmentu, jehož popisovač je v tabulce GDT (pro globální prostor), nebo v tabulkách LDT (lokální adresové prostory jednotlivých úloh). Index potom určuje se kterým popisovačem segmentu z příslušné tabulky chceme pracovat. Popisovače segmentů jsou opět složeny z 8 bytů (64 bitů). První byte zleva se spojuje s čtvrtým, pátým a šestým a dohromady tvoří 32 bitovou bázi segmentu (adresu počátku). Druhý byte je rozdělen na 2 x 4 bity. První 4 bity se připojují k třetímu bytu a rozšiřují popis přístupových práv na 12 bitů. Druhé 4 bity se přidávají k limitu segmentu (tedy k určení jeho délky) a rozšiřují jej na 20 bitů. Podle jednoho z bitů z přístupových práv se potom určuje měřítko, ve kterém je limit udán. Je-li měřítko 1 B, je maximální velikost segmentu 1 MB. Je-li zvoleno druhé měřítko, 4 kB, je maximální délka segmentu až 4 GB, jeho velikost se ovšem mění podle hodnoty limitu v krocích po 4 kB. Přístupová práva celkem 12 bitů
Popisovač segmentu (64 bitů)
Báze segmentu 4 bity k 4 bity k (prvních 8 bitů) přístup. limitu Přístupová práva právům segmentu
63
55
47
39
Limit segmentu (16 bitů)
Báze segmentu (24 bitů)
31
23
15
7
0
Báze segmentu celkem 32 bitů
Limit segmentu celkem 20 bitů
Obr. Popisovač segmentu u 80386
53
54
Lineární adresa se potom určí sečtením báze segmentu z vybraného popisovače segmentu a offsetu z logické adresy. Hodnota offsetu opět nesmí překročit limit segmentu z příslušného popisovače. Není-li zapnuto stránkování, je takto určená lineární adresa rovna 32 bitové fyzické adrese, která se odešle po adresové sběrnici do paměti. Je-li zapnuto stránkování (zapnutí provádí uživatel nastavením hodnoty příslušného řídicího příznaku), dochází k přepočtu lineární adresy na příslušnou stránku. Tohoto režimu se používá při práci s virtuální pamětí. V tomto režimu adresování je procesor schopen adresovat prakticky libovolně velkou paměť (až 64 TB). Hodnotami přístupových práv je možno opět funkčně rozdělit segmenty na datové, instrukční a systémové. Bližší popis je opět možno nalézt v publikaci „Mikroprocesory Intel - Pentium a spol.“, M. Brandejs, GRADA 1994. Systém ochran jednotlivých segmentů je zajištěn obdobným způsobem, jako u 80286. Podrobnosti je opět možno nalézt v citované publikaci. Přepínání úloh při multitaskingu probíhá obdobně, jako u 80286. TSS opět obsahuje kopie všech registrů v každém okamžiku práce v dané úloze. Vzhledem k tomu, že 80386 pracuje s 32 bitovými registry, je i minimální délka TSS větší - 104 B. Do TSS je možno ukládat i další hodnoty, např. zásobníkové paměti pro danou úlohu atd. Celková délka TSS tedy může být i podstatně větší než 104 B. Při přeskoku do jiné úlohy jsou v TSS opět uchovány všechny údaje o posledním stavu práce na původní úloze, takže je možno se načtením těchto hodnot do této úlohy kdykoliv vrátit a pokračovat v práci tam, kde se skončilo. Přerušení v reálném režimu probíhá podle pravidel pro procesor 8086. V chráněném režimu opět pracujeme (jako u 80286) s tabulkou IDT. Rovněž podrežim V86 vyhodnocuje přerušení pomocí tabulky IDT, instrukce pro přerušení se provede jako instrukce ve chráněném režimu. Zde mohou vznikat rozdíly oproti běžné práci v reálném režimu. Procesor 80386DX byl již natolik rychlý, že si vynutil zavedení pamětí CACHE, které jsme popsali v kapitole s celkovým přehledem mikroprocesorů. Mohl pracovat s matematickým koprocesorem 80387. Pro 80386SX byl vyráběn i koprocesor 80387 SX. Oba typy procesoru 80386 uměly využívat i starší matematický koprocesor 80287, určený původně pro počítače s procesorem 80286. Procesory 80386 tvořily základ počítačů třídy PC AT/386SX a PC AT/386DX. Počítače PC AT/386DX se dodnes vcelku běžně používají, dovedou (i když někdy velmi pomalu) pracovat s většinou programů, určených pro Windows 3.1x. Podmínkou je dostatečně velká paměť CACHE (alespoň 256 kB) a operační paměť větší než 4MB. I když se někdy tyto počítače levně prodávají, nelze jejich nákup doporučit vzhledem k nepříznivému poměru cena/výkon a k tomu, že je již velmi obtížné pro ně sehnat náhradní díly.
54
5
5.5 Intel 80486 Na typ 80386 navázal v roce 1989 další procesor, 80486. Jeho vnitřní struktura je obdobná struktuře 80386, vzhledem ke zdokonalení výrobní technologie však bylo možno zvýšit rychlost procesoru 3 až 5 krát a naintegrovat k němu na čip jednotku správy paměti, matematický koprocesor a tzv. interní paměť CACHE (u původních procesorů měla kapacitu 8 kB, u novějších až 16 kB). L1 CACHE
Matematický koprocesor fronta instrukcí
IU fronta dekódovaných instrukcí
DB 32 bitů
BU CPU AB 32 bitů
EU
SU PU Obr. Schéma 80486
V roce 1991 byl dán na trh lacinější procesor, označovaný 80486 SX. Výrobce uváděl, že tento procesor nemá matematický koprocesor, který je možno dokoupit pod označením 80487. Kromě něj se vyráběly typy označované 80486SLC a 80486DLC. Byly upraveny tak, aby je bylo možno zapojit do patic pro 80368SX (typ SLC) a 80386DX (typ DLC). Používaly se v některých noteboocích. V roce 1993 se objevila modifikace 80486DX2. Tento procesor byl schopen pracovat vnitřně s dvojnásobnou frekvencí, než na jaké pracoval zbytek počítače. Pokud byl tento obvod např. zapojen do počítače s pracovní frekvencí 40 MHz, pracoval procesor rychlostí 80 MHz. V roce 1994 se objevuje 80486DX4, u kterého však není pracovní frekvence čtyřnásobná (jak by naznačoval název), ale pouze asi trojnásobná. Důvod, který vedl Intel k použití čísla 4 v názvu, není dodnes jasný. Nevýhodou procesorů 80486 bylo poměrně velké zahřívání při provozu, bylo nutno používat speciální chladiče (kovové plochy pro odvod tepla, aktivní chlazení pomocí ventilátorku atd.). U procesoru 80486DX4 proto přistoupil výrobce ke snížení napájecího napětí z 5 V na 3,3 V, čímž se mu podařilo toto přehřívání do značné míry odstranit. Postupem času se snížené napájecí napětí začalo používat i u starších typů. Režimy činnosti, jejich přepínání, adresování paměti, zpracovávání přerušení, multitasking a další rysy činnosti jsou u 80486 totožné s dříve
55
56
popsaným procesorem 80386, nebudeme je tedy popisovat znovu. Zmíníme se pouze o rozdílech. Hlavní rozdíly v činnosti 80486 proti 80386 jsou dány právě použitím interní paměti CACHE a matematického koprocesoru v rámci jednoho obvodu. Je-li interní paměť CACHE (ICM) zapnuta (vypnutí se provádí pomocí řídicího příznaku, standardní nastavení je, že interní paměť CACHE je zapnuta), provede se při každém prvním čtení z externí paměti CACHE opsání údaje do jedné z položek ICM, které se přiřadí adresa čteného objektu. Při dalším čtení se vždy nejprve kontroluje, neshoduje-li se požadovaná adresa s adresou některé položky ICM. Pokud ano, provede se čtení z této položky. Pokud ne, provede se čtení z externí CACHE a zároveň se přečtená hodnota zapíše i do některé z položek ICM. Zápis se vždy provádí do externí CACHE s tím, že je-li adresa místa, na které se zapisuje, zároveň i adresou položky v ICM, provede se i zápis (aktualizace hodnoty) do této položky. Pokud toto místo v ICM není, provede se zápis jen do externí CACHE. Tento režim činnosti se označuje jako WriteThrough („zápis přes“). Druhým režimem činnosti paměti CACHE je WriteBack („zpětný zápis“). Informace se zapisuje pouze do paměti CACHE a dále se předává teprve při výměně celého bloku zpracovaných informací za nové. Podrobnosti o řízení interní paměti CACHE a o jednotlivých řídicích příznacích, kterými je možno nastavovat různé režimy činnosti této paměti je možno nalézt v publikaci „Mikroprocesory Intel 8086 - 80486“, M.Brandejs, GRADA 1991. Matematický koprocesor procesoru 80486 pracuje vnitřně s 80 bitovými reálnými čísly, které je schopen převádět i na jiné formáty čísel, používaných v počítačích (včetně kódu BCD). Obsahuje 8 datových registrů o délce 80 bitů a tři registry pro řízení funkce - řídicí, stavový a doplňující (každý z nich v délce 16 bitů). Řídicí registr nastavuje parametry výpočtu, jako je zaokrouhlování výsledků, kontrolu přesnosti výsledku, sledování chyb výpočtu atd. Stavový registr obsahuje údaje o stavu koprocesoru, mimo jiné i bity stavových příznaků, nastavovaných v průběhu operace. Doplňující registr má pro každý z osmi datových registrů vyhrazeny dva bity, pomocí kterých určuje stav příslušného registru (správná hodnota, nula, chybný formát, prázdný registr atd.). Instrukce pro koprocesor jsou vřazeny mezi normální instrukce programu. Při dekódovaní procesor pozná podle prvních 5 bitů instrukce (11011 = instrukce je pro koprocesor), že instrukce je určena pro koprocesor a instrukci mu předá. Není-li následující instrukce závislá na výsledku činnosti koprocesoru, může procesor v době provádění instrukce koprocesorem rozpracovávat další instrukce. Počítače třídy PC AT/486DX, PC AT/486DX2 a PC AT/486DX4, využívající různých variant procesoru 80486, jsou dnes ještě v doprodeji, jde však o dobíhající výrobu a dodávky. Výkonnost těchto počítačů (jsou-li vybaveny dostatečnou operační pamětí) dostačuje pro práci s většinou softwaru, problémy jsou u Windows 95 a WindowsNT. Vzhledem k jejich klesající ceně si zatím ještě udržují konkurenční schopnost, jsou však ji koncepčně překonané a při koupi nového počítače je lépe se orientovat na typy s novějšími procesory, s Pentiem a PentiemPro.
56
5
5.6 Intel Pentium V roce 1993 se na trhu objevil nový procesor, vyvíjený pod označením P5 a prodávaný pod firemním názvem Pentium. Náběh procesoru provázely některé problémy, první typy byly dokonce i méně výkonné, než starší procesory řady 80486 a navíc se u nich projevovaly konstrukční závady na matematickém koprocesoru. V průběhu roku 1994 byly hlavní problémy odstraněny a Pentium se postupně stalo standardním procesorem u nových typů počítačů. Jeho pracovní frekvence se postupně zvyšovala z 60 MHz až na dnešních 200 MHz. 5.6.1 Popis struktury Pentia
TLB BTB
Instrukční CACHE
DB 64 bitů
PB ID
CR
AB 32 bitů CU BU
Matematický koprocesor
PU
CB AG AG U-pipe V-pipe
Řízení Pole reg.
IRF
+
ALU ALU U-pipe V-pipe
: x
Schifter
Datová CACHE TLB
Obr. Struktura Pentia
57
58
Pentium je 64 bitový procesor, schopný pracovat i s programy pro 32 bitové a 16 bitové procesory. Představuje přechod od technologie CISC k technologii RISC. Adresová sběrnice je 32 bitová, adresování je totožné s předchozími typy 80386 a 80486. Procesor obsahuje dvě vnitřní paměti CACHE (jejich kapacita postupně vzrostla z původních 8 kB až na 128 kB u Pentia 200), oddělené pro instrukce (instrukční CACHE) a pro data (datová CACHE). Vzhledem k tomu, že přepočet logické adresy na fyzickou vyžaduje v případě stránkování čtení ze dvou tabulek, umístěných v operační paměti (a tedy trvá poměrně dlouho), obsahuje každá z pamětí CACHE tabulku TLB (Translation Look-aside Buffer), obsahující posledně přepočítávané adresy včetně příznaků. Při dalším volání určité adresy se nejprve zkontroluje, není-li již uložena v TLB. Pokud ano, nemusí se provádět přepočet a z TLB se rovnou přečte přepočtená hodnota. Pokud ne, provede se přepočet na fyzickou adresu a výsledek se zařadí do TLB pro případné další použití. Významným novým rysem procesoru Pentium je obvod dynamického předvídání skoků BTB (Branch Target Buffer). Jeho úkolem je na základě určitých statistických předpokladů řešit problém podmíněných skoků. Vychází se z poznatku, že provedení podmíněného skoku bývá asi čtyřikrát pravděpodobnější, než jeho neprovedení.
58
5
nová položka do BTB skok byl
Hist. bity : 11 Předpoklad: Bude skok skok nebyl
skok byl Hist. bity : 10 Předpoklad: Bude skok
skok nebyl
skok byl Hist. bity : 01 Předpoklad: Bude skok
skok byl
skok nebyl Hist. bity : 00 Předpoklad: Nebude skok
skok nebyl
Obr. Předvídání skoku Jakmile najde procesor ve frontě instrukcí instrukci podmíněného skoku, zkontroluje, zda její cílová adresa (místo v paměti, kam směřuje skok) je již uložena v tabulce BTB. Pokud tam není, zapíše se do této tabulky a přidají se k ní dva historické bity, mající hodnotu 11. Zároveň se předpokládá, že skok bude proveden a do fronty instrukcí se načítají instrukce od cílové adresy skoku. Pokud skok nebyl proveden, sníží se hodnota historických bitů na 10, pokud byl proveden, zůstane hodnota historických bitů na původní hodnotě. V případě dalších skoků na tuto adresu se vždy zkontrolují historické bity a podle nich se odhaduje, bude-li či nebude-li skok proveden. Pokud skok byl proveden, zvyšuje se hodnota o 1 až na původních 11, pokud neměl být proveden, snižuje se
59
60
postupně o 1 až na 00. Teprve při této úrovni historických bitů se předpokládá, že skok proveden nebude. Instrukce jsou řazeny do instrukční fronty PB (Prefetch Buffer). Odsud je přebírá dekodér instrukcí ID (Instruction Decode). Jde-li o jednoduché instrukce charakteru instrukcí RISC, dekóduje je dekodér přímo. Jsou-li to složitější instrukce, používá řídicí paměti ROM CR (Control ROM) k jejich překladu na mikroprogram, složený z jednoduchých instrukcí. Procesor Pentium používá superskalární architektury a pracuje v režimu dual pipeline. Instrukce jsou zpracovávány v pěti krocích - výběr instrukce (PF), dekódovaní instrukce (D1), generování adresy operandů (D2), provedení instrukce (EX) a dokončení instrukce a zpětný zápis (WB). Instrukce jsou zpracovávány v režimu pipeline, tedy „jako na běžícím pásu“ jednotlivými částmi procesoru. Dual pipeline znamená, že v případě, že jde o jednoduché a na sobě vzájemně nezávislé instrukce, mohou být na každém stupni zpracovávání rozpracovány dvě instrukce současně (při plné rychlosti zpracovávání může být v různých stupních rozpracování až deset instrukcí současně).
Výběr instrukce
I1
I3
I5
I7
I 9 I 11 I 13 I 15
I2
I4
I6
I8
I 10 I 12 I 14 I 16
I1
I3
I5
I7 I 9
I2
I4
I6
I 8 I 10 I 12 I 14
I1
I3
I5
I7
I 9 I 11
I2
I4
I6
I8
I 10 I 12
I1
I3
I5
I7 I 9
I2
I4
I6
I 8 I 10
I1
I3
I5
I7
I2
I4
I6
I8
Dekódování instrukce
Generování adresy
I 11 I 13
Provedení instrukce
Dokončení instrukce
Obr. Zpracování dual pipeline Dekódované instrukce přebírá řídicí jednotka CU (Control Unit). V případě, že jde o instrukce pro matematický koprocesor (jeho struktura je vcelku obdobná koprocesoru u 80486DX, rovněž instrukce pro koprocesor jsou rozlišovány obdobnou kombinací bitů na počátku - 11011), předá provedení instrukce koprocesoru, jinak řídí provádění instrukcí ve dvou liniích, označovaných U-pipe a V-pipe. Jsou-li splněny podmínky pro paralelní zpracování dvou instrukcí, zpracovává U-pipe liché instrukce a V-pipe sudé. Nejsou-li tyto podmínky splněny, zpracovává data pouze U-pipe. Každá linie má svůj vlastní generátor adresy dat AG (Address Generate), který vybírá data z datové paměti CACHE pro další zpracování: Vlastní operace s daty potom proběhne v příslušné aritmeticko-logické jednotce ALU pro U-pipe nebo pro Vpipe. 60
6
Informace mohou být při zpracovávání ukládány do některého z pomocných registrů (mohou pracovat jako 8, 16, 32 i 64 bitové registry) v bloku pomocných registrů IRF (Integer Register File). Rotace a posuvy se provádějí pouze v Upipe, a to pomocí tzv. shifteru (pro zájemce - jde v podstatě o obvod, známý v elektronice jako posuvný registr). Pentium může v počítači pracovat v módu, označovaném jako Master, nebo jako Checker. Je-li v počítači pouze jeden procesor, pracuje jako Master. To znamená, že provádí všechny instrukce a řídí i sběrnice, odesílá po nich výsledky své činnosti atd. U počítačů vysoce náročných na spolehlivost, například u některých serverů (centrálních počítačů počítačových sítí) může být procesor zdvojen dalším, který je zapojen jako Checker. Checker provádí přesně tytéž instrukce jako Master, neřídí však sběrnice a neodesílá výsledky své činnosti. Provádí pouze průběžné porovnávání svých výsledků s výsledky Mastera a v případě jejich rozdílnosti signalizuje chybu systému. Dalším prostředkem zvýšení spolehlivosti je zabezpečení nejen datové, ale i adresové sběrnice pomocí paritních bitů. Po adresové sběrnici se tedy nepřenáší jen 32 bitů, ale 36 bitů - 32 bitů adresy a 4 paritní bity (pro každých 8 bitů adresy jeden). Tato parita je kontrolována při přenosech adresy a zabezpečuje rychlé zjištění chyby při adresování. Adresování jinak probíhá vcelku jako u předchozích typů procesorů 80386 a 80486. Novým rysem je rozšíření režimů činnosti. Kromě reálného, chráněného a režimu V86 je zaveden nový režim, režim správy systému SMM (System Management Mode). Využívá jej tzv. firmware (programové vybavení, vestavěné do počítače, tedy uložené v pamětech ROM ). Přechází se do něj pomocí speciálního přerušení, návrat do běžných režimů činnosti se provádí pomocí instrukce pro návrat po přerušení V tomto režimu pracuje procesor se speciální oddělenou částí paměti, tzv. SMRAM (System Management RAM). Do této paměti si také při přechodu do režimu SMM uloží obsah všech registrů procesoru a při návratu do normálních režimů jej odsud opět načte. Během činnosti v režimu SMM jsou všechna normální přerušení zakázána. Tento režim činnosti využívá např. BIOS (základní část operačního systému, uložená v paměti ROM - bude popsáno dále). V průběhu let 1993 - 1995 se Pentium stalo standardním procesorem, používaným v osobních počítačích, kompatibilních (tedy, česky řečeno, slučitelných) s výrobky firmy IBM. Počáteční technické problémy byly překonány, rychlost se zvýšila až na dnešních 200 MHz a šíření těchto procesorů podpořil i nástup operačních systémů WindowsNT a Windows 95 firmy Microsoft. Vývoj u firmy Intel se tím ovšem nezastavil a již v roce 1995 se objevil nástupce Pentia, procesor, vyvíjený pod označením P6 a prodávaný pod firemním označením PentiumPro. 5.7 Nástupci procesoru Pentium - PentiumPro, P55C, Klamath, Deschutes atd. Již v době, kdy byl procesor Pentium zaváděn do výroby, pracovala firma Intel na jeho nástupci, označovaném v té době P6. V roce 1995 byl tento procesor dán na trh pod firemním označením PentiumPro. Jestliže Pentium stálo ještě na rozhraní mezi procesory CISC a RISC, je PentiumPro již čistě RISCové koncepce. Odpadá řídící paměť ROM, překládající
61
62
složité instrukce na jednoduché mikroinstrukce, celý instrukční soubor se již skládá jen z jednoduchých, snadno a rychle proveditelných instrukcí. Použitelnost starších programů pro předchozí typy procesorů je podmíněna použitím speciálních programů - překladačů, které převedou strojové instrukce starších procesorů na instrukce PentiaPro. Skalární architektura je dále zdokonalena, pipelining není již jen dvojnásobný, jako u Pentia, ale trojnásobný. Díky speciálnímu systému přeskupování instrukcí je možno mít rozpracováno na každém stupni zpracování až pět instrukcí zároveň. Vlastní obvod se skládá ze dvou čipů, umístěných ve společném pouzdře - z vlastního jádra procesoru a paměti CACHE 256 nebo 512 kB. Externí sběrnice
L2 Provádění příkazů
BIU
MOB
SHF
DOO
FMU FDIV
RS
IDIV FAU
Dekódování příkazů
Port 0
IEU JEU
IFU ID alignment D0 D1 D2
BTB
Port 1
IEU
Port 2
AGU
Port 3, 4
AGU
MIS RAT
ROB RRF
µ op0 µ op1 µ op2
Obr. Schéma PentiumPro Součástí jádra procesoru je i několik dílčích matematických koprocesorů a menší paměti CACHE - instrukční a datová CACHE, jako u Pentia. Jejich kapacita je také 8 kB, jako u Pentia. Jádro procesoru pracuje se zcela novou procesorovou sběrnicí, která byla dříve používána u velkých počítačů pod označením „Future Bus“ („sběrnice budoucnosti“). Dochází k celkovému snížení vnitřních napětí, napájecí napětí je již jen 2,8 V. Na jedné straně se tím rozdíl mezi 0 a 1 snižuje na pouhých 1,5 V, takže v systémech s PentiemPro je nutno věnovat velkou pozornost odstraňování možných rušení, na druhé straně klesá ohřívání procesoru a ztrátový výkon klesá až na 8 W. Zpracování instrukce začíná v jednotce IFU (Instruction Fetch Unit), obsahující i instrukční paměť CACHE (I - CACHE). Výběr instrukcí provádí jednotka BTB, která předvídá případné skoky v programu (podobně jako u Pentia, ale dokonalejším algoritmem - uvádí se, že přesnost odhadu je větší než 62
6
90%). Z paměti I-CACHE se vždy dvě řádky po 16 B, zarovnaných na hranice instrukcí, předávají dekodéru instrukcí ID. Ten rozloží instrukce na řadu tzv. mikrooperací pro další zpracování. Všechny mikrooperace jsou stejně dlouhé a pracují se dvěma logickými zdroji (odkud berou data) a jedním logickým cílem (kam ukládají výsledek). Při zpracovávání komplexních instrukcí se generuje pro tuto instrukci tzv. mikrokód (MIS - mikrokód instrukční sekvence), což je vlastně naprogramovaná sekvence (řada) mikrooperací. V každém taktovacím cyklu mohou tři paralelně pracující dekodéry D0, D1 a D2, obsažené v ID, generovat tři mikroinstrukce, čímž se zpracovávání dále urychluje. Mikroinstrukce jsou předávány do tabulky RAT (Register Alias Table), kde se logickým označením registrů z instrukcí přiřazují konkrétní reálně existující registry procesoru. Dále se k mikroinstrukcím připojí stavová informace (zachycující postup zpracování mikroinstrukce) a výsledný tvar se pak uloží do přerovnávací paměti ROB (Reorder Buffer). Zde probíhá analýza toku dat, kdy procesor neustále dopředu zkoumá, které mikroinstrukce jsou vzájemně nezávislé a mohou se tedy provádět současně v jednotlivých „potrubích“ (pipelines). Procesor potom provádí zpracování mikroinstrukcí v jiném pořadí, než jaké vyplývá ze struktury programu. Hlavním cílem je optimalizace zpracovávání a maximální využití možností paralelního zpracovávání. Současně se mikroinstrukce předávají i do rezervační stanice RS (Reservation Station), která pomocí pěti portů předává výkon mikroinstrukcí jednotlivým prováděcím jednotkám EU (Execution Unit). Předání mikroinstrukce závisí na stavové informaci - musí signalizovat, že mikroinstrukce má připraveny zdrojová data (operandy). Port 0 připojuje koprocesory pro výpočty v pohyblivé řádové čárce (zjednodušeně řečeno - s desetinnými čísly), port 1 připojuje jednotku pro celočíselné výpočty a skokovou jednotku, porty 2, 3 a 4 slouží pro přístupy do paměti. Výsledek operace se zapíše do RS i do ROB, čímž se zajistí přístup následujících mikroinstrukcí k potřebným datům. V optimálním režimu může PentiumPro předávat přes každý port jednu mikroinstrukci, v jednom taktu tedy zpracuje až pět mikroinstrukcí. Po skončení zpracování se v jednotce RFR (Retirement File Register) mikrooperace a jejich výsledky opět srovnávají podle logiky programu a tvoří se konečný výsledek. Tato jednotka může v jednom taktu převzít až tři mikrooperace. Zpracování instrukce v každé pipeline je rozloženo do 14 kroků. Pipeline je rozdělena na tři oddělené části, které jsou na sobě víceméně nezávislé. První část se skládá z 8 taktovacích cyklů a je označována jako část v pořadí fronty (In-Order-Front). Čítač instrukcí z BTB hledá další instrukci v paměti I-CACHE. V dalších taktech ji načte a dekóduje. Při dekódování se zároveň generují odpovídající mikroinstrukce. Následuje přejmenování registru (přiřazení fyzických registrů logickým registrům z programu) a zápis do ROB a RS. Tento zápis se překrývá minimálně s jedním stupněm další části pipeline. Druhá část se označuje jako část jádra mimo pořadí (Out-of-OrderCore). Ta odpovídá provedení instrukcí v pořadí určeném efektivností využití procesoru a vstupu do ROB. Dva takty slouží k identifikaci mikrooperace a jeden k jejímu provedení. Operace s desetinnými čísly trvají více taktů. Třetí část je částí opětného seřazení (retirement), kde je zajišťováno, aby mikrooperace daly jako výsledek opět jeden celek, daný původním logickým uspořádáním programu.
63
64
IP I1
instr. Cache I2
I3
Dekódování I4
I5
Obnov. Zápis reistrů do RS
I6
I7
I8
Čtení RS RS (Příprava)
O1 O2
Provedení O3
Retirement Retirement (Příprava)
R1
R2
R3
Obr. Pipeline u PentiaPro (Chip 2/96, str 56) Počítače s PentiemPro se zatím vyskytují především jako servery. Mohou být i víceprocesorové - v režimu multiprocesingu (zpracovávání programu ve spolupráci několika procesorů, které si rozdělují instrukce programu a souběžně je zpracovávají) spolu mohou snadno komunikovat až čtyři procesory. Pro počítače s PentiemPro je již podmínkou použití sběrnice PCI (bude vysvětleno dále). V lednu 1997 byl na trh uveden procesor P55C, označovaný také Pentium/MMX. Jde o procesor Pentium, do kterého byly integrovány prvky technologie MMX (její podstatu si vysvětlíme dále). V druhé polovině roku 1997 má být na trh uveden i procesor PentiumPro s touto technologií, vyvíjený pod označení Klamath. Současně jsou vyvíjeny i verze s technologií MMX2, pod firemními názvy Katmai a Deschutes. Technologie MMX spočívá v úpravě procesoru pro multimediální aplikace. Instrukční soubor je rozšířen o 57 instrukcí, procesor má 8 nových 64 bitových MMX-registrů. Tyto nové instrukce využívají techniku SIMD (Single Instruction, Multiple Data), to znamená, že jednou instrukcí může být v jednom cyklu zpracováno více dat paralelně. Procesory Pentium/MMX mají nový typ pouzdra (P-PGA), který zaručuje větší odolnost proti teplotám, na horní straně má speciálně upravenou vyzařovací chladicí plochu. Výkonnost těchto procesorů je asi o 10 - 20% vyšší, než u normálních procesorů o stejné pracovní frekvenci. U speciálních programů, využívajících plně nové instrukce, se výkon má zvyšovat o 60% a více.
64
6 Běžný procesor
nevyužito
data 1
nevyužito
ADD nevyužito
data 2
nevyužito
ADD
výsledek 1
nevyužito
data 3 ADD
nevyužito
výsledek 2
výsledek 3
Procesor s technologií MMX data 8
data 7
data 6
data 5
data 4
data 3
data 2
data 1
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
výsledek 8 výsledek 7 výsledek 6 výsledek 5 výsledek 4 výsledek 3 výsledek 2 výsledek 1
Obr. Technologie MMX Počítače s těmito procesory jsou určeny především pro grafické programy (animace, video, 3D-grafika) a pro multimediální aplikace, spojující obraz a zvuk. Díky technologii MMX budou takové aplikace schopny provádět i notebooky vybavené těmito novými procesory. Prozatím se u nich projevuje mírná nekompatibilita s předchozími typy. Očekává se, že během roku 1997 se počítače s touto technologií postupně stanou novým standardem.
65
66
6 Vnitřní paměti V této kapitole se vrátíme k jednotlivým typům vnitřních pamětí, vysvětlíme si některé pojmy, spojené s pamětmi a seznámíme se s jejich strukturou. 6.1 Paměti ROM Pro paměti ROM je typické, že z nich může počítač pouze číst. Při jeho běžné činnosti jsou tedy jen zdrojem informace. Jsou energeticky nezávislé, to znamená, že uchovávají informaci i bez přívodu elektrické energie. Jsou většinou relativně pomalejší, proto se jejich obsah může uložit při rozběhu počítače do vymezené oblasti paměti RAM, označované potom Shadow ROM, kde je vyhledávání informací mnohem rychlejší.
sloupec
DB
AB Dekodér adresy
Výstupní zesilovač řádek adresované místo Paměťová matice
Zablokování/Odblokování
Obr. Struktura paměti ROM Po adresové sběrnici AB přichází adresa do dekodéru adresy DA. V tomto dekodéru je rozložena na údaj o řádku a sloupci v paměťové matici. V této paměťové matici se vyhledá příslušná položka a přečte se (u pamětí ROM obsahuje jedna položka obvykle 1 B informace). Výstupní zesilovač elektricky zesílí přečtené hodnoty a odešle je na datovou sběrnici DB. Pomocí řídicího signálu může být výstupní zesilovač buď v režimu odblokováno, kdy pracuje popsaným způsobem, nebo zablokováno, kdy nepřenáší informace a paměť ROM nereaguje . Z hlediska ukládání informací dělíme paměti ROM na tyto základní typy: a) klasická paměť ROM - informace je do ní ukládána již při výrobě. Její základní princip si můžeme vysvětlit na pamětech ROM u počítačů 2. generace (je podobný i u současných pamětí tohoto typu, mají však charakter integrovaného obvodu, nikoliv struktury z jednotlivých součástek). Značka
66
6
Obr. Značka diody představuje polovodičovou diodu s přechodem PN, tedy součástku, která je při jedné polaritě vstupního napětí v propustném směru (proud prochází) a při opačné polaritě je v závěrném směru (proud neprochází). Paměť ROM složená z těchto prvků má potom tuto strukturu: Adresové vodiče 0
1
0
0
Bitové vodiče
0 1 0
1
Obr. Struktura ROM (diody) Typická je zde soustava dvou skupin na sebe kolmých vodičů - adresových a bitových. V místech, kde má být zaznamenána 1 je příslušný adresový vodič propojen s některým bitovým vodičem pomocí PN přechodu (diody). Při čtení se přivede napětí l (např. 5 V) na jeden z adresových vodičů. Na bitových vodičích se potom objeví tam, kde je vytvořeno propojení, napětí 1, tam, kde není vytvořeno, zůstane napětí na 0. Vidíme, že při výběru jednoho adresového vodiče se přečte celé binární číslo (obvykle 1 B s paritním bitem). Takto jednou vytvořená struktura se nedá již dále měnit. Paměti tohoto typu se používají, pokud je třeba vyrábět velké série stejných pamětí. b) paměti PROM, neboli programovatelná paměť ROM, má podobnou strukturu jako předchozí typ. Propojky jsou však vytvořeny na počátku mezi každým adresovým vodičem a všemi bitovými vodiči. Ukládání informací do paměti PROM se provádí tak, že na příslušný adresový vodič se připojí zvýšené napětí (asi 15 V) a ty bitové vodiče, na kterých chceme zapsat 0, se uzemní. Příslušnými propojkami projde zkratový proud, který propojky zničí, takže se přeruší vodivé propojení adresového a příslušných bitových vodičů. Při dalším čtení, které probíhá obdobně jako u předchozího typu, se potom na výstupu objeví na těchto bitových vodičích 0.
67
68
Adresové vodiče 0
16 V 0
0
uzemění
Bitové vodiče
0 1 0
1
Tyto diody se spálí zkratovým proudem
Obr. Struktura PROM Vidíme, že do této paměti je možno zapsat pouze jednou, jakákoliv změna jednou uložené informace je prakticky vyloučena. I když je možno používat i jiné fyzikální principy záznamu než ten, který jsme si zde vysvětlili, platí toto pro paměti PROM obecně. Paměti tohoto typu jsou typické pro malé série, kdy by se nevyplatila výroba pamětí prvního typu. c) paměti EPROM - tedy vymazatelné programovatelné paměti ROM, umožňují smazat uloženou informaci a uložit do paměti novou. Zápis informace se provádí do polovodičové struktury - fyzikální princip je poněkud složitější, takže vybočuje z rámce těchto skript. Stačí, pokud si řekneme, že obvykle se využívá pro záznam informací zachycení elektronů mezi speciální nevodivé vrstvy v polovodičové struktuře paměti. Smazání se pak provádí tak, že se těmto elektronům dodá energie nutná pro překonání těchto nevodivých vrstev elektrickým napětím, ultrafialovým světlem atd. Do nedávna platilo, že programování a mazání pamětí EPROM se provádělo na speciálních zařízeních mimo počítač. Rok 1996 je však rokem nástupu pamětí Flash EPROM, které umožňují mazání a záznam nových informací speciálním programem uvnitř počítače. I když zatím pracují při běžné činnosti jako běžné paměti ROM, jsou ji vlastně jakýmsi přechodným typem k energeticky nezávislé paměti RAM.
68
6
6.2 Paměti RAM Pro tento typ pamětí je typické to, že umožňují při běžné práci s počítačem nejen ukládání, ale i čtení informací. Hlavní požadavky na paměti jsou kapacita, vyjadřovaná dnes v MB (u běžných osobních počítačů se počítá s kapacitou 16 MB, u profesionálních je již dnes běžných 32 MB), rychlost, vyjadřovaná dnes tzv. přístupovým časem (jak rychle je vybráno místo v paměti a proveden zápis nebo čtení - dnes se tato doba pohybuje v rozsahu 50 - 70 ns) a fyzické uspořádání (paměti jsou dnes prováděny v podobě výměnných destiček s příslušným konektorem pro snadné zapojení do počítače. Tyto destičky se označují jako SIMM, jde-li o destičky s 72 kontakty (piny) pro 32 bitovou komunikaci s pamětí se 4 paritními bity (existují i SIMM s 32 piny) , a DIMM, jde-li o destičky pro 64 bitovou komunikaci s pamětí s 8 paritními bity a paměťové obvody jsou mnohdy po obou stranách destičky.). Poznámka: Vzhledem k rostoucí spolehlivosti pamětí nemusí být vždy používány paritní bity pro zabezpečení informace. U mnoha počítačů se dnes již parita nepoužívá, nové procesory PentiumPro ji však například pro svou činnost vyžadují. Z hlediska operačního systému DOS, který se stále ještě u mnoha počítačů používá, rozdělujeme celkovou kapacitu paměti RAM v počítači na základní paměť (base memory) o velikosti 640 kB, horní paměť (upper memory) mezi 640 kB a 1 MB a rozšířenou paměť (extended memory) nad 1 MB. DOS sám o sobě uměl pracovat pouze se základní pamětí. Pro práci s větší pamětí musel být vybaven ovladači horní a rozšířené paměti. Jedním z nich je EMS (Expanded Memory Service - služba expandované paměti). Expanded memory je způsob práce s rozšířenou pamětí, kdy se jednotlivé úseky z těchto částí paměti překopírovávají po stránkách do základní paměti, tam se zpracují a uloží se zpět. U speciálních pamětí RAM mohou být i další požadavky. Paměti CMOS RAM mají velmi nízkou spotřebu energie, používají se tedy v kombinaci s napájecím akumulátorem pro uchovávání informací, které počítač potřebuje udržet i po vypnutí přívodu energie. Paměť VRAM umožňuje současně provádět záznam i čtení, paměť WRAM zase usnadňuje rychlé přenosy bloků dat mezi různými částmi paměti. Oba tyto typy pamětí se používají u grafických karet, převádějících binární informace z počítače na signál pro obrazovkový monitor. K principu těchto pamětí se vrátíme v kapitole o grafických kartách. Informace jsou opět umístěny v paměťové matici, uspořádané do řádků a sloupců. Na rozdíl od paměti ROM však jednotlivé buňky paměťové matice mají kapacitu pouhý 1 bit. Dekodér adresy opět dekóduje adresu, to znamená, že ji rozloží na údaj o řádku a o sloupci v paměťové matici. Přibývá zde řídicí logika, umožňující nejen zablokování a odblokování paměti, ale také přepnutí směru přenosu informace - v režimu zápis (write) jsou informace z datové sběrnice zapisovány do paměťové matice, v režimu čtení (read) jsou informace z paměťové matice předávány na datovou sběrnici. Vlastní změny směru přenosu provádí vstupní/výstupní zesilovač, který může být řídicí logikou přepnut do jednoho ze tří funkčních režimů - zápis, čtení, nebo zablokováno. Paměť RAM se skládá z několika paměťových matic, adresovaných současně (z každé se čte jeden bit uložené informace). Pro uložení 1B je obvykle třeba 9 paměťových matic - 8 pro uložení 1B a 1 pro paritní bit. V současné době jsou tyto matice součástí jediného integrovaného obvodu - např. 64 bitové paměti jsou složeny ze 72 paměťových matic - 8 x 8 pro ukládání bitů 64 bitové
69
70
informace a 8 x 1 pro paritní bity zabezpečující jednotlivé byty (u některých typů pamětí se dnes již paritní bity vzhledem k růstu spolehlivosti nepoužívají).
sloupec
DB
AB Dekodér adresy
Výstupní zesilovač řádek adresované místo
Zablokování/Odblokování
Zápis/Čtení
Paměťová matice
Řídicí logika
Obr. Struktura RAM Základní rozdělení pamětí RAM je na statické paměti RAM (SRAM) a dynamické paměti RAM (DRAM). Základní rozdíl mezi nimi je v principu uchovávání informace. V pamětech SRAM je 1 bit informace uložen pomocí bistabilního klopného obvodu. Bistabilní klopný obvod je elektronický obvod, složený obvykle z tranzistorů, který má dva stabilní výstupní stavy - buď je na prvním výstupu napětí logické 0 (0-0.4V) a na druhém logické 1 (u starších počítačů 5 V, u nových 3,3V nebo i jen 2,8 V), nebo obráceně. Přechod z jednoho stabilního stavu do druhého je vyvoláván vstupními signály - jakákoliv změna informací, uložených v SRAM je možná pouze vnějším zásahem, tedy přivedením příslušných vstupních signálů pro vymazání nebo přepis informace, nebo přerušením dodávky energie. Vzhledem k poměrně komplikované struktuře paměťové buňky - bistabilního klopného obvodu, jsou rozměry pamětí SRAM oproti pamětem DRAM větší a, což je jejich hlavní nevýhoda, jsou i výrobně podstatně dražší. Jejich hlavní výhodou je rychlost. Dnes se používají především jako paměti CACHE, ať již interní, nebo externí. Jejich struktura se neliší od obecné struktury, která je popsána výše. U pamětí DRAM je 1 bit informace ukládán v podobě elektrického napětí na mikroskopickém kondenzátoru. Hlavní rozdíl oproti pamětem SRAM je v tom, že samovolným vybíjením těchto kondenzátorů se uložená informace postupně ztrácí a musí tedy být periodicky obnovována. Z toho plyne i rozdílná vnitřní struktura oproti obecné paměti RAM, kterou jsme si popsali výše. Obnovování informace provádějí obvody REFRESH („občerstvení“). Základní struktura paměti je stejná, jakou jsme si popsali obecně. V dolní části obrázku jsou naznačeny části obvodu REFRESH. Inkrementor postupně po jedné zvyšuje adresu v adresovém registru. Řídicí logika přepne paměť do režimu čtení a přečte informace z vybrané adresy z paměti do pomocného registru. Potom přepne paměť do režimu zápis a na stejné místo v paměti přečtenou hodnotu opět zapíše. Inkrementor zvýší hodnotu v adresovém registru o jedna a provede se stejným způsobem obnovení následujícího paměťového místa. 70
7
Celý proces se periodicky opakuje a způsobuje určité zpomalování činnosti paměti.
sloupec
DB
AB Dekodér adresy
Výstupní zesilovač řádek adresované místo
Zablokování/Odblokování
Paměťová matice
Řídicí logika
Zápis/Čtení
Pomocný registr
Registr adresy Inkrementor Přepínač Zápis/Čtení
REFRESH
Obr. Struktura DRAM Paměti DRAM mají menší rozměry než paměti SRAM a jsou podstatně lacinější. Tvoří proto základ vnitřních pamětí počítačů. Vzhledem ke své relativní pomalosti musí být doplňovány pamětmi CACHE (někdy též „vyrovnávacími pamětmi“) typu SRAM. Tyto paměti CACHE se používají ve velikostech 128, 256 a 512 kB, větší již vcelku nemají smysl. U procesoru PentiumPro jsou již přímo součástí procesoru. V roce 1996 se objevil nový typ dynamických pamětí, označovaný jako EDO RAM (Extended Data Output - rozšířený výstup dat). Původním plánem výrobců bylo zrychlit činnost paměti DRAM natolik, aby odpadla potřeba paměti CACHE. To se zatím nepovedlo, rychlost paměti se zvýšila jen asi o 15%, v kombinaci s pamětí CACHE však tyto paměti dnes již tvoří standart pro paměti rychlých procesorů, jako je PentiumPro. Základní princip těchto pamětí spočívá v tom, že při čtení z nich se automaticky nečte pouze jedna buňka paměťové matice, ale celá skupina za sebou jdoucích buněk na stejném řádku. Přečtené bity se ukládají do vnitřních statických registrů paměti. Pokud se, jak je to běžné, požaduje čtení z následující adresy v paměti, nemusí se již čekat na výběr buňky a může se číst předem připravená hodnota z vyrovnávacích registrů. U některých špičkových superpočítačů se začínají objevovat zatím velmi drahé paměti SDRAM, tedy synchronní paměti DRAM, schopné pracovat na
71
72
stejné frekvenci, jako je frekvence procesoru (synchronizace se provádí pomocí časovacích impulzů pro mikroprocesor). Jsou již tak rychlé, že zcela odpadá nutnost používat paměť CACHE. V souvislosti s rozvojem technologie a jejich postupným zlevňováním se nakonec možná stanou budoucím paměťovým standardem. Poslední novinkou u některých mimořádně rychlých počítačů by mělo být nasazení pamětí RAM typu NUMA (Non-Uniform Memory Access nestandardní přístup do paměti). U těchto pamětí je různý přístup k různým adresám paměti, čímž se průměrná doba přístupu výrazně zkracuje. Jde zatím o nestandardní řešení, podporované pouze některými výrobci počítačů, a není jasné, zda se v praxi prosadí.
72
7
7 Základní deska - motherboard Základní deska je centrální částí počítače. Obvykle je na ní umístěn mikroprocesor, jednotlivé typy pamětí, řídicí obvody desky (tzv. chipset), konektory pro připojování dalších funkčních desek počítače (sloty) atd. V celku je možno říci, že pro každou generaci procesorů (80286, 80386SX, 80386DX, 80486, Pentium, PentiumPro ...) je jiná základní deska a každý výrobce dodává i pro tentýž typ procesoru odlišnou základní desku od jiných výrobců. Navíc musí být deska přizpůsobena pracovnímu kmitočtu příslušného mikroprocesoru některé moderní desky sice umožňují poměrně široký rozsah svého pracovního kmitočtu, není to však pravidlem. Kromě typu procesoru, pro který je základní deska určena, a pracovního kmitočtu je rozhodujícím parametrem desky použitý systém sběrnic, propojujících jednotlivé části počítače. Tento systém prošel v posledních několika letech revolučním vývojem (jaký typ je použit u konkrétní základní desky se nejlépe pozná podle konektorů - slotů, které jsou na desce umístěny). U běžných počítačů PC s procesory 80386 a 80486 se nejprve používal systém s jednou společnou sběrnicí, označovanou ISA, EISA, nebo Microchannel. ISA je 16 bitová standardní sběrnice s pracovní frekvencí kolem 8 MHz. Je typická černým nebo tmavě hnědým konektorem pro nožové kontakty přídavných desek.
Obr. Slot sběrnice ISA Microchannel (MCA) je sběrnice typická pro počítače IBM PS/2. Mimo tuto typovou řadu počítačů se nerozšířila, i když ji IBM dodává v 16 bitovém i 32 bitovém provedení. Rozšířenější je 32 bitová sběrnice EISA, která umožňuje připojovat i 16 bitové desky standartu ISA. Skládá se ze dvou částí - z běžného slotu ISA a prodlužovacího slotu pro speciální kontakty. Je relativně komplikovaná a nákladná.
Obr. Slot sběrnice EISA Nevýhodou tohoto standardního uspořádání bylo, že na tuto společnou sběrnici byly připojovány systémy s velmi různou rychlostí práce - např. pevný disk a grafická karta, pracující velmi rychle a třeba tiskárna nebo myš, pracující z hlediska počítače velmi pomalu.
73
74
RAM mikroprocesor ROM ISA
řadič disků
sériové a paralelní porty
grafická karta
Tiskárna Pevný disk
Myš
Monitor
Obr. PC se společnou sběrnicí Pokusem o řešení tohoto problému bylo zavedení 32 bitového systému sběrnice VESA VL-Bus, připojujícího rychlé části počítače k procesoru obdobným způsobem, jako je k němu připojena operační paměť. VL-BUS RAM
mikroprocesor
ROM řadič disků
Pevný disk
grafická karta
Monitor
ISA
sériové a paralelní porty
Tiskárna
Myš
Obr. Počítač s VL-Bus 74
7
Znamená to, že např. řadič pevných disků a grafická karta jsou přímo připojeny na datovou a adresovou sběrnici procesoru, čímž je dosaženo velmi vysoké rychlosti přenosu informací. Nevýhodou tohoto typu sběrnice je její závislost na použitém procesoru. Nízký elektrický výkon procesoru také umožňuje na sběrnici připojit jen malý počet dalších zařízení. Velkou ranou pro tento typ sběrnice pak bylo prudké zvýšení pracovních frekvencí mikroprocesorů. Při frekvencích kolem 100 MHz a výše již není možné, aby sběrnice pracovala stejnou rychlostí, jako procesor. Mezi sběrnici a procesor potom musí být vřazována vyrovnávací paměť, čímž se však komunikace výrazně zpomaluje. Sběrnice VL-Bus byla v posledních letech postupně vytlačena podstatně dokonalejší sběrnicí PCI. mikroprocesor
CACHE
RAM
můstek (bridge)
ROM
PCI
řadič disků
grafická karta
můstek (bridge) ISA
Pevný disk
Monitor
sériové a paralelní porty
Tiskárna
Myš
Obr. Schéma počítače se sběrnicí PCI
75
76
Hlavní výhodou PCI oproti VL-Bus je vyšší výkon, nezávislost na použitém procesoru, automatická konfigurace karet a prvotřídní kompatibilita. Při své běžné pracovní frekvenci 33 MHz může přenášet data rychlostí až 132 MB/s (v 32 bitovém provedení) a 264 MB/s (v 64 bitovém provedení). Hlavní novinkou je propojení jednotlivých úrovní sběrnice tzv. můstky (bridges), přenášejícími signál z jedné úrovně na druhou. První můstek odděluje lokální sběrnici procesoru od vlastní sběrnice PCI, dalším můstkem může být na sběrnici PCI připojena např. pomalá sběrnice ISA, komunikující s pomalými zařízeními, jako je myš, klávesnice nebo tiskárna. Jednotlivá zařízení, připojená na sběrnici PCI, nezatěžují elektricky lokální sběrnici procesoru, to znamená, že na ní může být připojeno až deset dalších komponent počítače. Rozdíly ve vnitřní pracovní frekvenci procesoru a pracovní frekvenci sběrnice jsou odstraněny pomocí vyrovnávací paměti, která je součástí můstku. Procesor vysílá data do zařízení, řídicí obvod sběrnice PCI je ihned uloží do vyrovnávací paměti a procesor může přejít k další činnosti. Vlastní přenos potom řídí můstek PCI a data se předávají kontinuální formou - tedy v jednom bloku maximální možnou přenosovou rychlostí. Konektor slotu PCI je typický světlou barvou, malými rozměry a dvěma řadami otvorů pro zasunutí kontaktů konektoru.
Obr. Slot PCI Vezměme si jako příklad základní desku pro procesor Pentium, vybavenou dnes prakticky standardní kombinací sběrnic PCI/ISA. 16 15
7
UMC UMC 892AF 892AF
11
10
13
12
8667
1 2
UMC 8663AF
UMC 892AF
14
6
UMC 886AF
5
4
SOCKET 5 18
17 3
8
9
R.T.C
System BIOS
Obr. Základní deska pro Pentium 1 obvod Chipset 2 tři sloty PCI
7 patice pro moduly SIMM 8 FlashEPROM pro BIOS
13 konektory pro sér. porty 14 konektor PS/2 76
7
3 4 5 6
tři sloty ISA 16 bitů 9 Obvod CMOS s baterií 15 DIN pro klávesnici kombinovaný slot PCI/ISA 10 řadič FD 16 napájecí konektor patice ZIF pro procesor 11 řadič disků EIDE 17 Keyboard BIOS patice pro CACHE 12 konektor pro paral. port 18 Ostatní konektory Pro připojení procesoru se používá patice ZIF (Zero Insertion Force nulová síla pro zasunutí), která umožňuje rychlou a bezproblémovou výměnu procesoru. Na základní desce jsou čtyři sloty pro připojení „rychlých“ desek PCI (obvykle se sem připojuje grafická karta) a čtyři sloty pro pomalé desky ISA. Paměťové moduly SIMM nebo DIMM jsou umísťovány do patic. Na základní desce by měly být alespoň čtyři pozice pro lepší rozšiřování. Při dnes běžné kapacitě 8 MB/destičku to umožňuje snadno vytvořit paměť 32 MB, postačující pro všechny běžné aplikace. Při použití destiček o maximální dnes používané kapacitě 64 MB lze vytvořit maximální paměť o velikosti 256 MB. Na každé základní desce je umístěna paměť, obsahující tzv. BIOS (BIOS je, jak jsme již výše uvedli, program, který obsluhuje základní funkce desky a tvoří základ tzv. operačního systému - pojem si vysvětlíme v příslušné kapitole). Obvykle je uložen v paměti ROM nebo Flash EPROM. Kromě něj je na desce další paměť ROM, obsahující klávesnicový BIOS (KeyboardBIOS). Ta řídí komunikaci mezi základní deskou a klávesnicí, vrátíme se k ní v kapitole o klávesnicích. Nastavená konfigurace počítače (typ a velikost pevného disku, datum a čas, velikost paměti RAM, nastavení ShadowRAM atd.) jsou uchovávány v malé paměti RAM (obvykle typu CMOS), která je trvale napájena baterií (u některých desek tvoří paměť a baterie jeden hybridní obvod v jediném pouzdře). Na základní desce jsou rovněž patice pro připojení externí paměti CACHE (někdy se též označuje jako CACHE 2. úrovně). Pro levné systémy postačuje velikost této paměti 128 kB, pro náročnější uživatele 256 kB. Zvýšení na 512 kB již ocení pouze profesionálové, pro běžného uživatele jde o zbytečný přepych. Procesor PentiumPro má již sekundární paměť CACHE o kapacitě 256 nebo 512 kB naintegrovánu uvnitř procesoru, připojování další, externí paměti CACHE u něj již vcelku ztrácí smysl Na některých základních deskách jsou naintegrovány i další funkce - např. řadič pevných disků EIDE nebo SCSI (bude vysvětleno dále), řadič disketových jednotek, kanály pro sériové a paralelní rozhraní (pro připojování myši, tiskárny atd.), případně i další funkce. Je to výhodné, protože funkční celky na základní desce obecně pracují rychleji a jsou spolehlivější, než na přídavných deskách, zapojovaných do slotů. Ztěžuje se tím však úprava konfigurace počítače podle požadavků uživatele a v případě poruchy některého z těchto celků musíme obvykle vyměnit celou základní desku, což je podstatně dražší, než výměna některé přídavné desky. Z těchto důvodů se také nedoporučuje používat základní desky, na kterých by byla naintegrována i grafická karta, nebo zvuková karta. Poznámka: Konstrukčně se počítače rozdělují na kompaktní a modulární. Typickým příkladem kompaktních počítačů jsou např. notebooky (přenosné kufříkové počítače), nebo počítače firmy Apple. Vyznačují se malými rozměry a tím, že většina funkcí počítače je naintegrována na základní desce. Jsou spolehlivé, jejich přestavba nebo úprava je však obvykle velmi omezena. Modulární koncepce je typická pro stolní počítače firmy IBM a jim podobné. Výsledná sestava počítače vzniká kombinací základní desky a řady tzv. přídavných karet (desek), zasunutých do slotů. Uživatel zde může do značné míry měnit konfiguraci počítače podle svých požadavků.
77
78
78
7
8 Vnější paměti a řadiče vnějších pamětí Hlavní rozdíl mezi vnitřními a vnějšími pamětmi spočívá tom, že vnější paměti komunikují s ostatními částmi počítače (především s procesorem) prostřednictvím vstupních a výstupních zařízení. Jsou energeticky nezávislé, mají relativně velkou kapacitu a požadujeme u nich rovněž co největší trvanlivost záznamu. Vstupní a výstupní zařízení, prostřednictvím kterých komunikují s počítačem se obvykle označují jako tzv. řadiče vnějších pamětí. Pevné a pružné disky, stejně jako diskové mechaniky CD-ROM komunikují prostřednictvím diskového řadiče, dnes především typu EIDE nebo SCSI 2 (bude vysvětleno dále). Tyto řadiče jsou buď naintegrovány na základní desce, nebo tvoří přídavnou desku, připojovanou prostřednictvím některého slotu (PCI nebi ISA - viz výše). Ostatní typy vnějších pamětí, pokud jsou použity, se obvykle připojují na konektory sériového nebo paralelního rozhraní. Řídicí obvody pro řízení přenosových kanálů, přenášejících informace k těmto rozhraním, bývají rovněž buď naintegrovány na základní desce, nebo jsou součástí přídavné desky s diskovým řadičem (v samostatném provedení se již vyskytují jen zcela výjimečně Vnější paměti obvykle dělíme podle fyzikálního principu, prostřednictvím kterého dochází k záznamu informace. Základní typy, které se dnes používají, jsou: a) mechanické paměti - pro záznam informací se zde používá kombinace otvorů, mechanicky vyražených do nosného média. Používají se ve formě děrných štítků a děrných pásek. I když je oproti dřívějšku jejich využití minimální, přesto se sále ještě někdy používají - především pro dlouhodobou archivaci málo používaných dat, nebo tehdy, je-li jednoduchým způsobem třeba spojit úřední doklad se vstupem do počítače (např. u receptů ve zdravotnictví, skladových karet, doprovodných karet výrobků při pásové výrobě apod.). Až do nedána šlo o nejlacinější způsob dlouhodobého uchovávání informace, dnes je postupně i z této oblasti vytlačují svou klesající cenou paměti CD-ROM. b) magnetické paměti - pro záznam informací se používá magnetická polarizace speciálních magneticky tvrdých feromagnetických materiálů (magneticky tvrdé materiály jsou takové materiály, které po magnetizaci působením vnějšího magnetického pole zachovávají svou magnetickou polarizaci i po vyjmutí z tohoto pole - viz dále). Jsou to nejrozšířenější vnější paměti, používané dnes prakticky u všech počítačů. Co do provedení je rozdělujeme na magnetické pásky a magnetické disky. Výhodou pásek je velká kapacita při nízké ceně, jejich hlavní nevýhodou je dlouhé vyhledávání a čtení konkrétní informace. Na discích je možno informace vyhledávat pomocí radiální soustavy souřadnic, tvořené sektory a stopami (viz dále). Pružnější přístup k informacím je vykoupen výrazně vyšší cenou na jednotku informace než u pásek. Podle typu materiálu, ze kterého je disk vyroben, rozlišujeme pružné disky (floppy disky FD, někdy též diskety), vyrobené z pružné umělé hmoty, a pevné disky (hard disk HD), vyrobené většinou z hliníku. c) optické paměti pracují na několika principech, jejich čtení je však vesměs stejné - používají princip odraženého laserového paprsku. Používají se dvě varianty, nazývané CD-ROM a CD-RAM. Význam názvů je vcelku jasný - z paměti CD-ROM může počítač pouze číst, do paměti CD-RAM může určitým způsobem i zapisovat. Paměti CD-ROM jsou již dnes standardním vybavením osobních počítačů a s rozvojem multimediálních programů (spojujících text, obraz a zvuk - např. u elektronických encyklopedií) jsou stále nezbytnější. Používají se 79
80
pro instalaci nových programů (stále více výrobců softwaru dodává své produkty pouze na CD-ROM), jako zdroj informací pro výše zmíněné multimediální programy a v poslední době (vzhledem k poklesu cen) i pro zálohování dat. Paměti CD-RAM jsou prozatím ještě spíše experimentálními zařízeními, umožňujícími zapisovat informace i číst je. Jsou příliš nákladné, než aby mohly nahradit magnetické paměti - pouze dojde-li k nějaké radikální technické inovaci, která by vedla ke snížení jejich cen. Speciálním typem těchto pamětí jsou paměti magnetooptické. Jde o jeden z nejspolehlivějších a nejtrvanlivějších způsobů záznamu informace. Jsou zatím stále ještě nákladné, začínají se však postupně rozšiřovat a v některých aplikacích mohou i nahradit běžný magnetický disk. Zničit zaznamenaná data je možno jen vystavením disku působení teploty nad 150OC při současném působení vnějšího magnetického pole, což je možno považovat za velmi nepravděpodobnou kombinaci. 8.1 Popis jednotlivých druhů vnějších pamětí 8.1.1 Mechanické paměti Mechanické paměti jsou nejstarším typem vnějších pamětí, vznikly již někdy v 18. století. kdy se jejich pomocí řídily některé tkalcovské automaty. Ustálily se ve dvou podobách - v podobě děrných štítků a děrných pásek Děrné štítky mají podobu papírové karty normalizovaných rozměrů a tvaru. Jeden roh štítku je seříznut, aby byla jednoznačně definována správná poloha štítku při vkládání do čtečky. Používají se stále ještě tam, kde je třeba spojit funkci úředního dokladu a snadného vstupu informací do počítače. Příkladem mohou být štítky, doprovázející výrobek při pásové výrobě. Každý pracovník se po provedení příslušné operace podepíše do příslušné kolonky a na snímacím zařízení zaeviduje. Tak lze snadno zpětně ověřit, kdo kterou operaci prováděl a případně kdo odpovídá za určité závady. Jiným podobným příkladem je zapisování receptu lékařem na děrný štítek a současné vyražení kódu léku do štítku. To potom umožňuje např. automatizovaný výdej léku v lékárně. Výhodou je vždy odolnost, snadná čitelnost a levnost záznamu. Seříznutí pro správné založení
Popis obsahu štítku
Vyděrovaný kód
Obr. Děrný štítek Děrné pásky jsou tvořeny pásem z papíru nebo z umělé hmoty, ve kterém je vyražena řada malých otvorů - tzv. vodicí stopa. Otvory jsou děrovány v pěti nebo 80
8
v osmi stopách nad sebou. Pásky se dnes ještě občas používají pro dlouhodobou archivaci dat (jsou levné) a pro zadávání informací do průmyslových robotů a číslicově řízených strojů. Vodicí perforace Vodicí perforace Záznamové stopy pro děrování
Záznamové stopy pro děrování
Osmistopá děrná páska
Pětistopá děrná páska
Obr.- Pětistopá a osmistopá děrná páska Čtení mechanických pamětí se může provádět buď elektromechanickým čtecím zařízením, nebo optoelektricky. Při elektromechanickém čtení prochází páska mezi řadou pružných a pevných kontaktů. Je-li v pásce otvor, kontakty se propojí, není-li tam, zůstanou odděleny papírem. Výhodou těchto čtecích zařízení je robustnost a odolnost proti nepříznivým pracovním podmínkám - proto se často používá v průmyslových provozech. Čtení je však relativně pomalé - 50 až 200 m/s. Optoelektrické čtení probíhá tak, že páska nebo štítek prochází mezi zdrojem světla a řadou snímačů. Otvorem světlo projde a dopadne na snímač, papírem zůstane odizolováno. Tento typ snímačů vyžaduje čisté prostředí, čtení však může být podstatně rychlejší, než u předchozího typu - až 1500 m/s. Zdroj světla Pružný kontakt
Pevný kontakt
Směr posunu
Směr posunu
Snímač světla Elektromechanické snímání
Optoelektrické snímání
Obr. Elektromechanické a optoelektrické čtení 8.1.2 Magnetické paměti Před výkladem o magnetických pamětech je třeba připomenou některé základní fyzikální principy. 1) Podle svých magnetických vlastností se všechny materiály rozdělují na diamagnetické, paramagnetické a feromagnetické. Magnetické vlastnosti diamagnetických a paramagnetických materiálů jsou velmi slabé a v počítačové technice se nepoužívají. 81
82
Feromagnetické materiály (železo, nikl, některé oceli atd.) naproti tomu mají velmi silné magnetické vlastnosti, podle kterých je dále rozlišujeme na magneticky měkké a magneticky tvrdé. Magneticky měkké materiály projevují své magnetické vlastnosti pouze tehdy, působí-li na ně vnější magnetické pole. Jsou-li z tohoto magnetického pole vyjmuty, okamžitě své magnetické vlastnosti ztrácí. Magneticky tvrdé materiály rovněž musí být nejprve zmagnetizovány vnějším magnetickým polem, magnetizaci si však podrží i dlouhou dobu po vyjmutí z magnetického pole. Pro výrobu vnějších pamětí se tedy používají magneticky tvrdé feromagnetické materiály. 2) Magnetické pole vzniká v okolí vodiče, kterým prochází elektrický proud. Pro zesílení tohoto magnetického pole se vodič svinuje do cívky. Magnetické pole má jasně definovanou orientaci vychází z tzv. severního pólu a končí v tzv. jižním pólu. Mění-li se magnetické pole v okolí vodiče (např. pohybem magnetického pole), indukuje se do vodiče elektrické napětí. Magnetickou polarizací vrstvy se mění i její elektrický odpor. Všech těchto jevů se v určité míře využívá u magnetických pamětí. Vlastní záznam se provádí do vrstvy zrníček feromagnetického magneticky tvrdého materiálu, nanesené na povrch nosného média a zpevněné ochranným lakem. Záznam je prováděn pomocí tzv. mazací hlavy a zapisovací (záznamové) hlavy. Jsou to v podstatě dvě cívky, jimiž prochází elektrický proud. První z nich, mazací hlava, je napájena stejnosměrným proudem, vytváří stálé magnetické pole jednoho směru a magnetizuje zrníčka jedním směrem, čímž připravuje záznamovou vrstvu pro zápis informace. Zapisovací hlava je napájena proměnným proudem (mění se jeho směr, velikost bývá konstantní). Různou polarizací záznamové vrstvy zapisuje v binární podobě informace. Před zápisem jsou informace určitým způsobem překódovávány (jde o problém, jak od sebe odlišit několik 0 nebo 1 jdoucích za sebou). V současnosti se u pevných disků nejčastěji používá kódování RLL, u pásek a disket MFM, jejich popis je však mimo rámec těchto skript. Jiným, ještě dokonalejším kódováním je metoda PRML, automaticky provádějící digitální filtraci dat přečtených z disku. Čtení provádí čtecí hlava. U magnetických pásek a u starších typů disků se používaly tzv. indukční hlavy, které byly opět cívkami, do kterých se pohybem magnetické záznamové vrstvy indukovalo elektrické napětí, měnící se při změnách polarizace této záznamové vrstvy. U novějších disků se přešlo na tzv. magnetorezistivní hlavy, vycházející ze změny elektrického odporu vlivem magnetické polarizace záznamové vrstvy. Umožňují podstatně větší hustotou záznamu a i rychlost snímání, než bylo fyzikálně možné u předchozího typu. Jak jsme již uvedli dříve, dělí se magnetické paměti podle formy nosného média na magnetické pásky a magnetické disky. 8.1.2.1 Magnetické pásky Magnetická páska je dlouhá páska z umělohmotné fólie, pokrytá po jedné straně nebo po obou stranách magnetickou záznamovou vrstvou. V současné době se používají pouze pásky, uzavřené v kazetách (kotouče s páskou již patří minulosti). Záznam na pásku je možno provádět dvěma základními způsoby.
82
8
První z nich využívá zařízení R-DAT, pracující s tzv. rotační záznamovou a čtecí hlavou. Pásek se posunuje relativně pomalu, záznamové stopy jsou vedeny šikmo napříč páskem a jsou velmi rychle snímány rotující hlavou. Jde o nejrychlejší páskové jednotky, jsou však poměrně drahé.
Obr. Záznam R-DAT Druhý způsob se označuje QIC. Záznamové stopy zaplňují celou plochu pásky tak, že hlava nejprve zapisuje na část pásky jedním směrem, potom se posune o něco níže a zapisuje opačným směrem atd. Úseky zápisu v jednotlivých směrech jsou poměrně dlouhé, proto dosahují takové jednotky poměrně vhodné rychlosti záznamu navzdory častým změnám směru pohybu pásky.
Obr. Záznam QIC Na magnetických páskách je jediné možné uspořádání - sekvenční. Znamená to takovou organizaci, kdy jsou záznamy ukládány na pásku jeden za druhým od počátku pásky k jejímu konci. Je jasné, že vyhledávání konkrétní informace na pásce je poměrně zdlouhavé - je třeba probírat jeden záznam za druhým, dokud nenarazíme na ten hledaný. Určitým zlepšením je použití hlaviček, popisujících vždy skupinu informací, které za touto hlavičkou následují. Je tak možno zrychlit vyhledávání - nečte se celá páska, ale pouze jednotlivé hlavičky, dokud se nedostaneme na úsek obsahující hledanou informaci. Ten je potom třeba prohledat podrobně. Ani tento způsob organizace informací na pásce však nepřináší radikální zlepšení vyhledávání, proto se dnes magnetické pásky používají především ve streamerech, což jsou jakési speciální kazetopáskové magnetofony, umožňující automaticky provádět zálohování dat z disku počítače (používají se především u serverů - řídících počítačů počítačových sítí). Na jednu kazetu je potom možno uložit více než 1 GB informace. V případě závady nebo zavirování počítače (za 83
84
virus zde považujeme speciální program, který v případě zavedení do počítače smaže informace na disku či jinak naruší jeho provoz) je možno z pásky obnovit původní informace na disku - delší doba zde není na závadu. 8.1.2.2 Magnetické disky Magnetické disky mají podobu kotoučů vyrobených z umělé hmoty nebo z hliníku. Otáčejí se kolem své osy na hřídeli a umožňují pomocí plošné soustavy souřadnic podstatně snáze vyhledávat informace. Lze říci, že používají určitou variantu radiální souřadnicové soustavy - jako souřadnice se používají vzdálenost od středu disku a úhel natočení disku. Vzhledem k problémům s přesným nastavením polohy hlav na disku se tyto souřadnice nemění plynule, ale pomocí jakési „souřadnicové mřížky“. Tato mřížka se skládá ze stop, což jsou soustředné kružnice, vyjadřující vzdálenost hlavy od středu disku, a sektorů, představujících určité výseče na stopách. Adresa určitého místa na disku je potom dána číslem stopy a číslem sektoru, kde je potřebná informace uložena. Původně byl na všech stopách stejný počet sektorů, to však bylo dosti nevýhodné vzhledem k tomu, že stopy na okraji disku jsou podstatně delší než vnitřní stopy blízko jeho středu. U nových typů disků se počet sektorů na stopě mění podle polohy stopy - na vnějších stopách je větší počet sektorů, než na vnitřních.
Sektor
Stopa
Obr. Sektory a stopy Další pojem, používaný v souvislosti s disky je pojem cylindr, neboli válec. Tento pojem se používá tehdy, je-li na disku více než jedna záznamová plocha (a to je dnes prakticky vždy). Označuje jakýsi „válec“, tvořený stopami se stejným pořadovým číslem v různých záznamových vrstvách nad sebou. Počet cylindrů zároveň určuje i počet stop v jednotlivých záznamových vrstvách. Nejmenší adresovatelná plocha na disku se nazývá cluster a je tvořena jedním nebo několika sektory. Znalost velikosti clusteru u konkrétního disku je důležitá - uložíme-li na disk třeba i jen 1 B informace, obsadíme tím celý jeden cluster (další informace může být uložena až do následujícího clusteru). V
84
8
operačním systému DOS platí zásada, že čím větší je kapacita disku, tím větší jsou clustery (a tím menší je efektivnost využití kapacity disku). Logická organizace ukládání informací je na disk předpokládá, že je informace ukládána v podobě tzv. souborů, což jsou jakési bloky informací, tvořící určitý logický celek. Jednotlivé soubory jsou rozlišovány pomocí jména a přípony, označující obvykle typ informací uložených v příslušném souboru (Tedy např. soubor DOPIS.602 má jméno „DOPIS“ a koncovku 602, označující, že jde o textový soubor vytvořený textovým editorem T602. Jak již názvy napovídají, obsahuje textový soubor určitým způsobem zakódovaný text. Textové editory jsou potom programové produkty měnící počítač v jakýsi „inteligentní psací stroj“). Další organizace informací závisí na použitém operačním systému. Dnes stále nejčastěji používaný operační systém DOS (bude podrobněji popsán v příslušné kapitole) ukládá soubory na disk tak, aby byla co nejlépe využita plocha disku. Záznamy o uložených souborech se zapisují do tabulky FAT, uložené obvykle v nulté stopě (na vnějším okraji) disku. Tabulka FAT obsahuje popis disku (kapacita, počet cylindrů, sektorů, jméno disku atd.), tabulku obsazení clusterů (každý cluster může být volný - do něj je možno zapisovat, obsazený - z něj je možno číst, nebo blokovaný poškozený, nebo obsazený např. tabulkou FAT) a tabulku souborů. Pro každý soubor je v tabulce uloženo jeho jméno, přípona, velikost v bytech, datum a čas posledního uložení, atributy (např. určující, že z určitého souboru je možno jen číst apod.) a poloha prvního clusteru souboru. Pokud soubor zabírá více než jeden cluster, je na konci každého clusteru odkaz ve kterém clusteru soubor pokračuje. Tabulka FAT Poloha 1. clusteru
Odkaz na další
1. cluster
Odkaz na další
2. cluster
vadný cluster
Konec souboru
3. cluster
Obr. - Uložení souboru do clusterů Z toho plyne, že soubor nemusí na disku tvořit souvislý úsek, ale může být uložen na dvou či více místech. Tím je sice zaručeno efektivní využití volné plochy na disku, činnost disku se tím však zpomaluje, protože při čtení jednoho souboru musí docházet k přesunu čtecích a záznamových hlav do nové pozice. Doporučuje se proto čas od času provést tzv. defragmentaci disku, to znamená přerovnání clusterů na disku pomocí speciálního programu tak, aby jednotlivé soubory tvořily opět souvislé celky. Před použitím disku je třeba provést tzv. formátování, při kterém se na povrchu disku vyznačí sektory a stopy a tabulka FAT se připraví pro záznam. Formátováním se jakékoliv informace uložrëné na disku ztrácejí.
85
86
Nevýhodou operačního systému DOS je použití 16-bitového identifikátoru jednotlivých útvarů (souborů a adresářů) na disku, to znamená, že jich celkem může být 65536. U velkých pevných disků (s kapacitou větší než 1 GB) potom i relativně malý soubor obsadí 1/65536 disku, což mohou být i desítky kB. Proto se postupně prosazují jiné operační systémy, jako je třeba WindowsNT, OS/2 nebo nejnovější verze Windows 95, které organizují záznamy o uložení jednotlivých útvarů na disk odlišný způsobem. Podrobněji se k této problematice vrátíme v kapitole o operačním systému. 8.1.2.2.1 Pevné disky Pevné disky jsou tvořeny jedním až osmi hliníkovými kotouči, umístěnými na společné hřídeli. Na těchto kotoučích je 2 až 16 záznamových ploch (vždy po obou stranách kotouče). Kotouče jsou umístěny v prachotěsně uzavřeném pouzdře spolu s čtecími a záznamovými hlavami a jejich mechanikou. Součástí pevného disku je i motor s hnacím hřídelem, deska s plošnými spoji a elektronikou a rozhraní. Součástí pevných disků je i mikrořadič, který se stará o řízení pohonu. V paměti ROM je výrobcem vytvořený program provádějící kódování a dekódování dat a pokoušející se pomocí několika rutin napravovat chyby, vzniklé při čtení. U dobrých disků je součástí řadiče i disková paměť CACHE, umožňující dále urychlit komunikaci mezi počítačem a diskem tím, že data z paměti počítače jsou rychle zapsána do této polovodičové paměti CACHE a na disk jsou zaznamenávána již nezávisle na další práci procesoru. Podobně i při načítání z disku je vždy načtena i další část disku, než jen bezprostředně potřebná data, do paměti CACHE. Pokud bude požadováno i její přečtení, jsou potřebné informace již připraveny v paměti CACHE a jejich načtení je téměř okamžité. Podrobněji se budeme řadiči zabývat v následující kapitole. Mechanika čtecích a záznamových hlav se stará o přesné nastavení hlav na potřebnou stopu a sektor. Hlavy se v žádném případě nesmí dotknout povrchu kotouče. Vzhledem ke značné rychlosti otáčení disků (3600 až 7200 a více otáček za minutu) by došlo k odření záznamové vrstvy a nevratnému zničení všech dat, která by v ní byla případně obsažena. Nastavení vzdálenosti od povrchu kotouče je provedeno tak, že hlava má určitý aerodynamický tvar. Otáčením kotouče vzniká proud vzduchu, tvořící jakýsi vzduchový polštář, na kterém se hlava pohybuje. Je zřejmé, že magnetický disk je poměrně citlivý na otřesy a v době činnosti by proto počítač neměl být např. přenášen. Při vypnutí počítače se hlavy musí automaticky přesunout mimo záznamovou plochu kotoučů do tzv. zaparkované polohy (obvykle na nejvnitřnější stopě). Čím přesnější je nastavení polohy čtecích a záznamových hlav, tím přesněji může pracovat záznam (tím větší je i kapacita disku) a tím rychlejší může být i čtení. U velkokapacitních disků je potom celá jedna záznamová plocha vyhrazena pro záznamy tzv. indexových stop, umožňujících přesné nastavení polohy čtecích a záznamových hlav. Velmi důležitý je i pohon tohoto nastavovacího mechanismu. Provádí se buď krokovým motorem, nebo lineárním motorem (u moderních disků převládá nastavování lineárním motorem, který umožňuje přesnější nastavování polohy, včetně kompenzace případných vlivů změn teploty pomocí indexových stop). Otáčení hřídele disků zajišťuje tzv. synchronní motor, který je schopen trvale udržovat konstantní otáčky. Po dlouhou dobu byly standardní otáčky 3600 86
8
otáček za minutu, v poslední době se však významní výrobci disků snaží zrychlit činnost zařízení zvýšením otáček disků na 5400 až 7200 a více otáček za minutu. U běžných počítačů se pevné disky otáčejí neustále, bez ohledu na to, jsou-li či nejsou-li využívány. Postupně se však šíří energeticky úsporná koncepce počítačů, kdy jsou speciálními řídicími obvody postupně vypínány všechny nevyužívané části počítače tak, aby bylo dosaženo úspor elektrické energie. Vzhledem k tomu, že se těmito metodami povedlo uspořit přes 90% energie a vzhledem k rostoucím požadavkům na energetickou úspornost všech výrobků se tato koncepce postupně stále více šíří. Pevné disky jsou citlivé na prach, vnější magnetické pole, otřesy a zvýšenou teplotu, proto je při instalaci více disků do jednoho počítače třeba dbát na zachování dostatečného prostoru mezi disky, aby bylo zajištěno jejich dostatečně kvalitní chlazení. Kromě pevných disků, které jsou napevno zabudovány v počítači, se poměrně rychle šíří i různé typy výměnných a externích pevných disků, umožňujících více či méně snadný přenos informací mezi jednotlivými počítači. Existují dva základní přístupy: Výměnný pevný disk může být proveden dvěma základními způsoby. Může jít o běžný typ pevného disku, zamontovaného do speciálního rámečku, vybaveného v zadní části normalizovaným konektorem. Propojovací vodiče z řadiče počítače jsou potom vyvedeny na obdobný protikonektor, do kterého je možno disk zapojit pouhým zasunutím rámečku do příslušných vodicích drážek až do koncové polohy. Takovéto disky mají potom stejné vlastnosti, jaké by měl použitý pevný disk, pokud by byl zabudován přímo do počítače. Druhé řešení používá např. firma Syquest nebo IoMega. Do počítače je zabudována speciální mechanika pro vkládání kazet (cartrige) s výměnným pevným diskem. Tento disk se skládá obvykle z jednoho nebo dvou kotoučů, umístěných v ochranném prachotěsném umělohmotném pouzdře. Po jedné straně pouzdra je kovový kryt, který se po zasunutí kazety do mechaniky odsune a vsunou se dovnitř čtecí a záznamové hlavy. Tento typ disků má zatím o něco menší spolehlivost a rychlost, než obdobné pevné disky, umožňuje však snadné a velmi rychlé zálohování a přenos informací. Kapacita je v současnosti 135 MB u firmy Syquest a až 540 MB u firmy NOMAI a 1070 MB u disků JAZ firmy Iomega. Externí pevný disk tvoří samostatná jednotka s vlastním napájením. K počítači se připojuje buď přes rozhraní Fast SCSI-2, nebo přes paralelní port počítače (v tomto případě je ovšem komunikace s diskem vcelku velmi pomalá). Jinak je práce s takovým diskem po instalaci ovládacího programu externí mechaniky obdobná jako s běžným pevným diskem. Speciálním typem disku je tzv. Bernoulliho disk. Jeho kotouče nejsou na rozdíl od běžných pevných disků z hliníku, ale z pružné plastické hmoty. Rychlým otáčením se docílí napnutí kotouče odstředivou silou. V případě otřesů nebo proniknutí nečistot do pouzdra disku se disk prohne a aerodynamické působení automaticky posune i čtecí a záznamové hlavy tak, aby nedošlo k dotyku hlav a povrchu disku. Nebezpečí poškození disku je potom podstatně menší. V nedávné době se těmto diskům předpovídala velká budoucnost, zatím se však tato technologie výraznějším způsobem neprosadila. Přes všechny pokusy o nalezení náhrady za pevné magnetické disky, ať již v podobě magnetooptických disků, disků CD-RAM, nebo velkých pamětí FlashEPROM (i o těch se uvažuje jako o náhradě pevného disku), jsou tyto disky
87
88
(především z ekonomických důvodů) nadále dominantním typem vnějších pamětí, bez kterých se dnešní počítač neobejde. Prohnutí disku
Pouzdro
Disk
Nečistota Hřídel
Obr. Princip Bernoulliho disku 8.1.2.2.2 Řadiče EIDE a SCSI 2 Úlohou řadiče disků je převod informace mezi počítačem a vnější pamětí. Jde tedy o určité rozhraní. V průběhu vývoje se ustálily dvě hlavní normy tohoto rozhraní, označované jako IDE (dnes tzv. „rozšířené IDE“, tedy EIDE), používané u většiny osobních počítačů, a SCSI, dominující hlavně u serverů. Rozhraní EIDE je určeno pro připojování pevných disků a jednotek ATAPI, tedy mechanik CD-ROM a streamerů, celkem však na každý tzv. komunikační kanál může připojit pouze dvě zařízení a obvykle je vybaveno jen dvěma takovými kanály (může tedy standardně pracovat se čtyřmi zařízeními), rozhraní SCSI umožňuje připojovat řadu různých zařízení, včetně grafických tiskáren, modemů (modem je zařízení pro komunikaci mezi dvěma počítači po běžné telefonní lince), scannerů (snímají psaný text nebo obraz a převádějí jej do počítače) atd. Definice rozhraní SCSI 2 počítá s osmi připojenými jednotkami, z nichž jednou je sám řadič, takže je k němu možno připojit sedm dalších zařízení. U rozhraní EIDE je prakticky celá elektronika, řídící čtení a psaní na disk a převádějící formát dat z podoby, která vystupuje v počítači do podoby potřebné pro zápis na disk (kódování RLL nebo PRML), součástí základní desky disku. Vlastní řadič EIDE pak může být buď naintegrován na základní desku, nebo může mít podobu přídavné karty, zapojované do slotu. Velmi záleží na tom, je-li řadič připojován na pomalou sběrnici ISA, nebo na rychlou sběrnici PCI. V prvním případě je rychlost komunikace mezi počítačem a diskem v podstatě dána rychlostí sběrnice, která tvoří nejpomalejší článek řetězce, v druhém je možno využívat maximálních přenosových rychlostí, definovaných pro toto rozhraní. Důležité je, že elektronika pevného disku přímo rozumí příkazům z počítače a že není nutný žádný překlad. Data z disku potom také jdou v podobě, kterou může již počítač bezprostředně zpracovávat. Součástí řadiče je obvykle paměť CACHE o kapacitě až 2 MB, která podstatným způsobem urychluje komunikaci mezi řadičem a počítačem (data se uloží do této paměti a o jejich další přenos na disk už se stará řadič sám). Hlavní výhodou řadiče EIDE je jeho relativně nízká cena. Rychlost a spolehlivost je o něco nižší, než u řadičů s rozhraním SCSI. Rozhraní SCSI vyžaduje specializovaný řadič (obvykle ve formě přídavné karty, připojované na slot sběrnice ISA nebo PCI), překládající příkazy z počítače do speciálního řídícího jazyka sběrnice. V současné době se používá převážně specifikace SCSI-2, umožňující dvě další modifikace - Fast-SCSI a Wide-SCSI.
88
8
Fast-SCSI používá tzv. synchronní přenos dat, to znamená, že přenos probíhá v taktech o frekvenci 10 MHz, takže je možno dosáhnout rychlostí přenosu až 10 MB/s. V každém taktu se přenáší celý blok informací a správnost přenosu je kontrolována po přenosu každého bloku. Wide-SCSI znamená, že přenos není 8-bitový, jako byl standardně u SCSI, ale 16-bitový nebo dokonce 32 bitový. Zařízení potom vyžaduje speciální propojovací kabely a konektory, přenos se tak dále zrychluje. Je možná i kombinace obou norem Fast a Wide a dosažení rychlosti až 40MB/s (při 32 bitovém Wide-SCSI). Použití SCSI se jednoznačně vyplácí u dokonalejších operačních systémů, než je DOS (např. u WindowsNT). Kromě mnoha jiných výhod umožňuje SCSI u pevných disků i měnit pořadí provádění příkazů tak, aby se minimalizovaly přesuny čtecích a záznamových hlav, čímž se dosti podstatně zrychluje činnost disku. Jednotlivá zařízení, připojená na společnou sběrnici řadiče, se o tuto sběrnici dělí podle svých priorit. Ovládání sběrnice zajišťuje tzv. technika arbitráže sběrnice, která umožňuje připojené jednotce v případě provádění složitého příkazu uvolnit sběrnici a zpřístupnit ji po tu dobu jiným zařízením. Tím se podstatně snižuje nebezpečí „zahlcení sběrnice“. Určitou nevýhodou je kromě vyšší ceny rovněž o něco složitější konfigurace. Všem zařízením, připojeným na řadič SCSI musí být přiřazeno identifikační číslo ID (obvykle pomocí přepínače) v rozmezí 0 až 6 (řadič sám má číslo 7). Poslední zařízení, u kterého sběrnice řadiče SCSI končí, musí obsahovat koncový odpor, tzv. terminátor, zaručující potřebné elektrické parametry celé sběrnice (některá zařízení pro SCSI obsahují přepínač, kterým je je možno nastavit jako poslední zařízení na sběrnici a zapojit terminátor uvnitř těchto zařízení). Vcelku je možno konstatovat, že řadiče a zařízení podle normy SCSI vycházejí dražší, jsou však rychlejší a spolehlivější. Typické použití těchto řadičů je v současnosti u serverů, u běžných počítačů se používají jen vzácně. V současnosti se pracuje na normě rozhraní SCSI-3, která by měla umožnit připojit na jeden řadič až 32 zařízení, pracovat s optickými vlákny atd. 8.1.2.2.3 Pružné disky (diskety) V současné době jde o nejrozšířenější vnější paměť, sloužící především k zálohování informací a k přenosu informací mezi jednotlivými počítači (včetně např. instalace nových programů). V současné době se používají prakticky pouze diskety o průměru 3.5“ (palce). V operačním systému DOS se tyto diskety naformátovávají na kapacity 720 kB nebo 1,44 MB. Pomocí speciálních programů (např. FDREAD) je možno tuto kapacitu zvýšit až na 2,1 MB, ovšem za cenu podstatného snížení spolehlivosti záznamu. Vlastní disk je tvořen kotoučem z pružné fólie, pokrytým po obou stranách magnetickou záznamovou vrstvou. Uprostřed kotouče je hliníkový unášecí kotouč, sloužící k zachycení disku v mechanice. Kotouč je uzavřen v pevném ochranném pouzdře z umělé hmoty. Vnitřní strana pouzdra je pokryta vrstvou filtračního papíru, jejímž úkolem je stírat z diskety prach a jiné drobné nečistoty. V pouzdře je otvor pro střední unášecí kotouč disku (po jedné straně pouzdra), pro čtecí a záznamové hlavy a pro případný zákaz zápisu na disketu. Otvor pro čtecí a záznamové hlavy je kryt posuvným hliníkovým pouzdrem, které se po vložení diskety do mechaniky automaticky odsune. V
89
90
hliníkovém unášecím kotouči jsou dva čtvercové otvory. V disketové mechanice je jakási „vidlička“, která může do těchto otvorů zapadnout pouze jediným způsobem. Je tak přesně definována základní poloha disku pro určování čísel sektorů. Podíváme-li se na disketu z té strany, na které je hliníkový unášecí kotouč, vidíme v pravém dolním rohu otvor pro ochranu diskety proti zápisu. Otvor je možno odkrývat a zakrývat pomocí přepínače. Je-li otvor odkrytý, je na disketu zakázán zápis. Otvor v opačném rohu určuje standardní kapacitu diskety. Kryt otvoru čtecích a záznamových hlav
Otvory pro hřídel
Hliníkový unášecí kotouč
Hustota záznamu Zákaz zápisu
Obr. Disketa 3,5“ Aby bylo možno používat pružné disky - diskety, musí být počítač vybaven disketovou mechanikou odpovídajícího typu. Mechanika může být umístěna ve vodorovné nebo ve svislé poloze. Její ovládání je velmi jednoduché. Disketa se do ní vkládá tak, že kryt otvoru pro čtecí a záznamové hlavy je vpředu a hliníkový kotouč je na té straně, kde je ovládací tlačítko mechaniky (vzhledem k tomu, že správnou polohu diskety v mechanice zaručuje i seříznutí jednoho rohu diskety, je její nesprávné vložení do mechaniky prakticky nemožné).
90
9 Otvor pro vložení diskety
Kontrolka Ovládací tlačítko pro vysunutí diskety
Obr. Disketová mechanika Disketa se do mechaniky zatlačí tak daleko, až do ní sama zapadne. Potom je připravena k práci. Pokud svítí signalizační kontrolka na disketě, probíhá na ní záznam nebo čtení a neměla by být z ní vyjímána disketa (ani by, např., neměl být vypínán počítač). Vyjmutí diskety z mechaniky se provádí obvykle mechanicky stisknutím ovládacího tlačítka. Některé počítače (např. od firmy Apple) jsou vybaveny disketovými mechanikami s elektrickým vysunováním diskety. Výhodou je, že není možno vyjmout disketu před ukončením zápisu na ní (nebo čtení z ní). Nevýhodou je, že není možné vyjmout disketu z vypnutého počítače (např. při výpadku proudu. Disketa se otáčí pouze když dochází k zápisu nebo ke čtení. Čtecí a záznamové hlavy se přitom dotýkají povrchu diskety (jako u pásek). Rychlost otáčení diskety je tedy podstatně menší než u pevných disků - přesto při dlouhodobém a častém používání dochází k poškození magnetické záznamové vrstvy otěrem. Dalšími negativními vlivy, vedoucími k poškození záznamu, je působení vnějšího magnetického pole (např. kolem některých elektrických spotřebičů), pobyt v prašném prostředí a vliv teploty (k poškození záznamu někdy stačí ponechat disketu v létě po určitou dobu na přímém slunečním světle). Celkově jsou diskety ne příliš spolehlivým záznamovým médiem. Vzhledem k nepřesnému nastavování polohy čtecích a záznamových hlav disketových mechanik je potenciální kapacita magnetického povrchu diskety využívána jen velmi nedostatečně. To vedlo některé výrobce, především firmu Iomega, k vývoji speciálních tzv. floptických disket a disketových mechanik (např. typu Iomega Zip 100 MB). Vzhledem se floptické diskety prakticky neliší od běžných 3,5“ disket, jsou pouze o něco málo silnější. Floptické mechaniky jsou běžně schopny pracovat i s normálními disketami. U floptických disket však velmi přesně nastavují polohu čtecích a záznamových hlav pomocí laserového paprsku, což jim umožňuje podstatně lépe využívat potenciální kapacitu povrchu diskety. Tento typ disket je možno naformátovat až na kapacitu 100 MB. Nevýhodou je pomalý zápis a čtení. Používají se především pro zálohování velkých souborů dat. Ovládání disketové mechaniky zajišťuje opět řadič - EIDE nebo SCSI. Vzhledem k relativní pomalosti celého zařízení nezáleží příliš na kvalitě řadiče, obecně jsou však mechaniky s rozhraním SCSI-2 o něco rychlejší.
91
92
8.1.3 Optické paměti Pro všechny typy optických pamětí je typický jeden společný princip čtení dat, založený na odrazu laserového paprsku od povrchu záznamového média. Obecně je rozlišujeme na CD-ROM a CD-RAM. 8.1.3.1 Paměti CD-ROM Paměti CD-ROM, jak už sám jejich název napovídá, jsou určeny pouze pro čtení. Pracují na obvyklém principu CD disků, používaných i pro záznam zvuku. Existují dvě základní provedení. Lisované CD-ROM se vyrábějí z umělé hmoty, do které je vylisován záznam v podobě drobných prohlubní na povrchu disku, anglicky označovaných jako „pit“ (velikost prohlubní je několik mm). Povrch disku je po té pokryt vrstvou zlata nebo hliníku, schopnou dobře odrážet světlo, a ochranným lakem s potiskem. Prohlubně tvoří na povrchu disku spirálovou stopu od středu k okraji. Laserový paprsek, vysílaný diodovým laserem snímacího zařízení, musí mít velmi krátkou vlnovou délku, aby bylo dosaženo přesného rozlišení i velmi malých nerovností. Dopadne-li paprsek na hladkou plochu („land“), odrazí se zpět do snímače. Projde čočkami a odrazem o malý hranol dopadne na fotodiodu snímače, která jej převede na elektrický signál. Po dopadu na prohlubeň („pit“) se však paprsek rozptýlí, takže na fotodiodu světlo nedopadne. Potisk Ochranný lak "land"
odraz
"pit"
Vrstva průhledné umělé hmoty (polykarbonátu)
paprsek čočka
snímač světla
optický hranol
diodový laser
Obr. Čtení z CD-ROM Snímač kvalitně rozeznává přechody plocha-prohlubeň (tedy odraz-rozptyl). Normálním stavem na CD je neustálé střídání těchto stavů. Platí, že toto rovnoměrné střídání představuje hodnotu 0, nerovnoměrnosti se interpretují jako 1. Pro dobré rozlišení stavu musí být mezi několik po sobě jdoucích 1 vkládány 0. Pro záznam 1 B (8 bitů informace) se proto musí používat 14 bitů záznamu na CD.
92
9
Tento způsob záznamu se označuje jako modulace EFM (Eight to Fourteen Modulation - modulace osm na čtrnáct). Kromě 14 optických bitů obsahuje záznam jednoho bytu ještě další tři pro odstranění rušení a zlepšení synchronizace. Celkem tedy zápis 1 B obsadí 17 bitů. Další bity jsou nutné pro zabezpečení dat a opravu případných chyb. Kapacita CD je rozdělena na jednotlivé úseky - sektory. Sektory se označují jako velké rámce („Large Frame“) a jsou dále rozděleny na 98 malých rámců („Small Frame“). Malý rámec je nejmenší skupinou informací na CD, obsahuje 24B informací a 8 B pro zjištění a opravu chyb (v těchto 8 bytech je ještě jednou zakódováno 24 bytů informace tak, aby bylo možno zjistit, ve kterém bitu nastala chyba a případně ji opravit). Při příliš velkém narušení malého rámce však již oprava nemusí být možná a dochází ke ztrátě informace. Kapacita sektoru u CD-ROM bývá obvykle 2353 B. Po odečtení synchronizačních a zabezpečovacích bytů a 4 B pro přesné adresování sektoru zbývá informační kapacita sektoru 2 kB. Po přečtení dat provede mechanika nejprve kontrolu přečtených dat pomocí parity, potom se je v případě chyby pokusí pomocí zabezpečovacích bytů opravit. Mechaniky CD-ROM jsou vybavovány vysoce kvalitními krokovými motorky, které umožňují rychle a přesně měnit otáčky motorku. U pamětí CDROM je totiž použita metoda CLV (Constant Linear Velocity - konstantní lineární rychlost), to znamená, že čtecí hlava se nad libovolnou částí disku pohybuje vždy konstantní rychlostí. Musí se proto měnit otáčky disku podle polohy čtecí hlavy (např. u zvukových CD jsou ve vnitřní oblasti disku otáčky 530/minutu, ve vnější jen 200/minutu - tím se dosahuje konstantní rychlosti čtení dat 176 kB/s). Potřeba nastavovat otáčky při přechodu na novou polohu čtecí hlavy způsobuje relativně dlouhou dobu přístupu - 110 až 400 ms (u pevných disků bývá 10 až 15 ms). Špičkových výkonů dosahují jednotky s násobky této původní standardní rychlosti - bylo již dosaženo až 16 násobku (únor 1997). Doba přístupu u těchto mechanik poklesla na 90 ms. Jde zatím o špičková a drahá zařízení. Jednotky se čtyřnásobnou a vyšší rychlostí jsou však dnes již zcela běžné. Mechaniky CD-ROM se obvykle připojují obdobným způsobem jako pevné disky - buď na rozhraní řadiče EIDE nebo SCSI-2. Vypalované CD-ROM si většinou vytvářejí sami uživatelé na speciálním vypalovacím zařízení. Jejich základem je disk CD-R (Compact Disc Recordable). V plykarbonátovém kotouči je vylisována vodicí drážka pro laser. Povrch je pokryt vrstvou speciální organické barvy, na které je odrazová vrstvička zlata (zlato se zde používá pro své dobré odrazové vlastnosti a pro chemickou odolnost proti působení organické barvy). Při záznamu je paprsek laseru soustředěn na tuto organickou vrstvu. V místě dopadu paprsku se spálí vrstvička zlata i organická vrstva a vytvoří se zde malý hrbolek neodrážející světlo. Záznam je možno číst běžným způsobem, popsaným u lisovaných CD-ROM (používá se i stejná mechanika).
93
94 Potisk Organické barvivo Zlato
Vypálené místo
Umělá hmota (polykarbonát)
Obr. Vrstvy u CD-R 8.1.3.2 Paměti CD-RAM Jak již naznačuje název těchto pamětí, jde o média, umožňující záznam i čtení. Způsob čtení je opět založen na odrazu laserového paprsku od záznamové vrstvy, který se určitým způsobem mění podle toho, jaká informace byla zapsána. Způsob záznamu se liší - používá se nahřívání laserem, magnetické působení, elektrické působení atd. Většinou tyto pamětí vychází ekonomicky neúnosně drahé a jde zatím spíše o experimentální zařízení. Mezi paměti CD-RAM můžeme do jisté míry řadit i jeden typ dnes již používaných pamětí - magnetooptické disky. Jde o jeden z nejspolehlivějších známých způsobů záznamu a uchovávání informací. I když jsou pořizovací náklady těchto jednotek nadále několikanásobně vyšší, než např. u běžných magnetických disků, dosahují již dnes vzhledem ke své velké kapacitě (4,6 GB) ekonomicky přijatelného poměru ceny za jednotku uložené informace. Využívají toho, že při teplotě kolem 150OC dosahují magnetické materiály tzv. Courieho bodu, kdy mají velkou schopnost magnetické polarizace i slabým magnetickým polem. Zahřátí povrchu disku se provádí výkonným laserovým paprskem, vlastní záznam provádějí běžné magnetické hlavy (mohou však být menší, než u magnetických disků a je možná větší hustota záznamu). Vlastní zápis probíhá takto: Magnetická hlava se přepne do stavu 0 (severní pól dole), laser se nastaví na vysoký výkon, ohřeje datový bit na Courieho bod a magnetická hlava zapíše 0. Při druhém průchodu se ohřívají a zapisují jen ty body, kam má být zapsána 1. Po téměř okamžitém vychladnutí disku jsou data zabezpečena až do dalšího ohřátí. Vzhledem ke dvojprůchodovému způsobu zápisu je rychlost záznamu zhruba poloviční než u magnetických disků. Při čtení se používá fyzikálního jevu, označovaného jako Kerrův efekt. Tento jev spočívá v tom, že dopadne-li na magneticky polarizovaný materiál polarizovaný laserový paprsek (jeho světelné vlny jsou upraveny průchodem polarizačním hranolem tak, že vlnění probíhá, velmi zjednodušeně řečeno, jen v jednom směru), dojde k pootočení tohoto paprsku asi o 1O buď proti směru hodinových ručiček (u polarity odpovídající 0), nebo po směru hodinových ručiček (odpovídá 1). Čtecí elektronika zjistí pootočení laserového paprsku a předá výsledek k dalšímu zpracování. Laser při čtení pracuje se sníženým výkonem, aby nedošlo k nežádoucímu zahřátí povrchu disku. Čtení je jednoprůchodové a probíhá obdobnou rychlostí jako u magnetického disku.
94
9 Magnet
Energetický laser
Nízkoenergetický laser
Pootočení podle směru mag. polarizace
Zahřátá zóna Směr mag. polarizace
Zápis na magnetooptický disk
Čtení z magnetooptického disku
Obr. Princip magnetooptického disku. Další zlepšení nabízí přechod k jednoprůchodovému zápisu metodou LIMM (Light Intensity Modulation Method - metoda modulace intenzity světla) a nového typu disků DOW (Direct Overwrite - přímý přepis). Tyto disky, nabízené firmou APEX, by se mohly do jisté míry stát vhodnou alternativou běžných magnetických disků. Mechanika pro tyto disky se cenově pohybuje v současnosti (počátek 1997) kolem 45 000,- Kč (včetně jednoho disku - to znamená cena 11 Kč/MB), další náhradní disky je možno pořídit již za 5300,- Kč. Novým typem disků, které by se měly postupně stát standardem, jsou disky typu CD-RW (Read-Write - tedy čtení i zápis). Jejich povrch je tvořen vrstvou speciální látky, která podle teploty, na níž je zahřáta, ztuhne buď v krystalické nebo v amorfní podobě. Původně se celá vrstva zahřeje na vyšší teplotu a nechá se ztuhnout v amorfním stavu. Při záznamu jsou vybraná místa zahřívána energetickým laserem na nižší teplotu, při které ztuhnou v krystalickém stavu. Čtení se provádí nízkoenergetickým laserem, rozdíl v odrazivosti mezi krystalickým a amorfním povrchem je asi 20%. Tento rozdíl nestačí pro běžné mechaniky CD-disků, od příštího roku (1998) by se však takové rozlišení mělo podle dohody výrobců stát standardem. Smazání záznamu se provádí opět energetickým laserovým paprskem, který povrch zahřeje na teplotu nutnou pro dosažení amorfního stavu po ztuhnutí. Jde tedy o určitou obdobu pamětí EPROM.
95
96
9 Grafický subsystém Grafický subsystém se skládá ze dvou částí - grafické karty a elektrooptického měniče - monitoru. Grafická karta slouží k převodu binární informace z počítače na elektrický signál pro monitor. I když v některých případech je součástí základní desky, zapojuje se obvykle do slotu jako přídavná karta. Počítač ji detekuje při rozběhu a její nepřítomnost nebo špatnou funkci signalizuje zvukovým signálem „-....“. U moderních počítačů se karta obvykle připojuje na sběrnici PCI vzhledem k tomu, že mezi ní a pamětí počítače dochází k velkým přesunům informací, které je třeba provádět co možná nejrychleji. Monitor převádí elektrický signál z grafické karty na optickou informaci srozumitelnou pro člověka. Z uživatelského hlediska rozlišujeme monitory na monochromatické (černobílé) a barevné. Z hlediska fyzikálního principu, na kterém monitor pracuje se používají monitory obrazovkové, dnes již málo používané monitory plasmové a monitory LCD - s tekutými krystaly. 9.1 Grafické karty Základním úkolem grafické karty je převod informace z binární podoby na elektrický vstupní signál pro monitor. Aby převod proběhl co nejrychleji, probíhá nejprve přenos mezi pamětí RAM počítače a pamětí grafické karty. Tento přenos může probíhat 16 bitově nebo 32 bitově a jeho rychlost závisí na typu použité sběrnice (dnes dominuje PCI, karty pro sběrnici ISA nebo EISA jsou již pro současné grafické programy příliš pomalé). Základní součástí karty je grafický procesor karty, zajišťující především správné umístění informace v paměti karty (protože toto umístění určuje pozici zobrazení na monitoru). V současné době všechny typy karet již do určité míry patří mezi tzv. inteligentní karty. Původní karty, označované jako CGA, EGA, VGA nebo SVGA, byly bez inteligence to znamená, že všechny úpravy obrazu musel provádět přímo procesor počítače. To jej značně zpomalovalo a celkově se tím při složitějších grafických programech zpomalovala činnost počítače. Proto se postupně přechází ke kartám se stále větší mírou vlastní inteligence - to znamená, že procesor počítače např. předává kartě jen některé body obrazu a grafický procesor karty si sám dopočte spojovací křivky mezi těmito body. Omezením objemu přenášené informace a přenesením části výpočtů (např. při přesunech objektu po ploše monitoru) na grafický procesor karty se velmi podstatně zrychluje činnost celého počítače. Grafický procesor řídí činnost karty ve dvou základních režimech činnosti znakovém režimu a grafickém režimu. Rozdíl mezi těmito dvěma režimy je především ve způsobu ukládání zobrazované informace do paměti. Ve znakovém režimu je plocha monitoru rozdělena na určitý počet řádků (např. 25) a na každém řádku se předpokládá určitý počet polí pro zobrazení znaků (např. 80). Každé z těchto polí se skládá z určitého počtu jednotlivých bodů na monitoru (řekněme 8 x 8 - to znamená, že obraz každého znaku je složen z osmi sloupců a osmi mikrořádků). V paměti se potom ukládají pro každou takovouto plochu, na které může být zobrazen jeden znak, 2 B informace - první byte obsahuje kód znaku a druhý jeho atributy (barva, typ písma, zda svítí stále nebo bliká, atd.). Adresa umístění v paměti přesně odpovídá umístění znaku na obrazovce. 96
9
Pro každý kód znaku musí znakový generátor vyhledat znakovou matici příslušného znaku, popisující z jakých bodů se skládá obraz znaku.
Obr. - Znaková matice Znaky, pro které je vyhledávání prováděno, jsou uloženy do řádkové paměti dat. Vlastní zobrazování na monitor probíhá potom po mikrořádcích. Další část karty potom generuje čísla mikrořádků, znakový generátor vyhledává příslušné znakové matice, odpovídající kódům znaků z řádkové paměti a předává na svůj výstup v sériové podobě body na příslušném mikrořádku. Pokud bychom dokázali sledovat vytváření obrazu na monitoru, viděli bychom, jak se příslušný text postupně vykresluje zleva doprava v jednom mikrořádku a potom v dalším... mikrořádky
Obr. Rozklad na mikrořádky Každá grafická karta je vybavena základní sadou znaků, vycházející většinou z anglické abecedy a uloženou ve speciální paměti ROM na kartě. Chceme-li zobrazovat jinou sadu znaků (např. české abecedy), musíme pomocí příslušného programu zavést do volné části paměti karty příslušné znakové matice. Je to možné proto, že popis obrazu na monitoru ve znakovém režimu zabírá pouze nepatrnou část paměti grafické karty. Informace ze znakového generátoru má podobu řady 0 a 1. Musí tedy následovat číslico-analogový převodník D/A, který tyto logické hodnoty převede na elektrické zobrazování na monitoru. Po zapnutí počítače je karta vždy ve znakovém režimu, do grafického režimu je přepínána programem, který grafické zobrazování vyžaduje. V grafickém režimu je plocha monitoru rozdělena na velké množství elementárních plošek, tzv. pixelů (např. 1280 x 1024 u monitoru s vysokým rozlišením). Každému pixelu potom odpovídá přesně určené místo v paměti grafické karty. Pro každý pixel je zde uložena informace o jeho barvě. Způsob uložení informace může být různý. Barevný obraz na monitoru se obvykle získává skládáním tří barevných složek - červené, zelené a modré. Jednou možností je uložení určitého počtu barevných odstínů (tedy údajů o tom, z 97
98
Řádkový dekodér
jaké intenzity jednotlivých složek je možno příslušný barevný odstín vytvořit) v paměti ROM a jejich označení jednotlivými kódy, tedy vytvoření tzv. palety. Barevné zobrazení potom spočívá ve výběru příslušného barevného odstínu pixelu podle kódu, který je uložen na příslušném místě v paměti. Jiný způsob spočívá v rozdělení paměti karty na tři stejně velké a společně adresované části. V každé z nich je uložena jedna barevná složka (červená, zelená, modrá). Přečtením adresy odpovídající zobrazovanému pixelu získáme tři čísla, udávající intenzitu jednotlivých složek, jejichž smísením vznikne požadovaná barva. Velikost a typ paměti karty tedy do značné míry určuje kvalitu grafické karty. V současnosti se na grafických kartách používají paměti DRAM, VRAM, WRAM a 3D-RAM.
4 x 512 x 512 bitů paměťových buněk
Zesilovače Dekodér adresy AB
Sloupcový dekodér
DB
Obr. Paměť DRAM Paměť DRAM je klasická dynamická paměť EDO RAM. Má jeden společný vstupní a výstupní paralelní port, to znamená, že do paměti bylo vždy možno pouze buď zapisovat, nebo z ní číst. Musí být doplněna obvodem pro převod dat z paralelní podoby do sériové - posuvným registrem. Relativní pomalost těchto pamětí způsobuje určité problémy, proto se výrobci snaží dosáhnout maximální „paralelizace“ paměti vhodnou organizací jednotlivých chipů, tvořících paměť grafické karty.
98
9 Systémová sběrnice
6 x 256K x 4 bity DRAM
DRAM
DRAM
DRAM
DRAM
a PIXELY 0,5,10,...
PIXELY 1,6,11,...
b
DRAM
c
e
d
Monitor
POSUVNÉ REGISTRY A Č/A PŘEVODNÍKY
Řádkový dekodér
Obr. Organizace DRAM (sloupce) Jeden z možných způsobů organizace je rozdělení plochy monitoru na jednotlivé sloupce, z nichž každý je uložen v jednom paměťovém chipu, o dalším způsobu, spojeným se záznamem barev, se zmíníme dále v popisu činnosti grafické karty. Paměť VRAM (VideoRAM) je speciálně upravenou pamětí DRAM s přímo zabudovaným posuvným registrem pro převod paralelní informace na sériovou. Má dva na sobě nezávislé porty - sériový a paralelní. To jí umožňuje prakticky zároveň přebírat přes paralelní port data z počítače a přes sériový je předávat k dalšímu zpracování grafické kartě. Tím se činnost paměti velmi podstatně zrychluje, vzhledem k větší složitosti paměťových obvodů jsou však tyto paměti zatím podstatně dražší, než častěji používané paměti DRAM.
4 x 512 x 512 bitů paměťových buněk
Zesilovače Dekodér adresy AB
Sériový datový registr DB (sériový) Sloupcový dekodér
DB (paralelní)
Obr. Paměť VRAM Paměť WRAM (WindowsRAM) vznikla dalším zdokonalením paměti VRAM. Doplňuje paměť dalšími pomocnými obvody, zaměřenými na přesuny 99
100
velkých bloků dat z jedné oblasti paměti do jiné oblasti - posuny jednotlivých objektů po ploše monitoru, velmi často používané v systému Windows, totiž prakticky znamená právě přesun bloku dat z jednoho místa v paměti na jiné místo. U běžných typů pamětí tento přesun musel provádět procesor, což jej do značné míry zatěžovalo. V pamětech WRAM tuto úlohu přebírají pomocné obvody uvnitř paměti a procesor se může věnovat jiné činnosti. Specifickým typem paměti je paměť 3D-RAM, používaná ve špičkových grafických kartách pro počítačovou animaci nebo pro přesné „trojrozměrné“ zobrazování objektů např. při projektantských pracích. Paměť je zde rozdělena na jednotlivé části, zaznamenávající jakési za sebou ležící „plochy“ obrazu. Pohyby a posuny mohou probíhat ve všech těchto plochách, přičemž je vždy propočítáván průmět na plochu monitoru, korigovaný navíc „úhlem pohledu“. Výsledkem je velmi dokonalá iluze trojrozměrného prostoru. Předávání informací mezi jednotlivými funkčními celky grafické karty probíhá o vnitřní sběrnici grafické karty. Dnes je běžná 32 bitová a 64 bitová sběrnice, někteří výrobci již dnes přecházejí na 128 bitovou vnitřní sběrnici grafické karty. Šířka sběrnice do značné míry určuje vnitřní rychlost grafické karty a patří mezi důležité charakteristiky grafické karty. Podívejme se nyní na způsoby spolupráce mezi grafickou kartou a zbytkem počítače. Nejprve si popišme tuto funkci na nejjednodušším příkladu, spolupráce s kartou bez inteligence. GRAFICKÁ KARTA
HLAVNÍ PAMĚŤ
OBRAZOVÁ PAMĚŤ
NADŘAZENÝ MIKROPROCESOR
GRAF. PROCESOR
RAM DAC
MONITOR
Obr. - Spolupráce s kartou bez inteligence V tomto případě jsou jakékoliv změny na monitoru prováděny přímo procesorem počítače, který musí např. určit a správně do paměti karty umístit hodnoty pro všechny pixely, zobrazované v grafickém režimu. Procesor provádí výpočty, výsledky ukládá ve vymezené části paměti RAM počítače. Příkladem grafických funkcí, které musí procesor provádět, jsou operace BITBLT (přesun informací z jedné oblasti paměti do jiné, odpovídající posunu objektu po
100
1
obrazovce), LINE (propojení dvou bodů úsečkou), nebo FILL (vyplnit určitou oblast barvou). Odsud je výsledný obraz v binárním tvaru převáděn do obrazové paměti na kartě a podle režimu zobrazování převeden adaptérem na tvar vhodný pro zobrazování. Číslicově-analogový převodník provede převod na elektrický signál potřebný pro monitor. Tento typ karet plně postačuje pro práci v znakovém režimu, v grafickém režimu je taková karta při vyšším rozlišení příliš pomalá, i při značné rychlosti procesoru je totiž závislá na rychlosti předávání informací po sběrnici přes slot do grafické karty a tato rychlost značně omezena. Dalším stupněm vývoje je osazení grafické karty koprocesorem, jako byl např. 8514/A firmy IBM. Obsah obrazové paměti není určován pouze nadřazeným procesorem, ale část funkcí provádí na příkaz tohoto procesoru koprocesor (např. již uvedené funkce BITBLT, LINE a FILL). Tím se podstatným způsobem omezuje zatížení hlavního procesoru grafickými operacemi a činnost celého počítače se tak výrazně zrychluje. GRAFICKÁ KARTA
HLAVNÍ PAMĚŤ
OBRAZOVÁ PAMĚŤ
FUNKCE KOPROCESORU
NADŘAZENÝ MIKROPROCESOR INSTRUKCE PRO KOPROCESOR
RAM DAC
GRAF. KOPROCESOR
MONITOR
Obr. Spolupráce nadřazeného procesoru s graf. koprocesorem Další výrazný pokrok souvisí se zavedením grafických procesorů, jakými byla např. karta TIGA, dodávaná firmou Texas Instruments (TI). Zatímco u předchozích typů karet docházelo k přenosu obrazu v podobě bitmapy (tedy přenos všech pixelů obrazu z paměti počítače do paměti grafické karty), používá tento typ karet tzv. vektorovou grafiku, to znamená, že grafické kartě se předávají pouze některé významné body obrazu a grafický procesor sám podle vnitřních programů dopočítává spojovací čáry, výplně ploch atd.
101
102 GRAFICKÁ KARTA
HLAVNÍ PAMĚŤ
PAMĚŤ PROGRAMU DRAM
OBRAZOVÁ PAMĚŤ
NADŘAZENÝ MIKROPROCESOR
CPU
ZAVÁDĚCÍ PROM
FUNKCE PROCESORU
INSTRUKCE PRO PROCESOR
RAM DAC
GRAF. PROCESOR
MONITOR
Obr. Spolupráce s graf. procesorem Grafický procesor je jakýsi autonomní subpočítač s vlastními pamětmi ROM a RAM a se sadou vlastních programů, z nichž část je napevno uložena v paměti ROM a tvoří tzv. firmware a část se zavádí do paměti RAM pomocí programu, spuštěného přímo v počítači - tzv. ovladače grafické karty. U karet, označovaných jako grafické karty 3D umožňují programy grafického procesoru propočítávat i perspektivu trojrozměrného objektu, zobrazovaného na monitoru (buď pouze softwarově, nebo s využitím Z-bufferu, který obsahuje polohu pixelu v ose Z trojrozměrné souřadnicové soustavy, nebo s využitím výše zmíněné paměti 3D-RAM) a vytvářet odpovídající stínování. Speciálním typem grafických karet jsou Windows akcelerátory, určené pro urychlení práce v systému Windows. Nemají žádnou vlastní inteligenci, dosahují však maximální rychlosti přenosu bloků informací mezi pamětí počítače a pamětí karty pomocí sběrnice PCI, propojující paměť počítače a paměť grafické karty s procesorem prakticky stejným způsobem, takže komunikace mezi nimi probíhá prakticky stejnou rychlostí. Příkladem takových karet je karta Wingine. U grafických karet, které jsou přímou součástí základní desky (např. u notebooků) se v současnosti prosazuje model UMA (Unified Memory Access jednotný přístup do paměti). V tomto případě je paměť grafické karty integrální součástí paměti RAM počítače, kterou hlavní procesor sdílí s grafickým procesorem. Dosahuje se tak značných úspor paměťové kapacity - oblast vymezená pro grafický procesor se mění podle potřeby, takže např. při práci ve znakovém režimu zabírá jen malou část celkové paměti a zbytek je plně k dispozici pro činnost hlavního procesoru. Vzhledem k prudkému rozvoji grafických aplikací, včetně práce s videosignálem, televizním obrazem atd. na počítači, se i grafické karty velmi rychle rozvíjejí a prakticky každý rok se jejich rychlost a schopnosti pronikavě zvyšují. Zároveň se rozvíjí i jejich programové vybavení, tedy ovladače grafických karet. U 3D karet se např. prosazuje programové rozhraní Direct 3D, 102
1
vytvořené firmou Microsoft, které umožňuje jednotným způsobem vytvářet grafické programy pro 3D karty nejrůznějších výrobců (prozatím byl přenos těchto programů dosti komplikovaný). Lze tedy očekávat, že se velmi brzy objeví nové principy, které nebylo v této kapitole možno popsat. 9.2 Monitory Úkolem monitorů je převádět elektrický signál z počítače na optickou informaci pro obsluhu. Podle fyzikálního principu činnosti rozeznáváme obrazovkové monitory a monitory s tekutými krystaly (LCD) ( o plasmových monitorech vzhledem k jejich omezenému použití nebudeme podrobněji psát). Dle zobrazení rozeznáváme monitory monochromatické (černobílé) a barevné mohou být jak obrazovkové, tak i LCD. 9.2.1 Obrazovkové monitory Základem obrazovkových monitorů je obrazovka. Jde o vakuovou elektronku. Její přední široká a plochá část se označuje jako stínítko. V zadní zúžené části obrazovky je elektronová optika. Ze žhavené elektrody, označované jako katoda, jsou v ní emitovány elektrony. Pomocí velkého vnějšího napětí (katoda má záporný potenciál, stínítko obrazovky kladný - napětí je asi 600 V) jsou elektrony urychlovány od katody ke stínítku. Elektronová optika obsahuje další záporně nabité elektrody, které tvoří z elektronů tenký paprsek.
Vychylovací cívky Stínítko Mřížka
Elektronová optika
u sk yb oh papr el.
elektronový paprsek
luminofor
Obr. - ČB obrazovka Kolem zúžené části obrazovky je věnec elektromagnetických cívek, jejichž úkolem je vychylovat elektronový paprsek a pohybovat s ním po stínítku obrazovky. Pohyb paprsku probíhá po řádcích. Paprsek začne v levém horním rohu obrazovky a konstantní rychlostí přejíždí zleva doprava po prvním řádku. Na konci řádku je „zhasnut“ a přeskočí zpět na levou stranu stínítka. Současně se posune o jeden řádek směrem dolu, takže nyní bude přejíždět po druhém řádku atd. Po projetí celé plochy stínítka opět zhasne a přeskočí zpět do levého horního rohu stínítka a celý proces se opakuje. Počet průchodů řádkem za sekundu určuje 103
104
řádkovou frekvenci, počet průchodů celou plochou stínítka obrazovou frekvenci monitoru. Abychom po zobrazení vnímali obraz bez blikání, musí být obrazová frekvence větší než 60 Hz. U kvalitních monitorů bývá 80 - 120 Hz (tomu musí odpovídat i rychlost použité grafické karty, aby „stihla“ plynule do monitoru dodávat signál). Plocha stínítka je pokryta luminoforem, což je speciální polovodičová látka Dopadnou-li na ni elektrony o dostatečné energii, pohltí je a jejich energii vyzáří v podobě světla. Luminofor tvoří na povrchu stínítka hustou síť bodů (až 1 800 000 bodů). Jas světla, které při průchodu elektronového paprsku příslušný bod vyzáří, závisí na intenzitě elektronového paprsku. Tuto intenzitu mění napětí na mřížce, kterou elektronový paprsek prochází po opuštění elektronové optiky. Toto napětí je dáno elektrickým signálem z grafické karty (můžeme je měnit i ručně nastavováním jasu obrazu na monitoru). Na stínítku tedy získáme matici bodů o různém jasu, kterou vnímáme jako černobílý televizní obraz. U barevných obrazovek jdou uvnitř obrazovky tři elektronové paprsky. Jsou vychylovány společně, jejich body dopadu na stínítko jsou o něco posunuty proti sobě a intenzita každého z nich je ovládána zvlášť samostatnou mřížkou. Luminofor na stínítku není homogenní, skládá se z částí zářících červeně (R red), modře (B - blue) a zeleně (G - green). Optickým složením různě jasného světla těchto základních barev je získán požadovaný barevný odstín. Přesné zaměření paprsků pouze na příslušné body s luminoforem odpovídající barvy je zaručeno tím, že je před stínítko uvnitř obrazovky umístěna tenká stínicí maska, tvořená kovovou fólií o síle 0,15 mm. V této fólii jsou přesně vyleptány otvory, odpovídající pozici plošek s luminoforem na stínítku. Materiál fólie musí mít velmi malou teplotní roztažnost, jinak by docházelo k rozostřování obrazu následkem zahřívání fólie během provozu obrazovky. Podle rozmístění ploch s luminoforem rozeznáváme obrazovky se zobrazením typu delta, trinitron, in-line a CromaClear. U obrazovek delta tvoří kruhové plošky s luminofory jednotlivých barev rovnostranný trojúhelník. Nevýhodu těchto obrazovek je deformace obrazu při okrajích stínítka, způsobená „šikmým“ dopadem paprsku na stínítko v krajních polohách. Musí proto být poměrně výrazně vyduté. U moderních monitorů však dáváme přednost plochým obrazovkám. modrá
B G
R červená
zelená
Obr. Delta U obrazovek trinitron tvoří jednotlivé luminofory na stínítku svislé pásky. Stínicí maska je tvořena tenkými svislými drátky, proměnná vzdálenost mezi nimi umožňuje eliminovat zkreslení bodu na okrajích stínítka. Tvar stínítka odpovídá povrchu válce a je podstatně plošší, než u předchozího typu. Rovněž dosahovaná ostrost obrazu je podstatně vyšší, než u obrazovek delta. Nevýhodou je malá 104
1
mechanická pevnost stínicí masky, která se může např. vnějším magnetickým polem výrazně deformovat. Tento typ obrazovek se u monitorů nadále vcelku běžně používá.
RG B červená
modrá
zelená
Obr. Trinitron Obrazovky in-line mají rovněž luminofor uspořádaný do proužků, stínicí maska je však pevná a jsou v ní vytvořeny protáhlé otvory. I když má ještě lepší vlastnosti, než obrazovka trinitronová, byla výroba stínicí masky s požadovanou přesností příliš nákladná a proto byl tento typ obrazovky trinitronovými obrazovkami vytlačen. Určitý návrat k této technologii představuje nový typ obrazovek CromaClear, vyráběných firmou NEC. Zdokonalením technologie výroby stínicích masek se povedlo vytvořit síť, tvořenou drátky (jako u trinitronu), ale podstatně mechanicky odolnější (jako u in-line). Zpevnění bylo dosaženo zabudováním zpevňujících příčných drátků a dalšími úpravami a tento typ obrazovek dnes patří k nejkvalitnějším.
RG B
RG B
RG B RG B
RG B
Obr. CromaClear Je vcelku zřejmé, že kvalita monitoru bude kromě typu obrazovky a obrazové frekvence záviset i na velikosti stínítka. Tato velikost se vyjadřuje pomocí úhlopříčky stínítka, vyjádřené v palcích. Na trhu jsou monitory o úhlopříčce 14“, 15“, 17“, 20“ a 21“. Při rozlišení (daném typem grafické karty) 800 x 600 pixelů stačí velikost 14“, pro 1024 x 768 pixelů je třeba 15 - 17“ a pro 1280 x 1024 (a vyšší) je nutno alespoň 20“.
105
106
Vcelku je možno říci, že obrazovkové monitory mají kvalitní obraz, jsou relativně cenově přístupné a jsou proto i nejčastěji používaným typem monitorů. Jejich nevýhodou je produkce nebezpečného záření, schopného poškodit po delším působení zrak (je proto třeba používat monitory označované jako Low Radiation, u kterých je toto záření odstraňováno zabudovanými filtry), nepříznivé působení na nervovou soustavu vlivem blikání obrazu v případě nedostatečně vysoké obrazové frekvence, velké rozměry a velká spotřeba elektrické energie. 9.2.2 Monitory LCD (s tekutými krystaly)
Světlo neprochází
Tekuté krystaly jsou anisotropní organické kapaliny (anisotropní znamená, že mají v různém směru různé vlastnosti, dané v tomto případě tím, že makromolekuly obsažené v těchto kapalinách se v určitém rozmezí teplot samovolně uspořádávají do jakýchsi „vrstev“ - i když jde o kapalinu). V monitorech se používají nematické tekuté krystaly, u kterých se všechny makromolekuly uspořádají tak, že jejich osy směřují stejným směrem. V klidovém stavu takovouto kapalinou volně prochází světlo ve směru os makromolekul. Působením elektrického napětí dochází k posunu os makromolekul v místě, kde napětí působí, a to se navenek projeví zvýšeným pohlcováním světla. Velikostí napětí je možno buď měnit optické vlastnosti dvoustavově (světlo prochází nebo neprochází), nebo plynule (bod postupně tmavne v řadě stupňů šedi).
Světlo prochází
Obr. Nematický tekutý krystal Vlastní monitor je potom tvořen dvěma průhlednými deskami (ze skla nebo z průsvitné fólie), mezi kterými je kapalina tekutého krystalu. Na povrchu desek jsou vytvořeny tenké průsvitné kovové elektrody, kterými je možno přenášet napětí na vybraná místa na ploše monitoru. Za monitorem je potom zdroj světla. Vytváření obrazu opět probíhá po řádcích, je však o něco pomalejší, než u obrazovkových monitorů, proto bývá obvykle zobrazován celý řádek najednou, nikoliv bod po bodu (jako u obrazovek).
106
1
+
-
společná elektroda
dělené elektrody
tato oblast pohlcuje světlo
Obr. LCD Monitor Barevné monitory mohou pracovat buď přidáním dichrotických barev do tekutého krystalu (dichrotická barva je látka, jejíž barva závisí na orientaci molekul vůči procházejícímu světlu), nebo rozdělením monitoru na několik vrstev, z nichž v každé je do tekutého krystalu přidán barevný filtr. První typ obsahuje molekuly barviva, rozptýlené v tekutém krystalu. Molekuly barviva sledují natáčení molekul tekutého krystalu. V závislosti na vzájemné orientaci procházejícího světla a molekul barviva dochází k pohlcování určité vlnové délky procházejícího světla, což se projevuje jako zabarvení příslušného bodu na určitý barevný odstín. Nevýhodou je, že jednotlivé pixely musí být od sebe odděleny, aby nedocházelo k mísení kapaliny tekutých krystalů. U druhého typu se monitor skládá většinou ze čtyř na sobě položených společně prosvěcovaných vrstev. Barevné filtry zajišťují, že tekuté krystaly v každé vrstvě pohlcují světlo určité barvy. Obvykle se používají stejné základní barvy jako u barevných obrazovek - červená, modrá a zelená. Čtvrtá vrstva je obvykle černá - smísením tří základních barev prosvěcovaných vrstev se obvykle nedá dosáhnout kvalitní černý odstín. V každé vrstvě je zobrazována jen část obrazu, na které se má příslušná barva podílet. Výsledný barevný obraz potom vzniká společným prosvícením všech čtyř vrstev světlem.
černá červená zelená modrá
procházející světlo
Obr. Barevný LCD display Monitory s tekutými krystaly jsou ploché, mají malé rozměry, nepatrnou spotřebu elektrické energie a v současné době již velmi kvalitní obraz. Neprodukují žádné škodlivé záření, obraz na nich nekmitá a práce s těmito monitory méně unavuje zrak. Jsou standardním vybavením přenosných počítačů notebooků. Vyrábějí se i v provedení, umožňujícím prosvícení intenzívním zdrojem světla z projektoru a promítat tak obraz z počítače na promítací plátno např. při prezentaci možností nových počítačů, nových programů, při školeních, při výuce apod.. Hlavní nevýhodou, bránící dosud jejich masovému rozšíření, je jejich cena. Uvádí se, že z ceny notebooku téměř 50% tvoří cena LCD monitoru. Dokud další pokrok technologie nesníží cenu těchto monitorů na úroveň srovnatelnou s cenami 107
108
obrazovkových monitorů, nelze očekávat, že se rozšíří mimo své dnešní oblasti aplikace.
108
1
10 Periferní zařízení Každý počítač využívá pro svou činnost řadu periferních zařízení, připojovaných zvnějšku na jednotlivé konektory počítače. Jedno z výstupních periferních zařízení - monitor - jsme popsali v kapitole o grafickém subsystému. Nyní postupně popíšeme další typy periferních zařízení. Jak jsme již dříve uvedli, dělíme periferní zařízení na a) vstupní, mezi které řadíme klávesnici, zařízení pro komunikaci s počítačem výběrem pozice na obrazovce, jako je například myš, trackball, touchpad, joystick, kapsle, scanner, čtečka optického čárového kódu atd. b) výstupní - monitor, tiskárna, plotter, zvuková karta, číslico-analogové převodníky různého typu atd. c) vstupní i výstupní - modem, síťová karta, různé externí diskové jednotky apod. 10.1 Vstupní zařízení 10.1.1 Klávesnice Klávesnice jsou jedním z nejstarších periferních zařízení, používaných u počítačů. Připojují se na velký nebo malý pěti- nebo šestikolíkový konektor DINN, vycházející přímo ze základní desky počítače. Komunikace mezi počítačem a klávesnicí je řízena programem, uloženým v paměti ROM a označovaným jako KeyboardBIOS. Komunikace mezi počítačem a klávesnicí má charakter sériového přenosu. Rozdělení klávesnic můžeme provádět podle dvou základních hledisek - podle fyzikálního principu klávesy, nebo podle způsobu vyhledávání stisknuté klávesy na klávesnici. Podle prvního hlediska rozeznáváme elektromechanické klávesnice, kapacitní klávesnice, magnetické klávesnice a senzorové klávesnice. Podle druhého hlediska rozeznáváme klávesnice s vyhledáváním procesorem, pomocným obvodem, nebo s kodérem klávesnice. Elektromechanické klávesnice pracují na principu běžného tlačítka. Na membráně uvnitř klávesnice je vytvořena síť vodivých cest. Na klávese je pružný můstek z pryže, pokryté kovem. Stisknutím klávesy můstek propojí dvě elektrody na vodivých cestách. Propojení je potom vyhodnoceno jako signál o stisknutí klávesy. Rozpojení po uvolnění klávesy zajišťuje vratná pružina. Výhodou elektromechanických klávesnic je jejich relativně nízká cena a pak především jejich odolnost proti nešetrnému zacházení. Jde o nejběžnější typ klávesnic, dobře uplatnitelných např. ve školách a jinde, kde nelze zaručit šetrné zacházení ze strany uživatele. Závady vznikají po delším používání oslabením vratné pružiny. Rozpojení kontaktů potom není dost rychlé a klávesnice někdy stisk vyhodnotí jako opakovaný znak, i když ve skutečnosti došlo jen k jednomu stisku klávesy. Dalším zdrojem závad může být i postupné opalování kontaktů nepatrnými výboji při rozepínání. Tyto výboje se projevují jako zákmity při rozpínání klávesy. Tyto zákmity musí být odstraňovány speciálními korekčními obvody. 109
110
Tlačítko
Pružinka
Pohyblivý kontakt
Pevné kontakty
Obr. Princip elmech. klávesy Kapacitní klávesnice využívají elektrické kapacity mez pevnou elektrodou a pružnou membránou. Kapacita vyjadřuje schopnost pojmout elektrický náboj. Projevuje se mezi dvěma deskami, na které je připojeno elektrické napětí a které jsou odděleny nevodivým prostředím. Její velikost S C = e ___ l kde S je plocha desek, e konstanta, popisující vlastnosti prostředí mezi deskami a l je jejich vzdálenost. Stlačení
Klávesy Pružná membrána
Elektrody
Obr. Kapacitní klávesnice Stisknutím klávesy dojde v příslušném místě k prohnutí membrány, která se přiblíží k elektrodě, ležící pod ní. Zmenšením jejich vzdálenosti prudce vzroste v příslušném místě kapacita, což je snadno zjistitelné elektronickými obvody klávesnice. Po uvolnění klávesy se membrána vlastní pružností vrátí do původní polohy. Kapacitní klávesnice jsou velmi citlivé na dotyk, mají nepatrnou spotřebu elektrické energie a malé rozměry. Nevýhodou je u nich snadné poškození při nešetrném zacházení. Používají se u přenosných počítačů a u kapesních kalkulaček. Existují dokonce i v rozkládací podobě, která rozložením jednotlivých dílů a jejich dílů vytvoří běžně velkou klávesnici, umožňující snadnou práci i na notebooku. Magnetické klávesnice mají uvnitř klávesy permanentní magnet. Pod klávesou je umístěna Hallova sonda. Hallova sonda je elektronický prvek,
110
1
reagující na změnu magnetického pole elektrickým napěťovým signálem. Stisknutím klávesy se magnet přiblíží k Hallově sondě, která na vzrůst magnetického pole reaguje vysláním elektrického signálu. Tlačítko Permanentní magnet
Pružinka
Hallova sonda
Obr. Magnetická klávesnice Magnetické klávesnice jsou jedním z nejkvalitnějších typů klávesnic, jsou však poměrně drahé a používají se pouze u některých počítačů. Senzorové klávesnice jsou tvořeny dvěma kontakty těsně u sebe. Propojení se provádí přiložením prstu. Na povrchu kůže je vždy tenká vrstvička potu, která vytváří vodivé spojení mezi kontakty. Tento typ klávesnic se používá jen u kapesních počítačů - notepadů. Druhé rozdělení, založené na způsobu zjišťování pozice stisknuté klávesy a na interpretaci tohoto stisku, odráží do jisté míry i postup vývoje počítačů. U prvních počítačů s mikroprocesorem přerušoval mikroprocesor v pravidelných intervalech svou činnost a prováděl test klávesnice. Nevýhodou tohoto uspořádání je, že většina testů je prováděna zbytečně (výsledkem bylo zjištění, že žádná klávesa stisknuta nebyla). V případě zjištění pozice stisknuté klávesy mikroprocesor interpretoval tuto pozici, určil, zda jde o funkční klávesu, na kterou musí reagovat okamžitě, nebo znakovou klávesu, u níž určil kód znaku a uložil jej na vyhražené místo do paměti a reagoval až po zadání celého příkazu, složeného z řetězce znaků. V současné době se tento typ klávesnic již nepoužívá. Dalším stupněm vývoje bylo doplnění mikroprocesoru pomocným obvodem. Toto uspořádání pracuje tak, že mikroprocesor v pravidelných časových intervalech vysílá příkaz pomocnému obvodu, který provede test klávesnice nezávisle na mikroprocesoru, který se může věnovat další činnosti. Výsledkem činnosti pomocného obvodu je určení, zda byla stisknuta klávesa a v případě, že byla, jaké jsou její souřadnice na klávesnici. Určení významu stisknuté klávesy připadá opět mikroprocesoru, odpadají však zbytečné testy klávesnice v situacích, kdy žádná klávesa stisknuta není (z velkého rozdílu v rychlosti činnosti počítače a rychlosti psaní na klávesnici plyne, že výsledkem většiny testů je zjištění, že žádná klávesa stisknuta není). V současné době se tento typ klávesnic používá u některých laciných a jednoduchých typů počítačů, u řídicích počítačů číslicově řízených strojů atd. Posledním typem klávesnice jsou klávesnice s kodérem klávesnice. Kodér klávesnice je autonomní koprocesor, provádějící nezávisle na mikroprocesoru počítače testy klávesnice, zjišťující stisk klávesy a její pozici a provádějící i interpretaci klávesy, včetně generování kódu znaku znakové klávesy. Tento typ klávesnice je v současnosti standardním typem, používaným u osobních počítačů všech typů.
111
112
10.1.1.1 Popis klávesnice Popišme si nyní standardní uspořádání klávesnice, tak, jak se ustálilo u dnes běžných klávesnic, používaných u osobních počítačů.
F1 F2 F3 F4
F5 F6
F7 F8
F9 F10 F11 F12
Print Scroll Pause Scren Lock Break
Insert Home Page Up Delete End
Tab Caps Lock
Enter
Shift
Ctrl
Page Down
Shift Win95
Alt
Alt
Win95
Win95
turbo
Ctrl
Num Lock Caps Lock Scroll Lock
Num Lock
/
*
7
8
9
4
5
6
1
2
3
0
.
+
Enter
Esc
Obr. Schéma klávesnice IBM (Keybcs) Klávesy je možno rozdělit na několik skupin. V horní části klávesnice je řada tzv. funkčních kláves F1 - F12. Tyto klávesy jsou obvykle využívány pro řízení programů, jejich význam definuje tvůrce softwaru a liší se program od programu. Další skupinou kláves jsou ovládací klávesy. V levém horním rohu klávesnice je klávesa „Esc“, používaná obvykle k odvolání posledního příkazu počítači. Vpravo od řady funkčních kláves je trojice ovládacích kláves „Print Scrn“, „Scroll Lock“ a „Pause-Break“. „Print Scrn“ vede k vytištění obsahu monitoru na tiskárně. „Scroll Lock“ obvykle řídí „rolování“ obrazovky (posuny nahoru a dolu), případně práci s okny (jiné funkce mohou být definovány programem). Klávesa „Pause-Break“ většinou vyvolá zastavení provádění programu (není-li programem určeno jinak). Mezi ovládací klávesy patří i šest kláves vpravo od znakových kláves - klávesy „Insert“, „Delete“, „Home“, „End“, „Page Up“ a „Page Down“. Tyto klávesy se používají především pro řízení práce se znaky na monitoru počítače. Klávesa „Insert“ přepíná mezi běžným režimem vkládání (do řetězce je možno vložit nové znaky, znaky za nimi se posunují) a režimem přepis (nové znaky přepisují původní znaky řetězce). Klávesa „Delete“ maže znak na pozici kurzoru na obrazovce. Klávesa „Home“ přesouvá kurzor na počátek řádku. Klávesa „End“ přesouvá kurzor za poslední znak na řádku. „Page Up“ a „Page Down“ posouvají text o jednu obrazovku nahoru nebo dolu. Dále mezi ovládací klávesy patří čtyři klávesy s šipkami pro posun kurzoru po obrazovce, klávesa „Enter“ (také „ „ zadávající příkaz počítači (potvrzení příkazu) a klávesa „Back Space“ někdy též „ „ mazající znaky zpětným posunem kurzoru. Další skupinou kláves jsou znakové klávesy - tvoří většinu kláves na klávesnici. Standardně jde o znaky anglické abecedy, základní číslice a některé speciální znaky. Programově je možno tyto klávesy předefinovat tak, aby zahrnovaly i znaky např. české abecedy. Znakové klávesy jsou doplněny třemi přepínacími klávesami „Shift“ (nebo dvojitá šipka nahoru), sloužící obvykle k přepínání velkých a malých písmen, „Ctrl“ a „Alt“, kterými se přepínají funkce kláves při řízení programů. Klávesa „Caps Lock“ po levé straně pole znakových 112
1
kláves přepíná trvale na velká písmena. Nad ní umístěná klávesa Tabelátor (obvykle se dvěma proti sobě jdoucími šipkami) se používá pro přeskakování kurzoru do předem nastavených pozic na obrazovce. Vpravo od všech ostatních kláves je pomocná numerická klávesnice. Zapíná se klávesou Num Lock v levém horním rohu této klávesnice. Její klávesy mají funkci jednotlivých číslic a znaků pro matematické operace (není-li zapnut Num Lock, mají tyto klávesy funkce šipek a kláves „Insert“, „Delete“, „Home“, „End“, „Page Up“ a „Page Down“). V pravém dolním rohu je druhá klávesa „Enter“, používaná pro odeslání příkazu do počítače. Celá tato skupina kláves se nejčastěji využívá, používáme-li počítač jako kalkulátor. Nad numerickou klávesnicí jsou obvykle tři světelné kontrolky, signalizující stisk kláves „Num Lock“, „Caps Lock“ a „Scroll Lock“. U některých typů klávesnic bývá místo těchto kontrolek jedna kontrolka, potvrzující připojení klávesnice k počítači. U nejnovějších počítačů, pracujících s operačním systémem Windows 95 přibývají ještě dvě ovládací klávesy pro tento systém (především pro přepínání do režimu DOS a zpět do Windows 95 a pro aktivaci menu). Do zvláštní kategorie patří různé ergonomické klávesnice, tvarované tak, aby usnadňovaly obsluze práci. Přes častá oslavná tvrzení výrobců o výhodnosti těchto klávesnic nepředstavují takové zlepšení, aby se tím ospravedlnila jejich vysoká cena. Většina uživatelů nadále dává přednost klasickým klávesnicím, vycházejícím z původního vzoru - z psacího stroje. 10.1.2 Zařízení pro komunikaci s počítačem prostřednictvím výběru pozice na monitoru. Tato zařízení tvoří dvě poměrně velké skupiny - zařízení s přímou detekcí místa dotyku na obrazovce a zařízení pro pohyb značky po monitoru. Do první skupiny patří světelné pero a speciální obrazovka, z druhé skupiny můžeme vyjmenovat myš, trackball, touchpad, joystick a kapsli. 10.1.2.1 Zařízení pro přímou detekci místa dotyku na monitoru Dnes se tento typ zařízení používá již jen v omezené míře. Světelné pero je v podstatě citlivý detektor světla. Přiložíme-li jeho hrot na zvolené místo obrazovky, vznikne v tomto místě v okamžiku průchodu elektronového paprsku světelný záblesk, který světelné pero převede na elektrický signál, odeslaný do počítače. Vzhledem k tomu, že se elektronový paprsek pohybuje po stínítku obrazovky konstantní rychlostí, stačí počítači změřit počítáním taktovacích pulzů čas mezi počátkem běhu paprsku v levém horním rohu stínítka a signálem ze světelného pera a určit tak polohu bodu, ve kterém se hrot pera dotýká povrchu stínítka. Nevýhodou světelného pera je jeho použitelnost pouze u obrazovkových monitorů a poměrně nepohodlné použití, spojené s nutností zvedat ruku ke stínítku obrazovky. V některých případech docházelo k použití speciálních, nakloněných obrazovek, umístěných tak, aby na ně bylo možno bez problémů dosáhnou opřenou rukou a ovládat světelné pero pouhým pohybem zápěstí. Ani tato úprava však nezískala oblibu uživatelů a světelné pero bylo ve většině případů nahrazeno myší.
113
114
V informačních systémech určených veřejnosti se v poslední době používají speciální monitory, umožňující řídit funkci počítače dotykem prstu na ploše monitoru. Plocha stínítka monitoru je pokryta speciální dvojitou fólií. Dotykem prstu se horní fólie prohne a dotkne se v určitém místě spodní fólie. Na fóliích je soustava vodorovných (na jedné) a svislých (na druhé) vodivých cest. Jejich propojení signalizuje pozici místa dotyku na monitoru. Vzhledem k poměrně vysoké ceně, malé citlivosti a celkově poměrně omezeným možnostem ovládání počítače se tento typ obrazovek u běžných počítačů nepoužívá. 10.1.2.2 Zařízení pohybující značkou po monitoru Společným znakem těchto zařízení je, že na monitoru je ovládacím programem zařízení generována značka (např. v podobě šipky), která je pomocí zařízení přesouvána do vybrané pozice na obrazovce. tato vybraná pozice je potom signalizována stisknutím signalizačního tlačítka na zařízení. Jednotlivé typy těchto zařízení se liší především způsobem převodu mechanického pohybu zařízení na pohyb značky na obrazovce. 10.1.2.2.1 Myš Nejčastěji používaným zařízením z této skupiny je tzv. myš. Má obvykle podobu oválné krabičky, spojené kabelem s konektorem sériového portu počítače. Na horní straně jsou na krabičce 1 - 3 signalizační tlačítka (myš s jedním tlačítkem je typická pro počítače firmy Apple, u ostatních typů počítačů se většinou používají 2 - 3 tlačítkové myši). Ve spodní části krabičky je u běžných myší otvor, ve kterém je kovová kulička, pokrytá pryží. Pohybem myši po podložce se otáčí kulička - je proto třeba zajistit dobré tření mezi podložkou a uličkou, často se tedy používají speciální třecí podložky pod myš). Na kuličku uvnitř myši dosedají pomocí třecích spojek dvě na sebe kolmé osičky (na jednu se převádí pohyb v ose x, na druhou v ose y). Na konci každé z osiček je ozubené kolečko z umělé hmoty. Velké zuby kolečka procházejí mezi zdrojem světla a dvěma snímači světla. Dva snímače jsou nutné aby bylo možné z přerušování světla zuby kolečka určit nejen rychlost pohybu v příslušné ose, ale i jeho směr. Elektrické impulzy ze snímačů se vedou do počítače, kde se zpracovávají na údaje pro pohyb značky po monitoru. Funkce tlačítek vychází z předpokladu, že obsluha drží myš při práci v pravé ruce. Levé tlačítko je potom hlavním signalizačním tlačítkem, ovládaným ukazovákem pravé ruky. Pravé tlačítko slouží jako pomocné pro spouštění pomocných funkcí programu. Prostřední tlačítko 3 tlačítkové myši bývá většinou nevyužíváno. Pomocí parametrů ovládacího programu myši je možno předefinovat tlačítka pro ovládání levákem. Podobně je možno nastavit i vybraný sériový port počítače, pokud jich má počítač více. I další vlastnosti myši (citlivost atd.) jsou nastavitelné pomocí parametrů ovládacího programu.
114
1 Osičky Třecí spojky
Kulička
Zdroje světla
Ozubená kolečka
Snímače světla (pro směr a pro rychlost v osách x a y)
Obr. Vnitřní ústrojí myši V poslední době se objevily nové myši, u nichž se pohyb nepřenáší třením kuličky o třecí podložku, ale pomocí dvou pryžových kuželů. Výhodou tohoto uspořádání je, že taková myš nepotřebuje třecí podložku. Může se s ní pohybovat i po hladké ploše stolu. Existují i myši bezkabelové, komunikující s počítačem prostřednictvím ultrazvuku nebo elektromagnetických vln. 10.1.2.2.2 Trackball
Zboku
Přívod k sériovému portu Signalizační tlačítka
Zhora
Ovládací kulička
Obr. Nákres trackballu Trackball je svou podstatou myš upravená pro práci s notebookem či jiným přenosným počítačem. U trackballu je ovládací kulička podstatně větší než u myši, je celá z umělé hmoty a je umístěna v horní části krabičky. Kuličkou se pohybuje palcem ruky. Ovládací tlačítka jsou na straně krabičky a ovládají se ukazovákem. U některých notebooků je trackball již přímo zabudován vedle klávesnice, k jiným se připojuje trackball zvenku na sériový port počítače. Někteří výrobci
115
116
dodávají i klávesnice, u nichž je trackball zabudován na pravé straně, vedle numerické klávesnice. 10.1.2.2.3 Touchpad V poslední době se u notebooků začíná objevovat další zařízení pro pohyb značky po obrazovce - tzv. touchpad („dotyková plocha“). Jde o zařízení zabudované do notebooku. Tvoří je obdélníková plocha, pokrytá pružnou fólií. Pod fólií je plochá destička z materiálu s poměrně velkým elektrickým odporem. Stisknutím membrány v určitém bodě dojde k dotyku s odporovou desku. Měřením napětí je možno určit polohu místa dotyku (na principu děliče napětí potenciometru) ve dvou souřadnicích x a y.
potenciometr
b
U1
a
R b ____ U2 = a U1 hrot (nebo prst) membrána
+U 2
odporová podložka
0 b a
+U 1
Obr. Princip touchepadu a potenciometru 10.1.2.2.4 Joystick Joystick již patří mezi ne zcela běžné vybavení počítačů. Připojuje se přes specifické rozhraní - Game Port, které se musí speciálně do počítače zabudovat. Joystick je typickým vybavením pro počítačové hry. Má podobu ploché krabice, ke které je v kulovém kloubu připevněna vertikální páka. Kolem kulového kloubu páky je věnec kontaktů, které se vychýlením páky v určitém směru spínají. Jiným způsobem snímání je využití dvou otočných potenciometrů, převádějících úhel výchylky na dvě elektrická napětí. Tato napětí se potom analogo-číslicovým převodníkem převádějí na čísla, určující vychýlení páky ve dvou na sebe kolmých směrech. Směr vychýlení páky určuje směr pohybu značky po obrazovce, úhel vychýlení páky zase rychlost jejího pohybu. Signalizační tlačítka jsou umístěna jednak na krabičce a jednak na vrcholu páky.
116
1
Pohyblivá páka Signalizační tlačítka
Výstup na Game port
Základní krabice
Obr. Joystick Kromě her může mít joystick i jiné, užitečnější použití. Umožňuje ovládání počítače i tělesně postiženým, kteří jinak nemohou ovládat myš nebo klávesnici. Existuje i úprava, která umožňuje pomocí joysticku, ovládaného jazykem, rty a zuby, pracovat s počítačem i celotělově ochrnutým osobám. 10.1.2.2.5 Kapsle Kapsle je již značně speciálním zařízením. Nejlépe je ji možno přirovnat k „bezdrátové myši“, nebo „prostorově pohyblivé myši“. Její použití je velmi podobné, jako u běžné myši, nemusí se však s ní pohybovat po podložce, může se ovládat pohybem v prostor. Poloha kapsle se může zjišťovat různými způsoby, například pomocí ultrazvuku. Kromě ovládání počítače na dálku např. při přednáškách se kapsle používá např. i při snímání trojrozměrných objektů pro počítačové zpracování (např. archeologických nálezů apod.). Snímání se provádí tak, že se pomalu přejíždí kapslí po všech plochách objektu. Počítač speciálním programem snímá polohu kapsle a získává tak řadu trojrozměrných souřadnic, na jejichž základě může vytvořit matematický model snímaného objektu.. 10.1.3 Další vstupní zařízení 10.1.3.1 Snímač optického čárového kódu Optický čárový kód umožňuje zakódování identifikačních čísel různých výrobků formou kombinace tenkých a silných černých čar na světlém podkladu. Snímače pracují na principu měření odrazu tenkého světelného paprsku od plochy s čárovým kódem - tmavá barva čar světlo pohlcuje, světlý podklad je odráží.
117
papír
ač sv ětl
a
vy ele hodn ktr oc on ov ika ac í op so tická us tav a
sn ím
zd ro
js vě tl
a
do
po
čít ač e
118
Obr. Průřez snímačem opt. čárového kódu. Kódová označení je dnes s pomocí obslužných programů možno tisknout prakticky na všech lepších počítačových tiskárnách (velmi časté je tištění na polepky, jimiž je potom označováno zboží). Snímání je možné buď ručním snímačem, majícím podobu silného pera se skleněným hrotem, spojeného kabelem se sériovým vstupem počítače, nebo pevným snímačem, tvořeným plochou destičkou, napevno připevněnou k podložce a schopnou přečíst čárový kód bez ohledu na jeho umístění vzhledem k ose destičky. V některých systémech se pro snímání optického čárového kódu používá ruční scanner, který si popíšeme v příslušné kapitole. Systémy s optickým čárovým kódem se používají především v maloobchodě pro evidenci oběhu zboží. Umožňují přesný průběžný přehled o stavu zásob jednotlivých výrobků na skladě, snadné přeceňování (prodavačky si nemusí pamatovat okamžité ceny, po přečtení kódu je ze své paměti automaticky dosazuje počítač) případně i další sledování informací, potřebných pro správná obchodní rozhodnutí (stav zásob, vývoj stavu zásob, vypršení záruční doby, cena atd.).
7 7 1 2 1 0
Obr. Příklad optického čárového kódu Kromě obchodních aplikací je i několik dalších oblastí, kde se čárový kód používá - v knihovnách pro evidenci knih, na identifikačních kartách pro vstup do objektů atd. V některých státech (Švýcarsko) se zkouší i jeho použití pro kódování základních zdravotních informací o lidech na kartičky jejich zdravotního pojištění 118
1
(výhodou je, že důvěrné informace o zdravotním stavu je možno přečíst pouze pomoc speciálního dekodéru a záznam je přitom velmi trvanlivý a laciný). 10.1.3.2 Scanner Scanner je zařízení, sloužící k převodu grafické informace (text, obrazy, fotografie atd.). na numerickou informaci, zpracovatelnou počítačem. Povrch snímaného obrazu je postupně po řádcích přejížděn světelným paprskem a v bodech o zvoleném rozestupu je snímán zpětný odraz. U nejjednodušších scannerů rozlišuje odraz pouze dvě úrovně černá-bílá. Dokonalejší typy scannerů rozpoznávají sílu odrazu v řadě stupňů šedi (16 až 256). Většina kvalitních scannerů umožňuje snímání barevného obrazu. Snímání je prováděno paprskem bílého světla, odražené světlo je pomocí hranolů rozkládáno na jednotlivé barevné složky (např. červenou, modrou a zelenou, jako u barevných monitorů, případně jinou kombinaci). Zdroj bílého světla Snímač červené složky Snímač zelené složky Optické hranoly
Snímač modré složky odražené světlo
papír
Obr. Princip barevného scanneru Podle provedení se scannery dělí na ruční a stolní. Ruční scanner má úzké držadlo, na jehož konci je snímací část. Používá se pro snímání údajů z beden, z etiket zboží a z podobných hůře přístupných ploch. Existují i ruční scannery v podobě pera (např. typ DataPen), sloužící ke snímání výpisků a částí textu v běžném textovém řádku. Stolní scanner je obvykle podobný běžné kopírce. Používá se ke snímání dokumentů, stránek z knih, fotografií atd. Výsledkem snímání je tzv. bitmapa, popisující obraz jako síť bodů se zakódovaným údajem o barvě nebo stupni šedi daného bodu. Při snímání je možno v určitém rozsahu nastavit hustotu snímání. Čím větší je hustota snímání, tím dokonaleji je obraz převeden na bitmapu, tím větší však je vzniklý soubor. Pro snímání textu obvykle postačí poměrně malá hustota snímaných bodů, při snímaní např. barevných fotografií musí být hustota naopak co nejvyšší. Další zpracovávání bitmap se provádí buď bitmapovými grafickými editory (příkladem může být český program Zebra, CorellPhotoPaint atd.), nebo (v případě textů) pomocí programů OCR, umožňujících převést vytištěné znaky na
119
120
jejich kódy a umožnit tak zpracování snímaných textů pomocí běžných textových editorů. Scannery se uplatňují v knihovnách, archivech, kancelářích, ale i skladech apod. Jedním z nejmasověji využívaných typů scanneru je jednoduché zařízení, umožňující snímat poštovní směrovací čísla z obálek při automatickém třídění zásilek na poštách. 10.1.3.4 Speciální typy vstupních zařízení Kromě uvedených typů vstupních zařízení existuje celá řada dalších typů, přizpůsobených speciálnímu použití. Existují speciální klávesnice pro slepce, uzpůsobené pro práci s Braillovým písmem. Dalšími zařízeními jsou vstupní zařízení pro práci na počítači pro více či méně ochrnuté. Alespoň pokusně se zkouší ovládání počítače pomocí speciální přilby, snímající pohyby hlavy a očí (tato aplikace byla zkoušena u pilotů nadzvukových bojových letadel. Snímání křivek z papíru (např. vzniklých jako výstup různých měřicích registračních zařízení ve výrobních provozech). umožňuje zařízení nazývané digitalizátor. Z tohoto zařízení se v poslední době vyvinul tzv. tablet. Je to tabulka (např. velikosti A4), pokrytá průsvitnou fólií, na kterou je možno kreslit umělohmotným perem s hrotem. Tablet se připojí sériovým portem k počítači. Na principu elektromagnetické rezonance je určováno místo dotyku pera na povrchu tabletu. Hrot pera je schopen rozlišit až 120 úrovní tlaku (jim může přiřazovat různou sytost barvy). Pomocí tabletu je možno ovládat programy podobně jako myší, je však možné i v různých grafických programech vytvářet přesné nákresy a obrázky od ruky (při ovládání těchto programů myší je nutná poměrně velká zkušenost a obratnost obsluhy aby bylo dosaženo uspokojivé kvality nákresu). Téměř všechny typy zvukových karet mohou sloužit nejen jako výstupní zařízení, převádějící digitalizovaný zvukový výstup počítače na elektrický signál pro sluchátka nebo reproduktory, ale také umožňovat převod elektrického signálu z mikrofonu na digitální signál. Existují již i programy pro analýzu digitalizovaného zvukového signálu a pro rozpoznávání slov. Tyto programy je možno využívat pro řízení počítače hlasem. Prozatím je ještě velmi komplikované rozpoznávat více, než jen nejjednodušší příkazy - komplikace způsobuje především značná různost zabarvení hlasu při vyslovování téhož příkazu různými lidmi. Plynulý rozhovor s počítačem je stále ještě doménou fantastiky. Speciálním typem vstupních zařízení jsou analogo-číslicové převodníky, převádějící elektrické napětí na binární číslo, odpovídající velikosti tohoto napětí (jde v podstatě o speciální číslicové voltmetry). Tyto převodníky se používají ve spojení s nejrůznějšími převodníky fyzikálních veličin (teploty, světla, vlhkosti, otáček, mechanické polohy atd.) na elektrické napětí v systémech počítačové regulace a řízení různých výrobních procesů.
120
1
10.2 Výstupní zařízení 10.2.1 Tiskárny Kromě již popsaných monitorů jsou tiskárny hlavním typem výstupních periferních zařízení pro počítače. Umožňují vytvořit vytištěním na papír trvanlivý výstup z počítače. U počítačů se používají dva základní typy tiskáren - znakové a maticové. Pro znakové tiskárny je typické, že jsou v nich typy se znaky v reálné podobě (jako např. v psacím stroji). Tento typ tiskáren je obvykle rychlejší než druhý typ, umožňuje však tisk pouze omezené sady znaků. V současnosti se tento typ tiskáren prakticky používá jen v některých výpočetních střediscích. Maticové tiskárny se vyznačují tím, že skládají tisk z jednotlivých bodů. Umožňují tak vytvářet nejrůznější znaky a v grafickém režimu tisknout i obrázky. Tyto tiskárny, ať již jsou jehličkové, tryskové nebo laserové, patří dnes ke standardnímu vybavení počítačů. Existují i velmi speciální typy tiskáren, např. sublimační tiskárny, schopné provádět vysoce kvalitní tisk v kvalitě barevných fotografií (vyžadují však také speciální papír, pokrytý fóliemi umožňujícími zachycování jednotlivých barevných složek tisku). Vzhledem k jejich omezenému využívání se však jejich principem nebudeme podrobněji zabývat. 10.2.1.1 Znakové (typové) tiskárny Jako příklad takové tiskárny si uvedeme bubnovou rychlotiskárnu. Základem této rychlotiskárny je kovový válec, na jehož povrchu je po obvodu celá sada znaků. Každý znak se opakuje po celé délce válce tolikrát, kolik znaků může být na jednom řádku. Mezi válcem a papírem je tisková páska (podobná jako např. u psacího stroje). Za papírem je řada kladívek, v každé znakové pozici je jedno kladívko. Válec se znaky aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa páska papír řada kladívek
Obr. Bubnová rychlotiskárna Při tisku se kovový válec nastaví do jedné polohy - proti řadě kladívek je nyní např. řada znaků „a“. Kladívka ve všech pozicích, kde má na řádku být „a“ přiklepnou a přes pásku se znaky otisknou na papír. Válec se pootočí na pozici s dalším znakem atd. Vytištění celého řádku tedy proběhne během jediné otáčky válce. Bubnové rychlotiskárny jsou velmi rychlé (patří mezi nejrychlejší tiskárny), umožňují však tisknout jen omezenou sadu znaků. Změna velikosti písma je
121
122
možná pouze výměnou válce se znaky. Tisk obrázků (s vyjímkou např. blokových schémat) je vyloučen. Občas se ještě používají pro tisk rozsáhlých dokumentů v některých výpočetních střediscích. U osobních počítačů se používala např. tiskárna s typovým kolečkem. Znaky jsou umístěny na kolečku, kolečko se natočí na polohu potřebného znaku a přes pásku jej otiskne na papír. Někteří uživatelé tyto tiskárny používají dodnes, jde však již jen o technickou kuriozitu. 10.2.1.2 Maticové (mozaikové) tiskárny Základním rysem těchto tiskáren je, že tištěné znaky a obrazy se skládají z jednotlivých bodů. (podobně jako u monitorů). Tiskárna je pomocí paralelního rozhraní Centronics (v některých případech se používá i sériové připojení, to však je velmi vzácné) připojena k počítači. Komunikace mezi počítačem a tiskárnou probíhá v několika stupních. Prvním stupněm je převedení tiskové úlohy do řídicího jazyka tiskárny (Printer Control Language). Většina tiskáren používá dnes buď jazyka PCL 5, nebo PostScript Level2, převod zajišťuje program označovaný jako ovladač (driver) tiskárny. Takto upravenou tiskovou úlohu je možno buď odeslat do paměti tiskárny, nebo uložit do souboru na pevném disku počítače a vytisknout dodatečně. Vzhledem k tomu, že přeložená tisková úloha bývá velmi rozsáhlá (i několik MB), mělo by být spojení mezi počítačem a tiskárnou paralelní, aby se potřebné informace předaly co nejrychleji a pomalá tiskárna dále nezdržovala činnost počítače. Interpretace tiskové úlohy závisí na režimu činnosti tiskárny. Maticové tiskárny umožňují práci ve dvou režimech - znakovém a grafickém. Ve znakovém režimu se informace skládá ze dvou typů znaků - řídicích (určují, co má tiskárna dělat - jaký má být typ písma, kdy se má posunout papír atd.)a tiskových (mají se vytisknout na papír). Znaky jsou kódovány - obvykle v různých variantách kódu ASCII, u nás v jeho mutacích pro potřebu zobrazování české diakritiky - v kódech Latin 2 nebo KeyboardCs. Dekódování se provádí pomocí znakových matic, určujících z jakých bodů má být znak složen. Znakové matice jsou uloženy v paměti ROM - u všech tiskáren je v nich základní sada znaků kódu ASCII, u mnohých i další (např. výše zmíněné české znaky kódu Latin 2 nebo KeyboardCs). Dokonalejší typy tiskáren mají i paměť RAM, do které je možno provést tzv. „download“, tedy uložení nestandardních znakových matic do této paměti RAM ovladačem tiskárny. V grafickém režimu tiskárna vyhodnocuje informace ve své paměti jako určitou bitmapu, určující z jakých bodů bude výsledný obraz složen. Při černobílém tisku je informace vykládána jako přítomnost nebo nepřítomnost černého bodu (každý bit zvlášť). Pro dosažení velkého počtu stupňů šedi pro rozlišení barevných odstínů obrazu musí být velká hustota možných pozic tištěných bodů - čím je větší, tím dokonalejší černobílé zobrazení. Tato hustota se vyjadřuje v jednotkách d.p.i - dots per inch (počet bodů na palec řádku). Při barevném tisku je pro zakódování jednoho bodu třeba větší počet bitů (16 i více), kód označuje kombinaci základních barev pro dosažení požadované barvy bodu. Základní barvy u tiskáren se označují jako CMYK (Cyane, Magneta, Yellow and Black - nachová, azurová, žlutá a černá). Smísením dvou těchto barev za
122
1
nepřítomnosti třetí se získá červená, zelená a modrá. Ostatní barevné odstíny se získávají tištěním bodů těchto barev v různém poměru blízko sebe, takže opticky splývají. Převod bodů z kódu na reálné body na papíře je rozdílný u různých typů maticových tiskáren. Podle principu tisku bodů tedy rozeznáváme tyto základní typy tiskáren: 1. 2. 3. 4.
jehličkové tiskárny tepelné tiskárny tryskové tiskárny laserové a LED tiskárny
Popišme si nyní podrobněji jednotlivé typy těchto tiskáren. 10.2.1.2.1 Jehličkové tiskárny Základem jehličkových tiskáren je tisková hlava s 9, 24 či jiným počtem jehliček. Jehličky jsou tenké ocelové drátky, ovládané elektromagnetem. U většiny typů se tisková hlava pohybuje vodorovně nad papírem. V tiskové poloze se pomocí elektromagnetů vysunou jehličky v místech, kde mají být vytištěny body, a jsou potom přiklepnuty přes pásku na papír. Potom se hlava posune do následující pozice a proces se opakuje.
Devítijehličková tiskárna
24 - jehličková tiskárna
Řádková rychlotiskárna
Obr. Uspořádání jehliček u 9-jehličkové, 24-jehličkové a řádkové tiskárny Pokud bychom zpomaleně sledovali činnost 9-jehličkové tiskárny, viděli bychom, jak tisk postupně vzniká po sloupcích 9 bodů nad sebou. Rozeznáváme tiskárny jednosměrné, které tisknou pouze při pohybu hlavy zleva doprava, a obousměrné, tisknoucí jeden řádek zleva doprava a následující řádek zprava doleva (odpadají ztrátové časy pro zpětný přesun hlavy na počátek řádku a tisk je tedy rychlejší, elektronika tiskárny však musí být dokonalejší a jsou tedy dražší). Speciální typy rychlotiskáren, které mají 2 x 9 jehliček nad sebou, umožňují tisknout obousměrně dva řádky nad sebou současně (např. Epson DFX 9000). 24-jehličkové tiskárny mají jehly uspořádány do tří sloupců po osmi jehličkách, jehličky v jednotlivých sloupcích jsou vždy o něco posunuty. Při tisku se do jedné pozice na papíru otiskne první řada jehel, potom přes ní druhá a nakonec přes ně ještě třetí. Tím se zaplní mezery mezi body a je dosaženo kvalitnějšího tisku. 123
124
Řádkové rychlotiskárny mají jehličky uspořádány v souvislé řadě po celé šířce tiskového řádku. Tisk vzniká po řádcích bodů, je tedy velmi rychlý. Výroba takovéto horizontálně uspořádané tiskové hlavy je však značně drahá a takové tiskárny se zatím objevují jen na některých profesionálních pracovištích. U jehličkových tiskáren obecně platí, že mají znakové matice pouze v paměti ROM. Obvykle umožňují pomocí přepínače přepnout na určitý typ písma (font). Texty, ve kterých jsou tištěny znaky, které tiskárna nezná, musí být vytištěny v grafickém režimu. Kvalita tisku jehličkových tiskáren není příliš vysoká, při bližším pohledu je obvykle možno rozlišit jednotlivé body, z nichž je tisk složen. Tisková rychlost závisí na typu - nejpomalejší jsou jednosměrné 24 jehličkové tiskárny, nejrychlejší řádkové rychlotiskárny. Při jejich provozu vzniká nepříjemný hluk, proto jsou kvalitnější typy umísťovány do zvukotěsných krytů. Páska tiskárny se při tisku postupně přetáčí (podobně jako u psacího stroje). Dodává se v kazetách. U některých typů se používá kazeta o šířce tiskové strany, u jiných zase modernější malé kazety, připevněné přímo na tiskovou hlavu. Po spotřebování pásky je možno nechat provést její renovaci. Hlavní výhodou jehličkových tiskáren je jejich cena, přesto jsou již dnes spíše zastaralé a postupně je nahrazují tiskárny tryskové a laserové. Zůstává jim oblast vnitrofiremní dokumentace, u které nejsou kladeny vysoké nároky na kvalitu tisku, hlavní je jeho nízká cena (inventární seznamy apod.). 10.2.1.2.2 Tepelné tiskárny Tepelné tiskárny jsou v podstatě variantou jehličkových tiskáren. Ocelové jehličky jsou vysokofrekvenčním ohřevem rozžhaveny na poměrně vysokou teplotu. Tiskárny nepracují s páskou. Tisk se provádí přiklepnutím rozžhavených jehliček na speciální termocitlivý papír, který v místě dotyku v povrchové vrstvě zčerná. Vzhledem k tomu, že papír do nich je poměrně drahý a kromě toho, že nepotřebují pásku, nemají mnoho dalších výhod, příliš často se nepoužívají. Nejčastěji se s nimi můžeme setkat u starších faxů. 10.2.1.2.3 Tryskové tiskárny Mezi nejrozšířenější typy tiskáren k osobním počítačům patří dnes tryskové tiskárny. Vznikly koncem 70. let a pro svůj tichý chod si brzy získaly oblibu. Postupem času se vyvinulo několik základních typů těchto tiskáren. Vysokotlaké inkoustové tiskárny - inkoust je udržován pod stálým poměrně vysokým tlakem. Pomocí mřížky z piezoelektrického krystalu je přerušován inkoustový paprsek, proudící z trysky na papír. (Piezoelektrický krystal je speciální látka, která mění svůj objem po přivedení elektrického napětí a naopak - při jejím stlačení vzniká na jejím povrchu elektrické napětí). Napětím o poměrně vysoké frekvenci je proudící inkoustový paprsek „rozsekán“ na velké množství drobných kapiček, vytvářejících body na povrchu papíru. Nevýhodou tohoto uspořádání je velká spotřeba inkoustu a nepříliš ostré obrysy tisku, výhodou je možnost tisknout prakticky na libovolný povrch (třeba i na povrch vajec při tvorbě značky dodavatele - i takové aplikace existují).
124
1 Piezoelektrický vibrátor
Tryska
Nabíjecí elektroda
Vychylovací elektrody
papír Paprsek inkoustu Vysokotlaká pumpa
Zachycování kapek Zpětné vedení inkoustu
Zásobník inkoustu
Obr. Tlaková inkoustová tiskárna. Piezoelektrické tryskové tiskárny (InkJet) jsou dnes podstatně rozšířenější variantou tryskových tiskáren. Pracují systémem DOD (Drop on Demand - kapka na požádání), to znamená, že vystříknutí kapky je možné pouze na povel z ovládací elektroniky tiskárny. Základem jejich činnosti je opět piezoelektrický krystal, který však v tomto případě přímo vyvolává výstřik kapičky z trysky stlačením inkoustu. Jsou možná dvě základní uspořádání. S prstencovým krystalem pracují tiskárny, u kterých tvoří piezoelektrický krystal prstenec kolem trubičkové trysky z pružného kovu. Elektrickým impulzem se krystal smrští, stiskne trubičku a vystříkne z ní kapku inkoustu na papír. Po skončení impulzu se krystal opět roztáhne a trubička nasaje ze zásobníku další inkoust. Piezoelektrický prstenec Nádoba s inkoustem Destička s tryskami
Přívod inkoustu
Obr. Trysková tiskárna s prstencovým krystalem Jinou alternativou je tiskárna s piezoelektrickou lamelou. Inkoust je zde nasáván do komůrky trysky, jejíž jedna stěna je tvořena tenkou lamelou z piezoelektrického materiálu. Přivedením elektrického impulzu se lamela prohne, stlačí inkoust v komůrce a vystříkne kapičku na papír. Po skončení impulzu se lamela vrátí do původní pozice a nasaje přitom nový inkoust do tlakové komůrky.
125
126
papír
Destička s tryskami
Piezoelektrická lamela
Přívod inkoustu Nádoba s inkoustem
Obr. Trysková tiskárna s piezoelektrickou lamelou Speciálním typem membránových tryskových tiskáren jsou voskové tiskárny. Jejich náplní je místo inkoustu vosk s barevnými přísadami. Před přivedením do tlakové komůrky trysky je vosk zahřátím roztaven a na plochu papíru je vystřikován stejně jako inkoust. Kapičky vosku proniknou do struktury papíru a ztuhnou. Výsledný tisk má oproti klasickým inkoustovým tiskárnám výhodu v tom, že je odolný proti vlhkosti a otěru. Jako poslední se z tryskových tiskáren objevují bublinkové tryskové tiskárny (Bubble Jet). Princip jejich činnosti spočívá v přidání snadno vypařovatelné přísady do inkoustu. Inkoust v tlakové komůrce se miniaturním tepelným článkem prudce zahřeje, vznikne bublinka páry a ta vytlačí kapičku inkoustu z trysky na papír. Opět se vyrábějí ve dvou provedeních - jako tzv. sideshooter (přední stranou) a edgeshooter (za roh). inkoust Tlaková komůrka
inkoust
Tlaková komůrka
výstřik kapičky výstřik kapičky
topné tělísko bublinka
bublinka
topné tělísko
Edgeshooter
Sideshooter
Obr. Bubble Jet Edgeshooter a Sideshooter U tiskáren edgeshooter je topné tělísko po straně trubičkové trysky, vytvořené na křemíkové destičce technologií tenkých vrstev. U tiskáren sideshooter je na zadní straně tlakové komůrky proti otvoru trysky. V obou případech musí být elektrický impulz v topném tělísku velmi krátký - 3 až 7 mikrosekund. Tělísko se ohřívá na teplotu asi 500oC a delším impulzem by se zničilo. Tiskárny sideshooter dosahují lepší kvality kapky, jejíž tvar může být přesně definován maskou s otvory trysek. Nevýhodou je, že po zhroucení bublinky 126
1
páry dopadne inkoust plnou silou na topné tělísko a při delším používání je postupně poškodí. Oba typy používají inkousty pouze založené na vodním roztoku barviva, vzniklý tisk bývá citlivý na vlhkost. Při práci s tryskovými tiskárnami je třeba důsledně dbát toho, že tiskárna po ukončení tisku nesmí být okamžitě vypnuta. V tryskách je v té době ještě barvivo a pokud by v nich zaschlo, vedlo by to k poškození trysek a celé tryskové hlavy. Nebezpečí ucpávání trysek patří mezi hlavní rizika používání tryskových tiskáren (průměr trysek je velmi malý a jejich zanesení může být dílem okamžiku). Počet trysek na tryskové hlavě je značný - několik desítek (čím více jich je, tím kvalitnější tisk). Pro dosažení přesných ostrých okrajů tisku se používají speciální algoritmy ovladačů tryskových tiskáren. Hlavní výhodou tryskových tiskáren je tichý provoz a kvalitní barevný tisk. Za výhodu lze rovněž považovat relativně nízké pořizovací náklady. Hlavní nevýhodou jsou u některých typů vysoké provozní náklady. Náplně jsou drahé a poměrně rychle se spotřebovávají, takže cena jedné vytištěné stránky je dosti vysoká. Za nevýhodu je možno považovat i možnost poškození inkoustového tisku vodou (jedinou bezpečnou vyjímkou z tohoto pravidla jsou voskové tiskárny). Tryskové tiskárny se používají především pro tisk kvalitní korespondence tedy relativně malého počtu stránek, u kterých je záhodno používat barevný tisk (tisk loga firmy, propagačních obrázků, pěkně barevně vyvedených grafů, tabulek, zvýrazněného textu atd.). 10.2.1.2.4 Laserové a LED tiskárny Oba tyto typy tiskáren pracují na velmi podobném principu. Jejich základem je selenový fotocitlivý válec. Záznam na něj a následný tisk probíhá v několika krocích. Nejprve se povrch válce rovnoměrně nabije kladným elektrickým nábojem. Nabíjení válce provádí tzv. corotron, který je tvořen tenkým drátem, který pod vysokým napětím ionizuje vzduch - kladné ionty dopadají na válec a vytváří na něm počáteční náboj. Potom jsou jednotlivé body na válci osvíceny laserovým paprskem nebo světlem z pásu LED diod. Osvícená místa ztratí náboj a na povrchu se vytvoří požadovaný obraz v podobě míst bez náboje. Válec nyní prochází tzv. tonerem, tedy práškem barvy. Toner se zachytí na místech bez náboje, od nabitých míst je odpuzován. Přitlačením na papír se toner otiskne. Tisk ještě není zpevněn, papír s ním musí ještě projít mezi dvěma kovovými válci o teplotě asi 200oC. Teplem se toner do papíru zapeče a teprve nyní je tisk hotov. Základní rozdíl mezi oběma typy tiskáren je ve způsobu osvitu válce. Laserové tiskárny využívají pro osvit válce tenký laserový paprsek z nízkoenergetického laseru. Paprsek ze zdroje prochází přes přerušovací clonu a dopadá na šestiboký odrazový hranol. Otáčením hranolu se paprsek odráží a pohybuje se po řádcích po zrcadle nad selenovým válcem, odráží se od něj a dopadá na válec. Válec se otáčí a postupně na něm vzniká řádek po řádku obraz, tvořený místy bez elektrického náboje. Výhodou tohoto uspořádání je velká jemnost vykreslování obrazu, nevýhodou je potřeba přesné optické soustavy pro usměrňování a zaměřování laserového paprsku.
127
128
Zrcadlo Selenový válec
Odrazový hranol
Clona Laser
Obr. Princip laserové tiskárny Černobílé laserové tiskárny pracují s velkým množstvím bodů - hustota těchto bodů určuje odstín šedi zobrazované plochy. Barevné laserové tiskárny pracují s několika tonery v základních barvách. I zde se používá žlutý, nachový, azurový a černý toner. Výsledná barva se na válci vytváří ve čtyřech otáčkách - pro každou se nanáší jeden toner. Otisk na papír potom proběhne v jediné otáčce. Následuje vytvrzení mezi horkými kovovými válci, jak jsme si již popsali. Tiskárny LED jsou konstrukčně jednodušší, než laserové. Místo poměrně komplikovaného a tedy drahého optického systému laserového paprsku je v těsné blízkosti povrchu válce pás tvořený diodami LED (Light Emitting Diode dioda vysílající světlo). Dioda LED je polovodičová součástka, která na průchod elektrického proudu reaguje vyzářením světla. Pás je tvořen např. 2560 diodami pro tiskový řádek strany A4, čímž je také určena hustota bodů, které může tiskárna dosahovat. Osvit probíhá pouze bodově (bod po bodu, řádek po řádku). Tiskárny LED mají delší životnost, jednodušší konstrukci a je u nich menší nebezpečí výpadku. Elektronika řízení LED diod je však velmi náročná. Pole LED diod Selenový válec
Obr. Tiskárna LED 128
1
Laserové a LED tiskárny jsou nejkvalitnější z běžněji používaných tiskáren. Tisk na nich je rychlý (až několik stránek za minutu), velmi kvalitní a poměrně tichý. Výsledný dokument může i přesáhnout kvality běžného knihtisku. Cena za vytištěnou stránku je podstatně výhodnější než u tryskových tiskáren. Nevýhodou jsou jednak vyšší pořizovací náklady a jednak určitá ekologická rizika spojená s likvidací papírů potištěných toto technologií (při spalování se z nich uvolňuje dioxin a většina tonerů obsahuje těžké kovy). Uplatní se všude tam, kde je třeba rychle tisknout velký počet stránek při vysoké kvalitě tisku. Klesající cena tohoto typu tiskáren je postupně přibližuje z hlediska pořizovacích nákladů tryskovým tiskárnám, takže se vzhledem k ekonomičnosti svého provozu postupně prosazují jako určitý standard. U černobílých tiskáren již do značné míry tryskové tiskárny vytlačily. 10.2.2 Další typy výstupních zařízení 10.2.2.1 Souřadnicové zapisovače - plottery Souřadnicové zapisovače, označované častěji anglickým termínem plottery, jsou výstupní zařízení, vyvinutá původně především pro tvorbu výkresové dokumentace pomocí počítače. Používají se v nejrůznějších aplikacích spojených s projektováním strojů, zařízení nebo budov na počítači (systémy CAD - Computer Aided Design - konstrukce pomocí počítače). Základem plotteru je deska, na kterou se do přesně definované polohy upevní výkresový papír. Nad deskou se obvykle posunuje ve směru osy x rameno v podobě mostu a po tomto rameni se ve směru osy y pohybuje kreslicí hlava. U nejjednodušších plotterů má hlava pouze jeden kreslicí hrot a dva základní stavy jedním je stav, kdy je hlava zvednuta a přesouvá se do nové polohy, a druhým stav, kdy hlava je spuštěna a kreslí. Dokonalejší typ plotterů má na kreslicí hlavě několik kreslicích hrotů, umožňujících kreslit různě silné čáry různých barev. Výběr hrotů většinou probíhá otáčením kreslicí hlavy ve zvednuté podobě, nebo výběrem pera ze zásobníku mimo hlavu. Pohyb ramena i hlavy je prováděn pomocí otáčení velmi přesných šroubových převodů některým typem servomotoru. Jako servomotory se v mnoha případech používají krokové motorky - je to proto, že jejich otáčení je možno přesně řídit napěťovými impulzy (po každém impulzu se motorek pootočí o přesně daný úhel - je tedy možno velmi přesně řídit pozici motorku a tím i ramene nebo hlavy). Kvalitní plottery dosahují při kreslení technických výkresů přesnost nastavení polohy hlavy s chybou menší než + 0,01 mm. Řada typů plotterů může být kromě kreslicí hlavy vybavena i různými nástroji na opracovávání plochých materiálů. Existují plottery schopné např. pomocí vysokotlakého vodního paprsku řezat různé materiály, je možné přímo vyrábět střihy různých obleků atd. Některé reklamní firmy používají plottery pro vystřihování šablon pro nastřikování různých ozdobných nápisů a obrazů na firemní štíty. Aplikací tohoto zařízení je celá řada, jedná se však především o speciální praktické úlohy.
129
130
Kreslicí hlava (pohyb v ose y)
Pracovní deska plotteru
Rameno (pohyb v ose x)
Obr Plotter
10.2.2.2 Zvukové karty Hlavním úkolem zvukové karty je převod digitální informace z počítače na spojitý elektrický signál pro reproduktory nebo sluchátka, proto je rozhodující součástí této karty číslico-analogový převodník (D/A). Kvalita vyhlazení zvukového signálu a odstranění zbytků „skoků“ po převodu nespojitých úrovní číslicové informace na spojitý signál např. sinusového průběhu rozhoduje o kvalitě zvukového vjemu. Standardem v této oblasti se staly karty Soundblaster. I když uvádíme zvukovou kartu jako výstupní zařízení (jak to odpovídá jejímu nejčastějšímu použití), musíme si uvědomit, že většina karet umožňuje i vstup z mikrofonu. V tomto případě je prováděno tzv. vzorkování vstupního napětí z mikrofonu. To znamená, že v určitých časových okamžicích se zaznamená okamžitá úroveň napětí a převede se v analogo-číslicovém převodníku (A/D) na binární číslo. Je zřejmé, že čím hustší je vzorkování, tím dokonaleji máme zaznamenán vstupní zvuk (CD kvalita vzorkování 44 kHz, 16 b stereo). U
Původní napětí t U
Okamžiky vzorkování
Vzorkované napětí
t
Obr. Vzorkování napětí
130
1
Každá zvuková karta se skládá ze tří samostatně pracujících modulů. Prvním z nich je právě modul převodníků A/D a D/A. Při záznamu zvuku se až 48000 krát za sekundu změří vstupní napětí a v číselné podobě se uloží do počítače (obvykle do souborů *.WAV). Při opačném převodu získáme opět určitý počet napěťových úrovní, odpovídajících jednotlivým číslům ze souboru *.WAV. Pro dobrou kvalitu zvuku je třeba tento signál vyhladit tak, aby bylo dosaženo kvalitní reprodukce. Pro tuto kvalitu je rozhodující druhý modul, modul nízkofrekvenční části NF. Modul NF je tvořen nízkofrekvenčním předzesilovačem a mixážním pultem (umožňujícím spojovat několik zvukových signálů do jednoho). Jeho kvalita do značné míry určuje akustickou kvalitu zvuku karty. Konstrukčně jde o stejné prvky jako u jiných zvukových zařízení. Posledním odděleným modulem je syntetizátor MIDI - Musical Instrument Digital Interface - standardní komunikační protokol pro komunikaci mezi počítačem a hudebním syntetizátorem. Slovem protokol zde rozumíme dohodnutý soubor pravidel pro výměnu informací mezi různými zařízeními různých výrobců. Tento obvod může rovněž sloužit jako vstupní i výstupní. Na jeho sériové rozhraní může být připojen např. elektronický hudební syntetizátor. Karta umožňuje záznam hry na takový syntetizátor do souborů MIDI a jejich následný převod např. na notový zápis. Vnitřní syntetizátor podobně umožňuje přehrávat záznamy ze souborů MIDI přes modul NF. U kvalitních karet je součástí syntetizátoru zvuková tabulka v paměti ROM, obsahující vzorky zvuků různých hudebních nástrojů. Karta je schopna tyto vzorky použít pro úpravu svého zvukového signálu, takže syntetizovaný zvuk má zabarvení dané zvoleným hudebním nástrojem. Zvukové karty se původně používaly především pro počítačové hry, s rozvojem multimediálních aplikací, především slovníků a programů pro výuku jazyků, se však již stávají standardním vybavením počítačů. Některé zvukové karty obsahují také tzv. radiokartu. Jde v podstatě o připojení obvodů rozhlasového přijímače jako dalšího modulu na zvukové kartě. Na příslušný konektor je možno připojit anténu a počítač potom může sloužit i jako rozhlasový přijímač, včetně možnosti záznamu vybraných pořadů.
10.2.2.3 TV karty V rámci snahy změnit počítač na univerzální domácí přístroj se začínají objevovat karty, umožňující přijímat a na monitoru počítače zobrazovat televizní vysílání. Starší typy těchto karet se zapojovaly do slotu ISA, odkud však braly pouze napájení a ovládací signály. Při práci s nimi bylo třeba odpojit monitor od grafické karty a připojit ho na výstup televizní karty. To vylučovalo současnou práci s počítačem i s televizním signálem. Karty typu VideoHighway VTR 500 umožňují propojení s grafickou kartou. Spolupráce probíhá tak, že grafická karta vytvoří na obrazovce okno vyplněné standardní barvou (odstínem růžové). VTR500 zjistí polohu a velikost tohoto okna a zaplní je televizním signálem. Je tedy možno provádět běžnou práci na počítači a současně sledovat televizní program. Karta může pracovat i jako radiokarta a díky externímu konektoru se k ní může připojit i videopřehrávač.
131
132
Nejdokonalejším typem karty v současnosti (únor 1997) je karta Buster společnosti Quadrant International. Tato karta provádí plnou digitalizaci televizního signálu a umožňuje tak jeho běžné zpracování prostředky počítače. Přenos mezi touto kartou a grafickou kartou probíhá po sběrnici PCI a je velmi rychlý. Ostatní možnosti - externí vstup z videopřehrávače nebo z televizní kamery, schopnost pracovat jako radiokarta v pásmu VKV - to vše zůstává zachováno. Kromě uživatelského přístupu k televiznímu signálu (a také teletextu) se TV karty používají pro tzv. videokonference. Jde o komunikaci mnoha uživatelů mezi sebou, kdy můžeme nepřítomné účastníky debaty, snímané videokamerou v místě jejich pobytu, sledovat v jednotlivých oknech obrazovky (něco jako mnohaúčastnický videotelefon).
132
1
10.3 Vstupní i výstupní zařízení 10.3.1 Modem a faxmodemová karta Modem je zkrácené označení modulátoru - demodulátoru. Používá se pro komunikaci mezi počítači s využitím běžných telekomunikačních linek. Je to zařízení, které je schopno provádět modulaci, tedy převod binární informace na spojitý elektrický signál, který je možno přenášet po telefonních linkách a demodulaci, tedy převod elektrického signálu zpět na binární informaci pro počítač. Je možno provádět modulaci nejrůznějším způsobem - existuje modulace amplitudová, frekvenční, fázová, impulzní atd. U modemů se používá především tzv. tónová (frekvenční) modulace a impulzní modulace. Sériová binární informace
1
0
0
1
1
1
0
1 Frekvenční modulace (0 a 1 se liší frekvencí stejně širokých impulzů)
Impulzová modulace (0 a 1 se liší šířkou impulzů při stejné frekvenci)
Obr. Princip frekvenční a impulzní modulace Pro správné spojení je třeba, aby na vysílací i přijímací straně byly stejně nastaveny parametry modemu - druh modulace, rychlost přenosu a komunikační protokol přenosu, stanovující způsob komunikace mezi modemy na obou stranách (poloha a formát řídících bitů, způsob oddělování bytů atd.). Obvody modemu jsou rozděleny na dva moduly - signálový procesor a příkazový inerpret. Signálový procesor řídí vlastní modulaci nebo demodulaci a přenos dat po telefonní lince, příkazový interpret buduje kolem dat tzv. příkazovou obálku nastavující parametry přenosu (při přijmu tuto obálku dekóduje o podle ní „rozbaluje“ přenesené informace. Rychlost komunikace po modemu závisí jednak na pracovní rychlosti modemu (dnešní modemy mohou dosahovat rychlostí kolem 33600 bitů za sekundu), daleko více je však v našich podmínkách závislá na možnostech telefonních linek (tato rychlost se v současnosti v naší telekomunikační síti pohybuje maximálně do 28800 bitů za sekundu. Konstrukčně rozlišujeme modemy na interní a externí. Interní modemy se zasouvají do slotu na základní desce počítače a mají podobu počítačové karty, externí se připojují prostřednictvím sériového portu. Telefonním kabelem se modem zapojuje do telefonní sítě pomocí běžného konektoru (některé telefonní přístroje umožňují připojit modem na konektor na přístroji a provozovat po téže lince komunikaci jak telefonem, tak i
133
134
modemem). Modemem je možno přenášet libovolné soubory z jednoho počítače na druhý. Fax původně nevznikl jako komponent počítače. Používal se pro přenos dokumentů textové i grafické povahy po telefonních linkách. Dokument byl snímán podobným principem jako u scanneru - přejížděním světelného paprsku po ploše předlohy a snímáním odraženého světla v přesně stanovených bodech. Odraz se kóduje buď jedním bitem (rozlišení pouze černá-bílá), nebo několika bity (rozlišení odstínů šedi nebo dokonce údaje o barvě) a v podobě bitmapy se přenáší po telefonních linkách obdobně jako v případě modemu. Blízkost obou zařízení vedl k jejich spojení ve formě faxmodemové karty. Tato karta umožňuje napsat na počítači text nebo vytvořit obraz a odeslat jej ve formátu pro fax. Na příjmu může být nejen počítač, ale i běžný fax, který přijatou informaci vytiskne. Podobně je možno přijmout informaci z běžného faxu a uložit ji na disk počítače buď v podobě grafického souboru, nebo ji dokáže převést i na textový soubor (po rozpoznání znaků podobným algoritmem OCR jako u scanneru). Kromě toho lze prostřednictvím této karty komunikovat s jiným počítačem jako prostřednictvím modemu. Vývoj jde dnes ve směru spojování funkcí několika zařízení do jednoho, proto již dnes existují systémy, spojující funkci telefonu (případně hlasitého telefonu), modemu a faxu (včetně tiskárny) v jediném celku. Počítač potom zvládá i funkci záznamníku - neohlásí-li se po určitém počtu zazvonění uživatel, připojí se pomocí tohoto zařízení na linku počítač, zjistí, jde-li o modemový signál, nebo o telefonní hovor a v případě hovoru se ohlásí jako záznamník a zaznamená na svůj disk vzkaz volajícího. Příkladem může být přístroj GVC 33.6/14.4 firmy GVC. 10.3.2 Síťová karta Úkolem síťové karty je zabezpečovat komunikaci mezi dvěma či více počítači na poměrně malou vzdálenost v rámci sítí LAN (LAN znamená Local Area Network, tedy místní síť. Kromě nich existují sítě WAN - Wide Area Network, tedy sítě pro velké oblasti. V těch počítače komunikují obvykle pomocí modemů). podle typu použitých propojovacích vodičů rozlišujeme karty pro koaxiální kabel, stíněnou nebo nestíněnou kroucenou dvojlinku (STP -Shielded Twisted Pair - stíněná kroucená dvojlinka, UTP - Unshielded Twisted Pair - nestíněná kroucená dvojlinka) a pro komunikaci po optických kabelech. Různé karty umožňují práci buď v režimu polovičního duplexu, nebo úplného duplexu. U prvního typu může být informace přenášena vždy jen v jednom směru, druhý typ umožňuje současnou komunikaci oběma směry. Podle typu sítě, pro kterou je karta určena, provádí úpravu informace a její odeslání po síti, nebo její přijetí a transformaci do podoby potřebné pro počítač. Způsob komunikace je dán komunikačními protokoly, se kterými síť pracuje. Typickým protokolem je např. CSMA/CD, používaný v sítích s kartami Ethernet. Karty mohou pracovat buď packetově, nebo tokenově. Packetové síťové karty komunikují obvykle po jedné komunikační cestě (i když ta může být tvořena i několika paralelními vodiči). Z informací při vysílání
134
1
Stanice A
Stanice A
Stanice B
Stanice A
Stanice B
Stanice B
Full Duplex (komunikace oběma směry současně)
Half Duplex (komunikace vždy jen jedním směrem)
Obr. Full-Duplex a Half-Duplex vytvářejí tzv. packety, tedy bloky např. o 48 B užitečné informace a 5 B tzv. hlavičky, která určuje kam má být packet zaslán a zabezpečovacích dat,umožňujících zjistit případnou chybu při přenosu. Při příjmu karty sledují procházející packety a ty, které podle hlavičky směřují do jejich počítače, zachycují, kontrolují, ukládají do své paměti a vytvářejí z nich opět původní soubor, který byl po síti odeslán. hlavička s adresou
packet
Stanice A
Síťová sběrnice
Stanice B
Stanice D
Stanice C
Pracovní stanice
Obr. Packetová síť Tokenové kruhové sítě (Token Ring) jsou tvořeny dvěma kruhovými informačními cestami. Informace se pohybují po jedné cestě jedním směrem a po druhé druhým směrem. Je uspořádána v tzv. tokenech, jedním směrem jde tzv. primárním okruhem jako hlavní informační tok, druhým jdou záložní informace.
Stanice třídy A
Koncentrátor
Stanice třídy B
Stanice třídy B
Stanice třídy B
Obr. Struktura tokenové kruhové sítě
135
136
Karty jsou upraveny podle toho, jsou-li počítače k síti připojeny jako stanice třídy A (s obousměrným průchodem informace), nebo jako stanice třídy B, připojené k síti prostřednictvím koncentrátoru (koncentrátor směruje informace z hlavní sítě na příslušný počítač). Přenos po síti se provádí prostřednictvím řady vysokofrekvenčních obdélníkových impulzů s taktovací frekvencí 10 - 30 MHz (podle pracovní rychlosti karty - 10 Mb/s, nebo 100 Mb/s). Zakódování užitečné informace se může provádět několika způsoby. Jedním z nich je kód NRZ (Non Return Zero - bez návratu do nuly). Úroveň signálu se zde mění pouze při změně kódované informace 0-1 nebo 1-0.
1 0 0 1 0 1 0 1 1 1 0 0
Kódované bity Taktovací (hodinový) signál
Kód NRZ Obr. Princip kódu NRZ Při volbě síťové karty jsou rozhodujícími parametry, které je třeba brát v úvahu, typ kabelů sítě, rychlost přenosu informací, typ komunikace v dané síti, číslo přerušení, se kterým karta pracuje, oblast adres, vyhražená paměti PROM karty (řídí přihlašování karty do sítě) a komunikační protokol sítě. Standard pro packetové sítě představují karty Ethernet (rychlost 10 Mb/s) a FastEthernet (rychlost 100 Mb/s). Z karet pro TokenRing např. karty FDDI (pro komunikaci po optických kabelech), nebo CDDI (pro kabely TP).
136
1
11 Operační systém · · · ·
Operační systém je soustava programů, zabezpečujících vzájemnou komunikaci mezi jednotlivými částmi počítače komunikaci mezi počítačem a obsluhou organizaci paměti RAM organizaci informací na disku (HD i FD) · spouští další programy na počítači, kontroluje jejich zpracovávání a umožňuje těmto programům standardním způsobem přístup ke vstupním a výstupním zařízením, vnějším pamětem atd.
V současné době existuje celá řada operačních systémů, lišících se použitím, umístěním v paměti, pohodlností pro obsluhu atd. U nejjednodušších počítačů se používají operační systémy uložené v paměti ROM (např. kdysi populární operační systém CP/M). Výhodou takových operačních systémů je, že jsou v plném rozsahu k dispozici okamžitě po zapnutí počítače, není možné jejich narušení (např. působením počítačových virů), jsou vysoce stabilní (zablokování komunikace s počítačem je prakticky vyloučeno a pod. Nevýhodou je malá kapacita paměti ROM a tedy i nutná jednoduchost takového operačního systému, jeho nepružnost (změna je možná pouze výměnou paměti ROM, případně jejím přepsáním, pokud jde o paměť FleshEPROM). U většiny dnes používaných počítačů je v paměti ROM pouze určitá malá část operačního systému, označovaná jako BIOS (Binary Input-Output System binární systém vstupu a výstupu). Většina operačního systému je pak uložena buď na tzv. systémové disketě, nebo na pevném disku. Při rozběhu počítače je tato část zavedena do paměti RAM, část z ní pevně obsadí, z ní ji přebírá procesor počítače a využívá služeb těchto programů pro svou práci. Zatímco ještě nedávno se poměrně striktně rozlišovaly operační systémy na systémy pro sólové počítače (především DOS) a síťové operační systémy (např. Novell), umožňují mnohé z dnešních operačních systémů obě použití (Windows95, WindowsNT, OS/2 atd.). Popišme si nyní alespoň hrubě jednotlivé typy operačních systémů.
11.1 Struktura OS Základ všech operačních systémů tvoří již výše zmíněný BIOS, který je úzce vázán na používané technické prostředky - hardware. BIOS umožňuje ostatním částem operačního systému komunikovat s různým hardwarem víceméně jednotným způsobem, takže další části operačního systému jsou již na použitém hardware nezávislé. Každý operační systém obsahuje zaváděcí program, jehož úkolem je rozmístit jednotlivé části operačního systému správně do paměti RAM. Pracuje pouze na počátku, při rozběhu počítače, později je spouštěn jen v situacích, kdy je třeba některou část operačního systému obnovit jejím znovuzavedením z disku nebo diskety. Další částí je program pro komunikaci s BIOSem. Komunikace probíhá s využitím předem vyhrazených přerušení a adres v paměti, které jsou přístupny jak
137
138
BIOSu, tak i operačnímu systému. Musí být trvale přítomen v paměti RAM, jinak počítač ztrácí schopnost komunikovat s některými svými aplikacemi. Ústřední součástí je jádro operačního systému (kernel). Tato část provádí hlavní služby operačního systému, spojené přímo s činností procesoru. Musí být co nejstabilnější, aby se omezily situace, kdy počítač nesprávným použitím některé služby operačního systému „zamrzne“, tedy přestane komunikovat s obsluhou (obvykle je pak jediným východiskem restartování počítače). Velmi důležité také je, aby operační systém umožňoval preemptivní multitasking a multithreading, tedy vpodstatě současné zpracovávání několika programů zároveň (např. pokud pracujeme v textovém procesoru, tedy píšeme nějaký dokument, je tempo psaní z hlediska počítače tak pomalé, že zbývá spousta času, ve kterém může počítač pracovat na jiném programu a lépe tak využít svůj pracovní čas) a možnost přidělovat v síti práci nevyužívané kapacitě počítačů (úloha tedy může být zpracovávána na jiném počítači, než na kterém byla spuštěna). I tato část musí být trvale v paměti RAM, záleží tedy i na jeho velikosti, aby trvale blokovaná část paměti byla co nejmenší. Uživatelské rozhraní (UI - User Interface nebo GUI - Graphical User Interface)
Jádro (kernel) Komunikační program BIOS Hardware
Obr. Obecná struktura OS Uživatel a uživatelské programy komunikují s operačním systémem prostřednictvím procesoru příkazů (uživatelského rozhraní). Podle typu operačního systému je tato část různě přátelská k uživateli (User Friendly). Za přátelský k uživateli považujeme takový procesor příkazů, který umožňuje snadné intuitivní ovládání hlavních funkcí počítače. Průkopníkem takových procesorů příkazů byla firma Apple Macintosh se svým operačním systémem MacOS. Z něj potom vycházeli programátoři firem Microsoft (u Windows 3.x, Windows95 a WindowsNT) a IBM (OS/2-Warp a OS/2-Merlin) - všichni vycházeli z grafického prostředí s řadou oken, umožňujících pomocí myši snadno ovládat hlavní funkce počítače.
11.2 BIOS 138
1
Základem, na němž stojí každý operační systém, je BIOS, tedy Binary InputOutpt System - binární systém vstupu a výstupu. Je uložen v paměti ROM a spouští se v okamžiku zapnutí počítače. Jeho hlavní úkoly jsou ·
zajistit rozběh počítače, tedy především 1. Zkontrolovat je-li přítomna grafická karta 2. Zkontrolovat paměť RAM 3. Porovnat, zda jednotlivé části odpovídají setupu (viz. dále) 4. Zkontrolovat přítomnost klávesnice 5. Spustit zaváděcí program operačního systému
·
řídit přenos informací po systémové sběrnici základní desky umožňovat nastavení setupu (Setup je uložen v trvale napájené paměti CMOS a zachycuje nastavení hlavních parametrů počítače - především parametry pevného disku (počet sektorů, cylindrů, hlav, kapacita disku atd.), disketových mechanik, data, času, velikost paměti RAM apod. Nastavování setupu si popíšeme dále).
·
·
řídit komunikaci mezi počítačem a klávesnicí (KeyboardBIOS), počítačem a řadičem disků a počítačem a grafickým subsystémem atd.
Funkce BIOSu jsou volány řadou přerušení, BIOS má také v paměti RAM vyhrazenu určitou oblast, ze které si načítá řídicí proměnné a kam ukládá zprávy o své činnosti. Vyšší operační systém volá funkce BIOSu zavoláním příslušného čísla přerušení a komunikuje s ním i nastavováním hodnot proměnných ve zmíněné oblasti RAM. Zprávy o výsledcích činnosti BIOSu opět získává čtením proměnných na vyhražených adresách RAM. Proměnné, popisující konfiguraci počítače, jsou v podobě tzv. Setupu zapsány v paměti CMOS, která je trvale napájena pomocnou baterií. Nastavování parametrů setupu je možné při rozběhu počítače, obvykle se aktivuje stisknutím klávesy „DEL“ po ukončení počátečního testu paměti. Čím novější je mateřská deska počítače, tím více možností pohodlného nastavování parametrů setupu nám její BIOS umožňuje. Popišme si typické nabídky při nastavování setupu: ·
Standart Setup (standardní nastavení) - obvykle umožňuje nastavení data a času a parametrů disketových mechanik a pevných disků. Nastavení data a času se provádí zvětšováním nebo zmenšováním původní hodnoty pomocí příslušných ovládacích prvků (klávesami, nebo tisknutím tlačítka myši při umístění šipky na značku pro zvětšování nebo zmenšování hodnoty). Nastavení disketové mechaniky A a B provádíme výběrem příslušného typu ze seznamu. Podobně i nastavení pevného disku je možné výběrem ze seznamu disků, jejichž parametry jsou napevno zapsány v BIOSu, nebo výběrem typu „USER“ (uživatel) a zapsáním parametrů disku do příslušných rubrik jeho popisu. Pevný disk může být buď „Master“ (pán), nebo „Slave“ (otrok). Disk Master obsahuje operační 139
140
systém a z něj je zaváděcím programem zaváděn do paměti RAM (bude-li operační systém na disku Slave, BIOS jej při startu počítače nenajde a bude pro rozběh požadovat systémovou disketu). · Advanced Setup (pokročilé nastavení) - umožňuje podrobněji nastavit požadované parametry BIOSu počítače (zapnutí nebo vypnutí určité funkce je dáno nastavením Enabeled (zapnuta), nebo Disabeled (vypnuta)), např.: 1.Typematic Rate (Char/Sec) počet znaků za sekundu. 2.System Keyboard - zjišťování přítomnosti klávesnice při rozběhu počítače. Může být zapnuto nebo vypnuto. 3.Primary Display - typ zobrazení karty (volby Absent (Nepřítomný), VGA/EGA, CGA 40x50, CGA 80x25 a Mono (Černobílý). Dnes je obvyklé nastavení VGA/EGA. 4.Above 1MB Memory Test - zkouška paměti nad úroveň 1MB. Může být zapnuta nebo vypnuta. 5.Memory Test Tick Sound - zapnutí nebo vypnutí zvuku při testu paměti. 6.Parity Error Check - zapnutí nebo vypnutí kontroly parity při práci s pamětí. 7.Hit „DEL“ Message Display - zapnutí nebo vypnutí zobrazování hlášení, že SETUP je spouštěn klávesou DEL. 8.Extended BIOS RAM Area - oblast adres v paměti RAM vyhražená pro rozšíření BIOSu. Volby 0:300 a DOS 1K (prvních 300 B, nebo 1KB, vymezený operačním systémem DOS). 9.Wait for „F1“ if Any Error - zapnutí nebo vypnutí čekání počítače na stisk klávesy F1 po zjištění hardwarové chyby BIOSem. 10.System Boot Up Num Lock - zapnutí nebo vypnutí aktivace numerické klávesnice při rozběhu počítače. 11.Floppy Drive Seek At Boot - zapnutí nebo vypnutí hledání disketové mechaniky při rozběhu počítače. 12.Floppy Drive Swapping - zapnutí nebo vypnutí možnosti prohazovat disketové mechaniky A a B. 13.System Boot Up Sequence - pořadí, v jakém jsou prohledávány disky při hledání zaváděcího programu operačního systému. Obvykle je možnost nastavit buď A:,C: nebo C:,A:. 14.System Boot Up Speed - rychlost rozběhu operačního systému. Možno zvolit buď Low (nízká), nebo High (vysoká). 15.External Cache - zapnutí nebo vypnutí vnější paměti Cache na základní desce (nebo v procesoru - viz. PentiumPro). 16.Internal Cache zapnutí nebo vypnutí vnitřní paměti Cache procesoru. 17.Turbo Swich Function zapnutí nebo vypnutí tlačítka „Turbo“, umožňujícího přepínat taktovací frekvenci procesoru mezi vyšší a nižší hodnotou 18.Password Checking - kontrola hesla. Je možno zvolit, zda bude heslo požadováno jen při vstupu do Setupu, nebo při každém zapnutí počítače. 19.Video Shadow C000, 32K - vyhražení 32kB paměti RAM pro stínování pamětí ROM grafické karty. Tato paměť ROM začíná
140
1
·
adresou C0000 (poslední nula se při zápisu vynechává). Ihned při rozběhu počítače je tato paměť překopírována do paměti RAM, která je podstatně rychlejší. Celková činnost počítače se dosti výrazně urychluje. 20.Shadow C800, 16K - vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese C8000 21.Shadow CC00, 16K - vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese CC000 22.Shadow D000, 16K - vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese D0000 23.Shadow D400, 16K - vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese D4000 24.Shadow D800, 16K - vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese D8000 25.Shadow DC00, 16K- vyhražení 16 kB paměti RAM pro stínování paměti ROM, začínající na adrese DC000 26.IDE Block Mode - nastavení režimu blokového přenosu dat řadičem IDE. Možnosti jsou Disabeled (vypnuto), 2, 4, 8, 16, 32, 64, Auto (automatické nastavení dle potřeby). 27.IDE 32 Bit Transfer Mode - zapnutí nebo vypnutí 32bitového režimu přenosu dat řadičem disků IDE. 28.Primary Master LBA Mode - zapnutí nebo vypnutí režimu LBA (Large Block Access - přístup po velkých blocích), umožňujících systému BIOS pracovat s disky o větší kapacitě než 504 MB pro primární disk Master. 29.Primary Slave LBA Mode - viz. 28. 30.Secondary Ctrl Drives Present - nastavení počtu sekundárních disků. Možnosti None (žádný), 1 a 2. 31.Secondary Master LBA Mode - viz. 28. 32.Secondary Slave LBA Mode - viz. 28. 33.OS/2 Compatible Memory Mode - zapnutí nebo vypnutí organizace paměti, odpovídající operačnímu systému OS/2 34.Boot to PnP Operating System - bude startován operační systém, umožňující funkci Plug-and-Play (yes/no - ano/ne). Tuto funkci umožňují některé operační systémy (Windows95). Při zapojení další karty do počítače se její parametry nakonfigurují automaticky tak, aby mohla v počítači pracovat bez konfliktů s ostatními částmi počítače. Chipset setup umožňuje nastavit funkce řídícího obvodu základní desky počítače - chipsetu. Obvykle se používá nastavení pomocí automatické konfigurace, přesné nastavování vyžaduje podrobnější znalosti o funkci počítače. 1.Auto Configuration - zapnutí nebo vypnutí automatického nastavování chipset setupu. Při jeho zapnutí je většina následujících voleb zablokována. 2.Cache Speed - rychlost paměti Cache 3.DRAM Read Wait State - doba čekání (počet taktovacích impulzů) při čtení z paměti DRAM. 4.DRAM Write Wait State- doba čekání (počet taktovacích impulzů) při zápisu do paměti DRAM.
141
142 5.PCICLK-to-ISA
SYSCLK Divisor - poměr taktovací frekvence sběrnice PCI a sběrnice ISA. 6.Keyboard Clock Divisor - poměr taktovací frekvence sběrnice PCI a klávesnice. 7.L2 Cache Mode - volba pracovního režimu sekundární (nebo externí) paměti Cache. Je možno volit buď Write Through, nebo Write Back. Při režimu Write Through paměť Cache zrychluje činnost procesoru jen málo - při každém zápisu z procesoru se zápis provádí současně do paměti Cache i do paměti DRAM. Při Write Back se zápis provádí jen do Cache a zpětné uložení do hlavní paměti DRAM proběhne až s celým blokem dalších informací při změně obsahu Cache. 8.L1 Cache Mode - volba režimu činnosti primární paměti Cache uvnitř procesoru. Volby viz. 41. 9.EDO RAM Speed - rychlost paměti EDO RAM (je-li použita) 10.Device Number Mapping Option - zapnutí nebo vypnutí mapování přiřazením čísla přídavného zařízení. 11.Main BIOS Cacheable - zapnutí nebo vypnutí použití paměti Cache pro práci s hlavním BIOSem počítače. Umožňuje další zrychlení práce počítače. 12.Video BIOS Cacheable - zapnutí nebo vypnutí použití paměti Cache pro práci s BIOSem grafické karty. Umožňuje další zrychlení práce počítače. 13.Resource Lock for Local DRAM - pevné přiřazení zdrojů k lokální paměti DRAM. 14.Host-to-PCI Post Write W/S - počet taktovacích pulzů, které musí systém vkládá mezi opožděný zápis ze zařízení na sběrnici PCI a další akci. 15.Host-to-PCI Burst Write - počet taktovacích pulzů, které musí systém vkládá mezi přímý zápis ze zařízení na sběrnici PCI a další akci. 16.Host-to-DRAM Burst Write - počet taktovacích pulzů, které musí systém vkládá mezi zápis ze zařízení do paměti DRAM a další akci. 17.LDEV# Sampling Point - vzorkování vstupu z místního zařízení. 18.I/O Recovery Time Control - doba (v taktovacích impulzech), nutná mezi jednotlivými vstupními a výstupními operacemi pro tzv. „zotavení“ vstupního a výstupního zařízení. 19.Post Write Buffer - zapnutí nebo vypnutí vyrovnávací paměti pro opožděný zápis. 20.Bus Park - zapnutí nebo vypnutí „parkování sběrnice“, tedy stavu klidu při omezeném provozu. 21.PCI On Board IDE Drive - zapnutí nebo vypnutí diskového řadiče IDE na základní desce. 22.PCI On Board IDE Speed Mode - nastavení rychlosti diskového řadiče IDE na základní desce. 23.IRQ9 Use On - přiřazení přerušení IRQ 9 určitému zařízení 24.IRQ10 Use On - přiřazení přerušení IRQ 10 určitému zařízení 25.IRQ11 Use On - přiřazení přerušení IRQ 11 určitému zařízení
142
1
·
·
·
26.IRQ12 Use On - přiřazení přerušení IRQ 12 určitému zařízení Power Mgmt - nastavování energeticky úsporného režimu činnosti počítače. Všechny části počítače, které nejsou používány a které nejsou nutné pro udržení jeho provozuschopnosti, jsou po uplynutí nastavené doby vypínány. 1.Power Management - zapínání a vypínání energeticky úsporného režimu činnosti počítače. 2.APM Function - zapínání a vypínání funkce APM (Advanced Power Management - pokročilé šetření energií), která umožňuje programové řízení úsporného režimu např. v systému Windows 95. 3.Doze Mode Timeout - nastavení času, po kterém při nepoužívání počítače dojde k přechodu do stavu „doze“ (dřímota). Na monitoru mizí obraz, ale monitor je nadále zapnut. 4.Sleep Mode Timeout - nastavení času, po kterém při nepoužívání počítače dojde k přechodu do stavu „sleep“ (spánek). Na monitoru mizí obraz a monitor je vypnut. Rozběh trvá o něco déle. 5.Suspend Mode Timeout - nastavení času, po kterém při nepoužívání počítače dojde k přechodu do stavu „suspend“ (zrušit) - všechny systémy počítače kromě paměti a některých vstupních obvodů jsou vypnuty. 6.VGA Power Down - zapnutí nebo vypnutí vypínání grafické karty v režimu suspend. 7.HDD Power Down - zapnutí nebo vypnutí vypínání pevného disku v režimu suspend. 8.Monitor PCI Master 0 - zapnutí nebo vypnutí vypínání zařízení 0 na sběrnici PCI. 9.Monitor PCI Master 1 - zapnutí nebo vypnutí vypínání zařízení 1 na sběrnici PCI. 10.Monitor PCI Master 2 - zapnutí nebo vypnutí vypínání zařízení na sběrnici PCI. Peripheral Setup - nastavení parametrů počítače pro komunikaci s periferními zařízeními, především nastavení adres sériových a paralelních portů. 1.Programming Mode - zapínání a vypínání programového módu, umožňujícího programem měnit parametry portů 2.OnBoard FDC - zapínání a vypínání řadiče disketových mechanik na základní desce počítače. 3.Serial Port1 - nastavení adresy 1. sériového portu. 4.Serial Port2 - nastavení adresy 2. sériového portu. 5.Parallel Port - nastavení adresy paralelního portu. 6.Parallel Port Mode - nastavení režimu přenosu paralelního portu. Utility jsou programy, uložené v ROM BIOSu. Usnadňují práci s BIOSem, především zjišťování parametrů různých zařízení počítače. 1.Detect Master - program provádějící automatické zjištění parametrů disku Master (primárního i sekundárního). 2.Detect Slave - program provádějící automatické zjištění parametrů disku Slave (primárních i sekundárních).
143
144
·
·
3.Color Set - nastavení barev obrazovky. Security je funkce umožňující zabezpečit počítač pomocí nastavení hesla (Password), případně i jiných ochranných postupů (např. antivirový program). 1.Password - umožňuje nastavit heslo pro přístup do Setupu nebo do počítače. V případě nastavení hesla pro přístup do počítače je možno tuto ochranu obejít jen vymazáním paměti CMOS (odpojením nebo zkratováním napájecí baterie). Default označuje nastavení Setupu na hodnoty předem připravené v paměti ROM autorem BIOSu. Používá se tehdy, pokud nevíme, jak Setup nastavit. 1.Original - obnoví původní nastavení Setupu od výrobce. Další nastavování musíme opět provádět ručně. 2.Optimal - pokusí se pomocí optimalizačního programu provést optimální nastavení Setupu. Může se stát, že nebude fungovat. 3.Fail-safe - spolehlivé nastavení. Počítač nepoběží maximální rychlostí, bude však pracovat spolehlivě.
Po skončení úprav Setupu ukončíme zadávání obvykle stisknutím klávesy „Esc“. Před ukončením máme možnost zvolit, zda chceme nové hodnoty uložit do paměti CMOS, nebo ne (volby „Write to CMOS And Exit“, nebo „Do Not Write to CMOS and Exit“). Různé verze BIOSu mohou nabízet různé funkce, popsané možnosti odpovídají BIOSu AMIBIOS Setup firmy American Megatrends Inc. 1994. 11.3 DOS a jeho nadstavby (diskové manažery, Windows 3.x) Pravděpodobně nejrozšířenějším dnes používaným vyšším operačním systémem je operační systém DOS (Disk Operating System - diskový operační systém). MS DOS 6.22
MS ... označení firmy dodavatele OS. MS = Microsoft DR = Digital Research DOS .. Diskový operační systém 6.22.....Číslo verze (čím vyšší, tím novější verze OS)
Přestože jde dnes již jednoznačně o zastaralý a dále již pravděpodobně dále neperspektivní operační systém s uživatelsky velmi nepohodlným ovládáním a celou řadou do značné míry archaických prvků (dělení paměti při schopnosti přímo pracovat jen s 640 kB, nutnost pracovat v reálném režimu procesoru, nevýhodné dělení disků s možností pouze 65536 (216) útvarů (adresářů i souborů) na disku atd.), byl v minulosti nainstalován na tolik počítačů a bylo vytvořeno tolik programů, které s ním pracují, že je třeba se s ním alespoň zběžně seznámit.
11.3.1 Struktura DOSu.
144
1
Operační systém DOS se skládá z několika základních částí. Před jejich popisem si ještě uveďme, že pokud některou část označíme za rezidentní, znamená to, že po zavedení operačního systému tato část pevně obsadí určitou část v paměti RAM a během činnosti počítače nesmí být přepsána jinými informacemi (kapacita paměti přístupné uživateli se tedy zmenšuje o velikost rezidentní části OS). Pokud je některá část tranzientní, je také v paměti RAM, může však být v případě potřeby přepsána jinými informacemi.
Externí příkazy DOS Procesor příkazů COMMAND.COM Jádro operačního systému MSDOS.SYS Vazenbní (komunikační) program IO.SYS pro komunikaci DOSu s BIOSem BIOS Obr. Struktura DOS Základem komunikace mezi DOSem a hardwarem je BIOS, který jsme si popsali v předchozí kapitole. Zaváděcí program se spouští při rozběhu operačního systému a umísťuje jeho části z kořenového adresáře primárního disku Master (pojem kořenový adresář označuje nejvyšší úroveň logického dělení disku, představující vlastně celý disk) na vymezená místa v paměti RAM. Zavádění může proběhnout tzv. low, potom jsou tyto části umísťovány k nejnižším adresám paměti RAM, nebo high, kdy se umísťují do tzv. upper memory, tedy do oblasti paměti mezi 640 kB a 1 MB. Další popis vychází z poslední verze operačního systému - MS DOS 6.22. Vazební program IO.SYS má za úkol zprostředkovávat komunikaci mezi BIOSem a DOSem. Při rozběhu počítače zároveň vyhodnocuje informace, zapsané uživatelem v souboru CONFIG.SYS, popisující, jak má být nastaven operační systém počítače. Spolupracuje s BIOSem při zjišťování chyb, vzniklých při operacích s periferiemi, umožňuje obsluhu přerušení pomocí vektorů přerušení atd. Jeho významnou funkcí je též možnost pracovat s dalšími periferními zařízeními, které nejsou definovány v BIOSu (spolupráce s ovladači - drivery). V paměti je uložen rezidentně. Jádro (kernel) operačního systému tvoří program MSDOS.SYS. Zabezpečuje provádění služeb DOSu při realizaci periferních operací se všemi typy vstupních a výstupních zařízení počítače, zajišťuje prostřednictvím volání funkcí operačního systému i operace se soubory dat - zavírání a otvírání souborů,
145
146
čtení a zápis vět v souborech, vytváření a rušení adresářů, přechody z jednoho adresáře do druhého atd. Poznámka: Aby se bylo možno lépe orientovat v záznamech o souborech v tabulce FAT, je v ní vytvořena stromově organizovaná struktura tzv. adresářů. Kořenový adresář je na úrovni celého disku, ostatní tvoří jeho podadresáře. Tato logická struktura disku nemá žádný přímý vztah k fyzické struktuře disku, dané umístěním souborů do clusterů. Můžeme si ji představit jako organizaci přihrádek, ve kterých hledáme záznam o pozici souboru na disku C:\
kořenový adresář (ROOT) TEXTY
podadresáře DOPISY PREKLADY CLANKY
Obr. Stromová struktura adresářů Funkce DOS jsou směsice souborů, zařízení, paměti a služeb řízení procesu, které jsou k dispozici jakémukoliv programu, který je schopen nastavování registrů a volání přerušení. Každá funkce je popsána binárním číslem (obvykle se vyjadřuje pomocí hexadecimálního zápisu). Volání těchto funkcí se provádí tak, že se číslo funkce dosadí do registru AH (viz. popis 8086 a reálného režimu ostatních procesorů). Pokud existuje jedna či více subfunkcí, dosadí se její číslo obvykle do registru AL). V popisu funkce je obvykle uvedeno, mají-li být ostatní registry procesoru nastaveny na nějakou předepsanou hodnotu, co má být zapsáno do vyrovnávacích pamětí atd. Spuštění nastane po zavolání přerušení INT 21H (tedy INT 3310). Chyba je obvykle indikována nastavením CF=1. Hodnota nastavených registrů se voláním funkcí DOSu mění pouze tehdy, pokud v daném registru DOS vrací požadovanou informaci. Příklad: Funkce „Vstup z klávesnice“ 01H V registru AH se nastaví hodnota 01H. Procesor nyní čeká na znak ze standardního vstupního zařízení (obvykle je to klávesnice, přepnutí se provádí funkcí 0CH). Kód znaku zapíše do registru AL a současně jej odešle na standardní výstupní zařízení (obvykle grafický subsystém). Vlastní komunikaci mezi uživatelem a operačním systémem počítače zprostředkovává procesor příkazů COMMAND.COM. Příkazy pro operační systém mají podobu znakových řetězců, kterými se spouštějí jednotlivé programy a funkce. COMMAND. COM se skládá ze tří částí - rezidentní, tranzientní a inicializační. Rezidentní část je poměrně malá a je uložena ve stejné oblasti paměti jako IO.SYS a MSDOS.SYS. Jejím úkolem je před každým použitím procesoru
146
1
zkontrolovat, není-li narušena jeho větší, tranzientní část. Pokud zjistí poškození, spustí inicializační část, která znovu z disku obnoví tranzientní část COMMAND.COMu a potom se smaže. Tranzientní část je podstatně větší a ukládá se do samostatné části paměti. V průběhu činnosti ostatních programů není tato část paměti chráněna proti přepisu, takže může dojít k přemazání části COMMAND.COMu jiným programem. V takovém případě nemůže počítač reagovat na příkazy, dokud nedojde k obnovení celistvosti COMMAND.COMu. COMMAND.COM rozeznává dva základní typy příkazů - interní a externí. Interní příkazy jsou součástí COMMAND.COMu a jsou přístupné kdykoliv, pokud je COMMAND.COM úplný. Externí příkazy jsou v podstatě názvy souborů typu *.EXE a *.COM, které tvoří standardní součást operačního systému. Soubory typu EXE a COM obsahují instrukce v binárním kódu pro počítač. Lze je přímo spustit zapsáním jména a stisknutím klávesy ENTER. Při instalaci operačního systému se automaticky na disku vytvoří adresář DOS, do něhož se uloží programy, představující standardní externí příkazy. Pokud procesor příkazů zpracovává nějaký řetězec znaků, předpokládá nejprve, že jde o interní příkaz a hledá jej v tabulce příkazů v COMMAND.COMu. Pokud jej tam nenajde, považuje jej za externí a hledá soubor daného jména (nejprve s koncovkou *.EXE, potom *.COM) v adresáři DOS. Pokud jej ani tam nenajde, pokusí se jej hledat v některém zpřístupněném adresáři (zpřístupněn je ten adresář, ve kterém se právě pracuje, a kromě něj ještě adresáře zapsané v příkazu PATH viz. dále). Nejde-li o název souboru typu EXE nebo COM, může ještě také jít o dávkové soubory BAT. Dávkové soubory jsou v podstatě textové soubory (obsahují binární kódy znaků). Zapisují se do nich příkazy pro procesor příkazů operačního systému v takovém pořadí, v jakém mají být vykonávány. Spouštějí se stejně jako soubory EXE a COM. Pokud procesor příkazů operačního systému žádný soubor daného jména a jednoho z uvedených typů nenalezne, ohlásí „Bad command or file name“ (chybný příkaz nebo název souboru) a čeká na nové zadání příkazu. 11.3.2 Příklady interních příkazů MS DOS Než budeme pokračovat popisem některých příkazů MS DOSu, musíme si vysvětlit ještě jeden pojem - pojem cesta (path). Tímto pojmem popisujeme polohu určitého adresáře nebo souboru ve stromové logické struktuře adresářů na disku počítače. Nejlépe si způsob zápisu cesty vysvětlíme na příkladu: C:\ DOPISY OSOBNI petrovi.602 SLUZEBNI ANONYM sefovi.txt Polohu dopisu Petrovi, který patří mezi osobní, a který byl napsán textovým editorem T602, můžeme zapsat C:\DOPISY\OSOBNI\petrovi.602 (při běžné
147
148
práci s DOSem se nerozlišují malá a velká písmena, v tomto příkladu budeme psát názvy adresářů velkým písmem a názvy souborů malým písmem), kde C: je označení disku, na kterém se soubor nebo adresář nachází (Disky A: a B: označují disketové mechaniky, C:, D: a další potom mohou být pevné disky. Mechanika CD-ROM může mít označení D: a další - obvykle je označena písmenem za posledním označením pevného disku.). Podobně polohu adresáře pro ukládání služebních dopisů zapíšeme C:\DOPISY\SLUZEBNI. Zkuste si nyní samostatně zapsat cestu k anonymnímu dopisu šéfovi. Aby se usnadnilo provádění příkazů s více soubory najednou, povoluje DOS při zadávání příkazů tzv. hvězdičkovou konvenci. Pokud chceme, aby se nějaký příkaz prováděl s několika soubory, zapíšeme ty znaky, které jsou u nich společné, a ostatní nahradíme *. Příklad: *.TXT - platí pro všechny soubory s koncovkou TXT. C*.BAT - platí pro soubory typu BAT, jejichž název začíná písmenem C. *.* - platí pro všechny soubory
CD
MD
RD
Change Directory - přejdi do jiného adresáře Možné varianty: CD cesta - přechod z libovolného místa na místo, určené popisem cesty. Př.: CD C:\DOPISY znamená přechod na disk C: do adresáře dopisy. CD jméno podadr. - přechod do podadresáře toho adresáře, kde právě pracujeme. Př.: CD SLUZEBNI znamená přechod do podadresáře SLUZEBNI, možný pouze za předpokladu, že jsme již předtím byli nastaveni do adresáře DOPISY. CD.. - přechod z podadresáře do nadřazeného adresáře. Př.: Jsme-li nastaveni v podadresáři SLUZEBNI, dostaneme se tímto příkazem do adresáře DOPISY. CD\ - přechod z libovolného místa do kořenového adresáře. Make directory - vytvoření nového adresáře Možné varianty MD cesta - vytvoření podadresáře libovolného existujícího adresáře bez ohledu na místo, kde právě pracujeme. Př.: MD C:\DOPISY\MILOSTNE by vytvořilo v adresáři DOPISY podadresář MILOSTNE bez ohledu na to, ve kterém adresáři bychom právě pracovali. MD jméno podadr. - vytvoření podadresáře toho adresáře, kde právě pracujeme. Př.: MD MILOSTNE vytvoří podadresář MILOSTNE v tom adresáři, kde právě pracujeme. Remove directory - zrušení adresáře Aby mohl být adresář zrušen, musí být splněny tyto podmínky:
148
1
adresář musí být prázdný (nesmí obsahovat ani podadresáře, ani soubory) 2. počítač musí být nastaven na jiný adresář než je rušený Možné varianty RD cesta - zrušení podadresáře libovolného existujícího adresáře bez ohledu na místo, kde právě pracujeme. Př.: RD C:\DOPISY\MILOSTNE by zrušilo v adresáři DOPISY podadresář MILOSTNE bez ohledu na to, ve kterém adresáři bychom právě pracovali. RD jméno podadr. - zrušení podadresáře toho adresáře, kde právě pracujeme. Př.: RD MILOSTNE zruší podadresář MILOSTNE v tom adresáři, kde právě pracujeme. Kopírování souboru Možné varianty COPY cesta_odkud cesta_kam - překopírování souboru z místa, stanoveného cestou_odkud na místo, dané cestou_kam. Př.: COPY C:\DOPISY\OSOBNI\petrovi.602 A:\DOP\d1.602 Soubor petrovi.602 se překopíruje do souboru d1.602 na disketě A: , v podadresáři DOP. COPY C:\DOPISY\OSOBNI\petrovi.602 A:\DOP Soubor petrovi.602 se překopíruje na disketu A: do podadresáře DOP pod svým původním jménem petrovi.602. COPY soubor cesta_kam - jsme-li nastaveni do adresáře, odkud kopírujeme, nemusíme vypisovat první cestu, stačí zapsat pouze jméno souboru. Př.: COPY petrovi.602 A:\DOP\d1.602 Soubor petrovi.602 se překopíruje do souboru d1.602 na disketě A: , v podadresáři DOP. Pokud v zápisu neuvedeme d1.602, provede se kopie pod původním názvem petrovi.602. COPY soubor1 soubor2 - překopírování do nového souboru v tomtéž adresáři. Př.: COPY petrovi.602 d1.602 Soubor petrovi.602 se překopíruje do souboru d1.602 v tomtéž adresáři. Delete - smazání souboru Možnosti použití DEL cesta - smazání souboru, určeného cestou. Př.: DEL C:\DOPISY\OSOBNI\petrovi.602 Smazání souboru petrovi.602. DEL soubor - smazání souboru v adresáři, kde právě pracujeme. Př.: DEL petrovi.602 Smazání souboru petrovi.602 v adresáři, kde právě pracujeme. Rename -přejmenování souboru 1.
COPY
DEL
REN
149
150
DATE TIME DIR
Možnosti použití REN staré_jméno nové_jméno - přejmenování souboru starého jména na nové jméno. Př.: REN C:\DOPISY\OSOBNI\petrovi.602 pavlovi.602 Přejmenování souboru petrovi.602 na pavlovi.602. Jsme-li nastaveni v adresáři, kde přejmenování probíhá, nemusí se vypisovat cesta, stačí napsat jméno souboru. Zobrazí datum v počítači a umožňuje jeho změnu Zobrazí čas v počítači a umožňuje jeho změnu Výpis obsahu daného adresáře Ve výpisu se objeví seznam jmen objektů (souborů a adresářů), které jsou v daném adresáři zapsány. U souborů se objeví i jejich přípona (označení typu - 602, TXT, EXE, COM, SYS, BAT atd.) a velikost v bytech, u podadresářů se místo nich objeví pouze
. U obou typů objektů se současně objeví datum a čas jejich uložení. Pod výpisem bude počet zobrazených objektů, jejich celková velikost v bytech a volný prostor na disku. Příklad: prostor, který obsazují 48 file(s) 3 869 561 bytes 13 156 123 bytes free počet objektů
TYPE PATH
PROMPT
volný prostor
Možné zápisy: DIR/p - výpis seznamu po obrazovkách DIR/ax - výpis seznamu souborů s danými atributy x (atributy mohou být D-podadresáře, Rsoubory pouze pro čtení, H-skryté atd.) DIR/s - výpis včetně souborů ze všech podadresářů DIR *.EXE - výpis všech souborů, vyhovujících zápisu v hvězdičkové konvenci Výpis znakového souboru na monitor (TYPE jméno_souboru) Zpřístupnění adresářů, jejichž soubory mají být volány odkudkoliv. Příklad: PATH C:\DOS; C:\MOUSE; C:\T602; Tímto příkazem jsou trvale zpřístupněny soubory z adresářů DOS, MOUSE a T602 na disku C: Popis, jak má vypadat výpis na monitoru před pozicí kursoru. Nejčastější nastavení PROMPT $P$G $P ... Vypsání aktuálního disku a adresáře $G ... Znak > Takže běžný výpis na obrazovce je např.: C:\DOPISY>
150
1
Procesor příkazů obsahuje ještě řadu dalších, jejich seznam je mimo rámec těchto skript. Nevíme-li, jaké parametry se za který příkaz vypisují, je možno zavolat nápovědu napsáním příkazu s parametrem /?. Nápověda je pochopitelně v angličtině. 11.3.3 Příklady externích příkazů Externí příkazy vystupují jako soubory s příponou *.EXE nebo * .COM v adresáři DOS na disku C: (obvykle). Jde o složitější programy, umožňující poměrně složité operace. Popíšeme si pouze šest z nich, podrobněji je možno se s nimi seznámit v příručkách a operačním systému DOS. TREE
UNDELETE
EDIT FDISK
SCANDISK
DEFRAG
Zobrazení stromové struktury adresářů. Pokud se zobrazení nevejde na obrazovku, použijeme příkaz TREE|MORE. Výpis jde potom po obrazovkách a posun se provádí stisknutím libovolné klávesy. Obnovení smazaného souboru. Soubor je možno obnovit, pokud nebyl do prostoru, který tento soubor na disku zabíral, zapsán jiný soubor. Při mazání se totiž pouze ve jménu souboru v tabulce FAT objeví značka, že soubor byl smazán a clustery, které obsazoval, se označí jako volné. Pokud tedy nebyl přepsán, dá se obnovit novým zapsáním prvního znaku názvu. Editor, umožňující vytvářet a měnit znakové soubory (používá se především pro soubory typu BAT). Velmi důležitý program, umožňující definovat rozdělení pevného disku. Na pevném disku jsou při formátování definovány části, označované jako partition. Disk C: tvoří vždy primary DOS partition. Pokud chceme na pevném disku definovat další, logické disky, musíme pro primary partition vyhradit jen část disku a zbytek definovat jako extended DOS partition. V této části potom můžeme definovat jeden či více logických disků (Logical DOS Drive) D:, E: atd. Při změně rozdělení je třeba nejprve zrušit (Delete) partition a logické disky. První se ruší logické disky, potom extended partition a nakonec primary partition. Zrušením těchto parametrů se zlikvidují všechna data na discích. Vytváření probíhá v opačném pořadí - nejprve primary partition, potom extended partition a nakonec logické disky. Po jejich definici je třeba provést zformátování příkazem FORMAT C: (příp. D: atd.). Program pro kontrolu disků. Provádí kontrolu tabulky FAT a umístění clusterů, je schopen i povrchové kontroly disku a přesunu čitelných dat z poškozených clusterů do volných clusterů. Reorganizuje clustery na povrchu disku tak, aby soubory tvořily souvislé úseky a činnost disku tak probíhala v optimálním režimu. Volání DEFRAG C:
151
152
(nebo označení optimalizovat).
jiného
disku,
který
chceme
11.3.4 Soubory CONFIG.SYS a AUTOEXEC .BAT Rozběh operačního systému DOS je řízen dvěma soubory, souborem CONFIG.SYS a AUTOEXEC.BAT. Oba jsou umístěny v kořenovém adresáři disku C:, vznikají automaticky při instalaci operačního systému a uživatel může být v některých případech nucen je upravovat. CONFIG.SYS je zpracováván vazebním programem IO.SYS a slouží k nastavení základních parametrů konfigurace systému. Má charakter znakového souboru a je jej možno upravovat např. pomocí programu EDIT. U MS-DOS 6.22 umožňuje při rozběhu nabídnout několik variant konfigurace v podobě menu, ve kterém je možno pomocí šipek a klávesy „ENTER“ vybrat požadované nastavení. AUTOEXEC.BAT je automaticky spouštěný dávkový soubor, obsahující řadu příkazů operačního systému, které chceme provést při každém rozběhu operačního systému. Provádí je procesor příkazů COMMAND.COM až po zpracování CONFIG.SYS prostřednictvím IO.SYS. Význam obou souborů si ukažme na příkladu: CONFIG.SYS: DEVICE= C:\DOS\HIMEM.SYS ....
Příkazem DEVICE spouštíme ovládací program, v tomto případě HIMEM.SYS, který ovládá umísťování programů do horní paměti, tedy do oblasti mezi 640 kB a 1 MB paměti RAM. [MENU] .... Počátek definice menu - položky menu jsou definovány příkazem MENUITEM=, za kterým následuje označení položky v rámci CONFIG.SYS a doprovodný text, který se objeví na monitoru v příslušné nabídce. MENUITEM=MYS, MS DOS S REZIDENTY MENUITEM=EMS, MS DOS S EMS MENUITEM=STAND, NABEH SITE OA_INTEL MENUITEM=CD, MS DOS S REZIDENTY A CD ROM MENUITEM=NIC, POUZE MS DOS MENUDEFAULT=GATE,15 .... nastavení způsobu ovládání menu pomocí klávesnice [MYS] .... varianta „MS DOS S REZIDENTY“ DEVICE=C:\DOS\EMM386.EXE /noems .... nastavení ovladače expanded memory EMM386
152
1
[CD]
....
varianta „MS DOS S REZIDENTY A CD ROM“ DEVICE=C:\DOS\EMM386.EXE /noems [EMS] .... varianta „MS DOS S EMS“ DEVICE=C:\DOS\EMM386.EXE ram [STAND]
....
varianta„NABEH SITE OA_INTEL“ DEVICE=C:\DOS\EMM386.EXE /noems [NIC]
....
[COMMON]
....
varianta „pouze MS DOS“
společné nastavení pro všechny varianty BUFFERS=50,0 .... počet vyrovnávacích registrů pro komunikaci s pevným diskem FILES=120 .... maximální počet souborů, které mohou být současně otevřeny DOS=HIGH, UMB .... umístění operačního systému DOS do horní paměti COUNTRY=042, ,C:\DOS\COUNTRY.SYS .... .... nastavení národních konvencí pro potřebu práce s češtinou Dalšími příkazy, používanými v CONFIG.SYS jsou např. LASTDRIVE=E (posledním definovaným diskem je disk E: - písmeno se pochopitelně liší podle instalace!), FCBS=4,0 (maximum otevřených FCB - FCB označuje file control buffer, tedy registr řídící vstupní a výstupní operace se soubory), STACKS=9,256 (hardwarová velikost zásobníků) atd. AUTOEXEC.BAT: @ECHO OFF
....
PROMPT $P$G
....
GOTO %CONFIG% .... : MYS
vypnutí výpisů příkazů operačního systému na monitor nastavení výpisu na monitoru před kurzorem - viz. kapitola o interních příkazech COMMAND.COMu odvolání se na definici menu ze souboru CONFIG.SYS
....
odvolání se na jednotlivé nabídky menu, viz. popis v CONFIG.SYS PATH C:\DOS; C:\WINDOWS; C:\DOSMAN; .... .... nastavení cesty k trvale přístupným adresářům LH C:\MMOUSE\MMOUSE.COM .... spuštění ovladače myši v horní paměti
153
154
LH NCACHE2 /EXT=256 .... GOTO KONEC
....
spuštění programové paměti Cache pro práci s pevným diskem odskok na konec souboru AUTOEXEC.BAT
: CD PATH C:\DOS; C:\WINDOWS; C:\DOSMAN; LH C:\CDROM\MSCDEX.EXE /D:MSCD001 /L:E /V .... spuštění ovladače mechaniky CD ROM v horní paměti a s nastavenými parametry (jejich hodnoty se nastavují při instalaci ovladače). LH C:\MMOUSE\MMOUSE.COM LH NCACHE2 /EXT=256 GOTO KONEC : EMS PATH C:\DOS; C:\WINDOWS; C:\DOSMAN; LH C:\MMOUSE\MMOUSE.COM LH NCACHE2 /EXT=256 GOTO KONEC : STAND PATH C:\DOS; C:\WINDOWS; C:\DOSMAN; LH C:\MMOUSE\MMOUSE.COM LH NCACHE2 /EXT=256 NET .... spuštění dávkového souboru NET.BAT, obsahujícího příkazy pro připojení do sítě LAN. Tento soubor si obvykle uživatel vytváří sám. GOTO KONEC : NIC PATH C:\DOS; C:\WINDOWS; C:\DOSMAN; GOTO KONEC :KONEC
.....
ukončení dávkového AUTOEXEC.BAT
souboru
I v souboru AUTOEXEC.BAT je možno používat ještě řadu dalších příkazů, pro běžného uživatele však připadají v úvahu dvě hlavní operace - doplnění dalšího adresáře do příkazu PATH po instalaci nového programu (např. nainstalujeme-li na počítač textový editor T602 a chceme jej spouštět z libovolného disku nebo adresáře, musíme do příkazu PATH doplnit adresář, do kterého jsme jej nainstalovali - obvykle C:\T602;) a spuštění ovladače některého nově nainstalovaného zařízení nebo jiného programu (např. antiviru). Pozor - některé ovladače zařízení je možno spouštět jak z CONFIG.SYS (příkazem DEVICE), tak i z AUTOEXEC.BAT. Většina výrobců myší
154
1
dodává např. na disketě ovladačů jeden ovladač typu COM a jeden typu SYS. Myš je potom možno spouštět buď příkazem DEVICE=C:\MOUSE\MOUSE.SYS v CONFIG.SYSu (samozřejmě za předpokladu, že jsme ovladače myši instalovali do adresáře MOUSE), nebo příkazem C:\MOUSE\MOUSE.COM nebo LH C:\MOUSE\MOUSE.SYS v AUTOEXEC.BAT. V prvním případě je ovladač umístěn v základní paměti RAM, ve druhém v horní paměti.
11.3.5 Nadstavby operačního systému - diskové manažery a Windows 3.x Nepohodlné ovládání operačního systému prostřednictvím příkazů pro COMMAND.COM vedlo tvůrce software k tvorbě různých nadstaveb operačního systému, které toto ovládání velmi podstatně usnadňovaly. Zde se zmíníme jednak o diskových manažerech a jednak o systému MS Windows 3.x. Společné je pro ně to, že je jejich funkce založena na operačním systému DOS a bez něj nejsou schopny pracovat. Diskové manažery umožňují ve dvou či více oknech zobrazovat logickou strukturu disků a vypisovat informace o souborech v různých adresářích. Operace, jako je kopírování souborů, jejich mazání, přesuny, přejmenovávání atd., stejně jako práce s adresáři, se provádí mačkáním funkčních kláves F1 až F10 na klávesnici (někdy je pro ovládání možno použít i myš). Jsou možné i operace, které by v DOSu musely být prováděny řadou příkazů - např. přesuny a kopírování celých adresářů. Je možno i rušit adresáře obsahující soubory (což, jak již víme, DOS zakazuje) - soubory se nejprve automaticky smažou a teprve potom se zruší adresář. Výběr adresáře nebo spuštění souboru EXE, COM nebo BAT se provádí nastavením kurzoru a stiskem „ENTER“. Jednotlivé manažery se liší množstvím nabízených funkcí a pohodlím ovládání. Příkladem mohou být NortonCommander, M602, Dosman, HH-manažer, VolkovCommander atd. Přímo součástí operačního systému DOS bývá jednoduchý diskový manažer DOSShell. Windows 3.x, kde x je buď 1, nebo 11, jsou nadstavbou operačního systému, kterou se firma Microsoft pokoušela dosáhnout možností a pohodlí ovládání, které poskytoval a poskytuje operační systém MacOS, používaný u počítačů Apple. Ovládání je postaveno na používání myši, zobrazování je důsledně grafické. Na monitoru jsou jednotlivé funkce a programy znázorněny obrázky tzv. ikonami a jednotlivé operace se provádějí jednoduchým nebo dvojitým stiskem signalizačního tlačítka myši (kliknutím, nebo dablklikem) na příslušné ikoně. Důležitá je možnost snadného přenosu informací mezi jednotlivými aplikacemi - např. přenos obrázků a tabulek z příslušných programů do textu z textového editoru atd., pokud všechny tyto programy jsou napsány pro práci pod Windows. Poslední variantou tohoto systému jsou MS Windows 3.11 for Workgroups. Pracují, stejně jako DOS s 16-bitovým prostředím (především s FAT tabulkou). Pomocný program Win 32 umožňuje i 32-bitový přístup k souborům a k disku. Oproti předchozí verzi jsou vybaveny jednoduchými síťovými funkcemi,
155
156
umožňujícími (v případě vybavení počítače síťovou kartou) spojení počítačů do jednoduché sítě se sdílením disků.
Obr. Správce programů Základní částí je Správce programů, který představuje základní okno, ve kterém se otevírají skupiny a programy. Základními skupinami jsou Hlavní skupina, Příslušenství, Aplikace, Hry, Síť a Spustit při startu.
Obr. Hlavní skupina
156
1
Hlavní skupina obsahuje ikony Správce souborů, Ovládací panel, Správce tisku, Prohlížeč schránek, Prompt MS-DOS, Instalace Windows, Rozšíření DOS o 852, Editor PIF a Přečtěte si. Správce souborů je v podstatě diskový manažer, umožňující prohlížení struktury adresářů, operace s adresáři, soubory a disky. Ovládací panel umožňuje nastavovat základní parametry Windows - Barvy (barevnou kombinaci pracovních ploch oken), Písma (používané fonty písem), Porty (parametry sériových a paralelních portů), Myš (parametry myši - možné je např. nastavit ovládání myši tak, aby s ní mohl pracovat levák), Pracovní plocha (nastavení činnosti monitoru - šetřič obrazovky atd.), Klávesnice (zadání prodlevy a opakovací rychlosti klávesnice), Tiskárny (instalace a vyjmutí ovladače tiskáren, nastavení způsobu tisku), Národní zvyklosti (volba národních zvyklostí - měny, časových jednotek, národní klávesnice atd.), Datum a čas (nastavení počítačového data a času), Rozšířené (optimalizace systému Windows, včetně nastavení virtuální paměti, způsobu přístupu na disk atd.), Fax (konfigurování připojeného faxu), Ovladače (instalace, vyjmutí a konfigurace ovladačů přídavných zařízení) a Zvuky (přiřazení zvuků ke hlášením systému). Správce tisku ovládá tisk úloh, výběr tiskáren (pokud je instalováno více ovladačů tiskáren), tiskovou frontu (tiskne-li se několik úloh současně) atd. Prohlížeč schránek umožňuje zobrazit obsah tzv. schránky. Schránka je specifický útvar ve Windows, umožňující přenos zkopírovaných bloků informací (textu, tabulek, nebo i obrázků) mezi jednotlivými aplikacemi pracujícími pod systémem Windows. Prohlížeč umožňuje takto zkopírované informace zobrazit, vybírat mezi nimi potřebné partie atd. Prompt MS-DOS umožňuje vystoupit ze systému Windows do MS-DOSu a pracovat s aplikacemi, vylučujícími práci s Windows. Návrat do Windows umožňuje příkaz „Exit“. Instalace Windows umožňuje změnit nebo nainstalovat nově jednotlivé části systému Windows, případně odinstalovat nepotřebné partie. Při změně instalace jsou nutné instalační diskety, případně jejich kopie na pevném disku. Rozšíření DOS o 852 představuje změnu způsobu kódování znaků tak, aby bylo možno zobrazovat ve Windows české znaky a používat české fonty písma. Editor PIF umožňuje vytvářet popisy programů, které nebyly původně určeny pro práci pod Windows, umožňuje jim přidělit okno atd. Přečtěte si je textový soubor, obsahující poslední informace o úpravách systému Windows, které již nebyly zahrnuty do dodávaných příruček. Příslušenství je skupina programů, umožňujících nejrůznější zpracovávání informací. Je mezi nimi jednoduchý textový editor Write, grafický editor, umožňující tvořit jednoduché obrázky Paintbrush, program pro spolupráci s modemem Terminál, databázový program Kartotéka atd. Aplikace je skupina programů, do které Windows při instalaci umísťují spouštěcí ikony programů, schopných pracovat pod Windows, které systém identifikuje při své instalaci. Obsah skupiny Hry je dán vcelku jednoznačně jejím názvem a každý uživatel se s ní jistě snadno seznámí sám. Skupina programů Síť obsahuje funkce nastavující činnost sítě Windows for Workgroups. Správné nastavení všech parametrů v tomto okně je pro uživatele poměrně obtížné a vyžaduje buď pečlivé studium nápovědy, nebo pomoc zkušeného technika.
157
158
Poslední, ale velmi významnou skupinou programů je Spustit při startu. Do této skupiny jsou umísťovány ikony programů, které chceme spouštět při rozběhu systému Windows. Obvykle se do ní umísťuje Rozšíření DOS o 852 a Přepínač primární a sekundární klávesnice. Rovněž antivirové programy mohou být zařazeny do této skupiny.
Obr. Příslušenství Proti MacOS a pozdějším systémům OS/2 a Windows95 jsou klasická Windows 3.x ještě poměrně primitivním systémem, značně ještě poplatným systému DOS, na kterém jsou založena. Výhodou je jejich stabilita a to, že jejich případné neregulérní vypnutí nezpůsobuje obvykle poškození systému.
158
1
11.4 OS/2 Operační systém OS/2 vyvinula firma IBM v roce 1986 původně ve spolupráci s firmou Microsoft pro tehdy nový procesor 80286. Původní verze měla příliš velké požadavky na hardware (hlavně velkou operační paměť), proto se příliš nerozšířila. Po úspěchu systému Windows spolupráce obou firem skončila, Microsoft přepracoval svou verzi OS/2 na WindowsNT a IBM provedla celkové přepracování OS/2. V současné době se OS/2 objevuje ve dvou verzích - OS/2 Warp Server pro práci v sítích LAN a OS/2 Warp Merlin pro osobní počítače. Jde o plně 32-bitový systém, pracující od počátku ve chráněném režimu procesoru. Je vybaven systémem HPFS, nebo zdokonalenou variantou HPFS 386 (HPFS je systém záznamu pozice na disku, odlišný od tabulky FAT, využívané DOSem a jeho nástavbami. Kódování je 32-bitové, což umožňuje podstatně jemnější dělení povrch disku a tedy také podstatně lepší využití jeho kapacity. HPFS 386 umožňuje navíc tzv. drive monitoring, tedy připojení více fyzických disků jako jednoho logického disku). Operační systém je samoopravitelný (automaticky zapíná opravovací funkce), podporuje dlouhé názvy souborů (až 255 znaků) a automaticky provádí defragmentaci jak disku, tak i operační paměti. Při běhu programů se plně využívá preemptivní multitasking a multithreading. Součástí operačního systému je systém rozpoznávání hlasových příkazů. Podporuje multimediální aplikace, komunikaci se sítěmi WAN (Internet), práci s grafickými soubory atd. Výhodou OS/2 je jeho vysoká stabilita. Nevýhodou tohoto operačního systému je značně náročná instalace. Problémy vznikají při použití komponent, jejichž ovladače nejsou součástí OS/2, nebo které systém sám nerozpozná při instalaci. Jinak je ovládání vcelku uživatelsky přátelské, opět pracujeme s jednotlivými skupinami a s ikonami v nich, jejich organizace je však podstatně odlišná od Windows. Další nevýhodou je nedostatek aplikací, napsaných přímo pro tento operační systém. OS/2 Merlin však umožňuje přímo využívat aplikace pro Windows 3.x, Windows95 a WindowsNT. Součástí dodávky operačního systému je standardní balík aplikací BonusPack, obsahující textový editor, tabulkový procesor a další uživatelsky potřebné programy. Potřebná konfigurace počítače pro tento OS je procesor Pentium, 24 MB RAM, 16 bitová zvuková karta s kvalitním mikrofonem, grafická karta s 2 MB DRAM pro sběrnici PCI a pevný disk kolem 1 GB.
159
160
11.5 Windows95 Pokračovatelem úspěšné nadstavby operačního systému DOS, Windows 3.x, se v roce 1995 staly Windows95, které nyní aspirují na to stát se standardním operačním systémem osobních počítačů. Na rozdíl od předchozích Windows 3.x již nejde o pouhou nadstavbu DOSu, ale o skutečný operační systém. Přes velkou reklamní kampaň firmy Microsoft je (vcelku oprávněně) provází i určitá nedůvěra uživatelů, způsobená především jejich nižší stabilitou a tím, že při jakémkoliv konfliktu programů dojde k zablokování operačního systému. Postupem času jsou tyto problémy firmou Microsoft odstraňovány a uvádí se, že v připravované verzi Windows 97 by mělo být vše v pořádku. Jádro operačního systému je 32-bitové, obsahuje však ještě některé 16bitové subsystémy. Diskový formát zůstal nezměněn, systém nadále pracuje s 16-bitovou tabulkou FAT, přibyla však možnost použití dlouhých názvů souborů. Operační systém umožňuje vcelku plnohodnotnou emulaci systému DOS pro potřebu spouštění aplikací, které s Windows95 nemohou spolupracovat. Obsluha paměti je poměrně špatná, v mnoha případech je možno reorganizaci provést jen restartováním počítače v jiném režimu. Výhodou je podpora systému Plug-andPlay, to znamená, že při vřazení nového zařízení (např. zvukové karty) by ji měl systém sám rozpoznat. K zásadním změnám došlo v GUI (Graphical Users Interface - grafické uživatelské rozhraní). Po instalaci se na pracovní ploše objeví tři ikony - Tento počítač, Okolní počítače a Koš. V levém dolním rohu je navíc tlačítko Start. Kliknutím na ikoně Tento počítač se otevře okno, zpřístupňující jednotlivé disky (disketové mechaniky, pevné disky i síťové disky (pokud jsou zpřístupněny)), Ovládací panely (pro nastavování konfigurace jednotlivých systémů a zařízení, pracujících pod Windows), Tiskárny (pro řízení tiskárny včetně instalace zvoleného ovladače, pro řízení faxu atd.) a Telefonické připojení sítě (umožňující komunikaci pomocí modemu). Kliknutím na Okolní počítače se zjistí s jakými počítači je náš počítač schopen komunikovat v rámci sítě LAN, ukáže nám strukturu jejich disků (jsou-li zpřístupněny), umožňuje nám s nimi komunikovat atd. Mazání objektů je (jako u MacOS) prováděno jejich přesunem do složky Koš. Takto smazané soubory je v případě potřeby možno snadno obnovit přesunem z koše zpět na plochu nebo do jiné složky než Koš. Jednou za čas se provádí vyprázdnění koše, při kterém jsou soubory definitivně smazány. Stisknutím tlačítka Start se rozvine menu, obsahující Programy (umožňující spouštět různé nainstalované programy, pokud nemají svou ikonuzástupce na pracovní ploše), Dokumenty (obsahují seznam 15 naposled otevřených dokumentů, abychom se k nim mohli snadno vracet), Nastavení (pro nastavování parametrů jednotlivých částí a zařízení Windows), Hledat (nalezení souboru, složky nebo počítače), Nápověda (pro informaci o práci s Windows95), Spustit (spustit program pomocí příkazové řádky - podobně jako v DOSu) a Vypnout (kde je možno volit mezi vypnutím počítače, restartováním v režimu MS-DOS, restartováním počítače ve Windows95 a vypnutím programů a přihlášením jiného uživatele). Ve spodní části obrazovky je lišta, označovaná jako Task Bar. Všechny probíhající úlohy jsou reprezentovány tlačítky na této liště a přechod z jedné úlohy do druhé je možný pouhým stisknutím tlačítka. V pravé části lišty je přepínač klávesnice, ovladač hlasitosti zvuku a indikátor času. 160
1
Celkově je třeba konstatovat, že Windows95 poskytují pohodlnější a přátelštější uživatelské prostředí oproti předchozím verzím. Pokud se u verze Windows97 povede odstranit zmiňovanou nestabilitu, je možno skutečně očekávat, že se svým rozšířením stanou nástupcem DOSu.
Obr. Pracovní plocha Windows95 11.6 Novell, UNIX a WindowsNT Na závěr se jen stručně zmiňme o skupině síťových operačních systémů. Nejstarším z nich je Novell NetWare. Svou komplikovaností a nepohodlným ovládáním v mnohém připomíná DOS. Umožňuje vcelku dobře organizovat hierarchii práv uživatelů a chránit data jednotlivých uživatelů sítě proti neoprávněným přístupům a zásahům. Neumožňuje sdílení jednoho souboru (např. databáze) několika uživateli současně. Dodává se ve verzích pro 20 uživatelů, pro 50 uživatelů a pro 100 uživatelů, přičemž převod informací z jedné verze do druhé (např. při rozšíření sítě) je značně komplikovaný. Podrobněji bude probrán v příslušném předmětu. Operační systém UNIX je ještě komplikovanější, než Novell. Používá se ve velkých sítích, umožňuje i takové aplikace, kde s tímtéž datovým souborem pracuje několik uživatelů současně. Jeho studium je mimo rámec naší školy. Windows NT, dodávané jako WindowsNT Server a WindowsNT Workstation, jsou uživatelsky nejpřátelštějším síťovým operačním systémem. Jejich ovládání vychází z Windows95. Jejich hlavní nevýhodou jsou nároky na hardware - ideální je PentiumPro 200 MHz s 32 MB RAM. I tento operační systém bude probrán v příslušném předmětu. Použitá literatura: 161
162
Knihy: A.Hunger-A.Kohl a kol.: Co počítá počítač?, SNTL 1990 Tesla ELTOS: Úvod do osobních počítačů. Praha 1990 M. Minasi: IBM PC - Velký průvodce hardwarem, GRADA 1994 M. Minasi: Pevné disky od A do Z, GRADA 1992 M. Brandejs: Mikroprocesory Intel 8086-80486, GRADA 1991 M. Brandejs: Mikroprocesory Intel - Pentiun a spol. GRADA 1994 Jiří Zápalka: Anatomie IBM PC. GRADA 1993 M.Šnorek, P.Slavík: Programování obrazových adaptérů PC. GRADA 1993 M. Vymazal, J.Jindřich: Počítačové tiskárny, GRADA 1995 J.T.Hyan: Scannery. GRADA 1993 Články v časopisech: CHIP L.Nachtman: Lokální sběrnice PCI - Škoda, jestli neprojde, 12/1993, str.106-110 J.Mika: Diody v akci, 2/1994, str.62-63 M.Hecl: Nejrychlejší z rychlých - Intel DX4TM, 4/1994, str. 58-59 M.Felix: Je to síla! PowerPC, 4/1994, str. 63-73 V.Tyrš, J.Bedrlík: DECi v kleci - DEC Alpha APX family, 7/1994, str. 42-46 O.Kluge: Ticho patří minulosti - zvukové karty, 7/1994, str. 48-62 M.Flohr: 686 přichází, 9/1994, str.50-56 W.Wehl, G.Bader: Pozor na kaňky - inkoustové tiskárny, 9/1994, str. 90-97 K.Oetzel: Štvanec - pevné disky, 11/1994, str. 50-55 J.Sedlbauer: Více možností - Jak funguje EIDE?, 2/1996, str. 130-138 M.Flohr: PentiumPro v bitech a bajtech, 2/1996, str. 50-54 A.Filip:Aby zuby neskřípaly - BIOS, 3/1996, str. 128-134 J.Lorenz, U.Proeller, J.Beck, W.Kleineman: Pohled do karet - grafické karty, 4/1996, str. 64-88 M.Málek: Věda v malé kapce - barevné tiskárny, 6/1996, str. 72-90 K.Waldheim: Na plný plyn - mechaniky CD-ROM, 7/1996, str. 56-84 M.Málek: CromaClear - monitory, 7/1996, str. 86-88 J.Mika: Není slabých soupeřů - pevné disky, 9/1996, str.76-83 A.Lauchner: Experimenty s třetím rozměrem - graf. karty, 10/1996, str. 80-81 F-R.Borsch: S bubny a trumpetami - zvukové karty, 12/1996, str. 76-85 G.Pienkowski: Vnitřní život mechaniky CD-ROM, 1/1997, str.128-129 M.Loucký: Nastává nová éra - procesory MMX, 2/1997, str. 8-9 M.Málek: TV na PC, 3/1997, str. 70-74 M.Rindl: Srovnání systémů sběrnic: SCSI a EIDE, 3/1997, str. 52-61 PC World F.Louguét: SCSI, 1/1995, str. 88-92 P.Paleta: Windows95, 3/1995, str. 37-45 P.Paleta: Daytona -WindowsNT, 3/1995, str. 46-48 P.Paleta: WARP - OS/2, 3/1995, str. 50-54 J.Luhan: HP Color LaserJet, 3/1995, str. 60-63 P.Korec: Pero kreslící po oknech Windows - graf. tablet, 5/1995, str. 24-29 S.Borecký: Tiskárna PhaserTM 340 - vosková tiskárna, 7/1995, str.52-56 162
1
A.Bader, R.Regent-Seebode, B.Wesser-Krell: Světlo v džungli CPU, 9/1995, str. 34-48 B.Vošický: Procesor NexGen P100, 12/1995, str. 100-101 J.Zapletal: Třetí rozměr v počítačové grafice, 4/1996, str. 22-26 B.Smetana: Upgrady a optimalizace PC, 7/1996, str. 23-36 B.Smetana: Záznamová média dneška, 8/1996, str. 29-57 B.Smetana a kol.: Operační systémy, 10/1996, str. 26-50 B.Smetana, J.Zapletal: Nebojte se PC (1). 11/1996, str. 38-59 B.Smetana, J.Zapletal: Nebojte se PC (2). 12/1996, str. 58-67 J.Zapletal: Operační systém - nejlepší přítel člověka, 1/1997, str. 58-61 B.Smetana, J.Zapletal: Nebojte se PC (4). 2/1997, str. 101-111 J.Zapletal: DVD, CD-ROM a CD-RWM, 3/1997, str. 88-91 PC Magazine D.Rowell: PCI Local Bus přichází, 1/1994, str. 113-118
163