NOP

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

NOP(ノップ)あるいは NOOP(ノープ)とは no operation (何もしない)を意味する。プログラミングやネットワーク通信と言ったコンピュータ関連の技術用語として使用される。

[編集] マシン語

マシン語において NOP は命令の1つとしてよく登場する。CPUはこの命令を読みとると文字通り「何もせず」にプログラムカウンタインクリメントのみを行う。それ自身では何の意味も持たない命令ではあるが、

  • 外部機器や他のプログラムとの同期のタイミングを取るための時間稼ぎ
  • ジャンプ命令のジャンプ先の指標
  • パイプライン処理における、ジャンプ命令の直後のディレイスロット
  • 後で命令を追加する予定の場所にダミーとして置く
  • NOPスレッドによる命令ポインタの制御

などの用途で使用される。

通常専用の命令(オペコード)を用意しているが、同等の機能を持つ命令(同一レジスタでの移動、次の番地へのジャンプ)で代替する場合もある(TMS9900など)。

[編集] 通信プロトコル

いくつかの通信プロトコルでは、NOP や NOOP というコマンドを備えている。このコマンドを送信した場合、具体的に何かが起こるわけではないがサーバからの応答は返ってくる(プロトコルによっては特別なメッセージや情報を返すものもある)。このコマンドは主にサーバとの接続が切断されていないか、あるいはトラフィックの増大等の理由でサーバからの応答が遅れていないかを調べる目的で使用される。

NOP もしくは NOOP コマンドを備えている主な通信プロトコルとして以下のものがある。

  • FTP - NOOP コマンド
  • SMTP - NOOP コマンド
  • POP3 - NOOP コマンド
  • TCP - TCP オプションでオプション番号 1 が No-Operation(何もしない)を意味する
  • Telnet - NOP コマンド