目次:
定義-ダイレクトメモリアクセス(DMA)とはどういう意味ですか?
ダイレクトメモリアクセス(DMA)は、入出力(I / O)デバイスがメインメモリと直接データを送受信できるようにする方法で、CPUをバイパスしてメモリ操作を高速化します。 このプロセスは、DMAコントローラー(DMAC)と呼ばれるチップによって管理されます。
Techopediaがダイレクトメモリアクセス(DMA)について説明しています
古いコンピューターでは、4つのDMAチャネルに0、1、2、3の番号が付けられていました。16ビットの業界標準アーキテクチャ(ISA)拡張バスが導入されたときに、チャネル5、6、7が追加されました。 ISAは、IBM互換コンピューターのコンピューターバス標準であり、デバイスがより速い速度でトランザクション(バスマスタリング)を開始できるようにします。 その後、ISAは、高速の高速グラフィックスポート(AGP)および周辺機器相互接続(PCI)拡張カードに置き換えられました。 各DMAは1秒あたり約2 MBのデータを転送します。
ハードウェアとソフトウェア間の通信には、コンピューターのシステムリソースツールが使用されます。 4つのタイプのシステムリソースは次のとおりです。
- I / Oアドレス
- メモリアドレス
- 割り込み要求番号(IRQ)
- ダイレクトメモリアクセス(DMA)チャネル
DMAチャネルは、周辺機器とシステムメモリ間のデータ通信に使用されます。 4つのシステムリソースはすべて、バス上の特定のラインに依存しています。 バス上の一部のラインはIRQに使用され、一部はアドレス(I / Oアドレスとメモリアドレス)に使用され、一部はDMAチャネルに使用されます。
DMAチャネルを使用すると、デバイスはCPUを仕事の過負荷にさらすことなくデータを転送できます。 DMAチャネルがない場合、CPUはI / Oデバイスからの周辺バスを使用してすべてのデータをコピーします。 周辺バスを使用すると、読み取り/書き込みプロセス中にCPUが占有され、操作が完了するまで他の作業を実行できなくなります。
DMAを使用すると、CPUはデータ転送の実行中に他のタスクを処理できます。 データの転送は、最初にCPUによって開始されます。 DMAチャネルとI / Oデバイス間のデータ転送中に、CPUは他のタスクを実行します。 データ転送が完了すると、CPUはDMAコントローラーから割り込み要求を受け取ります。