Direct Memory Access 歴史

Direct Memory Access

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/05 23:18 UTC 版)

歴史

DMAはPDPシリーズにおいて採用されていた。

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

また、日立のH8にもDMACが存在している[8]

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

1990年代に、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待ち時間が発生しシステム性能に悪影響を与えた。


  1. ^ a b c d e f g h [https://edn.itmedia.co.jp/edn/articles/1608/18/news015.html EDN, 菅井賢「DMAのメリットって何?」
  2. ^ Tech Target, Direct Memory Access
  3. ^ a b c Linda Null, Julia Lobur(2006), The Essentials of Computer Organization and Architecture, p.335, Direct Memory Access
  4. ^ [https://edn.itmedia.co.jp/edn/articles/1608/18/news015_2.html 「DMAって何 p.2」
  5. ^ a b c Hayes, John P. (1978,1979). Computer Architecture and Organization. McGRAW-HILL INTERNATIONAL BOOK COMPANY. pp. 426-427. ISBN 0-07-027363-4 
  6. ^ a b https://edn.itmedia.co.jp/edn/articles/1608/18/news015_3.html
  7. ^ Hennessy, John L.; Patterson, David A. (1994). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann Publishers. p. 574. ISBN 1-55860-281-X 
  8. ^ CQ「H8-MPUを知る」
  9. ^ 川村 清『PC-9801解析マニュアル[第0巻]』秀和システムトレーディング株式会社、1983年6月30日、199-236頁。 
  10. ^ pPD71037 Direct Memory Access (DMA) Controller”. 2024年1月7日閲覧。
  11. ^ µPD71071 DMA Controller”. p. 940(5g1). 2024年4月26日閲覧。
  1. ^ 外部入出力(I/O)や周辺装置のデータ転送速度は通常、RAMよりも桁違いに遅いので、DMAが使われる以前は、CPUはデータ転送の仕事の間、ほとんどの時間待っていなければならず、その間は他の仕事ができなかった。





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

辞書ショートカット

すべての辞書の索引

「Direct Memory Access」の関連用語

Direct Memory Accessのお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
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の元に提供されております。

©2024 GRAS Group, Inc.RSS