2. Struktura a organizace počítače. Datová návaznost Obsloužení I/O - procesor nebo kanál (řadič), někdy I/O sběr. Sběrnicová organizace Stavebnicovost, všechny bloky na stejné úrovni Struktura : jednosběrnicová vícesběrnicová - universální - oddělení signálů 3 sběr A,D,C 37
2.1. Přenos informace v počítači. Spojení jednotlivých podsystémů navzájem : spojení mezi 1.soustavou a prostředím 2.mezi prvky/subsystémy soustavy Přenos: z funkčního hlediska: řídící, zpracovávaná, stavová informace z hlediska směru : informace vstupující, setrvávající, vystupující 2.1.1. Spojovací soustava. Sběrnice - soustava paralelních vodičů pro přenos dat, adres, říd.s., stav.s. aj. Sběrnice/spoj specializovaná univerzální vyhražena logicky - typ inf. fyzicky - zařízení Vlastnosti: specializovaná - jednodušší, rychlejší přenosy, možnost paralelních přenosů, větší množství vodičů, menší spolehlivost, cena, nesnadná modularita. CPU PAM I/O I/O I/O I/O I/O I/O 38
Universální - složitější řízení, menší počty propojení, větší spolehlivost, modularita, delší časové relace přenosů CPU PAM I/O I/O I/O I/O Zrychlení přenosů po sběrnici - více sběrnic s 1. decentralizovaným řízením 2. centralizovaným " decentralizované řízení (3 sběrnice) - přístup řídí sám blok, všechny sběrnice stejné CPU PAM I/O I/O I/O I/O centralizované řízení - spojení realizuje křížový přepínač (procesor, řadič) I/O I/O I/O I/O CPU křížový přepínač PAM 39
2.1.2. Přidělování sběrnice. Sběrnice je společná pro více jednotek Postup: 1. požadavek přidělení 2. získání řízení sběrnice 3. ukončení obsazení realizuje řadič přístupu (arbitr) centralizovaný decentralizovaný (u jednotky) Způsob obsluhy žádostí: 1. postupný 2. na výzvu řadiče (podle adr.) 3. podle priority Postupná obsluha - priority jsou dány fyzickým připojením na prioritní řetězec žádá-li vyšší priorita, padá VOLNÁ a ukončuje přenos 40
Obsluha na výzvu z řadiče - varianta předchozího - vysílá se adresa zařízení z čitače, až v komparátoru adr.zařízení se generuje obsazenost. Priorita je dána adr. zařízení (v podstatě POOLING). Další obsluha až po skončení předešlé. Obsluha postupná (nul.čit.), cyklická (pokrač.čit.) V tomto případě čeká i vyšší priorita na dokončení obsluhy. Netypická, nepoužívá se 41
Obsluha podle priority - z každého zařízení žádost o sběrnici, ke každému zařízení povolení přístupu - paralelní rozhodování, libovolný způsob obsluhy s možností měnění priorit. Variabilní obsluha. libovolný výběr z fronty 42
2.1.3. Způsoby komunikace po sběrnici. Při navázání spojení je třeba udat: vlastní adresu adresu spolupracujícího zařízení specifikaci typu informace (data, stav) specifikaci typu činnosti (čtení, zápis) Řada těchto informací se předává implicitně - special. sběrnice. Přenos může probíhat: 1. synchronně - přidělený interval v němž lze přenášet, centrální nebo synchronizované hodiny, problém s různými rychlostmi, volba hodin, bez potvrzení příjmu. konečný počet intervalů 2. asynchronně - jednostranné řízení - od vysílače - od přijímače - dotaz/odpověď jednostranné řízení vysílačem - data, za t vzorkovací signál data platná - nemá potvrzení příjmu 43
jednostranné řízení přijímačem - zahájení přenosu - žádost o data za t přijímač přebírá - rozhoduje o příjmu Dotaz/odpověď - nejdříve data, za t data platná, potvrzení příjmu data přijata. Nejčastější, snadná spolupráce různých zařízení polovázaná verze - data přijata shodí data i data platná plně vázaná verze - data platná nelze nastavit dříve, než skončí data přijata (blíží se polosynchr. prov.) Čím více provázáno, tím pomalejší přenos. 44
Základní typy přenosu z hlediska přenášeného celku Přenos 1. po jednotlivých datových elementech (byte, slovo,..) 2. po blocích - pevná délka - proměnná délka Přenos po jednotlivých datových elementech: - pro pomalé zařízení odezva zařízení (interval mezi dvěma činnostmi) >> než vlastní přenos (přidělení sběrnice a přenos dat). Kontrola přenosu - po jednotkách (parita). Přenos po blocích: pevná délka - pro zařízení, která pracují s pevnou délkou bloku. Dlouhé vyhledávání, rychlý přenos (MGF). Kontrola po blocích ( Σ,CRC) proměnná délka - pružnější - zadává program, přizpůsobení zařízení - délku bloku implicitně udává zařízení. Šířka sběrnice - počet paralelních linek pro přenos. z hlediska ceny co nejméně ale potom dlouhý přenos 45
2.2. CPU-Základní jednotka CPU tvoří operační jednotka a řadič - v podstatě se nedá oddělit propojení řešeno na µp úrovni 2.2.1 Operační jednotka 2.2.2 Řadič -řeší operace -řídí výkon operací OPER 1,2 - registry operandů ALU - paralel.binární ALU DEK.AR - dekadická korekce STAV.R - výsledek operace-stav IR - instr.reg. REGISTRY - STŘADAČ AR - adres.reg. Pracovní registry PC - program.čitač indexregistry INKR - inkrement PC bázové registry. Σ - modifikace adr. (2 až 64) GHI - hodin.generátor 46
2.2.3. Struktury CPU - modifikace Multiprocesorová - nezávislá MIMD Procesor se spec. funkčními bloky SISD Array procesor - stejný PRGM, Pipeline procesor různá data SIMD MISD 47
2.3. Paměťový podsystém počítače Ukládání programů a dat -> velká kapacita -> nutnost velké ekonomie/1 bit -> nejdražší část počítače paměťový podsystém CPU M1 M2 M3 M4 M5 M6 registry cache OP flash disková archivní Základní pojmy - dělení: 1. Z hlediska systémového užití a) vnitřní paměti - přímo spojené s obvody počítače operační - programy, data, mezivýsledky(rozšiřitelnost) zápisníková - mezivýsledky aritmetiky (rychlá) vyrovnávací - vyrovnání rychlosti při přenosech řídící - pro záznam mikroprogramů b) vnější paměti - přídavné - dlouhodobé pamatování velkých objemů dat - nejsou bezprostředně zpracovávána, nízká cena/1bit, složitější přístup 2. Podle způsobu uchování informace statické - data jsou v mediu na stabilním místě dynamické - pohyb dat (zpožď.linka) x dyn.ram!! 3. Podle charakteru výběru adresový výběr - podle místa asociativní výběr - podle příznaku 48
4. Podle posloupnosti výběru postupný - páska, zásobník, FIFO, LIFO cyklický - disk, linky libovolný - adresový výběr existence vybavovací doby - proměnná / stálá 5. Podle fyzikálního principu feritové, ultrazvukové, optoelektronické, elektronické, tenké magn.vrstvy, bublinkové Parametry pamětí buňka - lokace - její velikost (bit, byte (B), slovo (W), dvojn.slovo (DW),...poč.bitů) kapacita - max. množství informace - v KB (1024 B = 2 10 B) - v MB (2 20 B) - v GB (2 30 B) - v TB (2 40 B) rychlost - vybavovací doba - t od požadavku do začátku přenosu - doba cyklu - t do zpracování dalšího požadavku při 0 vybavovací době - rychlost toku dat (u vnějších) - množství dat/čas energetická závislost - závislé na napájení (polovodičové) - nezávislé na napájení (feritové aj.) - část. závislé na napájení (záložní zdroj) spolehlivost uchování - pasivní ochrana, autokorekce (kódy) typy (polovodič.) s adr. výběrem - RAM (RWM), ROM, EPROM, PROM, EEPROM 49
2.3.1 Operační paměť určena pro program, data, mezivýsledky aj. Buňka (pam.místo) - nejmenší adresovatelná jednotka informace (byte, slovo...) Adresa - binární číslo identifikace pam. místa, pro n bitů -> 2 n adres Komunikace s operační pamětí adresový registr - adresa místa s nímž probíhá komunikace adresa se dekóduje na kód 1 z 2 n datový registr - vyrovnávací paměť procesoru pro data čtená z OP resp. zapisovaná do OP Paměti s - rozděleným I/O - společným I/O BRQ BACK RD/WR READY ADR DATA RD WR 50
Pomocné bity (metabity) paritní jednoduchá kontrola správnosti dat další bity - zjištění popř. oprava chyby ochrana obsahu proti zápisu - RO rozlišení programu a dat - (oper.syst.) 0 - program, 1 - data 51
Kontrola a oprava chyb obsahu paměti Bezpečnostní kódy - umožňují detekovat nebo i opravit chybu. Znázornění kódu na vícerozměrné krychli, vzdálenost sousedních vrcholů = 1. 100 101 110 111 000 001 010 011 1 chyba v kódu přemístí vrchol na sousední => sousední vrcholy se nesmí v kódu využívat - Hammingovy kódy minimální Hammingova vzdálenost = vzdálenost dvou využitých vrcholů, které jsou nejblíže Kód pro indikaci 1 chyby - vzdálenost 2 K chyb - " K+1 Kód pro opravu 1 chyby - " 3 indikace 2 chyb K chyb - " 2K+1 indikace 2K chyb Kódy pro indikaci 1 chyby - kód. vzdál. 2 přidání paritního bitu - sudá/lichá kód 2 z 5 sudá P 8 4 2 1 e d c b a 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1.. 1 0 0 1 0 1.. 9 0 1 0 0 1 9 1 0 0 1 0 52
Kód pro opravu 1 chyby - kód. vzdál. 3 Kontroluje se parita tří oblastí (včetně paritního bitu) 8 4 2 1 P1 P2 P3 oblast parity P1 * * * * oblast parity P2 * * * * oblast parity P3 * * * * Příklad: 8 4 2 1 P1 P2 P3 0 0 1 0 1 1 0 - sudá parita oblast P1 8 2 1 P1 oblast P2 8 4 1 P2 oblast P3 8 4 2 P3 0 1 0 1 0 0 0 1 0 0 1 0 dobře chyba chyba 8 v pořádku podezřelé 8 a 4 tj chyba v bitu 4 oprava 01 1 0 1 1 0 Nevýhoda - není schopný detekovat neopravitelnou chybu - snaží se vždy opravit libovolně chybné slovo (i s více chybami než může opravit). Zlepšení: Rozšířený Hammingův kód - přidání celkové parity - kódová vzdálenost 4. Kód umí 1 opravu, 2 chyby detekovat jako neopravitelné 3 chyby " " " nebo chybná oprava 53
Počty bitů: kód kontrola 4b - 4b 8b - 5b l6b - 6b 32b - 7b 64b - 8b Vytváří se kontrolní matice H-kódu která se násobí s přijatým znakem - výsledek - syndrom - kód určující, kde je chyba a je-li opravitelná. Používá se též pro průběžnou diagnostiku paměti Ochrana paměti Účel: - v jednoprogramovém režimu bránit zápisu a skoku do OS - v multiprogramním režimu " " " " a oblasti přidělené jinému programu OS - umožňuje hospodařit s oper. pamětí zavedením režimů činnosti: režim uživatelský - ochranu nelze ovládat, narušení se projeví jako přerušení obsluhované OS režim OS (privilegovaný) - ovládání ochrany je možné, analyza narušení a obsluha - rozšíření: v uživatelském režimu nelze použít I/O instrukce ani zastavit - pouze v privilegovaném -> kontrola OS nad I/O Způsob ochrany: mezními registry, maskami, klíči, metabity 54
1. Mezními registry MAX UP HMR DMR MPR DMR - dolní hranice programu HMR - horní hranice programu OS UP OS - uživatelský program - operační systém 0 MPR - adresový registr porovnává se obsah adr.reg. s obsahem DMR a HMR. Musí být v intervalu <DMR,HMR> Nevýhoda: souvislý blok paměti Ochrana brání: MW, JMP, I/O, HLT nebrání: RD, nepřímé adresaci 2. Maskami Po blocích nebo po stránkách A ef = N S.2 d + A ins 2 d - rozsah stránky Maska má tolik bitů kolik je stránek. Každý program má masku, která má: 1 - pro stránku, kterou program může používat, 0 - stránka je chráněná Vyhodnocení: Vykonání instrukce se připustí projde-li komparace 55
3. Podle klíčů Klíč - číslo stránky v binárním tvaru Program má paměť klíčů, která se porovnává s číslem akt. stránky 4. Metabity Pomocné bity pro rozlišení programů navzájem nebo programů a dat MB PAM 1 1 1 0 0 0 0 1 - uživatelský program 0 - OS metabitů může být i více - další rozlišení 2.3.2 Zásobníková organizace paměti STACK, PUSHDOWN, LIFO - buď zvláštní paměť nebo vyhrazená část paměti s co nejkratšími instrukcemi bez adresní části Zásobník - datové položky uloženy v paměti souvisle za sebou 1 položka - dno zásobníku poslední pol. - vrchol zásobníku Definice: lineární informační struktura, u níž se operace vkládání a vybírání položek provádějí na téže straně struktury (na vrcholu zásobníku) 56
Realizace : 1. souvislý úsek paměti, jemuž se přidělí ukazatel zásobníku (stack pointer) - registr nebo pamět. buňka. Ukazatel obsahuje adresu první volné nebo poslední obsazené (vrchol) buňky zásobníku. DNO UKAZATEL ZÁSOBNÍKU PAM VRCHOL 2. Úsek paměti není souvislý - položky jsou řetězené pomocí ukazatelů UKAZATEL ZÁSOBNÍKU VRCHOL DNO Základní operace PUSH - vložení položky + inkrement ukazatele POP - výběr položky + dekrement ukazatele Př.: adr 1 001 1 002 1 003 1 004 SP obsah 1 100 40 1 002 obsah 2 obsah 3 obsah 4 100 100 100 40 40 7 1 003 1 002 1 001 PUSH POP POP dno... vrchol 57
Úspora adresace - instrukce vložení do nebo výběr ze zásobníku ušetří 1 adresu - úspora všech adres - postupné vybírání operandů ze zásobníku, výsledek do zásobníku - aritmetika ze zásobníkem. Př. POP A POP B A+B=C PUSH C 2.3.3 Asociativní paměť Výběr a zápis do paměti se provádí podle obsahu (příznak) - ne adresový výběr Dojde-li ke shodě klíče a příznaku buňky - buňka se aktivuje. Vyhledávání nezávisí na fyzickém uložení dat v paměti. Asociativní buňka obsahuje komparátor. Plně asociativní pam.- porovnává celý obsah buňky - nepoužívá se, porovnává se pouze část 58
ADR.REG REG.ADR.EKV. Blokově asociativní buňka PAMĚŤ. BUŇKA PŘÍZNAK HRADLA KOMPAR RD DATA KLÍČ V paměti může nastat shoda příznaku a klíče v několika buňkách. Pak se zaznamenávají adresy shody do adr.registru a buňky se postupně zpracovávají. Organizace kombinované paměti adresová/asociativní KLÍČ ASOCIAT. REG RD ADR ASOCIAT. PAMĚŤ REG.EKV. REG. DAT OUT IN WR DATA ADR - normální zápis a čtení paměti KLÍČ - modifikace datových obsahů podle adres v REG.ADR.EKV. 59
Vyrovnávací paměť paměti typu FIFO - mezi dvě jednotky s rozdílnou rychlostí zpracování dat, simulována v OP do VP - data nahrávána ze zdroje dat (např. z I/O resp. z CPU) z VP - data vybírána CPU resp. jednotkou I/O. dva ukazatele dat - ukazatel pro zápis - ukazatel pro čtení (nemůže předběhnout) UKAZATEL ČTENÍ POČ.A. UKAZATEL ZÁPISU PAM VP KONC.A. realizují se použití - jako kruhové - jako dvoubránové (zrychluje přístup k datům) - spolupráce CPU a jednotek I/O Zápisníková paměť nejrychlejší - množina registrů, adresování vnitřně přes řadič CPU 7 0 7 0 AX DX CX BX AH DH CH BH AL DL CL BL BP SI DI SP 15 0 STŘADAČ ADR I/O ČITAČ BÁZOVÉ REGISTRY INDEX REGISTRY UKAZ.ZÁSOBNÍK 60 dočasná paměť operandů, mezivýsledků výsledků význačným reg. je střadač - cíl výsledků - další funkce vazba na stav. registr CPU - jednoduché vyhodnocení výsledku
2.3.4. CACHE - rychlá vyrovnávací paměť Požadavek rychlé paměti pro spolupráci s CPU (cca 10x). Zapojena mezi operační paměť a CPU CPU CACHE OPER PAM OUT IN DATA adr cache adr ASOC PAM+R adr OP Přesun z operační paměti do CACHE se provádí po stránkách. Každé slovo je označeno číslem stránky a adresou ve stránce - asoc.klíč Asociativní paměť - převod adresy z CPU na adr. CACHE a rozhoduje o přesunech z OP do CACHE Funkce: adr. z CPU Asoc. pam. + řadič prohledá CACHE - najde adr. => přesune data do CPU - nenajde adr. => přenos správné stránky z OP do cache a následný přenos dat do CPU. Je-li CACHE plná - výměna stránek Do CACHE se přesouvají vždy nejvíce dotazované stránky CACHE je transparentní - není třeba počítat s její existencí - zajišťuje hardware. 61
FLASH paměť v podstatě varianta EEPROM paměti nahrazující diskovou paměť Vlastnosti: symetrická bloková architektura (typicky 64KB bloky) velká kapacita (řádově MB) vysoká rychlost (standardní funkce čtení z ROM ~ 70 ns) blokové mazání obsahu (typicky ~ 1,5 s/blok) bytový přepis obsahu (typická perioda řádově desítek µs). V cc =5V, typický odběr ze zdroje ~20 ma, při zápisu 10 ma powerdown mód s minimálním odběrem (~ 0.2 µa). v režimu čtení V pp =V pl (0V), v režimu zápisu V pp =V ph (12V) lepší variantou než SRAM + baterie nebo než RAM disky. režimy funkce paměti se definují zápisem příkazů vnitřní automat (CUI) interpretuje příkazy vnitřní sekvencí provedení příkazu je podmíněno nastavením řídicích signálů zápis/mazání obsahuje také cykl verifikace vykonání příkazu. 62
Paměť obsahuje Command User Interface (CUI) jako interface mezi procesorem a vnitřními operacemi paměti. Režimy funkce paměti se definují zápisem příkazů (specifická data), které vnitřní automat transformuje na sekvenci vnitřních řídicích signálů. Základní funkcí paměti je čtení ROM (V pp =V pl ). Režim funkce nastává po RESETu, po standby režimu nebo po přechodu do režimu čtení. Současně jsou nutné signály CE = OE = L, WE=H. Blokové mazání nebo bytový zápis se povoluje změnou napětí V pp =V ph a je aktivován příslušným příkazem. Současně jsou nezbytné signály CE = WE = L,OE=H. Tyto funkce jsou realizovány CUI a verifikovány vnásledném čtení prostřednictvím stavového registru. Typické sekvence příkazů: příkaz čtení přepnutí do režimu čtení čtení/nulování stavového registru blokové mazání ukončení mazání zápis dat 1.cykl čtení bě dat i z adresy zápis příkazu (bez adr) zápis příkazu (bez adr) zápis příkazu s adr. bloku zápis příkazu (bez adr) zápis příkazu s adresou dat 2.cykl sběrnice verifikace (čtení dat bez adr) potvrzení příkazu s adr.bloku potvrzení příkazu (bez adr) zápis dat s adresou dat pozn. v režimu čtení nebo po RESETu následné čtení stav. reg. pro verifikaci Pro regulerní čtení dat z ROM je nutné nahrát příkaz přepnutí do režimu čtení. 63
2.3.5 Vnější (sekundární) paměti Patří mezi periferní zařízení.velký obsah, s kterým se nepracuje bezprostředně 1. Magnetická páska 13 mm, 2m/s, 9 stop (8+parita), 100.000zn/s, fáz.modulace Zápis po blocích Blok: 18 až 2048 znaků, za každým blokem 2 znaky CRC kontroly, EOB Mezibloková mezera - bez záznamu - pro rozjezd nebo dojezd Soubor - skupina bloků, ukončen zónovou značkou EOF Vyhledávání souboru - čítání zónových značek (adresa) # DATA DATA odraz. značka zón. značka CRC meziblok. mezera Vybavovací doba: několik ms až několik minut Kapacita: několik GB 2. Magnetický buben Magn. vrstva na válci, průměr několik dm, vysoké otáčky, nad bubnem umístěny čtecí/záznamové hlavy Buben rozdělen na: stopy - ke každé hlavě sektory - paměť.místa Polohu sektorů definuje zvláštní pevně nahraná stopa. vybavovací doba: několik ms Kapacita: desítky KB 64 sektor stopa
3. Magnetický disk Kovový disk s mediem po obou stranách. Několik disků tvoří sadu Každý disk má 2 hlavy (spodní, horní strana), přestavitelné (povrchy) Rozdělení: sektor (32 až 256 slov) stopa (10 až 100) povrch (2) začátek stopy: index (soft) zvl.stopa (hard) sektor sada stopa h s povrch index přestavení: mezi stopami 5ms přes celý disk 50ms Vybavovací doba 10ms-100ms Kapacita: MB (i stovky) Pružný disk - podobné, ale jeden disk, kapacita ~ 1MB Hard disk - (Winchester) - nevýměnné, kapacita ~ GB 4. Optické paměti Laser + optická vrstva (velká, rozlišitelnost) CD - ROM, W < GB PD - RW < GB DVD - RW několik GB Holografický záznam - 2 paprsky (referenční a datový) - interference. Informace po celé ploše 65
2.3.6 Virtuální paměť (smyšlená). Velké požadavky na paměť -> využití vnějších pamětí. Protože jsou pomalé, vytváří se hardware pro virtuální paměť. Tvoří jí rychlá paměť (vyrovnávací) + vnější pomalá (obrovská kapacita) Adresování: virtuální adresou - odpovídá jí fyzická adresa Fyzická adresa Z A1 A2 číslo zařízení adresa slova Virtuální adresa S A2 číslo stránky adresa ve stránce Program požaduje virtuální adresu Přepočet virtuální adresy na fyzickou se provádí tabulkou. V rychlé paměti odpovídá stránce S stránka S *. Adresa S a její přepočet na stránku v rychlé paměti S * se zapamatovává v asociativní paměti. Struktura je stejná jako u CACHE paměti: přepočty adres S œ Z U A1 œ S & pož. perif. str. CACHE Při naplnění rychlé paměti se stránky vymění, nepoužívané stránky se vracejí do velké paměti. 66
2.4 Vstupy a výstupy Program a data se před spuštěním musí nahrát do počítače => I/O, nebo v průběhu řešení se data zpracovávají a poskytují na výstup. 2.4.1 Periferní zařízení lze dělit na : 1. zařízení pro záznam prvotních údajů a přímou komunikaci (terminál, klávesnice, tiskárna, pořizovače) 2. zařízení pro převod údajů z nosičů dat do počítače (děrná páska, štítek, aj.) 3.vnější paměti Periferie : spřažené - on line - připojené k počítači nespřažené - off line - pořizovače - spojení prostřednictvím media (páska, štítek, floppy, MGF) Periferie 1. Děrný štítek 83x187 mm 80 sloupců ( pozic ) 12 řádků ( stop )... Každému znaku přiřazená kombinace obdélníkových děr, v jednom sloupci jeden znak - kód Hollerith. rychlost : čtečka: až 15 štít/s děrovačka: 2 až 5 štít/s 2. Děrná páska 17-26mm 5-8 stop + vodící, papír, umělá hmota + kov rychlost : čtečka - až 2200 zn/s děrovačka - až 300zn/s 67
3. Pružné disky, magnet.páska - viz paměti 4. Tiskárny: válcová řetězová mozaiková xerografická laserová termografická inkoustová - typový válec s kladívky (až 160 pozic) rychlost 1000 řádek/min - typový řetěz + kladívka (synchronizace) rychlost až 2000 řádek/min - 7-9 (24) jehel, tisk v matici 5x7 nebo 7x9 možnost tisku i grafiky - až 100zn/s varianta s 1 jehlou (rastrový tisk) - převod přes optickou cestu na válec XEROXU až 200 řádek/s - totéž co XEROX ale plyn. laserem až 350 řád/s - teplotně citlivý papír + hlava s rastrem 5x5 až 30 zn/s - stříkání inkoustu v rastru a event. vychýlení el.polem, až 250 zn/s 5. Elektrický psací stroj - klávesnice + typová tiskárna rychlost 10-20 zn/s 6. Dálnopis - jako psací stroj 7.Terminál - klávesnice + obrazovková zobrazovací jednotka klávesnice - kódovaný vstup, displej - rastrový Připojení - paralelní (ASCII) nebo seriové (RS232) 8. Digilizátory - interaktivní prostředky pro převod grafického zobrazení do počítače pákový ovladač - ve spojení s kurzorem na obrazovce myš - inkrementální zadávající člen pro polohu kurzoru světelné pero - definice polohy na obrazovce tableta - indukční (cívka + elmag. vlna) - kapacitní(kapacitní snímač + el.vlna) 68
MOD 9. Souřadnicový zapisovač - absolutní, inkrementální lineární + kruhová interpolace, instrukce (znaky, písmena, číslice) 10. Optický a akustický vstup/výstup - rozpoznávání, synteza řeči 11. Č/A a A/Č převodníky - spojení na proces Inteligentní periferie Řada periferií má v rámci řadiče svůj procesor. Periferie je pak řízena množinou instrukcí, které provádějí sekvenci jednotlivých operací (př. zapisovač - vykreslení znaku, šrafování aj., tiskárny - alfa/graf. režim, různé velikosti znaků aj.). Rozhraní je většinou RS232 (seriový kanál). Připojení periferií 1. přímo na I/O kanál 2. na sběrnici I/O kanálu 3. telefonní linkou - MODEM (modulace - demodulace) POČ MOD telefonní linka POČ 69
2.4.2 Řízení vstupů a výstupů Cíl : přenos dat i programu z I/O do paměti a obr. Formou i charakterem odpovídá způsobu přenosu po sběrnicích. Cílem - operační paměť. Signály přenosu: 1. data 2. řídící signály pro I/O 3. stavové signály I/O Řízení I/O: 1. spouštěná - jediný režim (např. START/STOP čtení) 2. řízená povely - volba režimu, ostatní implicitní 3. řízená příkazy - povel režimu, adresa cíle/zdroje, délka, detaily přenosu Stav I/O 1. žádná informace 2. signalizace připravenosti 3. inform. o stavu, režimu, chybě aj.- stavové slovo Forma komunikace - odpovídá zvolené variantě přenosu (synchronní, asynchronní, dotaz/odpověď) Organizace připojení a řízení Základ - hledisko vyrovnání rychlostí procesoru a I/O. Minimalizovat činnost procesoru na zahájení/ukončení činnosti I/O. Přímé spojení CPU s periferiemi je nerentabilní. Zákl. přizpůsobení rychlosti - vyr.pam. 70
Způsob přenosu Přímé spojení CPU s periferií je nerentabilní (dlouhé časy). Zlepšení - použití dalšího hardware (řadiče, procesory, spojení soft + hard) jejichž činnost je na CPU nezávislá (do urč. míry pracují paralelně). Toto propojení I/O a počítače - I/O kanál - může řídit několik periferií. Propojení periferie a kanálu KANÁL ŘADIČ.. ŘADIČ PER 1.. PER N interface (rozhraní) Rozhraní je většinou standartní (jednoduché propojení). V poslední době řadič začíná být součástí kanálu - periferie pouze řídící obvody. Realizace přenosu: 1. Programový kanál - přes procesor a jeho registry 2. Programový kanál s přerušením 3. Přímý přístup do paměti - řízený I/O a jejím řadičem 4. Autonomní kanál - řízení I/O i spolupráci s pam. zajišťuje spec.proc. 5. I/O procesor Každý kanál má hardwarovou a softwarovou složku 71
1. Programový kanál - přímé řízení I/O programem - kanál jednoslovních přenosů procesor používá I/O instrukce, data jdou přes pracovní registry procesoru Postup OP program prac. reg. program I/O OP MBR R I/O sběrnice I/O I/O... MAR ŘAD PROCESOR 1.instr. (R) <- (I/O) 2.instr. (M) <- (R) Př: Dotazovací (nestartstopní) režim pro řízení SDP Přenos dat z SDP do OP od adr A Programové řízení je z hlediska využití CPU a paměti málo účinné ale velmi jednoduché a levné. 72
2. Spolupráce přes přerušení - programový kanál Varianta bez BUFFERu - každá nová data generují INT - obsluha INT čte a ukládá data, inkrementuje počítadlo C - uvolňuje CPU z čekací smyčky nestartstopní režim - počitadlo C = 0 - každá nová data generují INT - v obsluze INT uložení dat a inkrement C - výběh při C = n startstopní režim - totéž, co předešlé - součástí obsluhy INT je i start a stop periferie - první spuštění v těle programu Varianta s BUFFERem Vyžaduje I/O vyrovnávací paměť - součást rozhraní (interface). Pak BUFFER plný/prázdný generuje INT. V tomto případě je to start/stop režim. vektory přerušení obsluha I/O i i+1 i Zvětšení vyrovnávací paměti: 1. zmenšení počtu přerušení 2. vyšší využití CPU Problém: jak volit velikost vyr. pam. - každé I/O svojí -> drahé program uživatele INT i 73
3. Přímý přístup do paměti Rychlý přenos dat bez účasti CPU Přístup k paměti má kanál I/O přednostně - zajištěno hardware - řadič DMA. Pokud vznikne požadavek přesunu dat, hardware zajistí zastavení CPU na jeden cykl a přenos dat do OP. Práce kanálu je řízena pevným programem (zadrátováno). DMA přenos se stejně jako kanál spouští CPU. PAM CPU HOLD HLDA DMA DRQ DACK I/O DRQ DACK HOLD HLDA - žádost přenosu dat - potvrzení žádosti - žádost zastavení přístupu CPU na sběrnice - odezva CPU na HOLD (odpojen) Programová složka kanálu - firmware. Měnitelné složky: parametry přenosu - zadávají se do registrů řadiče DMA před spuštěním přenosu (odkud, kam, rychlost, kontroly, podmínky ukončení přenosu a j.) Spuštění přenosu: řídicí slovo do řadiče DMA Ukončení přenosu: po splnění podmínek ukončení přenosu, INT pro CPU 74
4. Autonomní kanál Samostatný I/O podsystém pro řízení a přenos dat z I/O zařízení. CPU příkazem vybudí příslušný kanál. Kanál řídí průběh příkazu sám podle kanálového programu (složen z kanálových příkazů). Program probíhá paralelně s činností CPU. Přerušení CPU generuje kanál až po úplném skončení I/O operace. Připojení kanálu: CPU PAM PŘEPÍNAČ KANÁL 1 I/O I/O I/O KANÁL 2 I/O I/O I/O Selektorový kanál: obsluhuje pouze jedno I/O zařízení, může pracovat paralelně s jiným kanálem nebo CPU, je rychlý. Blokové přenosy (disk, páska,..) Multiplexní kanál: časový multiplex obhospodařování několika I/O jednotek - pomalý (klávesnice, tisk, čtečka), většinou postupná obsluha, komunikace dotaz/odpověď, přenos po bytech, slovech. Drahý, tvoří je několik podkanálů pro spec. I/O zařízení. 75
Autonomní kanál obsahuje: - hardwar. složku - specializovaný procesor řiditelný instrukcemi - softwar. složku - kanálový program uložený v OP sestavený z instrukcí spec. procesoru. Instrukce I/O - způsobí provedení posloupnosti I/O operací paralelně s instrukcemi programu - sdílení času. START I/O - instrukce obsahuje adresní část - číslo kanálu, číslo zařízení v daném kanálu a počáteční adresu kanálového programu. Vykonání instr.= předání dat kanálu => inicializace činnosti. Dokončení pospoupnosti I/O operací se oznamuje přerušením STOP I/O - ukončuje činnost kanálu Další instr. -nastavení počátečního stavu, test stavu periferie aj. Kanálový program - skládá se z kanálových instrukcí. Uložen v hlavní paměti počítače. Přístup k paměti má prioritní kanál proti CPU (kradení cyklů). Periferie jsou v kanálu na společné sběrnici (žádost o sběrnice při paralelní funkci) Současně může být aktivováno více kanálů. Vazba s CPU - vybuzení I/O instrukcí a adresou - zpětné hlášení přes přerušení 76
Příklad struktury: kanálu (selekt.) Průběh kanálového programu: PRG.UŽIV. READ PARAM. PŘÍPRAVA - tab.param - adr.vyr.pam. - adr.kan.prg. EXEC CPU 1. uloží adr. kanál. prg 2. vykoná START I/O 3. adr. kannál. prg. do čitače kanálu 4. konec -> INT I/O 5. ošetření INT PŘERUŠENÍ I/O KANÁL PRG. INT I/O sdílení času DALŠÍ PŘÍPR. - sled front - START I/O KANÁL 1. příjem I/O instr. z CPU 2. adresování I/O jedn. 3. výběr, dekód. a test příkazů 4. test stavu I/O 5. přenos dat do/z CPU 6. čítání příkazů, dat 7. zprac. INT od I/O 8. vyslání INT k CPU 77
Kanálové operace - programové a informační prostředky 1. Adresa kanálového programu K O adresa kanál. programu K-klíč ochrany oper.pam.při I/O instr. adr - záznam v přípr.fázi - vyhrazené místo v O.P. 2. Příkaz kanálového programu OPER adr.zač.vyr.p. Příz. 0 Poč.bytů příznaky: řetězení dat (ignor. typ oper.), řetězení příkazů, potlačení nesprávné délky, potlačení přenosu (akce bez dat), program.int. příkazy: zápis do O z pam., čtení/zápis do OP., specifikace chyby, skok, řízení (činnost bez dat) 3. Stavová informace o kanálu (po každé I/O operaci) K O adresa příkazu STAV Poč.bytů K - klíč ochrany kanálu adr - adresa dalšího příkazu (čitač instr.) Počet bytů - zbytek nepřenesených bytů 4. Řídící informace o jednotce obsahuje: adr.jednotky, adr.kanál.programu, příkaz kanál.programu, stav kanálu, stav jednotky 78
5. Stavová informace o programu Syst.M. K P PINT PM adr.instr. maska klíč příčina INT program. přeruš. z I/O příznaky maska 6. I/O instrukce OPER kanál podkanál I/O jedn. adresa operace: START I/O STAV I/O STOP I/O ověření stavu I/O Přerušení z I/O vznik INT v zařízení: 1. uvolnění zařízení 2. chyba jednotky vznik INT v kanálu: 1. chyba programu 2. program.int Do paměti se ukládá kompletní informace o stavu programu, I/O jednotky, příčinách INT aj. 79
5. I/O procesory Programem řízené počítače - paralelní procesory s CPU. K procesorům jsou připojeny kanály s I/O jednotkami. Obstarávají úplnou činnost: 1. CPU žádá o data IOP 2. CPU pokračuje v programu po odpovědi IOP 3. IOP provádí řízení, přenos dat, transformaci kódů, předzpracování aj. 4. Po ukončení oznámí CPU přerušením CPU PAM IOP P IOP P I/O I/O I/O I/O I/O I/O I/O I/O Každý IOP má svou vlastní paměť pro programy ošetření a pro data. Výsledná data předává do operační paměti. 80
2.4 3. Styk s přídavnými periferiemi Různá složitost periferií i způsob ovládání -> standartní styk Přizpůsobení standardního rozhraní k jednotce - řídící jednotka Standardní styk - elektrické propojení, posloupnost řídících signálů, informačních sig. a formátů dat KANÁL standardní styk I/O ŘADIČ I/O JEDN. I/O ŘADIČ I/O JEDN. specializovaný styk Linky standardního styku 1. univerzální - I/O pro informace 2. identifikační - co se přenáší (adr, příkaz, stav...) 3. sledovací - navázání spojení KANÁL <-> I/O jedn. 4. blokovací - udržují spojení " " " Aktivace kanálu: 1. adr. jednotky - potvrzení příjmu 2. " " zpět - komparace 3. příkaz o vyslání stavu I/O jedn.+ potvrzení kanálem 4. příkaz předání dat + potvrzení kanálem 5. opakování 4. 6. příkaz ukončení - I/O potvrdí + stav 81
Řídící jednotka periferie převod standardního styku na řízení konkrétního zařízení. Činnost: 1. dekód. instrukce a příkazy 2. generuje sekvenci řídících signálů 3. převádí formát a kód dat, kontroluje platnost 4. informuje CPU o stavu řízení jedn. 5. může řídit několik vnějších zařízení 2.4.4 Dálkový přenos a zpracování dat Používá se pro připojení terminálů, satelitů a I/O jedn. Prostředek: Telegraf 200 b/s Telefon 200-4800 b/s Širokopásm. spoje až 50000 b/s Rychlost přenosu v Baud = počet změn/s t.j.počet bitů/s Bd Pro telefonní a širokopásm. spoje - nutná modulace 82
MOD POČ VYSIL. MOD linka PŘIJ. UŽIV. pro telefon se moduluje kmitočtem 1-2 KHz modulace: amplitudová kmitočtová fázová Přenos: asynchronní - čas. interval mezi dvěma znaky není konstantní, start/stop bity u každého znaku, rychl. 110,300,600,1200,2400 Bd synchronní - čas. interval je stálý - začíná synchroznaky pak blokový přenos, rychlost > 4800 Bd Provoz: simplex (->), duplex (<->), poloduplex ( ) chyba: zajištění Σ, CRC Protokoly: BSC, SDLC, HDLC 83