後藤 弘茂さんによる記事です。
この「POWER8※1」の特徴について後藤さんが述べている部分を以下に引用します:
CPUコアは12コアだが、各コアが8-wayのSMT(Simultaneous Multithreading)をサポートしている。そのため、CPU全体で96スレッドを同時に走らせることができる。
各CPUコアは8ディスパッチ、10イシュー、16実行ユニットと、Intelのx86系CPUコアの最高峰Haswell(ハズウェル)よりさらに規模が大きい。整数演算ユニットは2ユニットだが、分岐ユニットやコンディションレジスタアクセスなどは別ユニットとなっている。
CPUコアはマルチスレッドプログラミングを容易にするトランザクショナルメモリを備える。
96MBのL3 eDRAMは、構成上は、各CPUコア毎に8MBのL3リージョンに分けられている。しかし、IBMが「NUCA (Non-Uniform Cache Architecture)」と呼ぶ仕組みで、共有されている。
Power8は、メモリインターフェイスにMemory Bufferチップを使っている。つまり、Power8は、外付けのバッファチップを介してDRAMにアクセスする。
省電力では、電圧レギュレータモジュール(VRM)を統合し、コア単位での電圧制御を可能にしている。
1コア単位でみると、Intel Haswellで処理できるスレッド数が4倍の8スレッド、それに合わせて内部の実行ユニットが細分化されています。しかし、演算器はIntel Haswellの4器と比較して2器と少なくなっています。これは実行する対象の命令がRISC系(ロードストアアーキテクチャ)なのかCISC(非ロードストアアーキテクチャ)なのかによる差に起因するのかもしれません。
Intel Haswellに初めて搭載されたトランザクショナルメモリをこちらも搭載しているとのことです。仕組みがIntel Haswellと似たようなものであれば、こちらの方がキャッシュが多いので、より多くのトランザクションを一度に実行できるかもしれません。※2
メモリが直接POWER8につながるのではなく、いったんメモリバッファチップを介するというのは、一時期IntelがFB-DIMMで採用していたのと同じアイディアです。※3VRMをCPUに統合するのもIntelがHaswellで実施したのと同等の方向ですね。CPUの設計を突き詰めていくと、似たような方向に行く部分が増えていくのでしょう。
ところで、このCPUの製造プロセスは、
IBMの22nm SOI(Silicon-On-Insulator)プロセスで製造
とのことで、プロセスルールはIntelの22nmに追いついたようです。※43D構造のトランジスターではないもののSOIを導入しており、一定の省電力化が実現できているものと思います。
ふと思ったのですが、これはAMDがほしがっているプロセスなのでは、という気もします。価格面で折り合いがつかないかもしれませんが…。
後藤さんの本文は「Power」表記ですが、同記事の中のIBMの図表や
IBMのサイト内の表記が明らかに「Power」ではなく「POWER」なので、それに倣いました。
Intel HaswellはトランザクショナルメモリとしてL1キャッシュを使用する設計です。
2000年ころにはRambus社がハブを介してメモリを増設する設計を採用していたこともあります。
もっともこの値は各社で基準が違うので直接比較できません。