Što je izravni pristup memoriji?

Izravni pristup memoriji, koji se ponekad naziva i DMA, metoda je prijenosa podataka iz memorije s slučajnim pristupom u drugi dio računala bez zauzimanja središnje procesorske jedinice. Ova je mogućnost ugrađena u većinu modernih računalnih sustava. Omogućuje računalu da obavlja više zadataka odjednom, što u konačnici čini računalo bržim.

Baš kao što se vlasnik male tvrtke bavi svim izvješćima i informacijama koje ulaze ili izlaze iz njegovog ili njezinog ureda, središnja procesorska jedinica računala mora obraditi sav ulaz ili izlaz računala. Prije izravnog pristupa memoriji, preuzimanje ili učitavanje podataka zauzimalo je svu pozornost središnjeg procesora. Mogao je raditi samo jedan po jedan zadatak.

Računalo s omogućenim izravnim pristupom memoriji je poput vlasnika male tvrtke s nekoliko pomoćnika. Umjesto da se izravno bavi svim informacijama, središnja procesorska jedinica može delegirati zadatak kontroleru izravnog pristupa memoriji. Ovo je uređaj ugrađen u matičnu ploču koji nadzire operacije izravnog pristupa memoriji. Središnja procesorska jedinica tada je slobodna za obavljanje drugih zadataka dok se vrši prijenos ili preuzimanje. Kada je delegirani zadatak dovršen, DMA kontroler javlja središnjoj procesorskoj jedinici.

Svaki priključak na računalu ima barem jedan kanal za izravni pristup memoriji koji se može dodijeliti uređajima povezanim putem tog priključka. Za ispravan rad svakom uređaju mora biti dodijeljen drugi kanal. Većina kartica koje se mogu instalirati u računalo, kao što su zvučne, mrežne ili video kartice, mogu koristiti izravan pristup memoriji za obavljanje svojih zadataka.

Višejezgreni procesori također mogu koristiti izravan pristup memoriji. Općenito imaju vrstu privremene memorije koja se naziva lokalna memorija ili memorija. Kada je radnja na kojoj rade završena, mogu prenijeti podatke iz lokalne memorije u glavnu memoriju koristeći memorijski kanal izravnog pristupa.

Nedostatak ovisnosti o DMA-u je taj što može uzrokovati ono što se zove gubitak koherentnosti predmemorije. U osnovi to znači da se podaci stalno kreću i mogu biti pohranjeni na više privremenih lokacija. Problem s ovim je što kada se od računala zatraži pristup informacijama, ono možda neće pristupiti najnovijim informacijama. Proizvođači računala mogu se nositi s tim korištenjem posebnog hardvera ili programiranjem operativnog sustava da se zaštiti od gubitka koherentnosti predmemorije.