Perif´eri´ak Bevitel-Kivitel S´ın
´ ak e´ s oper´acios ´ rendszerek Architektur´ Bevitel-Kivitel e´ s Perif´eri´ak ´ am, L˝orentey K´aroly Balogh Ad´ ¨ os ¨ Lor´and Tudom´anyegyetem Eotv Algoritmusok e´ s Alkalmaz´asaik Tansz´ek Budapest
2005. december 16.
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Tartalomjegyz´ek
1
Perif´eri´ak
2
Bevitel-Kivitel Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
3
S´ın ´ ak Topologi´
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Bevitel-Kivitel
´ ep ,,agy´arol” ´ besz´eltunk ¨ Mindeddig szinte csak a sz´am´ıtog´ ´ (processzor e´ s operat´ıv memoria) ´ ha nem tud a kulvil´ ¨ Az ,,agy” kev´ess´e haszn´alhato, aggal kommunik´alni ¨ eg van eszkoz ¨ okre, ¨ Szuks´ melyekkel adatokat tudunk ´ epbe, illetve kivinni onnan (perif´eri´ak) bevinni sz´am´ıtog´ ´ ´ a Valamilyen modon koordin´alni kell a kommunik´aciot ´ ¨ ott ¨ (s´ınek) processzor/memoria e´ s a perif´eri´ak koz
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Perif´eri´ak A perif´eri´akat haszn´alatuk c´elja szerint csoportos´ıthatjuk: H´att´ert´arak Merevlemezek Optikai h´att´ert´arak (CD, DVD) F´elvezet˝o alapu´ h´att´ert´arak (flash)
¨ ok ¨ Megjelen´ıt˝ok, kiviteli eszkoz ´ ¨ Kijelz˝ok (katodsug´ arcsoves e´ s folyad´ekkrist´alyos monitorok) ´ Nyomtatok ¨ ok ¨ Hangkelt˝o eszkoz
¨ ok ¨ Beviteli eszkoz ˝ Billentyuzet Eg´er Mikrofon Lapolvaso´
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Perif´eri´ak ´ ¨ ok ¨ H´alozati eszkoz ´ ¨ ok ¨ Vezet´ekes h´alozati eszkoz ,,Rezes” adat´atvitel (elektromos vezet˝o) ¨ Optikai adat´atvitel (uvegsz´ alas megold´asok)
¨ h´alozati ´ ¨ ok ¨ Vezet´ek n´elkuli eszkoz ¨ os ¨ kommunik´acio´ (IrDA) Infravor ´ R´adiofrekvenci´ as kapcsolat (WiFi, Bluetooth, stb.)
Egy´eb perif´eri´ak Id˝oz´ıt˝o V´eletlensz´am-gener´ator stb.
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
Tartalomjegyz´ek
1
Perif´eri´ak
2
Bevitel-Kivitel Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
3
S´ın ´ ak Topologi´
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
Programozott I/O A processzor speci´alis I/O utas´ıt´asok seg´ıts´eg´evel kiolvashatja illetve be´all´ıthatja a perif´eri´ak regisztereit ¨ pl. b´ajtonk´ent Az adat´atvitel a regisztereken keresztul, ¨ enik: tort´ Programozott adatkivitel ´ be a parancsregiszterbe a megfelel˝o kiviteli utas´ıt´as kodj´ ´ at Ird Am´ıg van m´eg ki´ırando´ adat: ¨ V´arj, m´ıg az a´ llapotregiszter szerint az eszkoz ¨ k´esz nem lesz a kovetkez˝ o b´ajt fogad´as´ara ´ ki az adatregiszterbe a kovetkez˝ ¨ Ird o b´ajtot
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
Programozott I/O ´ folyik: Az adatbevitel hasonloan ´ olvas´as eset´en egy parancsregiszterbe ki´ırjuk a H´att´ert´arrol beolvasni k´ıv´ant adatcsomag sorsz´am´at, majd a st´atusz- e´ s ´ adatregiszterekb˝ol a fenti modszerrel olvasunk ¨ (pl. billentyuzet) ˝ Egy´eb beviteli eszkoz eset´en rendszeresen ´ adat figyelni kell a st´atuszregiszter tartalm´at, e´ rkezett-e uj
¨ A programozott I/O viszonylag konnyen meg´ep´ıthet˝o, azonban kev´ess´e hat´ekony ˝ ¨ Az I/O muveletek a processzort terhelik, kozben m´as feladat nem v´egezhet˝o ¨ ok ¨ st´atuszregisztereit folyamatosan, sur ˝ u˝ A beviteli eszkoz ¨ onk´ ¨ ent ellen˝orizni kell, nem-e e´ rkezett id˝okozben ¨ ´ id˝okoz uj adat
Manaps´ag ink´abb csak be´agyazott rendszerekben tal´alkozhatunk ezzel a megold´assal Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
Megszak´ıt´asvez´erelt I/O K´ezenfekv˝o jav´ıt´as a folyamatos ellen˝orizget´es helyett ¨ hogy ha uj ´ adat e´ rkezett, egy megk´erni a beviteli eszkozt, megszak´ıt´as seg´ıts´eg´evel jelezzen a processzornak ¨ A megszak´ıt´as hat´as´ara a processzor felfuggeszti az e´ ppen futo´ folyamat v´egrehajt´as´at, e´ s egy speci´alis rutinra, a megszak´ıt´askezel˝ore ugrik ¨ onf´ ¨ ele eszkoz ¨ okr˝ ¨ ol e´ rkez˝o megszak´ıt´asokhoz A kul ¨ onb ¨ oz˝ ¨ o megszak´ıt´askezel˝o tartozik kul A processzor a megszak´ıt´as sorsz´ama alapj´an egy ´ keresi ki a megh´ıvando´ megszak´ıt´askezel˝o t´abl´azatbol c´ım´et
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
Megszak´ıt´asvez´erelt I/O ¨ onb ¨ oz˝ ¨ o eszkoz ¨ ok ¨ koz ¨ ott ¨ a rendszer firmware-je, vagy A kul ´ rendszer maga osztja sz´et a rendszer az oper´acios indul´asakor a rendelkez´esre a´ llo´ megszak´ıt´as-sz´amokat ¨ eszkoz ¨ is osztozni N´eha egy megszak´ıt´as-sz´amon tobb ¨ ilyenkor a megszak´ıt´askezel˝o rutinnak sorra k´enyszerul; ¨ ok ¨ on, ¨ hogy eldonthesse, ¨ v´egig kell menni ezeken az eszkoz ¨ melyik kuldte a megszak´ıt´ast
A megold´as mentes´ıti a processzort a tev´ekeny bevitelre ´ nincs szuks´ ¨ eg folyamatos lek´erdez´esekre v´arakoz´as alol: A tulajdonk´eppeni bevitel/kivitel azonban tov´abbra is terheli a processzort
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
¨ ´ Kozvetlen memoria-el´ er´es (DMA)
¨ a processzort a bevitel-kivitel Hogyan mentes´ıthetjuk ´ ekos elv´egz´ese alol? ´ aprol´ ¨ meg, hogy a perif´eri´ak kozvetlen ¨ ¨ el´erhess´ek az Engedjuk ul ´ at, e´ s saj´at maguk, a processzortol ´ operat´ıv memori´ ¨ ¨ olvashassanak e´ s ´ırhassanak benne fuggetlen ul Direct Memory Access, DMA ¨ Nagy tomeg u˝ adat hat´ekony a´ tvitel´et teszi lehet˝ov´e ´ ¨ Joval bonyolultabb eszkozvez´ erl˝o elektronik´at ig´enyel
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
¨ ´ Kozvetlen memoria-el´ er´es (DMA) ˝ ´ıgy a kovetkez˝ ¨ Egy adat´atviteli (pl. kiviteli) muvelet o l´ep´esekb˝ol a´ ll: 1
2
3 4
5
¨ parancsregisztereibe bele´ırja a A processzor az eszkoz ´ at e´ s az a´ tviend˝o adatokat t´arolo´ kiviteli utas´ıt´as kodj´ ´ ¨ (puffer) fizikai kezd˝oc´ım´et e´ s hossz´at memoriater ulet Ennek hat´as´ara a perif´eria vez´erl˝o elektronik´aja ¨ ¨ a memori´ ´ abol ´ elkezdi kiolvassa a puffer adatait kozvetlen ul ¨ Ekozben a processzor m´as feladatot v´egezhet Ha a perif´eria a puffer v´eg´ere e´ rt, megszak´ıt´assal jelzi az adat´atvitel befejez˝od´es´et A megszak´ıt´askezel˝o rutin tudom´asul veszi az adat´atvitel ´ adat´atvitelbe kezd v´eg´et, e´ s esetleg uj
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
RAM
CPU
S´ın
Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
¨ ´ Kozvetlen memoria-el´ er´es (DMA)
´ A perif´eri´ak memoria-el´ er´esei a´ ltal´aban priorit´ast e´ lveznek a processzor el´er´eseihez k´epest ¨ ok ¨ kev´esb´e toler´alj´ak a k´esleltet´est, mint a Az I/O eszkoz processzor
¨ ¨ Ha nagytomeg u˝ adatot tov´abb´ıtunk DMA-n keresztul, ¨ ok ¨ memoriael´ ´ el˝ofordul, hogy az eszkoz er´esei miatt a CPU ¨ ´ıgy a rendszer lelassul v´arakozni k´enyszerul, ´ A megold´as m´egis joval hat´ekonyabb, mint a programozott I/O
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
I/O processzorok
¨ M´eg nagyobb hat´ekonys´agra tehetunk szert, ha a perif´eri´akat saj´at, programozhato´ processzorokkal l´atjuk el ¨ ´ıgy ak´ar bizonyos feldolgozom ´ uveleteket ˝ Az eszkoz saj´at maga is elv´egezhet A CPU-nak ilyenkor nincs m´as dolga, mint az elv´egzend˝o programot eljuttatni a perif´eri´anak ´ epek perif´eri´ai IBM zSeries nagysz´am´ıtog´ Megjelen´ıt´est vez´erl˝o grafikus seg´edprocesszorok
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
´ ak Topologi´
Tartalomjegyz´ek
1
Perif´eri´ak
2
Bevitel-Kivitel Programozott I/O Megszak´ıt´asvez´erelt I/O ¨ ´ Kozvetlen memoria-el´ er´es (DMA) I/O processzorok
3
S´ın ´ ak Topologi´
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
´ ak Topologi´
S´ın
´ ´ ep r´eszegys´egei koz ¨ otti ¨ A s´ın (m´as szoval busz) a sz´am´ıtog´ ¨ ¨ est biztos´ıto´ megold´as osszek ot´ ´ Minden s´ınt´ıpus saj´at csatlakozokat, k´abeleket e´ s saj´at protokollt defini´al az adatok tov´abb´ıt´as´ara ˝ esetben a s´ın n´eh´any tucat r´ezvezet´ek, Legegyszerubb melyre a r´eszegys´egek mindegyike r´acsatlakozik
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
´ ak Topologi´
¨ ıt´esben a memoria ´ ¨ on ¨ Els˝o megkozel´ e´ s a perif´eri´ak el´er´es´et kul s´ınekkel biztos´ıtjuk Csak programozott I/O-t tesz lehet˝ov´e, esetleg megszak´ıt´asvez´erl´essel ´ at A perif´eri´ak nem e´ rhetik el a memori´ ´ ¨ ott ¨ gyorsabb lehet az A processzor e´ s a memoria koz ¨ ¨ es osszek ot´ Perif´eria RAM
CPU Perif´eria
Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
´ ak Topologi´
˝ ıthetjuk ¨ a rendszerunket, ¨ ¨ Egyszerus´ ha a k´et s´ınt osszevonjuk: ¨ ok ¨ a CPU c´ımtartom´any´anak bizonyos Az eszkoz ¨ v´alhatnak el´erhet˝ov´e tartom´anyain keresztul Ak´ar DMA is lehets´eges ¨ os ¨ s´ınen a kommunik´acio´ koz ¨ os ¨ sebess´egen zajlik A koz ´ ¨ ¨ ¨ A processzor orajel´ et novelni csak az osszes eszkozzel ¨ lehet egyutt RAM
CPU
Perif´eria
Perif´eria
Balogh – L˝orentey
Perif´eria
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
¨ oz´ ¨ esek´ent A k´et megold´as otv ism´et haszn´aljunk k´et s´ınt, de a s´ıneket ne a processzorral, hanem egy speci´alis ¨ ¨ uk ¨ eszkozzel, a h´ıddal koss ¨ ossze
´ ak Topologi´
CPU
´ a processzor-RAM koz ¨ ott ¨ Igy tetsz˝olegesen gyors ¨ kapcsolatot l´etes´ıthetunk ¨ ok ¨ a h´ıdon Az eszkoz ¨ kommunik´alhatnak keresztul a processzorral, ill. e´ rhetik el a ´ at memori´
Balogh – L˝orentey
Perif´eria
H´ıd
RAM
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eria
Perif´eria
Perif´eri´ak Bevitel-Kivitel S´ın
´ ak Topologi´
´ epek tobbs´ ¨ ¨ A mai sz´am´ıtog´ eg´eben ilyen tobbszint u˝ s´ınrendszereket haszn´alnak ¨ ujabb ´ Gyakran tov´abbi h´ıdakon keresztul s´ınek a´ gaznak le Tipikus eset: Northbridge: CPU, RAM, e´ s a grafikus seg´edprocesszor ¨ otti ¨ kommunik´aciot ´ vez´erl˝o s´ın koz ¨ Southbridge: A Northbridge e´ s az al´abbi s´ınek kozti ´ vez´erl˝o eszkoz ¨ (lassabb) kommunik´aciot PCI (Periferial Control Interconnect, sokfajta perif´eria) ´ r´egimodi ´ ISA (Industry Standard Architecture, lassu, ¨ ok) ¨ eszkoz IDE (Integrated Drive Electronics, h´att´ert´arak) SCSI (Small Computer System Interface, h´att´ert´arak) ¨ o eszkoz ¨ ok, ¨ faszerkezet) USB (Universal Serial Bus, kuls˝ ¨ o eszkoz ¨ ok, ¨ multim´edia, soros l´ancol´as) FireWire (kuls˝ CardBus (notebook g´epek b˝ov´ıt˝ok´ary´ai) Balogh – L˝orentey
Bevitel-Kivitel e´ s Perif´eri´ak
Perif´eri´ak Bevitel-Kivitel S´ın
CPU
´ ak Topologi´
RAM
PCI
Northbridge
Southbridge
AGP
IDE
Balogh – L˝orentey
USB
Perif´eria
Bevitel-Kivitel e´ s Perif´eri´ak