Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBarnabás Kiss Megváltozta több, mint 10 éve
1
Perifériák vezérlése Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
2
Perifériák kezelése A perifériák vezérléséért a perifériavezérlő felelős. A perifériavezérlő a CPU-val és memóriával a buszokon keresztül tartja a kapcsolatot, DE a perifériákkal külön vezérlővonalak kötik össze megj.: néha egyes feladatokért felelős kártyák is igénybe veszik ezeket, de ezek a kártyák a buszokat is tudják használni. Fontos tehát megvizsgálni, hogy a CPU hogy tudja elérni a perifériavezérlőt és a különböző perifériákat, vezérlőket, bővítőkártyákat.
3
A CPU adatokat küld, ír, fogad, a vezérlőből ill. olvas onnan.
A vezérlők az adatokat a vezérlő regiszterei (memória rekeszek) tárolják. Minden regiszternek van egy címe. A CPU fogja a címet és a BUSZ-ra helyezi, és olvasáskor ezen cím tartalmát olvassa be a buszról, íráskor pedig ráhelyezi arra a tartalmat. Kérdés hogy honnan tudja a perifériavezérlő hogy neki szól az adott cím?
4
Hogy éri el a CPU a perifériákat?
IO címzés: Ilyenkor a vezérlőbusz egyik vonala az I/O vonal kijelöli, hogy a buszon található címre a memória vagy a periféria reagálhat e. Ha a perifériának szól a címeken keresztül észe veszi ezt a vezérlő, ha nem akkor a memóriának szól.
5
Hogy jelzik a Perifériák igényüket a CPU-nak?
Megszakítás: a perifériák igényjelzése a vezérlő majd a CPU felé. Megszakítás típusai: hardveres szoftveres megszakítás. Megszakítás kérése: ez az a jelzési módszer amivel a CPU felé jelezhetnek a periféria vezérlők. Ezt angolul hívjuk IRQ –nak (Interrupt Request) hívjuk. Az IRQ a processzort az aktuális feldolgozási művelet átmeneti megszakítására, és a megszakításkezelő eljárás elindítására utasító jel. A megszakítást a periféria vezérlő az un. Megszakításkezelő segítségével teszi. Ez az a része a vezérlőnek, mely kapcsolatban áll azokkal a perifériákkal, bővítőkártyákkal, hardverelemekkel, melyek meghatározott feladatokat hajtanak végre. Minden ilyen eszközhöz van 1 sorszám rendelve – régen ez kötött volt, ma már dinamikusabban kapják a sorszámot az eszközök.
6
Alapértelmezett megszakítási sorszámok IRQ 0Rendszer időzítő IRQ 1Billentyűzet IRQ 2Másodlagos megszakításvezérlő IRQ 3Alapértelmezett COM2 és COM4 port IRQ 4Alapértelmezett COM1 és COM3 port IRQ 5LPT2 port IRQ 6Hajlékonylemez vezérlője IRQ 7LPT1 port IRQ 8RendszeróraIRQ 9Szabadon felhasználható IRQ 10Szabadon felhasználható IRQ 11Szabadon felhasználható IRQ 12PS/2 egér vagy szabad IRQ 13Matematikai társprocesszor IRQ 14Elsődleges merevlemezvezérlő IRQ 15Másodlagos merevlemezvezérlő
7
Megszakítás Kérés kiszolgálása
Minden eszközköz tartozik 1-1 program, ami az eszközt kiszolgálja. Azaz ha az eszköz megszakítást generál a saját kis programját kell lefuttatni. Ezeket a programokat a gép indulásakor az operációs rendszer betölti a memóriába, némelyik alapértelmezett eszközt már maga a BIOSZ pl. billentyűzet, merevlemez… A betöltött programok kezdőcíme a megszakítási vektor, az a táblázat mely a címeket tartalmazza a megszakítási táblázat.
8
Megszakítás Kérés kiszolgálása
Egy megszakítás kérésének kiszolgálása a következők szerint megy végbe: A megszakítást igénylő eszköz jelez a megszakításvezérlőnek. A megszakításvezérlő jelez a CPU-nak. A CPU befejezi az éppen végrehajtás alatt álló utasítást, majd az állapotát elmenti a memória egy kitüntetett területére, a verembe. (Ide kerülnek lementésre az adat és állapotregiszterek tartalma, a címregiszterek tartalma, különös tekintettel az utasításszámlálóra, mely azt a címet tartalmazza, ahonnan a CPU-nak majd folytatni kell a megszakított programot.)
9
Megszakítás Kérés kiszolgálása
A CPU visszajelez a megszakításvezérlőnek. A megszakításvezérlő elküldi a CPU-nak a megszakítást igénylő eszköz sorszámát. A CPU beolvassa a megszakítási vektortáblából az ehhez a sorszámhoz tartozó megszakítási vektort, és lefuttatja az ezen a címen található programot. (Tehát elindítja az eszközt kiszolgáló programot.) Miután befejezte a programot, kiolvassa a veremből az elmentett állapotot, és aszerint folytatja a félbehagyott programot.
10
Maszkolás Maszkolás: ha a megszakításvezérlő a maszkolt megszakítási kérelmet lát, azt nem továbbítja a CPU felé - -nem kerül kiszolgálásra. A processzor rendelkezik egy olyan megszakítást igénylő bemenettel is, amelyet nem lehet lemaszkolni, ennek az elnevezése: NMI (Non Maskable Interrupt).
11
Prioritások Prioritás: Ha egy megszakítást már kiszolgál a CPU, és közben érkezik egy újabb kérés, ez esetben a CPU úgynevezett prioritások alapján kezd el dolgozni. A prioritások kiosztásárért különféle módszer alapján „harcolhatnak” az eszközök. A prioritások száma alapján kapják meg a végrehajtáshoz szükséges erőforrásokat – így a CPU és memóriát is. Ezt hívjuk ERŐFORRÁSKIOSZTÁSNAK.
12
Szoftveres megszakítás
Amikor nem egy eszköz, hanem egy szoftver kér megszakítást, azt szoftveres megszakításnak hívjuk. Lényegében a megszakítási menete megegyezik a hardveres pontjában leírtakkal. Értelem szerűen ez esetben nincs megszakításvezérlő a folyamatban. Tipikusan a BIOSZ vagy DOS szolgáltatások érhetők így el. Pl: képernyő, soros vonal kezelés, konfiguráció…
13
A sorszámok és eszközök viszonya
Lehet –e több eszközt rendelni 1 sorszámhoz? Hagyományos értelemben nem lehet: 1 sorszámhoz 1 vektort találunk a táblázatban, de a mai rendszerekben viszont lehetséges, mert a közös sorszámot használó eszközöknél egy olyan programot futtat le a CPU, melyben lekérdezi ezeket az eszközöket, hogy melyik is okozta a megszakítást.
14
APIC Napjaink alaplapjain egy továbbfejlesztett megszakítás vezérlő áramkör szerepel, ez az APIC aza Adcanced Programmable Interrupt Controller – IRQ16-IRQ23 között szabadon felhasználhatja és kioszthatja a sorszámokat. Ezeket tetszés szerint további nem alapértelmezett eszközöknek adhatja. Pl: nem integrált - hangkártya, - videókártya, - hálózati kártyák - USB hubok …stb
15
Hálózati kártya PCI vezérlő kártya Tv tuner kártya USB eszközök Hangkártya Példa APIC által kiosztott nem alapértelmezett eszközök számára kiosztott címekre
16
Pooling Megszakítás nélkül is működhetne az élet, ha a CPU időnként körbekérdezi (ehhez az „időnként”-hez kell az óramegszakítás) ennek a neve pooling - az összes eszközt, hogy van-e valami igénye. Pl: Mintha 5 percenként kimennék a bejárati ajtóhoz, hogy áll-e valaki kint. Belátható, hogy kényelmesebb ha a kint lévő csengőt használ.
17
Megszakítás konfigurálása
Választ ad arra, hogy hogyan rendeljük az eszközökhöz a megszakítási sorszámokat, tehát hogyan konfiguráljuk a megszakítást. Erre 3 módszer alakult ki: hardveres - a felhasználó állítja be szoftveres - a felhasználó állítja be szoftveres - a BIOS vagy az operációs rendszer állítja be.
18
Hardveres megszakítás konfigurálása
Ez esetben magukon az eszközökön állítottuk be a megszakítási sorszámot. Mivel ez akkoriban egy 0 és 15 közötti szám volt, négy bitre vagy 4 darab kétállású kapcsolóra volt szükség A kapcsolók bonyolultsága miatt később bevezették a jumper használatát. Ez nem volt más, mint két kiálló tű, melyre ha ráhúztunk egy "sapkát", akkor rövidrezárta a tűket, így különböztetve meg a 0 és 1 állapotot. Természetesen a felhasználónak kellett megjegyeznie, hogy melyik eszköz melyik IRQ-t használja, és csak a szabad IRQ-kat állíthatta be, különben un. IRQ ütközés állt elő.
19
Példa a hardveres megszakítás konfigurálásra
20
Szoftveres – felhasználó beállítással
A második esetben már nem kellett csavarhúzó, csipesz a beállításhoz, mivel az adott eszköz (pl. hangkártya) programjának lehetett megmondani, hogy milyen IRQ-val működjön. Azonban ezt is a felhasználó írta be, tehát figyelni kellett az ütközésekre. Pl.: A következő képen a SET BLASTER sorban van megadva szoftveresen a megszakítás sorszáma ami I7).
22
Szoftveres – rendszer beállítással
A harmadik esetben már vagy a BIOS, vagy az operációs rendszer rendelte az eszközhöz az IRQ-t, és ezek már gondoskodtak az ütközések elkerüléséről. Az így beállítható kártyákat neveztük plug&play eszközöknek.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.