マイクロアーキテクチャ
プロセッサの具体的な内部設計。パイプライン、キャッシュ、実行ユニットなどが実際にどう作られているかを指す。命令セット(ISA)が「何ができるか」なら、マイクロアーキテクチャは「どうやるか」である。
違いは次のとおり。ISA(x86-64やARMv9など)は契約であり、どの命令とレジスタがあるか、プログラムから何が見えるかを定める。マイクロアーキテクチャはそのISAの個別の実装で、パイプラインの深さ、発行幅の大きさ、キャッシュの構成、分岐予測器の仕組みなどを決める。同じISAでも実装は多数あり、性能は大きく違う。x86-64のCPUはどれも同じ命令を実行するが、AMDの「Zen 4」とIntelの「Golden Cove」は内部がまったく別物だ。競争や世代ごとの性能向上が起きるのはマイクロアーキテクチャの層で、世代ごとに新しい「uarch」が出る。この違いを理解すれば、「同じ命令セット」が「同じ性能」を意味しない理由が分かる。コンピュータアーキテクチャの基本的な抽象レベルの一つである。ISAやRISC vs CISCと関連する。