物理的にはCarrizoと同じだが性能が違うBristol Ridge AMDは、2016年の“新世代”APU「Bristol Ridge(ブリストルリッヂ)」を、COMPUTEX TAIPEI 2016に合わせて発表した。AMDは、第7世代の新APUと謳っている。ただし、謳い文句の新世代の部分には、クォーテーションマークが付く。というのは、このAPU(Accelerated Processing Unit)は、物理的には新しいチップではないからだ。Bristol Ridgeのダイ(半導体本体)自体は現在のAPU「Carrizo(キャリゾ)」と変わらない。 Bristol Ridgeは、4個の「Excavator(エキスカベータ)」CPUコア、GCN(Graphics Core Next) 1.2アーキテクチャのGPUコアを8 CU(Compute Unit)搭載し、サウスブリッジチップを統合したSoC(System on a Chip)となっている。ユニット的にはCarrizoと同じだ。機能上で目立つCarrizoとの違いは、DDR4対応だが、これもCarrizoの時から実装されており、Bristol Ridgeで有効化されただけだ。 このようにCarrizoと変わらないにも関わらず、Bristol Ridgeは、非常に興味深いAPUだ。それは、AMDがさまざまな技を使って、性能を引き上げているからだ。「Carrizoに対してBristol Ridgeは、CPUで20%、GPUでは最大37%も性能がアップしている」とJoe Macri氏(Vice President and CTO, AMD Client Products, AMD)は言う。一言で言えば、新しいチップを設計したのと同程度の性能アップを達成している。 AMDがCarrizoをリリースしてから約1年。1年あれば、APUを再設計して性能を上げることも可能ではある。ところが、Bristol Ridgeの場合は、そうではなく、物理的な設計には一切手を付けていない。「Bristol Ridgeは、Carrizoとまったく同じプロセス技術を使い、チップ上のトランジスタにも一切違いがない、マスクセット(半導体製造のパターニング原盤)すらまったく同じだ」とMacri氏は語る。 では、どうやって同じダイのAPUの性能を引き上げたのか。

シャドウPステイトの導入でダイ毎の制御を 半導体チップは、電圧を上げるとトランジスタのスピードが上がるため、より高い周波数で動作できるようになる。そして、同じプロセス技術でも成熟すると、同電圧時の動作周波数を上げることができるようになる。そのため、同じ電力枠でも、プロセスの成熟によって動作周波数と電圧の組み合わせが変わる。実際には、性能アップの半分は、このプロセスの成熟によって実現されているという。 さらに細かく見ると、チップの動作周波数は、パスのレイテンシが長いクリティカルパスによって決まる。クリティカルパスに合わせた動作周波数にしなければならない。さらに、そこにCMOSプロセスにはばらつきという要素が加わる。プロセスばらつきによって、個々のチップのキャラクタリスティックが異なる。ばらつきによって、クリティカルパスが遅くなったチップは、電圧を上げないと規定の動作周波数まで達することができない。つまり、プロセスが成熟すると周波数が上がるが、ダイ毎にばらつきがあって、その度合いが変わる。 そこで、AMDはこうした要素を吸収するために、動作周波数と電圧をステップで切り替える「DVFS(Dynamic Voltage and Frequency Scaling)」を最適化した。そもそも、AMDは、Carrizoで、DVFSを拡張して実際のシリコンダイの動作周波数上限に合わせて最適化する「AVFS(Adaptive Voltage and Frequency Scaling)」を導入している。これは、CPUコアに周波数センサーを設置して、特定の動作周波数での動作がどの最低電圧で可能になるかを検知する仕組みだ。これによって、プロセスばらつきによる動作周波数と電圧の組み合わせの違いに合わせる。 DVFS/AVFSは、いずれもプロセッサのPステイトに応じて周波数&電圧を切り替える。そこで、「Bristol Ridgeでは新たにPステイトを10ステイト設定した。OS側が扱うPステイトは8つだ。そのため、2つのPステイトは、シャドウPステイトとなる」とMacri氏は説明する。つまり、Bristol Ridgeでは従来の8個のPステイトの上に、さらに2つのPステイトを設定した。そして、OS側の8つのPステイトを、CPU側の10のPステイトにマップするシステムにした。 この方法によって、Bristol Ridgeでは、チップによってはより高いPステイトへと振ることができるようになった。つまり、AVFSによってチップの最適な周波数と電圧に遷移するだけでなく、周波数と電圧の上限に余裕がある場合は、より高い周波数と電圧の組み合わせにステップアップすることができる。これによって、Bristol Ridgeでは、一定の電力枠の中で、製品の動作周波数を引き上げることが可能になった。

ライアビリティをトラックしてスペックのマージンを低減 Bristol Ridgeではライアビリティトラッキングと呼ぶ制御も行なっている。CMOS半導体は、電圧をかけすぎるとトランジスタが壊れ、電流量が多いと配線層にエレクトロマイグレーションが発生する。こうした欠損が発生するとチップは正常に動作できなくなるため、チップのスペックでは保守的にならざるを得ない。チップのオーバークロックが可能なのは、欠損の発生を考慮しなければ、電圧を上げることが可能だからだ。 しかし、製品としては、設定したライフタイムの間は正常に動作できるように、一定の欠陥レイト「Failures in Time (FIT)」を下回るように大きくマージンを取って設定している。これが、チップのスペックの足かせとなっているという。実際にはダイごとのばらつきもあり、スペックを引き上げる余裕のあるチップも存在する。そこで、AMDはライアビリティのトラッキングを動的に行なうことで、スペックのマージンを短縮。より高い性能でBristol Ridgeを稼働できるようにしたという。