I O - life-prog

Három módszer végző input-output műveletek:

  1. programozható be- kimeneti;
  2. input-output használatával megszakításokat;
  3. DMA (közvetlen memória-hozzáférés - DMA)

A programozható input-output

Amikor a processzor, ha a program megfelel a parancsot kapcsolódó input-output, végrehajtja azt elhaladó megfelelő parancsokat input-output vezérlő. Amikor a programozható bemeneti-kimeneti eszköz elvégzi a kért műveletet, majd beállítja a megfelelő biteket a nyilvántartásokban IO állam. IO vezérlő nem küld semmilyen jelfeldolgozó, köztük megszakítás jeleket. Így a felelősség időszakos ellenőrzési állapotát IO modul egy processzor; ő kell végeznie, amíg az input-output művelet befejeződött.

Államban. Használt hogy ellenőrizze az állapotát az input-output vezérlő és a kapcsolódó perifériák.

Átadása. Használt olvasni és / vagy írni az adatokat a külső processzor regiszterek és berendezések és regiszterek processzor és a külső eszközöket.

Ábra. 1.19 egy példa segítségével programozható IO olvasni az adatokat a memóriában egység által vett külső eszközről (például, a rögzítést a mágneses szalag). Az adatok olvasása egy szót. Olvasása közben minden szövegszerkesztő kell végeznie ellenőrzési ciklus állapotát, amíg rájön, hogy a szó már elérhető az adatok nyilvántartásba input-output modul. A fenti blokk diagram látható a fő hiányosságait ez a módszer: a processzor hajt végre nagy számú műveletet, amely elkerülhető lenne; Vesztett sok időt.

Input-output megszakítás segítségével

Egy másik megközelítés szerint, a processzor átadhatja vezérlő IO parancsot, majd tovább, hogy más hasznos munkát. Aztán, amikor az input-output vezérlő ismét készen áll, hogy kommunikálni a CPU, akkor megszakítja a processzor és a szükséges kell kézbesíteni. A processzor átviszi az új adatokat, majd folytatja a megszakított munkát.

I O - life-prog

Ábra. 1.19. Három bemeneti adatblokk átviteli módot

Vegyünk egy kezdő, hogy néz ki a szempontból az input-output vezérlő. Először is kap a processzor READ parancs érkezett, és olvassa az adatokat egy társult periféria. Amint ezek az adatok megérkezik a vezérlő regiszterek, küld egy processzor vezérlő busz, és vár egy megszakítási jelet, amikor a CPU fogja kérni az adatokat. Amikor egy kérés vezérlő továbbítja az adatokat az adat buszon, és bemegy egy készenléti állapotot egy új input-output műveleteket.

Abból a szempontból, az átviteli processzor bemeneti adatok a következők. A processzor generál READ parancsot, majd tárolja a tartalmát a program számláló és más nyilvántartások megfelelő a futó program, és továbblép az egyéb műveletek (például, ez egy és ugyanazon időben végezhet több különböző programok). A végén minden ciklusban a processzor ellenőrzi a megszakítás (lásd. Ábra. 1.7). Amikor megkapja egy megszakítási az input-output vezérlő processzor tárolja az információt az éppen futó feladatot hajt végre, és megszakítja feldolgozó program. Amikor elolvassa a szavakat a IO vezérlő és eltárolja a memóriában. Ez majd visszaállítja az a program keretében, amelyből a kapott IO parancsot, és folytatja.
Segítségével az olvasott adatokat bemeneti és kimeneti egység, megszakítás-vezérelt, akkor ábrán látható. 1.19,6. Input-output megszakításokkal sokkal hatékonyabban, mint a programozható input-output, mert megszűnt felesleges várakozás. Ez a folyamat azonban még mindig fogyaszt sok processzor időt, mert minden szó, amely átkerül a memória az IO modul, vagy fordítva, át kell haladnia a processzor.