スキャッタ・ギャザ

出典: くみこみックス

2009年1月26日 (月) 06:19; Worker (会話 | 投稿記録) による版
(差分) ←前の版 | 最新版を表示 (差分) | 次の版→ (差分)

 WindowsやUNIXなどの仮想記憶をサポートするOSにおいて,ディスクI/Oやオーディオ/ビデオ・データなどをDMA(Direct Memory Access)やバス・マスタ転送で効率良く連続データ転送できるようにする機能.ハードウェアによる論理/物理アドレス変換機構とデバイス・ドライバで実装される.仮想記憶をサポートするOSは,プログラムが使用するメモリを論理アドレスとして管理している.OSのメモリの最適化操作のため,ある瞬間の論理アドレスに対応する物理アドレスは常に一定ではない.また,論理アドレス上では連続していても,物理アドレスは連続しているとは限らない.一方,DMAやバス・マスタ転送は,CPUを介さずに連続した物理アドレスに対するデータ転送を行う.そこで,デバイス・ドライバのバッファ・メモリ領域(論理アドレス)に対応した物理アドレス(ページ情報など)を格納するテーブルを,連続した物理アドレスにマップしたハードウェアとして用意し,論理/物理アドレス変換を行う.ここにDMAやバス・マスタ・デバイスが連続アクセスすれば,バッファ・メモリの物理アドレスが得られる.そのアドレスが示すデータを読み出せば,実際の物理アドレスの状態にかかわらず,連続アドレスとしてアクセスできる.この代表的な実装例に,AGPのAGPアパーチャとGART(Graphic Address Relocation Table)がある.

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

表示