連載
» 2016年01月05日 09時00分 公開

SYSTEM DESIGN JOURNAL:FinFET革命がコンピュータアーキテクチャを変える (3/4)

[Ron Wilson,Altera Corporation. MONOist]

ヘテロジニアス・マルチコア

 CPUコアを切り離してインターコネクトの問題とプロセスのばらつきの影響を限定すると、これら全てのトランジスタの最適な使用法という問題に戻ることができます。その答えはアプリケーションによって異なります。しかし、さまざまな種類の処理ユニットを共有キャッシュ周辺のクラスタに含む、ヘテロジニアスマルチコア処理に向かうアーキテクトが増えています。

 最も顕著な例は、高性能コアと低消費電力コアを組み合わせてキャッシュの周辺に集めたARMの「big.LITTLE」コンセプトでしょう。2つのタイプのコア、例えば大きなCortex R-A15と小さなCortex-A7は命令セットが同じでステートレジスタも似ているため、高速化と省エネのどちらを優先するかによってタスクをそれらの間で容易に移動することができます。

 このコンセプトは、コアの種類が違っていてもサイズが違っていても有効です。ARMのCTOであるMikeMuller(マイク・ミュラー)氏は、1つの命令セットを共有するCPUとグラフィック処理ユニット(GPU)の両方を含むヘテロジニアス構成について、2014年のHotChipで謎めいた言及を行いました。AMD、IBM、インテル、Microsoftなど、多くの会社がGPUまたはFGPAをCPUと密結合させるアーキテクチャに取り組んでいることはさらに明らかです。

 そのようなヘテロジニアス方式は、多くのスレッドを並列実行するのではなく、シングルスレッドの中に存在する機会を利用することによって機能します。GPUは、グラフィックスなどに代表される並列性が高いデータを利用するための大規模な単一命令/マルチデータ(SIMD)エンジンを提供します。FPGAは、並列もしくはパイプライン化されたデータパス、または命令フェッチをなくす単純なステートマシン駆動型ループを実装できます。

 インテル Xeon Phiのようなメニーコアアーキテクチャでは、データの並列性、またはタスクを極めて多くの軽量スレッドに分割する機能のいずれも利用できます。その結果、どのケースでも新規ハードウェア用に再コーディングしたスレッドが大幅に高速化され、場合によっては消費電力が削減されます。

プロセッサを超えて

 それでも、マルチコアクラスタを離れ、ダイを横切って進むことが必要な信号もあります。これらのパスのタイミングを収束させる従来の方法は、信号をバッファにロードして高位レイヤー(従って低インピーダンス)のトレースにルーティングするか、または諦めてマルチサイクルパスであると宣言するかでした。いずれの選択肢にも不利な点があります。

 しかし、静的電力をあまり増加させずに大量のゲートを利用することが可能な、その他の選択肢が現れます。

 1つの選択肢は、各セグメントの遅延が1クロックサイクル以内に収まるように信号をレジスタ(できれば、準安定を管理するためにクロッククロッシングレジスタ)に入れ、長いパスをパイプライン化することです。信号が電圧ドメイン間をわたるので、これにはレベルシフトが必要になる場合もあります。レジスタを挿入することによってリタイミングも可能になります。リタイミングは、幾つかのロジックを新しいドメインに複製する必要があるとしても、有用であり得ます。

 それより長い接続、とりわけパスの幅が広い場合は、GALS(Globally Asynchronous Locally Synchronous)ネットワークオンチップ(NoC)を使用するという、全く異なるアプローチがあります。

Copyright © ITmedia, Inc. All Rights Reserved.