TOP > 国内特許検索 > クラスタ化スーパスカラプロセッサ及びクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法

クラスタ化スーパスカラプロセッサ及びクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法 コモンズ 外国出願あり

国内特許コード P06P003523
整理番号 NU-0011
掲載日 2006年4月21日
出願番号 特願2004-254408
公開番号 特開2006-072625
登録番号 特許第3906363号
出願日 平成16年9月1日(2004.9.1)
公開日 平成18年3月16日(2006.3.16)
登録日 平成19年1月26日(2007.1.26)
発明者
  • 安藤 秀樹
  • 嶋田 創
  • 望月 厚志
出願人
  • 学校法人名古屋大学
発明の名称 クラスタ化スーパスカラプロセッサ及びクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法 コモンズ 外国出願あり
発明の概要

【課題】クラスタ化スーパスカラプロセッサにおけるレジスタ・キャッシュのミス率を低下させることにより、ミス・ペナルティを被る確率が低下し、性能が向上するクラスタ化スーパスカラプロセッサ及びクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法を提供する。
【解決手段】命令を命令ウィンドウに書き込む前に、該命令ウィンドウ中の先行命令に依存関係がないかをチェックし、依存関係がある場合には、その命令に対し、自身が割り当てられるクラスタにデータ通信するように要求を出す。要求された命令の実行結果は、命令の実行終了後に、指定されたクラスタのレジスタ・キャッシュに選択的に広域通信する。
【選択図】 図2

従来技術、競合技術の概要


従来、プロセッサの性能向上を目的とした命令の並列実行とそれに伴う問題点を解決するために、例えば、非特許文献1に記載されたクラスタ化スーパスカラプロセッサが知られている。なお、このスーパスカラプロセッサのクラスタ化技術は、命令の実行を行う機能ユニットや命令を一時格納しておく命令ウィンドウをクラスタと呼ばれる塊に分割する技術である。各クラスタは、機能ユニットと、命令ウィンドウと、演算の実行結果を記憶するレジスタ・ファイルとを備えている。全てのクラスタに含まれるレジスタ・ファイルには、全てのクラスタに含まれる機能ユニットにおける実行結果が書き込まれる。即ち、各クラスタに含まれるレジスタ・ファイルは、同一の内容を保持する。図12に、クラスタ化スーパスカラプロセッサの構成を示す。



プロセッサ100の命令処理に際しては、まず、メインメモリ(図示略)から命令キャッシュ110に命令が格納される。そして、この命令は、フェッチ・ユニット120によって読み出され、デコーダ130によってデコードされた後、ステアリング・ユニット140によって各命令におけるデータの依存関係が解析され、その依存関係に応じて命令が各クラスタ150、160の命令ウィンドウ151、161に割り当てられる。そして、該命令ウィンドウ151、161ではデータ依存関係を満たした命令が読み出され、命令の実行に使用されるデータはレジスタ・ファイル152、162から読み出され、機能ユニット153、154、163、164によって命令が実行される。そして、この命令の実行結果は、レジスタ・ファイル152、162に書き込まれる。命令の実行に際しては、必要に応じてメインメモリやデータ・キャッシュ170からデータが読み出される。



また、機能ユニット153、154、163、164によって実行された実行結果を直後の命令で使用する場合には、実行結果はレジスタ・ファイル152、162に書き込まれる前に後続命令に転送される。この転送経路を、以下、バイパス経路と呼ぶ。なお、このバイパス経路は、クラスタ内のバイパス経路を形成するクラスタ内バイパスCIBとクラスタ間のバイパス経路を形成するクラスタ間バイパスCBBとから構成される。



このように、スーパスカラプロセッサのクラスタ化を行うことで、クラスタ化していないスーパスカラプロセッサと比較して、各クラスタ内の機能ユニット数を減少させることができる。そして、機能ユニット数が減少することで、クラスタ内バイパス経路の配線長は短くなり、配線遅延は短縮される。



しかし、クラスタ化したプロセッサにおいても各クラスタで必要なレジスタ・ファイルの大きさはクラスタ化していないプロセッサと実質的に同じであるため、レジスタ・ファイルの配線は短縮されず、配線遅延は短縮されない。



このレジスタ・ファイルの遅延を削除する技術として、例えば、非特許文献2に記載された階層化レジスタ・ファイルがある。図13は、この階層化レジスタ・ファイルを組み込んだプロセッサの構成を示す。階層化レジスタ・ファイルは、レジスタ・キャッシュRC(上位レジスタ・ファイル)とメイン・レジスタ・ファイルMRF(下位レジスタ・ファイル)とから構成され、レジスタ・キャッシュRCはデータパス中に組み込まれている。レジスタ・キャッシュRCは容量がメイン・レジスタ・ファイルMRFに比べて小さく、高速なアクセスが可能である。メイン・レジスタ・ファイルMRFは機能ユニット251~254の全ての演算結果を保持し、レジスタ・キャッシュRCはメイン・レジスタ・ファイルMRFの一部の値を保持する。



