Direct memory accessとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > Direct memory accessの意味・解説 

ダイレクト‐メモリーアクセス【direct memory access】

読み方:だいれくとめもりーあくせす

ディー‐エム‐エー(DMA)


ディー‐エム‐エー【DMA】

読み方:でぃーえむえー

《direct memory access》コンピューターシステム内における、データ転送方法の一。ダイレクトメモリーアクセス


DMA

フルスペル:Direct Memory Access
読み方ディーエムエー
別名:ダイレクトメモリアクセス

DMAとは、CPU介さずに、拡張カードメモリー間、あるいは周辺装置同士の間で、直接データー転送行なう方法のことである。 また、このような機能備えたLSIのこと。以前は、大量データ転送するときにDMAを利用すると、データ一括して処理されるので、CPUデータ直接転送するよりも速度向上したまた、その間にほかの作業CPU割り当てることで全体として効率をあげることが可能であったその後CPU高速化していくのに対してDMAコントローラー旧来のパフォーマンスのままだったため、現在ではほとんど用いられていない

半導体メモリのほかの用語一覧
技術・産業:  BGA  CMOS  CSP  DMA  HyperMemory  ハイアクティブ  バイポーラトランジスタ

Direct Memory Access

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/07 00:36 UTC 版)

AMD DirectGMA はDMAの一形態である。

Direct Memory Access(DMA)とは、プログラムされた機械語の命令群の実行によってアキュムレータなどを介する方法によらず、メモリとメモリまたはメモリとI/Oデバイスの間で直接データを転送することである。

専用回路のことを DMAC(DMA Controller)と言う。

概要

現代でのDMAの重要性は、つまるところCPUの転送速度の枷を外したところにある。DMAの技術が発生する以前は、CPUはデータの転送時間のあいだ待たなくてはならず、その間は他の作業をこなすことはできなかった。外部入出力(I/O)の転送速度はRAMよりも遅かったことがこの原因である。DMAがあれば、CPUは転送時間を有意にタスクへと割くことができる。この利点は組み込み向けプロセッサにおいても同様に効果があった。ただし、転送バスは一部使用中となる。したがって、DMAによって転送時間を有効に使えるとしても、それはプログラムがまさに今DMA転送中のデータを使用しないときに限られてしまう。

DMA転送は、CPUによって行われるものではない。CPUはDMA転送命令を実行するが、これはつまるところ、マザーボードチップセットに内蔵されたDMAコントローラに、転送開始を指示しているだけである。この形式は過去のISAバスによってみられた方式であるが、現代のPCIバスにはより優れた設計思想が組み込まれており、「Bus mastering DMA」、すなわち、I/O機器の側がPCIバスの制御を任され、DMA転送をすべて司る。一方組込デバイスでは、CPU内でバスに直結されたDMAエンジンがチップ内のバスを操作してDMAを実現する。

DMAの利点は、継続的な読み出しを必要とする、ネットワークのパケット送信や音楽再生やビデオ配信などの機能を、データ通信のためにリソースを割くことなく行うため、その専用の組み込みチップで使われている。また同様に、CPUの多コア化にもとても有効である。1チップ上での多コア化だけでなく、大規模なコンピュータでのクラスタ化にも有用である。この際、DMA通信の状態通知ピンとして、受信状態を示すHOLDピンと、送信状態を示すHLDAピンが存在する。

仮想記憶アドレス上で DMA を利用する場合、ページ境界をまたぐことがないようにする必要がある。境界をまたいだ場合、後続の論理アドレスページに対応する物理アドレスページが同様に連続した後続領域に確保されるとは限らないからである[1]

歴史

DMAはPDPシリーズにおいて採用されている。後年の数MHzで動作するマイクロプロセッサでは、CPUによるデータ転送ハードディスク等の10MB/秒程度の転送速度を発揮する事は困難であったため、専用のコントローラでデータ転送を行う必要があった。このコントローラは、データ転送を高速に行う機能に特化したCPUであったともいえる。例として、Z80にはZ80DMA、MC68000には、MC68450などのDMAコントローラ(DMAC)が存在した。そのほか、日立のH8マイコンにDMACが存在している。

Intelのi80286(APX286)などでは、当時通常のI/Oを制御するためには充分な動作速度だった事、主流のパーソナルコンピュータにおいて、i8249等の低速なDMACしか搭載されておらず、他に適当なDMACが存在しなかった事などから、DMAはあまり使用されなくなった。

CPUの世代がPentiumになり、充分に高速になると、今度は、低速なI/Oの管理がボトルネックとなったため、いわゆるチップセットにI/O専用の高速なDMACが搭載されたり、周辺機器制御LSIが簡単なDMA機能を持つようになり、再度DMAが活用されるようになった。Pentium以降主流となったPCIバスでは、バスマスタリングとしてDMAが実装されている。

高機能DMAC

初期のDMACは単純に指定されたアドレス範囲を指定されたメモリもしくはポートに入出力する機能のみを備えていた。しかしオペレーティングシステムが普及し、ハードディスクへのI/OにDMACを使う様になってから、DMACには「データブロックを分割する(スキャッタリング)」「データブロックを集約する(ギャザリング)」を行う機能が要求された。MC63450 DMAC等には、DMACがリンクリストを読み取って転送内容を分割したり集約する機能が搭載されている。PC/AT互換機向けのSCSIホストアダプタカード等では、コントローラチップに集積されているDMACがこの機能を担当していた。スキャッタリング・ギャザリング機能が無い場合CPUは最低でも1セクタ分ずつメモリ・メモリ間転送を行わなければならず、またDMACに読み取らせるメモリ領域が転送完了するまで使用できないため、I/O時のCPU負荷上昇とI/O待ち時間が発生しシステム性能に悪影響を与えた。

DMAの方式

バーストモードDMA(ブロック転送と呼ぶ資料[2]もある)
CPUからメモリBUS制御を渡してもらい、データを一気に転送する方法[2]
サイクルスチールモードDMA
CPUからメモリBUS制御を渡してもらい、1~2ワードずつ転送する方法[2]。CPUは隙間なくメモリBUSを利用するとは限らないので、CPUが処理を進めるのと並行したデータ転送が可能となり得る。

代表的なDMAC、DMA機能を持つLSI

  • Z80DMA
  • μPD8237AC-5(i8237A英語版-5互換)[3]
  • MC68450
  • i430など、PentiumCPU以降対応のチップセット
  • μPD71037[4]

関連項目

外部リンク

脚注

  1. ^ L.Hennessy, John; A.Patterson, David (1994). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann Publishers. p. 574. ISBN 1-55860-281-X 
  2. ^ a b c P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. McGRAW-HILL INTERNATIONAL BOOK COMPANY. pp. 426-427. ISBN 0-07-027363-4 
  3. ^ 川村 清『PC-9801解析マニュアル[第0巻]』秀和システムトレーディング株式会社、1983年6月30日、199-236頁。 
  4. ^ pPD71037 Direct Memory Access (DMA) Controller”. 2024年1月7日閲覧。

「Direct memory access」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Direct memory access」の関連用語

Direct memory accessのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Direct memory accessのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリDMAの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのDirect Memory Access (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS