マルチワードDMA転送

出典: くみこみックス

マルチワードDMA転送(マルチワードDMAてんそう)

 CPUを介さず,メモリとI/O装置の間で複数サイクル,複数データの転送を1回のコマンド操作で行うこと.パソコンでは,ATAタイプのハード・ディスクのデータ転送モードの一つを指す.これが狭義のマルチワードDMAで,具体的には,ATA-2,ATA-3,ATA-4の各規格で,マルチワードDMAモード0〜2が定義されている.モード0は最大4.2Mバイト/s,モード1は最大13.3Mバイト/s,モード2は最大16.6Mバイト/sの転送速度を有する.ただし,1990年代後半になると,ATAドライブのマルチワードDMA転送はあまり利用されなくなった.さらに高速なバス・マスタ方式によるUltra ATA33やUltra ATA 66などによるデータ転送が主流になったためである.ただ,これらも正式にはUltra DMA/33,Ultra DMA/66などと呼称され,動作的には広義のマルチワードDMA転送であると言える.マルチワードDMA転送の実装上の留意点は,長い転送サイクルと転送エラーの検出である.1回の転送単位が比較的大きい(4Kバイトなど,ディスクI/Oのブロック単位)ため,一度転送サイクルに入ると,長時間にわたってI/Oチャネルやメモリを占有する可能性がある.また,転送動作中にエラーが起き,チャネルを明け渡さなくなった場合の復旧処理も必要になる.そこで,メモリとの間にFIFO(First-in First-out)バッファを置き,速度調整とバスの分離を行ったり,転送エラーをタイムアウトで検出して強制終了したりするなどの仕組みを用意する必要がある.



【出典】Interface編集部 編;組み込み技術用語集,Interface 2007年8月号 別冊付録,CQ出版社,2007年8月.

表示