je založena na komunikaci s registry (mezi univerzálním registrem procesoru (střádačem) a registry řadiče)
pozn. nelze realizovat přenos mezi registrem řadiče a pamětí! adresy obou prvků by musely být ve stejném okamžiku vystaveny na sběrnici
registr řadiče ⇒ universální registr procesoru
univerzální registr procesoru ⇒ paměť
podobně se pracuje při přenosech DMA (Direct Memory Address)
řídí ovšem řadič DMA ⇒ procesor je mimo hru (odpojen - ve stavu vysoké impedance)
viz dále
příklady řízení řadiče:
řadič PZ obsahuje stavový registr:
zapisuje se do něj i se z něj čte
počítač musí být schopen dát PZ najevo, že má začít provádět operace ⇒ start bit (součástí stavového registru)
počítač musí být schopen zjistit stav PZ
další variantou je, že PZ obsahuje navíc řídící registr
systémová sběrnice musí být vybavena signály, kterými jsou tyto operace řízeny ⇒ signály jsou generovány na základě I/O instrukce řadičem systémové sběrnice
dva způsoby adresace s registrů řadiče:
isolované vstupy/výstupy - instrukce IN a OUT
vstupy a výstupy mapované do paměťového prostoru - v případě, že bychom potřebovali namapovat např. 10 registrů a měli bychom dekodér pro 8 adres, je někdy možné zbylé dva registry namapovat v paměťovém prostoru, abychom ušetřili další komponentu
kompatibilita zdola - při přechodu na vyšší (rychlejší) typ sběrnice bylo třeba zachovat kompatibilitu se staršími řadiči (např. ISA ⇒ PCI)
je třeba brát v potaz časovou relaci mezi řídícími a datovými signály (nejprve vystavím data, pak zavelím zápis)
typy sběrnic:
nesdílená sběrnice - každý typ informace po vlastní sadě vodičů - ISA … *dedikovaná sběrnice AGP
sdílená sběrnice - všechny typy informací se posílají po jedné sadě vodičů - musí být identifikační signály - PCI
provedení:
rozvody na systémové desce
konektor systémové sběrnice - přes něj procesor komunikuje s řadiči PZ (některé PZ jsou na systémové desce)
2. Řadič PZ - Adaptér
zjišťuje stav PZ
autonomně (bez nutnosti procesoru) zahájí operaci na PZ
Komunikace s procesorem
komunikuje s procesorem přes registry řadiče - procesor do nich může zapisovat a číst z nich
komunikace probíhá na základě:
instrukce assembleru IN/OUT
činnosti řadiče DMA ⇒ automat, co umí totéž, co řadič sběrnice ⇒ poskytuje přenos dat z registrů řadiče PZ do hlavní paměti
jiného prvku počítače, který umí řídit sběrnici (např BUS master)
je třeba rozpoznat, že je daný řadič PZ adresován a zároveň který z jeho registrů
jsou potřeba vyrovnávací paměti řadiče (vyvažují rozdíl rychlostí procesoru a PZ)
IRDY - initiate ready
TRDY - target ready
prvek typu transceiver - vysílá data na sběrnici, přijímá data ze sběrnice
principy přidělování systémové sběrnice:
centralizované - v počítači existuje arbitr ⇒ přijímá požadavky od všech adaptérů a rozhoduje na základě priorit (např řadič DMA)
u PCI - signál REQ a GNT (grant) - funkci arbitra plní severní most (north bridge)
centrálně řízená sběrnice podle důležitosti požadavku ⇒ zařízení generuje žádost, arbitr mu pošle signál přiděleno/obsazeno
centrálně řízená sběrnice na výzvu - arbitr vysílá číslo, určené zařízení rozpozná a generuje signál sběrnice obsazena
centrálně řízená postupná obsluha sběrnice
decentralizované - distribuované - rozhodnutí provedou zařízení mezi sebou
každé zařízení má adresu - 1 z n ⇒ např. 8 bitové číslo, kde pouze jeden bit je aktivní ⇒ zároveň určuje i prioritu (větší/menší) - SCSI
⇒ pokud má sběrnici zařízení s nižší prioritou, musí uvolnit sběrnici, pokud o ni zažádá zařízení s vyšší prioritou
Komunikace s pamětí
prostřednictvím řadiče DMA
procesor je ve stavu vysoké impedance (řadič DMA mu pošle žádost o systémovou sběrnici ⇒ pokud procesor vyhoví, odpojí se)
Čtení
Zápis
Ukončení operace
po skončení operace PZ uvědomí řadič a řadič uvědomí procesor (bit konec operace), že operace byla skončena (pokud je nahlášena chyba, musí se operace opakovat)
procesor programově testuje bit konec operace - polling ⇒ vytěžuje to procesor
od bitu konec operace je generována žádost o přerušení do systémové sběrnice ⇒ počítač musí zajistit přenos stavové slabiky a případně slabiky závad ⇒ poté může následovat přenos dat z vyrovnávací paměti řadiče do operační paměti (nepřímo! ⇒ procesorem nebo řadičem DMA)
vnitřní přerušení - od PZ, které jsou na chipu procesoru
vnější přerušení - přes systémovou sběrnici
programové přerušení - instrukcí INTx (x je ukazatel do tabulky vektorů)
nemaskovatelné přerušení - přerušení mající vysokou prioritu
typy přerušení:
spouštěná hranou - pro každé PZ jeden vodič (pin)
spouštěná úrovní - více PZ sdružených do jednoho signálu - PCI
pro rozhodování mezi více přerušeními slouží řadič přerušení ⇒ posílá procesoru vektor přerušení (ukazatel do tabulky přerušovacích vektorů ⇒ adresy počátečních bodů obslužných rutin)
zjištění chyby:
stavová slabika (status byte) - bit any error
slabika závad (sense bit) - přesná informace o poruše
čím složitější PZ, tím více slabik závad
registry v nichž je uložena stavová informace, jsou adresovatelné ze strany procesoru
3. Komunikace po periferní sběrnici
SCSI, IDE (ATA), SATA, DVI
komunikace probíhá autonomně (bez nutnosti procesoru) ⇒ jsou to časově náročné operace
⇒ PZ jsou mechanická zařízení ⇒ provádí se asynchronně
možnost zahájení komunikace na více zařízeních - SCSI
A. Systémová rozhraní
řídí je řadič sběrnice a řadič DMA
dnes už existují prvky typu BUS master ⇒ umí řídit sběrnici
existují hierarchické struktury sběrnic:
system bus - nejrychlejší zařízení
highspeed bus - rychlá zařízení
extension bus - pomalejší zařízení
ISA
paralelní 16 bit sběrnice
šířka pásma - 10 MB/s
přerušení spouštěná hranou (omezený počet prvků, které se můžou připojit na sběrnici)
PCI
sdílená multiplexovaná sběrnice
paralelní (32bit nebo 64 bit)
zvýšené požadavky na rychlost a šířku sběrnice (kompatibilita zdola ⇒ možnost používat starší typy adaptérů)
spojuje rozhraní:
severní most (north bridge) - rychlá zařízení (RAM, procesor)
jižní most (south bridge) - pomalá zařízení (disky)
⇒ takto je vytvořena hierarchická struktura
příkazy sběrnice pro připojená zařízení:
I/O Read/Write
Memory Read/Write
možnost komunikace s RVP
Dual Address Cycle
umožňuje pracovat pomoci 32 bit sběrnice se 64 bit zařízeními
ve dvou cyklech
Skupiny signálů
systémové signály - CLK, RST
signály adresa a data
signály řízení rozhraní
signály řízení přidělování sběrnice - REQ#, GNT# (mřížka značí, že je signál aktivní v log '0')
čtení: dekodér (získá data a synchronizaci) ⇒ deserializér (paralelní data) +
zvyšování kapacity diskové paměti
zvyšování kvality záznamové vrstvy
zvyšování přesnosti vystavovacího mechanismu
hledání nových metod záznamu s menším počtem změn magnetizace
FM - Frequency modulation
data a dvojí synchronizační pulzy
nejhorší vzorek dat - samé log '1'
nejlepší vzorek dat - samé log '0' - nejnižší počet změn magnetizace
jde o záznam s vlastní synchronizací
nemožnost zvyšovat kmitočet záznamu ⇒ nové metody MFM
Signál cls se bere vždy a signál cld, když jsou data v log '1'.
MFM - Modified Frequency Modulation
je možno zvýšit až 2x hustotu záznamu
samé log '1' nebo log '0' tvoří nejhorší vzorek dat
v každém bitovém intervalu není aspoň jedna změna magnetizace ⇒ nejde o záznam s vlastní synchronizací ⇒ je třeba PLL (Phased Locekd Loop - fázový závěs) ⇒ prvek, který je schopný dát se sesynchronizovat a generovat signál o daném kmitočtu
Signál cls se bere, když jsou data v log '0' a signál cld, když jsou data v log '1'.
RLL - Run Length Limited
slouží k převodu binárních vzorů na RLL obrazy ⇒ jsou delší, ale obsahují menší počet změn magnetizace
Metody NRZ a NRZI
změna při přechodech 1-0, 0-1
změna při každé log '1'
Techniky PRML a EPRML
detekce signálu v jiných bodech než „špička - špička“
ST506/412
disk je bez vlastní inteligence ⇒ k práci vyžaduje podporu řadiče ⇒ umístěn na konektoru systémové sběrnice
je připojen přes:
řídící kabel - oběžníkový (sdílený)
datový kabel - vlastní pro každé zařízení
využívá MFM a RWC
k řízení slouží řada elementárních signálů
u ST412 možnost paralelního a autonomního vystavení
ESDI
využívá RLL 2,7
data se přenáší seriově ⇒ možnost zvyšovat kmitočet
IDE
řadič disku je integrován do stejné jednotky jako disková mechanika
podmnožina signálů sběrnice ISA (paralelní přenos)
připojuje se k South bridge (jižnímu mostu)
efektivnější řízení (cylinder skew a head skew)
adresovatelné registry jsou dostupné přes instrukce IN/OUT
registry:
řídící
datové
stavové - DF (device fault) x ERR (porucha dat)
umožňuje připojovat další zařízení IDE
EIDE
rozšíření IDE ⇒ větší rychlost (PIO mode 3)
využívá režim LBA - logical block addressing
třírozměrná adresace - registry válce, hlavy a sektoru
⇒ všechny tyto registry jsou viděny jako jeden registr ⇒ jednorozměrná adresace ⇒ řeší problém přístupu k větším kapacitám
SATA
seriové IDE (serial ATA - ATA je jiné označení pro IDE)
Nevýhody paralelních rozhraní
při postupném zvyšování rychlosti (kmitočtu) vzniká problém synchronizace (clock skew)
čím větší rychlost, tím větší přeslechy (cross talk)
při rozšiřování sběrnice se zvětšuje šířka kabelu (např SCSI z 8 bit na 32 bit)
je proto výhodnější přejít na seriové protokoly, které nabízejí další možnosti ve zvyšování rychlosti
využívá se diferenciální signál ⇒ na přijímací straně se vyhodnocuje rozdíl napětí mezi vodiči, ne úroveň napětí ⇒ případná indukce ovlivní oba vodiče stejný směrem, stejnou měrou ⇒ větší odolnost vůči přeslechům ⇒ vyšší synchronizace
využívá nižší napětí (+-250 mV místo +-12 V) ⇒ rychlejší přepnutí mezi stavy
možnost řešení clock skew ⇒ synchronizace se odvozuje z dat ⇒ embeded clock ⇒ SATA a PCI Express (x DVI)
jednoduchý kabel ⇒ snadná manipulace
⇒ seriové sběrnice jsou dnes viděny jako perspektivní
Vlastnosti SATA
synchronizační signál je zakódován do dat ⇒ využívá kódování 8b/10b ⇒ využívá metody RLL, kde nás zajímá co nejlepší vzorek dat:
256 původně 8 bitových vzorků je zakódováno do do 10 bitů (1024 možností)
z 1024 je 252 kombinací takových, že se v nich vyskytuje 5x log '0' a 5x log '1' ⇒ vyhovuje nám pro detekci chyb
4 zbylé možnosti musíme vzít jako 6x log '0' a 4x log '1' (a naopak) ⇒ musí se vzájemně kompenzovat, aby byl stejný počet nul a jedniček
⇒ chceme nulovou stejnosměrnou složku (potenciál)
⇒ můžeme sledovat průběžnou disparitu (záporná - více nul, kladná - více jedniček)
rychlost 1,5 Gb/s je ve skutečnosti 150 MB/s informace (je třeba dělit číslem 10 a ne 8)
registry:
superset registers - sledování a řízení stavu rozhraní (u IDE taskfile registers)
SStatus register
SError register
SControl register
Rozhraní monitorů
rozlišení - počet zobrazovaných bodů na celou obrazovku (např 640×480)
šířka pásma - kmitočet, jímž jsou zobrazovány body na obrazovce (např. 640 x 480 x 20) ⇒ vyšší rozlišení = vyšší šířka pásma
snímková synchronizace
horizontální - řádková
vertikální - snímková
zobrazování:
prokládané - staré monitory (střídaly se liché a sudé řádky)
neprokládané
komponenty, které se podílejí na šířce pásma
grafický adaptér
obsahuje videopaměť ⇒ určuje vybavovací dobu (jak rychle se čte z VRAM)
řídí ho řadič nebo grafický procesor
kabel
má vliv na šířku pásma
monitor
nemá v sobě žádnou inteligenci ⇒ na vstup mu přijdou informace o bodech (x LCD)
režimy činnosti grafického adaptéru
textový - znak a jeho atributy (barva a pozadí) ⇒ menší paměťová náročnost
bodový vzor znaku (8×14, 8×8)⇒ každý znak je reprezentován kódem znaku a jeho atributy (2 slabiky) ⇒ je rozdělen na rozkladové (rastrovací) řádky
fonty ukládány v ROM grafického adaptéru (případně v RAM - v BIOSu se dá přidávat)
grafický - informace o každém pixelu
typy monitorů
kompozitní - připojeny jedním koaxiálním kabelem (podobně jako TV přijímače)
digitální RGB monitory - pro každou složku (RGB) jeden vodič 23 = 8 barev
analogové RGB monitory
signál není dvoustavový, ale analogový (např 256 x 256 x 256 = 16 mil barev)
důležitá komponenta - DA převodník
VGA, SVGA
LCD monitory
řízení přes DVI ⇒ zpět na číslicovou formu, kódování 8b/10b (ale jinak než SATA) ⇒ vysoké rychlosti přenosu ⇒ vyšší šířka pásma ⇒ vyšší kvalita
vyšší úroveň inteligence
Principy tvorby obrazu
veškerá činnost je řízena grafickým adaptérem
CRT monitor
Cathode Ray Tube
DA převodník ⇒ vytvoří analogovou hodnotu
elektronové dělo
katoda - generuje elektrony
anoda - různě urychluje ⇒ intenzita
paprsky jsou různě vychylovány (horizontálně a vertikálně) ⇒ pozice
u barevných monitorů jsou 3 elektronová děla (RGB)
typy sběrnic:
VGA - 256 paletových registrů - každá barva 6 bitů
SVGA - každá barva 8 bitů - 16 mil barev
LCD monitor
v roce 1888 byly objeveny kapalné krystaly, které mění vlastnosti světla, které přes ně prochází
sendvičová struktura:
kapalný krystal uprostřed dvou vrstev
obsahuje TFT ⇒ Thin Film Transistor ⇒ pro každý bod jeden (sem přichází různé napětí ⇒ ovlivní intenzitu barvy)
každý subpixel má 3 tranzistory (RGB)
obsahuje navíc kondenzátor, aby napětí vydrželo co nejdéle
jednotlivé prvky jsou zasazeny do matice
vždy pouze jeden řádek je aktivní - gate line (výběrový vodič) - např. 20V
každému sloupci přijde napětí takové, jak intenzivně má svítit
možnosti tvorby obrazu:
aktivní matice
buzení segmentů - ke každému segmentu je přiveden vodič (digitální hodiny, …)
Grafický adaptér
Vývoj grafických adaptérů
kritéria:
umístění
kapacita
režimy činnosti (textový/grafický)
způsob řízení monitoru (číslicově/analogově)
možnost vkládání znakových sad (fontů)
systémová sběrnice
1. generace:
GA součástí systémové desky, včetně videopaměti (64 kB)
textový režim (nebylo možné definovat vlastní znakové sady)
černobílé
2. generace:
GA je již samotná komponenta ⇒ komunikace přes systémovou sběrnici (předchůdce ISA ⇒ pomalá)
postranní zpracování (využívá navíc 8 bitů SBA - Sideband Adressing ⇒ zatímco se jedny data nahrávají do procesrou, jiné se připravují)
⇒ zvyšování rychlosti: AGP 1x, 2x, 4x a 8x
⇒ z operační paměti se data přes AGP nahrávají rovnou do grafického adaptéru (z části pracuje jako VRAM)
6. generace:
sběrnice PCI Express a grafický adaptér ⇒ realizace spoje point to point vícekrát (každý spoj obousměrný, dedikovaný … např. 16x)
Grafický procesor
součástí grafického adaptéru ⇒ pro redukci objemu přenášených dat po systémové sběrnici
dobré řešení - PCI + grafický procesor (nevýhody PCI je sdílená ⇒ řešení AGP (viz. 5. generace GA))
stačí zasílat instrukce typu vykresli čáru, vykresli čtverec, … zadají se dva body a barva
vykreslování pak probíhá nezávisle na procesoru
spučasný zápis do VRAM ze strany grafického adaptéru a čtení z jejího obsahu řadičem CRTC (řadič monitoru CRT) ⇒ GP zapisuje pouze na adresy, z nichž se zrovna nečte
DVI
data se přenášejí v binární podobě (přechod zpět do digitální podoby - VGA ⇒ DVI) ⇒ LCD je řízena číslicově, tudíž by se musely provádět dva převody
složení
v konektoru jsou vyhrazeny pozice pro dva seriové spoje (Link 1 a Link 2) ⇒ kvůli clock skew
každý link obsahuje diferenciální spoj pro každou barvu (RGB)
po speciálních diferenciálním spoji je vedena synchronizace
formát dat - EDID - standard
přenos:
využívána technika TMDS - Transition Minimized Differential Signaling - snaha o omezení přechodů mezi logickými hodnotami (u notebooků LVDS)
⇒ data se překódovávají tak, aby obsahovaly co nejméně změn (log '0' → log '1' / log '1' → log '0')
9. bit indikuje, zda bylo něco změněno
10. bit indikuje zda bylo provedeno invertování nul a jedniček (je lepší 0000000001 než 1111111100 ⇒ aby byl potenciál přibližně na 0)
Univerzální rozhraní
SCSI
zavedla firma Macintosh - uznávaným standardem se stalo poté, co je začala používat firma IBM
paralelní (existuje i seriové)
jednotný způsob konstrukce PZ ⇒ unifikovaná množina příkazů
komunikace mezi počítačem a PZ probíhá pomocí signálních sledů - posloupnost jednoznačných příkazů (jeden signál může mít v různých sledech různý význam)
⇒ komunikace probíhá formou dotaz-odpověď
je nezávislý na zařízení
využívá distribuované přidělování sběrnice ⇒ adresace 1 z n ⇒ každé zařízení má unikátní adresu (např. 00000001 ⇒ jeden bit je aktivní) ⇒ zařízení si rozhodnou podle priorit, kdo bude mít nárok na systémovou sběrnici (není třeba centrální arbitr, je ovšem omezený prostor pro připojení PZ)
USB
Universal Serial Bus
problémy, které USB řeší:
připojování HW počítače byl dříve otravný proces (vypínání počítače, nastavování v BIOSu, …) ⇒ řešení USB - plug-and-play
možnost připojit málo PZ
přes stejný typ kabelu se připojí různé typy zařízení
umožňuje detekci chyb a zotavení
nenáročný komunikační protokol
lze sdružovat zařízení do jednoho USB
přenos synchronních i asynchronních (myš, klávesnice) přes jedno medium
low speed - 1.0
full speed - 1.1
high speed - 2.0
super speed - 3.0
druhy komponent:
komponenta device - rozšiřuje služby sběrnice (např. rozbočovač = hub - vytvoří rozšiřující plnohodnotné porty)
komponenta function - PZ - musí komunikovat podle stanovené normy
topologie připojení:
připojování zvukových zařízení (mikrofon):
analogový signál se musí převést na číslicovou hodnotu
izochronní datový tok - v pravidelných intervalech se posílají synchronní data
vysoké požadavky na přesnost ⇒ vzorkování ⇒ složitý proces (mohou nastat chvilkové deformace - nevadí)
u pomalých zařízení mohou nastat prodlevy (disky)
Připojení nového zařízení
kořenový rozbočovač rozpozná nové zařízení (změna kapacity) ⇒ přerušení OS
periodicky žádá zařízení o stavovou informaci (z nich to rozpozná)
nové zařízení obdrží adresu 0
OS rozpozná o jaké zařízení se jedná a jako šířku pásma bude potřebovat
přidělí novému zařízení adresu 1 - 127
adresu uloží do konfiguračního registru PZ
když odpojuje, vymaže toto zařízení ze svých tabulek
při odpojení rozbočovače jsou odpojena všechna jeho příslušící zařízení
Komunikace
veškerá komunikace se odehrává na základě výzvy od počítače - polling ⇒ zařízení může poslat zprávu do počítače, pokud je k tomu vyžádáno
rychlost přenosu na sdílené lince vždy odpovídá nejrychlejšímu připojenému členu
data pro pomalejší zařízení D se ukládají v rozbočovači A rychlosti HS (do zařízení pak putují rychlostí LS), aby nedocházelo ke zpomalování zařízení C
⇒ mezi rozbočovači se data přenášejí zásadně rychlostí HS
typy datových toků
řídící - control - konfigurace, připojení, …
nárazové - bulk - nepravidelně velké množství dat (tiskárna)
přerušované - interrupt - data musí být přenesena do nějaké určité doby od vzniku požadavku a s minimální garantovanou rychlostí přenosu
izochronní - isochronous - data v reálném čase, zvuk
využívá se technika kódování NRZI (pokud je log '0' změní se logická hodnota)
zároveň se využívá metoda vkládání (bit suffing) - pokud je za sebou 6 jedniček, vloží se 0 (aby nedošlo rozsynchronizování hodin)
Kabely
využívá se 4 vodičový kabel
VBUS - USB device power (+5V)
D+ - differential data line
D- - dufferential data line
GND - powe and signal groud
může poskytovat zařízením napájení (Bus-Powered) x (Self-Powered) - do jisté zátěže
typy konektoru
Series A - normální USB kabel
Series B - jak je na FITkit
typ 3.0 je mnohem složitější
Zařízení OTG
On-the-Go
zařízení spolu umí komunikovat bez nutnosti počítače
čím dále výkonnější procesory kladou větší nároky na připojené zařízení
lze na to pohlížet jako na sériovou variantu SCSI
první verze: není to sdílená sběrnice (data a synchronizace) - technologie TTL
vysoká rychlost přenosu
jednoduchý konektor
daisy chain
připojení technických prostředků a zařízení přes shodný komunikační protokol a sdílené technické komunikační prostředky (sběrnici) - jednoduše označováno jako „zapojení za sebou“
sériové spojení point-to-point
celková délka větve nesmí překročit 72 m (mezi jednotlivými uzly 4,5 m)
jako u USB se komunikuje pomocí paketů
přidělování sběrnice:
fair arbitration - jsou definovány intervaly, během nichž mohou abonenti žádat o sběrnici
urgent arbitration - zařízení, která mají vysokou prioritu, mohou během definovaného intervalu žádat o sběrnici násobně
Zdroj
Čerpal jsem ze svého sešitu, který vychází ze všech streamů a slajdů roku 2010 náležícím předmětu IPZ.