6
インテルがプロセッサーの内部RISCコアを隠すのはなぜですか?
Pentium Pro(P6マイクロアーキテクチャ)から、Intelはマイクロプロセッサを再設計し、古いCISC命令の下で内部RISCコアを使用しました。Pentium Pro以降、すべてのCISC命令は小さな部分(uops)に分割され、RISCコアによって実行されます。 当初、Intelが新しい内部アーキテクチャを非表示にし、プログラマに「CISCシェル」の使用を強制することを決定したことは明らかでした。この決定のおかげで、Intelは互換性を損なうことなくマイクロプロセッサアーキテクチャを完全に再設計することができました。それは合理的です。 しかし、私は1つのことを理解していません。なぜ、Intelは内部RISC命令セットを何年も隠しているのですか?古いx86CISC命令セットを使用するように、プログラマーにRISC命令を使用させないのはなぜですか? Intelが下位互換性を長期間維持している場合(64ビットモードの隣に仮想8086モードがまだあります)、CISC命令をバイパスして、RISCコアを直接使用するようにプログラムをコンパイルできないのはなぜですか?これにより、x86命令セットをゆっくりと放棄する自然な方法が開かれますが、これは最近非推奨になっています(これが、Intelが内部でRISCコアを使用することを決定した主な理由ですよね?)。 新しいIntelの「Corei」シリーズを見ると、AVX、SSE4などを追加したCISC命令セットのみが拡張されていることがわかります。