IT用語集 › ハードウェア › スキャッタ・ギャザー

スキャッタ・ギャザー

ハードウェア Svenska → 更新: 2026-11-03

離れた複数のメモリ領域に対する読み書きを、いったん一か所にコピーせず、一度の転送で行う方式。

基本的なDMAチャネルは、連続した1ブロックしか動かせない。スキャッタ・ギャザーでは、各断片のアドレスと長さを並べたディスクリプタのリストを渡すと、CPUが途中で目を覚ますことなく、順番に処理していく。ギャザーは送信時に複数の場所から集め、スキャッタは受信時に複数の場所へ散らす。

典型例はネットワークカードだ。プロトコルヘッダは一つのバッファに、ペイロードは別のバッファにあり、カードは両方を直接読む。同じ発想はソフトウェアにもreadv()とwritev()として存在し、4.2BSDで導入された。ファームウェアでは、DMAコントローラが延々と周回するディスクリプタのリングと組み合わされることが多い。

← 用語集に戻る