ホームページ >よくある問題 >アプリケーションの指示は次のように分類できます。

アプリケーションの指示は次のように分類できます。

藏色散人
藏色散人オリジナル
2021-02-08 11:11:1396795ブラウズ

アプリケーションの命令は、中央処理装置 (CPU) の命令セットと、オペレーティング システムに特定のサービスを要求するために使用される命令セットの 2 つのカテゴリに分類でき、アプリケーションの処理フローは中央プロセッサの操作命令は、命令フェッチと変換に大別され、コード化、実行、フェッチ、ライトバック、PC の更新を行います。

アプリケーションの指示は次のように分類できます。

#この記事の動作環境: Windows 7 システム、DELL G3 コンピューター。

理論的には、アプリケーション内の命令は、中央処理装置 (CPU) の命令セットと、オペレーティング システムに特定のサービスを要求するために使用される命令セットの 2 つのカテゴリに分類できます。

中央処理装置 (CPU、Central Processing Unit) は、非常に大規模な集積回路であり、コンピューターの計算コア (コア) と制御コア (コントロール ユニット) です。その機能は主に、コンピュータの命令を解釈し、コンピュータ ソフトウェアでデータを処理することです。

中央処理装置は、主に演算装置(算術論理演算装置、ALU、Arithmetic Logic Unit)とキャッシュメモリ(Cache)、それらの間の接続を実現するバス(Data)、制御およびステータスで構成されます。バス)。内部メモリ (Memory) および入出力 (I/O) デバイスとともに、電子コンピュータの 3 つのコア コンポーネントとして総称されます。

CPUの動作命令の処理の流れは、大きく分けて命令フェッチ、デコード、実行、メモリアクセス、ライトバックなどのいくつかのステップに分かれます。各命令には、どのフィールドが必要かに応じて、1 ~ 6 バイトが必要です。各命令の最初のバイトは命令のタイプを示します。上位 4 ビットはコード部分 (例: 6 は整数演算命令)、下位 4 ビットは関数部分 (例: 1 は減算命令) です。整数クラス) 61 これらは一緒にサブコマンドになります。

処理命令フロー

命令セットの重要な特性は、バイト エンコーディングが独自の解釈を持つ必要があることです。バイト シーケンスは、一意の命令シーケンスをエンコードしているか、有効なバイト シーケンスではありません。各命令の最初のバイトにはコードと機能の一意の組み合わせがあるため、このバイトが与えられると、他のすべての追加バイトの長さと意味を判断できます。

各命令には、必要なフィールドに応じて 1 ~ 6 バイトが必要です。各命令の最初のバイトは命令のタイプを示します。上位 4 ビットはコード部分 (例: 6 は整数演算命令)、下位 4 ビットは関数部分 (例: 1 は減算命令) です。整数クラス) 61 これらは一緒にサブコマンドになります。

以下は、各命令を処理するためのフローチャートです。

Fetch (フェッチ)

値フェーズはメモリから命令バイトを読み取り、それを命令メモリ (CPU 内) に置くと、アドレスはプログラム カウンタ (PC) の値になります。現在の命令に続く次の命令のアドレス (つまり、PC の値にフェッチされた命令の長さを加えたもの) を計算します。

デコード(デコード)

ALU は、レジスタ ファイル (汎用レジスタの集合) から最大 2 つのオペランドを読み取ります。 (つまり、一度に最大 2 つのレジスタの内容を読み取ります)

実行(execute)

実行フェーズでは、算術論理演算ユニット (ALU) がさまざまな目的で使用されます。命令の種類に応じて機能します。他の命令の場合、スタック ポインターのインクリメントまたはデクリメントを計算するための加算器として機能するか、実効アドレスを計算するか、または単純に 0 を加算して入力を出力に渡します。

条件コード レジスタ (CC) には 3 つの条件ビットがあります。 ALU は、条件コードの新しい値を計算する役割を果たします。ジャンプ命令が実行されると、条件コードとジャンプの種類に基づいて分岐信号 cnd が計算されます。

メモリ アクセス (メモリ)

メモリ アクセス フェーズでは、(CPU 内の) データ メモリがメモリ ワードの読み取りまたは書き込みを行います。命令メモリとデータ メモリは同じメモリ位置にアクセスしますが、目的は異なります。

ライトバック(ライトバック)

ライトバックフェーズでは、最大 2 つの結果をレジスタ ファイルに書き込むことができます。レジスタ ファイルには 2 つの書き込みポートがあります。ポート E は ALU によって計算された値を書き込むために使用され、ポート M はデータ メモリから読み取られた値を書き込むために使用されます。

Update PC (PC更新)

命令コードと分岐フラグに従い、前ステップで取得した信号値から次のPC値を選択します。

関連知識の詳細については、

PHP 中国語 Web サイト をご覧ください。

以上がアプリケーションの指示は次のように分類できます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。