Kontroleri periferija
VISOKA POSLOVNA ŠKOLA STRUKOVNIH
STUDIJA BLACE
KONTROLERI
PERIFERIJA
Seminarski rad
Predmet
Osnovi računarske tehnike
Mentor
Student
Oliver Popović
Vladimir Rančić
Dimitrovgrad, Novembar 2016
2
SADRŽAJ

4
1. PRINCIP RADA
Kontroler periferije se sastoji od upravljačke logike i određenog broja programski dostupnih
registara. Kompletan rad kontrolera se svodi na upisivanje u ove registre i čitanje iz njih, dok
upravljačka logika služi da se na osnovu sadržaja registara organizuje upis podataka u izlazne
periferije ili čitanje podataka iz ulazne periferije. Možemo izdvojiti četiri vrste programski
dostupnih registara, a to su:
- Upravljački registar (Control) - putem njega se vrši inicijalizacija, startovanje i zaustavljanje
kontrolera periferije.
- Statusni registar (Status) - sadrži određene bitove indikacije, vezane za status prenosa
podataka.
- Registar podataka (Data) - sadrži podatke koje iz ulazne periferije treba smestiti u
memorijsku lokaciju ili iz memorjske lokacije u izlaznu periferiju.
- Registar broja ulaza (Entry) - upotrebljava se kod transfera podataka između registra
podataka i memorijske lokacije korišćenjem prekidne rutine. O ovome će biti reči kasnije.
Upravljački registar služi da se programskim putem upisivanjem odgovarajućih vrednosti u
ovaj registar izvrši inicijalizacija, startovanje i zaustavljanje kontrolera periferije. Upravljačka
logika na osnovu sadržaja određenih bitova upravljačkog registra kreće sa prenosom podataka
iz ulazne periferije u registar podatka ili iz registra podatka u izlaznu periferiju. Za svaki
podatak prenet iz ulazne periferije u registar podatka upravljačka logika postavlja određeni bit
u statusnom registru kao indikaciju da sadržaj registra podatka može da se prenese u
memorijsku lokaciju. Takođe i za svaki podatak prenet iz registra podatka u izlaznu periferiju
upravljačka logika postavlja određeni bit u statusnom registru kao indikaciju da sadržaj
sledeće memorijske lokacije može da se prenese u registar podatka. Samo prebacivanje
podatka iz registra podatka u memorijsku lokaciju ili iz memorijske lokacije u registar
podatka se kod nekih kontrolera periferija realizuje programskim putem čitanjem sadržaja
registra podatka ili upisivanjem u registar podatka, dok kod nekih kontrolera periferija to radi
sam kontroler. Kod onih kontrolera perfierija kod kojih se to radi programskim putem, mora
se čitanjem statusnog registra, najpre, utvrditi da je sledeći podatak prenet iz ulazne periferije
u registar podatka, pa ga tek onda prenositi iz registra podatka u memorijsku lokaciju ili da je
prethodni podatak prenet iz registra podatka u izlaznu periferiju, pa tek onda prenositi sledeći
podatak iz memorijske lokacije u registar podatka. Kod ovih kontrolera periferija postoji i
mogućnost da za svaki podatak prenet iz ulazne periferije u registar podatka upravljačka
logika generiše signal prekida i da za svaki podatak prenet iz registra podatka u izlaznu
periferiju upravljačka logika takođe generiše signal prekida. Na signal prekida procesor
odgovara signalom potvrde. Na ovaj signal kontroler periferije šalje procesoru sadržaj registra
broja ulaza. Procesor na osnovu broja ulaza ulazi u tabelu sa adresama prekidnih rutina, čita
adresu prekidne rutine i njenim upisivanjem u programski brojač skače na prekidnu rutinu.
Sada se u prekidnoj rutini podatak prenosi iz registra podatka u memorijsku lokaciju ili iz
memorijske lokacije u registar podatka. Kod onih kontrolera perfierija kod kojih to radi sam
5
kontroler, upravljačke logika kontrolera realizuje ciklus upisa sadržaja iz registra podatka u
memorijsku lokaciju ili ciklus čitanja iz memorijske lokacije i prihvatanje očitanog sadržaja u
registru podatka. U oba slučaja upravljačka logika kontrolera periferije realizuje određene
kontrole rada sa periferijom i u slučaju otkrivanja nekih neregularnosti postavlja određene
bitove statusnog registra. Zbog toga se programskim putem u određenim trenucima čita
sadržaj statusnog registra i na osnovu provere njegovog sadržaja utvrđuje da li se rad sa
periferijom odvija regularno ili ne. Po završenom prenosu ili otkrivenoj neregularnosti, u
odgovarajuće bitove upravljačkog registra se programskim putem upisuje sadržaj na osnovu
koga upravljačka logika kontrolera zaustavlja prenos podataka iz ulazne periferije u registar
podatka ili iz registra podatka u izlaznu periferiju.
Periferije sa danas tako realizuju da se detalji vezani za samo čitanje iz ulazne periferije ili
upis u izlaznu periferiju ne vide, već se pomoću definisanog interfejsa i protokola upravlja
čitanjem iz i upisom u periferiju, primaju ili šalju podaci i dobijaju informacije o ispravnosti
rada sa periferijom.
Podaci se obično unose sa periferije blokovski, tako što se u neki deo memorije u niz susednih
lokacije prenosi određen broj reči. Isto važi i za slanje podataka iz memorije u izlazne
periferije. Za realizaciju blokovskog unosa podataka iz periferije u memoriju i slanja podataka
iz memorije u periferiju treba uraditi sledeće: prenositi podatke iz periferije u memoriju ili
obratno, voditi evidenciju o adresama memorijskih lokacija u koje se reči upisuju ili iz kojih
se reči čitaju i voditi evidenciju o broju prenetih reči. Moguće je da procesor sve ovo radi, da
deo poslova radi procesor a deo posebni uređaji i da sve ovo rade posebni uređaji.
U zavisnosti od toga kava je podela posla između procesora i posebnih uređaja, koristi se više
tehnika organizacije ulaza/izlaza i to ulaz/izlaz sa kontrolerima bez direktnog pristupa
memoriji, sa kontrolerima sa direktnim pristupom memoriji i sa ulazno/izlaznim procesorima.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti