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
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
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
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
9. Fejezet: Input / Output 9-5
Példák I/O egységekre
9. Fejezet: Input / Output 9-6
Alap I/O konfiguráció
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
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
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)
9. Fejezet: Input / Output 9-10
Programozott I/O kezelés
9. Fejezet: Input / Output 9-11
Programozott I/O példa
9. Fejezet: Input / Output 9-12
Programozott I/O példa
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
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
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
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
9. Fejezet: Input / Output 9-17
Egy megszakítás szolgáltatás
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
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
9. Fejezet: Input / Output 9-20
Vektoriális megszakítások
9. Fejezet: Input / Output 9-21
Lekérdező megszakítások
9. Fejezet: Input / Output 9-22
Összetett megszakítási példák
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
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
9. Fejezet: Input / Output 9-25
DMA indítás és irányítás
9. Fejezet: Input / Output 9-26
Alap CPU-memória-I/O ösvény*
9. Fejezet: Input / Output 9-27
Bus beállítás
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
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
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
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
9. Fejezet: Input / Output 9-32
Compaq 7000 és 10000 rendszer architektúra
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
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
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
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
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
9. Fejezet: Input / Output 9-38
Tipikus FireWire beállításHálózatjellegű karakterisztikaFüggetlen egységirányítás
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
9. Fejezet: Input / Output 9-40
I/O csatorna architektúra
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.”