ダイレクト メモリ アクセス (DMA)

ダイレクト メモリ アクセス(DMA) は、コンピュータ サイエンスにおけるメモリ アクセス技術です。これにより、コンピュータ内の一部のハードウェア サブシステム (コンピュータ周辺機器) が、中央処理装置(CPU)の介入なしに独立してシステム メモリを直接読み書きできるようになります。これは、同程度のプロセッサ負荷の下で高速なデータ転送方法です。ハードディスクコントローラー、グラフィックス カード、ネットワーク カード、サウンド カードなど、多くのハードウェア システムで使用されています。

ダイレクトメモリアクセス

DMA は、最新のすべてのコンピュータの重要な機能であり、CPU の大きな割り込み負荷に依存せずに、異なる速度のハードウェア デバイスが通信できるようにします。それ以外の場合、CPU は各データをソースからスクラッチパッドにコピーし、新しい場所に再度書き戻す必要があります。この間、CPU は他の作業に使用できません。

DMA 転送は、あるデバイスから別のデバイスにメモリ領域をコピーするためによく使用されます。CPU が転送アクションを開始すると、転送アクション自体はDMA コントローラによって実行され、完了します。典型的な例は、外部メモリのブロックをチップ内のより高速なメモリに移動することです。このような操作ではプロセッサーの作業が停止しないため、他の作業を処理するためにプロセッサーのスケジュールを変更できます。DMA 転送は、高性能の組み込みシステム アルゴリズムとネットワークにとって重要です。たとえば、パーソナル コンピュータISA DMA コントローラ には 8 つの DMA チャネルがあり、そのうちの 7 つはコンピュータの中央処理装置で使用できます。各 DMA チャネルには16 ビットのアドレス レジスタと 16 ビットのカウント レジスタがあります。データ転送を開始するために、デバイス ドライバーは DMA チャネルのアドレスとカウント レジスター、およびデータ転送の方向 (読み取りまたは書き込み) を設定します。次に、DMA ハードウェアに転送を開始するように指示します。送信が終了すると、デバイスは CPU に割り込みを通知します。

「スキャッター ギャザー」 (スキャッター ギャザー) DMA を使用すると、単一の DMA トランザクションでデータを複数のメモリ領域に転送できます。これは、複数の単純な DMA リクエストをつなぎ合わせることに相当します。繰り返しますが、これを行う目的は、CPU を複数の I/O 割り込みとデータ コピー タスクから解放することです。DRQ は DMA 要求を意味し、DACK は DMA 確認を意味します。これらのシンボルは通常、DMA 機能を備えたコンピュータ システムのハードウェア プロファイルで見られます。これらは、CPU と DMA コントローラー間の電子信号伝送ラインを表します。

キャッシュの一貫性の問題

DMA はキャッシュの一貫性の問題を引き起こす可能性があります。CPU にキャッシュと外部メモリがあり、DMA の動作は外部メモリにアクセスすることを想像してください。CPU が外部メモリの特定のアドレスにアクセスすると、新しい値が一時的にキャッシュに書き込まれますが、データはキャッシュ内のデータが外部メモリに更新される前に DMA が発生すると、DMA プロセスは更新されていないデータを読み出します。

同様に、外部デバイスが外部メモリに新しい値を書き込む場合、中央処理装置はキャッシュにアクセスするときに更新されていないデータにアクセスします。

これらの問題は、次の 2 つの方法で解決できます。

  1. キャッシュ コヒーレント システム: ハードウェアによって実装され、外部デバイスがメモリに書き込むときに、信号を使用して、特定のメモリ アドレスの値が期限切れになったこと、またはデータを更新する必要があることをキャッシュ コントローラに通知します。
  2. ノンコヒーレント システム (ノンコヒーレント システム): ソフトウェア方式で完了します。オペレーティング システムは、キャッシュの読み取り時に DMA プログラムが開始されたことを確認するか、DMA を禁止する必要があります。

2 番目の方法では、DMA によるシステム負荷が発生します。

DMA エンジン

DMA はハードウェアの相互作用に関連するだけでなく、メモリ消費をオフロードすることもできます。インテル I/O アクセラレーション テクノロジー(IOAT)など。IOAT の後継は、Xeon  E5 プロセッサのデータ ダイレクト I/O (DDIO) テクノロジです。

参照する

外部リンク

この記事は Wikipediaから引用しています。このテキストは、 クリエイティブ コモンズ - 表示 - 継承に基づいてライセンスされています。メディア ファイルには追加の規約が適用される場合があります。

おすすめ

転載: blog.csdn.net/weixin_40191861/article/details/132250186