このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第362回

デスクトップ版Bristol Ridgeは7月末~9月投入 AMD CPUアップデート

2016年06月27日 11時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

Bristol RidgeとCarrizzoの違いは
可変電圧、信頼性、電源管理

 そのBristol Ridgeであるが、Carrizzoから細かな変更がいくつかなされている。これをかいつまんで説明したい。Bristol RidgeはCarrizoコアにDDR4のサポートを追加したもので、ベースになるのはMerlin Falconである。

 連載338回で触れたとおり、Merlin Falconは単にCPU/GPUのみならずチップセット機能まで統合したSoCであるが、Bristol Ridge(やこの後出てくるSummit Ridge)も同様にチップセット機能をある程度CPU側に持つことになるようだ。

Bristol Ridgeの概要。GPU接続用のPCIeはx8(他に外部チップセット接続用?のx4と合わせてx12)という構成。Display Port/DVI/HDMI以外にUSB 2.0/3.0とSATA、UART、I2Sが搭載される。サウンドはI2S接続ということだろうか?

 周辺機能が違うだけではなく、コアそのものにもずいぶん手が入った。それはプロセッサーのパイプライン構造そのものではなく、むしろ物理設計に関わる部分である。

 まずBristol Ridgeは、Carrizoと比較した場合に、同じ消費電力であれば若干ながら高い動作周波数を実現できるようになった。これを実現する1つ目は、より高精度なAVFSの動作である。

CZがCarrizo、BRがBristol Ridgeである。軸が明記されていないので正確な数字はわからないが、縦軸が対数軸でなければ、最大消費電力時に周波数で5%ほどの向上が実現したかたちだ

AVFSはAdaptive Voltage Frequency Scalingの略。SpeedStepやPowerNowあたりから始まった、動作周波数に合わせて電圧を変化させる仕組みの総称であるが、これをAdaptive(適応式)にしたのが肝

 一般にFVSは、「あらかじめ」動作周波数にあわせた電圧のテーブルを持っており、あとは動作周波数の変化に合わせて電圧を変化させる。もう少し厳密に説明すれば、以下のステップとなる。

  • (1) 「動作周波数を引き上げよう」と内部のロジックが判断する
  • (2) ターゲットとなる動作周波数に必要な電圧を内部のテーブルから引っ張り出す
  • (3) 外部のPMICに対してその電圧に変化させるように指示を出す
  • (4) 電圧が変化するまで一定時間待つ(この時間は仕様で決まっている)
  • (5) 動作周波数の引き上げを行なう(ベースクロックに対する倍率を変化させる)

 問題になるのは(2)である。というのは、内部のテーブルはチップ単位で個別に設定したものではなく、いわばチップの代表値をベースに構築されているからだ。半導体は当然特性にブレがあり、この結果としてテーブルの値と実際の値には若干の差があることは珍しくない。(前述のAVFSの表上段参照)

 Bristol Ridgeではこれをなるべく現実のチップに近いものに追い込むこと(AVFSの表下段参照)で、無駄な電力の消費を抑えるようにした。ポイントは、これがAdaptive(適用型)、つまり実際の状況を見ながら調整するという点だ。

 詳細は未公開であるが、一般にはダイ上の何箇所かに、電圧/周波数のマッチングを評価するための回路を用意しておき、ここで電圧/周波数の特性を測定しながら最適な電圧になるように調整する、というメカニズムは昔から提案されてきており、これに類した回路を搭載しているのではないかと思われる。これにより、製造時のバラつきがあっても最適な電力で動作することになる。

 この例の場合、電圧にあわせて動作周波数を低めに抑えることで乖離を減らすようにする形になると思われる。性能そのものは若干落ちるが、動作周波数/消費電力比は改善することになる。これを暗黙のうちに行なう、ということでShadow Pstateという表現がなされている。

 ちなみに前述のAVFSの画像は想定よりも悪いチップでの例であるが、逆に想定よりも良いチップであれば同じ周波数でより電圧を下げられるわけで、ここで多少なりとも性能/消費電力比を改善できることになる。

 次が信頼性トラッキングである。半導体も工業製品であるから、当然いつかは壊れる。なぜ壊れるのか、なぜ劣化するのかという話は要因がたくさんあり、しかもまだ理由が解明できていないものもあるのだが、経験則的に「このくらいの寿命を持たすにはこのくらいの構造にすれば良い」というのはある程度見えており、これにあわせた形で半導体メーカーは製品を製造している。

