マイクロオペレーションとは?

コンピュータはプログラミング言語でプログラムされています。これらの言語は一般に人間が読める形式であり、プログラマーはコンピューターの動作を構成できます。次に、このコードをコンピューターの命令にコンパイルする必要があります。これの正確な詳細は、目的のコンピューターが使用する命令セット アーキテクチャまたは ISA によって異なります。これが、Intel および AMD の x86 CPU と、最新の Apple デバイスで使用されている ARM CPU のダウンロード リンクが異なる理由です。x86 と ARM の ISA は異なります。ソフトウェアは個別にコンパイルする必要があります。Apple が示したように、凝った翻訳層を構築することは可能です。そうするのは一般的ではありません。

CPU は提示された命令を認識し、それらを順番に実行すると考えるかもしれません。最新の CPU には、パフォーマンスを最適化するためにオンザフライで順序を変更できるアウトオブオーダー実行など、多くのトリックがあります。ただし、かなりうまく隠されている巧妙な部分は、マイクロ操作です。

マイクロオペレーションへのパイプライン

マシンコードの個々の命令は、命令または操作と呼ばれます。用語は交換可能です。複雑な命令セット コンピューティングまたは x86 のような CISC アーキテクチャの問題の 1 つは、命令の長さが異なる可能性があることです。これは具体的には、表現するのに必要なデータの量を指します。x86 では、命令は 1 バイトから 15 バイトまで短くすることができます。これを、最新の ARM CPU で使用される固定長 4 バイト命令の標準 RISC-V アーキテクチャと比較してください。

ヒント: RISC は、Reduced Instruction Set Computing の略です。

この構造の違いが意味することの 1 つは、RISC アーキテクチャは効率的にパイプライン処理するのがはるかに簡単になる傾向があるということです。各命令には、異なるハードウェアを使用する複数の操作段階があります。パイプラインは、これらのステージを介して複数の命令を同時に実行し、各ステージで正確に 1 つの命令を実行します。パイプライン処理を効率的に使用すると、パフォーマンスが大幅に向上します。パイプラインを効率的に利用するための重要な要素の 1 つは、各ステージが同時に使用されるようにすることです。これにより、パイプラインを介してすべてがスムーズに実行されます。

すべての命令が同じ長さであるため、RISC 命令は互いに同じ処理時間を必要とする傾向があります。ただし、CISC では、x86 のように、一部の命令が完了するまでに他の命令よりもはるかに時間がかかる場合があります。これにより、CPU をパイプライン化する際に大きな効率の問題が発生します。より長い命令が来るたびに、パイプラインでより長くスタックします。これにより泡が発生し、その背後にあるすべてのものを保持します。これを解決するのがマイクロオペレーションです。

効率的なマイクロオペレーション

各命令を実行可能な唯一の操作レベルとして扱う代わりに、マイクロ操作は新しい下位レイヤーを導入します。各操作は、多くのマイクロ操作に分割できます。マイクロ操作を慎重に設計することで、パイプラインを最適化できます。

興味深いことに、これは新しい利点を提供します。全体的な ISA (x86 など) は、多くの異なる CPU 世代間で同じままですが、マイクロ操作はハードウェアの世代ごとにカスタム設計できます。これは、各マイクロ操作の各パイプライン ステージからどれだけのパフォーマンスを引き出すことができるかを深く理解することで実行できます。

マイクロ オペレーションの初期の頃は、マイクロ オペレーションに応じて特定の機能を有効または無効にするハードワイヤード接続でした。最新の CPU 設計では、リオーダー バッファにマイクロ操作が追加されています。CPU が効率指向の並べ替えを実行できるのは、このバッファーです。並べ替えられるのは、実際の命令ではなく、マイクロ操作です。

