JP4843480B2 - マイクロプロセッサの動作周波数をスケーリングするカウンタを提供するシステム、装置、および方法 - Google Patents

マイクロプロセッサの動作周波数をスケーリングするカウンタを提供するシステム、装置、および方法 Download PDF

Info

Publication number
JP4843480B2
JP4843480B2 JP2006351591A JP2006351591A JP4843480B2 JP 4843480 B2 JP4843480 B2 JP 4843480B2 JP 2006351591 A JP2006351591 A JP 2006351591A JP 2006351591 A JP2006351591 A JP 2006351591A JP 4843480 B2 JP4843480 B2 JP 4843480B2
Authority
JP
Japan
Prior art keywords
circuit
time base
clock signal
circuit portion
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.)
Expired - Fee Related
Application number
JP2006351591A
Other languages
English (en)
Other versions
JP2007200303A (ja
Inventor
ドクター・クレドリック・リヒテナウ
マルティン・レクテンバルド
アンドレアス・シュミット
トーマス・フリューガー
イエンス・クーンツァー
ロルフ・ビー・ヒルゲンドルフ
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
Publication of JP2007200303A publication Critical patent/JP2007200303A/ja
Application granted granted Critical
Publication of JP4843480B2 publication Critical patent/JP4843480B2/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
    • 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
    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/04Apparatus for measuring unknown time intervals by electric means by counting pulses or half-cycles of an ac
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Microcomputers (AREA)

Description

本発明は、マイクロプロセッサを対象とする。具体的には、本発明は、マイクロプロセッサの動作周波数をスケーリングする正確なタイムベースト・カウンタを提供するシステム、装置、および方法を対象とする。
トランジスタの密度および速度のすばやい向上に伴って、チップが消費し得る電力の量が、ますます、チップ設計のクリティカルな判断基準になりつつある。具体的には、テクノロジでの各連続する縮小が、密度の増加をもたらし、チップ・フットプリントの縮小を可能にする。これは、チップがより高い周波数で動作することを可能にする。チップ・フットプリントは、ますます縮小されつつあるので、より少ない電力が、チップ自体を介して消費されつつある。したがって、チップによって消費される電力を減らすのに使用できるどのような方法であっても、性能の向上を引き起こすことができる。
チップの電力消費を減らすのに使用できる方法の1つが、周波数スケーリングである。周波数スケーリングは、チップが、高性能が必要な短い時間スパンの間に最高周波数で動作し、他の時により低い周波数で動作することを可能にする。具体的には、チップの電力消費は、次の式によって表すことができる。
電力=KαC(V)F+QV
ここで、Vは、チップのコア電圧であり、Fは、チップの動作周波数であり、αは、チップのアクティビティ・ファクタ(activity factor)であり、Cは、チップの実効キャパシタンス、KおよびQは、他の要因の中でも製造プロセスに依存する定数である。この式から、チップの動作周波数が、その電力消費に直接に比例することがわかる。したがって、周波数の減少は、それに対応する電力消費の減少につながる。
チップの動作周波数を上下にスケーリングすべきか否かを判定するために、ある経過時間にわたってチップ内で発生する平均アクティビティを計算する必要がある。その経過時間にわたるチップ内のアクティビティが高い場合に、チップをより高い周波数で動作させることができる。その一方で、チップ内のアクティビティが低い場合には、チップをより低い周波数で動作させることができる。
コンピュータ・システム内では、タイムベースト・カウンタを使用して、経過時間を測定する。明らかに、このカウンタは、一定の速度で増分しなければならない。この速度は、通常、周波数クロックから導出される。より具体的には、このカウンタが増分する速度は、コア周波数クロックの1/n(nは整数)(内部タイムベースト・カウンタの場合)とする、または、たとえばPowerPC Architecture Book IIIに記載のように、システムによって供給される外部クロック信号の立ち上がりエッジによって決定する(外部タイムベースト・カウンタの場合)のいずれかとすることができる。
図1は、既知の回路構成によるタイムベースト・カウンタの例示的な図である。図1に示されているように、この回路構成に、外部タイムベース部分110、内部タイムベース部分120、およびタイムベース値生成部分130が含まれる。外部タイムベース部分110に、タイムベース(tbase)入力ピン112およびエッジ検出回路114が含まれる。図1に示された回路内で使用されるすべての回路要素が、内部クロック信号またはコア・クロック信号によってクロッキングされる、すなわち、コア周波数クロック・ドメイン180内にある。
外部タイムベース部分110は、外部デバイスが、タイムベース入力ピン112を介してタイムベースト・カウンタにクロッキング信号を供給することを可能にする。外部タイムベース部分110のエッジ検出回路114は、外部タイムベース信号の立ち上がりエッジが検出されるたびに、外部タイムベース信号から「ティック(tick)」すなわち、タイムベース値の1つ分の増分を生成する。内部タイムベース部分120は、8つの内部クロック・サイクルまたはコア・クロック・サイクルおきに1つのティックを生成する、モジュロ8(または他の任意の個数のサイクル)カウンタである。内部タイムベース部分120に、インクリメンタ122、ラッチ124、およびコンパレータ126が含まれる。
外部タイムベース部分110および内部タイムベース部分120からの出力は、マルチプレクサ140に供給される。PowerPCアーキテクチャでは、システムが内部タイムベースまたは外部タイムベースを使用する場合を選択するアーキテクテッド・レジスタ(architected register)が設けられる。この選択に基づいて、対応する外部タイムベース部分110または内部タイムベース部分120が、マルチプレクサ140を介して選択されて、ティックを生成する。
タイムベース値生成部分130に、インクリメンタ132およびラッチ134が含まれる。インクリメンタ132は、マルチプレクサ140からの入力に応答して出力タイムベース値を増分する。タイムベース値生成部分130のインクリメンタ132は、受け取るティックごとに1つずつタイムベース値を増分する。結果のタイムベース値は、マイクロプロセッサの動作周波数を上下にスケーリングするかどうかを判定するのに使用することのできる、周波数独立時間期間に行われた作業の量を測定するためなど、経過時間を測定するのにマイクロプロセッサによって使用される出力である。
周波数スケーリング中に経過時間を測定するのに外部タイムベースまたは内部タイムベースのいずれかを使用することは、不正確な結果につながる場合がある。たとえば、内部タイムベースト・カウンタが使用される場合に、このカウンタは、より低いコア・クロック周波数ではより低速に、より高いコア・クロック周波数ではより高速にカウントする。したがって、タイムベースト・カウンタ回路100が、一定の速度で増分しなくなる。
さらに、コア周波数は、最大電力削減のために非常に低い値にスケーリングされる場合がある。この周波数値は、正確な時間測定のためにシステム内で必要なタイムベース増加周波数(timebase increased frequency)より小さくなる場合がある。この場合に、タイムベース値生成部分130は、内部タイムベースが選択された場合に、内部タイムベース部分120が、コア・クロックが遅すぎることに起因して正確にティックを生成できないので、不正確になる。その代わりに、外部タイムベースが選択される場合に、外部タイムベース部分110は、タイムベース入力ピン112の信号のエッジを検出するのに使用されるコア周波数がタイムベース入力ピン112の信号自体より遅いので、タイムベース入力ピン112の信号の立ち上がりエッジのうちのいくつかを検出できなくなる。これが、やはり、タイムベース値生成部分130の不正確さにつながる。
1つの自明な解決策は、固定周波数クロックを使用することである。図2は、既知の回路構成による、固定周波数クロックを使用するタイムベースト・カウンタの図である。図2に示されているように、固定周波数クロックを、クロック生成部分210内の位相ロック・ループ(PLL)212から直接に導出することができる。PLLは、発振器を制御し、その結果、この発振器が基準信号の周波数に対して一定の位相角を維持する(すなわち、ロックする)ようにする電子回路である。
図2に示された回路では、クロック生成部分210に、PLL 212、分周器214、およびマルチプレクサ216が含まれ、マルチプレクサ216は、PLL 212の固定周波数クロック信号出力と、分周器214によって出力される、PLL 212の分周された出力またはスケール・ダウンされた出力との間で選択する。周波数選択信号(freq_sel)は、この2つの出力の間で選択するのに使用され、ここで選択された出力が、スケーラブル・コア周波数クロック220として供給される。
周波数選択信号は、内部タイムベース部分内のマルチプレクサ230にも供給されて、8サイクル入力信号とスケール・ダウンされた8サイクル入力信号すなわち、8/nとの間で選択する。このようにして、スケーラブル・コア周波数クロックがスケール・ダウンされる場合に、サイクル数も、内部タイムベース値の生成について同一の量だけスケール・ダウンされる。言い換えると、クロック周波数が、freq_sel信号を介してスケーリングされ、たとえば半分にされるときに、内部タイムベース・カウンタの最大値も、その変更を反映するために半分にされる。
図示の例では、外部タイムベース部分110のエッジ検出回路114が、PLL 212によって生成される固定周波数で動作し、これは、タイムベース入力ピン112を介して受け取られる外部タイムベース・クロック信号より高い周波数である。したがって、外部タイムベース・クロック信号の立ち上がりエッジを、正しくサンプリングすることができる。しかし、コア・クロック周波数が、外部タイムベース部分110のティック周波数より低くなった場合に、エッジ検出回路114によって作られるティックのうちのいくつかが、コア周波数クロック・ドメイン180内で失われ、加算されるべきタイムベース値に加算されなくなるという点で、問題が生じる。
上で説明した内部タイムベース技法が使用される場合に、モジュロ・カウンタを変更して、コア・クロック周波数を半分にするときに、最大値の一部、たとえば半分だけをカウントする、たとえば、図示の例では8ではなく4にすることができる。これは、ティックの一定の周波数での生成を引き起こす。しかし、このオプションには、2つの主な制限がある。第1に、モジュロ・カウンタの最大値より大きい倍率、たとえば8倍に、周波数をスケーリングすることができない。第2に、たとえばコア・クロック周波数およびチップ製造パラメータに依存して、0コア・クロック・サイクルと3コア・クロック・サイクルとの間で変化する可能性があるクロック・メッシュのアナログ遅延の原因により、内部タイムベースのマルチプレクサ230と正確に同時にコア・クロック周波数を変更することは不可能である。したがって、マイクロプロセッサが、マイクロプロセッサの電力消費を減らすのに望ましいように、通常動作中に複数の周波数スケーリング動作を実行する場合に、1つまたは複数のティックが、最終的に時間とともに失われる。
言い換えると、プロセッサ周波数が低く、アナログ・メッシュ遅延が1サイクル未満であり、内部タイムベースが0のときに周波数スケーリングが行われる場合には、ティックは失われないはずである。しかし、プロセッサが非常に高い周波数で動作している場合に、図2でアナログ・メッシュ遅延として表されている、クロック・メッシュ上のアナログ遅延は、1つまたは複数のクロック・サイクルを超える。したがって、内部タイムベースが0のときにfreq_sel信号を切り替えることは、メッシュ上のクロックが効果的に1つまたは複数のサイクルだけ後に低速化することをもたらし、したがって、タイムベース・カウンタは、正しくカウントしなくなる。高性能マイクロプロセッサでの限界ぎりぎりの電力管理では、クロック・メッシュ周波数も、外部タイムベース更新レート未満に下げられる。その結果、コアは、そのタイムベース値を十分高速に増分することができず、上の前の例と同様に、この回路が「ティック」を失う場合がある。
PowerPC Architecture Book III
この発明の目的は、マイクロプロセッサの動作周波数をスケーリングするための正確なタイムベースト・カウンタを提供するシステム、装置、および方法を提供することにある。
本システム、装置、および方法は、固定周波数クロックが、マイクロプロセッサのクロック生成回路のPLLから導出され、外部タイムベース・ロジックおよび内部タイムベース・ロジックならびにタイムベース・アキュムレータ・カウンタに供給するのに使用される、タイムベースト・カウンタ回路構成を利用する。タイムベース・アキュムレータ・カウンタは、2つのコア・クロックの間にタイムベース・ロジックからのティック・イベントを累算する。累算された値は、スケーラブル・クロックのすべてのクロック・エッジにコア・クロック・ドメインに転送され、アキュムレータは、その後にリセットされる。累算されたティックが、アキュムレータがリセットされる前にコア・クロック・ドメインに転送されるので、ティックは、例示的実施形態の回路を使用すれば絶対に失われない。
この回路の内部タイムベース部分に関して、ティックすなわち、タイムベース値の1つ分の増分は、クロック生成回路の位相ロック・ループ(PLL)によって生成される固定周波数クロック信号の所定の個数のサイクルおきに、たとえば8サイクルおきに、タイムベース・アキュムレータに送られる。アキュムレータは、この回路の内部タイムベース部分からティックを受け取ることに応答して増分する。
この回路のタイムベース値生成部分では、リセット信号が、スケーラブル・コア周波数クロックのサイクルごとにトリガされる。スケーラブル・コア周波数クロックの遷移すなわち立ち上がりエッジまたは立ち下がりエッジが、タイムベース・アキュムレータ内のエッジ検出器によって検出されるときに、現在のアキュムレータ値が、スケーラブル・コア・クロック・ドメインにコピーされ、そこにある現在のタイムベース値に加算される。それと同時に、アキュムレータ値が、リセットされ、新しいティックを累算する準備ができる。
ここで例として示す実施形態の機構は、既知の回路配置で経験される失われるティックの問題を解決するものである。この実施形態の機構は、この解決策を提供するためにごくわずかなロジックを追加し、コア内、固定クロック・ドメイン内、およびタイムベース入力ピン上のクロック周波数に非常に独立なタイムベース・ロジックの包括的アーキテクチャを作成する。
1つの例の実施形態では、固定周波数クロック信号によって駆動される第1回路部分と、前記第1回路部分に結合され、スケーラブル周波数コア・クロック信号によって駆動される第2回路部分とを含む回路が提供される。前記第1回路部分は、前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算することができ、前記スケーラブル周波数コア・クロック信号に基づいて前記第2回路部分にティックの前記累算された合計を供給することができる。
前記第1回路部分は、前記固定周波数クロック信号によって駆動され、ティックの前記合計を累算するタイムベース・アキュムレータを含むことができる。前記タイムベース・アキュムレータは、前記スケーラブル周波数コア・クロック信号に基づいて、前記第2回路部分から送られるリセット信号のエッジを検出するエッジ検出回路要素を含むことができる。ティックの前記累算された合計は、前記リセット信号の前記エッジの検出に応答して前記第2回路部分に供給されることができる。
前記第1回路部分は、前記固定周波数クロック信号によって駆動される前記内部タイムベース・カウンタを含むことができる。前記内部タイムベース・カウンタは、前記固定周波数クロック信号のサイクルの所定の個数おきに1つのティックを生成することができる。
前記第1回路部分は、タイムベース信号入力ピンと、前記タイムベース信号入力ピンを介して受け取られたタイムベース入力信号のエッジを検出するエッジ検出回路要素とを含む外部タイムベース回路を含むことができる。前記エッジ検出回路要素は、前記タイムベース入力信号の立ち上がりエッジの検出に応答してティックを生成することができる。
前記第2回路部分は、第1入力として前記第1回路部分からティックの前記累算された合計を受け取り、第2入力として前記第2回路部分に保管されたタイムベース値の現在の値を受け取る加算器を含むことができる。前記加算器は、更新されたタイムベース値を出力することができる。前記更新されたタイムベース値は、時間ベースの動作を実行するためのマイクロプロセッサによる使用のために前記第2回路部分によって出力されることができる。
前記回路は、マイクロプロセッサの一部とすることができる。前記マイクロプロセッサは、玩具、ゲーム・マシン、ゲーム・コンソール、ハンドヘルド・コンピューティング・デバイス、携帯情報端末、通信デバイス、無線電話機、ラップトップ・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス、またはサーバ・コンピューティング・デバイスのうちの1つの一部とすることができる。
もう1つの例示的実施形態では、時間ベースの動作を実行する際に使用されるタイムベース値を判定する方法が提供される。前記方法は、固定周波数クロック信号を生成することと、スケーラブル周波数コア・クロック信号を生成することと、前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算することとを含むことができる。前記方法は、さらに、更新されたタイムベース値を生成するために、前記スケーラブル周波数コア・クロック信号に基づいて、以前に保管されたタイムベース値にティックの前記累算された合計を加算することと、時間ベースの動作を実行するためのマイクロプロセッサによる使用のために前記更新されたタイムベース値を出力することとを含むことができる。
ティックの合計を累算することは、前記固定周波数クロック信号によって駆動され、ティックの前記合計を累算するタイムベース・アキュムレータを使用することを含むことができる。前記タイムベース・アキュムレータは、前記スケーラブル周波数コア・クロック信号に基づいて、前記第2回路部分から送られるリセット信号のエッジを検出するエッジ検出回路要素を含むことができる。ティックの前記累算された合計は、前記リセット信号の前記エッジの検出に応答して前記保管されたタイムベース値に加算されることができる。
第1回路部分は、前記固定周波数クロック信号によって駆動される前記内部タイムベース・カウンタを含むことができる。前記内部タイムベース・カウンタは、前記固定周波数クロック信号のサイクルの所定の個数おきに1つのティックを生成することができる。
前記第1回路部分は、タイムベース信号入力ピンと、前記タイムベース信号入力ピンを介して受け取られたタイムベース入力信号のエッジを検出するエッジ検出回路要素とを含むことができる。前記エッジ検出回路要素は、前記タイムベース入力信号の立ち上がりエッジの検出に応答してティックを生成することができる。
前記累算された合計を加算することは、第1入力としてティックの前記累算された合計を受け取り、第2入力としてタイムベース値の現在の値を受け取る加算器を使用することを含みむことができる。前記加算器は、前記更新されたタイムベース値を出力することができる。
前記データ処理デバイスは、マイクロプロセッサの一部とすることができる。前記マイクロプロセッサは、玩具、ゲーム・マシン、ゲーム・コンソール、ハンドヘルド・コンピューティング・デバイス、携帯情報端末、通信デバイス、無線電話機、ラップトップ・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス、またはサーバ・コンピューティング・デバイスのうちの1つの一部とすることができる。
さらに別の例の実施形態では、回路を設ける方法が提供される。この方法は、固定周波数クロック信号によって駆動される第1回路部分を設けることと、前記第1回路部分に結合され、スケーラブル周波数コア・クロック信号によって駆動される第2回路部分を設けることとを含むことができる。前記第1回路部分は、前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算することができ、前記スケーラブル周波数コア・クロック信号に基づいて前記第2回路部分にティックの前記累算された合計を供給することができる。
本発明の上記および他の特徴および利点は、本発明の例として示す、いくつかの実施形態の次の詳細な説明で説明され、あるいは、その説明に鑑みて当業者に明らかになるであろう。
本発明に特有と思われる新規の特徴を、添付の特許請求の範囲に示す。しかし、本発明自体ならびにその使用の好ましい態様、さらなる目的、および利点は、添付図面と共に読まれるときの例示的実施形態の次の詳細な説明への参照によって最もよく理解されるであろう。
上で述べたように、例として示す実施形態は、マイクロプロセッサの動作周波数をスケーリングするための正確なタイムベースト・カウンタを提供する機構を提供する。例示的実施形態の機構を、動作周波数を切り替えることのできるすべてのマイクロプロセッサに一体化することができるものである。そのようなマイクロプロセッサの1例が、米国ニューヨーク州アーモンクのInternational Business Machines, Inc.社から入手できるPowerPC970FXマイクロプロセッサである。図3は、例示的実施形態の例示的諸態様を実施できるマイクロプロセッサの例示的なブロック図である。図3は、例として示されており、この実施形態を実施できるマイクロプロセッサ・アーキテクチャのタイプに関する限定を述べ、または示唆するものではないことに留意されたい。
図面を参照すると、図3は、この実施形態のタイムベースト・カウンタ回路構成を実施できるマイクロプロセッサの例示的なブロック図である。図3に示されているように、マイクロプロセッサ300に、実行コア310およびフロント・エンド320が含まれ、フロント・エンド320は、命令フェッチ・ユニット322と、命令キュー・ユニットと、デコード、クラック、およびグループ・ユニット324と、分岐ユニット326とを有する。命令を、L1命令キャッシュ330からフェッチし、分岐ユニット326によって提供される情報に従って命令キューにキューイングすることができる。その後、命令を、実行コア310にディスパッチすることができる。
実行コア310に、ベクトル処理ユニット340、浮動小数点実行ユニット342、第1整数実行ユニット344、ロード−ストア実行ユニット346、第2整数ユニット348、条件レジスタ・ユニット350、および分岐実行ユニット352が含まれる。ベクトル処理ユニット340は、たとえばSIMD実行ユニットとすることができる。フロント・エンド320からディスパッチされた命令を実行するときのこれらのさまざまな要素の動作は、当技術分野で一般に既知であり、詳細な説明は、本明細書では示さない。本発明の好ましい実施形態に関して、時間を測定するのに使用される例示的実施形態のタイムベース・カウンタの値は、たとえば第2整数ユニット348内に置かれる特殊レジスタへのアクセスを介して(たとえば、mfspr命令を介して)読み取られる。
例示的実施形態は、マイクロプロセッサ300の要素が動作するクロッキング周波数をスケーリングする際に使用される正確なタイムベースト・カウンタを提供する機構を提供する。そのようなスケーリングは、低い使用率または使用なしの期間中の電力消費を節約するために、より低い周波数へのクロッキング周波数の切替をサポートするマイクロプロセッサ設計で特に有用である。上で述べたように、そのような設計では、タイムベースト・カウンタを提供する既知の機構は、「ティック」またはタイムベースト・カウンタの増分がクロック周波数の切替に起因して失われる問題をこうむる。失われるティックは、タイムベースト・カウンタのタイムベース値を増分しなければならなかったが、なんらかの理由でそうしなかったティックである。例示的実施形態の機構は、クロッキング周波数が切り替えられるときであってもティックが失われない改善されたタイムベースト・カウンタを提供することによって、この問題を解決する。
本システム、装置、および方法は、固定周波数クロックが、マイクロプロセッサのクロック生成回路のPLLから導出され、外部タイムベース・ロジックおよび内部タイムベース・ロジックならびにタイムベース・アキュムレータ・カウンタに供給するのに使用される、タイムベースト・カウンタ回路構成を利用する。タイムベース・アキュムレータ・カウンタは、2つのコア・クロックの間にタイムベース・ロジックからのティック・イベントを累算する。累算された値は、スケーラブル・クロックのすべてのクロック・エッジにコア・クロック・ドメインに転送され、アキュムレータは、その後にリセットされる。累算されたティックが、アキュムレータがリセットされる前にコア・クロック・ドメインに転送されるので、ティックは、例示的実施形態の回路を使用すれば絶対に失われない。
図4は、1つの実施形態に従う回路構成の例示的なブロック図である。図4からわかるように、回路構成400は、図2に示された回路構成に似ているが、タイムベース・アキュムレータ部分430と、タイムベース値ジェネレータ部分450内のラッチ452、加算器454、ラッチ458、およびインバータ459とが追加されている。図からわかるように、クロック生成回路460内のPLL 462によって生成される固定クロック周波数が、外部タイムベース・カウンタ部分410のエッジ検出器414を使用してタイムベース入力ピン412の外部タイムベース信号の立ち上がりエッジをサンプリングするのに使用される。これと同一の固定クロック周波数が、内部タイムベース・カウンタ部分420に供給するのに使用される。図示の例では、固定クロック周波数が、タイムベース入力ピン412でサンプリングされる外部タイムベース信号の周波数より高い周波数を有する。
回路構成400の内部タイムベース・カウンタ部分420に関して、ティックは、クロック生成回路460のPLL 462によって生成される固定周波数クロック信号の所定のサイクル数おきに、たとえば8サイクルおきに、タイムベース・アキュムレータ部分430に送られる。内部タイムベース・カウンタ部分420は、クロック生成回路460のPLL 462からの固定周波数クロックの受取に応答して増分する。この固定周波数クロックは、コア・クロック周波数と独立に選択することができ、したがって、内部タイムベース・カウンタ部分420は、コア・クロック周波数と独立で外部タイムベース信号を正しくサンプリングするのに十分な固定周波数でタイムベース・アキュムレータ部分430に累算されるティックを生成することができる。これによって、正確であり、クロック周波数の切替に起因してティックを失うことのないタイムベースが保証される。
タイムベース・アキュムレータ部分430は、内部タイムベース・カウンタ部分420によって生成されたティックを累算する。タイムベース・アキュムレータ部分430と内部タイムベース・カウンタ部分420の両方が、固定周波数クロック・ドメイン480内にあり、したがって、PLL 462からの固定周波数クロックに起因する固定周波数で動作する。タイムベース・アキュムレータ部分430は、累算された値がコア・クロック周波数ドメイン490内のタイムベース値ジェネレータ部分450に安全に転送されるまで、マルチプレクサ440でのセッティングに基づく内部タイムベース・カウンタ部分420または外部タイムベース・カウンタ部分410のいずれかからのTAinc信号に基づいて、ラッチ434にティックを累算する。タイムベース・アキュムレータ部分430内の累算された値が、ラッチ434からタイムベース値ジェネレータ部分450のラッチ452にTaval信号によって転送されるときに、タイムベース値ジェネレータ部分450は、累算された値を、加算器454を介して、タイムベース値ジェネレータ部分450のラッチ456に以前に保管された値に加算する。したがって、タイムベース値ジェネレータ部分450によって生成され、出力されるタイムベース値は、タイムベース・アキュムレータ部分430によって累算されたティック数に応じて、1つまたは複数だけ増分される場合がある。
スケーリングされたコア周波数クロックの遷移すなわち立ち上がりエッジまたは立ち下がりエッジが、タイムベース・アキュムレータ部分430のエッジ検出器436によって検出されるときに、ラッチ434に保管された現在のアキュムレータ値が、スケーラブルなコア・クロック周波数ドメイン490のラッチ452にコピーされ、加算器454を使用して、ラッチ456内の現在のタイムベース値に加算される。同時に、回路構成400のタイムベース値ジェネレータ部分450内で、リセット信号すなわちTArst信号が、ラッチ458およびインバータ459によって、スケーリングされたコア周波数クロックの検出された遷移に応答してトグルされる。このリセット信号は、ラッチ458内で生成され、同一サイクルにラッチ434をリセットするためにエッジ検出器436内で使用される。
図4に示された回路によって提供される解決策は、すべての任意に選択されたコア・クロック周波数について働く。固定周波数クロックを、コア・クロック周波数と独立に選択し、セットすることができ、その結果、外部タイムベース信号をタイムベース入力ピン412で正しくサンプリングできるようになるので、回路構成400は、正確でティックを失わないタイムベースを保証する。さらに、タイムベース値ジェネレータ部分450によって生成されるタイムベース値を、スケーリングされたコア・クロック周波数に基づいて更新できるので、このタイムベース値に、マイクロプロセッサが、高性能マイクロプロセッサによって一般に要求されるように、高速な形で、スケーリングされたコア・クロック周波数によって決定される周波数で、アクセスすることができる。
図5は、1つの例の実施形態による、図4に示された回路構成の動作を示すタイミング図である。固定クロック周波数510は、内部タイムベース・カウンタ部分420を使用してティックを生成することまたは外部タイムベース信号をサンプリングすることのいずれかに使用される。前に述べたように、例としてのPowerPCアーキテクチャでは、システムが内部タイムベースまたは外部タイムベースを使用する場合を選択するアーキテクテッド・レジスタが設けられる。このセッティングが、マルチプレクサ440を制御する。しかし、本発明が、そのようなアーキテクチャに限定されず、本発明の趣旨および範囲から逸脱せずに、特定の実施態様に応じて、さまざまな外部タイムベース生成方式または内部タイムベース生成方式を本発明の機構と共に使用することができることに留意されたい。
マルチプレクサ440によるなど、ティックが検出されるたびに、TAinc信号520が、1サイクルの間だけパルスを送られる。すべてのTAincパルスで、アキュムレータ・カウンタ信号値すなわちTAval 530が、1つだけ増分される。スケーラブル・クロック周波数540で動作するタイムベース値ジェネレータ部分450内のタイムベース・ロジックは、最終的に、現在のTAval 530の値を転送し、TArst信号550をセットして、固定クロック周波数510で動作するロジックに通知する。固定周波数クロック・ロジック、たとえばエッジ検出器436は、reset信号560を生成して、アキュムレータ・カウント値、たとえばラッチ434に保管された値を初期値、たとえば0にリセットする。
タイムベース入力ピン412を介して入力される外部タイムベース信号の最高周波数は、固定周波数クロックで動作する、立ち上がりエッジを検出するエッジ検出器414によって決定される。非同期信号である外部タイムベース入力信号は、2つのラッチとその後の3つのラッチからなるデバウンシング・ロジック(図示せず)を通過して、論理「1」が検出され、グリッチがフィルタリングされる。追加のラッチを使用して、エッジ変化を検出することができる。これから、固定周波数クロックに対する最低タイムベース入力信号周波数の比を、次のように述べることができる。
最小Tbase−固定周波数クロック比:(3(論理「1」検出)×2(2つの半期間)=1:6
1つの例示的実施形態で、加算器454の実施態様によって、この加算器が、フル・コア・クロック周波数の1/nで動作するときに8/nサイクルおきにのみ加算できるという要件を導入することができる。ワースト・ケースすなわちn=1について、この加算器は、8サイクルを必要とし、したがって、上の比を1:8に制限しなければならない。しかし、これは、簡単に満足することができる。というのは、外部タイムベース信号が、通常は約133MHzの周波数を有し、PLL 462が、通常は約1GHzのコア・クロック周波数を送るからである。
例示的実施形態では、固定周波数クロックとスケーラブル・コア周波数クロックとの間の最大比を、次の条件によって制限することができる。まず、固定周波数クロックは、エッジ検出器414の正しい動作を保証するために、少なくともスケーラブル・コア周波数クロックと同等の速さである必要があるものとすることができる。第2に、コア・クロック周波数が固定クロック周波数と比較したときに遅いほど、アキュムレータをより幅広くしなければならない。
第1の条件は、簡単に満足することができる。というのは、PLLによって送られるコア・クロック周波数を、固定周波数クロックとして使用することができるからである。タイムベース・アキュムレータ増分と固定周波数クロックとの間の8:1の最大比を与えられれば、タイムベース・アキュムレータの幅は、次の式を用いて計算することができる。
アキュムレータ幅=ceil(ln 2(固定周波数クロック−スケーラブル周波数クロック−比×2+1))
たとえば、PowerPC970+マイクロプロセッサは、64:1の最大クロック・スケーリング比をサポートする。例示的実施形態の回路構成を実施するときに、PowerPC970+マイクロプロセッサは、タイムベース・アキュムレータとして使用される8ビット・カウンタを必要とするはずである。
図6は、1つの例示的実施形態によるタイムベースト・カウンタの例示的動作の概要を示す流れ図である。図6に、ステップの特定の順序が示されているが、本発明が、図6のステップが実行される特定の順序に限定されないことを諒解されたい。逆に、図6のステップの多くを、本発明の趣旨および範囲から逸脱せずに、異なる順序で、あるいは実質的に同時に実行することができる。
図6からわかるように、この動作は、クロック生成回路が固定周波数クロック信号を生成することによって開始される(ステップ610)。外部タイムベース回路のエッジ検出器によって外部タイムベース信号をサンプリングするか、固定周波数クロック信号に基づいて内部タイムベース・カウンタを増分する(どちらが行われるかは、特定の実施態様に依存する)(ステップ620)。外部時間基準信号のサンプリングまたは内部タイムベース・カウンタの増分に基づいて、ティックを生成し、タイムベース・アキュムレータに送る(ステップ630)。
タイムベース・アキュムレータが、以前に保管された累算されたティック値にティックを加算する(ステップ640)。タイムベース・アキュムレータが、累算されたティック値をタイムベース値ジェネレータ回路に転送すべきかどうかを判定する(ステップ650)。前に説明したように、この判定には、スケーラブル・コア・クロック信号のエッジ遷移すなわち立ち上がりエッジまたは立ち下がりエッジの検出を用いることができる。しかし、これは、1つの可能な実施態様にすぎず、本発明は、リセット信号のトグルに限定されない。
累算されたティック値をタイムベース値ジェネレータ回路に転送する場合には、その値を、タイムベース値ジェネレータ回路にコピーする(ステップ660)。次に、タイムベース・アキュムレータ内で、累算されたティック値をリセットする(ステップ670)。
タイムベース値ジェネレータは、累算されたティック値を以前に保管されたタイムベース値に加算し(ステップ680)、マイクロプロセッサによる使用のために、更新されたタイムベース値を出力する(ステップ690)。その後、動作が終了する。マイクロプロセッサが動作している間に、この動作を継続的に繰り返すことができることに留意されたい。
したがって、この例の実施形態は、既知の回路構成によって経験されるティックの遺失の問題を解決する回路構成を提供する。この例の実施形態の回路を用いると、回路の第1部分が、固定周波数クロックに基づいて動作し、固定周波数でティックを累算するのに使用される。回路の第2部分では、タイムベース値が、スケーラブル・コア・クロック周波数に基づいて生成され、スケーラブル・コア・クロック周波数によって決定される周波数で、回路の第1部分の累算されたティックを使用して更新される。その結果、ティックは、失われず、スケーラブル・コア・クロック周波数で動作するマイクロプロセッサは、マイクロプロセッサによって望まれる周波数で正しいタイムベース値にアクセスすることができる。
上で説明した回路は、集積回路チップの設計の一部とすることができる。チップ設計は、グラフィカル・コンピュータ・プログラミング言語で作成され、コンピュータ記憶媒体(ディスク、テープ、物理ハード・ドライブ、またはストレージ・アクセス・ネットワークなどの仮想ハード・ドライブなど)に保管される。設計者が、チップを製造しないか、チップ製造に使用されるフォトリソグラフィ・マスクを製造しない場合に、その設計者は、物理的手段によって(たとえば、設計を保管した記憶媒体のコピーを提供することによって)または電子的に(たとえば、インターネットを介して)、結果の設計を直接にまたは間接にそのような実体に送ることができる。保管された設計は、その後、フォトリソグラフィ・マスクの製造に適当なフォーマット(たとえば、GDSII)に変換され、このマスクには、通常、ウェハ上に形成される当のチップ設計の複数のコピーが含まれる。フォトリソグラフィ・マスクは、エッチングされまたは他の形で処理されるウェハの区域(またはその上のレイヤあるいはその両方)を画定するのに利用される。
結果の集積回路チップは、粗ウェハの形で(すなわち、複数の未パッケージングのチップを有する単一のウェハとして)、むき出しのダイとして、またはパッケージ化された形で、製造者によって配布することができる。後者の場合に、このチップは、シングル・チップ・パッケージ(マザーボードまたは他の上位レベル・キャリアに固定されるリードを有するプラスチック・キャリアなど)またはマルチチップ・パッケージ(表面相互接続または埋め込み相互接続の一方または両方を有するセラミック・キャリアなど)に取り付けられる。どの場合でも、チップは、(a)マザーボードなどの中間製品または(b)最終製品のいずれかの一部として、他のチップ、ディスクリート回路要素、または他の信号処理デバイスあるいはこれらの組合せと一体化される。
最終製品は、玩具および他のローエンド・アプリケーションから、ディスプレイ、キーボードまたは他の入力デバイス、および中央プロセッサを有する高度なコンピュータ製品までの範囲にわたる、集積回路チップを含むすべての製品とすることができる。さらに、集積回路チップを設けることのできる最終製品に、ゲーム・マシン(game machine)、ゲーム・コンソール(game console)、ハンドヘルド・コンピューティング・デバイス、携帯情報端末、無線電話機および類似物などの通信デバイス、ラップトップ・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、またはすべての他のコンピューティング・デバイスを含めることができる。
本発明の説明は、例示および説明のために提示されたものであり、網羅的であること、または開示された形態の発明に限定することを意図されたものではない。多数の修正形態および変形形態が、当業者に明らかであろう。ここに示す実施形態は、本発明および実用的応用例の原理を最もよく説明するために、および当業者が企図される特定の使用に適するさまざま変更を伴うさまざまな実施形態のために本発明を理解することを可能にするために選択され、説明されたものである。
既知の回路構成によるタイムベースト・カウンタを示す例示的な図である。 既知の回路構成による、固定周波数クロックを使用するタイムベースト・カウンタを示す図である。 例示的実施形態のタイムベースト・カウンタ回路構成を実施できるマイクロプロセッサを示す例示的なブロック図である。 1つの例示的実施形態による回路構成を示す例示的なブロック図である。 1つの例示的実施形態による、図4に示された回路構成の動作を示すタイミング図である。 1つの例示的実施形態によるタイムベースト・カウンタの例示的動作の概要を示す流れ図である。
符号の説明
100 タイムベースト・カウンタ回路
110 外部タイムベース部分
112 タイムベース(tbase)入力ピン
114 エッジ検出回路
120 内部タイムベース部分
122 インクリメンタ
124 ラッチ
126 コンパレータ
130 タイムベース値生成部分
132 インクリメンタ
134 ラッチ
140 マルチプレクサ
180 コア周波数クロック・ドメイン
210 クロック生成部分
212 位相ロック・ループ(PLL)
214 分周器
216 マルチプレクサ
220 スケーラブル・コア周波数クロック
230 マルチプレクサ
300 マイクロプロセッサ
310 実行コア
320 フロント・エンド
322 命令フェッチ・ユニット
324 デコード、クラック、およびグループ・ユニット
326 分岐ユニット
330 L1命令キャッシュ
340 ベクトル処理ユニット
342 浮動小数点実行ユニット
344 第1整数実行ユニット
346 ロード−ストア実行ユニット
348 第2整数ユニット
350 条件レジスタ・ユニット
352 分岐実行ユニット
400 回路構成
410 外部タイムベース・カウンタ部分
412 タイムベース入力ピン
414 エッジ検出器
420 内部タイムベース・カウンタ部分
430 タイムベース・アキュムレータ部分
434 ラッチ
436 エッジ検出器
440 マルチプレクサ
450 タイムベース値ジェネレータ部分
452 ラッチ
454 加算器
456 ラッチ
458 ラッチ
459 インバータ
460 クロック生成回路
462 PLL
480 固定周波数クロック・ドメイン
490 コア・クロック周波数ドメイン
510 固定クロック周波数
520 TAinc信号
530 TAval
540 スケーラブル・クロック周波数
550 TArst信号
560 reset信号
610 固定周波数クロック信号を生成するステップ
620 外部タイムベース信号をサンプリングする/固定周波数クロック信号に基づいて内部タイムベース・カウンタを増分するステップ
630 ティックを生成し、タイムベース・アキュムレータに送るステップ
640 以前に保管された累算されたティック値にティックを加算するステップ
650 累算されたティック値を転送するかどうかを判定するステップ
660 累算されたティック値をタイムベース値ジェネレータにコピーするステップ
670 累算されたティック値をリセットするステップ
680 累算されたティック値を以前に保管されたタイムベース値に加算するステップ
690 マイクロプロセッサによる使用のためにタイムベース値を出力するステップ

Claims (20)

  1. 固定周波数クロック信号によって駆動される第1回路部分と、
    前記第1回路部分に結合され、スケーラブル周波数コア・クロック信号によって駆動される第2回路部分であって、前記第1回路部分が、前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算し、前記スケーラブル周波数コア・クロック信号に基づいて前記第2回路部分にティックの前記累算された合計を供給する、前記第2回路部分と
    を含む回路。
  2. 前記第1回路部分が、前記固定周波数クロック信号によって駆動され、ティック(タイムベース値の1つ分の増分)の前記合計を累算するタイムベース・アキュムレータを含む、請求項1に記載の回路。
  3. 前記タイムベース・アキュムレータが、前記スケーラブル周波数コア・クロック信号に基づいて、前記第2回路部分から送られるリセット信号のエッジを検出するエッジ検出回路要素を含み、ティックの前記累算された合計が、前記リセット信号の前記エッジの検出に応答して前記第2回路部分に供給される、請求項2に記載の回路。
  4. 前記第1回路部分が、前記固定周波数クロック信号によって駆動される前記内部タイムベース・カウンタを含み、前記内部タイムベース・カウンタが、前記固定周波数クロック信号のサイクルの所定の個数おきに1つのティックを生成する、請求項1に記載の回路。
  5. 前記第1回路部分が、タイムベース信号入力ピンと、前記タイムベース信号入力ピンを介して受け取られたタイムベース入力信号のエッジを検出するエッジ検出回路要素とを含む外部タイムベース回路を含む、請求項1に記載の回路。
  6. 前記エッジ検出回路要素が、前記タイムベース入力信号の立ち上がりエッジの検出に応答してティックを生成する、請求項5に記載の回路。
  7. 前記第2回路部分が、第1入力として前記第1回路部分からティックの前記累算された合計を受け取り、第2入力として前記第2回路部分に保管されたタイムベース値の現在の値を受け取る加算器を含み、前記加算器が、更新されたタイムベース値を出力する、請求項1に記載の回路。
  8. 前記更新されたタイムベース値が、時間ベースの動作を実行するためのマイクロプロセッサによる使用のために前記第2回路部分によって出力される、請求項7に記載の回路。
  9. 前記回路が、マイクロプロセッサの一部である、請求項1に記載の回路。
  10. 前記マイクロプロセッサが、玩具、ゲーム・マシン、ゲーム・コンソール、ハンドヘルド・コンピューティング・デバイス、携帯情報端末、通信デバイス、無線電話機、ラップトップ・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス、またはサーバ・コンピューティング・デバイスのうちの1つの一部である、請求項9に記載の回路。
  11. データ処理デバイスで、時間ベースの動作を実行する際に使用されるタイムベース値を判定する方法であって、
    固定周波数クロック信号を生成することと、
    スケーラブル周波数コア・クロック信号を生成することと、
    前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算することと、
    更新されたタイムベース値を生成するために、前記スケーラブル周波数コア・クロック信号に基づいて、以前に保管されたタイムベース値にティックの前記累算された合計を加算することと、
    時間ベースの動作を実行するためのマイクロプロセッサによる使用のために前記更新されたタイムベース値を出力することと
    を含む方法。
  12. ティックの合計を累算することが、前記固定周波数クロック信号によって駆動され、ティックの前記合計を累算するタイムベース・アキュムレータを使用することを含む、請求項11に記載の方法。
  13. 前記タイムベース・アキュムレータが、前記スケーラブル周波数コア・クロック信号に基づいて、前記第2回路部分から送られるリセット信号のエッジを検出するエッジ検出回路要素を含み、ティックの前記累算された合計が、前記リセット信号の前記エッジの検出に応答して前記保管されたタイムベース値に加算される、請求項12に記載の方法。
  14. 第1回路部分が、前記固定周波数クロック信号によって駆動される前記内部タイムベース・カウンタを含み、前記内部タイムベース・カウンタが、前記固定周波数クロック信号のサイクルの所定の個数おきに1つのティックを生成する、請求項11に記載の方法。
  15. 前記内部タイムベース・カウンタが、タイムベース信号入力ピンと、前記タイムベース信号入力ピンを介して受け取られたタイムベース入力信号のエッジを検出するエッジ検出回路要素とを含む第1回路部分の一部である、請求項11に記載の方法。
  16. 前記エッジ検出回路要素が、前記タイムベース入力信号の立ち上がりエッジの検出に応答してティックを生成する、請求項15に記載の方法。
  17. 前記累算された合計を加算することが、第1入力としてティックの前記累算された合計を受け取り、第2入力としてタイムベース値の現在の値を受け取る加算器を使用することを含み、前記加算器が、前記更新されたタイムベース値を出力する、請求項11に記載の方法。
  18. 前記データ処理デバイスが、マイクロプロセッサの一部である、請求項11に記載の方法。
  19. 前記マイクロプロセッサが、玩具、ゲーム・マシン、ゲーム・コンソール、ハンドヘルド・コンピューティング・デバイス、携帯情報端末、通信デバイス、無線電話機、ラップトップ・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス、またはサーバ・コンピューティング・デバイスのうちの1つの一部である、請求項18に記載の方法。
  20. 固定周波数クロック信号によって駆動される第1回路部分を設けることと、
    前記第1回路部分に結合され、スケーラブル周波数コア・クロック信号によって駆動される第2回路部分であって、前記第1回路部分が、前記固定周波数クロック信号に基づいて内部タイムベース・カウンタまたはサンプリングされた外部タイムベース信号のうちの1つのティックの合計を累算し、前記スケーラブル周波数コア・クロック信号に基づいて前記第2回路部分にティックの前記累算された合計を供給する、第2回路部分を設けることと
    を含む、回路を設ける方法。
JP2006351591A 2006-01-26 2006-12-27 マイクロプロセッサの動作周波数をスケーリングするカウンタを提供するシステム、装置、および方法 Expired - Fee Related JP4843480B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/340449 2006-01-26
US11/340,449 US7602874B2 (en) 2006-01-26 2006-01-26 Providing accurate time-based counters for scaling operating frequencies of microprocessors

Publications (2)

Publication Number Publication Date
JP2007200303A JP2007200303A (ja) 2007-08-09
JP4843480B2 true JP4843480B2 (ja) 2011-12-21

Family

ID=38285556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006351591A Expired - Fee Related JP4843480B2 (ja) 2006-01-26 2006-12-27 マイクロプロセッサの動作周波数をスケーリングするカウンタを提供するシステム、装置、および方法

Country Status (4)

Country Link
US (2) US7602874B2 (ja)
JP (1) JP4843480B2 (ja)
CN (1) CN100585537C (ja)
TW (1) TWI406121B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7602874B2 (en) * 2006-01-26 2009-10-13 International Business Machines Corporation Providing accurate time-based counters for scaling operating frequencies of microprocessors
US8379838B2 (en) * 2007-06-05 2013-02-19 Skyworks Solutions, Inc. Tone detector
US8386829B2 (en) 2009-06-17 2013-02-26 Macronix International Co., Ltd. Automatic internal trimming calibration method to compensate process variation
US8806496B2 (en) * 2009-09-30 2014-08-12 Intel Corporation Virtualizing a processor time counter during migration of virtual machine by determining a scaling factor at the destination platform
US8897324B2 (en) * 2012-02-01 2014-11-25 Microchip Technology Incorporated Timebase peripheral
US8598910B1 (en) * 2012-08-02 2013-12-03 Lsi Corporation Timestamping logic with auto-adjust for varying system frequencies
US10101786B2 (en) 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US10466754B2 (en) * 2014-12-26 2019-11-05 Intel Corporation Dynamic hierarchical performance balancing of computational resources
US9864399B2 (en) * 2015-12-10 2018-01-09 Apple Inc. Timebase synchronization
CN112578847A (zh) * 2020-12-21 2021-03-30 青岛鼎信通讯股份有限公司 一种基于Linux系统的多MCU时钟同步方案
US11366488B1 (en) 2021-05-20 2022-06-21 Nxp Usa, Inc. Timer for use in an asymmetric mutli-core system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721888A (en) * 1995-11-13 1998-02-24 Motorola, Inc. Performing flexible logical operations with timer channel outputs
JPH11259329A (ja) * 1998-03-12 1999-09-24 Oki Micro Design:Kk デュアルクロックを持つマイクロコントローラのインサーキットエミュレータ
JP4297552B2 (ja) * 1998-07-06 2009-07-15 富士通マイクロエレクトロニクス株式会社 セルフ・タイミング制御回路
TW451558B (en) * 1999-06-29 2001-08-21 Ind Tech Res Inst Digitally controlled oscillator circuit of digital phase lock loop
KR100708110B1 (ko) * 2001-06-23 2007-04-16 삼성전자주식회사 워블 신호를 이용한 시스템 클록 생성 장치 및 그를이용한 데이터 재생 장치
JP2003067080A (ja) * 2001-08-30 2003-03-07 Matsushita Electric Ind Co Ltd クロック切り換え装置及びマイクロコントローラ
JP4071604B2 (ja) * 2002-11-18 2008-04-02 株式会社ルネサステクノロジ クロック生成回路を備えた情報処理装置およびクロック遅延回路を備えた情報処理装置
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
US6967510B2 (en) * 2003-10-16 2005-11-22 International Business Machines Corporation Time-base implementation for correcting accumulative error with chip frequency scaling
US7424076B2 (en) * 2004-01-22 2008-09-09 Nokia Corporation System and method for providing synchronization information to a receiver
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7602874B2 (en) * 2006-01-26 2009-10-13 International Business Machines Corporation Providing accurate time-based counters for scaling operating frequencies of microprocessors

Also Published As

Publication number Publication date
US20080226008A1 (en) 2008-09-18
TWI406121B (zh) 2013-08-21
US7646838B2 (en) 2010-01-12
CN100585537C (zh) 2010-01-27
CN101008861A (zh) 2007-08-01
TW200809458A (en) 2008-02-16
US20070172010A1 (en) 2007-07-26
JP2007200303A (ja) 2007-08-09
US7602874B2 (en) 2009-10-13

Similar Documents

Publication Publication Date Title
JP4843480B2 (ja) マイクロプロセッサの動作周波数をスケーリングするカウンタを提供するシステム、装置、および方法
US6225840B1 (en) Clock generation circuit which reduces a transition time period and semiconductor device using the same
JP5734518B2 (ja) マルチクロックリアルタイムカウンタ
JP6305661B1 (ja) グリッチフリークロック切替えのための装置、方法、およびシステム
KR101010649B1 (ko) 디지털 dll 회로
US20070057697A1 (en) Apparatus and method for verifying glitch-free operation of a multiplexer
WO2017197946A1 (zh) 一种基于pvtm的宽电压时钟拉伸电路
JP3378440B2 (ja) 演算装置及びその遅延時間制御方法
US7681099B2 (en) Techniques for integrated circuit clock signal manipulation to facilitate functional and speed test
JP2012505610A (ja) 低電力非同期カウンタ及び方法
US8020020B2 (en) Fast, automatically scaled processor time stamp counter
KR100704349B1 (ko) 신호 에지 사이의 간격을 측정하는 장치
JP2011159873A (ja) 半導体集積回路及びそれを備えた電圧制御装置
US10860051B2 (en) Proactive clock gating system to mitigate supply voltage droops
US20150145580A1 (en) Apparatus for controlling semiconductor chip characteristics
KR20160049496A (ko) 저전력 모드 지원 컴퓨터 시스템 및 그것의 방법
CN113574473B (zh) 时间测量电路
JP4383353B2 (ja) ディジタルシステムパフォーマンス向上のシステムおよび方法
Kalyanam et al. Randomized Pulse-Modulating Instruction-Issue Control Circuit for a Current and Temperature Limiting System in a 7nm Hexagon™ Compute DSP
JP7393300B2 (ja) 時間計測回路
JP4189729B2 (ja) タイマーカウント値の非同期読み出し方法及びタイマー
JP2004208222A (ja) クロック復元回路およびデータ受信回路
US20160291068A1 (en) Dynamic Power Meter with Improved Accuracy and Single Cycle Resolution
Kumar et al. Pulse based Acyclic Asynchronous Pipelines for Combinational Logic Circuits
Cadenas et al. Pipelining considerations for an FPGA case

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091027

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees