Co je přímý přístup do paměti?
Přímý přístup do paměti, někdy nazývaný DMA, je způsob přenosu dat z paměti s libovolným přístupem do jiné části počítače bez obsazení centrální procesorové jednotky. Tato schopnost je zabudována do většiny moderních počítačových systémů. Umožňuje počítači provádět více úkolů najednou, což nakonec počítač zrychlí.
Stejně jako vlastník malé firmy řeší všechny zprávy a informace, které přicházejí nebo vystupují z jeho kanceláře, musí centrální procesorová jednotka počítače zpracovávat veškerý vstup nebo výstup počítače. Před přímým přístupem do paměti vzalo stahování nebo nahrávání dat veškerou pozornost centrálního procesoru. Mohlo by to dělat najednou jen jeden úkol.
Počítač s přímým přístupem do paměti je jako majitel malé firmy s několika asistenty. Namísto přímého zpracování všech informací je centrální procesorová jednotka schopna delegovat úkol na řadič přímého přístupu do paměti. Toto je zařízení zabudované do základní desky, které dohlíží na operace přímého přístupu k paměti. Centrální procesorová jednotka pak může provádět další úkoly, zatímco probíhá nahrávání nebo stahování. Po dokončení delegované úlohy informuje řadič DMA centrální procesorovou jednotku.
Každý port v počítači má alespoň jeden kanál přímého přístupu do paměti, který lze přiřadit zařízením připojeným přes tento port. Pro správnou funkci musí být každému zařízení přiřazen jiný kanál. Většina karet, které lze nainstalovat do počítače, například zvukové, síťové nebo grafické karty, může k plnění svých úkolů použít přímý přístup do paměti.
Vícejádrové procesory jsou také schopny použít přímý přístup do paměti. Obvykle mají typ dočasné paměti zvané lokální nebo scratchpadová paměť. Po dokončení akce, na které pracují, mohou přenášet data z místní paměti do hlavní paměti pomocí paměťového kanálu s přímým přístupem.
Nevýhodou v závislosti na DMA je to, že může způsobit to, co se nazývá ztráta koherence mezipaměti. V podstatě to znamená, že data se neustále pohybují a mohou být uložena na více dočasných místech. Problém je v tom, že když je počítač požádán o přístup k informacím, nemusí mít přístup k nejnovějším informacím. Výrobci počítačů se s tím mohou vypořádat pomocí speciálního hardwaru nebo naprogramováním operačního systému, aby zabránili ztrátě koherence mezipaměti.