最近のサーバでは仮想化が良く用いられるようになってきており、仮想化の性能が重要になっている。仮想化での一つの性能ボトルネックとして、ゲストOSでページミスが発生した場合には、Hypervisorに移行してページテーブルを書き換える必要があり、Hypervisorの呼び出し頻度が高く、これに時間が掛かってしまうという問題がある。これに対して、Nehalemでは、ゲストOSが生成した物理アドレスを、もう一度、アドレス変換して本当のメモリのアドレスに変換するExtended Page Table(EPT)という機構を追加した。EPTで各ゲストOSに対応したアドレス変換を適用できるので、ページミスに際して、Hypervisorを呼び出す必要が無くなり、仮想化性能が向上する。
更に、Nehalemは、ローパワーのノートブックなどへの適用も視野にいれており、省電力化に関してIntegrated Power Gateという新技術を導入した。Integrated Power Gateでは、各コアにP-MOSトランジスタで出来た電源スイッチを入れる。
新たに採用されたIntegrated Power Gate技術(出典:Intelの発表資料) |
そして、コアがアイドル状態のC6ステートになると、この電源スイッチをオフにする。2コア程度であればAMDのモバイルチップのように、独立の電源をつけることも可能であるが、4コア、8コアとなると、それぞれに独立に制御できる電源をつけることは現実的ではない。一方、一つのコアしか使っていないのに、残り3つのアイドルのコアにも同じ電源電圧を供給するとリーク電流が流れ、無駄な電力を消費してしまう。このように、従来のC6ステートでは、アイドルなコアもある程度のリーク電力を消費してしまっていたが、今回のIntegrated Power Gateにより、C6ステートのコアは殆どゼロ消費電力にすることができる。
但し、この電源スイッチには低リーク電流で、かつ、ON抵抗の低い巨大なP-MOSトランジスタを必要とする。筆者は、このトランジスタが、面積的にどの程度のオーバヘッドになっているかを質問したのであるが、知らないという答えであった。また、ON抵抗が低いといってもある程度の電圧降下が発生し、ゲートの遅延時間が延びてしまう。この効果についても質問したのであるが、Singhal氏は、そのような効果にも全く知識がないようであった。ということで、旧知のSunのエンジニアと、「彼はアーキテクトで実装のことは知らないな、まあ、来年のISSCCで質問するか」というような会話をした。
また、Nehalemではコアの温度、電流、電圧などのセンサー情報から、消費電力と温度に余裕がある場合には、ビジーなコアをオーバークロックして性能を上げるターボモードという機能を実装している。MS Wordなどの処理は基本的に並列化が困難であり、4コアあっても使いきれない。このような状態では、動いているコアのクロックを上げても消費電力や温度は定格の範囲に納まる。そして、動いているコアの性能が上がるという仕組みである。また、4コア全部を動かしている場合でも、周囲温度が低かったり(あるいは、貴方の買ったチップの出来が良く、消費電力が少なかったり)すると、その余裕分だけオーバークロックできる。しかし、具体的にこのターボモードでどれだけ性能が上がるかについては公表されなかった。