信頼性トラッキング。縦軸がFIT(Failures in Time:故障率)、横軸が経過時間である

 経年変化は通常トレースしていないわけだが、Turbo Coreのようなオーバークロック動作の場合には通常よりもストレスがかかるため、劣化が加速する傾向にある。

 そこで、実際の劣化の累積具合をキチンとトレースして管理することで、寿命一杯まで使いきろう、というのがこちらの趣旨である。

Originalは、オーバークロック動作をしない場合の累積の故障数、緑がトラッキングをしてFITのターゲット枠を使い切ったケースである

 オーバークロック動作を煩雑に行なうと、一時的に不具合の累積が想定するゴールを超えることは当然ありえる。これは想定寿命より早くチップが劣化するという意味で、動作はするが消費電力が増えたり、動作周波数があがりにくい状況になる。これを想定カーブ内に抑えることで、設計寿命一杯までフルに使えるようにしよう、というものだ。

 3つ目はデスクトップ向けにはあまり関係ないが、ノートなどに関係する話で、皮膚温度配慮の電源管理(STAPM)を搭載したことだ。

STAPMの概要。これは性能改善には直接関係ない話ではある

 特にノートやタブレットなどでは、温度が上がりすぎて持てないことにならないように、機器の外部温度(Tskin)を一定内におさえる必要がある。STAPMはTskinを見ながらBoostの管理を行うようにするためのメカニズムである。

 最後がBTC(Boot Time power supply Calibration)である。これは先のAVFSの話とも近い話であるが、チップには当然製造時のバラつきがあるのと同様、マザーボード側の電源供給回路の側も当然バラつきがある。このバラつきを最小限に抑えることで、より効率を改善させようというものだ。

ATE(Automated Test Environment)は、後工程工場で行なわれる自動テストのこと。この段階で性能評価も行なわれ、周波数/電圧のテーブルが書き込まれることになる

 ちなみにスライドではチップについても、元々後工程の工場におけるチップ単体での評価性能と、最終的にパッケージされ、システムに搭った状態での評価性能の間にも若干のずれがあることにも言及している。

 これも工業製品である以上当然だが、やはり誤差というものはなにを作る場合でも存在しており、設計はその誤差を見込んだ形で行なうのが一般的である。ただそれは最適化された、という状態ではないので、もう一段追い込んでやろう、という話である。

 具体的には電源投入時にいきなり起動するのではなく、まず複数の電圧の設定指示を電源回路に出し、チップ内部の電圧センサーを利用して「電源供給回路に指示した電圧と実際に供給された電圧」の差を確認、さらに温度を測定することでシステムの特性を確認。以後はそのシステムの特性に合わせる形で電圧指示を電源供給回路に出すことで、精度を引き上げようというものだ。

複数の電圧変更を指示し、実際の値を測定することで電源供給回路の供給曲線を推定する。この曲線は温度によっても変わるので、同時に温度も測定する

 通常はここまで凝ったことはしない。それよりプロセス微細化を進めたほうが効果が高い、というのが一般的であるが、Bristol Ridgeでは28nmを引き続き使っている関係なのか、コアそのもののアーキテクチャーは変えないまま省電力化を進めた。これは先のBristol Ridgeの概要を示した画像でも“Four Excavator cores”と明記されている。

 ただこの技法は別に28nmだけで有効というわけではないので、今後出てくるSummit Ridgeにも同様のメカニズムが搭載されることになるであろう。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン