高効率汎用プロセッサ・アーキテクチャ「STRAIGHT」

情報処理の心臓部となるプロセッサの高性能化、省電力化はコンピュータ・システム成長の根幹となる。近年では半導体微細化による直接の恩恵が鈍化したため、省電力性に優れる単純なインオーダ・プロセッサや、用途を特化して高性能高効率を実現するアクセラレータを組み合わせて、プロセッサパッケージ全体の能力を高めるアプローチが取られるようになっている。ボトルネックとなりがちなシーケンシャル部分や不規則な処理の高速化には、依然として現行のアウト・オブ・オーダ・スーパスカラ方式が最も有効であるが、演算そのもの以外に命令管理に必要な電力の割合が大きく、サーバ・デスクトップ・ハイエンドモバイル用途以外のプロセッサでは採用しにくくなっている。柔軟な命令レベル並列実行と投機実行を可能としながらも、命令管理が簡単なコンピュータ・アーキテクチャを実現できれば、IoT用途からスーパコンピュータまで、幅広い用途のプロセッサの柔軟性と効率性を底上げすることができる。

スーパスカラの命令管理を複雑にしている理由として、命令セットあるいはレジスタ・アドレッシングの方式について、レジスタ実装が高価だった頃の方式を踏襲していることが挙げられる。本研究では、新しい命令セットにより、低電力でありながら、アウト・オブ・オーダ並列実行による高性能・柔軟という利点も併せ持つ新しいコンピュータ・アーキテクチャ「STRAIGHT」を提案し、実証のための開発を行っている。

STRAIGHT命令セットでは、コード側にレジスタ上書きの禁止や命令距離によるレジスタ寿命の保証といった制約を導入する。RISC様の各命令操作とシーケンシャルな実行モデルを保ったまま、この小さな制約を入れることで、従来のマッピング方式によるレジスタ・リネーミングやレジスタ生存管理が不要となり、性能を落とさずに大幅な電力削減が見込まれる。さらに、管理な軽量なことから命令ウィンドウ幅や物理レジスタ数の拡張が容易であり、これによって演算器稼働率向上や、メモリアクセス削減など、トランジスタ数によって従来以上の性能向上を得ることが可能となる。

現在はSTRAIGHTプロセッサのHDL記述を進め、フロントエンドの実現性の確認と、例外的に上書きを可能とするいくつかのステート・レジスタの負荷を評価した。 また、コンパイラについて基本アルゴリズム及びループコード中のメモリアクセスを削減する最適化手法を提案した。さらに、投機メモリフォワーディングを用いたマイクロアーキテクチャ技術も提案した。

STRAIGHT_001

  • 入江英嗣, 山中崇弘, 佐保田誠, 吉見真聡, 吉永努: 「もしILPプロセッサのレジスタファイルが分散キーバリューストアになったら」,情報処理学会研究報告, Vol.2013-ARC-206, No. 5, Aug., 2013.
  • Hidetsugu IRIE, Daisuke FUJIWARA, Kazuki MAJIMA, and Tsutomu YOSHINAGA: “STRAIGHT: Realizing a Lightweight Large Instruction Window by using Eventually Consistent Distributed Registers”, Int. Workshop on Challenges on Massively Parallel Processors, pp. 336 — 342, Dec., 2012.