差分

ナビゲーションに移動 検索に移動

コマンドキュー

1,665 バイト追加, 2021年2月5日 (金) 02:35
ページの作成:「'''コマンドキュー'''(英語:command queue)とは、特定のコマンド(処理)をキューに格納しておくと、別のプロセスやス…」
'''コマンドキュー'''(英語:command queue)とは、特定のコマンド(処理)を[[キュー]]に格納しておくと、別の[[プロセス]]や[[スレッド]]が適宜それを取り出して実行する方式のことである。

一部の実装では単純なキューではなく、キューの中においてコマンドの実行順序を並べ替えたりコマンドを結合したりといった最適化が行われることがある。

[[マルチスレッド]]における「[[スレッドプール]]」もほぼ同じ概念である。スレッドプールでは汎用的な処理を格納することができるが、コマンドキューの場合は前述のような最適化が行いやすいように単純なコマンドであることが多い。

== 主な実装例 ==

=== ハードディスクのNCQ ===
最近の[[ハードディスク]]には[[NCQ (Native Command Queue)]]という機構が搭載されており、1つの読み書き依頼が1つのコマンドとしてコマンドキューに格納される。複数の処理待ちが発生している場合はコマンドキューの中で磁気ヘッドの動きが最小になるように最適化してから実際の読み書き処理が行われる。

* https://xtech.nikkei.com/it/pc/article/NPC/20070316/265437/

=== GPUのコマンドリスト ===
最近の[[GPU]]では1フレームの描画処理をコマンドキューに格納して実行する方式が主流となっている。こちらは「[[CPU]]が[[GPU]]の処理完了を待たないための機構」という意味合いが強く、GPUが別スレッドのような扱いになる。

案内メニュー