Skip to main content

ブランチテーブルとは何ですか?

branchブランチテーブルは、プログラムのある部分から別の部分から別の部分にプログラム制御を効率的に転送する方法、または指示のブランチを送信するか、スイッチステートメントを実装することにより、動的にロードされた2番目のプログラムに効率的に転送する方法です。ジャンプテーブルと呼ばれるこの方法は、C+コンパイラからのスイッチステートメントに従って手順を実装するためにジャンプを実行するために一連の状況または条件に依存しています。ブランチテーブルの主な利点のいくつかは、コンパクトなコード構造と、プログラムの流れを決定する際にリターンコードを個別にテストする必要性の減少です。これらは、組み込みシステムとオペレーティングシステムの開発のためのアセンブリプログラミングでまだ使用されています。1990年代以来、コンパイラプログラミング言語もブランチテーブルの機能を利用しています。branchブランチテーブルは、入力を与えられた無条件の指示のリストで構成されています。ほとんどのコンピューターハードウェアは、これらの命令を効率的に実行できます。時々、オフセット—基本的に、目的地までの距離—プログラムカウンターレジスタに追加することができます。これにより、ブランチの命令のセットを指したり、ブランチの命令のセット間でジャンプできます。ブランチテーブルを実装するために必要なのは、入力コードの検証、データをオフセットに変換し、データを特定の命令長に掛けることです。または配列付きポインター。埋め込まれた制御システムには、そのメモリの節約が必要であり、ブランチテーブルへのアクセス中に少量のパフォーマンスがかかる場合がありますが、仮想メソッド関数呼び出しは、安定した機能に同じ量のパフォーマンスがかかります。組み込みシステムの制限されたCPUアクセスとメモリの節約には、静的関数セット用のブランチテーブルが必要です。Compilerプログラミング言語では、コンパイラを最適化するために検索キーを使用して必要に応じて独自のブランチテーブルを生成します。一部のプログラマーは、コンパイラにキーを検索するために2段階の条件付きパラメーターを提供することにより、コンテキストのブランチテーブル生成でコンパイラを手動で支援することを選択します。プログラムのコンパイルの初期の年には、Branch Tableの実装は、Fortranコンパイラ言語のGOTOコマンドでした。ブランチテーブルは、コンパイラ言語のプログラムフローの変更を実装したり、繰り返し命令シーケンスの出発点として使用されたりするために使用されます。