正体とは?/ ノーローン
[ 317] 後藤弘茂のWeekly海外ニュース
[引用サイト] http://pc.watch.impress.co.jp/docs/2008/0207/kaigai417.htm
CPUを単純化することで、電力消費の源であるトランジスタ数を減らすことは、低消費電力CPUの基本的なアプローチだ。しかし、Silverthorneには低消費電力CPUとしてはユニークな点がある。通常、低消費電力CPUは、パイプライン段数は浅くして、動作周波数は低く抑える。パイプライン段数を深くすると、動作周波数を上げることができるが、ラッチ回路などが増えることで、電力消費が増えてしまうからだ。 ターゲットクロックを見ると、トランジスタ数の少ないCPUを、そこそこの高クロックで動かすことでパフォーマンスを稼ぐことがSilverthorneのコンセプトのように見える。その結果、トランジスタ数の多いPC向けCPUを、無理に低電圧で駆動して低周波数で動作させるより、優れたパフォーマンス/消費電力を得られると判断したと見られる。 「この16ステージパイプラインは、我々がシングルサイクル実行を維持することを望んだことで決まった。『EX1』が実行ステージで、1サイクルに収まっている。シングルサイクル実行としたことで、1サイクル(ステージ)当たりのゲート数が決まる。それを受けて、我々はパイプラインを構築し、パフォーマンスを拡張するための仕様を加えた」 整数演算を1サイクルで実行する場合、整数演算パスのロジックの量で1ステージの最大のゲート数(=ディレイ)が決定する。後は、パイプラインの他の部分を、そのゲート数(=ディレイ)に収まるように切ったと推定される。今のCPUでは、じつは命令実行自体にはたいして時間がかからない。ゲート数を食っているのは、命令のデコードやスケジュール、レジスタアクセスといった、実行以外の部分だ。実行ステージに合わせて、他のステージのゲート数を規定すれば、シングルサイクル実行の範囲で、最大限の動作周波数を達成できることになる。 パイプラインからは見えないが、実際には命令フェッチと命令デコードの間には、プリフェッチメカニズムで取り込んだ命令のバッファがある。Silverthorneは2スレッドのハードウェアマルチスレッディングであるため、命令プリフェッチバッファはスレッド毎に2系統のバッファとして構成されている。 命令デコードステージのデコーダは2命令幅で、IA-32命令を同時に2命令づつデコードできる。デコードされた命令はインストラクションキューに格納される。これもスレッド毎に用意されている。 データキャッシュアクセスを経て、オペランドが揃ったところで、実行ステージであるEX1となる。ここがシングルサイクル実行で、続く2ステージで、例外とマルチスレッディングのハンドリングを行なう。最後の16ステージ目で、コミットしてライトバックしパイプラインが終わる。次は、Silverthorneの省電力機能の詳細をレポートしたい。 |
ノーローンのサイトです。