O čem bude předmět X36PZ A? Úvodní přednáška 1. část 1
Obsah přednášky Obsah předmětu. V/V vs. periferní zařízení, vyjasnění pojmů. V její 2. části: Terminologie interfejsingu, programování V/V.
Základní součásti předmětu Vstupně výstupní (V/V) podsystém, připojování periferních zařízení (interfejsing). Vnější paměti. Výstupní zařízení. Vstupní zařízení.
Studijní materiály Webové stránky předmětu na SERVICE. Doporučuji přečíst, text, na který bude odkaz v každém.ppt přednášky. Přečtení Vámi budu předpokládat. Skriptum: Periferní zařízení, Autor: Miroslav Šnorek Vydavatel: Vydavatelství ČVUT, Zikova 4, 166 36Praha 6, Rozsah: 162 stran Wikipedia, Internet. S dobrým svědomím nemohu doporučit Tahák na studentském serveru. Některé odpovědi jsou špatně.
Vývoj nazírání na V/V podsystém von Neumannova představa... Pomocí..vstupně výstupního ústrojí bude lidský operátor a stroj vzájemně komunikovat. Dnešní představa kromě vlastního přenosu dat také sledování stavu aktuálních přenosů, rozhodování o momentálním přiřazení HW, podpora moderních periferií.
Terminologická poznámka I. Pojem V/V zařízení (anglicky I/O Device) každý, doufám, intuitivně chápe. V předmětu se budeme zabývat i principy činnosti vnějších pamětí. Pro nás tedy: periferní zařízení periferie = V/V zařízení + vnější paměti.
Terminologická poznámka II. V/V podsystém = periferní zařízení + HW i SW počítače podporující jeho činnost. Další komplikace : Periferie = vlastní zařízení + řadič. Rozhraní, interfejs, komunikační cesta.
Obrázkem: Periferie Viz Pluháček: X36JPO nebo 36NLP
Příklad periferie I. vnější paměť řadič vlastní zařízení
Příklad periferie II. řadič vlastní zařízení
Osnova přednášek O čem je předmět? Programování V/V. PC architektura; úvod do PCI, PCI inovace. Jiné V/V architektury: stavebnice, minipočítače, kanály. V/V v operačním systému; drajvry. Vnější paměti: magnetický i optický princip, kódování, konstrukční celky. Architektura vnějších pamětí, rozhraní. Zabezpečení proti chybám: RSPC. Obrazový podsystém; barevné modely, principy elektrooptických měničů. Obrazový podsystém; řadiče, akcelerátory. Tiskárny; principy barevného tisku, ovládání, interpolace. Klávesnice, myši, tačpedy, digitizéry. Snímače obrazů, čárové kódy, RFID. Komprese obrazů. Zvuk včetně komprese.
Osnova cvičení Interfejsové obvody I.: adresový dekodér. Interfejsové obvody I.: V/V brána. Interfejsové obvody II.: RS 232 C, Centronics. Interfejsové obvody II.: USB, SCSI; nesymetrické napájení. Interfejs PZ na PCI. Drajvr jednoduchého řadiče UART. Řadič diskety. Zadání laboratorních cvičení, rezerva. Laboratorní cvičení 1. Laboratorní cvičení 2. Laboratorní cvičení 3. Řadič disku. Hodnocení referátů, zápočet.
Zkouška Zohledňuje práci v semestru, ve cvičeních. Forma písemná. Hromadné termíny, po jednom v každém týdnu zkouškového období v červnu. Budou stanoveny v 10. týdnu semestru. Kapacita? Podle dostupné učebny (209?). Opravný termín v 1. týdnu zkouškového období v září.
Programování V/ V (nejnižší úroveň) Jaké prostředky mají procesory pro provádění vstupně/výstupních operací?
Obsah přednášky Terminologie interfejsingu (průběžně). Synchronizace přenosu údajů rozhraním. V/V programování: IN, OUT model, MOV model, SIO model. Synchronizace součinnosti procesoru a periferního zařízení. Elektrické zobrazení signálů signaling. Druhy údajů přenášených rozhraním.
Terminologie interfejsingu I. Interfejs. Sběrnice x dvoubodový spoj. Adresová, datová, řídicí sběrnice. Brána. Multiplexovaná/oddělená sběrnice. Procesorová, systémová, lokální, V/V sběrnice.
Interfejs? = interface = rozhraní = propojení = styk = mezixicht. Společná část sdílená dvěma systémy, zařízeními nebo programy. Zahrnuje i prvky této hranice a doplňko vé řídicí obvody určené k jejich propojení.
Sběrnice x dvoubodový spoj Anglicky: Bus, point to point connection.
Ale pozor! Point to point není totéž co peer to peer! Peer to peer arch. = rovný s rovným a k tomu protějšek je architektura klient server!
Sběrnice opakování
Multiplexovaná sběrnice? Arbitrační podsystém PCI host AD[0..31] Slot 1 4 IRQ Slot 2 4 Slot 3 Adresy a data časově multiplexované Slot 4 4 4 Přerušovací podsystém
Terminologie interfejsingu II. Komponenty sběrnice: adresová komponenta: V/V, paměťová adresa, datová komponenta, řídicí/stavová komponenta, přerušení, DMA a další.
Brána, anglicky port Buňka v adresovatelném prostoru V/V zařízení nebo paměti. Stavební prvek interfejsingu. Obecně je to 8/16/32 b buňka, registr, ale... uvidíme, že někdy se bez klopných obvodů obejde. Vstupní brána Výstupní brána Podrobnosti ve cvičeních.
Sběrnice x dvoubodový spoj Sběrnice D voubodový spoj
Jiný příklad (z PC prostředí): Pozor! Tohle je dvoubodový spoj! Sběrnice
Ještě další? ISA, PCI, PCI X, SCSI, USB a mnoho jiných. RS 232, Centronics, PCIe a mnoho jiných. Ve vlastním zájmu tuto tabulku během studia předmětu doplňujte!
Procesorová, systémová, lokální, V/V sběrnice Která z nich je ta: procesorová? FSB, BSB lokální? FSB systémová? FSB V/V? PCI, ISA Zobecnění? Sami!
Synchronizace přenosu údajů rozhraním
Možnosti synchronní, asynchronní, pseudosynchronní přenos údajů. Podrobnosti viz 2. přednáška (PC architektura)
V/V programování
1. studie IN, OUT model? Typicky: procesory Intel
Formát instrukcí IN, OUT IN dest, source OUT dest, source Jeden operand registr procesoru, druhý adresa V/V brány.
Příklad IN 1. 3. 2. Kolik instrukcí bude zapotřebí?
Terminologie interfejsingu Komponenty sběrnice: adresová komponenta: V/V, paměťová adresa, datová komponenta, řídicí/stavová komponenta, REQ/GNT, neboli žádost/potvrzení: IRQi, INT/INTA, DRQi/DACK (a další).
Jednotlivé komponenty sběrnice Adresová sběrnice Datová sběrnice IOW# IOR# MEMW# MEMR# Řídicí sběrnice
Důsledek: oddělené adresové prostory Adresové prostory: registry procesoru paměť V/ V brány
2. studie MOV model? Typicky: procesory Motorola
Formát instrukce MOV MOV dest, source Jeden operand registr procesoru, druhý adresa v paměti. Obrovskou výhodou jsou nejrůznější adresovací módy, které tato instrukce podporuje!
Důsledek: společný adresový prostor V/ V brány jsou mapované do paměti Adresové prostory: registry procesoru paměť
Jednotlivé komponenty sběrnice Adresová sběrnice Datová sběrnice MEMW# Řídicí sběrnice MEMR#
3. studie SIO model IBM 360/370 60. léta 20. století
Trochu modernější varianta... Paměťový podsystém 8B Instrukční procesor 8B Kanálový podsystém Servisní podsystém IBM 4300 90. léta 20. století 1B
Instrukce SIO (její formát) SIO X 00E Touto instrukcí se spouští provádění kanálového programu pro kanál 0 a periferii 0E. Ukazatel na jeho začátek musí být v CAW (implicitní adresa 72).
Další V/V instrukce počítače s kanálem: TIO adrk, adrz Adresace stejná jako u SIO, má vliv na PSW (Program Status Word). Testuje stav adresované V/V aktivity. HIO adrk, adrz Násilně ukončí adresovanou V/V aktivitu.
Diskuse 3. studie Toto jsou (obvykle) všechny V/V instrukce. Všimněte si: instrukce V/V aktivitu spouští, ale neprovádí! Samotný přenos údajů s touto V/V instrukcí související provádí kanál podle kanálového programu. Ten tvoří posloupnost kanálových příkazů.
Synchronizace součinnosti procesoru a periferie
Vycházejme z toho, že procesor neumí nic jiného, než pracovat podle předem připraveného programu, nebo reagovat na (vnější) přerušení (startem obslužného programu).
Příklad programovaného V/V PC platforma, programujeme například vstup spojitých dat prostřednictvím multifunkční karty. Mohli jsme si ale vybrat jiný problém...
Její programátorský model Start konverze Konec konverze
Vývojový diagram synchronizace přenosu automatický start převodu Tento typ synchronizace anglicky polling. čti na stav převodu ukončen? + Jak se od něj liší sampling: Návod: viz Doporučuji přečíst! provedení přenosu dat
Příklad programu CYEOC: IN EXIT: AL, STAV REG čti stav TEST AL, TEST MASH maska LOOPZ CYEOC konec konverze? IN AX, DX čti data MOV [DI], AX ulož do paměti CMP DI, LIMIT konec? JZ EXIT ano INC DI ne INC DI ukazatel+2 JMP CYEOC opakuj.
Jsou i jiné možnosti synchronizace? Ano! Kromě programovaného V/V dat můžeme ještě použít: V/V s přerušením, angl. Interrupt driven I/O, V/V pomocí DMA, DMA driven I/O, V/V pomocí specializovaného procesoru.
V/V s přerušením
Problém: Procesor musí uložit informace o právě probíhajícím programu (aby se po zpracování přerušení mohl vrátit) a to něco stojí (čas). Řadič přerušení vnutí procesoru vektor přerušení, ze kterého se odvodí startovací adresa obsluhy. I to něco stojí.
PC implementace přerušovacího podsystému
Důsledek: Propustnost počítačového systému častými přerušeními utrpí. Otázka: k jakému typu přenosu se tento typ synchronizace hodí? Nepravidelný, znakově orientovaný přenos údajů.
Implementace V/V pomocí DMA
Problém: Záleží na tom, jak je DMA implementován. Možnosti jsou: zastavovaným procesorem, kradením cyklů, transparentní DMA.
PC implementace DMA U PC je použito zastavování procesoru (HOLD/HLDA).
Jak dlouho tahle akce trvá?
Důsledek I.: Při dlouhém DMA přenosu by mohl být procesor zastaven na velmi dlouho, stará PC: neobnovovaly by se dynamické paměti (automatický refreš 0. kanálem DMA). Proto se cykly DMA a procesoru u PC neustále střídají (vyhodnocuje se priorita DMA kanálů). DMA přenos se tak prokládá procesorovými cykly, což efektivnost DMA přenosu dramaticky snižuje.
Důsledek II.: Navíc: přepínání mastera (viz dále) sběrnice (procesor/dma řadič) trvá u intelských obvodů neúměrně dlouho. DMA se u PC používá jen pro diskety a zvukovky. IDE DMA (současná PC) je vyřešeno jinak. Nicméně otázka: k jakému typu přenosu se tento typ synchronizace hodí? Pro pravidelný, blokově orientovaný přenos údajů.
Signaling, tj. obvodové řešení
Budič sběrnice k terminologii obousměrný jednosměrný
Studie konfliktu na sběrnicovém vodiči Se vstupy není problém, ale na výstupech je zkrat! 1 Vstupy Výstupy 0 +Vcc +Vcc Řešení?
Signálový vodič OC x 3S k terminologii +Vcc +Vcc Bus line Bus line Vin OE OC Otevřený kolektor 3S Třístavový výstup OE = Output Enable
Signálové vodiče symbolika Jeden signál Více signálů stejného typu (paralelně) Data platná Signály na vodičích jsou ve 3.S Mimochodem: tohle je protokol PCI čtení dat
Který použijete kdy? OC: Několik jednotek může současně vysílat signál ( agresivní nulu) na týž vodič. Hodí se pro neadresné signály typu REQ (žádost), ACK (potvrzení) nebo signály připojující jednotky stejného typu (např. paměťové čipy). 3S: Vysílá pouze ta jednotka, která to má povoleno. Které signály z obrázku PC architektura patří do které skupiny? OC: IRDY#, TRDY#, DEVSEL#; 3S: AD, C/BE#
Typické signálové charakteristiky a jejich vztah k rychlosti Česká terminologie: symetrický nesymetrický vstup/výstup. Další podrobnosti na cvičeních.
Doporučuji přečíst 00intro.pdf na serveru Service
Další otázky ke kapitole Pro jaké typy signálů (uveďte příklad signálů libovolné sběrnice) se hodí realizace obvodem OC (otevř. kolektor)? Totéž pro 3S (s třístavový výstup)? V čem se liší symetrický a nesymetrický vstup/výstup? Kterou variantu rozhraní zvolíte pro dosažení vyšší rychlosti přenosu dat? Symetrickou, nesymetrickou, žádnou z obou, protože tyto varianty nemají na rychlost žádný vliv. Z hlediska V/V programování rozlišujeme 3 základní počítačové architektury. Pojmenujte je!