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. specializovaná Sběrnice/spoj
logicky - typ inf. vyhražena
univerzální
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.
PAM
CPU
I/O
I/O
I/O
I/O
38
I/O
I/O
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
CPU
křížový
přepínač
PAM
39
I/O
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í 3. ukončení obsazení
sběrnice
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 REGISTRY - STŘADAČ Pracovní registry indexregistry bázové registry. (2 až 64)
IR - instr.reg. AR - adres.reg. PC - program.čitač INKR - inkrement PC Σ - modifikace adr. 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, různá data SIMD
Pipeline procesor 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
registry
M2
cache
M3
OP
M4
M5
flash
disková
M6
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 = 210B) - v MB (220B) - v GB (230B) - v TB (240B) 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ů -> 2n 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 2n datový registr
Paměti s
- vyrovnávací paměť procesoru pro data čtená z OP resp. zapisovaná do OP
- rozděleným I/O - společným I/O
BRQ BACK RD/WR
RD
WR
READY ADR DATA
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 110
101 111
000 010
001 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 K chyb Kód pro opravu 1 chyby K chyb
- vzdálenost 2 " K+1 " 3 " 2K+1
indikace 2 chyb indikace 2K chyb
Kódy pro indikaci 1 chyby - kód. vzdál. 2 přidání paritního bitu - sudá/lichá sudá
kód 2 z 5
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
oblast parity P1
*
oblast parity P2
*
*
oblast parity P3
*
*
2
1
P1
*
*
*
* *
P2
P3
* *
Příklad: 8 4 2 1 P1 P2 P3 0 0 1 0 1 1 0
oblast P1 8 2 1 P1 0101 dobře
- sudá parita
oblast P2
8 4 1 P2 0001 chyba
8 v pořádku
oblast P3 8 4 2 P3 0010 chyba podezřelé 8a4
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 4b 8b l6b 32b 64b
kontrola - 4b - 5b - 6b - 7b - 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 HMR
UP
DMR - dolní hranice programu
MPR
HMR - horní hranice programu
DMR
OS
UP
- uživatelský program
OS
- operační systém
MPR - adresový registr
0
porovnává se obsah adr.reg. s obsahem DMR a HMR. Musí být v intervalu
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
Aef= NS.2d+ Ains 2d- 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ů VRCHOL UKAZATEL ZÁSOBNÍKU
DNO
Základní operace PUSH POP
- vložení položky + inkrement ukazatele - výběr položky + dekrement ukazatele
Př.: adr 1 001 1 002 1 003 1 004 SP
obsah 1 100 40
obsah 2 100 40
obsah 3 100
obsah 4 dno 100 ....
40
vrchol
7 1 002
1 003 PUSH 57
1 002 POP
1 001 POP
Ú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
Blokově asociativní buňka
PAMĚŤ. BUŇKA
PŘÍZNAK
HRADLA
RD
KOMPAR
KLÍČ DATA
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ÍČ
PAMĚŤ
REG.ADR.EKV.
ASOCIAT.
RD
REG.EKV.
ADR
ADR.REG
ASOCIAT. REG
REG. DAT
OUT
IN DATA
WR
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) POČ.A.
UKAZATEL ČTENÍ
PAM
UKAZATEL ZÁPISU
VP
KONC.A.
realizují se
- jako kruhové - jako dvoubránové (zrychluje přístup k datům) - spolupráce CPU a jednotek I/O
použití
Zápisníková paměť nejrychlejší - množina registrů, adresování vnitřně přes řadič CPU
7
0 7
dočasná paměť operandů, mezivýsledků výsledků
0
AX
AH
AL
STŘADAČ
DX
DH
DL
ADR I/O
CX
CH
CL
ČITAČ
BX
BH
BL
BÁZOVÉ
BP
REGISTRY
SI
INDEX
DI
REGISTRY
SP
UKAZ.ZÁSOBNÍK 15
0
60
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: y symetrická bloková architektura (typicky 64KB bloky) y velká kapacita (řádově MB) y vysoká rychlost (standardní funkce čtení z ROM ~ 70 ns) y blokové mazání obsahu (typicky ~ 1,5 s/blok) y bytový přepis obsahu (typická perioda řádově desítek µs). y Vcc=5V, typický odběr ze zdroje ~20 mA, při zápisu 10 mA y powerdown mód s minimálním odběrem (~ 0.2 µA). y v režimu čtení Vpp=VpL (0V), v režimu zápisu Vpp=VpH (12V) y lepší variantou než SRAM + baterie nebo než RAM disky. y režimy funkce paměti se definují zápisem příkazů y vnitřní automat (CUI) interpretuje příkazy vnitřní sekvencí y provedení příkazu je podmíněno nastavením řídicích signálů y 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 (Vpp=VpL). 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í Vpp=VpH 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í
1.cykl bě dat i z čtení
2.cykl sběrnice
adresy přepnutí do režimu čtení čtení/nulování stavového registru blokové mazání ukončení mazání zápis dat
pozn. v režimu čtení nebo po RESETu
zápis příkazu (bez adr) zápis příkazu (bez adr)
verifikace (čtení dat bez adr)
zápis příkazu s adr. bloku zápis příkazu (bez adr) zápis příkazu s adresou dat
potvrzení příkazu s adr.bloku potvrzení příkazu (bez adr) zápis dat s následné čtení adresou dat 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
meziblok. mezera
CRC
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) sektor
začátek stopy: index (soft) zvl.stopa (hard)
sada
stopa h povrch s 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
číslo zařízení
A2
adresa slova
S
Virtuální adresa
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
pož. perif. str.
A1 œ S &
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
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í
telefonní linka
69
MOD
POČ
MOD
1. přímo na I/O kanál 2. na sběrnici I/O kanálu 3. telefonní linkou - MODEM (modulace - demodulace)
POČ
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:
- 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
1. spouštěná
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
ŘADIČ . .
KANÁL
Ř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
program
OP
prac. reg.
program
R
I/O MAR
I/O
I/O sběrnice
MBR
OP
I/O
...
ŘAD 1.instr. (R) <- (I/O) 2.instr. (M) <- (R)
PROCESOR
Př:
72
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é.
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í
i i+1
Zvětšení vyrovnávací paměti: 1. zmenšení počtu přerušení 2. vyšší využití CPU
i obsluha I/O
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
HOLD
CPU
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:
PAM
PŘEPÍNAČ
CPU I/O
I/O
I/O
I/O
I/O
I/O
KANÁL 1
KANÁL 2
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 - softwar. složku
- specializovaný procesor řiditelný instrukcemi - 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ŘERUŠENÍ I/O
PŘÍPRAVA - tab.param - adr.vyr.pam. - adr.kan.prg. EXEC
DALŠÍ PŘÍPR. - sled front -
START I/O KANÁL PRG.
sdílení času
INT I/O
77
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 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
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
STAV
adresa příkazu
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
příčina INT maska klíč přeruš. z I/O příznaky
adr.instr.
program. maska
6. I/O instrukce
OPER
kanál
podkanál
I/O jedn.
adresa
operace:
START I/O STOP I/O
STAV 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
standardní styk KANÁL
I/O
I/O ŘADIČ
ŘADIČ
I/O JEDN.
I/O JEDN.
specializovaný styk
Linky standardního styku 1. univerzální 2. identifikační 3. sledovací 4. blokovací
- I/O pro informace - co se přenáší (adr, příkaz, stav....) - navázání spojení KANÁL <-> I/O jedn. - 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
PŘIJ.
linka
MOD
MOD
VYSIL.
POČ
UŽIV.
pro telefon se moduluje kmitočtem 1-2 KHz modulace:
amplitudová kmitočtová fázová
Přenos:
Provoz:
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
simplex (->), duplex (<->), poloduplex (
chyba: Protokoly:
zajištění Σ, CRC BSC, SDLC, HDLC
83
)