(57)【要約】  第１の入力（２１０）、第２の入力（２３２）、および出力を備える論理回路（２０４）を使用するいくつかの論理状態キャッチ回路（２００）が説明される。この論理回路（２０４）は、出力（２１２）でデータ値の代表値を生成させる第１の入力（２１０）に結合されたデータ値の状態の変化に応答するように構成されている。第２の入力（２３２）は、データ値がこの元の状態に戻った後に出力で代表値を保持するために、データ値のラッチバージョンを受け取る。ラッチ素子（２０６）は、データ値をラッチすることでデータ値の状態の変化に応答し、データ値のラッチバージョンを第２の入力（２３２）に結合するように構成されている。リセット素子（２０８）は、ラッチ素子（２０６）をリセットすることでクロック入力（２３０）の状態の変化に応答するように構成されている。
2010537458.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力、第２の入力、および出力を備え、前記出力で前記データ値の代表値を生成させる前記第１の入力に結合されたデータ値の状態の変化に応答するように構成された論理回路と、ここで、前記第２の入力は前記データ値がその元の状態に戻った後に前記出力で前記代表値を保持するために前記データ値のラッチバージョンを受け取る、
前記データ値をラッチすることで前記データ値の前記状態の変化に応答し、前記データ値の前記ラッチバージョンを前記第２の入力に結合するように構成されたラッチ素子と、
前記データ値が状態を変化させるとき前記データ値によって有効にされるリセット素子と、ここで前記有効にされるリセット素子は前記ラッチ素子をリセットすることでクロック入力の状態の変化に応答するように構成される、
を備える、論理状態キャッチ回路。
【請求項２】
前記クロック入力の前記状態の変化は前記データ値の前記状態の変化の前に発生する、請求項１の論理状態キャッチ回路。
【請求項３】
前記ラッチ回路は、
前記ラッチで１値を設定する制御入力および前記ラッチで０値を設定する制御入力を有する論理素子のラッチ構成、
を備える請求項１の論理状態キャッチ回路。
【請求項４】
前記リセット回路は、
前記第１の入力に結合された前記データ値によって有効にされるゲートデバイスであって、前記ゲートデバイスに前記ラッチ素子への前記制御入力の１つとして使用されるリセット信号を生成させる所定の期間中のクロック入力によって制御されるゲートデバイス、
を備える、請求項３の論理状態キャッチ回路。
【請求項５】
前記クロック入力は、前記データ入力信号が初期状態から論理状態キャッチ回路でキャッチされることが求められる状態に状態を変化させる直前に開始し、前記データ入力信号が前記初期状態に戻る直前に終了するようにリセットタイミングを調整するように遅延される、請求項４の論理状態キャッチ回路。
【請求項６】
前記リセット回路と結合された前記ラッチ素子と結合された前記論理回路は０キャッチャ回路を備える、請求項１の論理状態キャッチ回路。
【請求項７】
前記リセット回路と結合された前記ラッチ素子と結合された前記論理回路は１キャッチャ回路を備える、請求項１の論理状態キャッチ回路。
【請求項８】
前記論理回路は出力パスのファンアウトに見合うサイズで設計されている、請求項１の論理状態キャッチ回路。
【請求項９】
前記論理素子のラッチ構成は、前記論理回路のサイズの半分未満になるようなサイズで設計されている、請求項３の論理状態キャッチ回路。
【請求項１０】
前記ゲートデバイスは、前記論理回路のサイズの７５％未満になるようなサイズで設計されている、請求項４の論理状態キャッチ回路。
【請求項１１】
論理状態をキャッチする方法であって、
所定の期間中、論理状態キャッチ回路のラッチ素子をリセットすることと、
１論理ステージ内で、前記論理状態キャッチ回路の出力でのデータ入力信号の状態の変化を駆動することと、
前記データ入力信号の前記状態の変化に応答して、前記ラッチ素子を前記データ入力信号の前記論理状態にラッチすることと、
前記論理状態キャッチ回路の前記出力の前記出力状態を保持するために前記ラッチ素子の出力を使用することと、
を含む方法。
【請求項１２】
前記ラッチ素子を前記リセットすることは、前記データ入力信号の前記状態の変化の前に行われ、前記ラッチ素子を前記データ入力信号の前記変化された状態に前記ラッチすることは、前記所定の期間が終了する前に行われる、請求項１１の方法。
【請求項１３】
前記論理状態キャッチ回路における論理状態のキャッチングを許可する状態へのクロック遷移に応答して、前記論理状態キャッチ回路のリセット素子を有効にすること、
をさらに含む請求項１１の方法。
【請求項１４】
前記データ入力信号の前記状態の変化の前に１標準論理ゲートのファンアウト負荷を有する１論理インバータの遅延と少なくとも等しくなるように前記クロック遷移の到達時刻を調整すること、
をさらに含む請求項１３の方法。
【請求項１５】
クロックが前記ラッチ素子をリセット状態に保持する状態に遷移するまで、前記データ入力信号の前記ラッチされた論理状態を保持すること、
をさらに含む請求項１１の方法。
【請求項１６】
少なくとも、前記データ入力信号の前記パルス幅の前記遅延に１標準論理ゲートのファンアウト負荷を有する１論理インバータの遅延を加えて前記クロックの前記パルス幅を調整すること、
をさらに含む請求項１５の方法。
【請求項１７】
第１の入力、第２の入力、および出力を備え、前記出力で前記データ値の代表値を生成させる前記第１の入力に結合されたデータ値の状態の変化に応答するように構成された論理回路と、ここで、前記第２の入力は前記データ値がその元の状態に戻った後に前記出力で前記代表値を保持するために前記データ値のラッチバージョンを受け取る、
前記データ値をラッチすることで前記データ値の前記状態の変化に応答して、前記データ値の前記ラッチバージョンを前記第２の入力に結合するように構成されたラッチ素子と、
クロックが前記ラッチ素子を前記データ値の前記状態の変化に応答することを許可する状態に変化するまで、前記ラッチ素子をリセット状態に保持するように構成されたリセット素子と、
を備える論理状態キャッチ回路。
【請求項１８】
前記ラッチ回路は、
前記ラッチに１値を設定する制御入力および前記ラッチに０値を設定する制御入力を有する論理素子のラッチ構成、
を備える請求項１７の論理状態キャッチ回路。
【請求項１９】
前記リセット回路は、
前記ラッチ素子への前記制御入力の１つとして使用されるリセット信号を生成させる所定の期間中、前記クロックによって制御されるゲートデバイス、
を備える、請求項１８の論理状態キャッチ回路。
【請求項２０】
前記データ値の前記状態の変化および前記クロックの前記パルス幅に関連して、前記クロックの到達時刻を制御するためのクロック制御回路、
をさらに備える、請求項１９の論理状態キャッチ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に集積回路および処理システムの分野に関し、より詳細には、０および１のキャッチャ回路に関する。
【背景技術】
【０００２】
携帯電話、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）などといった多くの携帯用製品は、通信プログラムやマルチメディアプログラムといったプログラムを実行するプロセッサを利用する。このような製品のための処理システムは、命令およびデータを処理するためのプロセッサ複合体を含む。このような携帯用製品や、他のパーソナルコンピュータなどは機能が複雑であるため、高性能なプロセッサおよびメモリを必要とする。同時に、携帯用製品には電池という形での限られたエネルギー源しかなく、電池寿命を延ばすために低い電力レベルで高レベルの性能を提供する。また、今日開発されている多くのパーソナルコンピュータは、全般的エネルギー消費を低減するために、低電力消耗で高性能を提供するように設計されている。
【０００３】
プロセッサ複合体の内部では、機能、表示密度、記憶密度、ならびに新しい通信およびメディア圧縮の規格のサポートが増大するにつれて、記憶素子、論理ゲート、およびラッチが、ますます高い密度で使用されるようになる。例えば多くのプロセッサは、ギガヘルツクロック速度を達成するために長い実行パイプラインを使用する。実行パイプライン内の各ステージは、パイプラインステージごとに大規模なデータバスおよび命令バスがラッチされるため、多数のラッチを必要とする。
【０００４】
モバイル機器で使用される、レジスタファイルといった記憶素子は、高速度と低電力消費の両方を必要とする。例えばレジスタファイルでは、これの速度優位性による読み取りアクセスのために動的論理技術が使用される。動的回路は、プリチャージおよびデータ評価相を使用して出力値を決定する。動的論理素子から読み取られるデータの動的で一時的な特性のために、ラッチは動的読み取りビット線上で提供される評価データ値を保持するように使用される。保持ラッチは、クロック信号を使用しない論理０値のキャッチングに好都合であり、一般には０キャッチャ（0 catcher）と呼ばれる。例えば標準的なラッチは、交差結合(cross coupled)インバータを使用して、論理レベルをキャッチし、論理レベルを保持し、論理レベルを後続の論理ステージに駆動することを含む後続の諸機能を実行し得る。このような標準的ラッチは、保持された論理レベルを異なる論理レベルに遷移させようとするとき、過剰な電力を使用するかもしれない。交差結合インバータの出力は長い導線または複数の負荷を駆動し得るため、この遷移電力消耗は容認できないほど大きくなる可能性がある。
【発明の概要】
【０００５】
本開示は、プロセッサ複合体における電力所要量を低減することは、携帯用途にとって、そして、一般に、処理システムにおける電力使用を低減するために重要であると認めている。また、回路が高性能および低電力を提供するように考案される必要があることも認めている。このような目的のために、本発明の一実施形態は、第１の入力、第２の入力、および出力を備える論理回路を有する論理状態キャッチャ回路（catcher circuit）を扱う。この論理回路は、出力でデータ値の代表値を生成させる第１の入力に結合されたデータ値の状態の変化に応答するように構成されている。第２の入力パスは、データ値がこの元の状態に戻った後に出力で代表値を保持するために、データ値のラッチバージョンを受け取る。ラッチ素子は、データ値をラッチすることでデータ値の状態の変化に応答し、データ値のラッチバージョンを第２の入力に結合するように構成されている。リセット素子は、データ値が状態を変えるとき、データ値によって有効にされ、有効にされるリセット素子は、ラッチ素子をリセットすることによりクロック入力の状態の変化に応答するように構成されている。
【０００６】
別の実施形態は論理状態をキャッチする方法を扱う。論理状態キャッチ回路（catching circuit）のラッチ素子は所定の期間中にリセットされる。１論理ステージ内で、データ入力（data-in）信号の状態の変化が論理状態キャッチ回路の出力で駆動される。ラッチ素子は、データ入力信号の状態の変化に応答してデータ入力信号の論理状態をラッチする。ラッチ素子の出力は、論理状態キャッチ回路の出力の出力状態を保持するように使用される。
【０００７】
さらなる実施形態は、第１の入力、第２の入力、および出力を備える論理回路を有する論理状態キャッチ回路を扱う。この論理回路は、出力でデータ値の代表値を生成させる第１の入力に結合されたデータ値の状態の変化に応答するように構成されている。第２の入力は、データ値がこの元の状態に戻った後に出力で代表値を保持するために、データ値のラッチバージョンを受け取る。ラッチ素子は、データ値をラッチすることでデータ値の状態の変化に応答し、データ値のラッチバージョンを第２の入力に結合するように構成されている。リセット素子は、クロックがラッチ素子をデータ値の状態の変化に応答することを許可する状態に変化するまで、ラッチ素子をリセット状態に保持するように構成されている。
【０００８】
高速論理状態キャッチ機能、保持機能、および節電機構を組み合わせた論理状態キャッチ回路は、以下でさらに詳細に扱う。
【０００９】
本発明の様々な実施形態が例を引いて図示され、説明されているように、本発明の他の実施形態は、当業者にとって容易に明らかになるだろうと理解される。了解されるように、本発明は他のおよび異なる実施形態も可能であり、そのいくつかの細部は、本発明から逸脱することなく、他の様々な点で変更することができる。したがって、図面および詳細な説明は、事実上、例示であるとみなされるべきであり、限定ではないとみなされるべきである。
【図面の簡単な説明】
【００１０】
【図１】無線通信システムを示す図である。
【図２】０キャッチャ回路の第１の実施形態を示す回路図である。
【図３】０キャッチャ回路の第２の実施形態を示す回路図である。
【図４】図３の０キャッチャ回路の動作におけるタイミングイベントの第１のシーケンスを示すタイミング図である。
【図５】図３の０キャッチャ回路の動作におけるタイミングイベントの第２のシーケンスを示すタイミング図である。
【図６】図３の０キャッチャ回路において０をキャッチする際のタイミングイベントの例示的シーケンスを示す図である。
【図７Ａ】０キャッチャ回路の第３の実施形態を示す回路図である。
【図７Ｂ】図７Ａの０キャッチャ回路のためのクロックを提供するのに使用される例示的クロック回路を示す図である。
【図８】図７Ａの０キャッチャ回路と図７Ｂのクロック回路の動作に対応するタイミング図である。
【図９】１キャッチャ回路の第１の実施形態を示す回路図である。
【図１０】１キャッチャ回路の第２の実施形態を示す回路図である。
【発明を実施するための形態】
【００１１】
添付の図面と関連して以下に示す詳細な説明は、本発明の様々な例示的実施形態を説明するためのものであり、本発明が実施され得る限られた実施形態を表わすためのものではない。詳細な説明は、本発明の十分な理解を提供することを目的とした具体的な詳細を含む。しかし、本発明がこれらの具体な的詳細なしでも実施され得ることは当業者に明らかであろう。場合によっては、周知の構造および構成要素は、本発明の概念を不明確にしないように、ブロック図の形式で示されている。
【００１２】
図１は、本発明の一実施形態が有利に用いられ得る例示的な無線通信システム１００を示す。例示を目的として、図１は、３つのリモートユニット１２０、１３０、および１５０と、２つの基地局１４０が示されている。一般の無線通信システムは、さらに多くのリモートユニットと基地局とを有し得ることが理解されるであろう。リモートユニット１２０、１３０、および１５０は、それぞれ、構成要素１２５Ａ、１２５Ｃ、および１２５Ｂで表されるようにハードウェア構成要素、ソフトウェア構成要素、またはこれら両方を含み、これらは、以下でさらに論じる本発明を実施するように適合されている。図１は、基地局１４０からリモートユニット１２０、１３０、および１５０へのフォワードフォワードリンク信号１８０と、リモートユニット１２０、１３０、および１５０から基地局１４０へのリバースリンク信号１９０を示す。
【００１３】
図１において、リモートユニット１２０は移動電話として図示されており、リモートユニット１３０は携帯型コンピュータとして図示されており、リモートユニット１５０は、無線加入者回線システムにおける固定位置リモートユニット（fixed location remote unit）として図示されている。一例として、各リモートユニットは、代替として、携帯電話、ページャ（pager）、ウォーキートーキ(walkie taltie)、ハンドヘルド式パーソナル通信システム(handheld personal communication system)（ＰＣＳ）ユニット、携帯情報端末（ＰＤＡ）などの携帯式データユニット、あるいは検針装置などの固定位置データユニット（fixed location data unit）とできる。図１は本開示の教示によるリモートユニットが示されているが、本開示はこれらの例示的に図示されたユニットだけに限定されるものではない。本発明の実施形態は、パイプライン化プロセッサおよびそれをサポートする周辺装置といった動的論理を有するどんな装置でも適切に用いられ得る。
【００１４】
図２は０キャッチャ回路２００の第１の実施形態の回路図である。例示的な０キャッチャ回路２００は、データ出力ステージ２０４、ラッチ素子２０６、およびリセット素子２０８で構成されている。データ出力ステージ２０４はラッチ素子２０６と結合されており、それはさらにリセット素子２０８と結合されている。０キャッチャ回路２００は、データ入力信号２１０のハイからローへの（high-to-low）遷移をキャッチし、クロック信号２３０の状態にかかわらず、データ出力ステージ２０４を介したデータ出力（data-out）信号２１２への高速信号パスを提供するように設計されている。データ出力ステージ２０４は、論理ＮＡＮＤゲート２１４といった単一の論理ゲート素子を効果的に（advantageously）使用し、それは、性能や次の論理ステージへのファンアウト負荷(fan out loading)といった様々な要因に関連して効果的に設計され得る。次の論理ステージの条件によっては、論理ＮＡＮＤゲート２１４は、例えばＡＮＤゲートなどの他の論理関数を用いて実施されてもよいことが理解される。ラッチ素子２０６は、交差結合ラッチ構成の中にトライステートインバータ(tristate inverter)２１６およびインバータ２１８を備える。交差結合インバータ２１６および２１８は、インバータ２２０およびトランジスタ２２２の使用によりデータ入力信号２１０のハイからローへの遷移の結果として０値を保持するように制御される。交差結合インバータ２１６および２１８は、０キャッチャ回路２００のデータ出力信号２１２を直接駆動せず、イベントを変化させる状態のタイミング(timing of state changing events)、デバイス性能、デバイス物理実装サイズ(device physical implementation size)といった、様々な要因に関連して効果的に設計され得る。リセット素子２０８は、バッファデバイス２２８によってバッファされるデータ入力信号２１０と、クロック信号２３０とそれぞれ応答する、２つの直列に結合されたトランジスタ２２４および２２６を備える。またリセット素子２０８も０キャッチャ回路２００の出力駆動ステージから分離されており、イベントを変化させる状態のタイミング、デバイス性能、電力、デバイス物理実装サイズといった、様々な要因に関連して効果的に設計され得る。
【００１５】
動作に際して、データ入力信号２１０は、通常、データ評価期間中に、ハイレベル(high-level)値からローレベル(low-level)値に遷移することができ、次に、ハイレベル値に戻り得るハイレベル値にある。このようなパルスは、データ入力信号２１０に０が存在することを示す。最初に、データ評価期間の開始前、データ出力信号２１２は、ＮＡＮＤゲート２１４への入力、すなわちデータ入力信号２１０およびデータＨ（data-H）信号２３２が両方ともハイレベルにあることを示すローレベルにあるものと仮定される。データ入力信号２１０がハイレベルからローレベルへの遷移を行うとき、ＮＡＮＤゲート２１４出力のデータ出力信号２１２はハイレベル値に遷移する。データ入力信号２１０の状態変化からデータ出力信号２１２の状態変化までの遅延は、ＮＡＮＤゲート２１４およびデータ出力信号２１２の負荷の遅延によるものである。例えば、６５ナノメートル（ｎｍ）技術は、キャッチャ回路２００を実装するために使用されてもよく、この技術では、ＮＡＮＤゲートは、平均４負荷のファンアウトを駆動する４０から７０ピコ秒（ｐｓ）の範囲の遅延を有してもよい。データ出力ステージ２０４は、データ出力信号２１２に０値を提供するための高速パスを表わす。
【００１６】
データ入力信号２１０の０への遷移は短期間のパルスのものであり、データは、後続ステージにおける論理が入力値に適正に応答するために、より長期間にわたってラッチされなければならない。ラッチ素子２０６はデータ出力信号２１２の状態を保持する保持機能を提供する。データ入力信号２１０がローレベルにある間、インバータ２２０はデータＨ信号２３２をロー値にするトランジスタ２２２を「ＯＮ」に駆動することに応答する。さらに、データ入力信号２１０のロー値は、トライステートインバータ２１６を高インピーダンス出力状態にするトライステートイネーブル入力２３４を制御する。この高インピーダンス状態は、トライステートインバータ２１６の出力が、遷移を行う際に最小限の電力消耗でトランジスタ２２２によりロー値に容易に駆動されること許可する。データＨ信号２３２でのローレベルは、インバータ２１８の出力、すなわちデータＬ（data-L）信号２３６をハイレベルに遷移させる。短期間の後、データ入力信号２１０は、トライステートインバータ２１６を再度有効（enable）にするためにハイレベルに戻って遷移する。トライステートインバータ２１６は、これによってラッチ素子２０６で０をラッチし、ＮＡＮＤゲート２１４への入力で０を保持するこの出力データＨ信号２３２でローレベルを維持するために、ハイレベルのデータＬ信号２３６に応答する。データ出力信号２１２は、これによって、データ入力信号２１０がこの初期レベルに戻った後、次にデータ入力とクロックの両方が「１」になるときまで保持される。
【００１７】
０キャッチャが次のデータ入力信号２１０値に応答することを許可するために、リセット素子２０８は、クロック信号２３０によって制御されるように所定の期間中有効にされる。データ入力信号２１０がハイレベルにある状態では、バッファデバイス２２８はトランジスタ２２４をオンに駆動し、クロック信号２３０がハイレベルに遷移すると、トランジスタ２２６がデータＬ信号２３６をローレベルにするオンになる。交差結合インバータ２１６および２１８は、ＮＡＮＤゲート２１４がデータ入力信号２１０での次の値に従うことを有効にする１レベルを保持するように遷移する。
【００１８】
図３は、０キャッチャ回路３００の第２の実施形態の回路図である。例示的な０キャッチャ回路３００は、データ出力ステージ３０４、ラッチ素子３０６、およびリセット素子３０８で構成されている。データ出力ステージ３０４は、ラッチ素子３０６と結合されており、さらにリセット素子３０８とも結合されている。０キャッチャ回路３００は、データ入力信号３１０のハイからローへの遷移をキャッチし、データ出力ステージ３０４を介したデータ出力信号３１２への高速信号パスを提供するように設計されている。データ出力ステージ３０４は、論理ＮＡＮＤゲート３１４のような単一の論理ゲート素子を効果的に使用し、それは、性能および次の論理ステージへのファンアウト負荷といった様々な要因に関連して効果的に設計され得る。次の論理ステージ段の条件によっては、論理ＮＡＮＤゲート３１４は、例えばＡＮＤゲートなどの他の論理関数を用いて実装されてもよいことが理解される。ラッチ素子３０６は、交差結合ラッチ構成の中で２入力ＮＯＲゲート３１６およびインバータ３１８を備える。ＮＯＲゲート３１６およびインバータ３１８によって表わされる交差結合ラッチは、インバータ３２０の使用によりデータ入力信号３１０でのハイからローへの遷移の結果として０値を保持するように制御される。ＮＯＲゲート３１６、インバータ３１８、またはインバータ３２０は、データ出力信号３１２を直接駆動しないため、これらは、イベントを変化させる状態のタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して効果的に設計され得る。リセット素子３０８は、インバータ３２０および３２８によってバッファされるデータ入力信号３１０と、クロック信号３３０とにそれぞれ応答する２つの直列に結合されたトランジスタ３２４および３２６を備える。さらに、リセット素子３０８は０キャッチャ回路３００の出力駆動ステージから分離されており、イベントを変化させる状態のタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して効果的に設計され得る。
【００１９】
図３の０キャッチャ回路３００の別々の要素としてデータ出力ステージ３０４、ラッチ素子３０６、およびリセット素子３０８を有することにより、０キャッチャ回路３００の個々のデバイスの物理的サイズは、０キャッチャ回路３００の性能に影響を及ぼさずにこれらの意図された機能のために効果的に設計され得る。例えば、データ出力ステージ３０４は、データ出力信号３１２のファンアウトおよび性能条件によりサイズされるＮＡＮＤゲート３１４からなる。参照する点(reference point)として、ＮＡＮＤゲート３１４は、４標準論理負荷のファンアウトおよび相対的に短いワイヤ長に基づく低電力６５ｎｍＣＭＯＳ技術でサイズされてもよい。さらに、正しい動作に応答する０キャッチャ回路では、高性能は例として、データ入力信号３１０の１５０ピコ秒の最小パルス幅を必要とされると仮定される。さらに、ラッチ素子３０６およびリセット素子３０８内に位置するデバイスは、相互にごく近接して配置されており、データ出力ステージ３０４、ラッチ素子３０６、およびリセット素子３０８は共に近接して位置しているものと仮定する。
【００２０】
ラッチ素子３０６のＮＯＲゲート３１６も、インバータ３１８も、インバータ３２０もデータ出力信号３１２を直接駆動しないため、これらのデバイスは、これらが提供するラッチ機能に従ってサイズされてもよい。参照する点の例として、ＮＯＲゲート３１６、インバータ３１８、およびインバータ３２０は、ＮＡＮＤゲート３１４のサイズに対応してサイズされてもよい。例えば、ＮＯＲゲート３１６、インバータ３１８、およびインバータ３２０は、それぞれ、ＮＡＮＤゲート３１４のサイズのおおよそ×０．２、×０．１、および×０．１とし、正しいラッチ機能を提供させることができる。同様に、分離されたリセット素子３０８は、この機能に従ってサイズされてもよい。例えばトランジスタ３２４は、リセット動作中にインバータ３１８の出力と「競合する（fighting）」ことになることがあるため、インバータ３１８のサイズのおおよそ３倍（×３）またはＮＡＮＤゲート３１４のサイズのおおよそ×０．３とサイズされてもよい。トランジスタ３２４を駆動するインバータ３２８はさほど大きくする必要はなく、インバータ３１８のサイズの半分（×０．５）、またはＮＡＮＤゲート３１４のサイズのおおよそ×０．０５であってもよい。トランジスタ３２６は、同じ電流搬送能力を提供するために、トランジスタ３２４と同様にサイズされる。これらの相対的デバイスサイズは、０キャッチャ回路３００のように、０キャッチャ回路の機能をデータ出力ステージ、ラッチ素子、およびリセット素子に分離することによって達成され得る有利な設計サイズを指示するための一例として示すものである。また、このような物理的設計改善はさらに、０キャッチャの性能も改善し、この電力利用を低減することも理解される。
【００２１】
さらに０キャッチャ回路３００の動作詳細は、以下で、それぞれ、図４および図５、タイミング図４００および５００を参照して詳細に説明されている。タイミング図４００および５００における信号タイミングイベントの説明は、図３の回路素子を指す参照符号を含み、２００ピコ秒（ｐｓ）または０．２ナノ秒（ｎｓ）間隔単位の時間参照表示を含む。タイミングイベントは、信号遷移が実装技術で使用されるデバイスの論理しきい値を超えると開始するとみなされる。図示された構成要素の代表的なタイミングおよび応答時間は、高性能実装技術を例示するものである。
【００２２】
図４のタイミング図４００から始めると、図３の０キャッチャ回路３００の動作におけるイベントの第１のシーケンスが示されている。時刻０．０において、クロック信号３３０およびデータＨ信号３３２はロー信号値にあり、データ入力信号３１０、データＬ信号３３６、およびデータ出力信号３１２はハイレベルにある。タイミングイベント４０４で、クロック信号３３０は、データＬ信号３３６をローレベルに下げて駆動されるようにハイレベルに遷移する。データＬ信号３３６の状態の変化は、すでにオンであるトランジスタ３２４およびトランジスタ３２６を「ＯＮ」に駆動するクロック信号３３０に起因する。タイミングイベント４０６で、ＮＯＲゲート３１６への２つの入力がローになるであろうから、データＬ信号３３６は、データＨ信号３３２をハイレベルに駆動させるようにローレベルに遷移する。タイミングイベント４０８で、データ出力信号３１２は、ＮＡＮＤゲート３１４への両方の入力がハイレベルにあるため、ローレベルに駆動される。
【００２３】
タイミングイベント４１０で、データ入力信号３１０は、データ出力信号３１２をハイレベルに遷移させるように状態をローレベルに変化させる。タイミングイベント４１２で、データ入力信号３１０の状態の変化は、データＨ信号３３２をローレベルに遷移させる。タイミングイベント４１４で、データＨ信号３３２の状態の変化は、データＬ信号３３６をハイレベルに遷移させ、そしてそれは、ラッチ素子３０６でデータ入力信号３１０の０値を効果的にラッチする。データ出力信号３１２は、図４の１．０ナノ秒表示のところに示されるように、データ入力信号３１０がハイレベルに戻る間でさえも、ＮＡＮＤゲート３１４により反転されたラッチされた０値のまま留まる。
【００２４】
タイミングイベント４１６で、クロック信号３３０は、データＬ信号３３６をローレベルに遷移させるようにハイレベルに遷移する。タイミングイベント４１８で、ＮＯＲゲート３１６への２つの入力がローになるであろうから、データＬ信号３３６は、データＨ信号３３２をハイレベルに駆動させるようにローレベルに遷移する。タイミングイベント４２０で、データ出力信号３１２は、ＮＡＮＤゲート３１４への両方の入力がハイレベルにあるため、ローレベルに駆動される。クロック信号３３０がローレベルに戻って、交差結合インバータのためのリセットが完了し、０キャッチャ回路３００は、データ入力信号３１０の次の０状態をキャッチするために用意する。
【００２５】
データ出力信号３１２は、データ入力信号におけるリセットおよびこれに続くハイからローへの遷移の影響によるものであり、タイミングイベント４０８からのデータ出力信号３１２の立ち下がりエッジから開始すしタイミングイベント４１０のデータ出力信号３１２の立ち上がりエッジまでのパルスを有することがわかる。さらに、データ出力信号３１２のこのようなパルスは、図５に示すようにクロック信号３３０を制御することにより効果的に最小限に抑えられ、または回避され得ることもわかる。
【００２６】
図５は、図３の０キャッチャ回路３００の動作におけるタイミングイベントの第２のシーケンスを示すタイミング図である。図４のタイミング図の説明と同様に、タイミング図５００の信号タイミングイベントの説明は、図３の回路素子を指す参照符号を含む。
【００２７】
時刻０．０において、クロック信号３３０およびデータＨ信号３３２はロー信号値にあり、データ入力信号３１０、データＬ信号３３６、およびデータ出力信号３１２はハイレベルにある。別々のラッチ素子３０６およびリセット素子３０８により、クロック信号３３０は、図４のタイミングイベント４０８と４１０の間で発生したデータ出力信号３１２の遷移を最小限に抑え、または回避するように遅延されるかもしれない。クロック信号３３０は、データ入力信号３１０の状態の変化のタイミングと厳密にマッチするように制御される。タイミングイベント５０４で、クロック信号３３０は、データＬ信号３３６をローレベルに下げて駆動されるようにハイレベルに遷移する。データＬ信号３３６の状態の変化は、すでにオンであるトランジスタ３２４およびトランジスタ３２６をオンに駆動するクロック信号３３０によるものである。タイミングイベント５０６で、ＮＯＲゲート３１６への２つの入力がローになるからであろうから、データＬ信号３３６は、データＨ信号３３２をハイレベルに駆動され始めるようにローレベルに遷移する。遅延されたクロックとデータ入力信号の間の最適化されたタイミングによりタイミングイベント５０６の後まもなく発生するタイミングイベント５１２で、データ入力信号３１０の状態の変化は、データＨ信号３３２をローレベルに戻させる。タイミングイベント５１４で、データ入力信号３１０の状態の変化は、データＬ信号３３６をハイレベルに遷移させ、そしてそれはラッチ素子３０６でデータ入力信号３１０の０値を効果的にラッチする。データ出力信号３１２は、図５の１．０ナノ秒表示のところに示されるように、データ入力信号３１０がハイレベルに戻る間でさえも、ＮＡＮＤゲート３１４により反転されたラッチされた０値のまま留まる。このリセット期間中には、遅延されたクロック信号３３０のために、データ出力信号３１２の遷移が発生しないことがわかる。このような遷移の低減は、複数の０キャッチャ回路を有するシステムにおける電力を節約する。個々の実装のための最良から最悪までのタイミングシナリオのうち正しい動作を保証するのに回路解析法が使用されることが理解される。
【００２８】
タイミングイベント５１６に進んで、クロック信号３３０は、データＬ信号３３６をローレベルに遷移させるようにハイレベルに遷移する。タイミングイベント５１８で、ＮＯＲゲート３１６への２つの入力がローになるであろうから、データＬ信号３３６は、データＨ信号３３２をハイレベルに駆動されるようにローレベルに遷移する。タイミングイベント５２０で、データ出力信号３１２は、ＮＡＮＤゲート３１４への両方の入力がハイレベルにあるため、ローレベルに駆動される。クロック信号３３０がローレベルに戻って、リセット期間が完了し、０キャッチャ回路３００は、データ入力信号３１０の次の０状態をキャッチするように用意する。
【００２９】
図３の０キャッチャ回路３００は、２つの入力信号としてのデータ入力信号３１０およびクロック信号３３０を、１つの出力信号としてのデータ出力信号３１２を有する。２つの入力のうちのどちらかで遷移が発生すると、０キャッチャ回路の動作を決定するタイミングイベントのシーケンスが続く。図６は、図３の０キャッチャ回路３００で０をキャッチする際のタイミングイベントの例示的なシーケンスを示す。システムにおける他の信号に対する信号のタイミングおよび信号がある状態から別の状態に遷移するのに要する時間は、信号が異なるファンアウト数およびワイヤ長を有する実装技術および個々の設計によって変動し得ることが理解される。実装技術および設計の許容誤差および仕様の範囲内で、このような変動は説明されることができ、そして０キャッチャ回路の様々な実施形態の正しい動作を除外しない。
【００３０】
データ入力信号３１０の初期状態はハイであり、クロック信号３３０の初期状態はローである。また、クロック信号３３０の遷移はデータ入力信号３１０の遷移の前に生じるクロック信号３３０の遷移で。クロック信号３３０は、データ入力信号３１０での遷移のタイミングに厳密にマッチするように適切に遅延される。遷移５２２といったクロック信号３３０の遷移は、一般に、ラッチ素子３０６がリセットされることを確実にするように評価されるデータ入力信号３１０の前に発生することがわかる。このタイミングシーケンスは、データ入力信号３１０の状態によって必要とされる場合、ラッチ素子３０６に状態を変化させことを許可する。データ入力信号３１０でのハイからローへの遷移は、ラッチ素子３０６をリセットするための先行クロック信号遷移なしに、０キャッチャ回路でキャッチされるだろう。データ入力信号３１０が、ラッチ素子３０６をリセットするための先行クロック信号遷移なしに、評価時に１レベルを維持していた場合、この１レベルは、０キャッチャ回路があらかじめ０を保持していた場合、０キャッチャ回路でキャッチされないだろう。
【００３１】
図６は、データ評価期間に先行するクロック信号について通常動作によるタイミングイベントの例示的なシーケンスを示す。タイミングイベントは、信号遷移が実装技術で使用されるデバイスの論理しきい値を超えると開始するとみなされる。ブロック６０２で、決定は、クロック信号３３０がこの場合に立ち上がり遷移のような遷移を行ったかどうかでなされる。クロック信号３３０の遷移が発生しなかった場合、０キャッチャ回路３００は安定状態のままに留まり、クロック信号３３０の遷移を待つ。クロック信号３３０の遷移が発生した場合、次に、プロセス６００はブロック６０４に進む。ブロック６０４で、リセット素子３０８は、ラッチ素子のデータＬ信号３３６をローに駆動するように操作される。ブロック６０４は、タイミングイベント５０４および５１６に相当する。ブロック６０６で、ラッチ素子３０６は、データＨ信号３３２をハイに駆動し始める。ブロック６０６は、タイミングイベント５０６および５１８に相当する。
【００３２】
ブロック６０８で、決定は、データ入力信号３１０がクロック信号遷移に続いて立ち下がり遷移を行ったかどうかでなされる。立ち下がり遷移が行われた場合、次に、プロセス６００はブロック６１０およびブロック６１２に進む。ブロック６１０で、データ出力信号３１２は０を示すハイに駆動される。ブロック６１２で、データＨ信号３３２はローに駆動される。ブロック６１２はタイミングイベント５１２に相当する。このように、図４のタイミングイベント４０８および４１０と関連付けられるようなデータ出力信号３１２の遷移は回避され、これによって電力を節約する。ブロック６１４で、データＬ信号３３６はハイに駆動される。ブロック６１４はタイミングイベント５１４に相当する。ブロック６１６で、安定状態は、ゼロを保持するラッチ素子３０６およびハイレベルのデータ出力信号３１２によって到達される。前述のように、データ出力信号３１２でのハイレベルは、ＮＡＮＤゲート３１４の使用による０を示す。
【００３３】
ブロック６０８に戻って、データ入力信号３１０がクロック信号遷移に続いて０遷移を行わなかった場合、次に、プロセス６００はブロック６１８に進む。ブロック６１８で、データ出力信号３１２はローに駆動される。ブロック６１８はタイミングイベント５２０に相当する。ブロック６２０で、安定状態は、１を保持するラッチ素子３０６およびローレベルのデータ出力信号３１２によって到達される。前述のように、ローレベルは、ＮＡＮＤゲート３１４の使用による１を示す。
【００３４】
図７Ａおよび７Ｂに関連して以下に示すように、データ入力信号３１０とクロック３３０のタイミング関係が制御され得れば、０キャッチャ回路の別の実施形態は改善された領域および電力の節約を提供するために使用され得る。図７Ａは、０キャッチャ回路７００の第３の実施形態の回路図である。０キャッチャ回路７００は、データ出力ステージ７０４、ラッチ素子７０６およびリセット素子７０８を有する。０キャッチャ７００は、リセット素子７０８を除いては図３の０キャッチャ回路３００と同様であり、そしてそれはインバータ３２８のようなインバータまたはトランジスタ３２４のようなトランジスタの使用を必要としない。データ出力ステージ７０４およびラッチ素子７０６は、図３のデータ出力ステージ３０４およびラッチ素子３０６の動作と同様に動作する。
【００３５】
図７Ｂは、図７Ａの０キャッチャ回路にクロックを提供するために使用される例示的なクロック回路７５０である。クロック回路７５０は、データ入力信号７１０とクロック７３０の間のタイミング関係を制御する。例えば、タイミング関係を制御するために、クロック回路７５０は、第１の遅延バッファ７５２、第２の遅延バッファ７５４、およびＡＮＤゲート７５６を使用する。第１の遅延バッファ７５２は、データ入力信号７１０に対するクロック７３０の到達時刻を制御し、第２の遅延バッファ７５４は、クロック７３０のパルス幅を低減する。第１の遅延バッファ７５２と第２の遅延バッファ７５４の遅延値は、正常にリセットされ、一方、同時にラッチ素子７０６のリセットを遅延させることによってデータＬ信号７３６のパルス幅を低減するノード７３６を保証し得るクロック７３０を生成するように選択される。例えば、図５のタイミングイベント５０６と５１４の間に示されるパルス幅は、クロック回路７５０によって制御され得る。このようなパルス幅を制御することにより、データ出力信号７１２でグリッチを生成する可能性は最小限に抑えられ、または排除される。また、タイミング関係の慎重な制御により、データ出力信号７１２で発生し得るいかなるグリッチのパルス幅も低減され得る。
【００３６】
図８は、図７Ａの０キャッチャ回路と図７Ｂのクロック回路の動作にするタイミング図８００を示す。データ入力信号７１０とクロック７３０の間のタイミング関係は、内部反転されたデータ入力信号７２１およびデータＬ信号７３６に関して示されている。図７Ａおよび図７Ｂの回路は、グラウンドレベルの２０％より上または電源電圧レベルの２０％で入力信号に応答するものと仮定される。例えば、「０」値は、０．２ボルト以下のいかなるものとみなされるはずであり、「１」値は、１．０ボルトの電源電圧で０．８ボルト以上のいかなるものとみなされるはずである。技術によっては、異なる電源電圧が使用されてもよく、２０％以外の応答許容誤差も使用され得る。タイミング図８００について、１ボルトの電源電圧が仮定されている。
【００３７】
図８では、データ入力信号７１０は時刻８０２に到達する。データ入力信号７１０の到達に応答して、反転されたデータ入力信号７２１がタイミングイベント８０４で生成される。タイミングイベント８０６で、データＬ信号７３６は立ち上がりエッジで応答する。クロック７３０は、クロック７３０の立ち下がりエッジがデータＬ信号７３６の立ち上がりエッジがトランジスタ７２６をディセーブルにし、ラッチ素子７０６に０をキャッチすることを許可するトランジスタ７２６を無効にするデータＬ信号７３６の立ち上がりエッジの前の時間遅延期間８０８内に発生するように制御される。例えば、低電力６５ｎｍＣＭＯＳ技術での４０ピコ秒が時間遅延期間８０８で使用され得る。このようなタイミング仕様は、デバイスの動作領域（operating corner）に依存し、そして、正しい動作を提供する値の範囲とみなされ得る。例えば、デバイスが主要な動作領域において動作しているとき、４０ｐｓの時間遅延期間８０８は正しい動作を保証するのに十分として特定される。
【００３８】
図８では、データ入力信号７１０は、時刻８１０で「１」値に戻る。タイミングイベント８１２で、反転されたデータ入力信号７２１は、データ入力信号７１０の状態の変化に応答して状態を変化させる。次に、クロック信号は、時間指定８１４以上の時間設計（time specification）において「１」値に戻るように制御される。例えば、低電力６５ｎｍＣＭＯＳ技術での４０ピコ秒が時間指定８１４で使用され得る。クロック７３０の状態の変化に応答して、データＬ信号７３６は、タイミングイベント８１６で、トランジスタ７２６によって「０」レベルに駆動される。第２の遅延バッファ７５４の遅延を変更することにより、クロック７３０のパルス幅が変更されることができ、クロック信号の立ち上がりエッジを遅延させることがわかる。クロック７３０および他の信号の立ち上がりエッジならびに立ち下がりエッジは、電圧、プロセス技術、および信号負荷などの他の要因によって異なり得ることがわかる。アナログ回路シミュレーション技術を使用するなど、特定の技術における実装を評価することによって、クロックの立ち上がりおよび立ち下がりエッジのタイミング、デバイス遅延、ならびにパルス幅は、クロック回路７５０などを使用して制御され得る。
【００３９】
図９は、１キャッチャ回路９００の第１の実施形態の回路図である。例示的な１キャッチャ回路９００は、データ出力ステージ９０４、ラッチ素子９０６、およびリセット素子９０８で構成されている。データ出力ステージ９０４はラッチ素子９０６と結合されており、さらに、リセット素子９０８と結合されている。１キャッチャ回路９００は、データ入力信号９１０のローからハイへの遷移をキャッチし、データ出力ステージ９０４を介したデータ出力信号９１２への高速信号パスを提供するように設計されている。データ出力ステージ９０４は、論理ＮＯＲゲート９１４といった単一の論理ゲート素子を効果的に使用し、論理ＮＯＲゲート９１４は、性能や、次の論理ステージへのファンアウト負荷といった様々な要因に関連して効果的に設計され得る。次の論理ステージの条件によって、論理ＮＯＲゲート９１４は、例えば、ＯＲゲートなどの他の論理関数で実装されてもよいことが理解される。ラッチ素子９０６は、交差結合ラッチ構成としてトライステートインバータ９１６およびインバータ９１８を備える。交差結合インバータ９１６および９１８は、インバータ９２０、９２８およびトランジスタ９２２の使用により、データ入力信号９１０でのローからハイへの遷移の結果として１値を保持するように制御される。交差結合インバータ９１６および９１８は、１キャッチャ回路９００のデータ出力信号９１２を直接駆動せず、状態変化イベントのタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して設計され得る。リセット素子９０８は、インバータ９２８によってバッファされるデータ入力信号９１０と、クロック信号９３０とにそれぞれ応答する２つの直列に結合されたトランジスタ９２４および９２６を備える。また、リセット素子９０８は、さらに、１キャッチャ回路９００の出力駆動ステージから分離さ、そして、状態変化イベントのタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して効果的に設計され得る。
【００４０】
動作に際して、データ入力信号９１０は、通常、データ評価期間中に、ローレベル値からハイレベル値に遷移することができ、次に、ローレベル値に戻り得るローレベル値にある。このようなパルスは、データ入力信号９１０での１の存在を示す。最初に、データ評価期間の開始前に、データ出力信号９１２は、ＮＯＲゲート９１４への入力、すなわちデータ入力信号９１０およびデータＬ信号９３６が両方ともローレベルにあることを示すハイレベルにあるものと仮定される。データ入力信号９１０がローレベルからハイレベルへの遷移を行うとき、ＮＯＲゲート９１４出力のデータ出力信号９１２はローレベル値に遷移する。データ入力信号９１０の状態変化からデータ出力信号９１２の状態変化までの遅延は、ＮＯＲゲート９１４およびデータ出力信号９１２での負荷の遅延によるものである。例えば、９０ナノメートル（ｎｍ）技術は、１キャッチャ回路９００を実装するために使用されてもよく、この技術では、ＮＯＲゲートは、平均４負荷のファンアウトを駆動する２０から４０ピコ秒（ｐｓ）の範囲の遅延を有してもよい。データ出力ステージ９０４は、データ出力信号９１２に１値を提供する高速パスを表わす。
【００４１】
データ入力信号９１０の１への遷移は、短期間のパルスのものであり、この１は、後続ステージにおける論理が１値に適正に応答するために、より長い期間にわたってラッチされなければならない。ラッチ素子９０６は、データ出力信号９１２の状態を１値に保持する保持機能を提供する。データ入力信号９１０がハイレベルにある間、インバータ９２０および９２８は、データＨ信号９３２をロー値にするトランジスタ９２２を「ＯＮ」に駆動することによって応答する。さらに、インバータ９２８によって反転されたデータ入力信号９１０のハイ値は、トライステートインバータ９１６を高インピーダンス出力状態にするトライステートイネーブル入力９３４を制御する。この出力状態は、出力が、遷移を行う際に最小限の電力消耗でトランジスタ９２２によりロー値に容易に駆動されることを許可する。データＨ信号９３２でのローレベルは、インバータ９１８の出力、すなわちデータＬ信号９３６をハイレベルに遷移させる。短期間の後、データ入力信号９１０は、トライステートインバータ９１６を再度有効にするためにローレベルに戻って遷移する。トライステートインバータ９１６は、これによってラッチ素子９０６に１をラッチし、ＮＯＲゲート９１４への入力で１を保持するこの出力データＨ信号９３２でのローレベルを維持するために、ハイレベルのデータＬ新号９３６に応答する。データ出力信号９１２は、これによって、データ入力信号９１０がこの初期レベルに戻った後、より長期間にわたって保持される。
【００４２】
１キャッチャが次のデータ入力信号９１０値に応答することを許可するために、リセット素子９０８は、クロック信号９３０によって制御されるように所定の期間中有効にされる。データ入力信号９１０がローレベルにある状態では、インバータ９２８はトランジスタ９２４を「ＯＮ」に駆動し、クロック信号９３０がハイレベルに遷移すると、トランジスタ９２６がデータＬ信号９３６をローレベルにする「ＯＮ」になる。交差結合インバータ９１６および９１８は、ＮＯＲゲート９１４がデータ入力信号９１０に従うことを有効にする０レベルを保持するように遷移する。
【００４３】
図１０は、１キャッチャ回路１０００の第２の実施形態の回路図である。例示的な１キャッチャ回路１０００は、データ出力ステージ１００４、ラッチ素子１００６、およびリセット素子１００８で構成されている。データ出力ステージ１００４はラッチ素子１００６と結合されており、さらにリセット素子１００８とも結合されている。１キャッチャ回路１０００は、データ入力信号１０１０のローからハイへの遷移をキャッチし、データ出力ステージ１００４を介したデータ出力信号１０１２への高速信号パスを提供するように設計されている。データ出力ステージ１００４は、論理ＮＯＲゲート１０１４のような単一の論理ゲート素子を効果的に使用し、それは性能および次の論理ステージへのファンアウト負荷といった様々な要因に関連して効果的に設計され得る。次の論理ステージの条件によっては、論理ＮＯＲゲート１０１４は、例えばＯＲゲートなどの他の論理関数を用いて実装されてもよいことが理解される。ラッチ素子１００６は、交差結合ラッチ構成の中で２入力ＮＡＮＤゲート１０１６およびインバータ１０１８を備える。ＮＡＮＤゲート１０１６およびインバータ１０１８によって表される交差結合ラッチは、インバータ１０２０の使用によりデータ入力信号１０１０でのローからハイへの遷移の結果として１値を保持するように制御される。ＮＡＮＤゲート１０１６、インバータ１０１８いずれもデータ出力信号１０１２を直接駆動せず、そして、状態変化イベントのタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して効果的に設計され得る。リセット素子１００８は、インバータ１０２０によってバッファされるデータ入力信号１０１０と、クロック信号１０３０とそれぞれ応答する２つの直列に結合されたトランジスタ１０２４および１０２６を備える。さらに、リセット素子１００８は１キャッチャ回路１０００の出力駆動ステージから分離されており、イベントを変化させる状態のタイミング、デバイス性能、デバイス物理実装サイズといった様々な要因に関連して効果的に設計され得る。
【００４４】
０キャッチャ回路は、一般に、データ入力信号の立ち下がりエッジがデータ入力信号の立ち上がりエッジよりもタイミングクリティカル（timing critical）であるときに使用される。データ入力信号の立ち上がりエッジがよりタイミングクリティカルである場合、一般に１キャッチャ回路が使用される。動的論理回路においては、０キャッチャ回路の使用は、往々にして、１キャッチャ回路の使用よりもタイミング性能を改善すると認められる。
【００４５】
この中で開示された実施形態と関連して説明された様々な例示的な論理ブロック、モジュール、回路、素子、および／または構成要素は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、または他のプログラマブル論理部品、ディスクリートゲート（discrete gate）またはトランジスタ論理、ディスクリートハードウェア構成要素(discrete hardware component)、あるいはこの中で説明された機能を果たすように設計されたこれらのいずれかの組み合わせを用いて実施され、または実行されてもよい。汎用プロセッサは、マイクロプロセッサとすることもできるが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械(state machine)にしてもよい。さらに、プロセッサは、コンピューティング構成要素の組み合わせ、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアと併用される１つまたは複数のマイクロプロセッサの組み合わせ、あるいは所望の用途に適する他の任意のこのような構成として実施されてもよい。
【００４６】
この中で開示された実施形態と関連して説明された方法は、直接ハードウェアに結合されても、プロセッサによって実行されるソフトウェアモジュールとしても、これら２つの組み合わさったものとしても実施されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当該分野で周知の他の任意の形の記憶媒体に備えてもよい。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合されてもよい。代替として、記憶媒体はプロセッサと一体化されていてもよい。
【００４７】
本発明は命令キャッシュ、データキャッシュ、および別種のキャッシュのための例示的な実施形態のコンテクスト(context)で開示されているが、当業者によって、前述の考察および以下にある特許請求の範囲に適合する多種多様な実装形態が用いられてもよいことが理解されるであろう。
【図１】
2010537458.tif 000003
【図２】
2010537458.tif 000004
【図３】
2010537458.tif 000005
【図４】
2010537458.tif 000006
【図５】
2010537458.tif 000007
【図６】
2010537458.tif 000008
【図７Ａ】
2010537458.tif 000009
【図７Ｂ】
2010537458.tif 000010
【図８】
2010537458.tif 000011
【図９】
2010537458.tif 000012
【図１０】
2010537458.tif 000013
【国際調査報告】
2010537458.tif 000014
2010537458.tif 000015