számítógépek felépítése 8. előadás sínrendszer, megszakítás
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
Számítógépek felépítése8. előadás
sínrendszer, megszakítás
Dr. Istenes ZoltánELTE-TTK
2
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
3
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...
Hogyan kerülnek az adatok a memóriába ?
DE...
4
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...
sín
CPU MEM
„külvilág”
5
A ki/bemeneti egység feladata
ki/bemeneti eszköz input/output device
I/O eszközperiféria
• Kapcsolatok kezelése• Adatátvitel
processzor
memória I/O eszköz
6
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)...
7
Eszközök...
Bemeneti Be/kimeneti Kimeneti
nyomtató
képernyő
billentyűzet
scanner
egér
háttértárolók(lemezmeghajtók)
hálózat(modem)
CDROM
és még sokan mások...
8
Eszközökkel való kapcsolat (kezelése) port-okon keresztül
címsín
adatsín
s d
port-ok
eszközvezérlő
cparancs regiszter (c)
állapotjelző regiszter (s)
adat ki/bemenetiregiszter (d)
9
I/O eszközök (portok) elérése
Memória I/O eszközCPU
címsínadatsín
Memória I/O eszközCPU
címsínadatsínMem/IO
IO eszközbizonyos címeket„felismer”
közvetlen I/O utasítások : közvetlenül az eszközvezérlő regiszterébe
tárolóhoz rendelt módon (memory mapped addressing) : a központi memórián keresztül
10
Sínrendszer
11
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)
12
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
13
Sínrendszer(közös / külön IO sínrendszer)
rendszer sín (system bus)
CPU MEM
I/O-1 I/O-n...
egyszeres osztott sín
rendszer sín (system bus)
CPU MEM
I/O-processzor
ki/bemeneti sín (i/o bus)
I/O-1 I/O-n...
külön memória és ki/bemeneti sín
14
Sínek...
CPU
ALU
co-processzor cache
MEM
IO processzor
MEM
vez
IO eszköz IO eszköz IO eszköz
belső sín
helyi sín
rendszer sín
IO sín
15
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,...)
16
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)
17
Soros kiszolgálás (daisy chain)
buszvezérlő
0.eszköz
1.eszköz
2.eszköz
sínkérés(BREQ - bus request)
sín engedélyezés(BG - bus grant)
sín
18
Lekérdezéses kiszolgálás (polling)
buszvezérlő
0.eszköz
1.eszköz
2.eszköz
sínkérés(BREQ - bus request)
lekérdező szám(polling count)
sín
19
Párhuzamos kiszolgálás
buszvezérlő
0.eszköz
1.eszköz
2.eszköz
sínkérés(BREQ - bus request)
sín engedélyezés(BG - bus grant)
sín
prioritás ?
20
...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
21
A „sínhasználók”
processzormemória
I/O eszközco-processzor
DMAI/Olebegőpontos
utasítás
adat, utasítás
adat
aktív eszköz(master)
sínhasználat kezdeményezés sínhasználat végrehajtás
passzív eszköz(slave)
22
Megszakítási rendszer
Interrupt system
23
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ásaCél :• események gyors kezelése...• minél kevésbé zavarja a feldolgozást...
24
Megszakítási események kiváltójaprogram hardver
végrehajtás közbeni hiba0-val osztástúlcsorduláslapváltás
szinkron események
végrehajtás felfüggesztése aperiféria működése közben
aszinkron események
várható váratlan„hiba”„kért működés”
25
Megszakítás vs. kivétel
megszakítás (interrupt) kivétel (exception)
n. utasítás n+1. utasítás
megszakítás kiszolgálása
megszakítás
n. utasítás
kivétel kiszolgálása
kivétel
26
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
27
Maszkolás
Maszkolható / nem maszkolható kérelmek
Maszkolás : bizonyos megszakítások „figyelmen kívül hagyása”megszakítási kérelmek engedélyezése / tiltása
28
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 ?
29
Többszörös megszakításEgyszintű megszakítási rendszer : kiszolgáló rutin
nem megszakíthatóTöbbszintű megszakítási rendszer :
rutin-2
rutin-5
rutin-4
rutin-2
megszakítás kérelmek2 5 4
idő
prioritásszint
„normál” „normál”
prioritások
30
Megszakítás analízisA megszakítást kezdeményező eszköz megállapítása
Szoftver módszer
Hardver módszer
• operációs rendszer időnként megvizsgálja az eszközöket „lekérdezéses megszakításkezelés” (polling interrupt)
• 1 megszakítási vonal...• több megszakítási vonal...• vektoros módszer : kiszolgáló rutin kezdőcíme...
31
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
32
Megszakítás vektor tábla
CALL 4 01234
100
200
CALL 100CALL 200CALL ...A eszköz
beviteli rutin
A eszközkiviteli rutin
B eszközkiviteli rutin
CPU
IO port 0 IO port 1 IO port 2
A eszköz B eszköz
INT REQ 2
memória
adatsín
33
Megszakítás kiszolgálásának lépései (hardver által 1.)
eszköz
vezérlőmegszakítás
kezelő
processzor
adatsín
INT (1)
IACK (2)
megszakításivektor
sorszám (3)sorszám tárolás (4)
PC
PWSverem
IT vektortábla
PC és PWSelmentése (5)
rutin kezdőcíma táblázatból (6)
kezdőcím a PC-be (7)
34
Megszakítás kiszolgálásának lépései (2.)
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 -> regiszterekHardver által :• PC és PSW visszaállítása
állapotmentés
állapot visszaállítás
kiszolgálás
35
I/O