JP4452722B2 - カウンタを用いて遅延を生成するための方法および装置 - Google Patents

カウンタを用いて遅延を生成するための方法および装置 Download PDF

Info

Publication number
JP4452722B2
JP4452722B2 JP2006541267A JP2006541267A JP4452722B2 JP 4452722 B2 JP4452722 B2 JP 4452722B2 JP 2006541267 A JP2006541267 A JP 2006541267A JP 2006541267 A JP2006541267 A JP 2006541267A JP 4452722 B2 JP4452722 B2 JP 4452722B2
Authority
JP
Japan
Prior art keywords
count value
value
counter
delay time
loops
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
JP2006541267A
Other languages
English (en)
Other versions
JP2007512771A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2007512771A publication Critical patent/JP2007512771A/ja
Application granted granted Critical
Publication of JP4452722B2 publication Critical patent/JP4452722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)
  • Electronic Switches (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Pulse Circuits (AREA)
  • Networks Using Active Elements (AREA)

Description

本開示は、広くは複数のプロセッサシステムに関し、より具体的には、複数のプロセッサシステム内で複数の遅延時間を生成するためにカウンタを用いるための複数の方法、装置および複数の製品に関する。
プロセッサシステムの動作は、例えば、プロセッサコアデザイン、複数の命令セット実装および複数のハードウェア互換性などの、重要な複数のデザイン検討に依存する。多くのデザイン検討は、一般的にプロセッサシステムの複数のハードウェアコンポーネントに関するが、デザイン検討の幾つかは、プロセッサシステムのランタイム段階の間のこれら複数のハードウェアコンポーネントの性能に関する。
正確な複数の遅延時間または複数のタイミングを生成することは、プロセッサシステムのランタイム段階の間の特に重要なハードウェアに関するデザイン検討である。複数の遅延時間は、一般的にプロセッサシステムのハードウェア、ファームウェア、ソフトウェア、およびその複数の組み合わせを含むいろいろな部分に関係する。例えば、ハードウェア初期化プロセス間に特定の複数の周辺機器を初期化することは、しばしば、正確な複数の遅延時間の生成を要求する。特に、周辺機器を初期化することは、周辺機器内の複数のレジスタビットが、正確に制御される時間系列に従う連続的な方法でセットされることを要求する。しばしば、制御される時間系列は、ファームウェアを用いて実装され、それが実行された場合、所定の複数の遅延時間および/または複数のタイミング割り込みを生成する。
複数のタイミングまたは複数の遅延時間の重要性の別の例は、プロセッサシステムが特定の複数のタイミング要求を有する外部周辺機器と通信する複数の周辺機器通信を含む。この様な複数のタイミング要求は、例えば、特定の時間間隔で、デバイスをポーリングすることを含む。
複数の遅延時間または複数のタイミングは、しばしば、例えば、複数のタイマ割り込みおよび複数のクロック割り込みなどの複数の割り込みを用いて実装される。一般的に、複数の割り込みは、適切な複数のタイミングまたは複数の遅延時間を生成するために用いられる信頼できるおよび効果的な複数のリソースである。しかしながら、複数の割り込みは、プロセッサシステムのランタイム段階の間、常には利用可能でなく、それによって、これら複数のリソースなしに適切な複数のタイミングまたは複数の遅延時間を生成することを難しくする。
複数の割り込みが利用可能でない一例のシナリオは、プロセッサシステムのプリブート環境において、オペレーティングシステムを起動することに備えて、プロセッサおよび複数の周辺機器が初期化される場合、生じる。特に、複数の割り込みは、プリブート環境において、拡張可能ファームウェアインターフェース規格、1.02版、Intel Corporation、Santa Claraにより2000年12月12日刊行、に適合する拡張可能ファームウェアインターフェース(EFI)の実行の間、利用可能でない。結果として、プリブート環境において複数の割り込みの使用なしで正確な複数のタイミングまたは複数遅延時間を生成することは、しばしば、実現可能ではない。
米国特許第7047270号明細書
所望の遅延時間を生成するために用いられる一例のシステムの機能ブロック図である。
図1のタイマ/カウンタを用いた所望の遅延時間の生成に関連したタイマ/カウンタの一例のカウントラインおよび複数の特性値である。
図2の一例のカウントラインおよび複数のカウント値に基づく、一例のカウンタポーリングプロセスの図である。
図1の一例のシステムにより実装される一例の遅延時間生成方法のフロー図である。
図1の一例のシステムにより実装される別の例の遅延時間生成方法のフロー図である。
ここで説明される製造の複数の装置、複数の方法、および複数の製品を実装するために用いられる一例のプロセッサシステムのブロック図である。
発明の詳細な説明
図1は、所望の遅延時間を生成するために用いられる一例のシステム100の機能ブロック図である。しかしながら、図1のシステム100を詳細に論じる前に、図1に示される構造は、ハードウェアおよび/またはソフトウェアの任意の所望の組み合わせを用いて実装されることを認識することが重要である。例えば、1つ以上の集積回路、複数のディスクリート半導体コンポーネント、または複数の受動電子コンポーネントが使用される。加えて、またはあるいは、構造の幾つかもしくは全て、またはその複数の部分は、機械可読媒体上に記憶される複数の命令、コード、または多のソフトウェアおよび/またはファームウェア等を用いて実装され、それらが例えば、プロセッサシステム(例えば、図6のプロセッサシステム610)により実行される場合、ここで開示される複数の方法を実行する(例えば、図4および図5に示される複数の方法)。
一般的に、一例のシステム100は、複数の割り込みまたは同様なものの使用なしに、正確な遅延時間を生成するために、カウンタ(例えば、タイマ/カウンタ)を用いる。結果として、一例のシステム100は、例えば、プロセッサシステムのプリブート環境または任意の他のランタイム段階または複数の割り込みおよび/または他の複数のタイミングリソースが利用可能でない動作状態において、正確な複数の遅延時間を生成するために、使用される。より具体的には、下記でより詳細に説明されるように、一例のシステム100は、正確な遅延時間を生成するために、例えば、複数の最小および最大カウント値ならびにカウンタが最小カウント値から最大カウント値までカウントするのに要する時間量などの、カウンタ(またはタイマ/カウンタ)の既知の複数の特性を使用する。
幾つかの例では、一例のシステム100は、カウンタを用いて、所望の遅延時間を生成するために要求される複数のループの数の値(例えば、複数のタイマ/カウンタ転覆イベント)および残りのまたは残余のカウント値を計算する。一例のシステム100は、例えば、ポーリングプロセスにおいて、カウンタの値(例えば、カウント値)を読むように、また、構成される。一例のシステム100は、遅延時間を生成するために、得られた複数のカウント値および計算された複数の値に基づいて、複数の比較を実行する。
ここで、図1の詳細に戻る。一例のシステム100は、タイマ/カウンタ102、カウントリーダ104、値修正器106、比較器108、値生成器110、およびループカウンタ112を備え、それらの全ては、図示されるように、通信的に結合される。タイマ/カウンタ102は、カウント値を増やすことまたは減らすことにより、複数のカウント値を生成する、任意の所望のビット長のリセット不可能またはリセット可能カウンタおよび/またはタイマ(例えば、8ビットタイマ/カウンタ、16ビットタイマ/カウンタ等)である。特に、タイマ/カウンタ102は、カウント値を最小カウント値から最大カウント値まで増やすように、および、下で図2に関連してより詳細に説明されるように複数の転覆イベントを生成するように構成される。タイマ/カウンタ102は、カウントリーダ104に通信的に結合され、カウントリーダ104がその複数の値を読むことを可能とし、および/またはその複数の値をカウントリーダ104に送るように構成される。加えて、タイマ/カウンタ102は、値生成器110に通信的に結合され、タイマ/カウンタ102の複数の特性値を値生成器110に提供する。
図1に示されるように、カウントリーダ104は、タイマ/カウンタ102、値修正器106、比較器108、および値生成器110に通信的に結合される。カウントリーダ104は、カウント値をタイマ/カウンタ102から得り、ポーリングプロセスまたは複数のカウント値を得るための任意の他の所望の技術を介して、タイマ/カウンタ102の1つの読み出し(すなわち、1つのカウント値を得ること)をするようにおよび/またはタイマ/カウンタ102の複数の読み出しをするように構成される。カウントリーダ104は、カウント値をタイマ/カウンタ102から値修正器106、比較器108、および値生成器110に運ぶように、また、構成される。
値修正器106は、例えば、以下により詳細に説明されるように、カウントリーダ104に読まれるタイマ/カウンタ102の複数のカウント値を記憶するために用いられる複数のカウント変数値などの、複数の値を修正するおよび/または更新するように構成される。特に、値修正器106は、カウントリーダ104から複数のカウント値(例えば、タイマ/カウンタ102から読まれる複数のカウント値)および比較器108からの複数の比較結果を受信するまたは取り出すように構成される。値修正器106は、複数のカウント値および/または複数の比較結果に基づいて、例えば、複数のカウント変数値を修正または更新する。加えて、複数のカウント変数値は、比較器108に伝えられる。
比較器108は、カウントリーダ104から複数のカウント値を、値修正器106から複数の変数カウント値を、値生成器110から複数の遅延時間生成値を、およびループカウンタ112から複数のループカウント値を受信するまたは取り出すように構成される。比較器108は、複数のカウント値に基づいて複数の比較を実行するようにおよび複数の比較に基づいて複数の比較結果を生成するように構成される加えて、複数の比較結果は、値修正器106、値生成器110、およびループカウンタ112に伝えられる。
値生成器110は、例えば、所望の遅延時間を生成することに関連する複数の遅延時間生成値などの複数の値を生成するように構成される。加えて、値生成器110は、カウントリーダ104から複数のカウント値をおよびタイマ/カウンタ102から複数のタイマ/カウンタ特性値を受信するまたは取り出すように構成される。複数のタイマ/カウンタ特性値は、タイマ/カウンタ102の最小カウント値、最大カウント値、およびループ周期値(すなわち、最小カウント値から最大カウント値までカウント値を増やすのに要する時間)を含む。値生成器110は、複数のカウント値および複数のタイマ/カウンタ特性値に基づいて、例えば、複数の遅延時間生成値を生成するように構成される。複数の遅延時間生成値は、比較器108およびループカウンタ112に伝えられる。
一般的に、ループカウンタ112は、値生成器110から複数の遅延時間生成値および比較器108から複数の比較結果を受信するまたは取り出すように構成される。加えて、ループカウンタ112は、タイマ/カウンタ102により生成される複数の転覆イベントの数に関連する複数のループカウント値を生成するように構成される。タイマ/カウンタ102により生成される複数の転覆イベントの数は、比較器108により実行される比較動作を介して検出される。ループカウンタ112は、例えば、複数の比較結果および複数の遅延時間生成値に基づき、複数のループの数の値を増やすことまたは減らすことにより、複数のループカウント値を生成する。
図2は、一例のカウントライン200および図1のタイマ/カウンタ102を用いて所望の遅延時間を実装することに関連した、タイマ/カウンタ(例えば、図1のタイマ/カウンタ102)の複数の特性値である。一般的に、カウントライン200は、図式的にタイマ/カウンタ102内に記憶されるカウント値および経過時間の間の関係を表す。特定のタイマ/カウンタに対するカウント値および経過時間の間の関係は、例えば、レートの関数であり、カウントライン200により表されるタイマ/カウンタは、このレートでクロックされる。
図2に示されるように、一例のカウントライン200は、ゼロカウント値202、ループ周期値T204、および最大カウント値C206により特徴付けられる。これら複数の特性値は、例えば、ランタイム段階の間に所望の遅延時間(T)を実装するために、用いられる。ほんの一例として、一例のカウントライン200は、図1のタイマ/カウンタ102に関連するとして、説明される。しかしながら、一例のカウントライン200は、同様の方法で、任意の他のカウンタ、タイマ、またはタイマ/カウンタに応用される。例を続けて、ゼロカウント値202は、タイマ/カウンタ102により表されるゼロのカウント値または最小値である。最大カウント値C206は、タイマ/カウンタ102が転覆イベントに先立ってカウントできる最大値である。転覆イベントは、タイマ/カウンタ102がその最大カウント値C206に達した場合生じ、続くカウント値は、ゼロカウント値202に等しい(すなわち、C+1=0)。例えば、8ビットカウンタの最大カウント値C206は、数量2−1(すなわち、255)に等しい。このような8ビットカウンタが255のカウント値(すなわち、最大カウント値C206)に達する場合、8ビットカウンタがゼロカウント値202である8ビットカウンタの次のカウント値に増やされる時、転覆イベントは、生じる。8ビットカウンタのループ周期値T204は、タイマ/カウンタ102(図1)がカウント値をそのゼロカウント値202からその最大カウント値C206まで増やすのに要する時間量に等しい。
図3は、図2の一例のカウントライン200に基づく、一例のカウンタポーリングプロセスおよび複数のカウント値の図である。図3のカウンタポーリングプロセスは、例えば、図1のタイマ/カウンタ102などのタイマ/カウンタユニットと組み合わせて使用される場合、所望の遅延時間の生成を可能にする。図3に示されるカウンタポーリングプロセスは、タイマ/カウンタ102の1つ以上のカウンタサイクルもしくはループの間に動作しているカウント値をポーリングすること(すなわち、読み出すことまたは別の方法で得ること)により、ランタイム段階の間に得られる複数のカウント値を含む。タイマ/カウンタ102が有効にされてるおよびカウント値を増やしているまたは動作している場合、逐次的な複数のカウント値の一連は、タイマ/カウンタ102により生成される各動作中のカウント値(すなわち、複数のカウント値の一連内の特定のカウント値)は、前回のカウント値C(例えば、前回の複数のカウント値302、306、および308)ならびに/または現在のカウント値C(例えば、現在の複数のカウント値304、308、および310)に関連する。現在のカウント値Cは、タイマ/カウンタ102の現在の値を読むことで得られる。前回のカウント値Cは、タイマ/カウンタ102の動作中のカウント値の前回の読み出しの間に得られた現在のカウント値Cである。
各前回のカウント値Cおよび現在のカウント値Cは、前回のカウント変数値XCおよび現在のカウント変数値XCに、それぞれ記憶される(示されない)。複数のカウント変数値XCおよびXCは、それぞれの前回の複数のカウント値Cおよび現在の複数のカウント値Cにより、タイマ/カウンタ102の各読み出しまたはポーリングの後に上書きされる。
タイマ/カウンタ102の一例の読み出しは、現在のカウント値C304および前回のカウント値C306により示される。特に、タイマ/カウンタ102の動作中のカウント値は、現在のカウント変数値XCに記憶される現在のカウント値C304を得るために読み出される。以下で図4および5に関連してより詳細に説明されるように、現在のカウント変数値XCは、前回のカウント変数値XCに記憶される前回のカウント値C(すなわち、前回のカウント値C302)と比較される。比較に基づいて、例えば、前回のカウント値C306などの次の前回のカウント値Cは、現在のカウント値C304に等しくセットされ、前回のカウント変数値XCに記憶され、それによって、前回のカウント値C302を上書きする。この方法で、プロセッサシステム(例えば、図6のプロセッサシステム610)は、前回の複数のカウント値Cおよび複数の現在のカウント値Cを得るために、タイマ/カウンタ102(図1)をポーリングすることで、所望の遅延時間を実装する。
複数のカウンタサイクルまたは複数のループは、複数の添え字(0)、(1)、および(n)を用いて示される。ここで、値nは複数のカウンタサイクルまたは複数のループの数を表す。一例として、図3のカウンタポーリングプロセスは、前回のカウント値C302および現在のカウント値C310に縛られる2つのカウンタサイクルまたはループを示す。加えて、各カウンタサイクルは、1つの転覆イベントを有する。転覆イベントは、現在のカウント値Cを前回のカウント値Cと比較することで検出される。前回のカウント値Cが現在のカウント値C(前回のカウント値C308および現在のカウント値C310により図示されるように)より大きい場合、転覆イベントは、生成されたまたは生じた。
図4は、図1の一例のシステム100に実装される一例の遅延時間生成方法400のフロー図である。一例の遅延時間生成方法400は、プリブート段階または初期化プロセスの間(すなわち、非割り込み環境において)および/または任意の他のランタイム段階の間に実行される。所望の遅延時間は、複数のタイマ/カウンタ特性値(例えば、上で図2の一例のカウントライン200に関連して説明されたループ周期値T204および最大カウント値C206)ならびに上で図3に関連して説明された複数のカウント変数値XCおよびXCを得ることで実装される。
所望の遅延時間を生成することに関連する追加の複数の値は、遅延時間生成方法400を用いて得られるおよび/または決定される。追加の複数の値は、初期のカウント値C、遅延カウント値C、複数のループの数の値L、および残りのカウント値Cを含み、全ては、以下においてより詳細に説明される。複数の値は、ランタイム段階の間またはランタイム段階に先立って決定され、ランタイム段階の間に、何度もメモリに記憶され、および取り出される。加えて、複数の値は、例えば、プロセッサシステムを用いてそれらを計算するおよび/またはそれらをメモリから取り出す、などの多くの方法で決定される。
初期のカウント値Cは、例えば、図1のタイマ/カウンタ102などのタイマ/カウンタのカウント値を読み出すことで得られる最初のカウント値に関連する。加えて、初期のカウント値Cは、タイマ/カウンタ102に表される任意の値でよく、それは、ゼロカウント値202(図2)より大きくまたは等しく、最大カウント値C206(図2)より小さいまたは等しい(すなわち、ゼロカウント値202≦C≦C206)。初期のカウント値Cは、以下で数1−数3に関連して説明されるように、遅延カウント値C、複数のループの数の値L、および残りのカウント値Cを決定するために使用される。
遅延カウント値Cは、所望の遅延時間を生成するために要するタイマ/カウンタ102の複数のカウントの数を決定する。例えば、所望の遅延時間がループ周期値T204(図2)に示される時間量と等しい場合、遅延カウント値Cは、最大カウント値C206に等しくセットされる。この場合、タイマ/カウンタ102は、所望の遅延時間を実装するために、最大カウント値C206に等しい複数のカウントの数を増やす。
複数のループの数の値Lは、タイマ/カウンタ102が特定のカウント値に達した回数で定義され、一般的に複数の転覆イベントに関連する。例えば、特定のカウント値がゼロカウント値202(図2)として定義される場合、複数のループの数の値Lは、タイマ/カウンタ102のカウント値がゼロカウント値202(図2)に達する回数と等しくなる。この方法では、タイマ/カウンタ102は、複数のループの数の値Lと等しい多くの転覆イベントを生成する。加えて、一例として、複数のループの数の値Lは、複数の添え字(0)、(1)、および(n)により図3に示される。図3に関連して、上でより詳細に説明されたように、添え字の値nは、複数のカウンタサイクルまたは複数のループの数に等しい。
残りのカウント値Cは、タイマ/カウンタ102(図1)に表される任意の値であり、ゼロカウント値202より大きいか等しく、また、最大カウント値C206より小さいか等しい。一般的に、残りのカウント値CRは、タイマ/カウンタ102の最後のループの後に、所望の遅延時間に達した時を判断するために使用される。言い換えれば、所望の遅延時間は、タイマ/カウンタ102が複数のループの数の値Lに等しい複数のカウンタサイクルまたは複数のループの数を完了することを可能にし、その後に、所望の遅延時間に達したかを判断するために、複数の残りのカウント値Cおよびタイマ/カウンタ102をポーリングすることにより得られる複数のカウンタ値に基づいて、複数の比較が実行されることにより生成される。
ここで図4の一例の遅延時間生成方法400の詳細に戻る。タイマ/カウンタ102(図1)は、有効にされ(ブロック402)、それにより、タイマ/カウンタ102がカウント値を増やすことを実行または開始することを起こす。初期のカウント値Cは、タイマ/カウンタ102の動作中のカウント値を読み出すことで得られる(ブロック404)。遅延カウント値C、複数のループの数の値L、および残りのカウント値Cを含む複数の遅延時間生成値は、例えば、値生成器110(図1)により、その後決定される(ブロック406)。
遅延カウント値Cは、遅延時間値T、ループ周期値T204、および最大カウント値C206に基づいて、下記数1に従って決定される。
Figure 0004452722
数1に示されるように、遅延カウント値Cは、遅延時間値Tをループ周期値T204で割り、結果に最大カウント値C206を掛けることで決定される。
一般的に、複数のループの数の値Lは、遅延カウント値C、および最大カウント値C206に基づいて、以下の数2に従って決定される。
Figure 0004452722
数2に示されるように、複数のループの数の値Lは、遅延カウント値Cを最大カウント値C206で割り、結果を最近の整数値に丸め込むことで決定される。あるいは、複数のループの数の値Lは、遅延時間値Tをループ周期値T204で割り、結果を最近の整数値に丸め込むことで、また決定される。
残りのカウント値Cは、遅延カウント値C、複数のループの数の値L、および最大カウント値C206に基づいて、下記の数3に従って決定される。
Figure 0004452722
数3に示されるように、残りのカウント値Cは、複数のループの数の値Lに最大カウント値C206を掛け、結果を遅延カウント値Cから引くことで決定される。あるいは、残りのカウント数は、複数のループの数の値Lをループ周期値T204に割られる遅延時間値Tの商から引き、結果に最大カウント値C206を掛けることで、また決定される。
最初の前回のカウント値は、例えば、前回のカウント値C302(図3)を初期のカウント値Cに等しくセットし、前回のカウント値C302を前回のカウント変数値XCに記憶することで、初期化される(ブロック408)。タイマ/カウンタ102(図1)は、ポーリングされ、現在のカウント値C304(図3)がタイマ/カウンタ102(ブロック410)から読み出され、現在のカウント変数値XCに記憶される。現在のカウント変数値XC、初期のカウント値C、および前回のカウント変数値XCの比較は、タイマ/カウンタ102のループが完了したかを判断するために実行される(ブロック412)。
前回のカウント変数値XCPが初期のカウント値Cより小さく、また、初期のカウント値CIが現在のカウント変数XCより小さいまたはに等しい場合(すなわち、XC<C≦XC)、転覆イベントは、検出され、複数のループの数の値Lは、減らされる(ブロック414)。ブロック414で複数のループの数の値Lを減らした後、またはブロック412で前回のカウント変数値XCが初期のカウント値より小さくない、および/または初期のカウント値Cが現在のカウント変数XCより小さくまたはと等しくない場合、制御は、ブロック416に渡される。ブロック416において、前回のカウント値C306(図3)は、現在のカウント値C304に等しくセットされ、前回のカウント変数値XCに記憶される。
ゼロテストは、複数のループの数の値Lがゼロより大きいかどうかを判別するために、複数のループの数の値L上で実行される(ブロック418)。複数のループの数の値Lがゼロより大きい場合、制御は、ブロック410に渡される。一方、複数のループの数の値Lがブロック418においてゼロより大きくない場合、別の現在のカウント値Cが得られ(ブロック420)、現在のカウント変数値XCに記憶される。
現在のカウント変数値XCが初期のカウント値Cより小さいかどうかを判別するために、比較がなされる(ブロック422)。現在のカウント変数値XCが初期のカウント値Cより小さい場合、現在のカウント変数値XCは、現在のカウント変数値XCに最大カウント値Cを加え、結果を現在のカウント変数値XCCに記憶することで更新される(すなわち、XC=XC+C)(ブロック424)。
現在のカウント変数値XCが更新された後(ブロック424)、またはブロック422において現在のカウント変数値XCが初期のカウント値より小さくないと判断される場合、現在のカウント変数値XC、初期のカウント値C、および残りのカウント値Cに基づいて、遅延時間に達したかどうかを判断するために比較がなされる(ブロック426)。ブロック426において、初期のカウント値Cが引かれる現在のカウント変数XCが残りのカウント値Cより小さいことが判断される場合(すなわち、(XC−C)<C)、制御は、ブロック420に渡される。しかしながら、ブロック426において、初期のカウント値Cが引かれる現在のカウント変数値XCが残りのカウント値Cより小さくないと判断される場合、所望の遅延時間に達した。
図5は、図1の一例のシステム100により実装される別の例の遅延時間生成方法500のフロー図である。一例の遅延時間生成方法500は、プリブート段階または初期化プロセスの間(すなわち、非割り込み環境)および/または任意の他のランタイム段階の間に実行される。一例の遅延時間生成方法500は、初期のカウント値(例えば、上で図4に関連して詳細に説明された初期のカウント値C)に基づいて、複数の遅延時間生成値を決定することで所望の遅延時間を生成するために使用される。より具体的には、以下に数4−数6に関連して説明されるように、初期のカウント値Cは、遅延カウント値C、複数のループの数の値L、および残りのカウント値Cを決定するために使用される。さらに、所望の遅延時間は、一例の遅延時間生成方法500により、複数の遅延時間生成値、ループ周期値T204(図2)、および最大カウント値C206(図2)ならびに複数のカウント変数値XCおよびXC(図3)に基づいて生成される。
ここで図5の一例の遅延時間生成方法500の詳細に戻る。タイマ/カウンタ(例えば、図1のタイマ/カウンタ102)は、有効にされ(ブロック502)、それにより、タイマ/カウンタ102が複数のカウント値を増やすことを実行または開始することを引き起こす。初期のカウント値Cは、タイマ/カウンタ102の実行中のカウント値を読み出すことで得られる。遅延カウント値C、複数のループの数の値L、および残りのカウント値Cを含む複数の遅延時間生成値は、例えば、値生成器110(図1)により決定される(ブロック506)。
遅延カウント値Cは、遅延時間値T、ループ周期値T204、最大カウント値C206、および初期のカウント値Cに基づき、以下の数4に従って決定される。
Figure 0004452722
数4に示されるように、遅延カウント値Cは、遅延時間値Tをループ周期値T204で割り、その結果に最大カウント値C206を掛け、その結果に初期のカウント値Cを足すことで決定される。
一般的に、複数のループの数の値Lは、遅延カウント値CDおよび最大カウント値CM206に基づき、以下の数5に従って決定される。
Figure 0004452722
数5に示されるように、複数のループの数の値Lは、遅延カウント値Cを最大カウント値C206(図2)で割り、その結果を最近の整数値に丸め込むことで決定される。あるいは、複数のループの数の値Lは、遅延時間値Tをループ周期値T204で割り、その結果に最大カウント値C206に割られる初期カウント値Cの商を足し、最近の整数値に丸め込むことでまた決定される。
残りのカウント値Cは、遅延カウント値C、複数のループの数の値L、および最大カウント値C206に基づき、以下の数6に従って決定される。
Figure 0004452722
数6に示されるように、残りのカウント値Cは、複数のループの数の値Lに最大カウント値CM206を掛け、その結果を遅延カウント値Cから引くことで決定される。あるいは、残りのカウント数Cは、初期のカウント値Cを最大カウント値C206およびループ周期値T204に割られる遅延時間値Tの商から引かれる複数のループの数の値Lの数量の積にたすことで決定される。
最初の前回のカウント値は、例えば、前回のカウント値C302(図3)を初期のカウント値Cに等しくセットし、前回のカウント値C302を前回のカウント変数値XCに記憶することで初期化される(ブロック508)。現在のカウント値C304(図3)は、タイマ/カウンタ102読み出され(ブロック510)、現在のカウント変数値XCに記憶される。現在のカウント変数値XCCは、タイマ/カウンタ102のループが完了したかを判断するために前回のカウント変数値XCPと比較される(ブロック512)。
現在のカウント変数値XCが前回のカウント変数値XCより小さい場合(すなわち、XC<XC)、転覆イベントが検出され、複数のループの数の値Lは、減らされる(ブロック514)。ブロック514において複数のループの数の値Lを減らした後、またはブロック512において現在のカウント変数値XCが前回のカウント変数値XCより小さくない場合、制御はブロック516に渡される。ブロック516において、前回のカウント値C306(図3)は、現在のカウント値C304(図3)に等しくセットされ、前回のカウント変数XCに記憶される。
ゼロテストは、複数のループの数の値Lがゼロより大きいかどうかを判断するために、複数のループの数の値Lに対し実行される(ブロック518)。複数のループの数の値Lがゼロより大きい場合、制御はブロック510に渡される。一方で、複数のループの数の値Lがゼロより大きくない場合、前回のカウント値C306(図3)は、現在のカウント値C304(図3)に等しくセットされ、前回のカウント変数値XCに記憶される(ブロック520)。別の現在のカウント値Cが得られ(ブロック522)、現在のカウント変数値XCに記憶される。
現在のカウント変数値XCは、残りのカウント変数値Cおよび前回のカウント変数値XCと比較される(ブロック524)。現在のカウント変数値XCが残りのカウント値Cより小さく、かつ、前回のカウント変数値XCが現在のカウント変数値XCより小さい場合(すなわち、XC<CかつXC<XC)、制御はブロック520に渡される。しかしながら、現在のカウント変数XCが残りのカウント値Cより小さくなく、および/または、前回のカウント変数値XCが現在のカウント変数値XCより小さくない場合、所望の遅延時間に達した。
図6は、ここで説明された製造の複数の装置、複数の方法、および複数の製品を実装するために用いられる一例のプロセッサシステム610のブロック図である。図6に示されるように、プロセッサシステム610は、相互接続バスまたはネットワーク614に結合されたプロセッサ612を備える。プロセッサ612は、レジスタセットまたはレジスタスペース616を有し、これは、図6に全体的にオンチップであるように描かれているが、これは、あるいは、全体的にまたは部分的にオフチップでよく、およびプロセッサ612に専用の電気的な複数の接続を介しておよび/または相互接続ネットワークまたはバス614を介して結合されてよい。プロセッサ612は、例えば、Intel X−Scale(登録商標)ファミリ、Intel Pentium(登録商標)ファミリ等からのプロセッサなどの任意の適したプロセッサ、プロセッシングユニットまたはマイクロプロセッサでよい。図6には示されていないが、プロセッサシステム610は、プロセッサ612と同一のまたは同様の1つ以上の付加的なプロセッサを備え、それらは相互接続バスまたはネットワーク614に結合されるマルチプロセッサシステムでよい。
図6のプロセッサ612は、メモリコントローラ620、入力/出力(I/O)コントローラ622、およびタイマ/カウンタユニット623を有するチップセット618に結合される。良く知られるように、チップセットは、代表的に、複数の汎用および/または特定用途レジスタ、タイマ等のみならず複数のI/Oおよびメモリ制御機能提供し、これらは、チップセットに結合される1つ以上のプロセッサからアクセス可能であり、または使用される。メモリコントローラ620は、プロセッサ612(または、複数のプロセッサがある場合は、複数のプロセッサ)がシステムメモリ624および不揮発性メモリ625にアクセスすることを可能にする複数の機能を実行する。
システムメモリ624は、例えば、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)などの揮発性メモリの所望のタイプを有する。不揮発性メモリ625は、例えば、フラッシュメモリまたは読み出し専用メモリ(ROM)などの不揮発性メモリの所望のタイプを有する。その上、基本入出力システム(BIOS)またはEFIの部分を構成する複数のプリブートシステム初期化命令は、プリブートシステム初期化プロセス間(すなわち、オペレーティングシステムブートプロセス前)のアクセスのために、不揮発性メモリ625上に記憶される。
I/Oコントローラ622は、プロセッサ612が複数の周辺入力/出力(I/O)デバイス626および628とI/Oバス630を介して通信することを可能にする複数の機能を実行する。複数のI/Oデバイス626および628は、例えば、キーボード、ビデオディスプレイもしくはモニタ、マウスなどのI/Oデバイスの任意の所望のタイプでよい。
タイマ/カウンタユニット623は、図1のタイマ/カウンタ102と実質的に同様または同一であり、プロセッサシステム610のランタイム段階の間に、複数の遅延時間および/または指定時間に動作する複数のシステムイベントを実装するために使用される。タイマ/カウンタユニット623は、電力制御インターフェース(ACPI)タイマおよびまたはリセット不可能なタイマをまた含むACPIタイマは、プリブートプロセッサシステム初期化プロセス間に機能するように構成される。
メモリコントローラ620、I/Oコントローラ622およびタイマ/カウンタユニット623は、図6にチップセット618内の分離した複数の機能ブロックとして描かれるが、これら複数のブロックに実行される複数の機能は、1つの半導体回路に集積されるまたは2つ以上の分離した集積回路を用いて実装される。
ここで説明される複数の方法は、コンピュータ可読媒体上に記憶され、プロセッサ612に実行される複数の命令を用いて実装される。コンピュータ可読媒体は、複数の大容量記憶デバイス(例えば、ディスクドライブ)、複数の取り外し可能記憶デバイス(例えば、複数のフロッピーディスク、複数のメモリカードもしくはスティック等)、および/または複数の集積メモリデバイス(例えば、ランダムアクセスメモリ、フラッシュメモリ等)の任意の所望の組み合わせを用いて実装される半導体、磁気、および/または光学媒体の任意の所望の組み合わせを含む。
製造の特定の複数の方法、複数の装置、複数の製品がここで説明されたが、本特許の請求の範囲は、それらに制限されない。それどころか、本特許は、文言上または均等論に基づき、添付された複数の請求項の適切な範囲内の製造の全ての方法、装置、および製品を網羅する。

Claims (38)

  1. 遅延時間を生成する方法であって、
    遅延時間に関連し、カウンタの転覆イベントの数に関連する、複数のループの数の値と、前記カウンタに関連し、ループ周期値および最大カウント値の少なくとも一方を含む、少なくとも1つ以上の特性値を決定する段階と、
    前記複数のループの数の値と、所望の遅延時間と、前記少なくとも1つ以上の特性値とに基づいて、残りのカウント値を決定する段階と、
    現在のカウント値を得る段階と、
    少なくとも前記複数のループの数の値に等しい回数、前記現在のカウント値および前回のカウント値に基づく比較を実行して、前記転覆イベントを検出する段階と、
    前記複数のループの数の値と、前記残りのカウント値と、前記転覆イベントを検出する前記比較の結果とに基づいて、前記カウンタを用いて、前記遅延時間を生成する段階と
    を備える、
    方法。
  2. 前記比較に基づいて、前記遅延時間に達したかを判断する段階をさらに備える
    請求項に定義される方法。
  3. 前記転覆イベントが検出された場合に、前記複数のループの数の値を減らす段階と、
    前記複数のループの数の値が0より大きくない場合には、前記現在のカウント値および前記残りのカウント値に基づく比較を実行して、前記所望の遅延時間に達したかを判断する段階と、
    前記所望の遅延時間に達したかを判断する前記比較の結果に基づいて、前記カウンタを用いて、前記遅延時間を生成する段階と
    をさらに備える、
    請求項1または請求項2に定義される方法。
  4. 前記現在のカウント値を得る段階は、前記カウンタの動作中のカウント値を読み出す段階を備える
    請求項1から請求項3までの何れか一項に定義される方法。
  5. 初期のカウント値を得る段階をさらに備える
    請求項1から請求項4までの何れか一項に定義される方法。
  6. 前記複数のループの数の値を決定する段階は、少なくとも前記初期のカウント値に基づいて、前記複数のループの数の値を決定する段階を備える
    請求項5に定義される方法。
  7. 前記残りのカウント値を決定する段階は、少なくとも前記初期のカウント値に基づいて、前記残りのカウント値を決定する段階を備える
    請求項5または請求項6に定義される方法。
  8. 前記比較を実行して、前記転覆イベントを検出する段階は、前記初期のカウント値、前記現在のカウント値および前記前回のカウント値に基づいて当該比較を実行する段階を含み、
    前記比較を実行して、前記所望の遅延時間に達したかを判断する段階は、前記初期のカウント値、前記現在のカウント値および前記残りのカウント値に基づいて当該比較を実行する段階を含む、
    請求項5から請求項7までの何れか一項に定義される方法。
  9. 前記カウンタをポーリングする段階をさらに備える
    請求項1から請求項8までの何れか一項に定義される方法。
  10. 前記カウンタをポーリングする段階は、非割り込み環境において前記カウンタをポーリングする段階を備える
    請求項に定義される方法。
  11. 前記複数のループの数の値を決定する段階は、前記カウンタにより生成される複数の転覆イベントの数を決定する段階を備える
    請求項1から請求項10までの何れか一項に定義される方法。
  12. 前記遅延時間を生成する段階は、ブートプロセスに先立って前記遅延時間を生成する
    請求項1から請求項11までの何れか一項に定義される方法。
  13. 遅延時間を生成するための装置であって、
    メモリを有するプロセッサシステムと、
    前記メモリに記憶される複数の命令と
    を備え、
    前記複数の命令は、
    前記プロセッサシステムが、
    遅延時間に関連し、カウンタの転覆イベントの数に関連する複数のループの数の値、および、前記カウンタに関連し、ループ周期値および最大カウント値の少なくとも一方を含む少なくとも1つの特性値を決定すること
    前記複数のループの数の値と、所望の遅延時間と、前記少なくとも1つ以上の特性値とに基づいて、残りのカウント値を決定すること
    現在のカウント値を得ることと、
    少なくとも前記複数のループの数の値に等しい回数、前記現在のカウント値および前回のカウント値に基づく比較を実行して、前記転覆イベントを検出することと、
    前記複数のループの数の値と、前記残りのカウント値と、前記転覆イベントを検出する前記比較の結果とに基づいて、前記カウンタを用いて、前記遅延時間を生成すること
    を可能にする
    装置。
  14. 前記メモリに記憶される前記複数の命令は、
    前記プロセッサシステムが、前記比較に基づいて、前記遅延時間に達したかを判断することを可能にする
    請求項13に定義される装置。
  15. 前記メモリに記憶される前記複数の命令は、
    前記プロセッサシステムが、
    前記プロセッサシステムが前記転覆イベントを検出した場合に、前記複数のループの数の値を減らすことと、
    前記複数のループの数の値が0より大きくない場合には、前記現在のカウント値および前記残りのカウント値に基づく比較を実行して、前記所望の遅延時間に達したかを判断することと、
    前記所望の遅延時間に達したかを判断する前記比較の結果に基づいて、前記カウンタを用いて、前記遅延時間を生成することと、
    をさらに可能にする、
    請求項13または請求項14に定義される装置。
  16. 前記メモリに記憶される前記複数の命令は、
    前記プロセッサシステムが、初期のカウント値を得ることを可能にする
    請求項13から請求項15までの何れか一項に定義される装置。
  17. 前記メモリに記憶される前記複数の命令は、
    前記プロセッサシステムが、少なくとも前記初期のカウント値に基づいて前記複数のループの数の値を決定することを可能にする
    請求項16に定義される装置。
  18. 前記複数の命令は、
    前記プロセッサシステムが、非割り込み環境において、前記カウンタをポーリングすることを可能にする
    請求項13から請求項17までの何れか一項に定義される装置。
  19. 前記複数の命令は、
    前記プロセッサシステムが、前記複数のループの数の値に基づいて、生成される複数の転覆イベントの数を決定することを可能にする
    請求項13から請求項18までの何れか一項に定義される装置。
  20. 前記複数の命令は、
    前記プロセッサシステムが、ブートプロセスに先立って、前記遅延時間を生成することを可能にする
    請求項13から請求項19までの何れか一項に定義される装置。
  21. 前記メモリは、フラッシュメモリおよび読み出し専用メモリの少なくとも1つである
    請求項13から請求項20までの何れか一項に定義される装置。
  22. 遅延時間を生成するためのシステムであって、
    カウンタから複数のカウント値を得るように構成されるカウントリーダと、
    前記カウントリーダに通信的に結合され、前記カウントリーダにより得られた現在のカウント値が、前記カウントリーダにより前回得られた前回のカウント値、または、前記カウントリーダにより得られた初期のカウント値以上であるかを判断するための比較を実行するように構成される比較器と、
    前記比較器に通信的に結合され、前記比較器による記比の結果に基づいて、複数のループの数の値を修正するように構成されるループカウンタと
    を備え、
    前記システムは、前記比の結果、前記複数のループの数の値、および残りのカウント値に基づいて、遅延時間を生成する
    システム。
  23. 前記カウントリーダは、初期のカウント値を得るように構成される
    請求項22に定義されるシステム。
  24. 前記初期のカウント値に基づいて、前記残りのカウント値および前記複数のループの数の値を生成するように構成される値生成器をさらに備える
    請求項23に定義されるシステム。
  25. 前記カウンタは、リセット不可能なカウンタおよびリセット不可能なタイマの少なくとも1つである
    請求項22から請求項24までの何れか一項に定義されるシステム。
  26. 前記システムは、非割り込み環境において、前記遅延時間を生成する
    請求項22から請求項25までの何れか一項に定義されるシステム。
  27. 前記システムは、ブート段階に先立って前記遅延時間を生成する
    請求項22から請求項26までの何れか一項に定義されるシステム。
  28. コンピュータに、
    遅延時間に関連し、カウンタの転覆イベントの数に関連する、複数のループの数の値と、前記カウンタに関連し、ループ周期値および最大カウント値の少なくとも一方を含む、少なくとも1つ以上の特性値を決定する手順と、
    前記複数のループの数の値と、所望の遅延時間と、前記少なくとも1つ以上の特性値とに基づいて、残りのカウント値を決定する手順と、
    現在のカウント値を得る手順と、
    少なくとも前記複数のループの数の値に等しい回数、前記現在のカウント値および前回のカウント値に基づく比較を実行して、前記転覆イベントを検出する手順と、
    前記複数のループの数の値と、前記残りのカウント値と、前記転覆イベントを検出する前記比較の結果とに基づいて、前記カウンタを用いて、前記遅延時間を生成する手順と
    を実行させる
    プログラム
  29. コンピュータに、
    前記比較に基づいて、前記遅延時間に達したかを判断する手順を実行させる
    請求項28に定義されるプログラム
  30. コンピュータに、
    前記転覆イベントが検出された場合に、前記複数のループの数の値を減らす手順と、
    前記複数のループの数の値が0より大きくない場合には、前記現在のカウント値および前記残りのカウント値に基づく比較を実行して、前記所望の遅延時間に達したかを判断する手順と、
    前記所望の遅延時間に達したかを判断する前記比較の結果に基づいて、前記カウンタを用いて、前記遅延時間を生成する手順と
    をさらに実行させる、
    請求項28または請求項29に定義されるプログラム
  31. コンピュータに、
    初期のカウント値を得る手順を実行させる
    請求項28から請求項30までの何れか一項に定義されるプログラム。
  32. コンピュータに、
    少なくとも前記初期のカウント値に基づいて、前記複数のループの数の値を決定する手順を実行させる
    請求項31に定義されるプログラム
  33. コンピュータに、
    少なくとも前記初期のカウント値に基づいて、前記残りのカウント値を決定する手順を実行させる
    請求項31または請求項32に定義されるプログラム
  34. 前記比較を実行して、前記転覆イベントを検出する手順は、前記初期のカウント値、前記現在のカウント値および前記前回のカウント値に基づいて当該比較を実行する手順を含み、
    前記比較を実行して、前記所望の遅延時間に達したかを判断する段階は、前記初期のカウント値、前記現在のカウント値および前記残りのカウント値に基づいて当該比較を実行する手順を含む、
    請求項31から請求項33までの何れか一項に定義される方法。
  35. コンピュータに、
    前記カウンタをポーリングする手順を実行させる
    請求項28から請求項34までの何れか一項に定義されるプログラム。
  36. コンピュータに、
    非割り込み環境において、前記カウンタをポーリングする手順を実行させる
    請求項28から請求項35までの何れか一項に定義されるプログラム。
  37. コンピュータに、
    前記カウンタの少なくとも1つの転覆イベントに基づいて、前記複数のループの数の値を減らす手順を実行させる
    請求項28から請求項36までの何れか一項に定義されるプログラム。
  38. コンピュータに、
    ブートプロセスに先立って、前記遅延時間を生成する手順を実行させる
    請求項28から請求項37までの何れか一項に定義されるプログラム。
