210 likes | 337 Views
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
E N D
Számítógépek felépítése9. előadásI/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 a CPU „nélkül” végzi az átvitelt (interrupt) I/O processzor memóriához hozzáférés, CPU felfüggesztése, I/O program végrehajtása
Programozott I/O adatátvitel a CPU-n keresztül CPU port Memória I/O eszköz • 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)
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, ...)
Szó beolvasása programozott I/O-val(Intel 8080 példa) státuszinformáció az 1-es port-on, az adat, ha kész az eszköz, a 2-es port-on WAIT: IN 1 CPI ready JNZ WAIT IN 2 ... 1-es port-ról státuszinformáció beolvasása az akkumulátorba... összehasonlítása a „ready” konstanssal, ha egyenlő Z flag = 1 ha Z flag <> 1 ugrás WAIT-re adat beolvasása a 2-es port-ról ...
A programozott IO hátrányai 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... 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 adat a CPU-n halad keresztül, ahelyett hogy közvetlenül a memóriába jutna...
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...
Közvetlen memória hozzáférés(DMA - direct memory access) 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... nagysebességű eszközöknél...
Közvetlen memória hozzáférés központi memória címsín adatsín (1) (4) AR AC DC IOAR IODR DMA kérelem (2) (5) vezérlő vezérlő DMA engedélyezés (3) (6) CPU IO egység
Közvetlen memória hozzáférés Adatátviteli módok : • Tömb átvitel (DMA block transfer) • Cikluslopás (cycle stealing)
I/O processzor(IOP) programozott I/O CPU idő pazarlás... kevésbé rugalmas... közvetlen memória hozzáférés + IO utasítások végrehajtása IO műveletek végzése
I/O processzor(IOP) IOP : korlátozott (speciális IO) utasításkészletű feldolgozó egység PPU - Peripherial processing unit IOP = kommunikációs kapcsolat („csatorna - channel”) a központi memória és az IO eszközök között
CPU MEM IOP I/O-1 I/O-2 I/O-3 I/O processzor elvi működés IOP által végrehajtott utasítások (CCW) CPU által elindított IO művelet START_IO STOP_IO TEST_IO IOP-n keresztüli adatátvitel
CPU és IOP utasítások a memóriában CPU központi memória start_io CPU által végrehajtott utasítások ... test_io ... IOP a CPU „elindítja” az IOP-t IOP által végrehajtott CCW utasítások 07000400h ... ...
Blokk írása I/O processzor-ral (IBM System 360-370 IO program példa) 0 8 32 37 48 63 opcode abs. memory address flag - data count CCW - Channel Command Word CCW utasítások az IOP-nak szalag visszatekerés első rekord átugrása „buffer” címről 100 byte írása marker írása szalag visszatekerés, stop 07h. .40h. 37h. .40h. 01h.buffer .40h.100 1Fh. .40h. 07h. .00h.
I/O processzorok szervezése kapcsoló hálózat (crossbar switch) IO sín IOP IOP IO IO IO IOP IOP IO IO IO ... IO IO IO egy IOP - több lassú IO eszköz : multiplexer channel egy IOP - egy gyors IO eszköz : selector channel
egyég lehetőség(ek)...(periféria cache/puffer tároló) cache / puffer tároló CPU periféria MEM MEM
egyég lehetőség(ek)...(„periféria processzor”) I/O eszköz memóriája CPU periféria MEM MEM PU I/O eszköz processzora
egyég lehetőség(ek)...(„memória lefedés”) központi memória I/O eszköz memóriája a központi memória egy részét az eszköz memóriája „lefedi” eszköz
Összefoglalás • „megszakítás”... • CPU idő - gyorsaság - bonyolultság... • hardver / szoftver...