DMA
「Direct Memory Access」を表します。
DMAは、CPUがデータを処理しなくても、コンピューターのシステムメモリと別のハードウェアコンポーネントの間でデータを転送する方法です。CPUはデータ転送を開始するときだけ使用され、その後は、ほかのコンポーネントがCPUの関与なしにシステムRAMと直接通信できます。DMAによってデータ転送に伴う処理の負荷が軽減され、CPUは代わりにほかの処理を続けられます。
DMAは、独自のデータ処理機能を持つさまざまな種類のハードウェアで使用されています。たとえば、ゲームで3Dシーンを描画するGPUは、システムメモリからテクスチャを直接読み込むためにDMAを使用し、その間CPUは物理演算やAIの計算を行えます。DMAがない場合、CPUは読み取りと書き込みのすべての操作に関与する必要があり、ほかのタスクに使える処理リソースを占有してしまいます。ストレージコントローラー、サウンドカード、ネットワークインターフェースカードも、データ転送中にDMAを使用します。
初期のコンピューターでは、専用のDMAコントローラーチップを使ってデータ転送を管理していました。これらのコントローラーは、DMA転送に対応したデバイスに、限られた数のDMAアドレスを割り当てていました。現代のコンピューターでは、DMAに対応した各デバイスに、ほかのデバイスとの連携やPCI Expressバス上のデータ転送の管理を担う、統合DMAエンジンが搭載されています。
知識をテストする