JP2006541267A 2003-11-26 2004-11-12 カウンタを用いて遅延を生成するための方法および装置 Expired - Fee Related JP4452722B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/723,668 US7562105B2 (en) 2003-11-26 2003-11-26 Methods and apparatus for generating a delay using a counter
PCT/US2004/037772 WO2005055027A2 (en) 2003-11-26 2004-11-12 Methods and apparatus for generating a delay using a counter

Publications (2)

Publication Number Publication Date
JP2007512771A JP2007512771A (ja) 2007-05-17
JP4452722B2 true JP4452722B2 (ja) 2010-04-21

Family

ID=34592336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006541267A Expired - Fee Related JP4452722B2 (ja) 2003-11-26 2004-11-12 カウンタを用いて遅延を生成するための方法および装置

Country Status (5)

Country Link
US (1) US7562105B2 (ja)
EP (1) EP1687712A2 (ja)
JP (1) JP4452722B2 (ja)
CN (1) CN1906572B (ja)
WO (1) WO2005055027A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779178B2 (en) * 2005-06-29 2010-08-17 Intel Corporation Method and apparatus for application/OS triggered low-latency network communications
US8260602B1 (en) * 2006-11-02 2012-09-04 The Math Works, Inc. Timer analysis and identification
US20080162858A1 (en) * 2007-01-03 2008-07-03 Freescale Semiconductor, Inc. Hardware-based memory initialization with software support
US8725975B2 (en) * 2007-01-03 2014-05-13 Freescale Semiconductor, Inc. Progressive memory initialization with waitpoints
CN101981530B (zh) * 2008-04-11 2012-12-12 飞思卡尔半导体公司 具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品
WO2015095126A1 (en) 2013-12-20 2015-06-25 Hartdegen Vernon Polyaxial locking hole
US11202626B2 (en) 2014-07-10 2021-12-21 Crossroads Extremity Systems, Llc Bone implant with means for multi directional force and means of insertion
AU2015287901A1 (en) 2014-07-10 2017-02-23 Crossroads Extremity Systems, Llc Bone implant and means of insertion
US11864753B2 (en) 2017-02-06 2024-01-09 Crossroads Extremity Systems, Llc Implant inserter
WO2018148284A1 (en) 2017-02-07 2018-08-16 Crossroads Extremity Systems, Llc Counter-torque implant
CN109521825A (zh) * 2018-11-26 2019-03-26 北京无线电计量测试研究所 一种快速启动芯片电源
US20210203670A1 (en) * 2019-12-30 2021-07-01 Itron, Inc. Man-In-The-Middle Extender Defense In Data Communications
USD961081S1 (en) 2020-11-18 2022-08-16 Crossroads Extremity Systems, Llc Orthopedic implant

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2633406B1 (fr) * 1988-06-27 1990-11-02 Crouzet Sa Minuterie numerique a resolution constante
US5258656A (en) * 1991-07-25 1993-11-02 Pawlick William F Electronic on/off timer apparatus and method incorporating predetermined time delay intervals
JP2678115B2 (ja) * 1992-02-06 1997-11-17 三菱電機株式会社 タイマ回路
JP3225613B2 (ja) 1992-08-05 2001-11-05 日本電気株式会社 マイクロコンピュータ
US6064646A (en) * 1997-09-26 2000-05-16 Delco Electronics Corporation Data communication apparatus and method
JP3039781B1 (ja) * 1998-11-04 2000-05-08 日本電気株式会社 タイマ回路
DE50210978D1 (de) * 2001-03-15 2007-11-08 Bosch Gmbh Robert Verfahren und vorrichtung zur bildung von taktimpulsen in einem bussystem mit wenigstens einem teilnehmer, bussystem und teilnehmer
US7047270B2 (en) * 2002-11-22 2006-05-16 Texas Instruments Incorporated Reporting a saturated counter value
US6959397B2 (en) * 2003-06-18 2005-10-25 Motorola, Inc. Programmable skew clock signal generator selecting one of a plurality of delayed reference clock signals in response to a phase accumulator output

