Subject   : DMA(Direct Memory Access)

カテゴリー  : パソコン


 DMA(Direct Memory Access)
ダイレクト・メモリアクセスの略です。
通常、I/Oからメモリー(またはその逆)へデータを転送する場合、 プログラムの指示によってCPUが行います。 これを、DMAコントローラを使って、CPUを介さずに転送する方法がDMAです。
8bitCPU時代は特にメモリよりもCPUのほうが低速であった為、 CPUを使うよりも高速なデータ転送方法として開発されました。 しかし、DMA転送中はメモリとI/O及びバスをDMAコントローラが占有して しまうため、CPUはその間、処理を中断し待機しなければならなくなります。 そのために、メモリ・I/O・CPUが同じバス上に接続されたシステムに 高速CPUを搭載した場合、DMA転送を用いると逆にシステム全体の スループットが悪くなる場合もあります。
DMA転送を行うために利用する信号線がDMAチャンネルです。 DMA0〜DMA7までの8個の番号が用意されており、DMA2が、 フロッピーディスクコントローラが使用しています。
最近のパソコンは、CPU処理速度のほうがメインメモリよりも圧倒的に 速いため、大量のキャッシュメモリがCPUに積まれている場合が多いです。 キャッシュメモリ内のプログラムをCPUが実行中は外部バスを DMAコントローラに占有されてもCPUは処理を続けることが可能なため、 効率的なDMA転送も可能になっています。


[メニューへ戻る]  [HOMEへ戻る]  [前のページに戻る]