(57)【要約】【課題】  供給されるクロック入力信号の周波数に応じて、情報処理システムにおける適切な制御タイミングを容易に設定できるようにする。【解決手段】  基準となるクロック基準信号ＲＣＬＫを用いて、入力されるクロックソースＳＣＬＫの所定期間における経過周期数を計測し、計測して得られた経過周期数及びクロック基準信号ＲＣＬＫの周期に基づいてクロックソースＳＣＬＫの周波数を算出し、算出したクロックソースＳＣＬＫの周波数に基づいて、ＣＰＵ１０に係る各種インタフェースの制御タイミングの調整及びＣＰＵ１０にて周期に割込みを発生させる割込み発生周期を設定するようにして、ＯＳ変更（再構築等）を行うことなく、クロックソースＳＣＬＫの周波数に応じた、各種インタフェースの制御タイミングの調整及びＯＳ稼動時のタイマ割込み周期の設定を自動的に実行できるようにする。【選択図】  図３
2005301592.tif 000002
【特許請求の範囲】
【請求項１】
一定の周期を有するクロック基準信号及び当該クロック基準信号より高い周波数のクロック入力信号を出力するシステム制御部と、
上記システム制御部から上記クロック基準信号及び上記クロック入力信号が供給され、当該クロック入力信号に基づいて動作するとともに、プロセッサを含み構成される演算処理部とを備え、
上記演算処理部は、
上記クロック入力信号を逓倍又は分周し内部クロック信号を生成するクロック生成部と、
上記クロック基準信号を用いて、上記クロック入力信号の周波数値を算出する周波数算出部と、
上記周波数算出部にて算出したクロック入力信号の周波数値に基づいて、当該演算処理部に内蔵され上記内部クロック信号で動作するインタフェースの制御タイミングを調整するタイミング調整部とを有することを特徴とする情報処理システム。
【請求項２】
上記演算処理部は、上記内部クロック信号を用いて時間を計測し、当該演算処理部にて稼動するオペレーティングシステムに対して定期的に割込みを発生させるための計時部と、
上記周波数算出部にて算出したクロック入力信号の周波数値に基づいて、上記割込みを発生させる割込み周期を設定する割込み時間設定部とをさらに有することを特徴とする請求項１記載の情報処理システム。
【請求項３】
上記計時部は、上記内部クロック信号により値が更新される第１のタイマと、上記第１のタイマのタイマ値により値が更新される第２のタイマとからなり、
上記第１及び第２のタイマの初期値が、算出した上記クロック入力信号の周波数値に基づいて設定されることを特徴とする請求項２記載の情報処理システム。
【請求項４】
上記演算処理部は、
上記クロック基準信号に基づき規定される計測期間における上記クロック入力信号の経過周期数を計測する周期数計測部をさらに有し、
上記周波数算出部は、上記周期数計測部により計測される経過周期数と上記計測期間とに基づいて、上記クロック入力信号の周波数値を算出することを特徴とする請求項１〜３の何れか１項に記載の情報処理システム。
【請求項５】
上記計測期間は、上記クロック基準信号の（ｎ／２）周期（ｎは任意の自然数）の期間であることを特徴とする請求項４記載の情報処理システム。
【請求項６】
上記演算処理部は、複数のプロセッサで構成され、各プロセッサが上記クロック生成部、上記周波数算出部、及び上記タイミング調整部を有することを特徴とする請求項１〜５の何れか１項に記載の情報処理システム。
【請求項７】
システムを制御するシステム制御部と、プロセッサを含み構成される演算処理部とを有する情報処理システムであって、
上記システム制御部は、一定の周期を有するクロック基準信号、及び当該クロック基準信号より周波数が高い、上記プロセッサを動作させるためのクロック入力信号を上記演算処理部に出力し、
上記演算処理部は、当該情報処理システムの初期化時に、上記クロック基準信号を用いて上記クロック入力信号の周波数値を算出し、算出した上記クロック入力信号の周波数値に基づいて当該演算処理部内の制御タイミングを調整することを特徴とする情報処理システム。
【請求項８】
上記演算処理部は、さらに、上記クロック入力信号を逓倍又は分周して内部クロック信号を生成するとともに、算出した上記クロック入力信号の周波数値に基づいて、当該演算処理部に内蔵され上記内部クロック信号で動作するインタフェースの制御タイミングの調整、又は当該インタフェースの制御タイミングの調整及び当該演算処理部にて稼動するオペレーティングシステムに対して定期的に割込みを発生させる割込み周期の設定を行うことを特徴とする請求項７記載の情報処理システム。
【請求項９】
上記演算処理部は、上記クロック基準信号の状態値が変化してから次に当該状態値が変化するまでの上記クロック入力信号の経過周期数を計測し、計測された上記経過周期数と上記クロック基準信号の周期とに基づいて、上記クロック入力信号の周波数値を算出することを特徴とする請求項７又は８記載の情報処理システム。
【請求項１０】
システムを制御するシステム制御部と、プロセッサを含み構成される演算処理部とを有する情報処理システムのタイミング調整方法であって、
上記演算処理部が、上記システム制御部から出力される一定の周期を有するクロック基準信号を用いて、当該クロック基準信号より周波数が高く、かつ上記プロセッサを動作させるために上記システム制御部から出力されるクロック入力信号の周波数値を算出する周波数算出ステップと、
上記算出ステップにて算出した上記クロック入力信号の周波数値に基づいて、上記クロック入力信号を逓倍又は分周して生成される内部クロック信号で動作する上記演算処理部に内蔵されたインタフェースの制御タイミングを調整するタイミング調整ステップとを有することを特徴とするタイミング調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びタイミング調整方法に関し、詳しくは情報処理システムに供給されるクロック入力信号の周波数に応じた制御タイミング調整に関する。
【背景技術】
【０００２】
情報処理システムにおいては、一世代のデザインのシステム稼動期間を長くするために、システム設置後にシステムのＣＰＵを高性能なものに置き換え、システムをアップグレードすることが一般に行われている。このようなシステムは、一般に、ＣＰＵの高性能化によるアップグレードに対応可能なように、ＣＰＵとシステム制御部とのインタフェース統一がなされている。
【０００３】
ＣＰＵの高性能化は、クロック（動作クロック）周波数の増大により実現されることが多い。ＣＰＵに係るクロック周波数の設定は、通常、設定用の複数のモードピンを用いて行われているが、モードピン処理に必要なプルアップ抵抗やプルダウン抵抗等の部品を設けなければならずコストの増加を招く。これに対して、モードピン、プルアップ抵抗等の部品を削除してコスト低減を図りつつ、クロック周波数の変更によるＣＰＵの高性能化を可能にしたコンピュータが提案されている（例えば、特許文献１参照。）。
【０００４】
また、情報処理システムの性能評価試験や出荷試験では、システムにおける動作周波数を含むマージン検証や限界試験を実施することが多い。動作周波数に関しては、システム全体の動作周波数がどの程度まで上げられるか、動作周波数をあげた場合にシステム内のアプリケーションがどのような性能を示すか等の性能測定や検証が行われる。
【０００５】
例えば、動作周波数のマージン試験においては、予め仕様により決められた規定周波数での動作を保証するために、規定周波数を所定範囲だけ超えた、つまり規定周波数に対してマージンを持たせた動作周波数で、情報処理システムにてテストプログラム等を実行させ試験を行っている。一般的には、動作周波数のマージン試験は、クロック周波数を変化させるだけでなく、供給電圧や環境温度等も適宜変化させて行っている。
【０００６】
【特許文献１】特開平１０−２８９０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように情報処理システム（ＣＰＵ）のアップグレードや性能評価試験・検証試験においては、一般に、ＣＰＵに供給するクロック信号の周波数変更が行われる。そのため、情報処理システムにおけるクロック周波数の調整（設定）を容易に行えることが、システムに係る操作性の向上、及び開発費、評価費並びにアップグレードに要する費用の削減に有用である。
【０００８】
また、近年のＣＰＵの多くは、稼働させるＯＳ（オペレーティングシステム）の計時に使用するタイマ機構を内蔵している。したがって、ＣＰＵに係るクロック周波数の変更は、ＯＳのタイマ制御の変更を意味し、一般に、クロック周波数を変更するとＯＳを再構築しなければならない。
【０００９】
情報処理システムにおいては、従来、システムに搭載されるＣＰＵの数は少なく、比較的わずかな労力及びコストでクロック周波数の変更に対応可能であった。しかしながら、近年、１つの情報処理システムに搭載されるＣＰＵの数は増加する傾向にあり、特に多くのＣＰＵを１つのシステムに搭載するマルチプロセッサシステムでは、変更後のクロック周波数にシステムを対応させるために要する労力及びコストは非常に増大している。
【００１０】
本発明は、このような事情に鑑みてなされたものであり、供給されるクロック入力信号の周波数に応じて、情報処理システムにおける適切な制御タイミングを容易に設定できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の情報処理システムは、クロック基準信号及び当該クロック基準信号より高い周波数のクロック入力信号を出力するシステム制御部と、上記クロック基準信号及び上記クロック入力信号が供給され、プロセッサを含み構成される演算処理部とを備え、上記演算処理部は、上記クロック入力信号から内部クロック信号を生成するとともに、上記クロック基準信号を用いて上記クロック入力信号の周波数値を算出し、算出したクロック入力信号の周波数値に基づいて、当該演算処理部に内蔵され上記内部クロック信号で動作するインタフェースの制御タイミングを調整する。
これにより、演算処理部に供給するクロック入力信号の周波数を変更しても、演算処理部自らが基準となるクロック基準信号を用いてクロック入力信号の周波数値を算出し、それに応じて演算処理部に内蔵されているインタフェースの制御タイミングを自動的に調整するので、クロック入力信号の周波数に応じた適切な制御タイミングを容易に設定することができる。
【００１２】
また、算出した上記クロック入力信号の周波数値に基づいて、オペレーティングシステムに対して定期的に割込みを発生させるための割込み周期を設定するようにしても良い。このようにした場合には、クロック入力信号の周波数の変更に伴って、オペレーティングシステムのタイマ制御を自動的に変更することができる。
【発明の効果】
【００１３】
本発明によれば、供給されるクロック入力信号の周波数値を算出し、算出した周波数値に応じて演算処理部における制御タイミングを自動的に調整するので、情報処理システムのクロック周波数を変更しても、その周波数に応じた適切な制御タイミングを容易に設定することができる。したがって、多大な労力及びコストを要することなく、変更後のクロック周波数に対応するように情報処理システムを容易に制御することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図面に基づいて説明する。
図１は、本発明の一実施形態による情報処理システムを適用したマルチプロセッサシステムのシステム構成例を示すブロック図である。
【００１５】
本実施形態におけるマルチプロセッサシステムは、図１に示すように、中央演算処理装置であるＣＰＵ１０−ｉ、主記憶装置であるＭＳＵ（Main Storage Unit）２０−ｉ、フラッシュメモリ（Ｆｌａｓｈ−ＲＯＭ、以下「ＲＯＭ」と称す。）３０−ｉ、ネットワークインタフェース（ＮＩＣ：Network Interface Card）４０−ｉ、システムコントローラ５０、クロック発生器６０、及びコンソールポート（ＣＰ：Console-Port）７０−ｉを備える。なお、ｉは添え字であり、図１に示した例ではｉ＝０〜３の整数である（以下の説明でも同様。）。
【００１６】
ＣＰＵ１０−ｉは、プログラムを構成する命令の読み出し（フェッチ）、解釈（デコード）及び実行を行う。すなわち、各ＣＰＵ１０−ｉは、後述するような動作を行うためのプログラムを読み出して実行することで、接続されているＭＳＵ２０−ｉ、ＲＯＭ３０−ｉ、及びＮＩＣ４０−ｉ等の制御を行う。
【００１７】
各ＣＰＵ１０−ｉには、ＭＳＵ２０−ｉがメモリバス（メモリインタフェース）ＭＢｉを介して接続され、ＲＯＭ３０−ｉ及びＮＩＣ４０−ｉ等がローカルバスＬＢｉを介して接続されている。また、各ＣＰＵ１０−ｉは、コンソールポート７０−ｉに接続されている。
具体的には、ＣＰＵ１０−０には、メモリバスＭＢ０を介してＭＳＵ２０−０が接続され、ローカルバスＬＢ０を介してＲＯＭ３０−０及びＮＩＣ４０−０等が接続されている。ＣＰＵ１０−０は、コンソールポート７０−０に接続されている。ＣＰＵ１０−１〜１０−３も同様に、それぞれ対応するＭＳＵ２０−１〜２０−３、ＲＯＭ３０−１〜３０−３、ＮＩＣ４０−１〜４０−３及びコンソールポート７０−１〜７０−３に対して接続されている。
【００１８】
また、各ＣＰＵ１０−ｉには、リセット信号（システムリセット信号）ＳＲＳＴ、クロック基準信号ＲＣＬＫ、クロックモード信号（クロック制御信号）ＣＭＯＤ、及びブートモード信号ＢＭＯＤがシステムコントローラ５０から供給され、クロックソース（クロック入力信号）ＳＣＬＫがクロック発生器６０から供給される。リセット信号ＳＲＳＴがリセット入力端子＜ＲＳＴ＞より入力され、クロックソースＳＣＬＫがクロック入力端子＜ＣＬＫＩＮ＞より入力される。また、クロック基準信号ＲＣＬＫ、クロックモード信号ＣＭＯＤ、及びブートモード信号ＢＭＯＤが、異なる汎用入出力端子＜ＧＰＩＯ：General Purpose I/O＞よりそれぞれ入力される。なお、各信号の詳細については後述する。
【００１９】
ＭＳＵ２０−ｉは、メモリ（例えば、ＳＤＲＡＭなどのＲＡＭ）等で構成され、ＯＳ（オペレーティングシステム）などのプログラムやデータ等を一時的に記憶する。ＭＳＵ２０−ｉは、ＣＰＵ１０−ｉが各種の制御を行う時に用いられ、ＣＰＵ１０−ｉのいわゆる主メモリあるいはワークエリア等として機能する。
【００２０】
ＲＯＭ３０−ｉには、対応するＣＰＵ１０−ｉが実行するプログラム（ブートプログラム、又はブートプログラムとＯＳ）やデータ等が記憶されている。なお、本実施形態においては、ＲＯＭ３０−ｉとしてフラッシュメモリを一例として示しているが、これに限定されるものではなく、不揮発性メモリであれば良い。
ＮＩＣ４０−ｉは、ネットワーク（図１においては、ＬＡＮ８０）を介してＣＰＵ１０−ｉと外部機器との間でデータ等を送受信するための通信インタフェースである。なお、本実施形態においては、ＬＡＮ８０をネットワークの一例として示しているが、これに限定されるものではなく、一般に用いられる任意のネットワークが適用可能である。
【００２１】
システムコントローラ５０は、当該マルチプロセッサシステム全体を制御するものであり、リセット信号ＳＲＳＴ、クロック基準信号ＲＣＬＫ、クロックモード信号ＣＭＯＤ、及びブートモード信号ＢＭＯＤを出力する。また、システムコントローラ５０は、各コンソールポート７０−ｉを介してＣＰＵ１０−ｉと通信可能なように接続されているとともに、オペレータ等が操作可能な外部コンソールに対して通信可能なように接続されている。
【００２２】
クロック発生器６０は、クロックソースＳＣＬＫを生成し出力する。クロック発生器６０にて生成し出力するクロックソースＳＣＬＫの周波数は、クロック発生器６０を制御することにより任意に変更可能である。なお、このクロック発生器６０は、システムコントローラ５０内部に設けられていても良い。
コンソールポート７０−ｉは、ＣＰＵ１０−ｉとシステムコントローラ５０との間でデータ等を送受信するための入出力インタフェースである。コンソールポート７０−ｉは、例えば、オペレータに伝えるためにＣＰＵ１０−ｉで稼動しているＯＳからのメッセージをシステムコントローラ５０に送信したり、システムコントローラ５０からのコマンドをＣＰＵ１０−ｉに送信したりする。
【００２３】
ここで、リセット信号ＳＲＳＴ、クロック基準信号ＲＣＬＫ、クロックモード信号ＣＭＯＤ、ブートモード信号ＢＭＯＤ、及びクロックソースＳＣＬＫについて説明する。
リセット信号ＳＲＳＴは、当該マルチプロセッサシステムを構成する各ＣＰＵ１０−ｉを初期化するための、いわゆるハードリセット信号である。
【００２４】
クロックソースＳＣＬＫは、動作クロック信号としてＣＰＵ１０−ｉに供給されるクロック信号である。
クロック基準信号ＲＣＬＫは、クロック調整用の固定された基準信号であり、一定のデューティ比（クロックデューティ）を有するとともに、クロックソースＳＣＬＫに対して比較的低い周波数の信号である。例えば、クロック基準信号ＲＣＬＫの周波数は１ＭＨｚであり、クロックソースＳＣＬＫの周波数は３７ＭＨｚ〜６６ＭＨｚである。なお、クロック基準信号ＲＣＬＫについての情報はＣＰＵ１０−ｉに適宜供給されており、ＣＰＵ１０−ｉはクロック基準信号ＲＣＬＫの周波数及びデューティ比（クロックデューティ）の情報を有している。
【００２５】
クロックモード信号ＣＭＯＤは、マルチプロセッサシステムにおいてクロック調整を行うための、ＣＰＵの動作クロックと各種インタフェースの制御クロックとの周波数の関係、より詳しくは図２に示すＣＰＵコア、メモリバス（メモリ）、及びローカルバスのクロック周波数の比を示す信号である。このクロックモード信号ＣＭＯＤにより示される値に応じて、ＣＰＵの動作クロックと各種インタフェースの制御クロックとの周波数の関係は一意に決定される。
ブートモード信号ＢＭＯＤは、ブートシーケンスを指示する信号である。
【００２６】
なお、図１においては、４つのＣＰＵ１０−０〜１０−３で構成されたマルチプロセッサシステムを一例として図示しているが、マルチプロセッサシステムが有するＣＰＵの数は任意である。
【００２７】
図２は、ＣＰＵ１０−ｉの構成例を示すブロック図である。
なお、各ＣＰＵ１０−ｉの構成は同様であるので、図２においては１つのＣＰＵのみ示している。したがって、図１で符号に付した添え字ｉについては付していない。また、図２において、図１に示したブロック等と同一の機能を有するブロック等には同一の符号を付し、重複する説明は省略する。
【００２８】
ＣＰＵ１０は、ＣＰＵコア１１、メモリコントローラ１２、バスコントローラ１３、クロック制御回路１４、タイマ１５、及びＳＣＣ（シリアルコミュニケーションコントローラ）１６を有する。
ＣＰＵコア１１は、ＣＰＵ１０においてデータに演算や加工等を施す演算処理を実行するものである。
【００２９】
メモリコントローラ１２は、メモリバスＭＢを介してＭＳＵ２０に接続されており、ＣＰＵコア１１からの指示に基づいてＭＳＵ２０を制御する。すなわち、メモリコントローラ１２は、ＣＰＵコア１１からの指示に応じて、ＭＳＵ２０にデータを書き込んだり、ＭＳＵ２０からデータを読み出したりする。
【００３０】
バスコントローラ１３は、ＣＰＵコア１１からの指示に基づいてローカルバスＬＢに接続された周辺デバイスを制御する。また、バスコントローラ１３は、タイマ１５及びＳＣＣ１６に対して接続されている。バスコントローラ１３には、クロック基準信号ＲＣＬＫ及びブートモード信号ＢＭＯＤがシステムコントローラ５０から供給される。
【００３１】
クロック制御回路１４は、逓倍回路及びＰＬＬ（Phase Locked Loop）回路を含み構成される。クロック制御回路１４は、システムコントローラ５０から供給されるクロックモード信号ＣＭＯＤを参照して、それにより示される値に応じた周波数比の各内部クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫをクロック発生器６０から供給されるクロックソースＳＣＬＫを用いて生成する。そして、クロック制御回路１４は、生成した内部クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫを、ＣＰＵコア１１、メモリコントローラ１２、バスコントローラ１３、タイマ１５にそれぞれ供給する。ここで、内部クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫの各周波数は、クロックモード信号ＣＭＯＤにより示される値に応じて任意に変更可能である。
【００３２】
なお、図２においては、バスコントローラ１３及びタイマ１５に供給するクロック信号ＢＣＫ、ＴＣＫは異なるクロック信号としているが、バスコントローラ１３及びタイマ１５に供給する内部クロック信号は同じクロック信号であっても良い。また、クロック制御回路１４は、分周回路を備えていても良い。
【００３３】
タイマ１５は、供給されるクロック信号ＴＣＫに基づいて計時動作を行うものであり、本実施形態では、クロック信号ＴＣＫの１周期毎に値を１だけデクリメントするデクリメントカウンタを含み構成されている。
ＳＣＣ１６は、ＣＰＵ１０とシステムコントローラ５０との間でコンソールポート７０を介してデータをシリアル伝送するためのコントローラである。
【００３４】
次に、図２に示したＣＰＵ１０の機能的な構成について説明する。
図３は、ＣＰＵ１０の機能的な構成を示す機能ブロック図であり、ここでは、要素的特徴のみを示している。なお、図３において、図２に示したブロック等と同一の機能を有するブロック等には同一の符号を付し、重複する説明は省略する。
本実施形態においては、例えばＣＰＵコア１１及びＲＯＭ３０に格納されているブートプログラムから、以下の各機能部１０３、１０４、１０５、１０６、１０７、１０８、１０９、及び１１０が構成され、クロック制御回路１４により機能部１０１が構成される。また、タイマ１５により、以下の機能部１０２、１１１、１１２、１１３が構成される。
【００３５】
図３において、クロック生成部１０１は、システムコントローラ５０及びクロック発生器６０からクロックモード信号ＣＭＯＤ及びクロックソースＳＣＬＫが供給され、内部クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫを生成し出力する。
タイマ部１０２は、クロック生成部１０１から出力されたクロック信号ＴＣＫ（例えば、クロックソースＳＣＬＫと同周波数）により値が更新されるタイマであり、本実施形態では、クロック信号ＴＣＫの１周期毎に値が１ずつデクリメントされる。
【００３６】
周期数計測部１０３は、タイマ値取得部１０４及びクロック監視部１０５を有し構成され、システムコントローラ５０から供給されるクロック基準信号ＲＣＬＫにより規定される計測期間におけるクロックソースＳＣＬＫの経過周期数を計測する。タイマ値取得部１０４は、クロック監視部１０５からの指示に基づいて、タイマ部１０２からタイマ値を取得し保持する。クロック監視部１０５は、供給されるクロック基準信号ＲＣＬＫを監視し、その状態値が変化したとき、タイマ値取得部１０４にタイマ値の取得を指示する。
【００３７】
周波数算出部１０６は、クロック基準信号ＲＣＬＫの周期情報（計測期間）、及び周波数計測部１０３により計測されたクロックソースＳＣＬＫの経過周期数に基づいて、クロックソースＳＣＬＫの周波数値を算出する。
【００３８】
制御部１０７は、ＣＰＵ１０内の各機能部を統括的に制御するものであり、タイミング調整部１０８及び割込み時間設定部１０９を含む。
タイミング調整部１０８は、周波数算出部１０６にて算出したクロックソースＳＣＬＫの周波数値に基づいて、ＣＰＵ１０に内蔵されている各インタフェース１２、１３等の制御タイミングを調整する。
【００３９】
割込み時間設定部１０９は、後述するようにＣＰＵ１０にてＯＳが稼動しているときに、タイミングサービス等を提供するためにＯＳに対して定期的に割込みを発生させる割込み周期を設定する。具体的には、割込み時間設定部１０９は、周波数算出部１０６にて算出したクロックソースＳＣＬＫの周波数値に基づいて、計時部１１１にて割込み時間を計測可能なようにタイマ１１２及びプリスケーラ１１３に適切な値（初期値）を設定する。
【００４０】
割込み発生部１１０は、計時部１１１により計測される時間に基づき、ＣＰＵ１０にて稼動しているＯＳに対して定期的な割込みＩＮＴを発生する。
計時部１１１は、クロック信号ＴＣＫ（クロックソースＳＣＬＫ）に基づいて時間を計測するものであり、タイマ１１２及びプリスケーラ１１３を有する。タイマ１１２は本発明における第１のタイマに相当し、プリスケーラ１１３は本発明における第２のタイマに相当する。プリスケーラ１１３は、タイマ１１２に対する前段のタイマとして設けられクロック信号ＴＣＫ（クロックソースＳＣＬＫ）により値が更新されるものであり、クロック信号ＴＣＫの１周期毎に値を１ずつデクリメントし、値が“０”になるとタイマ１１２にその旨を通知する。タイマ１１２は、プリスケーラ１１３からの通知により値が更新されるものであり、当該通知を受信する度に値を１ずつデクリメントする。タイマ１１２に初期値が設定されてから値が“０”に達するまでの期間が、上述した割込みＩＮＴの発生周期に相当し、この期間はタイマ１１２及びプリスケーラ１１３に設定する初期値に応じて適宜変更することができる。つまり、割込みＩＮＴの発生周期を任意に設定することができる。
【００４１】
次に、本実施形態におけるマルチプロセッサシステムの動作について説明する。
なお、以下の説明では、電源投入や外部からの指示に応じてシステムコントローラ５０よりリセット信号ＳＲＳＴが出力されてからＯＳに係るタイマ割込み周期を設定するまでの起動処理についてのみ説明し、他の動作は従来のマルチプロセッサシステムと同様であるので説明は省略する。また、以下に説明する処理は、ＣＰＵ１０にて実行するブートプログラムにより実行される。
【００４２】
図４は、本実施形態におけるマルチプロセッサシステムの起動処理の一例を示すフローチャートである。
まず、システムコントローラ５０が各ＣＰＵ１０に対してリセット信号ＳＲＳＴを出力すると、当該リセット信号ＳＲＳＴを受けた各ＣＰＵ１０は、ステップＳ１にて、内部レジスタ等を初期化するためのハードウェアリセットを実行する。
【００４３】
ステップＳ２にて、各ＣＰＵ１０は、ハードウェアによる初期化完了時にリセットトラップを自動的に発生し、リセットトラップ開始処理を行う。具体的には、各ＣＰＵ１０は、プログラムステータスワードに規定の値を設定するとともに、プログラムカウンタにリセットトラップ実行開始アドレス（Reset Vector）を設定する。ここで、システムブート用のブートプログラムはＲＯＭ３０の先頭アドレスから格納されており、リセットトラップ実行開始アドレスとしてＲＯＭ３０の先頭アドレスが設定される。
【００４４】
ステップＳ３にて、各ＣＰＵ１０は、ブートプログラムの実行を開始する。まず、各ＣＰＵ１０は、その後のプログラム実行の準備として、内部に備える汎用レジスタや他の制御レジスタ（タイマ１５を含む。）を初期化するとともに、周辺デバイスのアドレス設定などバスの初期化を行う。
【００４５】
ステップＳ４にて、各ＣＰＵ１０は、供給されるクロック基準信号ＲＣＬＫ、クロックソースＳＣＬＫ及びクロックモード信号ＣＭＯＤに基づいて、図５に示すクロック調整処理を行う。
【００４６】
図５は、クロック調整処理の一例を示すフローチャートである。
なお、タイマ１５の値（以下、「タイマ値」と称す。）は、クロックソースＳＣＬＫと予め決められた関係を有するクロックＴＣＫ（ローカルバス制御に係るクロックＢＣＫであっても良い。）を用いて常時カウントダウンされている。
【００４７】
クロック調整処理を開始すると、ステップＳ２１にて、ＣＰＵ１０は、タイマ値を取得した回数を示すパラメータｋの値を“０”に初期化する。
ステップＳ２２にて、ＣＰＵ１０は、汎用入出力端子＜ＧＰＩＯ＞に入力されているクロック基準信号ＲＣＬＫの状態値（ハイレベル（“Ｈ”）、ロウレベル（“Ｌ”））を参照し、状態値が変化するまで待機する（ステップＳ２２のＮＯ）。そして、ＣＰＵ１０は、クロック基準信号ＲＣＬＫの状態値が変化したと判断する（ステップＳ２２のＹＥＳ）と、ステップＳ２３に進み、そのときのタイマ値を取得し記憶する。
【００４８】
次に、ＣＰＵ１０は、ステップＳ２４にて、パラメータｋの値を１だけインクリメントし、さらにステップＳ２５にて、パラメータｋの値と設定値Ｎ１の値とを比較する。ここで設定値Ｎ１は、タイマ値を取得すべき回数を示しており、タイマ値を２回以上取得すればクロックソースＳＣＬＫの周波数が算出可能であることから設定値Ｎ１としては２以上の任意の自然数が設定される。なお、設定値Ｎ１の値が大きいほど算出されるクロックソースＳＣＬＫの周波数の精度は高くなるが周波数算出に要する時間が増加するので、設定値Ｎ１は、要求される周波数の算出精度やシステム性能等に応じて適宜決定すれば良い。
【００４９】
ステップＳ２５での判断の結果、パラメータｋの値と設定値Ｎ１の値とが異なる、すなわちタイマ値をＮ１回取得していない場合には、ステップＳ２２に戻り、上述したステップＳ２２〜Ｓ２５の処理を行う。
【００５０】
一方、ステップＳ２５での判断の結果、パラメータｋの値と設定値Ｎ１の値とが等しい、すなわちＮ１回のタイマ値取得が完了した場合には、ステップＳ２６に進み、ＣＰＵ１０は、記憶している取得したタイマ値に基づいてクロックソースの周波数を算出する。上述したようにＣＰＵ１０は、クロック基準信号ＲＣＬＫの周波数及びデューティ比についての情報を予め有している。ＣＰＵ１０は、取得したタイマ値を比較することで、当該タイマ値の取得間隔であるクロック基準信号ＲＣＬＫのある周期（周期数は任意）の間でのクロックソースＳＣＬＫの経過サイクル数を求め、これに基づいてクロックソースの周波数を算出する。
【００５１】
例えば、図７に示すように、ＣＰＵ１０は、時刻Ｔ１においてクロック基準信号ＲＣＬＫの状態値の参照を開始して、その状態値が“Ｌ”から“Ｈ”に変化する時刻Ｔ２においてタイマ値（１回目のタイマ値）“１５０”を取得し、さらに状態値が“Ｈ”から“Ｌ”に変化する時刻Ｔ３においてタイマ値（２回目のタイマ値）“１１７”を取得したとする。なお、クロック基準信号ＲＣＬＫの周波数は１ＭＨｚ、デューティ比は１：１であるとする。
すなわち、クロック基準信号ＲＣＬＫの半周期の間で取得したタイマ値が“３３”だけ変化した、クロックソースＳＣＬＫの経過サイクル数が３３サイクルである場合には、ＣＰＵ１０は、クロックソースＳＣＬＫの周波数を６６ＭＨｚ（＝３３／（１／２））であると算出する。
【００５２】
次に、ステップＳ２７にて、ＣＰＵ１０は、ステップＳ２６において算出したクロックソースＳＣＬＫの周波数と、入力されているクロックモード信号ＣＭＯＤにより示される値とを参照し、各インタフェースの制御タイミングの調整及び設定を行う。ＣＰＵ１０は、例えば、メモリ等で構成されるＭＳＵ２０の制御タイミングや、ローカルバスＬＢに接続されたデバイス（３０、４０等）に要求を発行してからその応答が戻るまでの時間、いわゆるレイテンシに係る制御タイミングや、コンソールとして使用するシリアルポート（コンソールポート７０）に係るボーレートクロック（Baud Rate Clock）の周波数を設定する。また、ＭＳＵ２０を構成するメモリがリフレッシュ動作を必要とするメモリである場合には、ＣＰＵ１０は、そのリフレッシュタイミングを設定する。
【００５３】
具体例を示して説明すると、クロックモード信号ＣＭＯＤにより示される値が、クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫの周波数比（６：２：１：１）を規定する“１０１”（２進表記）であり、クロックソースの周波数が５５ＭＨｚ（１７ｎｓ／サイクル）であるとする。すなわち、クロック制御回路１４から出力される各クロック信号ＣＣＫ、ＭＣＫ、ＢＣＫ、ＴＣＫの周波数が、３３０ＭＨｚ（ＣＣＫ）、１１０ＭＨｚ（ＭＣＫ）、５５ＭＨｚ（ＢＣＫ及びＴＣＫ）であるとする。
【００５４】
ここで、ＭＳＵ２０を構成するメモリにおいて、アドレスの出力タイミング及び出力時間などのアクセスタイミング等に係る時間は、一般にクロック周波数に依存しない絶対時間により規定されている。また、リフレッシュ動作を要するメモリにおいては、リフレッシュタイミング（アドレスストローブ等の出力タイミング及び出力時間等）も同様である。そこで、ＣＰＵ１０は、ＭＳＵ２０の制御タイミングを調整及び設定する場合には、ＭＳＵ２０を構成するメモリの仕様として規定されている絶対時間が、クロック制御回路１４から出力される各クロック信号の何サイクルに相当するかを計算し、算出したサイクル数を用いてそれぞれの制御タイミングを設定する。
【００５５】
また、接続される外部機器に合わせるために、一般にシリアルポートにおける伝送タイミングもクロック周波数に依存する相対的なものではなく絶対時間により規定されている。そのため、ＣＰＵ１０は、ボーレートクロックの１周期がクロック制御回路１４から出力されるクロック信号の何サイクルに相当するかを計算し、算出したサイクル数を用いてボーレートクロックに係る周波数を設定する。
上述のようにしてクロック調整処理が終了すると、図４のステップＳ５に戻る。
【００５６】
図４に戻り、ステップＳ５にて、各ＣＰＵ１０は、供給されているブートモード信号ＢＭＯＤを参照し、初期診断を実行するか否かを判定する。この判定の結果、ブートモード信号ＢＭＯＤにより初期診断の実行が指定されている場合には、ステップＳ６にて、ＣＰＵ１０及びＭＳＵ２０等の初期診断を実行し、ステップＳ７に進む。一方、ブートモード信号ＢＭＯＤにより初期診断の実行が指定されていなければ、ステップＳ６をスキップしてステップＳ７に進む。
【００５７】
ステップＳ７にて、各ＣＰＵ１０は、ブートモード信号ＢＭＯＤを参照して、ＲＯＭ３０からＯＳをブートするか、ＬＡＮ８０（ネットワーク）経由でＯＳをブートするか、それともＯＳをブートせずに停止するかを判定する。
【００５８】
この判定の結果、ブートモード信号ＢＭＯＤによりＲＯＭ３０からのＯＳブートが指定されている場合には、ステップＳ８にて、ＣＰＵ１０は、ＲＯＭ３０からＯＳをロードしてブートしステップＳ１０に進む。同様に、ブートモード信号ＢＭＯＤによりＬＡＮ８０経由でのＯＳブートが指定されている場合には、ステップＳ９にて、ＣＰＵ１０は、ＬＡＮ８０を介して外部機器からＯＳをロードしてブートしステップＳ１０に進む。
【００５９】
ステップＳ１０にて、ＣＰＵ１０は、ブートしたＯＳに制御を移行させる。続いてステップＳ１１にて、ＣＰＵ１０は、図６に示すタイマ割込み周期設定処理を行う。
【００６０】
ここで、タイマ割込み周期は、ＯＳ実行中のプロセスの切り替えや、ＯＳが提供する各種タイミングサービス（例えば、プログラムの実行時間計測、指定時間後のプロセスの起動、時刻の維持管理など）を行うためにＣＰＵコアに対して割込みを発生させる周期である。タイマ１５は、このＣＰＵコアに対する周期的な割込みを発生させるための機能を備えており、その周期は図３に示したタイマ１１２及びプリスケーラ１１３に設定する値により任意に調整可能としている。
【００６１】
タイマ１５は、タイマ値がデクリメントされて“０”になったときにタイムアウト割込みを発生させＯＳに制御を移す。このタイムアウト割込みが発生したとき、ＣＰＵ１０にて稼動しているＯＳは、割込み要因をクリアして、ユーザプロセスを別の実行可能なプロセスに切り替えたり、上述したタイミングサービスを行うための時刻を更新したりするなどの処理を行った後、ユーザプロセスに制御を移す。
【００６２】
図６は、タイマ割込み周期設定処理の一例を示すフローチャートである。
なお、上述したクロック調整処理と同様に、タイマ１５の値（タイマ値）は、クロック（タイマクロック）ＴＣＫを用いて常時デクリメントされている。
【００６３】
タイマ割込み周期設定処理を開始すると、ステップＳ３１にて、ＣＰＵ１０は、タイマ値を取得した回数を示すパラメータｍの値を“０”に初期化する。
ステップＳ３２にて、ＣＰＵ１０は、汎用入出力端子＜ＧＰＩＯ＞に入力されているクロック基準信号ＲＣＬＫの状態値を参照し、その状態値が変化するまで待機する（ステップＳ３２のＮＯ）。そして、ＣＰＵ１０は、クロック基準信号ＲＣＬＫの状態値が変化したと判断する（ステップＳ３２のＹＥＳ）と、ステップＳ３３に進み、そのときのタイマ値を取得し記憶する。
【００６４】
次に、ＣＰＵ１０は、ステップＳ３４にて、パラメータｍの値を１だけインクリメントし、さらにステップＳ３５にて、パラメータｍの値と設定値Ｎ２の値とを比較する。ここで設定値Ｎ２は、上述した設定値Ｎ１と同様にタイマ値を取得すべき回数を示しており、２以上の任意の自然数が設定される。なお、設定値Ｎ２も要求される周波数の算出精度やシステム性能等に応じて適宜決定すれば良い。
【００６５】
ステップＳ３５での判断の結果、パラメータｍの値と設定値Ｎ２の値とが異なる場合には、ステップＳ３２に戻り、上述したステップＳ３２〜Ｓ３５の処理を行う。
【００６６】
一方、ステップＳ３５での判断の結果、パラメータｍの値と設定値Ｎ２の値とが等しい場合には、ステップＳ３６に進み、ＣＰＵ１０は、記憶している取得したタイマ値に基づいて上述したクロック調整処理と同様にしてクロックソースの周波数を算出する。さらに、ＣＰＵ１０は、算出したクロックソースの周波数に基づいて、クロックソースの周波数に依存するタイマクロックＴＣＫの周期を算出する。
【００６７】
次に、ステップＳ３７にて、ＣＰＵ１０は、ステップＳ３６において算出したタイマクロックＴＣＫの周期を参照して、タイマ１５にてタイムアウトしてからタイマ値がデクリメントされ“０”になるまでの時間がタイマ割込み周期に合致するように、タイマ及びプリスケーラに設定する値を算出して設定する。
上述のようにしてタイマ割込み周期設定処理が終了する。
【００６８】
図４に戻り、ステップＳ１１でのタイマ割込み周期設定処理が終了すると、各ＣＰＵ１０はＯＳによる運用を開始し起動処理を終了する。
【００６９】
上記ステップＳ７での判定の結果、ブートモード信号ＢＭＯＤにより停止が指定されている場合には、ステップＳ１２にて、ＣＰＵ１０は、コンソールポート７０及びシステムコントローラ５０を介して外部コンソールに対してプロンプトを出力する。
次に、ステップＳ１３にて、ＣＰＵ１０は、外部コンソールによりオペレータからの指示、すなわちコマンドが入力されるまで待機する。そして、外部コンソールを介して入力されたコマンドがシステムコントローラ５０及びコンソールポート７０を経由して供給されると、ステップＳ１４にて、ＣＰＵ１０は、供給されたコマンドに応じた処理を実行する。その処理が終了すると、ステップＳ１２に戻り、上述したステップＳ１２〜Ｓ１４の処理を繰り返す。なお、ステップＳ１２〜Ｓ１４の処理において、供給されるコマンドによりＯＳブートが指示された場合には、ＣＰＵ１０は、コマンドに従ってＯＳをロードしてブートし、上述したステップＳ１０に進むようにしても良い。
【００７０】
なお、図４にフローチャートを示した起動処理では、ステップＳ４でのクロック調整処理及びステップＳ１１でのタイマ割込み周期設定処理において、それぞれクロックソースＳＣＬＫの周波数を算出するようにしているが、ステップＳ４における処理で算出したクロックソースＳＣＬＫの周波数に係る情報を、ＭＳＵ２０或いはＲＯＭ３０（ただし、この場合にはＲＯＭ３０は書き換え可能であるとする）にて読み出し可能な記憶領域に記憶しておき、ステップＳ１１にてそれを参照してタイマ割込み周期を設定するようにしても良い。
【００７１】
以上、説明したように本実施形態によれば、マルチプロセッサシステムの初期化時に、クロック基準信号ＲＣＬＫを用いて、入力されるクロックソースＳＣＬＫの周波数を算出する。そして、算出したクロックソースＳＣＬＫの周波数に基づいて、クロックモード信号ＣＭＯＤを参照し、それにより示される値に従って生成された内部クロック信号で制御されるＣＰＵ１０に係る各種インタフェースの制御タイミングの調整及び設定を行い、さらに算出したクロックソースＳＣＬＫの周波数に基づいて、ＣＰＵコア１１（ＣＰＵコア１１で稼動しているＯＳ）に対して周期に割込みを発生させる割込み発生周期を設定する。
【００７２】
これにより、入力されるクロックソースＳＣＬＫの周波数に応じた、各種インタフェースの制御タイミングの調整及びＯＳ稼動時のタイマ割込み周期の設定が自動的に行われるので、クロックソースＳＣＬＫの周波数を変更しても、その周波数に応じた適切な制御タイミング及び割込み発生周期を容易に設定することができる。したがって、ＯＳ変更（再構築等）を行うことなく、マルチプロセッサシステムのクロック周波数（クロックソースＳＣＬＫの周波数）の変更を非常に容易に行うことができるようになり、クロック周波数変更に伴う作業を削減して、システムのアップグレードや、動作周波数マージン試験等のシステム性能評価・検証に要するコストを低減することができる。
【００７３】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００７４】
（付記１）一定の周期を有するクロック基準信号及び当該クロック基準信号より高い周波数のクロック入力信号を出力するシステム制御部と、
上記システム制御部から上記クロック基準信号及び上記クロック入力信号が供給され、当該クロック入力信号に基づいて動作するとともに、プロセッサを含み構成される演算処理部とを備え、
上記演算処理部は、
上記クロック入力信号を逓倍又は分周し内部クロック信号を生成するクロック生成部と、
上記クロック基準信号を用いて、上記クロック入力信号の周波数値を算出する周波数算出部と、
上記周波数算出部にて算出したクロック入力信号の周波数値に基づいて、当該演算処理部に内蔵され上記内部クロック信号で動作するインタフェースの制御タイミングを調整するタイミング調整部とを有することを特徴とする情報処理システム。
（付記２）上記演算処理部は、上記内部クロック信号を用いて時間を計測し、当該演算処理部にて稼動するオペレーティングシステムに対して定期的に割込みを発生させるための計時部と、
上記周波数算出部にて算出したクロック入力信号の周波数値に基づいて、上記割込みを発生させる割込み周期を設定する割込み時間設定部とをさらに有することを特徴とする付記１記載の情報処理システム。
（付記３）上記計時部は、上記内部クロック信号により値が更新される第１のタイマと、上記第１のタイマのタイマ値により値が更新される第２のタイマとからなり、
上記第１及び第２のタイマの初期値が、算出した上記クロック入力信号の周波数値に基づいて設定されることを特徴とする付記２記載の情報処理システム。
（付記４）当該情報処理システムの初期化時に、上記インタフェースの制御タイミングの調整及び上記割込み周期の設定を行うことを特徴とする付記２記載の情報処理システム。
（付記５）上記演算処理部は、
上記クロック基準信号に基づき規定される計測期間における上記クロック入力信号の経過周期数を計測する周期数計測部をさらに有し、
上記周波数算出部は、上記周期数計測部により計測される経過周期数と上記計測期間とに基づいて、上記クロック入力信号の周波数値を算出することを特徴とする付記１記載の情報処理システム。
（付記６）上記周波数計測部は、上記クロック入力信号に基づいて値が更新されるタイマを有し、上記クロック基準信号の状態値が変化したときに上記タイマの値を取得して上記経過周期数を計測することを特徴とする付記５記載の情報処理システム。
（付記７）上記計測期間は、上記クロック基準信号の（ｎ／２）周期（ｎは任意の自然数）の期間であることを特徴とする付記５記載の情報処理システム。
（付記８）上記演算処理部にて実行するブートプログラムにより、上記インタフェースの制御タイミングの調整を行うことを特徴とする付記１記載の情報処理システム。
（付記９）上記演算処理部にて実行するブートプログラムにより、上記割込み周期の設定を行うことを特徴とする付記２記載の情報処理システム。
（付記１０）上記クロック基準信号及び上記クロック入力信号の少なくとも一方は、任意に周波数を変更可能であることを特徴とする付記１記載の情報処理システム。
（付記１１）上記クロック生成部で生成される内部クロック信号は、上記プロセッサの動作クロック信号と上記インタフェースの制御クロック信号とを含み、上記動作クロック信号と上記制御クロック信号との周波数の関係をクロック制御信号により変更可能にしたことを特徴とする付記１記載の情報処理システム。
（付記１２）上記演算処理部は、複数のプロセッサで構成され、各プロセッサが上記クロック生成部、上記周波数算出部、及び上記タイミング調整部を有することを特徴とする付記１記載の情報処理システム。
（付記１３）システムを制御するシステム制御部と、プロセッサを含み構成される演算処理部とを有する情報処理システムであって、
上記システム制御部は、一定の周期を有するクロック基準信号、及び当該クロック基準信号より周波数が高い、上記プロセッサを動作させるためのクロック入力信号を上記演算処理部に出力し、
上記演算処理部は、当該情報処理システムの初期化時に、上記クロック基準信号を用いて上記クロック入力信号の周波数値を算出し、算出した上記クロック入力信号の周波数値に基づいて当該演算処理部内の制御タイミングを調整することを特徴とする情報処理システム。
（付記１４）上記演算処理部は、さらに、上記クロック入力信号を逓倍又は分周して内部クロック信号を生成するとともに、算出した上記クロック入力信号の周波数値に基づいて、当該演算処理部に内蔵され上記内部クロック信号で動作するインタフェースの制御タイミングの調整、又は当該インタフェースの制御タイミングの調整及び当該演算処理部にて稼動するオペレーティングシステムに対して定期的に割込みを発生させる割込み周期の設定を行うことを特徴とする付記１３記載の情報処理システム。
（付記１５）上記演算処理部は、上記クロック基準信号の状態値が変化してから次に当該状態値が変化するまでの上記クロック入力信号の経過周期数を計測し、計測された上記経過周期数と上記クロック基準信号の周期とに基づいて、上記クロック入力信号の周波数値を算出することを特徴とする付記１３記載の情報処理システム。
（付記１６）上記演算処理部は、入力されるクロック制御信号に応じて、当該クロック制御信号により示される周波数関係を有する上記プロセッサの動作クロック信号と上記インタフェースの制御クロック信号とを上記内部クロック信号として生成し、かつ上記動作クロック信号と上記制御クロック信号との周波数関係は変更可能であることを特徴とする付記１３記載の情報処理システム。
（付記１７）上記クロック基準信号及び上記クロック入力信号の少なくとも一方は、任意に周波数を変更可能であることを特徴とする付記１３記載の情報処理システム。
（付記１８）システムを制御するシステム制御部と、プロセッサを含み構成される演算処理部とを有する情報処理システムのタイミング調整方法であって、
上記演算処理部が、上記システム制御部から出力される一定の周期を有するクロック基準信号を用いて、当該クロック基準信号より周波数が高く、かつ上記プロセッサを動作させるために上記システム制御部から出力されるクロック入力信号の周波数値を算出する周波数算出ステップと、
上記算出ステップにて算出した上記クロック入力信号の周波数値に基づいて、上記クロック入力信号を逓倍又は分周して生成される内部クロック信号で動作する上記演算処理部に内蔵されたインタフェースの制御タイミングを調整するタイミング調整ステップとを有することを特徴とするタイミング調整方法。
（付記１９）上記算出ステップにて算出した上記クロック入力信号の周波数値に基づいて、当該演算処理部にて稼動させるオペレーティングシステムに定期的に割込みを発生させるための割込み周期を設定する割込み時間設定ステップをさらに有することを特徴とする付記１８記載のタイミング調整方法。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態におけるマルチプロセッサシステムのシステム構成例を示すブロック図である。
【図２】本実施形態におけるＣＰＵの構成例を示すブロック図である。
【図３】本実施形態におけるＣＰＵの機能的な構成を示す機能ブロック図である。
【図４】本実施形態におけるマルチプロセッサシステムの起動処理の一例を示すフローチャートである。
【図５】クロック調整処理の一例を示すフローチャートである。
【図６】タイマ割込み周期設定処理の一例を示すフローチャートである。
【図７】クロックソースの周波数の算出方法を説明するための図である。
【符号の説明】
【００７６】
１０  ＣＰＵ
１１  ＣＰＵコア
１２  メモリコントローラ
１３  バスコントローラ
１４  クロック制御回路
１５  タイマ
１６  シリアルコミュニケーションコントローラ（ＳＣＣ）
２０  主記憶装置（ＭＳＵ）
３０  フラッシュメモリ
４０  ネットワークインタフェース
５０  システムコントローラ
６０  クロック発生器
ＳＣＬＫ  クロックソース（クロック入力信号）
ＲＣＬＫ  クロック基準信号
ＣＭＯＤ  クロックモード信号（クロック制御信号）
【図１】
2005301592.tif 000003
【図２】
2005301592.tif 000004
【図３】
2005301592.tif 000005
【図４】
2005301592.tif 000006
【図５】
2005301592.tif 000007
【図６】
2005301592.tif 000008
【図７】
2005301592.tif 000009