(57)【要約】      （修正有）【課題】低コストでありながら、システムクロックと同期信号のスキュウを低減するシステムクロック分配装置、システムクロック分配方法を提供する。【解決手段】同期信号を用いてデータのタイミングを合わせるシステムクロック分配装置であって、周期的な同期信号を生成する発振部１およびＰＬＬ２と、データを格納するメモリと、メモリに格納されたデータを用いる演算処理を行う少なくとも１つのＣＰＵと、ＣＰＵからメモリへのアクセスを制御する少なくとも１つのメモリアクセスコントローラを有し、同期信号の整数倍の周波数を持つシステムクロックを生成し、システムクロックによる動作に基づいてＣＰＵとメモリアクセスコントローラの制御を行う。【選択図】図１
2006195602.tif 000002
【特許請求の範囲】
【請求項１】
同期信号を用いてデータのタイミングを合わせるシステムクロック分配装置であって、
周期的な同期信号を生成する同期信号生成部と、
データを格納するメモリと、
前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理部と、
前記処理部から前記メモリへのアクセスを制御する少なくとも１つのメモリアクセスコントローラと、
前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理部と前記メモリアクセスコントローラの制御を行う、少なくとも１つの制御部と、
を備えてなるシステムクロック分配装置。
【請求項２】
請求項１に記載のシステムクロック分配装置において、
前記制御部はさらに、前記同期信号を前記処理部へ出力し、
前記処理部は、前記制御部からの同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配装置。
【請求項３】
請求項１または請求項２に記載のシステムクロック分配装置において、
前記メモリアクセスコントローラは、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載のシステムクロック分配装置において、
さらに、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて複数の前記マルチプロセッサシステム制御部の間の通信の制御を行う、少なくとも１つのクロスバを備えることを特徴とするシステムクロック分配装置。
【請求項５】
同期信号を用いてデータのタイミングを合わせるシステムクロック分配方法であって、
周期的な同期信号を生成する同期信号生成ステップと、
データを格納する記憶ステップと、
前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理ステップと、
前記処理ステップから前記記憶ステップへのアクセスを制御する少なくとも１つのメモリアクセス制御ステップと、
前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理ステップと前記メモリアクセス制御ステップの制御を行う、複数の制御ステップと、
を備えてなるシステムクロック分配方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムにおけるデータ伝送のためのクロック生成の制御を行うシステムクロック分配装置、システムクロック分配方法に関するものである。
【背景技術】
【０００２】
近年のサーバは、マルチプロセッサ化が進み、今後はよりいっそう大規模化が進む傾向にある。このようなマルチプロセッサシステム内において、ＩＯ系を除くデータ伝送は、計算処理の高速化のために高スループットかつ低レイテンシが要求される。この要求を鑑みると、最近の高速ＩＯにおいて一般的であるシリアル伝送を用いるのではなく、まとまった単位のデータを並列で伝送すること、かつ送信側チップと受信側チップがある範囲で同期して伝送することがキーとなる。
【０００３】
ここで、チップ間でデータ伝送を行うチップ間データ伝送装置について説明する。図４は、チップ間データ伝送装置の構成の一例を示すブロック図である。チップ間データ伝送装置は、送信側チップ１３０と受信側チップ１４０を備える。受信側チップ１４０は、データ書き込み部１４１、リングバッファ１４２、データ読み出し部１４３を備える。送信側チップ１３０と受信側チップ１４０へは、外部から同一のシステムクロックと同期信号が供給される。
【０００４】
送信側チップ１３０は、入力されたシステムクロックを書き込みクロックとして受信側チップ１４０へ送信するとともに、入力された同期信号と送信するデータをシステムクロックでラッチし受信側チップ１４０へ送信する。データ書き込み部１４１は、書き込みクロックのタイミングで、送信側チップ１３０からのデータをリングバッファ１４２へ書き込む。また、データ書き込み部１４１は、書き込みクロックでラッチされた送信側チップ１３０からの同期信号で、書き込む位置を指定する書き込みポインタをリセットし、リングバッファ１４２へ指示する。データ読み出し部１４３は、システムクロックのタイミングで、リングバッファ１４２のデータを読み出す。また、データ読み出し部１４３は、システムクロックでラッチされた外部からの同期信号で、読み出す位置を指定する読み出しポインタをリセットし、リングバッファ１４２へ指示する。
【０００５】
上述したチップ間データ伝送装置によれば、送信側チップ１３０から受信側チップ１４０へ書き込みクロックと同期信号とデータをあわせて送ることにより正確な書き込みを行うことができ、外部から送信側チップ１３０と受信側チップ１４０へシステムクロックと同期信号を送ることにより正確な読み出しを行うことができる。
【０００６】
次に、上述したチップ間データ伝送装置を、マルチプロセッサシステムに適用する場合において、特に各基板上の各チップへのシステムクロックと同期信号の分配について説明する。図５は、従来のマルチプロセッサシステムにおけるシステムクロック分配装置の構成の一例を示すブロック図である。この図は、クロックと同期信号に関する接続のみを表す。このシステムクロック分配装置は、発振部１、ＰＬＬ（Phase Locked Loop）１０２、クロック分配部１０３、複数のシステムボード１０４、クロスバボード１０５、バックプレーン６を備える。発振部１が生成する信号を元に、ＰＬＬ１０２によりシステムクロック（周期τ）と同期信号（周期ｎτ）が生成され、クロック分配部１０３からバックプレーン６を介してシステムボード１０４とクロスバボード１０５に分配される。
【０００７】
図６は、従来のシステムボードの構成の一例を示すブロック図である。この図は、クロックと同期信号に関する接続のみを表す。システムボード１０４は、クロック調整部１１１、ＮＢ（ノースブリッジ）１１２、複数のＣＰＵ（Central Processing Unit）１１３、複数のＭＡＣ（Memory Access Controller）１１４を備える。クロック調整部１１１は、クロック分配部１０３からシステムクロックと同期信号を受信し、同期信号を用いてシステムクロックの遅延時間を調整し、システムクロックと同期信号を複数のＮＢ１１２と複数のＭＡＣ１１４へ分配する。ＮＢ１１２は、ＣＰＵ１１３、ＭＡＣ１１４、他のＮＢとの通信の制御を行うとともに、クロック調整部１１１から受信したシステムクロックと同期信号をＣＰＵ１１３へ分配する。ＣＰＵ１１３は、各ＭＡＣ１１４に接続されたメモリ（不図示）へのアクセスを行うとともに、演算処理を行う。ＭＡＣ１１４は、ＣＰＵ１１３からメモリへのアクセスの制御を行う。
【０００８】
図７は、従来のクロスバボードの構成の一例を示すブロック図である。この図は、クロックと同期信号に関する接続のみを表す。クロスバボード１０５は、クロック調整部１２１、複数のＸＢ（Cross Bar：クロスバ）１２２を備える。クロック調整部１２１は、クロック分配部１０３からシステムクロックと同期信号を受信し、同期信号を用いてシステムクロックの遅延時間を調整し、システムクロックと同期信号を複数のＸＢ１２２へ分配する。ＸＢ１２２は、ＮＢ１１２間の接続を行う。
【０００９】
上述したような、クロック分配部１０３からシステムクロックと同期信号を同時に送る方式では、システムクロックと同期信号における遅延時間のずれであるスキュウが大きくなると正常な動作を行うことができない。そこで、まず、クロック分配部１０３から各チップまでは、配線長の等長化が行われている。素子、基板等のばらつきが存在するため、等長化のみで高い周波数のクロックのスキュウを抑えることは困難である。システムクロックの周波数が低い場合、スキュウの低減は容易であるが、システムクロックはサーバの中枢クロックであり高い周波数が求められる。そこで、さらにスキュウを低減するために、各基板のクロック調整部１１１，１２１はシステムクロックと同期信号に対して、外部から経路毎に設定された遅延量を与えることにより遅延時間を調整する。
【００１０】
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献１が知られている。このクロック供給方式は、基板内のローカルクロックに代えて、外部から供給されるグローバルクロックを用いて基板内のＬＳＩを動作させるものであり、事故によりグローバルクロックが遮断された場合や、基板単体の試験の場合にも、基板を動作させることが可能である。
【特許文献１】特開平９−２３３０６０号公報  （第３−５頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、クロック調整部１１１，１２１は、他のチップと同程度の速度が要求されるうえ、専用のチップとなるため、製造コストは非常に高くなる。さらに、経路毎の遅延時間を外部から設定しながら調整を行う必要があり、その工数は膨大となる。従って、ある程度スキュウを抑えることはできたとしても、コストデメリットは大きい。また、調整を実施しても調整可能な範囲に入らない場合もあり、直行率の低下が生じる。
【００１２】
本発明は上述した問題点を解決するためになされたものであり、低コストでありながら、システムクロックと同期信号のスキュウを低減するシステムクロック分配装置、システムクロック分配方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決するため、本発明は、同期信号を用いてデータのタイミングを合わせるシステムクロック分配装置であって、周期的な同期信号を生成する同期信号生成部と、データを格納するメモリと、前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理部と、前記処理部から前記メモリへのアクセスを制御する少なくとも１つのメモリアクセスコントローラと、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理部と前記メモリアクセスコントローラの制御を行う、少なくとも１つの制御部とを備えたものである。
【００１４】
また、本発明に係るシステムクロック分配装置において、前記制御部はさらに、前記同期信号を前記処理部へ出力し、前記処理部は、前記制御部からの同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするものである。
【００１５】
また、本発明に係るシステムクロック分配装置において、前記メモリアクセスコントローラは、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするものである。
【００１６】
また、本発明に係るシステムクロック分配装置において、さらに、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて複数の前記制御部の間の通信の制御を行う、少なくとも１つのクロスバを備えることを特徴とするものである。
【００１７】
また、本発明は、外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、前記内部クロックによる動作に基づいて外部の処理部と外部のメモリアクセスコントローラの制御を行うマルチプロセッサシステム制御部とを備えてなるマルチプロセッサシステム制御装置である。
【００１８】
また、本発明は、外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、前記内部クロックによる動作に基づいて外部のメモリに格納されたデータを用いる演算処理を行う処理部とを備えてなる処理装置である。
【００１９】
また、本発明は、外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、前記内部クロックによる動作に基づいて外部のメモリへのアクセスの制御を行うメモリアクセス処理部とを備えてなるメモリアクセスコントローラである。
【００２０】
また、本発明は、外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、前記内部クロックによる動作に基づいて複数の前記マルチプロセッサシステム制御部の間の通信の制御を行うクロスバ処理部とを備えてなるクロスバである。
【００２１】
また、本発明は、同期信号を用いてデータのタイミングを合わせるシステムクロック分配方法であって、周期的な同期信号を生成する同期信号生成ステップと、データを格納する記憶ステップと、前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理ステップと、前記処理ステップから前記記憶ステップへのアクセスを制御する少なくとも１つのメモリアクセス制御ステップと、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理ステップと前記メモリアクセス制御ステップの制御を行う、複数の制御ステップとを備えたものである。
【００２２】
また、本発明に係るシステムクロック分配方法において、前記制御ステップはさらに、前記同期信号を前記処理ステップへ出力し、前記処理ステップは、前記制御ステップからの同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするものである。
【００２３】
また、本発明に係るシステムクロック分配方法において、前記メモリアクセス制御ステップは、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするものである。
【００２４】
また、本発明に係るシステムクロック分配方法において、さらに、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて複数の前記マルチプロセッサシステム制御部の間の通信の制御を行う、少なくとも１つの通信制御ステップを備えることを特徴とするものである。
【００２５】
なお、処理部とは、実施の形態におけるＣＰＵのことである。また、制御部及びマルチプロセッサシステム制御装置とは、実施の形態におけるＮＢのことである。また、内部クロック生成部とは、実施の形態におけるＰＬＬのことである。また、外部クロックとは、実施の形態における同期信号のことである。また、内部クロックとは、実施の形態におけるシステムクロックのことである。
【発明の効果】
【００２６】
本発明によれば、高速動作かつ専用設計のチップであるクロック分配部とクロック調整部を用いる必要がないため、コストを低減できる。また、外部から経路毎に遅延量を設定する行程を省くことができるとともに、調整可能な範囲に入らないことによる直行率の低下を防ぐことができる。また、同期信号のみを分配するため、信号本数を低減することができる。また、高速なシステムクロックの分配を行わないことから、高速なシステムクロックの伝送特性に起因する伝送速度のボトルネックを払拭することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００２８】
図４のようなチップ間データ伝送装置を、マルチプロセッサシステムに適用する場合において、特に各基板上の各チップへのシステムクロックと同期信号の分配について説明する。図１は、本発明に係るマルチプロセッサシステムにおけるシステムクロック分配装置の構成の一例を示すブロック図である。図１において、図５と同一符号は図５に示された対象と同一又は相当物を示しており、ここでの説明を省略する。図１のシステムクロック分配装置は、図５と比較すると、ＰＬＬ１０２の代わりにＰＬＬ２を備え、クロック分配部１０３の代わりにクロック分配部３を備え、システムボード１０４の代わりにシステムボード４を備え、クロスバボード１０５の代わりにクロスバボード５を備える。発振部１が生成する信号を元に、ＰＬＬ２により同期信号（周期ｎτ）が生成され、クロック分配部３からバックプレーン６を介してシステムボード４とクロスバボード５に分配される。
【００２９】
図２は、本発明に係るシステムボードの構成の一例を示すブロック図である。システムボード４は、図６と比較すると、クロック調整部１１１の代わりにクロック分配部１１を備え、ＮＢ１１２の代わりにＮＢ１２を備え、ＣＰＵ１１３の代わりにＣＰＵ１３を備え、ＭＡＣ１１４の代わりにＭＡＣ１４を備える。クロック分配部１１は、クロック分配部３から入力された同期信号をＮＢ１２と複数のＭＡＣ１４へ分配する。ＮＢ１２はＮＢ１１２と比較して、クロック分配部３から入力された同期信号を複数のＣＰＵ１３へ分配する点が異なる。
【００３０】
図３は、本発明に係るクロスバボードの構成の一例を示すブロック図である。クロスバボード５は、図７と比較すると、クロック調整部１２１の代わりにクロック分配部２１を備え、ＸＢ１２２の代わりにＸＢ２２を備える。クロック分配部２１は、クロック分配部３から入力された同期信号を複数のＸＢ２２へ分配する。
【００３１】
ここで、ＮＢ１２、ＣＰＵ１３、ＭＡＣ１４、ＸＢ２２は、入力された信号をｎ倍に分周するＰＬＬを備え、入力された周期ｎτの同期信号から周期τのシステムクロックを生成し、この同期信号とシステムクロックを用いて動作を行う。このＰＬＬは、レファレンスクロックである同期信号の位相が、チップ間で合致していれば、出力されるシステムクロックの位相は保証できる特性を持つ。
【００３２】
上述したように、本発明に係るシステムクロック分配装置は、システムクロックを各チップへ分配せず、同期信号のみを各チップへ分配する。同期信号間のスキュウはクリティカルではなく、同期信号はシステムクロックと比べて低い周波数であり、伝送特性の問題は少ない。従って、個体間のばらつきが大きく長い伝送路を通してシステムクロックを伝送する従来のシステムクロック分配装置と比較すると、本発明に係るシステムクロック分配装置は容易にシステムクロックと同期信号の位相を合致させることができる。
【００３３】
（付記１）  同期信号を用いてデータのタイミングを合わせるシステムクロック分配装置であって、
周期的な同期信号を生成する同期信号生成部と、
データを格納するメモリと、
前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理部と、
前記処理部から前記メモリへのアクセスを制御する少なくとも１つのメモリアクセスコントローラと、
前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理部と前記メモリアクセスコントローラの制御を行う、少なくとも１つの制御部と、
を備えてなるシステムクロック分配装置。
（付記２）  付記１に記載のシステムクロック分配装置において、
前記制御部はさらに、前記同期信号を前記処理部へ出力し、
前記処理部は、前記制御部からの同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配装置。
（付記３）  付記１または付記２に記載のシステムクロック分配装置において、
前記メモリアクセスコントローラは、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配装置。
（付記４）  付記１乃至付記３のいずれかに記載のシステムクロック分配装置において、
さらに、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて複数の前記制御部の間の通信の制御を行う、少なくとも１つのクロスバを備えることを特徴とするシステムクロック分配装置。
（付記５）  外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、
前記内部クロックによる動作に基づいて外部の処理部と外部のメモリアクセスコントローラの制御を行うマルチプロセッサシステム制御部と、
を備えてなるマルチプロセッサシステム制御装置。
（付記６）  外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、
前記内部クロックによる動作に基づいて外部のメモリに格納されたデータを用いる演算処理を行う処理部と、
を備えてなるＣＰＵ。
（付記７）  外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、
前記内部クロックによる動作に基づいて外部のメモリへのアクセスの制御を行うメモリアクセス処理部と、
を備えてなるメモリアクセスコントローラ。
（付記８）  外部クロックに基づいて前記外部クロックの整数倍の周波数を持つ内部クロックを生成する内部クロック生成部と、
前記内部クロックによる動作に基づいて複数の前記マルチプロセッサシステム制御部の間の通信の制御を行うクロスバ処理部と、
を備えてなるクロスバ。
（付記９）  同期信号を用いてデータのタイミングを合わせるシステムクロック分配装置であって、
周期的な同期信号を生成する同期信号生成ステップと、
データを格納する記憶ステップと、
前記メモリに格納されたデータを用いる演算処理を行う少なくとも１つの処理ステップと、
前記処理ステップから前記記憶ステップへのアクセスを制御する少なくとも１つのメモリアクセス制御ステップと、
前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて前記処理ステップと前記メモリアクセス制御ステップの制御を行う、複数の制御ステップと、
を備えてなるシステムクロック分配方法。
（付記１０）  付記９に記載のシステムクロック分配装置において、
前記制御ステップはさらに、前記同期信号を前記処理ステップへ出力し、
前記処理ステップは、前記制御ステップからの同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配装置。
（付記１１）  付記９または付記１０に記載のシステムクロック分配方法において、
前記メモリアクセス制御ステップは、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作を行うことを特徴とするシステムクロック分配方法。
（付記１２）  付記９乃至付記１１のいずれかに記載のシステムクロック分配方法において、
さらに、前記同期信号に基づいて前記同期信号の整数倍の周波数を持つ内部クロックを生成し、該内部クロックによる動作に基づいて複数の前記マルチプロセッサシステム制御部の間の通信の制御を行う、少なくとも１つの通信制御ステップを備えることを特徴とするシステムクロック分配方法。
【図面の簡単な説明】
【００３４】
【図１】本発明に係るマルチプロセッサシステムにおけるシステムクロック分配装置の構成の一例を示すブロック図である。
【図２】本発明に係るシステムボードの構成の一例を示すブロック図である。
【図３】本発明に係るクロスバボードの構成の一例を示すブロック図である。
【図４】チップ間データ伝送装置の構成の一例を示すブロック図である。
【図５】従来のマルチプロセッサシステムにおけるシステムクロック分配装置の構成の一例を示すブロック図である。
【図６】従来のシステムボードの構成の一例を示すブロック図である。
【図７】従来のクロスバボードの構成の一例を示すブロック図である。
【符号の説明】
【００３５】
１  発振部、２，１０２  ＰＬＬ、３，１１，２１，１０３  クロック分配部、４，１０４  システムボード、５，１０５  クロスバボード、６  バックプレーン、１２，１１２  ＮＢ、１３，１１３  ＣＰＵ、１４，１１４  ＭＡＣ、２２，１２２  ＸＢ、１１１，１２１  クロック調整部、１３０  送信側チップ、１４０  受信側チップ、１４１  データ書き込み部、１４２  リングバッファ、１４３  データ読み出し部。
【図１】
2006195602.tif 000003
【図２】
2006195602.tif 000004
【図３】
2006195602.tif 000005
【図４】
2006195602.tif 000006
【図５】
2006195602.tif 000007
【図６】
2006195602.tif 000008
【図７】
2006195602.tif 000009