1 / 21

Számítógépek felépítése 9. előadás I/O rendszerek

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

faunus
Download Presentation

Számítógépek felépítése 9. előadás I/O rendszerek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Számítógépek felépítése9. előadásI/O rendszerek Dr. Istenes Zoltán ELTE-TTK

  2. 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

  3. 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)

  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) 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 ...

  6. 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...

  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) 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...

  9. 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

  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) 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

  12. 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

  13. 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

  14. 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 ... ...

  15. 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.

  16. 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

  17. egyég lehetőség(ek)...(periféria cache/puffer tároló) cache / puffer tároló CPU periféria MEM MEM

  18. 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

  19. 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

  20. Összefoglalás • „megszakítás”... • CPU idő - gyorsaság - bonyolultság... • hardver / szoftver...

More Related