Kalábovi

Kalábovic wikina

Uživatelské nástroje

Nástroje pro tento web


pitel:isz:principy_rizeni_a_pripojovani_perifernich_zarizeni

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

pitel:isz:principy_rizeni_a_pripojovani_perifernich_zarizeni [03. 07. 2012, 13.53:46] (aktuální)
Řádek 1: Řádek 1:
 +====== Principy řízení a připojování periferních zařízení ======
  
 +===== Sběrnice =====
 +Prostředek pro připojení zařízení v počítači. **Šířka sběrnice** je prakticky počet drátů sběrnice (kromě režijních signálů). **Rychlost sběrnice** je počet bitů přenášených na jednom drátě za sekundu. **Šířka pásma** je pak objem dat za jednotku času.
 +
 +Na sběrnici jsou tři typy informací: adresa, data a řízení. Řízení určuje operaci, adresa cíl operace (například že data mají přijít do RAMky a kam v té ramce) a data jsou jasná.
 +
 +==== Nesdílená sběrnice ====
 +Má pro adresu, data a řídící signály oddělené sady vodičů. Po vystavení adresy a dat se aktivuje signál (řídící),​ který říká, že jsou data na sběrnici úplná a lze je v pohodě číst. Např. ISA.
 +
 +==== Sdílená sběrnice ====
 +Používá stejné vodiče pro přenos adresy a dat. Musí se odlišovat, kdy je na sběrnici adresa a kdy data (k tomu slouží řídící signály). Např. PCI.
 +==== Systémová sběrnice ====
 +Slouží k připojení procesoru, řadiče prerušení,​ řadiče paměti, řadiče přímého přístupu do paměti (DMA), řadiče periferních zařízení,​ mostů mezi sběrnicemi.
 +
 +=== ISA (Industry Standard Architecture) ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​3/​36/​Isa1.jpg?​200 }}
 +[[wp>​Industry Standard Architecture]]
 +
 +Nesdílená systémová ​ sběrnice, dnes celkem zastaralá. Označuje se někdy AT bus. Umí přerušení,​ DMA, chybové signály... 16bitová, pak byla Extended ISA 32bitová. Nemá synchronizační signály.
 +
 +=== PCI (Peripheral Component Interconnect ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​6/​67/​PCI_Slots_Digon3.JPG?​200 }}
 +[[wp>​Conventional PCI]]
 +
 +Sdílená systémová sběrnice. Umí bus mastering: zařízení může řídit sběrnicit (stát se masterem). Umí plug and play. PCI-X je rychlejší verze. Má synchronizaci vedenou zvláštním vodičem.
 +
 +=== PCI-Express ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​f/​fc/​PCIExpress.jpg?​200 }}
 +[[wp>PCI Express]]
 +
 +Point-to-point architektura. Nejde ani o sběrnici -- na každé straně pci expressu je jen jedno zařízení. Přenos je sériový. Synchronizační signál je kódován do dat, používá kódování 8--10 FIXME. Šířka sběrnice je "​nastavitelná"​ (všimněte si, že na obrázku je každá jinak dlouhá), to se pak označuje jako násobek, např PCI-e 8×.
 +==== IO sběrnice (periferií) ====
 +Slouží k připojení periferií.
 +
 +=== Centronics ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​c/​c5/​Centronics.jpg?​200 }}
 +[[wp>​Micro ribbon]]
 +
 +Ubohá sběrnice pro připojení tiskárny. Nemá chybové slabiky, chyby indikuje stavem.
 +
 +=== IDE ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​c/​c4/​Ata_20070127_002.jpg?​200 }}
 +[[wp>​Parallel ATA]]
 +
 +Připojení disků (zastaralé). Jde o podmnožinu signálů ISA.
 +
 +=== SCSI ===
 +{{http://​upload.wikimedia.org/​wikipedia/​commons/​1/​1b/​Scsi-1_gehaeuse.jpg?​200 }}
 +[[wp>​SCSI]]
 +
 +Slouží pro připojení obecných zařízení (které umí SCSI :-)). Pro adresaci zařízení používá 1 z N (řadič má adresu např. ''​00000001'',​ první zařízení má ''​00000010''​ atd.).
 +
 +===== Řízení periferních zařízení =====
 +O to se stará **Řadič periferních zařízení**. Procesor řekne řadiči, že chce provést periferní operaci. Nastaví parametry a nakonec "start bit". Řadič kontroluje start bit a pokud je tam 1, začne provádět operaci na zařízení. Po dokončení může informovat procesor pomocí přerušení (lepší varianta), nebo výsledek vystaví na výstup a procesor ho pomocí tzv. pollingu programově (v nějakém cyklu) kontroluje (to zaměstnává procesor, horší varianta). Polling je **programová obsluha**.
 +
 +===== DMA (Direct Memory Access) =====
 +Zařízení může požádat o DMA (obvykle přes řadič DMA). Pokud dostane svolení, může zařízení přes sběrnici rovnou pracovat s pamětí.
 +
 +<note important>​Po otevření DMA komunikace mluví zařízení PŘÍMO s pamětí -- ani procesor, ani řadič DMA do toho už nezasahuje!</​note>​
 +===== Přerušení =====
 +[[wp>​Interrupt request]]
 +
 +Jde o mechanismus,​ kterým mohou zařízení asynchronně oznámit procesoru nějakou událost. Probíhá to tak, že zařízení kontaktuje řadic prerušení,​ který podle priority vybere nejdůležitější přerušení. Vyhledá si v tabulce adresu, kam má skočit v programu procesor pro obsluhu tohoto přerušení. Procesor obdrží informaci o přerušení spolu s touto adresou a postará se o obsluhu. Potom skočí zpátky.
 +
 +Opakem přerušení je polling -- neustále dotazování jestli někdo něco nechce. Používá se např. u USB.
 +
 +<note tip>To je jak rozdíl mezi manželkou a prostitutkou -- manželky se furt ptáte (polling) jestli nechce sex, ale jí furt bolí hlava, nebo musí ještě něco dodělat. Naproti tomu k prostitutce příjdete, zeptáte se, a ona hned všeho nechá a obslouží vás (IRQ).</​note>​
 +
 +===== Shrnutí (na co nezapomenout) =====
 +  * různé typy zařízení a odpovídajících zběrnic v průběhu času
 +  * se zařízením na sběrnici komunikuje řadič instruovaný procesorem, na jedné sběrnici může být víc zařízení
 +  * vědět: šířka sběrnice, rychlost sběrnice, šířka pásma
 +  * nesdílená (zvlášť dráty pro data, adresy, řízení) vs. sdílená (sdílí vodiče pro adresy a data)
 +  * systémové sběrnice jsou pro komunikaci cpu a hw karet -- tohle je sice ke sběrnicím,​ ale nespadá to moc do zadání samotné otázky, takže spíš to jen zmínit
 +    * ISA - nesdílená
 +    * PCI - sdílená, umí bus mastering a plug&​play,​ má synchronizační vodič
 +    * PCI Express - point-to-point architektura,​ sériový přenos, embedded clock
 +  * IO sběrnice - připojení periferií
 +    * Centronics - nemá chybové slabiky, stará
 +    * IDE
 +    * SCSI - pro připojení obecných zařízení,​ adresace 1 z N
 +  * zahájení operace - cpu nastaví parametry a start bit, řadič tento bit dokola kontroluje, při jedničce začne provádět operaci, po dokončení může vyvolat přerušení nebo nastaví nějaký registr (polling, programová obsluha)
 +  * DMA (direct memory access) - zařízení přes řadič DMA požádá o přímý přístup do paměti a pak přímo zapisuje do paměti (bez účasti cpu či řadiče)
 +  * přerušení využívá řadič přerušení a vektor přerušení podle priorit
 +
 +==== Co je třeba vědět kdyby se zeptali ====
 +  * PCI 16x znamená, že je tam paralelně 16 sériových přenosů, každý kabel má svoje vlastní řízení
 +  * chybová slabika je hodnota, kde každý bit indikuje přítomnost nějaké chyby, vyžádává se od zařízení po indikaci obecné chyby
 +  * při přerušení se uloží všechny registry do zásobníku,​ skočí se na adresu z vektoru přerušení,​ po dokončení obsluhy se zase vše obnoví
 +  * polling využívá napr. USB
/var/www/wiki/data/pages/pitel/isz/principy_rizeni_a_pripojovani_perifernich_zarizeni.txt · Poslední úprava: 03. 07. 2012, 13.53:46 (upraveno mimo DokuWiki)