7.2.2 10億トランジスター用プロセッサアーキテクチャ(講演者: マテオ・バレロ教授)

(1)背景

プロセッサは、その誕生以来、デバイス技術の進歩とアーキテクチャの進歩により発展を続けてきた。現在の汎用プロセッサの市場ではスーパースカラプロセッサがそのシェアを独占しており、1億トランジスタを利用するプロセッサが出現しようとしている。これらスーパースカラの延長上に位置するアーキテクチャや、ベクトルプロセッサ、マルチスレッドプロセッサ、VLIWプロセッサのための技術をUniversitat Politecnica de CatalunyaMateo Valero教授に講演して頂いた。

(2)調査内容

スーパースカラプロセッサ

スーパースカラプロセッサにおいて抽出できる命令レベル並列性が向上するに従い、レジスタファイルのレジスタ数、ポート数、遅延に対する要求が増大している。レジスタファイルのクラスタ化(Compaq Alpha21264)によりポート数の増加を試みた例がある。また、階層化されたレジスタファイルとしてRegister File Cache(ISCA-2000)が提案されている。今後、データフォワーディングやレジスタファイルにおけるインテリジェントな管理の重要性が増すと考えられる。

 

7.2.2.1 データ値予測(a)とデータ値予測を利用した分岐予測(b)

命令の演算結果のデータ値を予測し、必要とするデータが生成されるのを待つ代わりに予測されたデータを利用して命令の実行を開始するデータ値予測(ICS-98)が提案されてから投機アーキテクチャがブームとなっている。1999年には図7.2.2.1に示すデータ値予測を利用した分岐予測(PACT-99)が提案され、その有効性が確認されている。このように、プロセッサ内でおこなわれている幾つかの予測の情報を組み合わせる形の投機アーキテクチャにより、高い予測成功率を達成できる可能性がある。

マルチスレッドプロセッサ

マルチスレッドと他のアーキテクチャの融合手法として、Multithreaded Vector Processor (HPCA-97)、Simultaneous Multithreaded Vector Processor (IEEE-MICRO97)、Speculative Multithreaded Scalar Processor (ICS-99)、Clustered Speculative Multithreaded Processors (MICRO-99)、Multithreaded-Decoupled Architecture (HPCA-99)等が検討されている。これらの融合されたアーキテクチャの普及は、アプリケーションの普及等により大きな影響を受けるとしても、様々な組み合わせにおける有効性の検討が必要であろう。

Distant Parallelism (ICS-99, PACT-99)

スーパースカラプロセッサの場合には、命令ウィンドウのサイズ等のハードウェア規模により、並列性を抽出する命令列の範囲が決まる。このため、高い並列性を抽出するためには高いハードウェアコストが必要となることが指摘されている。一方のマルチスレッドアーキテクチャでは、プログラムカウンタを複数利用できるという性質上、実行命令の間の(動的あるいは静的な)距離が遠い場合であっても同時に処理することが可能である。マルチスレッドプロセッサにおける並列性の分類を図7.2.2.2に示す。

 

図7.2.2.2 Distant Parallelismを含む並列性の分類

この中で、近年、非数値演算の単一アプリケーションから並列性を抽出する試みとしてdistant parallelismの利用が提案されている。Distant parallelismとは、コンパイラによって検出されスレッドに変換される並列性であり、投機実行をおこなわずに、広い範囲の並列性の抽出を狙ったものである。12ウェイのSMP(Simultaneous Multithreaded Processor)でdistant parallelismを利用した場合に、従来のスーパースカラプロセッサと比較して2.20倍の性能向上を達成できると報告されている。

結論

スーパースカラプロセッサに関しては劇的な性能向上を期待できないにしても、レジスタファイルやデータフォワーディングといった低いレベルの構成からの再検討により、着実な性能向上を期待することができる。また、一方では、投機技術の利用とその豊富なバリエーションによる性能向上の可能性が明らかとなり、新しいブレークスルーとして期待されている。

マルチスレッドアーキテクチャには、プログラムの広い範囲に渡って並列性を抽出できるという利点がある。様々なアーキテクチャとの融合や、コンパイラによるスレッドの生成により、一桁高い性能目指した場合に期待できるアーキテクチャと考えられる。

(3)当該技術の展望

現在の市場においては、マルチメディア等を意識したベクトル命令の追加によるスーパースカラプロセッサの高性能化という傾向が続いている。一方では、VLIWを採用するIA-64アーキテクチャ、Crusoeといった方向性から、ソフトウェアに命令スケジューリングの大半を任せるプロセッサが出現している。研究のレベルでは、マルチスレッドアーキテクチャにおける高い並列性利用の可能性が指摘されており、一桁高い性能を狙うにはマルチスレッドの利用が魅力的である。現在、10億トランジスタを前提としたプロセッサアーキテクチャの研究が盛んにおこなわれており、今後もその動向に注目する必要がある。