41
9. Fejezet: Input/Output The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons ©2003 Wilson Wong, Bentley College Linda Senne, Bentley College

9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input/Output

The Architecture of Computer Hardware and Systems Software:

An Information Technology Approach 3rd Edition, Irv Englander

John Wiley and Sons ©2003

Wilson Wong, Bentley CollegeLinda Senne, Bentley College

Page 2: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-2

AlapmodellFeldolgozási sebesség vagy program futtatás

Elsőként meghatározott az I/O műveletek által, hogy egyenesben tartsa a processzort

Input Feldolgozás Output

Page 3: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-3

Szempontok I/O műveletek megvalósításakorSebesség

CPU gyorsabban végzi el a műveleteket, mint a leggyorsabb I/O egységAz I/O egységek feldolgozási sebessége különböző Az adatok beérkezése nem egyenletes (burst-ös)Néhány eszköz igényli a blokkos adatátvitelt

Egységek összehangolása Különböző eszközök párhuzamosan hajtanak végre I/OműveleteketVáratlan input (beavatkozás) lehetőségeKülönböző formátuma az input adatoknakMinden eszköznek szüksége van státusz-információkra

Page 4: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-4

Szempontok I/O eszköz interfészekkialakítására

Különböző formátumokPárhuzamos interfaceSoros interface

Adatok puffereléseBurst vs. StreamKülönböző követelmények a vezérlésre

elektromechanikai elemek vezérlése

Page 5: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-5

Példák I/O egységekre

Page 6: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-6

Alap I/O konfiguráció

Page 7: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-7

I/O modulok funkcióiFelismeri az általa vezérlet egység(ek)től érkező hozzá címzett üzeneteket, és elfogadja a CPU- tól a parancsokatA memóriából származó adatokat átmenetileg tárolja a pufferben, amíg azt az I/O eszköz fel nem dolgozzaBiztosítja a DMA-hoz szükséges regisztereket és vezérlő funkciókatFizikailag vezérli az eszközöketA pufferből adatokat küld az eszköznek, ill. adatokat fogat a CPU-tól és eltárolja a pufferbeMegszakítások formájában jelzést küld a CPU számára az I/O folyamatok állapotáról

Page 8: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-8

Input/Output modulokProgramozott I/O

CPU által irányított I/OMegszakítás vezérelt I/O

Külső input vezérli a folyamatotDMA – Direct Memory Access controller: (Közvetlen memória-elérés vezérlő)

Módszer az adatátvitelre az eszköz és a (fő)memória között a CPU közreműködése nélkül

Page 9: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-9

Programozott I/O kezelésI/O adat és cím regiszterek a CPU-banEgy szónyi adat továbbításaAz összes I/O eszköznek van egyedi címe

LMC I/O kapacitás 100 eszközt tud kezelniEgy külön utasítás az fetch/execute ciklussalElsődleges használat:

billentyűzetkommunikáció I/O modulokkal (lásd DMA)

Page 10: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-10

Programozott I/O kezelés

Page 11: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-11

Programozott I/O példa

Page 12: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-12

Programozott I/O példa

Page 13: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-13

Megszakítások Jelzés, amely hatására a CPU megszakítja az aktuálisan végrehajtás alatt álló utasítássorozatot

Nem kell a CPU-nak az eseményekre várniIrányítja a külső inputokat

Használata (példák)Váratlan input események kezeléseAbnormális (hiba) szituációkIllegális (nem végrehajtható) utasításokMultiprogramozott működés (párhuzamos feldolgozás) esetén CPU időelosztás

Page 14: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-14

Megszakítás kezelése a CPU-banFetch/execute ciklusMegszakítás ciklus

Várakozás

START

Következő utasítás továbbítása

Utasításvégrehajtása

Ellenőrzés/Feldolgozás megszakítása

Interruptok tiltása

Page 15: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-15

Megszakítás terminológiaMegszakítás-csatornák (interrupt lines) (hardware)Megszakítás-kérelem (request)Megszakítás-kezelők (handlers)

Program, ami a megszakítás eseményeket kezeliMegszakításrutinnak is nevezik

Process Control Block (PCB) (Folyamat vezérlési blokk)

A memória egy részében tároljuk, amit stack-neknevezünkA CPU minden regiszterének tartalma itt tárolódik, mielőtt a vezérlés a megszakítás kezelő rutinhoz kerül

Page 16: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-16

MegszakításMegszakítás kiszolgálása

Feldolgozás alatt álló programot felfüggesztjükMenti a folyamat (program) folytatásához szükséges információkat, beleértve az utoljára végrehajtott utasítást, és a PCB-t(regiszterek)Ugrás a megszakítás-kezelőre

Page 17: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-17

Egy megszakítás szolgáltatás

Page 18: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-18

Megszakítások használataÉszreveszi egy külső esemény bekövetkezését

Valós idejű vagy idő érzékenyJel befejezés

Nyomatató kész vagy tele a bufferKiosztja a CPU idejét

IdőbeosztásAbnormális eseményeket idéz előIllegális műveletek, hardverhibaSzoftver megszakítás

Page 19: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-19

Összetett megszakításAzonosítja az egységeket

Lekérdezés (utánanéz az input torlódásnak)Vektoriális megszakítások (tartalmazza a megszakított eszközök címét)

Megszakítás prioritásAdatvesztés vs. Művelet-végrehajtás

Maszkolható (letiltott) megszakítások

Page 20: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-20

Vektoriális megszakítások

Page 21: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-21

Lekérdező megszakítások

Page 22: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-22

Összetett megszakítási példák

Page 23: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-23

Közvetlen memória hozzáférésNagy adatblokkok továbbítása Közvetlen átvitel az egységek közöttCPU nem vesz aktívan részt az átviteli körforgásban, folyamatbanKikötéseket igényel a DMA számára

Az I/O interfésznek és memóriának kapcsolódnia kell egymáshozAz I/O modulnak képesnek kell lennie a memóriából olvasni és abba írniAz ütközéseket a CPU és a I/O modulok között el kell kerülni

Page 24: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-24

DMA utasítás beállításA programalkalmazásnak szüksége van az operációsrendszer I/O szolgáltatásaira

Megkülönböztetett utasításokA DMA elindításához a programozott I/O-nak a következő utasításokat kell küldeni

1. Adat elhelyezése az I/O egységen2. A memória elhelyezésének kezdete3. A blokk nagysága4. olvasás/írásMegszakítja a CPU-t a befejezéskor

Page 25: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-25

DMA indítás és irányítás

Page 26: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-26

Alap CPU-memória-I/O ösvény*

Page 27: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-27

Bus beállítás

Page 28: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-28

Bus karakterisztikákAdatszélességet bit-ekbenEredmény, adatátviteli arány bit/ másodpercbenPontról pontra vs. TöbbpontosPárhuzamos vs. Soros HasználatTávolság Protokoll

Page 29: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-29

Bus hierarchia Processzor bus: chipenCache bus (hátsó oldali busz)Memória bus (elülső oldali busz)

összekapcsolja a memória alrendszereket és a processzort

Helyi I/O busA magas sebességű bus-ok a sebességorientáltan működő perifériákat köti összePéldák : PCI, VESA helyi bus

Szabvány I/O busA lassabb perifériákat köti össze (ISA) a helyi I/O bus-okkal

Page 30: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-30

Összeköttetések egy tipikusPC-ben

Bus interface bridge-ek:különböző típusú bus-okat kapcsolnak össze, átviszik az adatokat az egyik bus-ról a másikra

Page 31: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-31

Wintel bus-rendszerekISA: Industry Standard ArchitectureMCA: Micro Channel ArchitectureEISA: Extended Industry Standard ArchitectureHelyi Busz

PCI: Peripheral Component Interconnect (Apple, Sun, Compaq Alpha Server)VLB: VESA (Video Electronics Standards Association) helyi busz

AGP: Accelerated Graphics Port Közvetlen csatorna a grafikusvezérlő és a memória közöttLétezik PCI is

Page 32: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-32

Compaq 7000 és 10000 rendszer architektúra

Page 33: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-33

Külső interface bus-ok és portok

Párhuzamos portokSoros port

RS-232C és RS-422 buszokSCSI

Small Computer System InterfaceUSB, USB 2.0

Universal Serial BusIEEE 1394

Firewirei.link

Page 34: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-34

SCSI BuszANSI szabvány, de összetett variációkkalInkább I/O busz, mint egy szokásos interfész

Megengedi az összetett egységeket szimpla SCSIportról

Page 35: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-35

Root

Hub

Hub Hub

USBMultipoint(„többpontos”)buszok

A hubok lehetővé teszik az összetett kapcsolati-pontokataz I/O egységeknek127 eszközt, egységet támogat

Hub

Topológia példa

Page 36: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-36

USB és FireWire (IEEE 1394)Mindegyik soros, multipoint bus-osspecifikációHozzáadás/törlés egységek w/o lekapcsolásaCsomag protokoll „isochronous” adat átvitelhez

Isochronous: pontos időben történő szállításSpecifikált eredményeket garantál

Page 37: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-37

USB vs. FireWireUSB: lassú a közepes sebességű adat átviteli alkalmazásokhoz,tárolóegységek

12 Mbits/secUSB 2.0: nagysebességű adatátvitel

480Mbits/secFireWire: nagysebességű adatátvitel,videók hanggal

400 Mbits/sec-tól 3.2 Gbits/sec-ig

Page 38: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-38

Tipikus FireWire beállításHálózatjellegű karakterisztikaFüggetlen egységirányítás

Page 39: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-39

Csatorna architektúra Az IBM alapszámítógépeiben használjákCsatorna alrendszer

leválasztott I/O processzor, ami CPU-ként működik az I/O műveletekhezCsatornavezérlő parancsokProgram, ami adatokat szállít a memória és az I/O egységek között DMA-t használva

AlcsatornákEgy vagy két csatornán keresztül kapcsolódik egy irányítórendszer modulhozHasonló a feladat az egységirányítóhoz

Page 40: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-40

I/O csatorna architektúra

Page 41: 9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet: Input / Output 9-7 I/O modulok funkciói Felismeri az általa vezérlet egység(ek)tőlérkező

9. Fejezet: Input / Output 9-41

Copyright 2003 John Wiley & Sons

All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the permissions Department, John Wiley & Songs, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.”