Birajte i prekidajte

Anonim

U određeno vrijeme glavni procesor prestaje raditi i provjerava da li neki kontrolor ima poruku za nju, ako ima, obrađuje poruku i nastavlja rad. Ovo se zove anketiranje. Nadalje, jasno je da glavni procesor radi svoj posao, a uređaji rade svoj posao. Ako uređaj završi svoj posao ili se dogodi pogreška, uređaj obavještava glavni procesor s zahtjevom za prekidom.

Što je to Polling?

U sustavima u kojima više vanjskih logičkih krugova komuniciraju putem višestrukih U / I međusobnih veza s jednim mikroprocesorom, koristi se U / I polling. Mikrokomputer povremeno naziva svaki vanjski logički krug i ispituje je li zatražio uslugu. Ako vanjski logički krug ne zahtijeva servisiranje, mikro računalo pregledava sljedeći vanjski logički krug itd. Ako jedan od njih zahtijeva servisiranje, mikrokompjuter se prebacuje na pokretanje servisnog programa odgovarajućeg vanjskog logičkog sklopa. Funkcija prijenosa U / I je uključena u program. Drugim riječima, anketiranje je proces pozivanja klijenta (računala ili terminala) koji mogu slati podatke nakon što budu pozvani (ako ih ima). Ako klijent ima podatke, on ga šalje nakon ankete, a ako nema podataka, klijent negativno reagira, a poslužitelj poziva sljedećeg klijenta. Neki uređaji mogu zahtijevati servisiranje s kontrolera (npr. Kada neki uređaj završi mjerenje ili kada dođe do pogreške). Zahtjev se šalje kontroleru postavljanjem SRQ linije na nisku razinu. Nakon što kontrolor primi zahtjev za uslugom, poziva sve uređaje na sabirnici da pronađu uređaj koji je poslao taj zahtjev.

Što je prekid?

Tijekom izvođenja programa, mikroprocesor može primiti prekidni signal preko posebnih IRQ linija. Prekid se najčešće provodi pozivanjem odgovarajućeg potprogramskog alarma za obrada prekida - to su tzv. Rutinska obrada BIOS-a ili DOS-a. Nakon obrade prekida, procesor nastavlja izvršavati prekinuti program. Isto tako, aplikacijski program može sadržavati uputu koja zahtijeva izvršavanje BIOS ili DOS prekidne rutine. Ulazne i izlazne operacije najčešće se postižu na ovaj način. Na primjer, ako program želi ispisati znak na zaslonu, to može učiniti tako da nazovete odgovarajuću rutinu prekinutosti. BIOS sadrži niz osnovnih ulazno-izlaznih rutina koje se relativno brzo pokreću, a odgovarajuće DOS rutine su sporije, ali njihove su mogućnosti veće (mogućnost nadjačavanja ulazno-izlaznih kanala, mogućnost kontrole pogrešaka i slično). Stoga je hardversko prekinuto signal koji je primio procesor s drugog uređaja na računalu, a prekid softvera je proces izvršavanja rutine BIOS ili DOS (potprogram) koji se automatski zove za obradu primljenog signala prekida ili je pozvan izvršiti odgovarajuće upute.

Razlika između biranja i prekida

Pozadina biranja i prekida

U prvom slučaju, procesor provjerava u redovitim vremenskim intervalima ako uređaj treba akciju. U slučaju prekida, postoji mehanizam pomoću kojeg procesor omogućava vanjskom uređaju (npr. Tipkovnica, zvučna kartica itd.) Da privuku pažnju procesora.

Mehanizam biranja i prekida

Prekidovi su posebno organizirani mehanizmi za komunikaciju perifernih uređaja. Uređaji će obavijestiti CPU ako je potrebna neka radnja. Polling je protokol - CPU redovito traži uređaje ako je potrebna neka radnja.

Servisiranje glasovanja i prekid

Kod ispitivanja mikrokontroler obavlja uređaj koji treba pažnju i nakon toga se pomiče na sljedeći uređaj za praćenje. U slučaju prekida, kada se primi signal za prekid, CPU prestaje s trenutnom aktivnošću i servisira uređaj. Obradjene usluge ili prekid naziva se rutinskom uslugom prekida (ISR) ili prekidačem rukovatelja.

CPU

U procesu glasanja CPU je na čekanju i provjerava je li uređaj potreban za uslugu. Ovo nepotrebno gubi vrijeme. U slučaju prekida proces, s druge strane, CPU je poremećen samo ako je potrebno.

Izgled birača i prekida

Uređaji se mogu pretraživati ​​samo u redovitim intervalima kada su označeni. Prekid se može dogoditi u bilo kojem trenutku.

Prednosti biranja i prekida

Neke od prednosti ispitivanja su relativno jednostavan program, pouzdanost prijenosa koja se odvija pri maksimalnoj brzini, tj. Čim je I / O uređaj spreman i nema potrebe za dodatnim pristupnim čipovima. Prekid je koristan jer može poslužiti više uređaja, fleksibilniji je i učinkovitiji.

Nedostaci birača i prekida

Nedostaci glasa su vrijeme čekanja nekih uređaja koja je kraća od vremena odziva i zatim treba primijeniti neku drugu metodu prijenosa, kao i da CPU troši nepotrebno vrijeme za provjeru uređaja koji nisu tražili prijenos podataka. Nedostaci prekida su zahtjev za složenijim hardverom / softverom i gubitkom vremena dok CPU ne utvrdi koje jedinice traže prekid.

Polling vs. Interrupt: usporedni prikaz

Sažetak biračkog mjesta protiv Prekinuti

  • U slučaju ispitivanja provodi se cikličko čitanje uređaja spojenih na jedan CPU.Ako vanjski logički krug nije potreban servis, mikrokomunistar pregledava sljedeći vanjski logički krug. Ako jedan od njih zahtijeva servis, mikrokompjuter se prebacuje na pokretanje programa koji služi odgovarajućem vanjskom logičkom krugu.
  • Kada se prekine, na zahtjev vanjske logike mikrokomputer prekida rad svog trenutnog programa i prebacuje se na pokretanje programa prekida. Prekinuta struktura omogućuje da mikroprocesor reagira na asinkronizirane događaje, tj. Zahtjeve iz vanjske logike, da ne čekaju u petlji da ispitaju stanje vanjskog logičkog kruga.