DMA 【Direct Memory Access】 ダイレクトメモリアクセス
DMAがない場合、システム内のすべてのデータ転送はCPUが転送元からデータを読み込み、転送先に書き込むという処理を行う必要があるが、DMAに対応したシステムでは、CPUはチップセットなどにある専用のコントローラに指示を出し、コントローラがデータの読み書きを行う。
これにより、CPUが各機器の動作に比べ低速の場合(DMAが導入された当初)、負荷を専用のチップに分担させることでCPUの負荷を軽減してシステム全体の性能を向上させることができ、CPUが各機器よりはるかに高速な場合(現代)、CPUが機器の応答を待たずに処理を進めることができる。
DMAコントローラ (DMAC:DMA Controller)
DMA転送の制御を行う専用のICチップ。コンピュータのマザーボードなどに搭載され、CPUやメモリ、周辺機器(拡張バス)などに接続されている。CPUに代わってデータ伝送の制御を行う。通常は一つのチップで同時に複数の伝送を制御できるようになっている。
DMAチャネル (DMA channel)
DMA転送において各装置がDMAコントローラに対して転送を要求するために用いる通信経路のこと。通常、コントローラチップは複数の伝送を同時に制御できるようになっており、2個、4個、8個といった数のチャネルを有している。
各装置はこの中から一つを占有してデータ伝送を行う。伝送が終わるとチャネルは解放され、他の装置が使用できるようになる。チャネルの識別や指定は0から始まる通し番号で行われることが多く、これをチャネル番号という。
(2018.1.24更新)