Подручја рада
Претрага
44. ДМА.

Уводни део часа ( 5 мин.)
1. Шта представља паралелизам у раду процесора ?
2. Шта означава скраћеница DMA ?
___________________________________________________________________________________
Главни део часа :

image012.gif

При програмски управљаном улазу - излазу ефикасност коришћења процесора веома се смањује када треба вршити пренос блокова података између већег броја локација оперативне меморије и периферних уређаја. Овај се недостатак отлања увођењем паралелизма у рад процесора, с једне стране, и контролера ( адаптера ) периферног уређаја, с друге стране. То се постиже тако што више периферних уређаја има могућност приступа оперативној меморији помоћу посебног система који се назива директни приступ меморији или DMA пренос ( DMA - Direct Memory Access ).

Директни приступ меморији је начин рада система који омогућава да брзи улазно - излазни уређаји директно комуницирају са оперативном меморијом не ометајући нормалан рад централног процесора. Њиме се постиже највећа могућа брзина улазно - излазног преноса. За реализацију директног приступа меморији мора постојати ван процесора посебан контролер ( DMA контролер или контролер директног приступа меморији ) који представља неку врсту специјализованог процесора реализованог хардверски као посебно коло високог степена интеграције.

За реализацију директног приступа меморији потребно је да предност у коришћењу магистрале има DMA контролер. Тиме се омогућава директно повезивање оперативне меморије и DMA контролера, а за то време се одлаже извршење програма. Комуникација између оперативне меморије и неког DMA контролера врши се по методу позајмљивања циклуса ( закидања циклуса ) централном процесору ради преноса једне машинске речи. Увек када истовремено и DMA контролер и процесор треба да приступе меморији, настаје конфликтна ситуација у којој приоритет има DMA контролер. Фактички се због спорости периферија процесору само повремено спречава приступ меморији тако да то не утиче битно на ефикасност рада самог процесора.

DMA контролер је потчињен централном процесору који иницира и завршава пренос, одређује који посао треба обавити, као и оно што треба урадити у неким ненормалним ситуацијама активности контролера.

Директни приступ меморији одвија се на следећи начин. DMA контролер формира посебан улазни сигнал за процесор који се назива сигнал захтева за коришћењем магистрале ; њиме се тражи директан приступ меморији. Када на крају фазе извршења текуће наредбе процесор утврди постојање тог сигнала, он прелази у посебно стање у коме чека и потврђује прихватање DMA захтева. DMA контролер добија право коришћења магистрале, остварује директну спрегу и управља преносом између оперативне меморије и периферног уређаја. На крају наложеног преноса DMA контролер сигналом захтева за прекид обавештава процесор да је завршио пренос целог блока података, после чега процесор наставља привремено прекинуто извршавање програма.

Сам DMA контролер садржи одређени додатни хардвер. Пре свега, мора имати адресни регистар којим се адресира оперативна меморија при улазно - излазном преносу. Како је често потребно пренети блок суксцесивних меморијских локација, адресни регистар треба да буде бројачког типа. Осим тога, хардвер у DMA контролеру треба да дефинише крај директног приступа меморији. У ту сврху се уводи посебан регистар - регистар дужине блока. На почетку преноса у овај регистар се поставља број локација меморијског блока и тај се садржај смањује при сваком приступу меморији.

Директни приступ меморији служи за брзи пренос података ( преноси са диск јединицама, екранима, брзим претварачима, пренос између два процесора, ...).

image014.gif

image016.gif

Одговорити на питања :
1. Шта је директни приступ меморији ?
2. Како се врши конуникација између оперативне меморије и неког DMA контролера ?
3. Како се одвија директни приступ меморији ?
4. Шта мора садржати DMA контролер ?
5. Чему служи директни приступ меморији ?