JP2010186404A - 起動時にハードウェアの調整を行うシステムおよび調整方法 - Google Patents

起動時にハードウェアの調整を行うシステムおよび調整方法 Download PDF

Info

Publication number
JP2010186404A
JP2010186404A JP2009031362A JP2009031362A JP2010186404A JP 2010186404 A JP2010186404 A JP 2010186404A JP 2009031362 A JP2009031362 A JP 2009031362A JP 2009031362 A JP2009031362 A JP 2009031362A JP 2010186404 A JP2010186404 A JP 2010186404A
Authority
JP
Japan
Prior art keywords
hardware
correction information
setting
unit
environmental condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009031362A
Other languages
English (en)
Other versions
JP4912420B2 (ja
Inventor
Aya Minami
彩 南
Yoichi Miwa
洋一 三輪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009031362A priority Critical patent/JP4912420B2/ja
Priority to US12/703,841 priority patent/US8364939B2/en
Publication of JP2010186404A publication Critical patent/JP2010186404A/ja
Application granted granted Critical
Publication of JP4912420B2 publication Critical patent/JP4912420B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Abstract

【課題】起動時にハードウェアの調整を行うシステムにおいて、調整の精度の向上と、システムの起動時間の短縮とを、併せて実現する。
【解決手段】システムの起動時にシステムが正しく動作するようにハードウェアを調整するキャリブレーション実行部142と、このキャリブレーション実行部142により調整されたハードウェアの設定を示す補正情報を、調整が行われたときの環境条件に対応付けて保持する補正データ保持部143とを備える。そして、キャリブレーション実行部142は、システムが起動されたときの環境条件に相当する環境条件に対応付けられた補正情報が補正データ保持部143に保持されている場合には、ハードウェアを調整する代わりに、保持されている補正情報に基づいてハードウェアの設定を行う。
【選択図】図2

Description

本発明は、起動時にハードウェアの調整、特に、信号伝送のタイミング調整を行うコンピュータおよびその調整方法に関する。
Cell Broadband Engine(商標)(以下、Cellプロセッサ)は、高速なデータ伝送を担保するため、特別のインターフェイスを介して、メイン・メモリであるXDR(商標)メモリやIOブリッジと接続される。複数のCellプロセッサが搭載されるシステムにおいては、Cellプロセッサ間の接続も同様である(Cellプロセッサについては非特許文献1を、XDRメモリについては非特許文献2を、インターフェイスについては非特許文献3を参照)。
このため、Cellプロセッサを搭載したコンピュータ・システム(以下、システム)では、起動の際、電源投入後に、まずキャリブレーションと呼ばれる信号伝送のタイミング調整が行われる(非特許文献4参照)。したがって、キャリブレーションが行われる信号は、
(1)Cellプロセッサ−XDRメモリ間
(2)Cellプロセッサ−IOブリッジ間
(3)Cellプロセッサ−Cellプロセッサ間(複数のCellプロセッサが搭載されたシステム)
の3種類である。
好適な信号伝送のタイミングは、各デバイスの個体差および周囲温度に応じて大きく異なる可能性がある。そのため、キャリブレーションは、システムに電源が投入されるたびに実行される。
「Cell Broadband Engine(TM) アーキテクチャ」、[online]、ソニー株式会社、[平成21年1月21日検索]、インターネット<URL : http://cell.scei.co.jp/pdf/CBE_Architecture_v101_j.pdf> 「XDR(TM)」、[online]、ラムバス・インコーポレーテッド、[平成21年1月21日検索]、インターネット<URL : http://www.rambus.com/jp/products/xdr/index.html> 「FlexPhase(TM) Timing Adjustments」、[online]、ラムバス・インコーポレーテッド、[平成21年1月21日検索]、インターネット<URL : http://www.rambus.com/jp/patents/innovations/detail/flexphase_timing.html> 「Cell Broadband Engine CMOS SOI 90 nm Hardware Initialization Guide」、[online]、インターナショナル・ビジネス・マシーンズ・コーポレーション、[平成21年1月21日検索]、インターネット<URL : http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/BD3F1F4C3DB32C7487257142006131BC>
Cellプロセッサを搭載したシステムで起動時に行われるキャリブレーションでは、上記のデバイス間で特定のパターンの信号を伝送し、動作クロックの調整が行われる。そして、様々なパターンの信号を用いて繰り返し調整を行うことにより、キャリブレーションの精度が向上する。一方、様々なパターンの信号を用いてキャリブレーションを行うと、それだけ処理に要する時間が増大する。すなわち、精度の高いキャリブレーションを行うためには、より多くの時間を要し、キャリブレーションに要する時間を短縮するには、キャリブレーションの精度を犠牲にすることとなる。ここで、キャリブレーションは、システムの起動時に毎度行われるため、キャリブレーションに要する時間の長短は、システムの起動時間に大きく影響する。
さらに、キャリブレーションに要する時間は、システムが搭載するメモリの容量が大きくなると、リニアに増大する。すなわち、メモリ容量の大きいシステムでは、キャリブレーションに要する時間が長くなるため、システムの起動時間も長くなってしまう。これを回避してシステムの起動時間を短縮するためには、従来は、キャリブレーションの精度を低下させてキャリブレーションに要する時間の短縮を図るしかなかった。
なお、ここではCellプロセッサを搭載したシステムについて説明したが、他のシステムであっても、起動時にハードウェアの調整を行うことが必要なシステムならば、同様の課題を有すると言える。
本発明は、以上の課題を解決し、起動時にハードウェアの調整を行うシステムにおいて、調整の精度の向上と、システムの起動時間の短縮とを、併せて実現することを目的とする。
上記の目的を達成するため、本発明は、次のようなシステムとして構成される。このシステムは、システムの起動時にシステムが正しく動作するようにハードウェアを調整するキャリブレーション実行部と、このキャリブレーション実行部により調整されたハードウェアの設定を示す補正情報を、調整が行われたときの環境条件に対応付けて保持する保持部とを備える。そして、キャリブレーション実行部は、システムが起動されたときの環境条件に相当する環境条件に対応付けられた補正情報が保持部に保持されている場合には、ハードウェアを調整する代わりに、保持されている補正情報に基づいてハードウェアの設定を行う。
また、上記のシステムにおいて、環境条件に基づいて設定された起動条件を満足する場合にシステムを起動させる起動制御部をさらに備える構成としても良い。この場合、キャリブレーション実行部は、起動制御部により起動条件を満足してシステムが起動した場合は、保持部に補正情報が保持されているか否かに関わらず、ハードウェアを調整する。
さらに好ましくは、キャリブレーション実行部は、起動制御部により起動条件を満足してシステムを起動した場合における環境条件に相当する環境条件に対応付けられた補正情報が、既に保持部に保持されている場合、調整により得られたハードウェアの設定と保持部に保持されている補正情報に基づいて新たな補正情報を生成し、保持部に保持させる。
また、上記のシステムにおいて、キャリブレーション実行部によるハードウェアの調整が行われたときの当該ハードウェアの周囲の温度を取得する温度監視部をさらに備える構成とすることもできる。この場合、保持部は、環境条件として、少なくとも温度監視部により取得された温度を、補正情報と対応付けて保持することができる。
また、キャリブレーション実行部は、ハードウェアの調整として、システムに搭載された半導体チップ間の信号伝送のタイミングを調整することができる。
また、本発明は、次のようなシステムとしても構成される。このシステムは、少なくとも2つの異なる起動条件のいずれかを満足する場合にシステムを起動させる起動制御部と、第1の起動条件を満足してシステムが起動された場合に、システムが正しく動作するハードウェアの設定を取得するための調整を行う調整部と、調整部の調整により得られた、システムが正しく動作するハードウェアの設定を示す補正情報を保持する保持部と、第2の起動条件を満足してシステムが起動された場合に、保持部に保持された補正情報に基づいてハードウェアを設定する設定部と、を備える。
より好ましくは、第1の起動条件は、少なくともハードウェアの周囲の温度を含む環境条件に基づいて設定される。そして、保持部は、補正情報を、調整部によりハードウェアの調整が行われたときの環境条件に対応づけて保持する。
さらに好ましくは、設定部は、システムが起動されたときの環境条件に相当する環境条件に対応づけられた補正情報に基づいてハードウェアの設定を行う。
さらに好ましくは、設定部は、システムが起動されたときの環境条件に相当する環境条件に対応づけられた補正情報が保持部に保持されていない場合に、保持部に保持されている補正情報に基づいてシステムが起動されたときの環境条件において行われるべきハードウェアの設定を求め、ハードウェアを設定する。
また、本発明は、起動時にハードウェアの設定を行うシステムの起動方法としても実現される。この方法は、少なくとも2つの異なる起動条件のいずれかを満足する場合にシステムを起動させるステップと、第1の起動条件を満足してシステムが起動された場合に、システムが正しく動作するハードウェアの設定を取得するための調整を行うステップと、調整により得られた、システムが正しく動作するハードウェアの設定を示す補正情報を保持部に保持するステップと、第2の起動条件を満足してシステムが起動された場合に、保持部に保持された補正情報に基づいてハードウェアを設定するステップと、を含む。
以上のように構成された本発明によれば、起動時にハードウェアの調整を行うシステムにおいて、調整の精度の向上と、システムの起動時間の短縮とを、併せて実現することができる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
本実施形態では、システムが、一定条件下で自動的に起動し、システムが正しく動作するハードウェアの設定を取得するための当該ハードウェアの調整を行う。そして、システムは、調整の結果として得られるハードウェアの設定を、補正情報として、調整が行われた条件(温度等)の情報に関連付けて保存する。そして、システムは、ユーザ操作によって起動される場合(すなわち、ユーザがシステムを使用する場合)は、起動時の条件に相当する補正情報が保存されていれば、改めて調整を行うことなく、この補正情報を用いてハードウェアを設定する。
以下の説明では、起動時にハードウェアの調整を行うシステムとして、Cellプロセッサを搭載したシステムを対象とする。Cellプロセッサを搭載したシステムでは、起動時に、Cellプロセッサを含む半導体チップ(以下、単にチップと記す)間の信号伝送のタイミング調整であるキャリブレーションが行われる。本実施形態では、システムが一定条件下で自動的に起動した場合に、ハードウェアの調整としてキャリブレーションを行い、システムが正しく動作する信号伝送のタイミングの設定を取得し、得られた設定の情報を補正情報として保存する。そして、ユーザ操作によって起動される場合に、保存されている補正情報を用いて、信号伝送のタイミングを設定する。
<システム構成>
図1は、本実施形態が適用されるCellプロセッサを搭載したシステムの構成例を示す図である。
図1に示すように、本実施形態のシステム100は、Cellプロセッサ110と、XDRメモリ120と、IOブリッジ130とを備える。また、システム起動時の動作制御等を行うシステム・コントローラ140と、各部に電力を供給する電源ユニット150とを備える。
また、図1に示すように、Cellプロセッサ110と、XDRメモリ120と、IOブリッジ130は、メインボード上に実装されている。Cellプロセッサ110とXDRメモリ120、およびCellプロセッサ110とIOブリッジ130は、FlexIO(商標)を介して接続される。図1には、Cellプロセッサ110が1個のみ、メインボード上に実装された構成が示されているが、複数のCellプロセッサ110を実装しても良い。この場合、Cellプロセッサ110どうしの間もFlexIOを介して接続される。
システム・コントローラ140は、システム100の起動制御を行う。また、システム起動時に、上記のメインボード上のチップ間のキャリブレーションを行う。このシステム・コントローラ140の機能の詳細については後述する。システム・コントローラ140は、特に図示しないが、プロセッサと、プロセッサが実行するプログラムやプロセッサによる処理に用いられるデータを格納したROMと、作業用のRAMとを備える。また、システム・コントローラ140は、後述の電源ユニット150の構成により、メイン電源OFFの状態でもバッテリー・バックアップされている。
電源ユニット150は、上記のメインボード上の各チップおよびシステム・コントローラ140に電力を供給する。この電源ユニット150は、少なくともメイン電源とスタンバイ電源とを備え(いずれも図示せず)、電力の供給状態として、次の3つの状態(Power State)を持つ。
State−1:全電源OFF
State−2:スタンバイ電源ON、メイン電源OFF
State−3:スタンバイ電源ON、メイン電源ON
ここで、メインボード上の各チップは、メイン電源から電力を供給される。また、システム・コントローラ140は、スタンバイ電源から電力を供給される。すなわち、State−1では、メインボード上のチップおよびシステム・コントローラ140は、共に動作せず、State−2では、システム・コントローラ140のみが動作する。State−3では、メインボード上のチップおよびシステム・コントローラ140は、共に動作する。通常、システム100の電源を落とした状態では、メイン電源のみがOFFとなり、システム・コントローラ140は動作可能である。
<システム・コントローラ140の機能構成>
図2は、システム・コントローラ140の機能構成例を示す図である。
図2に示すように、システム・コントローラ140は、起動制御部141と、キャリブレーション実行部142と、補正データ保持部143と、温度監視部144とを備える。上記のように、このシステム・コントローラ140の各機能ブロックは、電源ユニット150によるスタンバイ電源によって動作する。なお、図2に示すシステム・コントローラ140の機能ブロックは、本実施形態における特徴的な機能を実現するためのものである。実際には、システム・コントローラ140は、これらの機能の他、冷却ファンの回転数の制御等、様々な機能を有する。
起動制御部141は、例えば、システム・コントローラ140のプログラム制御されたプロセッサにより実現され、電源ユニット150に接続しており、メインボードへ電力を供給するメイン電源を制御する。具体的には、ユーザによる電源投入のための操作(電源ボタンの押下等)が行われたことを検知してメイン電源をONとし、システム100を起動させる。また、本実施形態の起動制御部141は、予め設定された一定条件を満足する場合に、メイン電源をONとし、システム100を起動させる。これは、詳しくは後述するが、一定条件下でシステム100を自動的に起動させ、キャリブレーション(信号伝送のタイミング調整)を実行するためである。
自動的に起動するための起動条件としては、主に時間条件と環境条件とが設定される。時間条件は、実際のシステム100の使用態様等に応じて個別的に任意に設定することができる。ただし、システム100を自動的に起動させるのは、ユーザがシステム100を使用しないときであることが好ましい。したがって、例えば、深夜の時間帯や週末等のシステム100が使用されない時間帯に起動するように、時間条件を設定する。また、メイン電源がOFFとなった後、一定期間以上経過したことを条件として加えても良い。
また本実施形態では、環境条件として、特に温度条件を設定する。これは、チップ間の信号伝送の特性は、周囲温度の変化に大きく影響を受けるためである。具体的には、例えば、一定の温度間隔(例えば、5℃ごと)でキャリブレーションを実行するため、設定された温度間隔分だけ周囲温度が変化したならばシステム100を起動するように、温度条件を設定することができる。なお、環境条件は、温度条件に限定されるものではなく、調整対象のハードウェアに影響を与える、他の種々の条件を設定することができる。
キャリブレーション実行部142は、例えば、システム・コントローラ140のプログラム制御されたプロセッサにより実現され、メインボードのIOブリッジ130に接続しており、キャリブレーションを実行して、チップ間の信号伝送のタイミングを設定する。すなわち、キャリブレーション実行部142は、ハードウェアの設定を取得するための調整を行う調整部、および調整によって得られた補正情報に基づいてハードウェアを設定する設定部として機能する。
キャリブレーションでは、Cellプロセッサ110とXDRメモリ120やIOブリッジ130との間で、動作クロックを変更しながら特定のパターンの信号を伝送させて動作結果を検査する。これにより、システム100が正しく動作する動作クロックのタイミング(以下、クロック・タイミング)が特定される。そして、特定されたクロック・タイミングに基づいて、信号伝送のタイミングの設定(以下、タイミング設定)が行われる。システム100が複数のCellプロセッサ110を搭載する場合には、Cellプロセッサ110どうしの間の信号伝送についても、同様の操作が行われる。
具体的なキャリブレーションの方法としては、例えば、次のように行うことができる。まず、動作クロックの1周期を、例えば0x000〜0x3FFに分割する。そして、分割単位1つ分ずつ動作クロックをずらしながら同じパターンの信号を伝送して、システム100が正しく動作するクロック・タイミングを特定する。キャリブレーションは、単一の信号パターンのみを用いるのではなく、様々な信号パターンを用いて適切なクロック・タイミングを得ることにより、タイミング設定の精度を向上させることができ、システム100を安定的に動作させることが可能となる。
また、本実施形態のキャリブレーション実行部142は、システム100の起動時の態様によって、キャリブレーションを行わずに、タイミング設定を行う場合がある。上記のように、起動制御部141による起動制御は、環境条件を含む一定の起動条件を満足する場合に、自動的にシステム100を起動させる場合と、ユーザによる起動操作に応じてシステム100を起動させる場合とがある。
前者の自動的な起動は、補正情報を得るための起動である。そこで、この場合は、キャリブレーション実行部142はキャリブレーションを実行する。これにより、環境条件(周囲温度)に応じて、システム100が正しく動作するクロック・タイミングが特定される。得られたクロック・タイミングは、補正データとして保存される。
一方、後者の起動操作に基づく起動は、ユーザがシステム100を使用するための起動である。したがって、起動時間の短縮が望まれる。そこで、この場合は、原則としてキャリブレーションを行わず、保存されている補正データ(クロック・タイミング)に基づいて、タイミング設定を行う。これにより、キャリブレーションに要する時間分、起動時間が短縮される。
補正データ保持部143は、例えば、システム・コントローラ140のRAMにより実現され、キャリブレーション実行部142がキャリブレーションを実行することによって得られたクロック・タイミングを、補正データとして保持する。上記のように、起動制御部141は、予め設定された環境条件に基づいてシステム100を起動させるので、キャリブレーションによって得られたクロック・タイミングは、システム100が起動したときの環境条件に対応付けることができる。そこで、補正データ保持部143は、例えば、クロック・タイミングと環境条件(周囲温度)とを対応付けたマッピング・テーブルの形式で、補正データを保持する。
図3は、補正データ保持部143に保持される補正データのマッピング・テーブルの例を示す図である。
図3に示すマッピング・テーブルには、キャリブレーションによって得られたクロック・タイミングの補正値(図3ではキャリブレーション値と表示)が、周囲温度の値に対応付けて保持されている。この例において、キャリブレーションは、周囲温度20℃〜30℃の間で、5℃間隔で行われたものとする。図示のマッピング・テーブルを参照すると、周囲温度20℃のときの補正値は1FF、周囲温度25℃のときの補正値は20C、周囲温度30℃のときの補正値は220となっている。
温度監視部144は、例えば、システム・コントローラ140のプログラム制御されたプロセッサにより実現され、図示しない温度センサに接続されており、周囲温度を監視し、温度情報を取得する。ここで、周囲温度とは、メインボード上のチップの周囲の温度であり、システム100の筐体内温度である。システム100の使用環境によっては、システム100が設置されている室内の温度等を用いても良い。温度監視部144が取得した温度情報は、起動制御部141およびキャリブレーション実行部142に送られる。起動制御部141では、この温度情報に基づき、システム100を自動的に起動させるための起動条件を満足したか否かが判断される。キャリブレーション実行部142では、この温度情報を含む環境条件に、キャリブレーションで得られたクロック・タイミングが対応付けられる。
<システム起動時の動作>
次に、システム100の起動時におけるシステム・コントローラ140の動作について説明する。
図4は、システム・コントローラ140の動作の流れを示すフローチャートである。
上記のように、起動制御部141は、環境条件を含む一定の起動条件を満足する場合と、ユーザによる起動操作を受け付けた場合に、システム100を起動する。ここでは、前者の起動条件を第1起動条件、後者のユーザの起動操作を第2起動条件と呼ぶ。したがって、起動制御部141は、第1起動条件または第2起動条件のいずれかを満足した場合に、システム100を起動する(ステップ401)。
第1起動条件として、具体的には、例えば、温度監視部144により取得された温度情報(周囲温度)が5℃変化(上昇または下降)した場合とすることができる。また、第1起動条件には、上述したように、時間条件も設定される。したがって、この例によれば、時間条件を満足する時間帯において、電源ユニット150のメイン電源がOFFとなったときから温度情報が5℃変化したならば、第1起動条件を満足してシステム100が自動的に起動する。
第1起動条件を満足してシステム100が起動した場合(ステップ402)、キャリブレーション実行部142は、キャリブレーションを実行し、クロック・タイミング(補正値)を得る(ステップ403)。そして、得られたクロック・タイミングと温度監視部144から取得した温度情報とを対応付けて補正データを生成し(ステップ404)、補正データ保持部143に格納する(ステップ405)。そして、システム100の終了処理を行い、メイン電源をOFFにする(ステップ406)。
一方、第2起動条件を満足してシステム100が起動した場合(ステップ402)、キャリブレーション実行部142は、まず、温度監視部144から取得した温度情報に基づいて、補正データ保持部143を調べる。補正データ保持部143に、この温度情報に対応付けられたクロック・タイミング(補正データ)が保持されている場合(ステップ407でYes)、キャリブレーション実行部142は、この補正データを用いて、半導体チップ間の信号伝送のタイミング設定を行う(ステップ408)。
温度監視部144から取得した温度情報に対応する補正データが補正データ保持部143に保持されていない場合(ステップ407でNo)、キャリブレーション実行部142は、キャリブレーションを実行する(ステップ409)。そして、キャリブレーションにより得られたクロック・タイミング(補正値)を用いて、半導体チップ間の信号伝送のタイミング設定を行う(ステップ410)。
以上の動作によれば、第1起動条件を満足してシステム100が起動する場合は、ユーザがシステム100を使用することを目的としていないので、起動時間の短縮は要請されない。したがって、種々の信号パターンを用いてキャリブレーションを行い、精度の高いクロック・タイミングの補正データを得ることができる。一方、第2起動条件を満足してシステム100が起動する場合は、ユーザがシステム100を使用することを目的とするため、起動時間は短い方が好ましい。この場合、本実施形態では、環境条件が対応する補正データが存在すれば、キャリブレーションを行う代わりに、この補正データを用いてタイミング設定を行うことができる。そのため、補正データによる精度の高いタイミング設定を行うことができ、かつ、キャリブレーションを行わない分だけシステム100の起動時間を短縮することができる。
さて、上記の動作例では、起動時の環境条件に対応する補正データが存在しない場合に、キャリブレーションを行ってクロック・タイミングを得ることとした(ステップ409参照)。そのため、この場合の起動には、起動時にキャリブレーションを行う従来のシステムと同様の時間を要することとなる。このような場合にもシステム100の起動時間を短縮する方策として、補正データ保持部143に保持されている補正データを用いた補間により、起動時の環境条件に対応する補正データを生成することが考えられる。
図5は、図3に示したマッピング・テーブルと同様のマッピング・テーブルを、1℃ごとの温度間隔で記載した図である。
図5を参照すると、周囲温度が20℃、25℃、30℃である場合については、それぞれクロック・タイミングの補正値(キャリブレーション値)が記録されている。一方、これらの間の温度(21℃〜24℃、26℃〜29℃)については、キャリブレーションが行われておらず、補正値は記録されていない。したがって、ユーザ操作等により第2起動条件を満足してシステム100が起動するときの周囲温度が、例えば27℃であった場合、補正データを用いてタイミング設定を行うことができない。
しかし、Cellプロセッサ110を搭載したシステム100における、特定の温度Aのときのクロック・タイミングの補正値は、一般に、温度Aよりも低い温度Bのときの補正値と、温度Aよりも高い温度Cのときの補正値の間の値となる。すなわち、システム100の起動時の周囲温度が27℃であった場合の補正値Sは、
0x20C<S<0x220
の範囲に収まる。したがって、この特性を考慮すれば、キャリブレーションを行う場合と比較すれば精度は低下するが、適当なクロック・タイミングの補正値を推定することができる。そして、推定した補正値を用いることにより、キャリブレーションを行わずにタイミング設定を行うことができ、起動時間を大幅に短縮することができる。
また、第1起動条件を満足してシステム100が起動した場合に行われるキャリブレーションは、上記のように補正データを得るためのものであるが、これは、同じ周囲温度に対して複数回行っても良い。この場合、キャリブレーションを行って得られた補正データと、補正データ保持部143に既に保持されている補正データとに基づいて新たな補正データを生成し、補正データ保持部143の内容を更新する。例えば、最近5回分のキャリブレーションの結果を蓄積し、平均を取って新たな補正データとする。このようにして適宜更新された補正データを用いることにより、タイミング設定の精度のさらなる向上が期待される。
以上、Cellプロセッサ110を搭載したシステム100を例として本実施形態を説明したが、本実施形態は、上記の具体的なシステム構成例や動作例に限定されるものではない。例えば、上記の例では、環境条件に基づく起動条件(第1起動条件)として、周囲温度が一定温度(5℃)だけ変化した場合に、システム100を起動させることとした。これに対し、周囲温度の変化を起動条件とするのではなく、予め起動させる周囲温度を適当な温度間隔で指定しておき、該当する周囲温度となったときにシステム100を起動させるようにしても良い。
また、上記の例では、ユーザの起動操作を第2起動条件としたが、特定の時間(業務開始時など)に自動的にシステム100を起動させる場合には、タイマー設定された時間を第2起動条件としても良い。
また、本実施形態の適用対象は、上述した、Cellプロセッサ110を搭載したシステム100において、信号伝送のタイミング調整を行う場合に限定されない。起動時に当該システムが正しく動作するためのハードウェアの設定を行う種々のシステムに対して、広く適用することが可能である。本実施形態を他のシステムに適用する場合には、ハードウェアの設定に影響を与える、具体的な環境条件に基づいて、システムの起動条件が設定され、ハードウェアの設定内容に応じた補正データが保存されることとなる。
本実施形態が適用されるCellプロセッサを搭載したシステムの構成例を示す図である。 本実施形態のシステム・コントローラの機能構成例を示す図である。 本実施形態の補正データ保持部に保持される補正データのマッピング・テーブルの例を示す図である。 本実施形態のシステム・コントローラの動作の流れを示すフローチャートである。 図3に示したマッピング・テーブルと同様のマッピング・テーブルを、1℃ごとの温度間隔で記載した図である。
100…(コンピュータ)システム、110…Cellプロセッサ、120…XDRメモリ、130…IOブリッジ、140…システム・コントローラ、150…電源ユニット、141…起動制御部、142…キャリブレーション実行部、143…補正データ保持部、144…温度監視部

Claims (12)

  1. 起動時にハードウェアの設定を行うシステムにおいて、
    システムの起動時に、当該システムが正しく動作するようにハードウェアを調整するキャリブレーション実行部と、
    前記キャリブレーション実行部により調整された前記ハードウェアの設定を示す補正情報を、当該調整が行われたときの環境条件に対応付けて保持する保持部とを備え、
    前記キャリブレーション実行部は、システムが起動されたときの環境条件に相当する環境条件に対応付けられた前記補正情報が前記保持部に保持されている場合には、前記ハードウェアを調整する代わりに、当該補正情報に基づいて当該ハードウェアの設定を行う、システム。
  2. 前記環境条件に基づいて設定された起動条件を満足する場合にシステムを起動させる起動制御部をさらに備え、
    前記キャリブレーション実行部は、前記起動制御部により前記起動条件を満足してシステムが起動した場合は、前記保持部に前記補正情報が保持されているか否かに関わらず、前記ハードウェアを調整する、請求項1に記載のシステム。
  3. 前記キャリブレーション実行部は、前記起動制御部により前記起動条件を満足してシステムを起動した場合における前記環境条件に相当する環境条件に対応付けられた前記補正情報が、既に前記保持部に保持されている場合、調整により得られた前記ハードウェアの設定と当該保持部に保持されている当該補正情報に基づいて新たな補正情報を生成し、当該保持部に保持させる、請求項2に記載のシステム。
  4. 前記キャリブレーション実行部による前記ハードウェアの調整が行われたときの当該ハードウェアの周囲の温度を取得する温度監視部をさらに備え、
    前記保持部は、前記環境条件として、少なくとも前記温度監視部により取得された温度を、前記補正情報と対応付けて保持する、請求項1乃至請求項3のいずれかに記載のシステム。
  5. 前記キャリブレーション実行部は、前記ハードウェアの調整として、システムに搭載された半導体チップ間の信号伝送のタイミングを調整する、請求項1乃至請求項4のいずれかに記載のシステム。
  6. 起動時にハードウェアの設定を行うシステムにおいて、
    少なくとも2つの異なる起動条件のいずれかを満足する場合にシステムを起動させる起動制御部と、
    第1の起動条件を満足してシステムが起動された場合に、当該システムが正しく動作するハードウェアの設定を取得するための調整を行う調整部と、
    前記調整部の調整により得られた、前記システムが正しく動作する前記ハードウェアの設定を示す補正情報を保持する保持部と、
    第2の起動条件を満足してシステムが起動された場合に、前記保持部に保持された前記補正情報に基づいて前記ハードウェアを設定する設定部と、
    を備える、システム。
  7. 前記第1の起動条件は、少なくとも前記ハードウェアの周囲の温度を含む環境条件に基づいて設定され、
    前記保持部は、前記補正情報を、前記調整部により前記ハードウェアの調整が行われたときの前記環境条件に対応づけて保持する、請求項6に記載のシステム。
  8. 前記設定部は、システムが起動されたときの環境条件に相当する環境条件に対応づけられた前記補正情報に基づいて前記ハードウェアの設定を行う、請求項7に記載のシステム。
  9. 前記設定部は、システムが起動されたときの環境条件に相当する環境条件に対応づけられた前記補正情報が前記保持部に保持されていない場合に、当該保持部に保持されている補正情報に基づいてシステムが起動されたときの当該環境条件において行われるべき前記ハードウェアの設定を求め、当該ハードウェアを設定する、請求項8に記載のシステム。
  10. 起動時に半導体チップ間の信号伝送のタイミング調整を行うシステムにおいて、
    少なくとも、前記システムのハードウェアの周囲の温度を含む環境条件に基づいて設定された第1の起動条件および他の第2の起動条件のいずれかを満足する場合にシステムを起動させる起動制御部と、
    システムの起動時に、当該システムが正しく動作するように、当該システムに搭載された半導体チップ間の信号伝送のタイミングを設定するキャリブレーション実行部と、
    前記キャリブレーション実行部による前記信号伝送のタイミングの設定を示す補正情報を、当該設定が行われたときの前記環境条件に対応付けて保持する保持部とを備え、
    前記キャリブレーション実行部は、
    前記第1の起動条件を満足してシステムが起動された場合に、当該システムが正しく動作する信号伝送のタイミングの設定を取得するための調整を行い、当該調整により得られた設定を示す前記補正情報を前記保持部に保持させ、
    前記第2の起動条件を満足してシステムが起動された場合に、システムが起動されたときの環境条件に相当する環境条件に対応付けられた前記補正情報が前記保持部に保持されている場合には、当該補正情報に基づいて当該信号伝送のタイミングを設定する、システム。
  11. 起動時にハードウェアの設定を行うシステムの起動方法であって、
    少なくとも、2つの異なる起動条件のいずれかを満足する場合にシステムを起動させるステップと、
    第1の起動条件を満足してシステムが起動された場合に、当該システムが正しく動作するハードウェアの設定を取得するための調整を行うステップと、
    前記調整により得られた、前記システムが正しく動作する前記ハードウェアの設定を示す補正情報を保持部に保持するステップと、
    第2の起動条件を満足してシステムが起動された場合に、前記保持部に保持された前記補正情報に基づいて前記ハードウェアを設定するステップと、
    を含む、方法。
  12. 前記第1の起動条件は、少なくとも前記ハードウェアの周囲の温度を含む環境条件に基づいて設定され、
    前記補正情報を保持する前記ステップでは、補正情報が、前記ハードウェアの調整が行われたときの前記環境条件に対応づけて保持され、
    前記ハードウェアを設定する前記ステップでは、システムが起動されたときの環境条件に相当する環境条件に対応づけられた前記補正情報に基づいて前記ハードウェアが設定される、
    請求項11に記載の方法。
JP2009031362A 2009-02-13 2009-02-13 起動時にハードウェアの調整を行うシステムおよび調整方法 Expired - Fee Related JP4912420B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009031362A JP4912420B2 (ja) 2009-02-13 2009-02-13 起動時にハードウェアの調整を行うシステムおよび調整方法
US12/703,841 US8364939B2 (en) 2009-02-13 2010-02-11 System for performing hardware calibration during startup, and method of calibration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009031362A JP4912420B2 (ja) 2009-02-13 2009-02-13 起動時にハードウェアの調整を行うシステムおよび調整方法

Publications (2)

Publication Number Publication Date
JP2010186404A true JP2010186404A (ja) 2010-08-26
JP4912420B2 JP4912420B2 (ja) 2012-04-11

Family

ID=42560894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009031362A Expired - Fee Related JP4912420B2 (ja) 2009-02-13 2009-02-13 起動時にハードウェアの調整を行うシステムおよび調整方法

Country Status (2)

Country Link
US (1) US8364939B2 (ja)
JP (1) JP4912420B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036965A (ja) * 2013-08-16 2015-02-23 富士通株式会社 メモリ制御装置、メモリ制御装置の制御方法及び情報処理装置
JP2019036198A (ja) * 2017-08-18 2019-03-07 京セラドキュメントソリューションズ株式会社 情報処理装置、及び画像形成装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025691A (ja) * 2001-07-17 2003-01-29 Canon Inc 印刷システム、印刷装置、印刷制御装置および印刷方法
JP2003044284A (ja) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd コンピュータ装置の起動方法および起動用プログラム
JP2003345074A (ja) * 2002-05-23 2003-12-03 Canon Inc 画像処理システムおよびキャリブレーション方法
WO2004102389A1 (ja) * 2003-05-16 2004-11-25 Fujitsu Limited 初期設定装置、初期設定方法、初期設定プログラムおよび情報処理装置
JP2005119010A (ja) * 2003-10-14 2005-05-12 Canon Inc 印刷装置の濃度補正方式
JP2007072057A (ja) * 2005-09-06 2007-03-22 Seiko Epson Corp 画像形成装置を管理する装置およびシステム
JP2007200220A (ja) * 2006-01-30 2007-08-09 Toshiba Corp インターフェース制御装置およびインターフェース設定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980010717A (ko) * 1996-07-24 1998-04-30 김광호 정전기에 의한 시스템 오동작 방지방법
US6735709B1 (en) * 2000-11-09 2004-05-11 Micron Technology, Inc. Method of timing calibration using slower data rate pattern
US7045995B2 (en) * 2004-05-14 2006-05-16 Agilent Technologies, Inc. System and method for calibrating electronic circuitry
GB0709812D0 (en) * 2007-05-22 2007-07-04 Nokia Corp Calibration method and calibration manager
US7523008B1 (en) * 2008-03-10 2009-04-21 International Business Machines Corporation Thermal calibration in cell processor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025691A (ja) * 2001-07-17 2003-01-29 Canon Inc 印刷システム、印刷装置、印刷制御装置および印刷方法
JP2003044284A (ja) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd コンピュータ装置の起動方法および起動用プログラム
JP2003345074A (ja) * 2002-05-23 2003-12-03 Canon Inc 画像処理システムおよびキャリブレーション方法
WO2004102389A1 (ja) * 2003-05-16 2004-11-25 Fujitsu Limited 初期設定装置、初期設定方法、初期設定プログラムおよび情報処理装置
JP2005119010A (ja) * 2003-10-14 2005-05-12 Canon Inc 印刷装置の濃度補正方式
JP2007072057A (ja) * 2005-09-06 2007-03-22 Seiko Epson Corp 画像形成装置を管理する装置およびシステム
JP2007200220A (ja) * 2006-01-30 2007-08-09 Toshiba Corp インターフェース制御装置およびインターフェース設定方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036965A (ja) * 2013-08-16 2015-02-23 富士通株式会社 メモリ制御装置、メモリ制御装置の制御方法及び情報処理装置
JP2019036198A (ja) * 2017-08-18 2019-03-07 京セラドキュメントソリューションズ株式会社 情報処理装置、及び画像形成装置

Also Published As

Publication number Publication date
US8364939B2 (en) 2013-01-29
JP4912420B2 (ja) 2012-04-11
US20100211768A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US9423852B2 (en) Selecting a startup condition of an electronic device corresponding to available power
US7549177B2 (en) Advanced thermal management using an average power controller over an adjustable time window
JP2006516780A (ja) デバッグの間データ処理システムを制御するための方法および装置
JP2006209525A (ja) メモリシステム
CN1848042B (zh) 芯片启动控制电路,存储器控制电路和数据处理系统
EP2202595A1 (en) Programmable controller
JP2005508494A5 (ja)
JP2006509472A5 (ja)
WO2005026928A3 (en) Power saving operation of an apparatus with a cache memory
JP4912420B2 (ja) 起動時にハードウェアの調整を行うシステムおよび調整方法
JP2008052414A (ja) 無線センサ
JP5676902B2 (ja) 情報処理装置及び情報処理装置の制御方法
TW201324109A (zh) 可調節開關時序的路由器及其操作方法
JP2018524962A (ja) モバイル電源に基づく給電制御方法
JP4157063B2 (ja) 節電管理装置
JP2010054313A (ja) Icテスタ
US20050221860A1 (en) Electronic device
JP2009151599A (ja) マルチデバイスシステム
JP2008251052A (ja) I/oユニット及びプログラマブルコントローラシステム
JP2008271225A (ja) ネットワークスリープ制御方式
JP2009075910A (ja) プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム
JP2010117987A (ja) メモリ制御装置、およびメモリ制御プログラム
JP6396352B2 (ja) 半導体装置
JP2002006907A (ja) I/oユニット及びプログラマブルコントローラシステム
RU2007106508A (ru) Устройство для управления рабочим циклом поперечной подачи при шлифовании

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111227

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees