számítógépek felépítése 9. előadás i/o rendszerek
DESCRIPTION
Számítógépek felépítése 9. előadás I/O rendszerek. Dr. Istenes Zoltán ELTE-TTK. I/O rendszerek. Programozott I/O. teljesen a CPU irányítja az I/O műveleteket. Közvetlen memória hozzáférés. Megszakítás. +. (DMA - Direct Memory Access) CPU csak „elindítja”, aztán az I/O eszköz - PowerPoint PPT PresentationTRANSCRIPT
1
Számítógépek felépítése9. előadás
I/O rendszerek
Dr. Istenes ZoltánELTE-TTK
2
I/O rendszerek
teljesen a CPU irányítja az I/O műveleteket
(DMA - Direct Memory Access) CPU csak „elindítja”, aztán az I/O eszköza CPU „nélkül” végzi az átvitelt
Megszakítás
memóriához hozzáférés, CPU felfüggesztése, I/O program végrehajtása
Programozott I/O
Közvetlen memória hozzáférés
I/O processzor
(interrupt)+
3
Programozott I/O
CPU
I/O eszköz
port
• IO eszköz kiválasztása a címsínnel• IO port : egy adott (memória)cím memóriára leképzett IO (memory mapped IO)
Memória
adatátvitel a CPU-n keresztül
4
Programozott IO utasítások
• alapvető IO utasítások :– IN X : szó átvitele az X port-ról az akkumulátorba– OUT X : szó átvitele az akkumulátorból az X port-ra
• A beolvasott vagy kiírt szó lehet vezérlő, állapotjelző, stb. információ (a CPU nem értelmezi)
• egyéb IO utasítások (teszt, blokk átvitel, ...)
5
Szó beolvasása programozott I/O-val(Intel 8080 példa)
WAIT:IN 1
CPI ready
JNZ WAITIN 2...
státuszinformáció az 1-es port-on, az adat, ha kész az eszköz, a 2-es port-on
1-es port-ról státuszinformáció beolvasása az akkumulátorba...összehasonlítása a „ready” konstanssal,ha egyenlő Z flag = 1ha Z flag <> 1 ugrás WAIT-readat beolvasása a 2-es port-ról...
6
A programozott IO hátrányai
a CPU (feleslegesen) sok időt „veszít” az az eszköz állapotának a vizsgálatával és az adatátvitellel...
ha több (vizsgálandó) eszköz van...
az IO átvitel sebességét attól függ, hogy a CPU milyen gyorsan tudja az IO eszközt vizsgálni és kiszolgálni...
az adat a CPU-n halad keresztül, ahelyett hogy közvetlenül a memóriába jutna...
7
Megszakításos I/O
• az eszköz megszakítás kérelemmel jelez ha készen van... (CPU-nak nem kell várnia...)
• sok nagysebességű eszköznél (+blokkátvitel) használhatatlan...
8
Közvetlen memória hozzáférés(DMA - direct memory access)
nagysebességű eszközöknél...
CPU elindítja az átvitelt
DMA vezérlő önállóan irányítja az átvitelt(a tároló és az I/O eszköz között)
CPU - DMA közötti kapcsolat : megszakítások...
DMA : címsín, adatsín vezérlése...
9
Közvetlen memória hozzáférés
AR IODRIOARDCAC
adatsín
címsín
központi memória
vezérlő vezérlő
CPU IO egység
DMAkérelem
DMAengedélyezés
(1)
(2)
(3)
(5)
(6)
(4)
10
Közvetlen memória hozzáférés
Adatátviteli módok :• Tömb átvitel (DMA block transfer)• Cikluslopás (cycle stealing)
11
I/O processzor(IOP)
+ IO utasítások végrehajtásaIO műveletek végzése
programozott I/O
közvetlen memória hozzáférés
CPU idő pazarlás...
kevésbé rugalmas...
12
I/O processzor(IOP)
IOP = kommunikációs kapcsolat („csatorna - channel”)a központi memória és az IO eszközök között
PPU - Peripherial processing unit
IOP : korlátozott (speciális IO) utasításkészletű feldolgozó egység
13
I/O processzor elvi működés
CPU által elindítottIO művelet CPU MEM
IOP
I/O-1 I/O-2 I/O-3
IOP által végrehajtottutasítások (CCW)
IOP-n keresztüliadatátvitel
START_IOSTOP_IOTEST_IO
14
CPU és IOP utasítások a memóriábanközponti memóriaCPU
IOP
start_io...
test_io
...
...07000400h
...
CPU által végrehajtottutasítások
IOP általvégrehajtott CCW utasítások
a CPU „elindítja” az IOP-t
15
Blokk írása I/O processzor-ral (IBM System 360-370 IO program példa)
CCW - Channel Command Wordopcode abs. memory address flag - data count0 8 32 37 48 63
07h. .40h.37h. .40h.01h.buffer .40h.1001Fh. .40h.07h. .00h.
szalag visszatekeréselső rekord átugrása„buffer” címről 100 byte írásamarker írásaszalag visszatekerés, stop
CCW utasítások az IOP-nak
16
I/O processzorok szervezése
IOPIO IO IO
IOPIO IO IO
IO sín
IOP
IOP
IO IO IO
kapcsoló hálózat(crossbar switch)
egy IOP - több lassú IO eszköz : multiplexer channel
egy IOP - egy gyors IO eszköz : selector channel
...
17
egyég lehetőség(ek)...(periféria cache/puffer tároló)
MEM
MEM
CPU
periféria
cache / puffer tároló
18
egyég lehetőség(ek)...(„periféria processzor”)
MEM
MEM
I/O eszköz memóriájaCPU
I/O eszköz processzora
periféria
PU
19
egyég lehetőség(ek)...(„memória lefedés”)
központi memória I/O eszköz memóriája
eszköza központi memória egy részétaz eszköz memóriája„lefedi”
20
Összefoglalás
• „megszakítás”...• CPU idő - gyorsaság - bonyolultság...• hardver / szoftver...
21