недеља, 25. децембар 2011.

Princip prozivanja periferija - Interrupts ( prekidi ) - IRQ


Procesor komunicira sa nizom jedinica ciji je zadatak priprema podataka za obradu ili prijem podataka nakon obrade. Ove jedinice zovu se periferijske i mogu da se podele na ulazne i ulazno izlazne.
* Zadatak ulaznih jedinica je priprema podataka za procesiranje : Tastatura, Mis.
*Izlazne jedinice primaju podatke nakon obrade: Monitor.
*Ulazno izlazne mogu i da primaju i da salju podatke procesoru: HDD, CD Drive, DVD, Flash.

U cilju razmene podataka sa periferijama CPU treba da zna stanje u kome se one nalaze:
* Da li ulazna jedinica ima spremne podatke za ucitavanje.
* Da li izlazna jedinica moze da primi obradjene podatke ili je zauzeta.

Na sledecoj slici prikazan je najjednostavniji nacin utvrdjivanja stanja periferije metodom pozivanja periferije od strane CPU po unapred utvrdjenom proizvodu.
Pozivanje pojedinih periferija vrsi se u regularnim vremenskim intervalima. Ako procesor ustanovi da je periferija spremna za rad sa podacima prekinuce izvrsavanje svog glavnog programa i poceti rad na komunikaciji sa periferijama. Ako periferija nema potrebe za komunikaciju sa procesorom procesor prelazi na utvrdjivanje stanja sledece periferije.
Glavni nedostatak ovakvog pristupa je ispitivanje stanja periferija, cak i u slucaju kada one nemaju sta da kazu procesoru ( Stanje tastature se ispituje bez obzira da li je neki taster pritisnut ili ne ). Vreme procesora se uzaludno trosi i proces glavne obrade usporava.
Resenje se nalazi u mehanizmu interapta. Procesor ne proziva periferiju . Umesto toga periferija signalizira procesoru da je spremna za prijem podataka ili da ima spremne podatke za cpu. Procesor ce prekinuti glavni program i preci na rad sa periferijom. Nakon obavljene procedure procesor nastavlja rad na glavnoj obradi. Kazemo da je periferija poslala zahtev za prekidom IRQ - Interrupt Request.
Za svaku periferiju vezan je tzv. vektor interapta, koji je adresa lokacije u memoriji na kojoj se nalazi instrukcija bezuslovnog skoka na prvu instrukciju programa interapta.

Нема коментара:

Постави коментар