JP2005209197A - システム・コア・ロジックの動作周波数を変更してシステム・メモリ帯域幅を最大にする方法および装置 - Google Patents
システム・コア・ロジックの動作周波数を変更してシステム・メモリ帯域幅を最大にする方法および装置 Download PDFInfo
- Publication number
- JP2005209197A JP2005209197A JP2005012098A JP2005012098A JP2005209197A JP 2005209197 A JP2005209197 A JP 2005209197A JP 2005012098 A JP2005012098 A JP 2005012098A JP 2005012098 A JP2005012098 A JP 2005012098A JP 2005209197 A JP2005209197 A JP 2005209197A
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- data processing
- processing system
- operating frequency
- mode
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
【課題】マルチプロセッサ・データ処理システム内のメモリへのインターフェイスに使用するシステム・コア・ロジックの動作周波数を変更する方法、装置、およびプログラムを提供すること。
【解決手段】動作周波数をデフォルト周波数から別の周波数に変更すべきかどうかに関する決定が行われる。動作周波数をデフォルトの動作周波数から別の動作周波数に変更すべきであるとの決定に応答して、マルチプロセッサ・データ処理システム内のスレーブ・プロセッサが非トランザクション・モードに切り替えられる。スレーブ・プロセッサが非トランザクション・モードに切り替えられると、マスタ・プロセッサによってシステム・コア・ロジックにおける動作周波数が別の動作周波数に変更される。
【選択図】図3
【解決手段】動作周波数をデフォルト周波数から別の周波数に変更すべきかどうかに関する決定が行われる。動作周波数をデフォルトの動作周波数から別の動作周波数に変更すべきであるとの決定に応答して、マルチプロセッサ・データ処理システム内のスレーブ・プロセッサが非トランザクション・モードに切り替えられる。スレーブ・プロセッサが非トランザクション・モードに切り替えられると、マスタ・プロセッサによってシステム・コア・ロジックにおける動作周波数が別の動作周波数に変更される。
【選択図】図3
Description
本発明は一般に、改良されたデータ処理システムに関し、より詳細には、データ処理システムでのシステム・コア・ロジックにおける動作周波数を変更する方法、装置、およびプログラムに関する。
データ処理システムは、例えばバスなどの通信システムを介して互いに接続された多くの構成要素を含む。これらの構成要素には、プロセッサ、メモリ、および様々な入出力(I/O)アダプタがある。プロセッサは、クロック速度によって調整されるやり方で命令を実行する。さらに、バスやメモリなどの他の構成要素も、選択されたクロック速度で動作する。内部クロックは、データ処理システム内の構成要素の動作を調整し、同期させるために設けられている。
現代のデータ処理システムは、同じシステム内で異なる速度のメモリ・モジュールをサポートするシステム・メモリ・アーキテクチャを有する。メモリ・モジュールは、様々な構成または形態で提供される。現在使用されているメモリ・モジュール構成の1つは、デュアル・インライン・メモリ・モジュール(DIMM)である。データ処理システムは、例えば333MHzと400MHzなど、2つの異なるメモリ速度で稼動するDIMMを含むことができる。システム・コア・ロジックは、I/Oブリッジとも呼ばれるが、データ処理システム内のバス上でのデータの駆動に使用されるクロック信号を生成する。このシステム・コア・ロジックは、通常、デフォルトの基本周波数で稼動して、システム・ファームウェアがメモリおよび他のI/Oサブシステムを初期化できるようにする。データ処理システムが高速DIMMのみを有している場合、システム・コア・ロジックのコア動作周波数を高速DIMMのものに変更して、システム・メモリの帯域幅を向上させることが望ましい。動作周波数は、しばしば、基本入出力システム(BIOS)を介して設定される。
コア周波数の動的な切り替えは危険であり、システム・クラッシュを避けるために注意深く扱う必要がある。この周波数の設定は、データ処理システムがBIOSから周波数を設定できない場合により複雑となる。さらに、データ処理システムが複数のプロセッサを有している場合、コア周波数の動的切り替えが試行されたときにシステム・クラッシュの可能性が高まる。
したがって、データ処理システムの動作周波数を動的に変更して、データ処理システム内のシステム・メモリの帯域幅を向上させるための改良された方法、装置、およびプログラムを有することが有利となる。
本発明は、マルチプロセッサ・データ処理システム内のメモリとのインターフェイスをとるために使用されるシステム・コア・ロジックの動作周波数を変更する方法、装置、およびプログラムを提供する。動作周波数をデフォルト周波数から別の周波数に変更すべきかどうかに関する決定が行われる。動作周波数をデフォルトの動作周波数から別の動作周波数に変更すべきであるとの決定に応答して、マルチプロセッサ・データ処理システム内のスレーブ・プロセッサが非トランザクション・モードに切り替えられる。スレーブ・プロセッサが非トランザクション・モードであるとき、動作周波数は、システム・コア・ロジックにおいてマスタ・プロセッサによって別の動作周波数に変更される。
本発明の新規な特徴は、添付の特許請求の範囲に記載されている。しかし、本発明自体、ならびに好ましい使用の態様、さらにその目的および利点は、実施形態に関する以下の詳細な説明を添付の図面と併せ読めば最もよく理解することができる。
図1は、本発明の好ましい実施形態によるデータ処理システムを示している。データ処理システム100は、マルチプロセッサ・コンピュータ・システムの一例である。この例では、データ処理システム100は、システム・バス106に接続されているプロセッサ102、104、および105を含む対称型マルチプロセッサ(SMP)システムである。3つのプロセッサのみを示しているが、本発明は、これ以外の数のプロセッサを含むデータ処理システムを使用して実施することもできる。あるいは、シングル・プロセッサ・システムを使用してもよい。シングル・プロセッサ・システムでは、プロセッサは常にマスタ・プロセッサである。したがってこの方法は、マスタ・プロセッサが周波数切り替えルーチンをその命令キャッシュにロードし、周波数を変更するために制御レジスタに書き込み、変更が行われるのを所定の遅延の間待つことに簡単化される。
また、システム・バス106には、ローカル・メモリ109へのインターフェイスを提供するメモリ・コントローラ/キャッシュ108が接続されている。I/Oバス・ブリッジ110も、システム・バス106に接続されており、I/Oバス112へのインターフェイスを提供する。メモリ・コントローラ108およびI/Oバス・ブリッジ110は、示したように一体化されていてもよい。I/Oバス・ブリッジ110は、クロック位相ロック・ループ(PLL)などのクロック信号生成回路を含むシステム・コア・ロジックを含む。
I/Oバス112に接続されているPCIバス・ブリッジ114は、PCIローカル・バス116および126へのインターフェイスを提供する。いくつかのPCI準拠アダプタをPCIローカル・バス116および126に接続することができる。一般のPCIバスの実装は、4つのPCI拡張スロットまたはアドイン・コネクタをサポートする。他のシステムおよび装置への接続リンクは、アドイン・ボードを介してPCIローカル・バス116に接続されているモデム118およびネットワーク・アダプタ120を介して提供することができる。このように、データ処理システム100によって複数のネットワーク・コンピュータへの接続が可能になる。
また、PCIバス・ブリッジ114は、高速I/Oバス112から相対的に遅いI/Oバス122へのインターフェイスも提供する。AMD8111集積回路装置(カリフォルニア州サニーベールのAdvanced Micro Devices社から入手可能)などのI/Oハブ装置124は、この相対的に遅いI/Oバスに接続され、128に示す複数のI/O装置、メモリマップ・グラフィックス・アダプタ130、および不揮発性メモリ132への接続を提供する。不揮発性メモリ132は、システム起動コード(IPLコード)を含む。さらに、この例では、本発明のプロセスのコードが不揮発性メモリ132に格納されている。この不揮発性メモリは、例えば不揮発性ランダム・アクセス・メモリなど、様々な形をとることができる。これらのプロセスは、データ処理システム100内の異なる構成要素間でのデータの転送に使用するために生成されたクロックの周波数の動的な切り替えを可能にする機構を実施するために使用される。
図1に示したハードウェアは変更可能である。例えば、示したハードウェアに加えて、またはその代わりにハード・ディスク・ドライブおよび光ディスク・ドライブなどの他の周辺装置を使用してもよい。示した例は、本発明に関して構造的な制限を暗に示すものではない。
図1に示したデータ処理システムは、例えば、拡張対話式エグゼクティブ(AIX)オペレーティング・システムまたはLINUXオペレーティング・システムを稼動させるニューヨーク州アーモンクのInternational Business Machines Corporationの製品であるIBM eServer pSeries JS20 Bladeシステムでもよい。
次に、図2は、本発明の好ましい実施形態によって、システム・コア・ロジックの動作周波数の変更に関わる構成要素を示している。この例では、マスタ・プロセッサ200、スレーブ・プロセッサ202、およびスレーブ・プロセッサ204は、不揮発性メモリ212からそれぞれの内部命令キャッシュ205、207、および209にコード206、208、コード210をそれぞれロードする。マスタ・プロセッサ200、スレーブ・プロセッサ202、およびスレーブ・プロセッサ204は、図1のデータ処理システム100内のプロセッサ102、プロセッサ104、およびプロセッサ105として実装することができる。不揮発性メモリ212は、図1の不揮発性メモリ132として実装することができる。
本発明は、システム・コア・ロジックにおける動作周波数を変更して、システム・メモリでの高帯域幅を得るための方法、装置、およびプログラムを提供する。本発明の機構は、この例では、初期プログラム・ロード(IPL)中に開始される。システム・ファームウェアを使用して、マスタ・プロセッサがコア動作周波数を変更しようとしている間、スレーブ・プロセッサが例えば図1のI/Oブリッジ110などのシステム・コア・ロジックに対するいかなるトランザクションも生成しない状態に入るようスレーブ・プロセッサに指示する。この例では、コア動作周波数は、PLLクロックによりクロック信号の形で生成される。このクロックの周波数は、システム・レジスタを介して制御される。
データ処理システムの電源がオンになると、プロセッサのうちの1つがマスタ・プロセッサ200になるように選択される。任意の選択機構を使用して、マスタ・プロセッサ200を選択することができる。残りのプロセッサは、スレーブ・プロセッサになる。コード206、コード208、およびコード210は、それぞれファームウェア命令を実行するマスタ・プロセッサ200、スレーブ・プロセッサ202、およびスレーブ・プロセッサ204によって内部命令キャッシュにロードされる。
その後、マスタ・プロセッサ200は、データ処理システム内のメモリ・モジュールの速度を識別するためにコード206を実行する。初期プログラム・モードになると、データ処理システムの動作周波数がシステム・コア・ロジック214においてデフォルトの低周波数に設定される。デフォルト周波数のクロック信号は、PLLクロック216によって設定される。この周波数は、システム・コア・ロジック214のレジスタ218に設定される。システム・コア・ロジック214は、図1のI/Oブリッジ110内にあり得る。このロジックは、データ処理システムにおいて、プロセッサとシステム・メモリやIOサブシステムなどの残りのデバイスとの間のインターフェイスを提供する任意の構成要素にあってもよい。
その後、マスタ・プロセッサ200は、それぞれの内部命令キャッシュにロードされているスレーブ・プロセッサのシステム・ファームウェア・コード・パスを介して非トランザクション・モードに入るようスレーブ・プロセッサ202およびスレーブ・プロセッサ204に指示する。この例でマスタ・プロセッサ200によって行われる様々なプロセスは、コード206に包含されている。非トランザクション・モードでは、スレーブ・プロセッサは、システム・コア・ロジック214へのトランザクションを生成しない。コア・ロジックがその周波数を変更されるときにスレーブ・プロセッサがシステム・バス上でトランザクションを生成することになっている場合、コア・ロジックは、トランザクションをデコードして承認するためのバス信号を適切にサンプリングすることができない。プロセッサ内のバス・インターフェイス・ロジックは、システム・バス・エラー状態を検出し、チェック停止信号をオンにすることによってシステム全体を停止させる。非トランザクション・モードは、例えば、スレーブ・プロセッサのスリープ・モードまたはナップ・モードとすることができる。あるいは、この非トランザクション・モードは、マスタ・プロセッサ200から非トランザクション・モードに入る旨のコマンドの受信に応答して、それぞれスレーブ・プロセッサ202またはスレーブ・プロセッサ204によって実行されるコード208またはコード210によりスピン・ループに入るモードとすることができる。当然、プロセッサがトランザクションを生成するのを防ぐのに使用可能な他の任意の機構を非トランザクション・モードに使用することができる。
次に、スレーブ・プロセッサ202およびスレーブ・プロセッサ204が非トランザクション・モードになった後、マスタ・プロセッサ200は、システム・コア・ロジック214を新しい動作周波数に切り替えるための値をレジスタ218に書き込む。値をレジスタ218に書き込んだ後、マスタ・プロセッサ200は遅延ループに入るが、その間、システム・コア・ロジック214へのトランザクションの送信を禁止する旨のコード206内の命令を実行している。所定の時間が経過した後、マスタ・プロセッサ200は、遅延ループを出て、レジスタ218をチェックし、システム・コア・ロジック214内のPLLクロック216の周波数が所望の動作周波数に変更されたことを確認する。
レジスタ218は、この例では、周波数関連ビット・フィールドおよびステータス・ビット・フィールドを含む。レジスタ218に新しい周波数値が書き込まれると、ステータス・ビット・フィールドはクリアされる。周波数が首尾よく変更されると、ハードウェアは、レジスタ218内のステータス・ビットをセットする。周波数が切り替えられると、マスタ・プロセッサ200は、スレーブ・プロセッサ202およびスレーブ・プロセッサ204を起動させ、次いでデータ処理システムを初期化する。
スリープ/ナップ・モード方法では、内部減分タイマ割り込み、または外部プロセッサ間割り込みを使用することができる。スリープ/ナップ・モードが使用不可である場合、スレーブ・プロセッサ202および204は、スピン・ループに留まって、それらの内部タイムベース・カウンタの稼働を監視する。マスタ・プロセッサ200は、スレーブ・プロセッサ202および204をループから出したい場合、システム全体にわたるタイムベース・イネーブル信号を一時的に非活動化して、すべてのプロセッサの内部タイムベース・カウンタを停止する。スレーブ・プロセッサ202および204は、それらのタイムベース・カウンタが停止したのを見て、スピン・ループを出てさらに処理を続行する。スレーブ・プロセッサ202および204は、システム・コア・ロジック214内のハードウェア・ハンドシェイク・レジスタを介してマスタ・プロセッサ200に知らせる。最後に、マスタ・プロセッサ200は、タイムベース・イネーブル信号を再活動化して、タイムベース・カウンタが再度動作できるようにする。
動作周波数が変更されていない場合、マスタ・プロセッサ200は、システム・コア・ロジック214内のPLLクロック216の動作周波数を変更するようレジスタ218を設定することを再度試みることができる。その後、マスタ・プロセッサ200は、再度、所定時間の間遅延ループに入り、次いで動作周波数が所望の周波数に変更されたかどうかを確認する。何度かの試みの失敗の後、マスタ・プロセッサ200は、デフォルトの動作周波数を使用してデータ処理システムの初期化を終了するよう試みることができる。
次に図3は、本発明の好ましい実施形態によるシステム内のメモリ速度を識別するシステム・コア・ロジックの動作周波数を変更するプロセスのフローを示している。図3に示したプロセスは、図2のマスタ・プロセッサ200などのプロセッサ内に実装することができる。
プロセスが開始し、システム内のメモリ速度を識別する(ステップ300)。異なるメモリ・モジュールは、異なるメモリ速度、すなわちメモリ・モジュールが動作する通常のクロック周波数を有していてもよい。例えば、1つのメモリ・モジュールは333MHzで動作し、別のメモリ・モジュールは400MHzで動作してもよい。あるいは、データ処理システム内のメモリ・モジュールは、すべて同じ周波数で動作してもよい。
次に、最適な周波数への切り替えが行われる必要があるかどうかに関する決定が行われる(ステップ302)。これらの例では、メモリ・モジュールまでのすべてがより高い周波数をサポートする場合、現在使用されている周波数からより高い周波数への切り替えが行われる。当然、実装によっては、より高い周波数からより低い周波数への周波数の変更が行われることもある。
切り替えが行われる場合、スレーブ・プロセッサを非トランザクション・モードにする旨の命令が送信される(ステップ304)。次いで、所望の周波数がシステム・コア・ロジック内のレジスタに書き込まれる(ステップ306)。
次に、所定時間の間遅延ループでの待機が行われる(ステップ308)。マスタ・プロセッサは、動作周波数の変更が行われるのを可能にするために所定時間待機する。次いでプロセスは、レジスタのチェックに取りかかる(ステップ310)。次に、レジスタのチェックに基づいて周波数が変更されたかどうかに関する決定が行われる(ステップ312)。動作周波数が変更された場合、スレーブ・プロセッサは通常モードに戻され(ステップ314)、その後プロセスが終了する。
上記のステップ302で、より高い周波数への切り替えが行われない場合、プロセスが終了する。また、ステップ312で、周波数が変更されない場合、システム・コア・ロジックにおける動作周波数の変更の試行を再度行うかどうかに関する決定が行われる(ステップ316)。さらに試行が行われる場合、プロセスは上記のステップ306に進む。それ以上試行が行われない場合、プロセスは終了する。
したがって、本発明は、システム・メイン・メモリにアクセスする旨のプロセッサ・バスからのプロセッサ要求、およびI/OバスからのI/Oマスタ要求を処理するコンピュータ・システムのシステム・コア・ロジックの動作周波数を変更する、または切り替える方法、装置、およびプログラムを提供する。動作周波数は、例えばプロセッサ・バス、I/Oバス、およびシステム・メモリ・バスのバス制御ロジックから成るシステム・コア・ロジックの動作周波数を切り替えることによって変更される。動作周波数が変更される場合、変更を行うプロセッサ以外のプロセッサは、非トランザクション・モードになる。次いで動作周波数がシステム・コア・ロジックにおいて変更される。動作周波数は、例えば、PLLクロックなどのクロック回路を制御するレジスタ内に値を設定する、または書き込むことによって変更される。
動作周波数が変更された後、プロセッサは、非トランザクション・モードから戻され、引き続きシステムの初期化が行われる。このように、データ処理システムを再起動することなく、システム・クラッシュを引き起こすおそれのあるエラーを回避しながら、データ処理システム内の構成要素の動作周波数を動的に変更することができる。
重要なこととして、本発明を十分に機能するデータ処理システムの文脈で説明してきたが、本発明のプロセスは、命令のコンピュータ可読媒体の形、および様々な形で分配することができ、分配を行うために実際に使用される信号担持媒体の特定のタイプに関わらず、本発明は等しく適用される。コンピュータ可読媒体の例には、フレキシブル・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの書き込み可能タイプの媒体、ならびにデジタルおよびアナログの通信リンク、例えば無線周波数および光波送信などの送信形態を使用した有線または無線の通信リンクなどの送信タイプの媒体などがある。コンピュータ可読媒体は、特定のデータ処理システムで実際に使用するためにデコードされるコード化されたフォーマットの形をとることができる。
本発明の説明は、例示の目的で提示しており、網羅的なものではなく、また本発明を開示した形態に限定するためのものでもない。当業者には多くの変更形態および変形形態が明らかである。本発明の原理、実用的な用途を最適に説明するために、また当業者が特定の使用範囲に適した様々な変更形態を含む様々な実施形態について本発明を理解できるようにするために、実施形態を選択し、説明した。
Claims (23)
- マスタ・プロセッサおよびスレーブ・プロセッサを含むマルチプロセッサ・データ処理システムにおいて、マルチプロセッサ・データ処理システム内のメモリとのインターフェイスをとるために使用されるシステム・コア・ロジックの動作周波数を変更する方法であって、
前記動作周波数をデフォルト周波数から別の周波数に変更すべきであるかどうかを決定するステップと、
前記動作周波数を前記デフォルト周波数から前記別の周波数に変更すべきであるとの決定に応答して、前記スレーブ・プロセッサを非トランザクション・モードに切り替えるステップと、
前記システム・コア・ロジックにおける動作周波数を前記別の周波数に変更するステップと
を含む方法。 - 前記スレーブ・プロセッサを通常モードに切り替えるステップ
をさらに含む請求項1に記載の方法。 - 前記マルチプロセッサ・データ処理システムの初期化を完了するステップ
をさらに含む請求項2に記載の方法。 - 前記非トランザクション・モードがスリープ・モードである請求項1に記載の方法。
- 前記非トランザクション・モードは、前記スレーブ・プロセッサがいかなる外部バス・トランザクションも生成することのないスピン・ループ内にあるモードである請求項1に記載の方法。
- 前記変更するステップが前記システム・コア・ロジック内のレジスタを前記別の周波数の値に設定するステップを含む請求項1に記載の方法。
- 前記決定するステップ、前記切り替えるステップ、および前記変更するステップが前記マスタ・プロセッサによって実行される請求項1に記載の方法。
- 前記マルチプロセッサ・データ処理システムが対称型マルチプロセッサ・データ処理システムである請求項1に記載の方法。
- マスタ・プロセッサ、スレーブ・プロセッサおよびメモリを含み、前記メモリとのインターフェイスをとるために使用されるシステム・コア・ロジックの動作周波数を変更するマルチプロセッサ・データ処理システムであって、
前記動作周波数を前記デフォルト周波数から前記別の周波数に変更すべきかどうかを決定する決定手段と、
前記動作周波数をデフォルト周波数から前記別の周波数に変更すべきであるとの決定に応答して、前記スレーブ・プロセッサを非トランザクション・モードに切り替えるモード切り替え手段と、
前記システム・コア・ロジックにおける動作周波数を前記別の周波数に変更する変更手段と
を含むマルチプロセッサ・データ処理システム。 - 前記スレーブ・プロセッサを通常モードに切り替える第2のモード切り替え手段をさらに含む請求項9に記載のマルチプロセッサ・データ処理システム。
- 前記マルチプロセッサ・データ処理システムの初期化を完了する完了手段をさらに含む請求項10に記載のマルチプロセッサ・データ処理システム。
- 前記非トランザクション・モードがスリープ・モードである請求項9に記載のマルチプロセッサ・データ処理システム。
- 前記非トランザクション・モードは、前記スレーブ・プロセッサがいかなる外部バス・トランザクションも生成することのないスピン・ループ内にあるモードである請求項9に記載のマルチプロセッサ・データ処理システム。
- 前記変更手段が前記システム・コア・ロジック内のレジスタを前記別の周波数の値に設定する設定手段を含む請求項9に記載のマルチプロセッサ・データ処理システム。
- 前記決定手段、前記モード切り替え手段、および前記変更手段が前記マスタ・プロセッサに配置される請求項9に記載のマルチプロセッサ・データ処理システム。
- 前記マルチプロセッサ・データ処理システムが対称型マルチプロセッサ・データ処理システムである請求項9に記載のマルチプロセッサ・データ処理システム。
- マスタ・プロセッサおよびスレーブ・プロセッサを含むマルチプロセッサ・データ処理システム内のメモリとのインターフェイスをとるために使用するシステム・コア・ロジックの動作周波数を変更するプログラムであって、
前記動作周波数を前記デフォルト周波数から前記別の周波数に変更すべきかどうかを決定する手順と、
前記動作周波数をデフォルト周波数から別の周波数に変更すべきであるとの決定に応答して、前記スレーブ・プロセッサを非トランザクション・モードに切り替える手順と、
前記システム・コア・ロジックにおける動作周波数を前記別の周波数に変更する手順と
をコンピュータに実行させるためのプログラム。 - さらに前記スレーブ・プロセッサを通常モードに切り替える手順をコンピュータに実行させるための請求項17に記載のプログラム。
- さらに前記マルチプロセッサ・データ処理システムの初期化を完了する手順をコンピュータに実行させるための請求項18に記載のプログラム。
- 前記非トランザクション・モードがスリープ・モードである請求項17に記載のプログラム。
- 前記非トランザクション・モードは、前記スレーブ・プロセッサがいかなる外部バス・トランザクションも生成することのないスピン・ループ内にあるモードである請求項17に記載のプログラム。
- 前記変更する手順が前記システム・コア・ロジック内のレジスタを前記別の周波数の値に設定する手順を含む請求項17に記載のプログラム。
- バス・システムと、
1組の命令を含む、前記バス・システムに接続されているメモリと、
前記メモリとのインターフェイスをとるシステム・コア・ロジックの動作周波数をデフォルト周波数から別の周波数に変更すべきかどうかを決定し、前記動作周波数をデフォルト周波数から別の周波数に変更すべきであるとの決定に応答してマルチプロセッサ・データ処理システム内のスレーブ・プロセッサを非トランザクション・モードに切り替え、前記システム・コア・ロジックにおける動作周波数を前記別の周波数に変更する1組の命令を実行する、前記バス・システムに接続されている処理ユニットと
を含むデータ処理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/763,077 US7321979B2 (en) | 2004-01-22 | 2004-01-22 | Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005209197A true JP2005209197A (ja) | 2005-08-04 |
Family
ID=34794968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005012098A Pending JP2005209197A (ja) | 2004-01-22 | 2005-01-19 | システム・コア・ロジックの動作周波数を変更してシステム・メモリ帯域幅を最大にする方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7321979B2 (ja) |
JP (1) | JP2005209197A (ja) |
KR (1) | KR100690307B1 (ja) |
CN (1) | CN1648821A (ja) |
TW (1) | TWI370962B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148621A (ja) * | 2005-11-25 | 2007-06-14 | Hitachi Ltd | 計算機システム |
JP2010039812A (ja) * | 2008-08-06 | 2010-02-18 | Renesas Technology Corp | マイクロコンピュータ |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7225301B2 (en) * | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7395476B2 (en) * | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US20060095620A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for merging bus data in a memory subsystem |
US7331010B2 (en) * | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7512762B2 (en) * | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7441060B2 (en) * | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
KR100728867B1 (ko) * | 2005-09-06 | 2007-06-15 | 엘지노텔 주식회사 | 프로세서 보드의 상태 제어 방법 |
US7478259B2 (en) * | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7636813B2 (en) * | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7584336B2 (en) * | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US7669086B2 (en) * | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7606988B2 (en) * | 2007-01-29 | 2009-10-20 | International Business Machines Corporation | Systems and methods for providing a dynamic memory bank page policy |
US20080182021A1 (en) * | 2007-01-31 | 2008-07-31 | Simka Harsono S | Continuous ultra-thin copper film formed using a low thermal budget |
US7917799B2 (en) * | 2007-04-12 | 2011-03-29 | International Business Machines Corporation | Method and system for digital frequency clocking in processor cores |
US8161314B2 (en) * | 2007-04-12 | 2012-04-17 | International Business Machines Corporation | Method and system for analog frequency clocking in processor cores |
US7937568B2 (en) * | 2007-07-11 | 2011-05-03 | International Business Machines Corporation | Adaptive execution cycle control method for enhanced instruction throughput |
US7779237B2 (en) * | 2007-07-11 | 2010-08-17 | International Business Machines Corporation | Adaptive execution frequency control method for enhanced instruction throughput |
US8195907B2 (en) * | 2007-12-21 | 2012-06-05 | Rambus Inc. | Timing adjustment in a reconfigurable system |
US7853817B2 (en) * | 2009-02-26 | 2010-12-14 | Apple Inc. | Power management independent of CPU hardware support |
US8566618B2 (en) * | 2009-10-05 | 2013-10-22 | International Business Machines Corporation | Reliable setting of voltage and frequency in a microprocessor |
WO2011091323A1 (en) | 2010-01-21 | 2011-07-28 | Qst Holdings, Llc | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
US20120096292A1 (en) * | 2010-10-15 | 2012-04-19 | Mosaid Technologies Incorporated | Method, system and apparatus for multi-level processing |
CN102566655B (zh) * | 2010-12-14 | 2015-01-07 | 联芯科技有限公司 | 片外存储器的总线动态调频方法及其系统 |
US8664168B2 (en) | 2011-03-30 | 2014-03-04 | Baker Hughes Incorporated | Method of using composites in the treatment of wells |
US8914650B2 (en) | 2011-09-28 | 2014-12-16 | Intel Corporation | Dynamically adjusting power of non-core processor circuitry including buffer circuitry |
US9519330B2 (en) * | 2013-10-22 | 2016-12-13 | Wisconsin Alumni Research Foundation | Energy-efficient multicore processor architecture for parallel processing |
KR102465162B1 (ko) * | 2017-05-26 | 2022-11-10 | 에스케이하이닉스 주식회사 | 반도체 장치, 그를 포함하는 반도체 시스템 및 그 반도체 시스템의 동작 방법 |
US20210064110A1 (en) * | 2017-09-29 | 2021-03-04 | Intel Corporation | Control blocks for processor power management |
CN108037982A (zh) * | 2017-11-20 | 2018-05-15 | 大唐微电子技术有限公司 | 一种程序调用的方法及装置 |
CA3097289A1 (en) | 2018-05-15 | 2019-11-21 | Partec Cluster Competence Center Gmbh | Apparatus and method for efficient parallel computation |
US20230289302A1 (en) * | 2022-03-10 | 2023-09-14 | Hewlett-Packard Development Company, L.P. | Maximization of speeds in mixed memory module configurations |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5642506A (en) * | 1994-12-14 | 1997-06-24 | International Business Machines Corporation | Method and apparatus for initializing a multiprocessor system |
US5867658A (en) * | 1997-04-04 | 1999-02-02 | International Business Machines Corporation | Method and apparatus for implementing a stop state for a processor in a multiprocessor system |
JP2000020462A (ja) | 1998-06-30 | 2000-01-21 | Toshiba Corp | コンピュータシステムに適用するバスシステム |
KR20000027589A (ko) * | 1998-10-28 | 2000-05-15 | 윤종용 | 동작 상태에서 버스 클락 신호의 주파수 변환기능을 구비한 컴퓨터 시스템 및 그의 제어 방법 |
JP2001100867A (ja) | 1999-09-30 | 2001-04-13 | Ricoh Co Ltd | 省エネルギー機能付き装置 |
JP3906015B2 (ja) * | 2000-07-12 | 2007-04-18 | 株式会社東芝 | クロック周波数切り替え機能を有するlsi、計算機システム及びクロック周波数切り替え方法 |
US6763474B1 (en) * | 2000-08-03 | 2004-07-13 | International Business Machines Corporation | System for synchronizing nodes in a heterogeneous computer system by using multistage frequency synthesizer to dynamically adjust clock frequency of the nodes |
JP4686065B2 (ja) | 2001-07-05 | 2011-05-18 | 富士通セミコンダクター株式会社 | クロック制御装置およびクロック制御方法 |
JP3665030B2 (ja) | 2002-02-19 | 2005-06-29 | Necマイクロシステム株式会社 | バス制御方法及び情報処理装置 |
US7096377B2 (en) * | 2002-03-27 | 2006-08-22 | Intel Corporation | Method and apparatus for setting timing parameters |
KR20040076678A (ko) * | 2003-02-26 | 2004-09-03 | 엘지전자 주식회사 | 씨피유의 클럭속도 제어방법 |
-
2004
- 2004-01-22 US US10/763,077 patent/US7321979B2/en not_active Expired - Fee Related
-
2005
- 2005-01-03 TW TW094100063A patent/TWI370962B/zh not_active IP Right Cessation
- 2005-01-04 KR KR1020050000406A patent/KR100690307B1/ko not_active IP Right Cessation
- 2005-01-19 JP JP2005012098A patent/JP2005209197A/ja active Pending
- 2005-01-20 CN CNA2005100047140A patent/CN1648821A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148621A (ja) * | 2005-11-25 | 2007-06-14 | Hitachi Ltd | 計算機システム |
JP4660362B2 (ja) * | 2005-11-25 | 2011-03-30 | 株式会社日立製作所 | 計算機システム |
JP2010039812A (ja) * | 2008-08-06 | 2010-02-18 | Renesas Technology Corp | マイクロコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
US20050166073A1 (en) | 2005-07-28 |
TWI370962B (en) | 2012-08-21 |
CN1648821A (zh) | 2005-08-03 |
TW200602839A (en) | 2006-01-16 |
KR20050076737A (ko) | 2005-07-27 |
US7321979B2 (en) | 2008-01-22 |
KR100690307B1 (ko) | 2007-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005209197A (ja) | システム・コア・ロジックの動作周波数を変更してシステム・メモリ帯域幅を最大にする方法および装置 | |
US5781774A (en) | Processor having operating modes for an upgradeable multiprocessor computer system | |
US5802269A (en) | Method and apparatus for power management of distributed direct memory access (DDMA) devices | |
JP2507227B2 (ja) | デ―タ・フロ―・コントロ―ラ | |
JP3444489B2 (ja) | データ処理システムにプロセッサをホットプラグする方法およびシステム | |
US6131127A (en) | I/O transactions on a low pin count bus | |
US6199134B1 (en) | Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address | |
US5675794A (en) | Method and apparatus for configuring multiple agents in a computer system | |
US5471625A (en) | Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode | |
US5724528A (en) | PCI/ISA bridge having an arrangement for responding to PCI address parity errors for internal PCI slaves in the PCI/ISA bridge | |
JP2009043256A (ja) | 記憶装置のアクセス方法及び装置 | |
JPH0219955A (ja) | Dma機能を有する計算機システム | |
US5301281A (en) | Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals | |
US6851014B2 (en) | Memory device having automatic protocol detection | |
US6016549A (en) | Peripheral unit having at least two sequencer circuits configured to control data transfers for power saving | |
JPH08314716A (ja) | データ処理装置及びその方法 | |
US20060080563A1 (en) | Power save module for storage controllers | |
US5960180A (en) | Host adapter integrated circuit having autoaccess pause | |
US6438701B1 (en) | Method and apparatus for externally generating system control interrupts as resume events from power-on suspend mode | |
JP2011138401A (ja) | プロセッサシステム、プロセッサシステムの制御方法、及び制御回路 | |
JP2003309564A (ja) | マイクロコンピュータシステムおよびそれに使用されるトランシーバ | |
US20040019777A1 (en) | Sharing data using a configuration register | |
KR100681427B1 (ko) | 다중 프로세서 시스템을 위한 리셋 회로 | |
JPS584468A (ja) | マイクロプロセツサシステム | |
JPH10198524A (ja) | ハードディスク制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071016 |