学位論文要旨



No 116156
著者(漢字) 辻,秀典
著者(英字)
著者(カナ) ツジ,ヒデノリ
標題(和) 複数パス実行を実現する大規模データパス・アーキテクチャ
標題(洋)
報告番号 116156
報告番号 甲16156
学位授与日 2001.03.29
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第4993号
研究科 工学系研究科
専攻 情報工学専攻
論文審査委員 主査: 東京大学 教授 田中,英彦
 東京大学 教授 井上,博允
 東京大学 教授 武市,正人
 東京大学 教授 喜連川,優
 東京大学 助教授 坂井,修一
内容要旨 要旨を表示する

 1971年に4004が誕生して以来、マイクロプロセッサの歴史はすでに四半世紀を越える。この間、マイクロプロセッサの性能向上は留まるところを知らず、計算機の性能向上とダウンサイジングに大きく貢献した。これが、PCに代表される汎用小型計算機の大幅な性能向上をもたらし、.パーソナル分野を含め、計算機を社会に浸透させる結果となった。しかしながら、現在の計算機の性能が社会の要求に応えているとは言いがたい。なぜなら、さまざまなデータを扱うマルチメディア処理ひとつをとっても、現在の計算機では要求性能を満たすに至らないからである。そして、将来、高速ネットワークの普及とともに、さまざまなメディアが計算機に統合されると予想されるため、計算機の性能に対する要求はとどまらないといえる。この計算機への性能の要求は、その中心構成要素であるマイクロプロセッサへの要求でもある。

 マイクロプロセッサの性能向上は、アーキテクチャ技術と半導体プロセス技術によって支えられてきた。半導体プロセス技術の進歩によって、より高い集積度が実現され、スイッチング速度の向上とともに、より多くのトランジスタが利用可能となってきた。これが、さまざまな新しいアーキテクチャ技術の投入を可能とする。その結果、近年の高性能マイクロプロセッサ・アーキテクチャの主流といえるスーパースカラ・アーキテクチャにおいては、分岐予測による投機実行、動的スケジューリング、レジスタリネーミング、アウトオブオーダ実行、メモリ依存予測等、さまざまなアーキテクチャ技術が実装されている。

 半導体プロセス技術に関しては、3年間でトランジスタ数の集積度が4倍になるというMooreの法則が依然として成り立っている。今後もほぼ同様のペースで半導体プロセス技術が進歩することは、米国半導体工業会によっても具体的な数値が予想されており、Mooreの法則が単なるトレンド予測に過ぎないといえども、将来にわたってその予測は成り立つと考えられている。

 それに対して、アーキテクチャ技術の将来は必ずしも明るいとはいえない状況にある。現在のマイクロプロセッサの主流アーキテクチャであるスーパースカラは、半導体技術の進歩とともに、性能向上のための機構が旧来の方式にアドホックに追加されてきた結果であるため、機構の複雑さが問題となりつつある。そのため、将来的にプロセス技術の進歩が提供するトランジスタ資源を性能向上のために有効に活用できない。また、スーパースカラの構造の複雑さを改善すると考えられているVLIW(Very Long Instruction Wbrd)アーキテクチャについては、簡単化が可能な構造が、組み込み用などの小型化、設計時間の短縮という点では成功をおさめつつあるものの、スーパスカラを越える高性能化という点での成功は未だ成しえていない。

 スーパスカラの限界は、すなわち単一スレッドかつ単一パスの投機処理による並列性利用の限界である。しかしながら、以前より命令列中の並列性利用に関する議論は多く行なわれており、スーパースカラおいて実現されていない、複数の制御流を対象とした並列性利用が有効なことは知られている。近年、この点に注目し、複数の制御流を並列処理するアーキテクチャが盛んに研究されている。その中でも特に、既存のスーパースカラもしくはVLIWを要素プロセッサとし、チップ上に複数の要素プロセッサを配置することで、複数のスレッドを対象として複数の制御流を並列処理するCMP(Chip Multi-processor)アーキテクチャが注目されている。これは、従来の並列処理において性能上のボトルネックであった通信などの問題が、チップ上に集積されることによって緩和され性能向上が望めるだけでなく、要素プロセッサの複雑性を上げることなく半導体資源を活用できるという利点を持つ。

 しかしながら、CMPは要素プロセッサにおける細粒度並列処理と、要素プロセッサの並列化による中粒度〜粗粒度並列処理によって、より多くの並列性を利用するための複合技術であり、要素プロセッサあたりの性能を改善するアーキテクチャではない。また、従来の並列処理の問題を改善する一方で、従来の並列処理と同様の性質も持ち合わせており、単純な大規模並列による性能向上を得ることは難しい。これは、要素プロセッサにおける細粒度の並列性利用と、要素プロセッサの並列化による中粒度〜粗粒度の並列性利用のバランスが重要であることを意味する。確かに、現在の半導体プロセス技術を前提としたハードウェア資源を仮定したときには、既存のアーキテクチャを要素プロセッサとする並列化でそのバランスは保たれる。しかし、今後より多くのハードウェア資源が提供されたときには、既存のアーキテクチャを要素プロセッサとする大規模並列化ではバランスが保てず、要素プロセッサの高性能化が必要不可欠である。

 このような時代的、社会的背景をふまえて、単体のマイクロプロセッサの性能向上の限界にブレークスルーをもたらすとともに、CMPに代表される複合技術を長期的観点で支えるためには、スーパースカラやVLIWを越える細粒度並列アーキテクチャが必須である。本研究は、そのような要求を満たすべく、積極的な細粒度並列性の利用により性能向上をもたらす、大規模データパス(VLDP:Very Large Data Path)・.アーキテクチャを提案し、それとともに、実現可能性を示すためのアーキテクチャの詳細部分の提案を行った。

 VLDPアーキテクチャは、従来のアーキテクチャにおける問題を解決し、次の要求を満たすアーキテクチャである。大規模な半導体資源の活用

 ハードウェアの構造が半導体資源の投入による性能向上を妨げない積極的な命令レベル並列性の利用

 命令間の依存性がもたらす制約の解消、命令ウィンドウサイズの拡大などによる命令レベル並列性抽出能力の大幅な向上

 VLDPアーキテクチャは、高い命令処理スループットとピーク性能を実現するために、命令ブロックと呼ぶ新たな処理単位を導入し、従来よりもはるかに大きな幅の命令処理を行なう。また、分岐予測性能の限界と、分岐予測ミスペナルティの増大を改善するために、分岐命令がもたらす影響を最小限に抑える複数パス実行を導入する。従来より、複数パス実行に関する研究は多く行われているが、これらの研究は、複数パス実行における命令フェッチの戦略の議論にとどまっており、複数パス実行を実現するアーキテクチャの提案は行なわれていない。そこで、本論文ではVLDPアーキテクチャを複数パス実行を実現するアーキテクチャとして提案した。

 VLDPアーキテクチャ研究の最終的な目標は、アーキテクチャの有効性を示すことにある。アーキテクチャの有効性を示すためには、詳細なシミュレータを実装することによって、性能評価を行なわなければならない。しかしながら、アーキテクチャの基本提案と、詳細なシミュレータの実装には、大きな隔たりが存在する。本研究は、その隔たりを埋める研究と位置付けられ、VLDPアーキテクチャにおいて核となる技術、命令ブロックの導入と複数パス実行の実現について提案するとともに、VLDPシミュレータを実装するために不可欠となるVLDPアーキテクチャの各機構の詳細な提案を行なった。

 さらに、命令ブロックが処理される様子を、パイプライン動作をトレースすることにより確認した。そして、サンプルプログラムを使ったVLDPの小規模な評価を行うとともに、並列性利用と命令処理スループットに関する考察を行なった。

 本研究により、VLDPアーキテクチャがより現実的になったことを確認できた。

