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へ戻る]
[前のページに戻る]