コンピュータが直接認識できる機械語は、命令の動作を指定する命令コードとオペランドで構成されます。命令コードは命令内のキーワードであり、デフォルトにすることはできません。オペランドは命令の動作を表します。演算対象とコンピュータの命令形式は、機械の語長、メモリ容量、命令機能と大きな関係があります。
機械語とは、機械が直接認識できる プログラム言語
または 命令コード
です。それぞれのオペレーション コードは、それを完成させるためにコンピューター内部に対応する回路を持っているか、または翻訳せずに機械が直接理解して受け入れることができるプログラミング言語または命令コードを指します。機械語は絶対アドレスと絶対オペコードを使用します。さまざまなコンピューターには、独自の機械語、つまり命令システムがあります。使用法の観点から見ると、マシン語は最も低レベルの言語です。
機械語命令は、オペコードとオペランドの 2 つの部分で構成されるバイナリ コードです。オペコードは命令の動作を指定します。これは命令内のキーワードであり、デフォルトにすることはできません。オペランドは命令のオペランドを表します。コンピュータの命令形式は、マシンの語長、メモリ容量、命令機能と大きな関係があります。
プログラムの設計を容易にし、基本演算の並列性を高め、命令の機能を向上させるという観点から、命令にはさまざまな情報を含める必要があります。ただし、一部の命令では情報の一部が無駄になるため、命令が占有する記憶領域が無駄になり、メモリアクセス回数が増加し、実際に速度に影響を与える可能性があります。
したがって、命令が十分な情報を提供するだけでなく、その長さをマシンのワード長とできるだけ一致させてコストを節約できるように、命令フォーマットを合理的かつ科学的に設計する方法は次のとおりです。記憶領域の削減と値の取得時間の短縮により、マシンのパフォーマンスが向上しますが、これは命令フォーマットの設計における重要な問題です。
コンピュータは命令を実行することでさまざまなデータを処理します。データのソース、演算結果の宛先、および実行された演算を示すために、命令には次の情報が含まれている必要があります。
(1) 演算コード。操作の性質と機能を指定します。コンピューターには数十から数百の命令があり、各命令には対応するオペレーション コードがあり、コンピューターはオペレーション コードを認識することでさまざまな操作を完了します。
(2) オペランドのアドレス。 CPU は、このアドレスを通じて必要なオペランドを取得できます。
(3) 演算結果の格納アドレス。オペランドの処理結果は、再利用のためにこのアドレスに保存されます。
(4) 次の命令のアドレス。プログラムを実行する際、ほとんどの命令は主記憶から順番にフェッチされて実行されますが、転送命令が発生した場合にのみプログラムの実行順序が変わります。命令の長さを圧縮するために、プログラム カウンター (ProgramCounter、PC) を使用して命令アドレスを保存できます。命令が実行されるたびに、PC の命令アドレスは自動的に 1 に設定され (命令が 1 つのメイン メモリ ユニットのみを占有すると仮定して)、次に実行される命令のアドレスを示します。転送命令が発生すると、転送アドレスを使用して PC の内容が変更されます。 PC を使用するため、次に実行される命令のアドレスを命令内で明示的に指定する必要はありません。
命令には実際には、オペレーションコード
とアドレスコード
という2種類の情報が含まれています。オペレーションコード (OperationCode、OP) は、命令によって完了する演算 (加算、減算、乗算、除算、データ転送など) を表すために使用され、その長さは命令システム内の命令の数に依存します。 。アドレスコードは命令のオペランドを記述するために使用され、オペランドを直接与えるか、オペランドのメモリアドレスやレジスタアドレス(つまりレジスタ名)を示します。
プログラミング学習について詳しく知りたい方は、php training のコラムに注目してください!
以上がコンピュータが直接認識できる機械語は何で構成されているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。