360 likes | 483 Views
Számítógépek felépítése 8. előadás sínrendszer, megszakítás. Dr. Istenes Zoltán ELTE-TTK. 8-9. előadás tartalma. Kapcsolatok, Input / Output Sínrendszer Megszakítási rendszer I/O Rendszerek Programozott I/O DMA I/O processzorok, csatornák. CPU, Memória, és még valami.
E N D
Számítógépek felépítése8. előadássínrendszer, megszakítás Dr. Istenes Zoltán ELTE-TTK
8-9. előadás tartalma • Kapcsolatok, Input / Output • Sínrendszer • Megszakítási rendszer • I/O Rendszerek • Programozott I/O • DMA • I/O processzorok, csatornák
CPU, Memória, és még valami... • Számítógép fő számítási funkciója csak a CPU-t és a Memóriát érinti. • CPU beolvassa az utasításokat és az adatokat a memóriából, feldolgozza majd az eredményt a memóriában tárolja... DE... Hogyan kerülnek az adatok a memóriába ?
Kapcsolat a „külvilággal” A kimeneti és bemeneti egység feladata : információ csere a CPU vagy a központi memória és a külvilág között... „külvilág” CPU MEM sín
A ki/bemeneti egység feladata • Kapcsolatok kezelése • Adatátvitel processzor ki/bemeneti eszköz input/output device I/O eszköz periféria memória I/O eszköz
Célok és problémák... Célok : • eszközök minél gyorsabb, „jobb” kiszolgálása... • a CPU minél kisebb leterhelése... Problémák : • eszközök (CPU - perifériák) eltérő sebessége... • eszközök különbözősége (kezelési mód)...
Eszközök... Kimeneti Bemeneti Be/kimeneti háttértárolók (lemezmeghajtók) nyomtató billentyűzet scanner képernyő hálózat (modem) egér CDROM és még sokan mások...
Eszközökkel való kapcsolat (kezelése) port-okon keresztül címsín adatsín port-ok parancs regiszter (c) c s d állapotjelző regiszter (s) adat ki/bemeneti regiszter (d) eszköz vezérlő
I/O eszközök (portok) elérése tárolóhoz rendelt módon (memory mapped addressing) : a központi memórián keresztül IO eszköz bizonyos címeket „felismer” CPU Memória I/O eszköz címsín adatsín közvetlen I/O utasítások : közvetlenül az eszközvezérlő regiszterébe CPU Memória I/O eszköz címsín adatsín Mem/IO
Sínrendszer feladata A sínrendszer feladata :adatok, vezérlőjelek továbbítása Átvitel létrehozásakor • eszközök kijelölése („cím” megadás...) • adatátvitel iránya • eszközök szinkronizálása (működésének összehangolása)
Sínrendszer struktúrája • Külső / belső sínrendszer (CPU-hoz képest) • Belső : (pld. 3 sín, külön adatsín írásra, olvasásra...) • Külső: • helyi sín (local bus) (pld. co-processzor) • rendszer sín (system bus) (pld. I/O) • memória sín (memory bus) • Sínrendszer részei : • Címsín • Adatsín • Vezérlősín
Sínrendszer(közös / külön IO sínrendszer) egyszeres osztott sín külön memória és ki/bemeneti sín CPU MEM CPU MEM rendszer sín (system bus) rendszer sín (system bus) I/O-n ... I/O-1 I/O-processzor ki/bemeneti sín (i/o bus) I/O-n ... I/O-1
Sínek... helyi sín belső sín CPU co-processzor cache vez ALU rendszer sín MEM MEM IO processzor IO sín IO eszköz IO eszköz IO eszköz
Vezérlő jelek (a vezérlősínen) • Adatátvitelt vezérlő jelek : • memória /periféria M/IO - cím a sínen • írás / olvasás R/W - adat a sínen • szó / byte átvitel WD/B - átvitel vége • Megszakítást vezérlő jelek • Sínvezérlő jelek (kérés, foglalás, visszaigazolás) • Egyéb... (órajel, ütemezés, táp,...)
Sínfoglalás (bus arbitration) Soros kiszolgálás (daisy chain) Lekérdezéses kiszolgálás (polling) Párhuzamos kiszolgálás (independent requesting)
Soros kiszolgálás (daisy chain) sínkérés (BREQ - bus request) sín engedélyezés (BG - bus grant) 0. eszköz 1. eszköz 2. eszköz busz vezérlő sín
Lekérdezéses kiszolgálás (polling) sínkérés (BREQ - bus request) lekérdező szám (polling count) 0. eszköz 1. eszköz 2. eszköz busz vezérlő sín
Párhuzamos kiszolgálás sínkérés (BREQ - bus request) sín engedélyezés (BG - bus grant) 0. eszköz 1. eszköz 2. eszköz busz vezérlő sín prioritás ?
...még a sínekhez kapcsolódik... • sínprotokoll (mechanikus, elektromos, logikai) • átlapolódó sínciklusok • blokk sínciklus (burst cycle) • sínfoglalás (bus arbitration) • Sínvezérlő (sínmeghajtó) egység (bus interface) • master / slave
aktív eszköz (master) passzív eszköz (slave) sínhasználatkezdeményezés sínhasználatvégrehajtás adat, utasítás processzor memória lebegőpontos utasítás I/O DMA co-processzor I/O eszköz adat A „sínhasználók”
Megszakítási rendszer Interrupt system
Megszakítások • „Váratlan események”... • megszakítás (interrupt) • megszakítási rendszer • megszakítási kérelem (IRQ - Interrupt Request) • megszakítási kérelem kiszolgálása Cél : • események gyors kezelése... • minél kevésbé zavarja a feldolgozást...
Megszakítási események kiváltója program hardver végrehajtás felfüggesztése a periféria működése közben végrehajtás közbeni hiba 0-val osztás túlcsordulás lapváltás aszinkron események szinkron események várható váratlan „kért működés” „hiba”
Megszakítás vs. kivétel megszakítás (interrupt) kivétel (exception) megszakítás kiszolgálása kivétel kiszolgálása n. utasítás n+1. utasítás n. utasítás kivétel megszakítás
Megszakítás kezelés folyamata • megszakítás engedélyezés • maszkolás • prioritás • megszakítható pont • megszakítás analízis (kiszolgáló rutin ?) • kód - tárcím - utasítás • állapotmentés • kiszolgálás • állapot visszaállítás
Maszkolás Maszkolás : bizonyos megszakítások „figyelmen kívül hagyása” megszakítási kérelmek engedélyezése / tiltása Maszkolható / nem maszkolható kérelmek
Megszakítás-engedélyezés • megszakítás kérés „maszkolása”... • prioritások kezelése : ha több megszakítás egyidőben ? • többszörös megszakításkezelés : ha újabb megszakítás a megszakításkezelés közben ? • a megszakítást okozó eszköz megállapítása :ki kérte a megszakítást ?
Többszörös megszakítás Egyszintű megszakítási rendszer : kiszolgáló rutin nem megszakítható Többszintű megszakítási rendszer : rutin-5 prioritás szint rutin-4 rutin-2 rutin-2 „normál” „normál” idő 2 5 4 prioritások megszakítás kérelmek
Megszakítás analízisA megszakítást kezdeményező eszköz megállapítása Szoftver módszer • operációs rendszer időnként megvizsgálja az eszközöket • „lekérdezéses megszakításkezelés” (polling interrupt) Hardver módszer • 1 megszakítási vonal... • több megszakítási vonal... • vektoros módszer : kiszolgáló rutin kezdőcíme...
Vektoros módszer(a megszakítást kezdeményező eszköz megállapítása) • kiszolgáló rutint elindító utasítás átadása (pld.: CALL INT_RUT) • kiszolgáló rutint elindító utasítás címének az átadása (pld.: ADR, ahol [ADR]=CALL INT_RUT) • kiszolgáló rutint címének az átadása (pld.: INT_RUT) • sorszám átadása :megszakítási vektortáblában rutinok kezdőcímei,sorszám mint index a táblázatban
Megszakítás vektor tábla memória 0 1 2 3 4 100 200 CALL 4 CPU CALL 100 adatsín CALL 200 INT REQ 2 CALL ... A eszköz beviteli rutin IO port 0 IO port 1 IO port 2 A eszköz kiviteli rutin A eszköz B eszköz B eszköz kiviteli rutin
Megszakítás kiszolgálásának lépései (hardver által 1.) processzor PC és PWS elmentése (5) eszköz PWS verem INT (1) megszakítás kezelő vezérlő PC IACK (2) vektor tábla kezdőcím a PC-be (7) IT megszakítási vektor sorszám (3) rutin kezdőcím a táblázatból (6) sorszám tárolás (4) adatsín
Megszakítás kiszolgálásának lépései (2.) állapotmentés Szoftver által : • regiszterek -> verem / memória • kiszolgáláshoz szükséges adatok összegyűjtése • megszakítás kiszolgálása, kezelése (kiszolgáló rutin lefutása...) • verem / memória -> regiszterek Hardver által : • PC és PSW visszaállítása kiszolgálás állapot visszaállítás