SzA12. A processzor részvételével zajló I/O rendszer Flashcards
Mi az I/O rendszer fogalma?
A processzor-memória együttest a külvilággal összekapcsoló rendszer
Fejlődése
- a processzor vezérelte a perifériákat
- az I/O modul vezérelte a perifériákat: wait for flag
- az I/O modul vezérli a perifériákat: megszakításos üzemmódban
- DMA -> közvetlen memória hozzáférés
- Csatorna: I/O célú utasításokat dolgoz fel, közben a központi operatív tárat használja
- I/O processzor: I/O célú utasításokat dolgoz fel, saját operatív tárral rendelkezik
I/O fajtái
CPU részvételével programozott I/O
- Az I/O műveleteket a CPU által irányítottan történik
- Az I/O műveletekhez CPU utasítás tartozik
- Előnye: megvalósítás egyszerű
- Hátránya: terheli a CPU-t
CPU nélkül plusz vezérlő egység kerül a rendszerbe, olyan képesség, hogy adatblokkokat tudjon vinni -> vezérlő tudjon:
- memória címeket generálni
- képes legyen a rendszerbuszon adatátvitelre
- képes legyen buszfoglalásra
- buszmester funkció
A programozott I/O, a különálló I/O címtér és az I/O port
Fogalma: minden egyes I/O művelethez a processzor egy-egy utasítást hajt végre.
- ugyanazon a címsínen keresztül haladnak a memóriacímek és az I/O címek is (rendszersín)
- létezik egy M/I/O vezérlővezeték, mely megmondja, hogy az adott időpillanatban memória- vagy I/O-cím van a címsínen
- mivel két különálló címtérről van szó, ugyanaz a cím szerepelhet memóriacímként és I/O címként is
- azon regisztereket, amelyeken keresztül a processzor a perifériákkal kommunikálhat, I/O portnak nevezzük
- az I/O port fizikailag a vezérlőkártyában helyezkedik el
I/O port regiszterei
- command regiszter
- bemeneti adatregiszer: data input
- data output
- állapot regiszter
- jelenlét ellenőrző regiszter
- eszköz tulajdonságait tartalmazó regiszter (Plug & Play adatok)
- plusz regiszterek
A különálló I/O címtér megvalósítása (AC-n keresztül szállítjuk az adatot, lassú)
következmény:
- a memória műveletekre load/store utasítások
- az I/O műveletekre, pedig speciális I/O utasítások szolgálnak. pl.: Intel esetén:
- In X: a processzor olvassa be az X című I/O port adatregiszterét az AC-ba
- Out X: a processzor írja be az AC tartalmát az X című I/O port adatregiszterébe
értékelés:
előny: egyszerű, olcsó a megvalósítása
hátrány: a processzor részt vesz a kommunikációban és az AC szűk keresztmetszetet jelent nagy tömegű I/O számára Ezt az eljárást minden mai architektúra alkalmazza (pl.: billentyűzet, soros és párhuzamos port)
A memóriában leképezett I/O címtér
• jellemzője: o a megosztás: a processzor memóriakezelő utasítással (load/store) éri el azt a közös memóriaterületet, amit a periféria is kezelhet o a perifériának hozzá kell férni a rendszersínhez -> igen gyors átviteli sebesség • értékelése: o igen gyors (különálló címtérnél sokkal gyorsabb) o továbbra is a processzornak kell utasításokat végrehajtani az I/O során o Minden mai architektúrában megtalálható • Példa: a PC környezetben képernyő (video) kezelés így műkdik • Megvalósítás: kép65
Feltétlen átvitel
- minden feltételtől függetlenül megvalósul az adatátvitel
- a periféria mindig adatátvitelre kész állapotban van
- ellenőrzése sem előtte sem utána nincs szüksége
- semmilyen szinkronizáció nincs a CPU és a periféria között
- tipikus alkalmazásuk: LED, érzékelők lekérdezése, kapcsolók leolvasása
- hátránya: nincs visszacsatolás (pld.: pixelhibáról nem tud az adó)
Feltételes átvitel
lekérdezéses (polled I/O „wait for flag), működése:
- I/O státusz flag „ready”
- CPU beírja az I/O egység parancs regiszterére az utasítást
- CPU kiolvassa az I/O státusz flag állapotát
- Ha nem „ready2 akkor visszamegyünk a második pontra
- Ha „ready” az átvitel végrehajtása
- hátránya: óriási sebesség különbség (2-3 több milliószor is megismétlődhet)
megszakításos I/O átvitel
- cél a CPU tehermentesítése
- A CPU beírja az I/O port parancsregiszterébe az utasítást
- Az I/O felkészül az adatátvitelre
- Beállítja az állapotregisztert „ready”
- Megszakítás jelzés küldés a CPU-nak
- Utasítás töréspontban – megnézi a megszakítást, megvizsgálja az állapot regisztert
- Megszakítás feldolgozó rutin ez hajtja végre az I/O adatátvitelt. Megszakítás kiszolgálás
- Előnye: kevesebb idő az irányítás
- Továbbra is a CPU vezérli és felügyeli az átvitelt
- A programozott I/O lefoglalja a CPU-t
I/O csatorna
• Ez a DMA koncepció kiterjesztése a lassabb perifériák irányában • A csatorna I/O utasításokat kér le a processzorral közös memóriából, majd azokat végrehajtja (nincs saját operatív tára) • A csatorna által vezérelt műveleteket továbbra is a processzor kezdeményezi • Ebben a koncepcióban is léteznek a perifériák irányítására hivatott I/O egységek vagy vezérlőkártyák, s a csatorna ezek munkáját hangolja össze -> a processzor helyébe lép ilyen tekintetben (magát az átvitelt annak kezdete után a csatorna végzi)
I/O fajtái
- szelektor csatorna
- multiplexer csatorna
Szelektor csatorna
- A gyorsabb perifériákat fogja össze és
- közülük egyidejűleg csupán egy lehet aktív
Multiplexer csatorna (byte/blokk multiplexer)
- lassabb perifériákat csatlakoztat
- közülük egyszerre több is aktív lehet