Top > Search of Japanese Patents > CLUSTERED SUPERSCALAR PROCESSOR AND METHOD FOR CONTROLLING COMMUNICATION BETWEEN CLUSTERS THEREOF

CLUSTERED SUPERSCALAR PROCESSOR AND METHOD FOR CONTROLLING COMMUNICATION BETWEEN CLUSTERS THEREOF commons foreign

Patent code P06P003523
File No. NU-0011
Posted date Apr 21, 2006
Application number P2004-254408
Publication number P2006-072625A
Patent number P3906363
Date of filing Sep 1, 2004
Date of publication of application Mar 16, 2006
Date of registration Jan 26, 2007
Inventor
  • (In Japanese)安藤 秀樹
  • (In Japanese)嶋田 創
  • (In Japanese)望月 厚志
Applicant
  • (In Japanese)国立大学法人名古屋大学
Title CLUSTERED SUPERSCALAR PROCESSOR AND METHOD FOR CONTROLLING COMMUNICATION BETWEEN CLUSTERS THEREOF commons foreign
Abstract PROBLEM TO BE SOLVED: To provide a clustered superscalar processor in which the miss rate of register caches is reduced to reduce the probability of miss penalties and thus enhance performance, and a method for controlling communications between clusters of the clustered superscalar processor.
SOLUTION: Before an instruction is written into an instruction window, a check is made to see if there is any dependence relation among prior instructions in the instruction window. When there is a dependence, the cluster to which the instruction is allocated is requested to communicate data in response to the instruction. The results of execution of the instruction requested are selectively communicated over a wide range to the register caches of the cluster designated.
Outline of related art and contending technology (In Japanese)


従来、プロセッサの性能向上を目的とした命令の並列実行とそれに伴う問題点を解決するために、例えば、非特許文献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.

Field of industrial application (In Japanese)


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

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

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

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

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

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

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

※Click image to enlarge.

JP2004254408thum.jpg
State of application right Registered
(In Japanese)名古屋大学の公開特許情報を掲載しています。ご関心のある案件がございましたら、下記まで電子メールでご連絡ください。


PAGE TOP

close
close
close
close
close
close
close