O čem bude předmět X36PZ A? Úvodní přednáška 1. část
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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í.
X36PZA Periferní zařízení M. Šnorek
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ě.
X36PZA Periferní zařízení M. Šnorek
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í.
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
Obrázkem: Periferie
Viz Pluháček: X36JPO nebo 36NLP
X36PZA Periferní zařízení M. Šnorek
Příklad periferie I. vnější paměť řadič
vlastní zařízení
X36PZA Periferní zařízení M. Šnorek
Příklad periferie II. vlastní zařízení
řadič
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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áří.
X36PZA Periferní zařízení M. Šnorek
Programování V/ V (nejnižší úroveň) Jaké prostředky mají procesory pro provádění vstupně/výstupních operací?
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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ňkové řídicí obvody určené k jejich propojení.
X36PZA Periferní zařízení M. Šnorek
Sběrnice x dvoubodový spoj
Anglicky: • Bus, • pointtopoint connection.
X36PZA Periferní zařízení M. Šnorek
Ale pozor! • Pointtopoint • není totéž co • peertopeer! • Peertopeer arch. = rovný s rovným • a k tomu protějšek je • architektura klientserver!
X36PZA Periferní zařízení M. Šnorek
Sběrnice opakování
X36PZA Periferní zařízení M. Šnorek
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
X36PZA Periferní zařízení M. Šnorek
Terminologie interfejsingu II. • Komponenty sběrnice: – adresová komponenta: V/V, paměťová adresa, – datová komponenta, – řídicí/stavová komponenta, • přerušení, • DMA a • další.
X36PZA Periferní zařízení M. Šnorek
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
Podrobnosti ve cvičeních.
X36PZA Periferní zařízení M. Šnorek
Výstupní brána
Sběrnice x dvoubodový spoj
Sběrnice
D voubodový spoj
X36PZA Periferní zařízení M. Šnorek
Jiný příklad (z PC prostředí):
Pozor! Tohle je dvoubodový spoj!
Sběrnice
X36PZA Periferní zařízení M. Šnorek
Ještě další? • • • • • •
ISA, PCI, PCIX, SCSI, USB … a mnoho jiných.
• • • •
RS232, Centronics, PCIe … a mnoho jiných.
Ve vlastním zájmu tuto tabulku během studia předmětu doplňujte!
X36PZA Periferní zařízení M. Šnorek
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!
X36PZA Periferní zařízení M. Šnorek
Synchronizace přenosu údajů rozhraním
X36PZA Periferní zařízení M. Šnorek
Možnosti • synchronní,
• asynchronní,
• pseudosynchronní přenos údajů.
Podrobnosti viz 2. přednáška (PC architektura)
X36PZA Periferní zařízení M. Šnorek
V/V programování
X36PZA Periferní zařízení M. Šnorek
1. studie IN, OUT model
?
Typicky: procesory Intel
X36PZA Periferní zařízení M. Šnorek
Formát instrukcí IN, OUT
IN
dest, source
OUT
dest, source
Jeden operand registr procesoru, druhý adresa V/V brány.
X36PZA Periferní zařízení M. Šnorek
Příklad IN 1.
3.
2.
Kolik instrukcí bude zapotřebí?
X36PZA Periferní zařízení M. Šnorek
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ší).
X36PZA Periferní zařízení M. Šnorek
Jednotlivé komponenty sběrnice Adresová sběrnice
Datová sběrnice IOW# IOR# MEMW# MEMR#
Řídicí sběrnice
X36PZA Periferní zařízení M. Šnorek
Důsledek: oddělené adresové prostory Adresové prostory:
registry procesoru paměť
V/ V brány
X36PZA Periferní zařízení M. Šnorek
2. studie MOV model
?
Typicky: procesory Motorola
X36PZA Periferní zařízení M. Šnorek
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!
X36PZA Periferní zařízení M. Šnorek
Důsledek: společný adresový prostor Adresové prostory:
V/ V brány jsou mapované do paměti
registry procesoru paměť
X36PZA Periferní zařízení M. Šnorek
Jednotlivé komponenty sběrnice Adresová sběrnice
Datová sběrnice MEMW# MEMR#
Řídicí sběrnice
X36PZA Periferní zařízení M. Šnorek
3. studie SIO model
IBM 360/370 60. léta 20. století
X36PZA Periferní zařízení M. Šnorek
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í
X36PZA Periferní zařízení M. Šnorek
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).
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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ů.
X36PZA Periferní zařízení M. Šnorek
Synchronizace součinnosti procesoru a periferie
X36PZA Periferní zařízení M. Šnorek
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).
X36PZA Periferní zařízení M. Šnorek
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 ...
X36PZA Periferní zařízení M. Šnorek
Její programátorský model Start konverze
Konec konverze
X36PZA Periferní zařízení M. Šnorek
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
X36PZA Periferní zařízení M. Šnorek
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
.
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
V/V s přerušením
X36PZA Periferní zařízení M. Šnorek
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í.
X36PZA Periferní zařízení M. Šnorek
PC implementace přerušovacího podsystému
X36PZA Periferní zařízení M. Šnorek
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ů.
X36PZA Periferní zařízení M. Šnorek
Implementace V/V pomocí DMA
X36PZA Periferní zařízení M. Šnorek
Problém: • Záleží na tom, jak je DMA implementován. • Možnosti jsou: – zastavovaným procesorem, – kradením cyklů, – transparentní DMA.
X36PZA Periferní zařízení M. Šnorek
PC implementace DMA
U PC je použito zastavování procesoru (HOLD/HLDA).
X36PZA Periferní zařízení M. Šnorek
Jak dlouho tahle akce trvá?
X36PZA Periferní zařízení M. Šnorek
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.
X36PZA Periferní zařízení M. Šnorek
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ů.
X36PZA Periferní zařízení M. Šnorek
Signaling, tj. obvodové řešení
X36PZA Periferní zařízení M. Šnorek
Budič sběrnice – k terminologii obousměrný
jednosměrný
X36PZA Periferní zařízení M. Šnorek
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í?
X36PZA Periferní zařízení M. Šnorek
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
X36PZA Periferní zařízení M. Šnorek
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
X36PZA Periferní zařízení M. Šnorek
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#
X36PZA Periferní zařízení M. Šnorek
Typické signálové charakteristiky a jejich vztah k rychlosti
Česká terminologie: symetrický nesymetrický vstup/výstup. Další podrobnosti na cvičeních ….
X36PZA Periferní zařízení M. Šnorek
Doporučuji přečíst • 00intro.pdf na serveru Service
X36PZA Periferní zařízení M. Šnorek
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!
X36PZA Periferní zařízení M. Šnorek