審査要旨 要旨を表示する

 本論文は、「複数パス実行を実現する大規模データパス・アーキテクチャ」と題し、8章と付録からなる。情報社会の発展に伴い、コンピュータシステムに対する性能要求はまだまだ止まるところを知らない。それは従来、主としてシリコンデバイスの細線化技術によるクロック速度の向上や、スーパスカラ技術による命令レベル並列技術を用いた高速マイクロプロセッサの開発として実現されてきた。この論文は、アーキテクチャの工夫によるマイクロプロセッサの更なる高速化手法について論じたものである。

 第1章「序論」は、研究の背景、目的を述べるとともに、本論文の構成についてまとめたものである。

 第2章「マイクロプロセッサの動向」は、マイクロプロセッサの性能向上について、半導体プロセス技術とアーキテクチャ技術の観点からその動向をまとめたものであり、半導体技術については、今後10年間のロードマップを引用し、アーキテクチャ技術については、スーパスカラ技術、VLIW技術、コードモーフィング技術、マルチメディア技術、省電力技術などについてまとめている。

 第3章「次世代アーキテクチャ技術」は、並列性を利用したアーキテクチャ技術についてより詳細に調べたもので、まず、スーパスカラ技術は、構造的な複雑性により1クロックで処理可能な命令数Instructions Per Cycle (IPC)を、これ以上向上させることは難しいことを述べ、次にそれを解決するための並列性の利用技術として、分岐予測を用いた投機的実行、制御依存関係の正確な解析、複数の制御流の同時実行、更にスレッドレベル並列処理などの詳細について論じ、特に単一プロセッサ上のスレッドレベル並列処理としてSimultaneousMulti-Threading方式を、複数プロセッサで並列処理を行うものとしてChip Multi-Processorを挙げ、その特性を論じるとともに、これらの問題点を指摘している。すなわち、SMTは、現在のスーパスカラと同程度の規模において利点を持っものの、機構の複雑さにより、大規模なハードウエア資源活用には難しいこと、CMPは、ハードウエア規模のスケーラビリティが高いが、単純にプロセッサエレメントを増やしても性能向上は難しく、また、一つのプロセッサ内の細粒度命令レベル並列処理を改善するには役立たないことを挙げている。

 第4章「命令処理における制約の解消」は、並列性抽出における制約として、制御依存とデータ依存を取り上げ、それらの制約を解消するために従来までに提案されている様々な手法をまとめている。

 第5章「大規模データパス・アーキテクチャの提案」は、本論文で提案する複数パス実行を実現するアーキテクチャとして、大規模データパス(Very LargeData Patb)アーキテクチャを提案したもので、10年後に利用可能となる大規模なトランジスタ数を有効利用し、プロセッサ単体での高性能化を目指した方式である。まず、制御依存性がもたらす制約を解消するために複数パス実行を導入し、その必要とする高いフェッチスループットを維持し複数の命令を同時処理するために、最大32の命令列からなる命令ブロックを導入している。命令ブロック内各命令の出力は対応する32個の物理レジスタに収められ、論理レジスタを介することなく同一命令ブロック内の他命令が利用でき、高速化を図ることができるが、論理レジスタヘのアクセスはデータ同期情報として命令ブロックに付随している。この章では、そのような命令ブロックの生成方式、命令ブロックの高速アクセスのためのストリーミング法について述べるとともに、複数パス実行の実現方式として、実行パスを識別し管理する機構、レジスタアクセス管理、メモリアクセス管理などについて論じている。

 第6章「大規模データパス・アーキテクチャの実現」は、第5章で述べたアーキテクチャを実現するための詳細な構造について述べたもので、Control Section(CS),Execution Section(ES),Memory Access Section(MS)の3つに分かれる。CSは、命令のフェッチと制御依存性の管理を行う部分で、ESは命令の実行に関する全てを扱う部分で複数の実行ユニットからなり、それぞれのユニット内のレジスタファイルは分散レジスタファイルとして制御される。MSは、ESに対して仮想化したメモリアクセスを提供する部分で、メモリアクセス制御を実行ユニットから切り離す機能を持つが、複数のアクセス要求をバッファリングするとともに、メモリ依存関係を解決する。

 第7章「性能に関する考察」は、提案しているアーキテクチャを3つの観点から評価したものである。まず、サンプルプログラムをパイプライン処理した場合の、クロック毎の状況を分析した結果、IPCが8程度になること示し、次に、命令ウインドサイズを変えた場合のリタイア命令数を評価し、ウインドサイズが256の場合のIPCは7,67となること、更に命令スループットを考察し、実行IPCが8以上となるためには、平均有効命令率が40%以上となる必要があるが、サンプルプログラムでは、平均60%を越えることを示している。

 第8章は「結論」である。

 以上、これを要するに本論文は、大規模なトランジスタ資源を利用して高性能なマイクロプロセッサを実現するアーキテクチャとして大規模データパス方式を提案し、その詳細な構造を与え評価することによってその可能性を示したもので、情報工学上貢献するところ少なくない。

 よって、本論文は、博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク