9. Fejezet: Input/Outputrs1.sze.hu/~paalda/oktat/szg_arh/_other data/09_ch09_hun.pdf9. Fejezet:...

Preview:

Citation preview

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

Recommended