ここで、命令に必要とする値がレジスタ・キャッシュRCに存在すれば、機能ユニット251、252、253、254はメイン・レジスタ・ファイルMRFをアクセスする場合に比べて短いアクセス時間でレジスタ値を得ることができる。必要とする値がレジスタ・キャッシュRCに存在しなければ、レジスタ値は、メイン・レジスタ・ファイルMRFからレジスタ・キャッシュRCにレジスタ値を読み込んだ後でなければ得ることができず、長いアクセス時間を要する。



なお、ここで前者のようにプロセッサから要求されたデータがレジスタ・キャッシュRCに存在する場合をヒットと呼び、レジスタ・キャッシュRCに存在しない場合をミスと呼ぶ。また、アクセスしたデータがレジスタ・キャッシュRCで見つかる割合をヒット率といい、アクセスしたデータがレジスタ・キャッシュRCで見つからない割合をミス率という。また、レジスタ・キャッシュRCのアクセスにかかる時間をヒット時間と呼ぶ。一方、メイン・レジスタ・ファイルMRFをアクセスするのにかかる参照時間をミス・ペナルティと呼ぶ。



レジスタ・キャッシュRCは小さくて高速であるため、ヒット時間(例えば、1クロックサイクル)は階層化前のレジスタ・ファイルのアクセス時間よりも短くなる。

【非特許文献1】S.Palacharla,N.P.Jouppi,and J.E.Smith,“Complexity-Effective Superscalar Processors,”Proceedings of 24th International Symposium on Computer Architecture,pp.206-218,June 1997.

【非特許文献2】J.L.Cruz,A.Gonzalez,M.Valero,and N.P.Tophan,“Multiple-Banked Register File Architectures,”Proceedings of 27th International Symposium on Computer Architecture,pp.316-325,June 2000.

産業上の利用分野


本発明は、クラスタ化スーパスカラプロセッサ及びクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法に関する。

特許請求の範囲 【請求項1】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、
全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行う制御ユニットと
を備え
前記制御ユニットは、命令のデータ依存関係に基づいて前記実行結果を、当該実行結果を必要とするクラスタに対し選択的に広域通信させるものであって、
命令を前記命令ウィンドウに書き込む前に該命令ウィンドウ中の先行命令に依存関係がないかをチェックし、依存関係がある場合には前記先行命令が割り当てられたクラスタに選択的に広域通信を実施するように要求し、該クラスタは前記割り当てられた先行命令の実行後にその実行結果を選択的に広域通信するクラスタ化スーパスカラプロセッサ。

【請求項2】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、
全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行う制御ユニットとを備え、
前記制御ユニットは、命令のデータ依存関係に基づいて前記実行結果を、当該実行結果を必要とするクラスタに対し選択的に広域通信させるものであって、
命令が前記命令ウィンドウから発行されるときに、他の命令ウィンドウ中にその命令の実行結果を参照する後続命令がないかをチェックし、参照する後続命令がある場合には、その後続命令が割り当てられているクラスタに前記命令の実行結果を選択的に広域通信させるクラスタ化スーパスカラプロセッサ。

【請求項3】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、
全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行う制御ユニットとを備え、
前記制御ユニットは、前記実行結果に対する他のクラスタからの過去の参照回数に基づいて該実行結果を広域通信させるクラスタ化スーパスカラプロセッサ。

【請求項4】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と
を備えたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法において、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行うときに、
当該広域通信において、命令を前記命令ウィンドウに書き込む前に該命令ウィンドウ中の先行命令に依存関係がないかをチェックし、依存関係がある場合には前記先行命令が割り当てられたクラスタに選択的に広域通信を実施するように要求し、該クラスタは前記割り当てられた先行命令の実行後にその実行結果を選択的に広域通信することで、命令のデータ依存関係に基づいて前記実行結果を、当該実行結果を必要とするクラスタに対し選択的に広域通信させるようにしたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法。

【請求項5】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と
を備えたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法において、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行うときに、
当該広域通信において、命令が前記命令ウィンドウから発行されるときに、他の命令ウィンドウ中にその命令の実行結果を参照する後続命令がないかをチェックし、参照する後続命令がある場合には、その後続命令が割り当てられているクラスタに前記命令の実行結果を選択的に広域通信させることで、命令のデータ依存関係に基づいて前記実行結果を、当該実行結果を必要とするクラスタに対し選択的に広域通信させるようにしたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法。

【請求項6】
命令が格納される命令ウィンドウと、該命令ウィンドウから読み出された命令に従ってレジスタ値を出力するとともに命令の実行結果が格納される上位レジスタ・ファイルと、命令を実行する機能ユニットとを備える複数のクラスタと、全ての前記機能ユニットの実行結果が格納される下位レジスタ・ファイルと、
前記各クラスタ間の通信に用いられるバイパス経路と
を備えたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法において、
前記バイパス経路を介して前記機能ユニットの実行結果を出力したクラスタから別のクラスタにデータ通信させる広域通信を行うときに、
当該広域通信において、前記実行結果に対する他のクラスタからの過去の参照回数に基づいて該実行結果を広域通信させるようにしたクラスタ化スーパスカラプロセッサにおけるクラスタ間の通信制御方法。
産業区分
  • 演算制御装置
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2004254408thum.jpg
出願権利状態 権利存続中
名古屋大学の公開特許情報を掲載しています。ご関心のある案件がございましたら、下記まで電子メールでご連絡ください。


PAGE TOP

close
close
close
close
close
close
close