プロセッサ補足機能とは、既存の中央処理装置(CPU) 設計が市場に初めて導入された後にその設計 に追加された機能です。
補足機能によりプロセッサ設計の有用性が向上し、競合他社との競争力が高まり、消費者にアップグレードの理由を与えると同時に、元の設計との下位互換性も維持されます。
CPU 補助命令機能は、8 ビットまたは 16 ビットの CPU には適用されません。これらの CPU の多くは、主にマイクロコントローラとして使用されているからです。最新の 32 ビットおよび 64 ビット CPU では、プロセッサ補助機能は、基本的なコア機能と見なされる浮動小数点ユニット (FPU)またはメモリ管理ユニット(MMU)には適用されません。ただし、MMU および FPU のコア機能の拡張は、CPU 拡張と見なされる場合があります。
歴史的推論
補助命令機能は、CPU ファミリ内のすべての CPU に必須ではない固定の命令セットを意味すると常に考えられてきました。補助命令は、そのファミリ内のすべてのプロセッサに搭載されているわけではありません。[1] CPU の補助機能を使用したいプログラマーは、いくつかの選択肢に直面します。
補足命令プログラミングオプション
- オペレーティング システム(カーネル) とシステム プログラマー(プログラム) は、その機能を必須で使用するようにシステム ソフトウェアを設計することを選択できます。その結果、その機能を備えた最新のプロセッサでのみ実行できるようになります。
- 一方、システム プログラマーは、ソフトウェア ライブラリを作成したり既存のソフトウェア ライブラリを使用したりして、システムが実行されているプロセッサに特定の機能 (または命令セット) があるかどうかを判断することができます。
必要な命令がない場合は、(おそらくより遅いか、あるいはあまり望ましくない)代替手法へのフォールバックが開始されるか、または機能が制限された状態でプログラムが実行されるように設定される可能性があります。
- 場合によっては、オペレーティング システムが古いプロセッサの新機能を模倣することがありますが、パフォーマンスは低下することがよくあります。
最小公分母戦略(プロセッサの補助機能の使用を避ける)を使用することで、プログラムは同じアーキテクチャのすべてのマシン間で移植可能に保つことができます。[2]
影響を受けるCPUファミリー
x86、68000、MIPSなどの一般的なプロセッサ アーキテクチャでは、数世代にわたる設計を通じて多くの新しい機能が導入されてきました。
これらの機能の一部はプログラマーによって広く採用され、消費者のアップグレードを促進し、以前の世代のプロセッサを時代遅れにしました。
x86 機能フラグ
フラグで表されない補足機能
含める(完全なリストではありません):
プロセッサ補足指示
プロセッサ補足命令は、ファミリ内の特定のプロセッサに実装されているが、特定のファミリ内のすべてのプロセッサに存在するわけではない命令です。
IA-32
以下の命令は、 IA-32アーキテクチャのプロセッサ補足命令と見なされます。これらの命令は、後期生産プロセッサに追加されたものであり、元の IA-32 命令セットの一部ではありません。これらの命令を含むプログラムは、IA-32 ファミリのすべてのマシンで正しく動作しない可能性があります。
FPUとMMUの機能
FPU (浮動小数点ユニット) 数学コプロセッシング機能は、80486DX シリーズ以降のすべての x86 プロセッサで利用できます。FPU および MMU 命令セット (x86 ファミリ用) は、コア CPU 機能にとって重要であるため、導入以来、補助命令とは見なされていません。
参照
参考文献
- ^ http://markhobley.yi.org/glossary/supplementarycapability.html [永久リンク切れ ]
- ^ http://markhobley.yi.org/glossary/supplementarycapability.html [永久リンク切れ ]