場合によっては、特により高度な CPU では、さらに多くのことを実行できます。マイクロオペレーションの融合は、複数のマイクロオペレーションが 1 つに結合される場所です。たとえば、単純なマイクロ操作のシーケンスは、単一のより複雑な命令で実行できるアクションを実行する場合があります。実行されるマイクロ操作の数を減らすことで、プロセスをより速く完了できます。これにより、状態変化の回数も減り、消費電力が削減されます。完全な命令を分析して、より効率的なマイクロ操作構造に結合することもできます。

一部の CPU は、マイクロオペレーション キャッシュを利用します。これは、再度呼び出された場合に再利用できる、完全にデコードされたマイクロ操作シーケンスを格納します。通常、このようなキャッシュのサイズは、バイト容量ではなく、格納できるマイクロ操作の数によって参照されます。

結論

マイクロ操作は、命令セットの CPU 固有の実装です。命令は一連のマイクロ操作にデコードされます。これらのマイクロ操作は、より効率的にパイプライン化することが非常に簡単になり、CPU リソースをより有効に活用できます。マイクロ操作は命令セットにハードコードされていないため、各世代の CPU の特定のハードウェアに合わせてカスタマイズできます。マイクロオペレーションは、多くの場合、マイクロオペレーションまたはマイクロオプスにまで短縮されます。これは、マイクロプレフィックスの SI 記号であるギリシャ文字 μ (ミューと発音) を使用します。



Leave a Comment

Powerbeats Proがケースで充電できない場合の対処法

Powerbeats Proがケースで充電できない場合の対処法

Powerbeats Proが充電できない場合、別の電源を使用し、イヤフォンを清掃してください。充電中はケースを開いたままにしてください。

3Dプリントの基本:必見のメンテナンスチェックリスト

3Dプリントの基本:必見のメンテナンスチェックリスト

設備を良好な状態に保つことは必須です。ここでは、3Dプリンターを最良の状態に保つための役立つヒントをご紹介します。

キヤノン Pixma MG5220: インクなしでスキャンする方法

キヤノン Pixma MG5220: インクなしでスキャンする方法

インクが切れた場合にキヤノン Pixma MG5220でスキャンを有効にする方法。

ノートパソコンが過熱する5つの理由

ノートパソコンが過熱する5つの理由

ノートパソコンが過熱する可能性のある理由と、この問題を回避してデバイスを冷却するためのヒントやコツを見つけましょう。

GeForce Now エラーコード 0xC272008F 修正方法

GeForce Now エラーコード 0xC272008F 修正方法

ゲームを楽しむ準備が整い、『Star Wars Outlaws』をGeForce Nowでプレイしようとすると、エラーコード0xC272008Fが発生。Ubisoftゲームを再び遊ぶための唯一の解決策を見つけましょう。

3Dプリンティングの基本:3Dプリンターのメンテナンステクニック

3Dプリンティングの基本:3Dプリンターのメンテナンステクニック

3Dプリンターを維持することは、最高の結果を得るために非常に重要です。念頭に置くべき重要なヒントをご紹介します。

プリンターのIPアドレスを見つける方法

プリンターのIPアドレスを見つける方法

プリンターの使用しているIPアドレスがわからなくて困っていますか?その情報を見つける方法をお教えします。

Samsungの電話でAirPodsを使用する方法

Samsungの電話でAirPodsを使用する方法

Samsungの電話用にAirPodsを購入するかどうか迷っているなら、このガイドが役立ちます。もっとも明白な質問は、両者が互換性があるかどうかです。

修正:ChromebookがBluetoothデバイスに接続しない

修正:ChromebookがBluetoothデバイスに接続しない

BluetoothデバイスをChromebookとペアリングできない場合は、Bluetoothオプションを無効にして、ラップトップを再起動します。

ダブルVPNとは何ですか?シングルVPNよりどれだけ優れていますか?

ダブルVPNとは何ですか?シングルVPNよりどれだけ優れていますか?

ダブルVPNは、ネットワークの使用状況を監視している人からユーザーを保護するための優れた解決策です。