JP2004512614A - オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ - Google Patents

オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ Download PDF

Info

Publication number
JP2004512614A
JP2004512614A JP2002538250A JP2002538250A JP2004512614A JP 2004512614 A JP2004512614 A JP 2004512614A JP 2002538250 A JP2002538250 A JP 2002538250A JP 2002538250 A JP2002538250 A JP 2002538250A JP 2004512614 A JP2004512614 A JP 2004512614A
Authority
JP
Japan
Prior art keywords
frequency
power saving
data value
cpu
frequency signal
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
JP2002538250A
Other languages
English (en)
Other versions
JP4482275B2 (ja
Inventor
カピル、サンジヴ
Original Assignee
サンマイクロシステムズ インコーポレーテッド
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 サンマイクロシステムズ インコーポレーテッド filed Critical サンマイクロシステムズ インコーポレーテッド
Publication of JP2004512614A publication Critical patent/JP2004512614A/ja
Application granted granted Critical
Publication of JP4482275B2 publication Critical patent/JP4482275B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

オペレーティングシステムをサポートするための一定の時間基準を用いるコンピュータシステムにおいて、電力管理システムを実現するシステムである。本システムは、PCIクロック信号とCPUクロック信号を用いて一定の時間基準を生成することにより、電力管理システムがコンピュータシステムのCPU周波数信号を変化させたとき、または、CPU周波数が変わったときに、オペレーティングシステムが前記一定の時間基準を用いるようにする。電力管理システムは、通常の電力管理システム動作間で、オペレーティングシステムをサポートするために用いられる動作の周波数と整合をとるための回路を備えている。

Description

【0001】
発明の背景
図1に示すように、近代的なコンピュータシステムは、ハードウェア(10)、オペレーティングシステム(12)、アプリケーションプログラム(14)、および、ユーザ(16, 18, 20, 22)というおよそ4つの概念的要素に分割できる。ハードウェア(10)、すなわち、マイクロプロセッサ、メモリ、および入出力デバイスは、基本的なコンピュータ資源を提供する。コンパイラ、データベースシステム、ソフトウェア、ビジネスプログラムなどのアプリケーションプログラム(14)は、ユーザの演算的な問題を解決するためにこれらの資源が用いられる方法を定義する。ユーザ(16, 18, 20, 22)、人間、機械、および他のコンピュータは、ハードウェアを順に稼働させるアプリケーションプログラムを用いて様々な問題を解決する。
【0002】
オペレーティングシステム(OS) (12)は、コンピュータシステムのユーザとコンピュータハードウェアとの間の仲介人として機能するプログラムである。オペれー手雄イングシステムの役割は、ユーザがプログラムを便利にかつ効率的に実行できる環境を提供することにある。コンピュータシステムは、例えば中央処理装置(CPU)時間、メモリスペース、ファイル格納スペース、入出力(I/O)デバイスなど、問題を解決することが要求される多くの資源(ハードウェアおよびソフトウェア)を有する。オペレーティングシステムは、これらの資源のマネージャとして機能し、タスクに必要な特定のプログラムやユーザへそれらを割り当てる。資源に対する、多くの、おそらく互いに矛盾する要求があり得るので、オペレーティングシステムは、コンピュータシステムを効率的かつ公平に稼働させるために、どの要求を資源へ割り当てるのかを決定しなければならない。
【0003】
さらに、オペレーティングシステムは、コントロールプログラムとして特徴づけることができる。コントロールプログラムとは、エラーやコンピュータの不正使用を防止するために、ユーザプログラムの実行を制御するものであり、特に、I/Oデバイスの動作に関係する。一般に、オペレーティングシステムは、それが、有用なコンピュータシステムを創造するという問題を解決する合理的な方法であるという理由で存在する。コンピュータシステムの基本的な目標は、ユーザプログラムを実行し、ユーザの問題解決を容易にすることである。この目標に向けて、コンピュータハードウェア(10)は構築されている。ハードウェアそのもの単体を扱うことは容易ではないので、アプリケーションプログラムが開発された。これらの様々なプログラムは、例えばそれらのI/Oオペレーション制御のような、いくつかの共通したオペレーションを必要とする。そこで、資源の制御および割り当ての共通機能は、1つのソフトウェアにまとめられた。それがオペレーティングシステムである。オペレーティングシステムは、上述のタスクや、スレッドスケジューリング、プロセススケジューリング、イベントスケジューリング、および他のシステム関連動作などの管理的なタスクをサポートするために、一定の時間基準(constant time reference)を必要とする。
【0004】
一般的なオペレーティングシステムは、一定の時間基準としてCPUクロックを用いる。最近のCPUは、166MHzから600MHzを超える周波数を有する。例えば、カリフォルニアのパロアルトのサン・マイクロシステムズによって開発されたUltraSparc−IIeマイクロプロセッサは、500MHz以上のスピードで動作する。これはつまり、このプロセッサが1秒に500×10回のCPUクロックサイクルを完了することを意味する。
【0005】
電力を節減するために、いくつかのコンピュータシステムは、電力制御機構を取り入れている。例えば、エナジースター(Energy Star(“E*”))電力条件は、システムがアイドル状態のときのシステムの消費電力が、通常稼働時の消費電力レベルの15%まで低減されることを要求する。この目標を達成するために、システムは、活動していないデバイス(ディスクドライブ、ネットワークカードなど)の電源を切ったり、あるいは動作周波数を低くしたりしなければならない。さらに、CPUそのものが省電力モードに入らなければならない。なぜなら、システム中でCPUが最も消費電力が高いデバイスであることが多いからである。
【0006】
電力を節減するために、CPUは動作周波数を低くしなければならない。CPUの電源を完全に切ることはできない。なぜなら、それは、実際、システム全体をシャットダウンすることになるからである。CPUが動作周波数を低くしたとき、オペレーティングシステムの時間基準が変化し、その結果として、オペレーティングシステムは、変化する基準時間に従って、その任務を果たすこととなる。異なる周波数モードに変化する間に、オペレーティングシステムは、周波数変化の前に保持していた絶対的な時間基準を失い、周波数変化として、異なる割合で増加するCPUコアクロックを用いることで対処する。
【0007】
オペレーティングシステムは、互いに異なるタスクにシステム資源を指定して割り当てるので、これらのタスクを効果的かつ効率的に動作させるためには、一定の時間基準を持たなければならない。一定の時間基準がなければ、オペレーティングシステムは、変動する時間基準を用いてタスクのスケジュールを試みなければならなくなる。これは、オペレーティングシステムが一定の時間基準が確立されるのを待つ間に多くのクロックサイクルのロスを引き起こし、最終的にはこの影響がシステムパフォーマンスを悪化させることになる。
【0008】
従来の技術では、システムのCPUコア周波数が変更されるときは、オペレーティングシステムにシステムハードウェアへの要求や割り込みを遅らせるようになっている。このような仕組みを実現するためのハードウェアは、オペレーティングシステムへの定期的な割り込みを生成するためにクロックサイクルの基礎をCPUクロックとするレジスタを有する。しかし、システムが省電力モードに入ったりあるいは省電力モードから脱したりすることによってCPUクロック周波数が変化したとき、割り込み周期が変化することにより、オペレーティングシステムは不確定的にイベントをスケジュールする。従来、オペレーティングシステムが、システムが周波数変化の遷移を完了するのを単純に待ち、多くのクロックサイクルのロスを許容するシステムも実現されている。全ての要求や割り込みは、システム周波数が所望の周波数へ完全に変化するまで待たされる。
【0009】
発明の要旨
一つの側面において、本発明は、コンピュータ資源がアイドル状態であるときにコンピュータシステムの電力を節減するための電力管理スキームを実施するシステムに関する。このシステムは、さらに、システムソフトウェアに指定されたときに入ることのできる複数の省電力モードを提供する。このシステムは、さらに、事前のシステム条件に対する最小限の変化による電力管理スキームの実現を含む。
【0010】
他の側面において、本発明は、イベントスケジューリング、プロセススケジューリング、および他の管理的な目的へのオペレーティングシステムサポートへ一定の時間基準を提供する方法に関する。この方法は、さらに、システムが省電力モードへ移行するときや、システムが省電力モードにあるときにも、一定の時間基準を提供することを含む。
【0011】
他の側面において、本発明は、ソフトウェアが電力管理スキームを実施する方法に関する。この方法は、コンピュータ資源がアイドル状態のときに、ハードウェアがどのように指定された省電力モード要求に応答すべきかを監視し決定することによって電力管理スキームを制御するソフトウェアを含む。
【0012】
本発明の他の側面および利点は、以下の説明および添付された請求の範囲によって明らかとなるであろう。
【0013】
発明の詳細な説明
本発明は、コンピュータ資源がアイドル状態のときにコンピュータシステムの電力を節減する電力管理スキームを実施するシステムに関する。このシステムは、また、コンピュータシステムのCPU周波数が異なる周波数間で切り替わろうとするときに、PCIインタフェースを用いて、オペレーティングシステム(OS)サポートに一定の時間基準を提供するシステムに関する。オペレーティングシステムに一定の絶対的な時間基準を提供するために、本発明の実施形態は、CPU周波数と共にPCI周波数を用いることによって一定の時間基準周波数を生成するスキームを実行する。
【0014】
PCIは、最近のコンピュータシステムのほとんどにおいて、異なるシステム構成要素を接続するために各システムに組み込まれているローカルバス規格である。PCIは、通常、32ビットバスとして実現されているが、64ビットバスであり、33MHzまたは66MHzのクロックスピードで動作する。
【0015】
上述したEスター(“E*”)条件を満たすために、システムはCPU周波数を低くすることによって電力を節減できる方法を実施しなければならない。表1は、UltraSparc−IIeマイクロプロセッサの異なる周波数モードにおける消費電力の推定レベルを示す。
【0016】
【表1】
Figure 2004512614
【0017】
消費電力条件を満たすために、UltraSparc−IIeは、CPUクロックを通常の動作周波数の1/2や1/6に変更することにより、電力管理スキームを実行する。一般的には、スキームの仕様はシステムソフトウェアによりプログラム化が可能である。表2に、システムソフトウェアが電力消費量を上下させるために遂行する順序付けを示す(以下でさらに図3を参照して説明する)。
【0018】
【表2】
Figure 2004512614
【0019】
1/6という割合の限定は、内部PCI同期部の要件である、
CPU >= 2 fEXTERNAL_PCI
による。
【0020】
通常の周波数で動作しているシステムと省電力モードで動作しているシステムとの間の違いの一つは、システムが省電力モードである場合は、全ての要求や割り込みが、より低いクロックレートで処理されることである。
【0021】
システムソフトウェアは、システムトラフィックを監視し、内部CPUクロックを、当該ソフトウェアが適切であると判断する任意のモードに戻すことを決定できる。
【0022】
図2は、本発明の一実施形態のブロック図である。この図は、電力管理ユニット(30)を含む電力管理スキームのトップレベルのハードウェアレイアウトを示す。電力管理ユニット(30)のデフォルトの動作モードは、フルパワーでの動作である。コンピュータシステムが所定の期間アイドル状態であることをシステムソフトウェアが検出すると、当該ソフトウェアは、図示しないEスターモードレジスタ(“ESTAR_MODE”)に0を書き込むことにより、システムハードウェアに消費電力低下を命令する。このコマンドにより、電力管理ユニット(30)は、指定された省電力モードまで消費電力を下げるために、一連のステップを順次行う。電力管理ユニット(30)は、まず、SDRAM(32)をセルフリフレッシュモードで動作するようプログラムする。SDRAM(32)は、従来のメモリよりもはるかに高いクロックスピードで動作することが可能であるダイナミックランダムアクセスメモリ(DRAM)の一種である。省電力モードに入るまえに、SDRAM(32)は、コンピュータシステムのCPUバスと同期をとり、機能するために連続的にリフレッシュされる。しかし、省電力モードに入るとき、電力管理ユニット(30)は、SDRAM(32)を、CPUクロックとは独立にリフレッシュするように、セルフリフレッシュモードで動作するようプログラムする。さらに、SDRAM(32)は、通常動作モードにあるときよりも、セルフリフレッシュモードにあるときの方が、消費電力が少ない。
【0023】
SDRAM(32)は、図示しないメモリ制御レジスタ(MC0)に書き込みを行うことにより、セルフリフレッシュモードで動作するよう構成できる。メモリ制御レジスタは、ソフトウェアが、特定のメモリユニットに対する所望のステータスを表すために、書き込みを行うレジスタである。システムソフトウェアがハードウェアに消費電力低下を指示すると、システムソフトウェアは、セルフリフレッシュ有効ビットを有効化する(MC0[33]=l)。一旦このビットが有効化されると、ソフトウェアはハードウェアに対する命令を生成し、この命令により、SDRAM(32)の動作モードをセルフリフレッシュモード(すなわちスリープモード)に変更する。ハードウェアは、SDRAM(32)への新たなアクセスがあったとき、すなわち、データをSDRAM(32)から取り出す必要が生じたときに、自動的にSDRAM(32)を再起動する。このアクセスが完了すると、ハードウェアはSDRAM(32)をセルフリフレッシュモードに戻す。通常のSDRAM(32)の動作を復活させるためには、システムソフトウェアがセルフリフレッシュ有効ビットを明示的にクリアしなければならない(MC0[33]=0)。
【0024】
一旦、SDRAM(32)がスリープモードで動作するようプログラムされると、電力管理ユニット(30)は、クロック制御ユニット(36)への信号を生成することにより、CPU動作クロック周波数を、通常の動作周波数の1/2または1/6まで下げる。クロック制御ユニット(36)は、通常、CPUクロック信号やPCIクロック信号を含む全てのクロック信号を管理している。
【0025】
それから、電力管理ユニット(30)は、いくつかの外部PCIデバイスの動作周波数を低下させあるいは動作停止させるために、多目的出力(GPO)ユニット(34)を経由してクロック制御ユニット(36)へ入るクロック制御信号の生成を始める。2つのGPOピン(図示せず)が、クロック制御ユニット(36)へ、外部PCIデバイスに対するクロックを33MHzから0MHzへ低速化するのか、あるいは、クロックスピードを0MHzから33MHzへ上昇させるのかを指示することを助けるために、設けられている。
【0026】
一定の時間基準信号をオペレーティングシステムに対して生成するために、電力管理ユニット(30)は、PCIバスモジュール(PBM)(38)を備えている。PBM(38)は、外部デバイスと内部システムハードウェアとの間のPCIインタフェースの主要部である。PBM(38)は、外部PCIデバイスにより発生するダイレクトメモリアクセス(DMA)要求だけでなく、プログラムされた入出力(PIO)要求のタイミングも取り扱う。PIOは、CPUから発生するデータの二つのデバイス間での転送方法である。本発明の実施形態では、電力管理ユニット(30)は、PBM(38)の一部を使用して、PCIクロックとCPUクロックを用いた一定の時間基準信号を生成する(以下に説明する)。
【0027】
システムソフトウェアは、図3のフロー図に示した電力管理スキームを実施する。表3に、図3に示す各々の遷移に必要なステップの一覧を示す。
【0028】
【表3】
Figure 2004512614
【0029】
高位モードから低位モードへの遷移、すなわち、遷移A,D,Hがいつ起こったとしても、表3に一覧表示されたステップに加えて考慮が必要である。遷移Aについては、システムソフトウェアは、元のオートリフレッシュカウントを読みとり、新たなオートリフレッシュカウント(SDRAM仕様に基づいた元のオートリフレッシュカウントよりも低い)をプログラムしなければならない。その後、当該ソフトウェアは、新たなリフレッシュカウントがハードウェアに確実にロードされるように、(64*オートリフレッシュカウントサイクル+ 新たなオートリフレッシュサイクル)だけ待たなければならない。
【0030】
遷移Dの場合、システムソフトウェアは、元のオートリフレッシュカウントを読みとり、新たなオートリフレッシュカウント(SDRAM仕様に基づいた元のオートリフレッシュカウントよりも低い)をプログラムしなければならない。その後、当該ソフトウェアは、新たなリフレッシュカウントがハードウェアに確実にロードされるように、(64*オートリフレッシュカウントサイクルの1/2+ 新たなオートリフレッシュサイクル)だけ待たなければならない。さらに、遷移Hの場合、システムソフトウェアは、元のオートリフレッシュカウントを読みとり、新たなオートリフレッシュカウント(SDRAM仕様に基づいた元のオートリフレッシュカウントよりも低い)をプログラムしなければならない。
【0031】
図4は、本発明の一実施形態にかかる電力管理システムのハードウェアのブロック図である。この図は、その一部がPBM同期ユニット(PBM_SYNC)(42)として機能するように指定されたPBMユニット(40)を含む。PBM_SYNC(42)は、PCI周波数信号(すなわちint_PCI)とCPUクロック周波数信号(すなわちCPUクロック)とを用いて、一定周波数を生成する機能を持つ。PBM_SYNC(42)は、12分割周波数カウンタ(44)と周波数同期部(45)を有する。内部PCIクロック周波数であるint_PCI周波数信号は、12分割周波数カウンタ(44)の入力として与えられる。12分割周波数カウンタ(44)は、int_PCI周波数信号を12で割り、分割されたint_PCI周波数信号を出力する。分割されたint_PCI周波数信号は、それから、信号周波数同期部(46)へ渡される。信号周波数同期部(46)は、分割されたint_PCI周波数信号とCPUクロック周波数信号とを同期させる。例えば、本発明の一実施形態において、int_PCI周波数信号は、66MHzであり、CPUクロック周波数信号は500MHzである。従って、PBM_SYNC(42)は、CPUクロック周波数信号と同期がとられた5.5MHzの周波数信号を出力する。
【0032】
この結果としてPBM_SYNC(42)より得られた同期出力信号は、STICKDPユニット(48)に対するclock_enable信号として機能する。STICKDPユニット(48)は、オペレーティングシステムに対してイベントおよびプロセススケジューリングの周期的な割り込みを発生する回路を備えている。STICKDPユニット(48)への入力として与えられるclock_enable信号は、STICKDPユニット(48)へその動作のための時間基準を与える役割を持つ。図5,6を参照する以下の説明において、STICKDPユニット(48)の動作をより詳細に説明する。
【0033】
STICKDPユニット(48)は、データ2ビットを、PLLユニット(50)へ渡す。このデータ2ビットは、2ビットバス(ESTAR_MODE[1:0]バス)上で渡され、Eスターモードレジスタの2ビット値を含む。PLL(50)は、特定の省電力モード値を格納するために電力管理スキームにより用いられる。例えば、PLL(50)は、特定の省電力モードを示す特定値を割り当てられた分周器(図示せず)を含む。さらに、いくつかの条件(後述)が満たされた場合、STICKDPユニット(48)は、プロセッサに対してトラップ信号を生成する必要があることをトラップ(TRAP)ユニット(52)に知らせるstick_alm信号を出力する。以下に、上述の構成要素についてのより詳しい説明を記載する。
【0034】
図5は、本発明の一実施形態にかかるSTICKDPユニット(60)のハイレベルブロック図である。STICKDPユニット(60)の入出力信号は、図5および表4に示すとおりである。
【0035】
【表4】
Figure 2004512614
【0036】
ここで、図6に、表4に一覧表示された信号の機能を説明するために、本発明の一実施形態のローレベルブロック図を示す。この図には、STICKDPユニット(62)の回路と、PBM_SYNC(70)およびTRAPユニット(84)に対するSTICKDPユニット(62)のインタフェースも共に示す。
【0037】
PBM_SYNC(70)は、上述のとおり、12分割周波数カウンタ(72)と周波数同期部(74)とを有する。int_PCI周波数信号は、12分割周波数カウンタ(72)に対する入力となる。12分割周波数カウンタ(72)は、int_PCI周波数信号を12で割り、分割されたint_PCI周波数信号を周波数同期部(74)へ出力する。周波数同期部(74)は、分割されたint_PCI周波数信号を、CPUクロック周波数信号と同期させる。周波数同期部(74)は、それから、pbm_sync_div信号を出力する。このpbm_sync_div信号は、12分割されたint_PCI周波数信号の周波数を持ち、CPUクロック周波数信号に同期した信号である。
【0038】
int_PCI周波数信号は、上述のように、内部PCIクロックである。本発明の一実施形態において、外部PCIクロックの周波数が33.3MHzであるとき、int_PCI周波数信号の周波数は66.67MHzである。UltraSparc−IIeの場合、外部PCIクロックは、省電力モードにかかわらず、常に固定されたままである。電力管理スキームで実行される省電力モードは、CPUコア周波数を変化させるだけであり、このスキームでサポートされる全ての省電力モードにおいて、PCIクロックは変更されずに保持される。
【0039】
UltraSparc−IIeマイクロプロセッサを用いた本発明の一実施形態の場合、Eスターモード1/6をサポートするのであれば、int_PCI周波数信号が66MHzを超えてはならない。これは、CPUコア周波数とPCIコア周波数との間のインタフェースの制限によるものであり、
CPU >= 2 fEXTERNAL_PCI
が条件となる。Eスターモード1/6は、通常モードにおいて500MHzで動作するプロセッサに対して、通常動作周波数の1/6の値(83.3MHz)も、
CPU >= 2 fEXTERNAL_PCI
の条件を満たすように、選択されるものである。
【0040】
図6に示すCPUクロック周波数信号は、CPUコア内部クロック周波数であり、一般的には500MHz以上である。
【0041】
オペレーティングシステムが、周波数が変化する環境(すなわち省電力モードへの出入り)において、プロセスおよびイベントスケジューリングのための時間の経過を常に意識できるようにするために、本発明の実施形態は、Eスターモードレジスタ (ESTAR_MODE)(78)を有するSTICKDPユニット(62)と、スティック比較レジスタ(STICK_COMPARE)(80)と、スティックレジスタ(STICK_REG)(82)と、電力管理システムが用いる追加の回路を有する。STICK_COMPARE(80)とSTICK_REG(82)は、CPUクロック周波数信号が変化するか否かにかかわらず、オペレーティングシステムへ周期的な割り込みを提供する機能を持つ。すなわち、STICK_COMPARE(80)とSTICK_REG(82)は、省電力モードへの出入りの際にCPUクロック周波数信号が変化することで割り込み周期が変化して不確定なイベントスケジューリングが発生することを防止するために設けられている。
【0042】
STICK_REG(82)は、64ビットのレジスタであり、オペレーティングシステムのカウンタとして機能し、割り込みや処理要求を発行するための一定の時間基準を提供する。
【0043】
STICK_REG(82)(STICK_REG[63])の最上位ビットは、常に“1”であり、このビット位置はプロセッサによって書き込まれず、読み出されもしない。残りの63ビットは、オペレーティングシステム用の現在のカウントを保持する。STICK_REG(82)は、システムリセットの後にカウントを開始する。STICK_COMPARE(80)は、プロセッサによって書き込まれ、読み出される64ビットのレジスタである。STICK_COMPARE(84)が保持するデータ値は、12分割された内部PCIクロックの速さでSTICK_REG(82)内のデータ値と比較される。言い換えれば、STICK_COMPARE(80)は、増加するSTICK_REG(82)と比較されるタイムアウト値を格納するために設けられている。
【0044】
本発明の一実施形態では、STICK_COMPARE(80)およびSTICK_REG(82)は、5.5MHz(12分割された内部PCIクロック)で動作する。しかし、当業者であれば、他の実施形態において、PCI周波数に応じた異なる周波数を用いることができることは理解できるであろう。
【0045】
上述のpbm_sync_div信号は、PBM_SYNC(70)により出力されたとき、ORゲート(76)においてmiu_stick_REG_wr_en信号とOR演算される。miu_stick_REG_wr_en信号は、図示しないメモリインタフェースユニット(MIU)により生成される。MIUでは、STICK_REG(82)のアドレスが、read/writeアクセスのためにデコードされる。miu_stick_REG_wr_en信号は、STICK_REG(82)への書き込み動作の有効信号として機能する。ORゲート(76)からの出力信号は、実際に、STICK_REG(82)が増加しているか否かを判断するSTICK_REG(82)のクロック有効信号として機能する。ORゲート(76)によるpbm_sync_div信号とmiu_stick_REG_wr_en信号とのOR演算の主な目的は、プロセッサによるSTICK_REG(82)への書き込みプロセスが発生したときに、STICK_REG(82)が増加していないことを確認することである。miu_stick_reg_wr_en信号がpbm_sync_div信号と同時にアクティブであった場合、ORゲート(76)からの出力信号は、STICK_REG(82)へのクロック有効入力を無効化する。すなわち、STICK_REG(82)は、増加しない。miu_stick_REG_wr_en信号がアクティブでない場合、ORゲート(76)は、STICK_REG(82)へのクロック有効入力を有効化するアクティブ信号を出力する。これにより、STICK_REG(82)は増加する。
【0046】
上述したESTAR_MODE(78)は、省電力モードを有効化または無効化するために電力管理ソフトウェアによって用いられるレジスタである。このレジスタは、種々の省電力モード(1/2、1/6モード)に入るためや、通常の動作周波数モード(1/1モード)にとどまるために主に用いられる。ESTAR_MODE(78)は、64ビット幅を持つが、最下位の2ビットのみが使用される。この2ビットの値はPLLユニット(以下で図7を用いて説明)に送られる。当業者であれば、異なる数の省電力モードや、省電力モードの他の値を用いた他の実施形態を理解できるであろう。
【0047】
miu_estar_MODE_wr_en信号は、ESTAR_MODE(78)への入力となり、ESTAR_MODE(78)へのクロック有効入力として用いられる。ESTAR_MODE(78)は、CPU周波数で動作するので、CPUクロック周波数も入力する。miu_estar_MODE_wr_en信号は、ESTAR_MODE (78)のアドレスをデコードする図示しないMIUから送られる。省電力モードを選択するために、プロセッサは、pdp_mcu_pio [62:0]バスを介して、ESTAR_MODE(78)へ2ビットを書き込まなければならない。pdp_mcu_pio[62:0]バスは、ESTAR_MODE (78)や他のレジスタへ書き込みを行うために、プロセッサが使用する内部バスである。miu_estar_MODE_wr_en信号がアクティブの場合、ESTAR_MODE (78)のクロック有効入力が有効化され、ESTAR_MODE (78)は、CPUクロック周波数の速さで、前記2ビットをpdp_mcu_pio[62:0]バスからラッチする。miu_estar_MODE_wr_en信号がアクティブでない場合、ESTAR_MODE (78)のクロック有効入力は無効化され、レジスタ内に存在するビット値が保持される。
【0048】
pdp_mcu_pio [62:0]バスは、また、プロセッサがSTICK_REG (82)へデータを書き込むためにも用いられる。データは、マルチプレクサ(88)によって増加値(89)と多重化され、STICK_REG(82)へ出力される。例えば、プロセッサが特定のデータ値をSTICK_REG(82)へ書き込む必要がある場合は、プロセッサは、そのデータを、pdp_mcu_pio[62:0]バス経由でマルチプレクサ(88)の入力へ送る。マルチプレクサ(88)は、データをSTICK_REG(82)へ出力する。STICK_REG(82)は、その後、プロセッサから受け取ったデータに基づき、増加を続ける。STICK_REG(82)は、STICK_REG(82)内に既に存在しているデータに基づいて増加し、増加演算部 (89) は、STICK_REG(82)内のデータ値を増加させ、その結果をマルチプレクサ(88)の入力へ渡す。マルチプレクサ(88)は、増加されたデータ値をSTICK_REG(82)へ出力する。STICK_REG(82) は、プロセッサからのデータをラッチするときに、CPUクロック周波数を用いる。
【0049】
pdp_mcu_pio[62:0]バスは、プロセッサがSTICK_COMPARE(80)にデータを書き込むためにも用いられる。STICK_COMPARE(80)は、miu_stick_cmp_wr_en信号をそのクロック有効入力として用いる。miu_stick_cmp_wr_en信号は、図示しないMIUにより生成される。図示しないMIUは、STICK_COMPARE(80)のアドレスをデコードし、miu_stick_cmp_wr_en信号を生成する。miu_stick_cmp_wr_en信号は、アクティブである場合、STICK_COMPARE(80)のクロック有効入力を有効化する。これにより、STICK_COMPARE(80)は、 pdp_mcu_pio[62:0]バスからCPUクロック周波数の速さでデータを読み込むことが可能となる。
【0050】
STICK_COMPARE(80)とSTICK_REG(82)は、pbm_sync_div周波数信号の速さで比較される。これは、この速さが、STICK_REG(82)が増加する速さと等しいからである。STICK_COMPARE(80)およびSTICK_REG(82)のデータ値は、排他的論理和ゲート(83)への入力となる。STICK_COMPARE (80)の各ビットは、ゲート(83)で、STICK_REG(82)の対応するビットと排他的論理和演算される。これらにビットが共にhighまたは共にlowであれば、排他的論理和ゲート(83)はlow信号を出力する。2つのDフリップフロップ(81, 87)が、STICK_COMPARE(80)と STICK_REG(82)の値を一旦比較する際に、各々のビットが排他的論理和ゲート (83)を通過するのを助けるために設けられている。第1のDフリップフロップ(81)は、第2のDフリップフロップ(87)の基準フリップフロップである。第1のDフリップフロップ(81)はpdp_mcu_pio[63]信号からのビットを入力する。第1のDフリップフロップ(81)は、CPUクロック周波数で動作し、miu_stick_cmp_wr_en信号もクロック有効入力として入力する。ソフトウェアがSTICK_COMPARE[63]へ“0”を書き込むときは、Dフリップフロップ (81)へのD入力がlowであるので(後述)、miu_stick_cmp_wr_en信号がアクティブになるたびに、第1のDフリップフロップ(81)へのQの反転出力はhighとなる。これにより、CPUクロック周波数が第1のフリップフロップ(81)を振動させる。第2のDフリップフロップ(87)は、排他的論理和ゲート(83)の出力を、D入力として入力する。第2のDフリップフロップ(87)も、CPUクロック周波数によって振動する。第2のDフリップフロップ(87)へのクロック有効入力は、常にhigh(“1”)であるので、第2のDフリップフロップ(87)は常にCPUクロック周波数によって振動する。第2のDフリップフロップ(87)へのクロックパルスの各々について、パルス後のQの反転出力のビット値は、パルス前のD入力のビットの反転値に等しい。第2のDフリップフロップ(87)のQの反転出力のビット値と、第1のDフリップフロップ(81)のQの反転出力のビット値とは、ANDゲート(85)に入力される。ANDゲート(85)への両方の入力が、STICK_COMPARE(80)とSTICK_REG(82)から送られた全てのビットについてhighであれば、ANDゲート(85)は、stick_alm信号を生成する。要約すると、排他的論理和ゲート(83)への二つの入力の値が等しい場合は、排他的論理和ゲート(83)はlowを出力し、第2のDフリップフロップ(87)は、そのQの反転出力においてhighを出力する。そして、第1のDフリップフロップのQの反転出力(high)に基づいて、ANDゲート(85)は、highビット値をstick_alm信号に生成する。
【0051】
ANDゲート85で生成されるstick_alm信号は、STICK_COMPARE(80)の値がSTICK_REG(82)の値に等しいときに生成される。一旦生成されると、stick_alm信号は、TRAPユニット(84)へ送られる。stick_alm信号を受け取ると、TRAPユニット(84)は、トラップ信号をプロセッサへ生成する。トラップは、オペレーティングシステムにより、イベントスケジューリング、プロセススケジューリング、処理プロセス要求などの管理的なタスクを実行するために用いられる。
【0052】
前述したように、STICK_COMPARE(80)は、64ビットのレジスタである。STICK_COMPARE(80)(STICK_COMPARE[63])の最上位ビットは、stick_alm信号の生成を有効化するか無効化するかを示すために用いられる。ソフトウェアは、STICK_COMPARE[63]へ“1”を書き込むことにより、stick_alm信号の生成を無効化できる。STICK_COMPARE(80)(STICK_COMPARE[62:0])の残りの63ビットは、STICK_REG(82)と比較すべき値を表す。
【0053】
miu_stick_REG_rd_en信号、miu_estar_MODE_rd_en信号、miu_stick_COMPARE_rd_en信号は、読み出し動作を有効化するために、図示しないMIUによってデコードされる信号である。プロセッサが、STICK_COMPARE(80)、STICK_REG(82)、またはESTAR_MODE(78)の中のデータを読む必要が生じた場合、プロセッサは、読むべきレジスタのアドレスをロードし、図示しないMIUがそのアドレスをデコードし、所望のレジスタから対応するデータを選択するデコード信号を、マルチプレクサ(86)を通して供給する。マルチプレクサ(86)は、miu_stick_REG_rd_en信号、miu_estar_MODE_rd_en信号、およびmiu_stick_COMPARE_rd_en信号を選択入力として用い、STICK_COMPARE(80)、STICK_REG(82)、およびESTAR_MODE(78)の値を入力として用いる。例えば、プロセッサが、ESTAR_MODE(78)内のデータを読む必要が生じた場合、miu_estar_MODE_read_en信号が選択され、ESTAR_MODE (78)の値がマルチプレクサ(86)の出力へ送られる。マルチプレクサ(86)からの出力は、 mcu_pdp_pioバスを経由してプロセッサへ到達する。mcu_pdp_pioバスは、プロセッサがレジスタ(78, 80, 82)からデータを読み出すために用いる読み出しバスである。
【0054】
図7は、本発明の一実施形態にかかるPLLユニット(121)の回路を示す。PLL制御は、PLLユニット(121)内の3つの分周器の値を変更するために必要である。 PLLユニット(121)は、PLLユニット(121)の分周器(図示せず)内にロードされた値に基づいて、システムが異なる省電力モードへ移行することを可能とためにある。この実施形態では、PLLユニット(121)内に3つの分周器を設けた。ESTAR_MODE(78)の内容に基づいて、これら3つの分周器には、別個の値がロードされる。この実施形態では、PLLユニット(121)は、図示しない分周値に基づいて、1/1,1/2,1/6省電力モードへ移行する。当業者であれば、500MHzを超える周波数で動作するシステムには、追加の分周器を用いれば良いことが分かるであろう。
【0055】
ソフトウェアがシステムのモードの変更を決定するたびに、当該ソフトウェアはESTAR_MODE(78)に書き込む。図7は、ESTAR_MODE(78)の値によって動作周波数の変化が生じるようにするための選択の仕組みを示す。ESTAR_MODE (78)は、前述したように、システムのモードを表すために2つにビットを用いる。これらのビット、すなわち、ESTAR_MODE[1]およびESTAR_MODE[0]は、2個の異なるDフリップフロップ(120, 122)へ、D入力として、別個に入力される。Dフリップフロップ(120, 122)は、CPUクロック周波数によりそれぞれ振動する。各々のクロックパルスの後で、Dフリップフロップ(120, 122)は、各々のQ出力において、クロックパルスの前のそれぞれのD入力の値を生成する。Dフリップフロップ(120, 122)の出力である、mux_sel[1]およびmux_sel[0]は、ハードコード化パターンを入力するマルチプレクサ124への選択信号となる。ハードコード化パターンは、プロセッサがCPU周波数を下げるために用いる特定の省電力モード値を含む。mux_sel[1]とmux_sel[0]との組み合わせに基づいて、マルチプレクサ(124)は、ESTAR_MODE(78)で指定されたパターンを出力し、特定の省電力モード値を3つのPLL分周器にロードする。全ての省電力モードにおいて、PLL分周器の値のみが変化する。PLLユニット(121)が時間を参照するために用いる電圧制御オシレータは、周波数が全く変わらないので、PLLユニット(121)がそのロックを失うことがない。すなわち、PLLユニット(121)は、他のシステム周波数とは独立したそれ自身の基準時間を持つ。
【0056】
図8は、本発明の一実施形態にかかるソフトウェア要件に関するフローチャートである。この図は、ソフトウェアが、ESTAR_MODE(78)(110)への二つの連続した書き込みの間、少なくともn回のクロックサイクル(112)待たなければならないことを示している。この待ち時間は、前回のモードスイッチから、PLLユニット(121)を安定させるために必要である。n回のCPUクロックサイクルの後(すなわちタイムアウト)にのみ、後のモードを表す新たなモードビットが選択入力としてマルチプレクサ(124)へ送られる。nの値は、工業規格で規定されていないSDRAMを有するシステムの場合、16以上でなければならない。規定されていないSDRAMは、本来、データをラッチするためにCPUクロックを用いるメモリである。
【0057】
本発明の利点は、以下の一つまたはそれ以上を含む。本発明の一つまたはそれ以上の実施形態において、コンピュータシステムは、オペレーティングシステムがシステム管理タスクを実行するために利用する周波数を変更することなく、CPU周波数を低くすることにより、電力を節減することが可能である。オペレーティングシステムは、変化する可能性があるCPUクロック周波数を用いないので、オペレーティングシステムに、イベントスケジューリング、プロセススケジューリング、スレッドスケジューリング、プロセス要求等を処理するための、絶対的な時間基準が供給される。オペレーティングシステムは、CPUが省電力モード周波数の移行を完了させるのを待つ必要がない。従って、オペレーティングシステムについて、CPUクロックサイクルが無駄にならずに済む。当業者にとっては、本発明が、他の利点や特徴を有しても良いことは明らかであろう。
【0058】
本発明を、限られた数の実施形態について説明したが、当業者であれば、ここに開示された本発明の範囲から逸脱することなく、他の実施形態を考え出すことが可能である。従って、本発明の範囲は、添付された請求の範囲にのみ限定されるものではない。
【図面の簡単な説明】
【図1】図1は、典型的な従来技術にかかるコンピュータシステムを示す。
【図2】図2は、本発明の一実施形態にかかる電力管理スキームのブロック図を示す。
【図3】図3は、本発明の一実施形態にかかるプロセスを表すフローチャートを示す。
【図4】図4は、本発明の一実施形態にかかる電力管理スキームのブロック図を示す。
【図5】図5は、本発明の一実施形態にかかるコンピュータサブシステムのハイレベルブロック図を示す。
【図6】図6は、本発明の一実施形態にかかる電力管理システムのローレベルブロック図を示す。
【図7】図7は、本発明の一実施形態にかかるコンピュータサブシステムのブロック図を示す。
【図8】図8は、本発明の一実施形態にかかる電力管理スキームのブロック図を示す。

Claims (20)

  1. コンピュータシステムに対し、当該コンピュータシステムが複数の省電力モードの一つに入るべきことを提示し、
    前記提示がなされた場合、CPUのクロック周波数を、電力を節減するよう変更し、
    前記CPUクロック周波数の変化に関わらず、一定の時間基準信号を生成する、コンピュータシステムにおける節電方法。
  2. 前記提示は、省電力モードレジスタへの複数のビットの書き込みを含み、
    前記CPUクロック周波数の変更は、PLL内の省電力値に基づいて行われ、
    前記方法は、さらに、
    前記省電力モードレジスタの前記複数のビットを用いて、前記提示がなされ、前記CPUクロック周波数を変更する前に、PLL内のどの省電力値を用いるかを決定するステップと、
    用いられる省電力値に応じて前記複数の省電力モードの一つに入るステップとを含む、請求項1に記載の方法。
  3. 前記コンピュータシステムが前記複数の省電力モードの一つに入る前に、メモリユニットへ、前記CPUクロック周波数と独立に動作するよう指示するステップをさらに含む、請求項1に記載の方法。
  4. 前記メモリユニットがSDRAMを含み、
    前記方法が、さらに、
    SDRAMをセルフリフレッシュモードで動作させる複数のビットをメモリコントローラへ書き込むステップと、
    入力されるメモリアクセスに対して前記SDRAMをアクティブにするステップと、
    前記メモリアクセスが完了したときに、前記SDRAMをセルフリフレッシュモードに戻すステップと、
    前記メモリコントローラ内の複数ビットをクリアするステップと、
    前記メモリコントローラ内の複数ビットがクリアされたとき、通常のSDRAM動作を再開するステップとを含む、請求項3に記載の方法。
  5. 前記一定の時間基準信号の生成が、
    CPUクロックにより生成された周波数信号を入力するステップと、
    前記周波数信号を分割して分割周波数信号を生成するステップと、
    前記分割周波数信号を、PCIクロックにより生成される第2の周波数信号に同期させるステップと、
    前記ステップの結果から前記一定の時間基準信号を生成するステップとを含む、請求項1に記載の方法。
  6. 第1データ値を第1レジスタに格納するステップと、
    前記第1データ値を、前記一定の時間基準信号の速さで増加させるステップと、
    第2データ値を第2レジスタに格納するステップと、
    第1データ値と第2データ値とを比較するステップと、
    前記比較結果に基づいて、オペレーティングシステムへの割り込みを選択的に生成するステップとをさらに含む、請求項1に記載の方法。
  7. 前記第1データ値と第2データ値との比較が、CPUクロック周波数の速さで行われ、
    前記方法は、
    前記第1データ値と第2データ値との比較の結果、第1データ値と第2データ値とが等しい場合、オペレーティングシステムへの割り込みを発生させるステップをさらに含む、請求項6に記載の方法。
  8. 前記一定の時間基準信号の速さで、前記オペレーティングシステムに対して複数の割り込みが選択的に生成され、
    前記方法は、
    CPUクロック周波数が変わるときに前記複数の割り込みを選択的に生成するステップをさらに含む、請求項6に記載の方法。
  9. 前記オペレーティングシステムが、オペレーティングシステムタスクを実行するために前記複数の割り込みを使用する、請求項8に記載の方法。
  10. コンピュータシステムに対する、当該コンピュータシステムが複数の省電力モードの一つに入るべきことの提示が、複数の特定されたコンピュータ資源が指定された時間アイドル状態であった場合に発生する、請求項1に記載の方法。
  11. 前記複数の特定コンピュータ資源の動作に応じて前記複数の省電力モードの間でスイッチするステップと、
    前記複数の特定コンピュータ資源がアクティブになったとき、前記コンピュータシステムへ、通常のCPU動作周波数に戻るよう指示するステップとをさらに含む、請求項10に記載の方法。
  12. コンピュータシステムに省電力モードに入るよう指示するソフトウェアと、
    前記ソフトウェアによる指示に従って、CPUクロック周波数を低下させて電力を節減する省電力回路と、
    CPUクロック周波数の変化にかかわらず一定の周波数信号を生成する一定周波数生成部と、
    前記一定の周波数信号を用いて、オペレーティングシステムへの割り込みを選択的に生成するオペレーティングシステムサポートとを備えた、コンピュータシステム用の電力管理システム。
  13. 前記ソフトウェアによる指示は、省電力モードレジスタへの複数のビットの書き込みを含み、
    前記システムはさらに、前記省電力モードレジスタの前記複数のビットを用いて、どの省電力モードに入るかを決定するPLL回路を備えた、請求項12に記載のシステム。
  14. 前記ソフトウェアが、ハードウェアを、現在のモードから所望の省電力モードに順序付ける、請求項12に記載の方法。
  15. 前記一定周波数生成部が、
    CPUクロックより生成された第1の周波数信号を入力し、前記第1の周波数信号を分割することにより、分割された周波数信号を生成する分周器と、
    前記分割された周波数信号とPCIクロックより生成された第2の周波数信号を入力し、前記分割された周波数信号を前記第2の周波数信号と同期させることにより、前記一定周波数信号を生成する周波数同期部とを備えた、請求項12に記載の方法。
  16. 前記オペレーティングシステムサポートが、
    第1のデータ値を持つ第1のレジスタと、
    前記第1のデータ値と前記CPU周波数の速さで比較される第2のデータ値を持つ第2のレジスタとを備え、
    前記第1のレジスタが、前記第1のデータ値を、前記一定周波数信号の速さで増加させる、請求項12に記載のシステム。
  17. 前記第1のデータ値と第2のデータ値との比較が、オペレーティングシステムへの割り込みをいつ発行するかを決定するために用いられる、請求項16に記載のシステム。
  18. 前記PLL回路が、省電力回路の一部を含み、
    前記PLL回路が、複数の省電力モードに対する複数の省電力値を持つ複数の分周器を備えた、請求項13に記載のシステム。
  19. 前記複数の分周器が、前記コンピュータシステムの異なる動作周波数を示す値を持つ、請求項18に記載のシステム。
  20. 前記PLL回路が、前記PLLにおける前記複数の分周器の動作CPU周波数の値に基づいて前記CPUクロック周波数を変化させ、前記動作CPU周波数は、省電力モードレジスタの複数ビットにより決定される、請求項19に記載のシステム。
JP2002538250A 2000-10-27 2001-10-18 オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ Expired - Lifetime JP4482275B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/698,427 US6735707B1 (en) 2000-10-27 2000-10-27 Hardware architecture for a multi-mode power management system using a constant time reference for operating system support
PCT/US2001/032591 WO2002035330A2 (en) 2000-10-27 2001-10-18 Hardware architecture for a multi-mode power management system using a constant time reference for operating system support

Publications (2)

Publication Number Publication Date
JP2004512614A true JP2004512614A (ja) 2004-04-22
JP4482275B2 JP4482275B2 (ja) 2010-06-16

Family

ID=24805192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002538250A Expired - Lifetime JP4482275B2 (ja) 2000-10-27 2001-10-18 オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ

Country Status (5)

Country Link
US (1) US6735707B1 (ja)
EP (1) EP1340136B1 (ja)
JP (1) JP4482275B2 (ja)
AU (1) AU2002213397A1 (ja)
WO (1) WO2002035330A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945669B2 (en) * 2002-10-30 2011-05-17 Emc Corporation Method and apparatus for provisioning storage resources
US7100062B2 (en) * 2003-01-28 2006-08-29 Hewlett-Packard Development Company, L.P. Power management controller and method
US7013400B2 (en) * 2003-04-24 2006-03-14 International Business Machines Corporation Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode
US7308596B1 (en) * 2003-10-30 2007-12-11 Integrated Device Technology, Inc. Controlling a clock divider by selecting a preset value
KR101035077B1 (ko) * 2004-02-20 2011-05-19 삼성전자주식회사 다이나믹 전압 스케일링에 따라 전력 소비 감소가 가능한반도체 시스템
US7409482B2 (en) * 2004-10-26 2008-08-05 Lenovo (Singapore) Pte, Ltd. Computer and method for on-demand network access control
US7239980B2 (en) * 2005-08-30 2007-07-03 International Business Machines Corporation Method and apparatus for adaptive tracing with different processor frequencies
US20070074081A1 (en) * 2005-09-29 2007-03-29 Dewitt Jimmie E Jr Method and apparatus for adjusting profiling rates on systems with variable processor frequencies
US7523282B1 (en) 2005-10-27 2009-04-21 Sun Microsystems, Inc. Clock enable throttling for power savings in a memory subsystem
WO2008084541A1 (ja) * 2007-01-11 2008-07-17 Panasonic Corporation 受信装置及び受信装置の起動制御方法
US8026697B2 (en) * 2007-04-27 2011-09-27 Broadcom Corporation Multi-mode power management unit with shared inductor

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478315A (en) * 1987-09-18 1989-03-23 Pfu Ltd Interval timer controller
JPH04273506A (ja) * 1990-09-28 1992-09-29 Tandem Comput Inc マルチクロック同期プロセッサユニット
JPH05507370A (ja) * 1989-06-30 1993-10-21 ポケット コンピューター コーポレイション コンピュータ電力管理システム
JPH07287699A (ja) * 1994-02-28 1995-10-31 Hitachi Ltd データ処理装置
JPH07306827A (ja) * 1994-05-10 1995-11-21 Intel Corp P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置
JPH08263466A (ja) * 1994-10-19 1996-10-11 Advanced Micro Devicds Inc 集積プロセッサ、集積コンピュータシステムおよびコンピュータシステム
JPH08278827A (ja) * 1994-10-19 1996-10-22 Advanced Micro Devicds Inc クロック制御装置
JPH10214256A (ja) * 1997-01-30 1998-08-11 Oki Electric Ind Co Ltd 並列処理システム
JPH10254587A (ja) * 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
JPH10254827A (ja) * 1997-03-06 1998-09-25 Canon Inc 拡張カードおよび拡張カードのアクセス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH1185335A (ja) * 1997-09-01 1999-03-30 Toshiba Corp コンピュータシステム
JP2000276250A (ja) * 1999-03-19 2000-10-06 Huabang Electronic Co Ltd 万能非同期送受信機用クロック信号生成方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
JP3193039B2 (ja) 1990-11-20 2001-07-30 キヤノン株式会社 電子装置及び情報処理方法
US5319772A (en) 1991-11-14 1994-06-07 Acer Incorporated Method and apparatus for changing the operating clock speed of a computer system
US5987614A (en) * 1997-06-17 1999-11-16 Vadem Distributed power management system and method for computer
US6118306A (en) 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
US6668330B1 (en) * 2000-10-10 2003-12-23 Sun Microsystems, Inc. Constant time reference for OS support in different frequency modes

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478315A (en) * 1987-09-18 1989-03-23 Pfu Ltd Interval timer controller
JPH05507370A (ja) * 1989-06-30 1993-10-21 ポケット コンピューター コーポレイション コンピュータ電力管理システム
JPH04273506A (ja) * 1990-09-28 1992-09-29 Tandem Comput Inc マルチクロック同期プロセッサユニット
JPH07287699A (ja) * 1994-02-28 1995-10-31 Hitachi Ltd データ処理装置
JPH07306827A (ja) * 1994-05-10 1995-11-21 Intel Corp P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置
JPH08263466A (ja) * 1994-10-19 1996-10-11 Advanced Micro Devicds Inc 集積プロセッサ、集積コンピュータシステムおよびコンピュータシステム
JPH08278827A (ja) * 1994-10-19 1996-10-22 Advanced Micro Devicds Inc クロック制御装置
JPH10214256A (ja) * 1997-01-30 1998-08-11 Oki Electric Ind Co Ltd 並列処理システム
JPH10254827A (ja) * 1997-03-06 1998-09-25 Canon Inc 拡張カードおよび拡張カードのアクセス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH10254587A (ja) * 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
JPH1185335A (ja) * 1997-09-01 1999-03-30 Toshiba Corp コンピュータシステム
JP2000276250A (ja) * 1999-03-19 2000-10-06 Huabang Electronic Co Ltd 万能非同期送受信機用クロック信号生成方法

Also Published As

Publication number Publication date
EP1340136A2 (en) 2003-09-03
WO2002035330A2 (en) 2002-05-02
WO2002035330A3 (en) 2003-03-13
AU2002213397A1 (en) 2002-05-06
US6735707B1 (en) 2004-05-11
EP1340136B1 (en) 2018-11-21
WO2002035330A9 (en) 2003-07-03
JP4482275B2 (ja) 2010-06-16

Similar Documents

Publication Publication Date Title
US7321979B2 (en) Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth
US7454632B2 (en) Reducing computing system power through idle synchronization
US5630148A (en) Dynamic processor performance and power management in a computer system
CN1717645B (zh) 用于多线程处理器性能控制的装置和方法
JP3964472B2 (ja) クロック制御装置
KR100358889B1 (ko) 휴대용개인정보기기에적합한집적프로세서시스템
US6754837B1 (en) Programmable stabilization interval for internal stop grant state during which core logic is supplied with clocks and power to minimize stabilization delay
KR100385155B1 (ko) 외부핀신호를다중화하는장치를포함하는집적프로세서
JP2009064456A (ja) 動的電圧制御方法および装置
WO2000065428A1 (en) A method and apparatus to power up an integrated device from a low power state
EP1192525A1 (en) Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices
US7210054B2 (en) Maintaining processor execution during frequency transitioning
US6269043B1 (en) Power conservation system employing a snooze mode
KR20010099606A (ko) 버스 상에 액티비티가 존재하지 않는 동안에 버스 클럭을정지시키기 위한 방법 및 장치
CN110573991B (zh) 架构状态保留
JP4482275B2 (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
US7155631B2 (en) Information processing unit with a clock control circuit having access to the system bus during system clock changes
US6668330B1 (en) Constant time reference for OS support in different frequency modes
JPS6232812B2 (ja)
JPH0215357A (ja) データ処理装置
KR20240018670A (ko) 저전력 상태에서 온-다이 타이머의 정확한 쉐도잉 및 조정

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060720

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061016

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090622

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090625

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090717

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090824

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100202

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: 20100319

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4482275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250