Cache Coherency in Itanium Processor Software (Intel)

次期 Itanium プロセッサー Montecito は、現行の Itanium2 プロセッサーとキャッシュの構造が異なるそうだ。現行の Itanium2 プロセッサーは L2 が Data と Instruction が共通の unified cache なのに対して、Montecito の L2 キャッシュは Data (256KB) と Instruction (1MB) が分離しており、その間で完全な coherent を取らない仕組みになっているそうだ。

そのため自己書き換えコード (self/cross-modifying code ;SMC/XMC) を走らせると、振る舞いが変わる可能性があるようだ。インタプリタ仮想マシン系のアプリケーションで問題がでそう。


P.S.
ついでに言うと Montecito からは CPU 内の IA-32 エミュレータが除去される。
最新の OS はもう CPU の IA-32 エミュレータなんか使わないから構わないんじゃないかと思っていたが、各種デバイスの IPF プラットフォーム用の BIOSIA-32 コードがまだ残っているようだ。