Шта је директни приступ меморији (ДМА) и како то функционише? [МиниТоол Вики]
What Is Direct Memory Access
Брза навигација:
Можете усвојити РДМА технологија која омогућава рачунарима у мрежи да размењују податке у главној меморији без укључивања процесора, кеш меморије или оперативног система било ког рачунара. Али такође можете да користите ДМА функцију за директно слање података са прикљученог уређаја у меморију на матичној плочи рачунара. Овај пост од МиниТоол углавном говори о ДМА.
Дефиниција директног приступа меморији
Пре свега, шта је директни приступ меморији? Директни приступ меморији може се скратити у ДМА, што је карактеристика рачунарских система. Омогућава улазно / излазним (И / О) уређајима приступ главној системској меморији ( РАМ меморија ), независно од централне процесорске јединице (ЦПУ), што убрзава меморијске операције.
Савет: Можда ће вас занимати овај пост - 8 корисних решења за стопостотно поправљање процесора у оперативном систему Виндовс 10 .
Без директног приступа меморији, када ЦПУ користи програмиране улазе / излазе, обично је потпуно заузет током читаве операције читања или писања, тако да не може да обавља друге задатке. Са ДМА, ЦПУ прво покреће пренос, затим изводи друге операције док је пренос у току и на крају прима прекид од ДМА контролера (ДМАЦ) када је операција завршена.
Директан приступ меморији је користан кад год ЦПУ не може да прати брзину преноса података или када ЦПУ треба да обавља посао док чека релативно спор И / О пренос података.
Вишеструки хардверски системи усвајају директан приступ меморији, попут контролера диск јединице, графичких картица, мрежних картица и звучних картица. ДМА се такође користи за пренос података на чипу у вишејезгарним процесорима. У поређењу са рачунарима који немају канале са директним приступом меморији, рачунари са ДМА каналима могу преносити податке између уређаја који имају много мање трошкова процесора.
Директни приступ меморији се такође може користити за „меморију у меморију“ за копирање или премештање података у меморију. Може да пренесе скупе меморијске операције (као што су велике копије или операције расејања) са ЦПУ-а на наменски ДМА механизам. ДМА је важан у рачунарским архитектурама мреже на чипу и меморије.
Како функционише директни приступ меморији?
Како онда функционише директни приступ меморији? Стандардни директни приступ меморији (такође назван независни ДМА) усваја ДМА контролер. ДМА контролер може да производи меморијске адресе и покреће циклусе читања или писања меморије. Обухвата вишеструке хардверске регистре које ЦПУ може читати и писати.
Ови регистри се састоје од регистра адресе меморије, регистра броја бајтова и једног или више контролних регистара. У зависности од карактеристика које пружа контролер директног приступа меморији, ови контролни регистри могу одредити неку комбинацију извора, одредишта, смера преноса (читати са И / О уређаја или писати на њега), величине преносне јединице и / или броја бајтова за пренос у једном низу.
Да би извршио операције уноса, излаза или меморије у меморију, хост процесор покреће ДМА контролер бројем речи за пренос и меморијском адресом коју користи. Тада ЦПУ наређује периферном уређају да започне пренос података.
Тада контролер директног приступа меморији нуди адресе и контролне линије за читање / писање у системску меморију. Сваки пут када се бајт података припреми за пренос између периферног уређаја и меморије, ДМА контролер повећава свој интерни регистар адреса док се не пренесе комплетан блок података.
Начини рада
Директни приступ меморији различито функционише у различитим режимима рада.
Рафални режим
У рафалном режиму, пуни блок података се преноси у континуираном низу. Једном када ЦПУ дозволи ДМА контролеру приступ системској сабирници, ДМА контролер ће пренијети све бајтове података у блоку података прије него што пусти контролу системских сабирница натраг у ЦПУ, али ће узроковати да ЦПУ буде неактиван за прилично дуго времена. Овај режим се назива и „Блоцк Трансфер Моде“.
Режим крађе циклуса
Режим крађе циклуса користи се у систему у којем ЦПУ не може бити онемогућен онолико дуго колико је потребно за режим преноса. У режиму крађе циклуса, ДМА контролер добија приступ системској магистрали користећи БР (Бус Рекуест) и БГ (Бус Грант) сигнале, који су исти као и рафални режим. Ова два сигнала контролишу интерфејс између ЦПУ-а и ДМА контролера.
С једне стране, у режиму крађе циклуса, брзина преноса блока података није тако брза као у режиму рафалног снимања, али с друге стране, време мировања ЦПУ-а није толико дуго као у режиму рафалног снимања.
Транспарент Моде
Транспарентном режиму је потребно највише времена за пренос блокова података, али је уједно и најефикаснији у погледу укупних перформанси система. У транспарентном режиму, контролер директног приступа меморији преноси податке само када ЦПУ изводи операције које не користе системске магистрале.
Главна предност транспарентног режима је у томе што ЦПУ никада не престаје да извршава своје програме, а директни приступ меморији је временски бесплатан, док је недостатак што хардвер треба да утврди када ЦПУ не користи системске магистрале, што може бити компликовано. Ово се назива и „скривени ДМА начин преноса података“.