Also Published As

Publication number Publication date
US20050114416A1 (en) 2005-05-26
JP2007512771A (ja) 2007-05-17
CN1906572B (zh) 2011-03-02
US7562105B2 (en) 2009-07-14
WO2005055027A2 (en) 2005-06-16
EP1687712A2 (en) 2006-08-09
WO2005055027A3 (en) 2006-05-04
CN1906572A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
JP4452722B2 (ja) カウンタを用いて遅延を生成するための方法および装置
JPWO2012049728A1 (ja) シミュレーション装置,方法,およびプログラム
JP2019536146A (ja) プログラム可能クロックモニタ
US20080172551A1 (en) Operation verification method for verifying operations of a processor
US8443027B2 (en) Implementing a floating point weighted average function
JP6015865B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
AU2017438670B2 (en) Simulation device, simulation method, and simulation program
CN111524058A (zh) 硬件加速方法及硬件加速系统
US7984446B1 (en) Method and system for multitasking BIOS initialization tasks
JP3147851B2 (ja) シミュレーション方法、シミュレーション装置及びシミュレーションプログラムを記憶した記憶媒体
US6795914B2 (en) System and method for selectively executing programs in response to a reboot in a computer system
US20020147944A1 (en) Apparatus and method for adaptive address-based historical utilization recording
WO2021038636A1 (ja) 検証装置、検証方法、及び、検証プログラム
US20070010982A1 (en) Automatic time warp for electronic system simulation
WO2020026315A1 (ja) 割り込み制御装置、割り込み制御方法および割り込み制御プログラム
JP2001297039A (ja) データ処理装置
US11086758B1 (en) Identifying firmware functions executed in a call chain prior to the occurrence of an error condition
JP5949245B2 (ja) 情報処理装置、実行プログラムおよび実行方法
US20050050132A1 (en) Methods and apparatus for determining approximating polynomials using instruction-embedded coefficients
EP1690181A2 (en) Methods and apparatus for performing calculations using reduced-width data
CN115495868A (zh) 一种自回归模型参数的确定方法、计算设备和电子设备
EP2426603B1 (en) Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
CN117931361A (zh) 基于机器学习的虚拟机启动控制方法、装置、设备及介质
GB2436631A (en) Simulating a multi-processor system using cycle accurate or cycle approximate simulation
CN116820184A (zh) 指令执行方法及装置、指令生成方法及装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090616

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees