コンピュータでプログラムを実行する 3 つのステップは次のとおりです: 1. 命令フェッチ段階、命令キャッシュから関連する命令をフェッチし、その命令を命令レジスタに送信します; 2. デコード段階、命令を命令レジスタに送信します。命令デコード デバイス内でデコードし、命令デコーダが制御信号を送信し、プログラム カウンタが次の命令を指すように 1 を追加します; 3. 実行フェーズでは、データがレジスタにロードされ、動作ステータスが記録されます。キャリーやオーバーフローが発生した場合はステータスレジスタに記録され、演算結果はオンチップバスを介して送信されます。
このチュートリアルの動作環境: Windows 10 システム、DELL G3 コンピューター。
命令のフェッチ、デコード、実行
各ステップの詳細な操作
##命令フェッチ段階:
1. 命令キャッシュから関連する命令をフェッチします。 2. 命令を命令レジスタに送信します。解析命令:
1. 命令をデコードするために命令デコーダに送信します。 2. 命令デコーダは制御信号を送信し、同時に、プログラム カウンタは 1 増加し、下向きになります。命令は次の命令を指します:
1. データをレジスタ## にロードします。 # 2. ALU がデータを処理します
3. 記録 キャリーまたはオーバーフローがある場合、演算ステータスがステータス レジスタに記録されます
# 4. 演算結果をオンチップ経由で送信しますバス##知識を広げる#CPU パイプライン設計##上記のプロセスは、命令実行プロセスの一般的な動作です。上記のデモは基本的に命令実行プロセスの各ステップをカバーしています。
命令の実行処理に問題があり、命令をフェッチして解析する場合は主にコントローラが作業を担当し、命令を実行する場合は主に演算器が作業を担当します。つまり、演算器とコントローラが同時に動作できず、CPUの総合利用率が低いため、CPUの総合利用率を向上させるためには命令実行処理を改善する必要があります。パイプライン設計です。 CPU 組立ラインの設計は工場の組立ラインに似ており、工場の組立ラインでは複数の製品を同時に処理できます。同時に、さまざまな製品がさまざまな処理段階にあります。
パイプライン設計が適用されていない場合、コンピューター命令はシリアルに実行されます。
パイプライン設計が使用される場合、コンピューター命令は以下に示すように並列実行されます。 : #さらに関連する知識については、FAQ
列をご覧ください。以上がコンピュータ上でプログラムを実行するための 3 つの手順は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。