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
![Page 1: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/1.jpg)
1
Számítógépek felépítése9. előadás
I/O rendszerek
Dr. Istenes ZoltánELTE-TTK
![Page 2: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/2.jpg)
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)+
![Page 3: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/3.jpg)
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
![Page 4: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/4.jpg)
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, ...)
![Page 5: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/5.jpg)
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...
![Page 6: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/6.jpg)
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...
![Page 7: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/7.jpg)
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...
![Page 8: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/8.jpg)
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...
![Page 9: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/9.jpg)
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)
![Page 10: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/10.jpg)
10
Közvetlen memória hozzáférés
Adatátviteli módok :• Tömb átvitel (DMA block transfer)• Cikluslopás (cycle stealing)
![Page 11: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/11.jpg)
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...
![Page 12: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/12.jpg)
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
![Page 13: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/13.jpg)
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
![Page 14: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/14.jpg)
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
![Page 15: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/15.jpg)
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
![Page 16: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/16.jpg)
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
...
![Page 17: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/17.jpg)
17
egyég lehetőség(ek)...(periféria cache/puffer tároló)
MEM
MEM
CPU
periféria
cache / puffer tároló
![Page 18: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/18.jpg)
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
![Page 19: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/19.jpg)
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”
![Page 20: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/20.jpg)
20
Összefoglalás
• „megszakítás”...• CPU idő - gyorsaság - bonyolultság...• hardver / szoftver...
![Page 21: Számítógépek felépítése 9. előadás I/O rendszerek](https://reader036.vdocuments.net/reader036/viewer/2022081505/56815616550346895dc3d42c/html5/thumbnails/21.jpg)
21