Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPVI_Spausdinti2003M.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.88 Mб
Скачать

23 Pav. Įvesties, išvesties ir kvitavimo laikinės diagramos

Duomenų įvesties (skaitymo) metu naudojami RDY OUT, ACK INP signalai. Duomenų įvesties procesas prasideda, kai periferinis įrenginys pagal ACK INP = 0 nustato, kad MP baigė eilinį duomenų priėmimą. Jis paruoštus duomenis išveda į DI magistralę, o t1 laiko momentu perduoda MP RDY OUT = 1. MP atpažysta, kad duomenys paruošti perduoti (RDY OUT = 1) ir juos skaito, vykdydamas skaitymo darbo ciklą. Pasibaigus įvedimui, MP patvirtina (t2 laiko momentu), kad duomenys įvesti (ACK INP = 1). Periferinis įrenginys atpažysta, kad duomenys įvesti, todėl t3 laiko momentu baigia duomenų perdavimo procesą (RDY OUT = 0). t4 laiko momentu MP atpažysta, kad duomenų perdavimas baigtas ir pabaigia duomenų įvesties procesą (ACK INP = 0). Toliau duomenų įvesties procesas gali būti kartojamas.

Duomenų išvesties (rašymo) metu naudojami RDY INP, ACK OUT signalai. Duomenų išvesties procesas prasideda, kai MP nustato, kad periferinis įrenginys pasiruošęs priimti duomenis (RDY INP = 1). Vykdomas MP rašymo darbo ciklas, duomenys išvedami į DO magistralę ir t2 laiko momentu MP patvirtina, kad duomenys išvesti (ACK OUT = 1). Periferinis įrenginys priima duomenis ir baigęs priėmimą t3 laiko momentu išveda (RDY INP = 0). MP nustatęs, kad periferinis įrenginys priėmė duomenis (RDY INP = 0), baigia t4 laiko momentu perdavimo procesą (ACK OUT = 0). Toliau duomenų išvesties procesas gali būti kartojamas iš naujo.

Tokiu būdu, naudojant kvitavimo signalus, tikrinant pasiruošimą ir patvirtinant duomenų įvedino ir išvesties pabaigą užtikrinami patikimi asinchroniniai duomenų mainai greičiu, kurį nustato periferinys įrenginys.

Sąlyginiai cikliniai duomenų mainai vyksta pagal 24 pav. parodytą algoritmą.

24 Pav. Sąlyginių ciklinių duomenų mainų algoritmas

1 bloke tikrinamas periferinio įrenginio pasiruošimas duomenų mainams. Jeigu įrenginys nepasiruošęs (N), tai pereinama į :M žymės vietą ir ciklas kartojamas. Šis ciklas gali tęstis begalo ilgai (pvz. periferinis įrenginys sugedęs). Kai tik įrenginys pasiruošęs (T), pereinama į 2 bloką, kuriame vyksta duomenų įvedimas ar išvedimas ir kvitavimas pagal 23 pav. laikines diagramas. Pagrindinis sąlyginių ciklinių mainų trūkumas yra galimybė pasireikšti begaliniam ciklui („pakibimui”), kurio metu MP visą darbo laiką išnaudoja įrenginio pasiruošimui kontroliuoti.

Sąlyginiai cikliniai laikiniai duomenų mainai leidžia išvengti begalinio ciklo. Jų algoritmas pateiktas 25 pav.

Šiame algoritme organizuotas ciklų skaitiklis, kuris skaičiuoja 1 bloke nustatytą Kc ciklų skaičių. Kai 2 bloke, patikrinus įrenginio būseną, jis nepasiruošęs, tai 3 bloke Kc mažinamas vienetu, o 4 bloke tikrinamas, ar nepasibaigė nustatytas ciklų skaičius.

25 Pav. Sąlyginių ciklinių laikinių duomenų mainų algoritmas

Jeigu nepasibaigė (N), tai pereinama į žymės :M1 vietą ir ciklas kartojamas. Pasibaigus nustatytam ciklų skaičiui (4 bloko išėjimas) arba aptikus, kad įrenginys pasiruošęs (2 bloko išėjimas) visada ciklas baigiamas (:M2 žymės vieta). Tačiau pirmuoju atveju duomenų mainai neįvyksta, o antruoju – vyksta įvedimas arba išvedimas ir kvitavimas (5 blokas). Pagal šį algoritmą sudarytoje programos procedūroje (paprogramėje) turi būti nustatytas požymis, kuris parodo, ar įvyko duomenų įvedimas, išvedimas.

Sąlyginiai necikliniai duomenų mainai vyksta pagal 26 pav. parodytą algoritmą.

Šiame algoritme, skirtingai negu anksčiau išnagrinėtuose, nėra įrenginio pasiruošimo tikrinimo ciklo. Pirmasis pasiruošimo tikrinimas 1 bloke baigiasi perėjimu į :M žymės vietą, kai įrenginys nepasiruošęs (N) arba, kai pasiruošęs (T), vykdomas 2 blokas. Vėliau MP gali grįžti ir vėl kartoti bandymą atlikti sąlyginį neciklinį duomenų įvedimą ar išvedimą ir kvitavimą. Programos procedūroje (paprogramėje) taip pat turi būti numatytas požymis, kaip ir sąlyginių ciklinių laikinių duomenų mainų atveju.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]