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

コンピュータはプログラミング言語でプログラムされています。これらの言語は一般に人間が読める形式であり、プログラマーはコンピューターの動作を構成できます。次に、このコードをコンピューターの命令にコンパイルする必要があります。これの正確な詳細は、目的のコンピューターが使用する命令セット アーキテクチャまたは 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

ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。