(57)【特許請求の範囲】
【請求項１】
マルチソフトウェアスレッドを有するプログラムの唯一のソフトウェアスレッドに対応する一連の関連属性を有し、ロード・セット命令およびロード・チェック命令によりアクセスされるメモリブロックを含み、
前記ロード・セット命令に応じて、メモリブロックから情報をロードし、かつ、前記関連属性をセットし、
前記ロード・チェック命令に応じて、メモリブロックから情報をロードし、かつ、前記関連属性をチェックし、チェックされた前記関連属性に基づいて所定のイベントを実行する、
装置。
【請求項２】
前記メモリブロックは、キャッシュメモリ内のキャッシュラインに関連付けられる、請求項１に記載の装置。
【請求項３】
前記キャッシュメモリは、前記一連の関連属性をストアするための、属性ビット格納領域の格納領域を含む、請求項２に記載の装置。
【請求項４】
前記属性ビット格納領域は、唯一のキャッシュラインに関連する少なくとも一つのビット格納サブ領域を有する、請求項３に記載の装置。
【請求項５】
前記一連の関連属性は、前記唯一のキャッシュラインが前記マルチソフトウェアスレッドに対応することを示す情報を含む、請求項４に記載の装置。
【請求項６】
前記キャッシュメモリの各キャッシュラインは属性ビットに関連する、請求項２から５のいずれかに記載の装置。
【請求項７】
前記キャッシュメモリはデータキャッシュである、請求項２から６のいずれかに記載の装置。
【請求項８】
前記キャッシュメモリは、データおよび命令をストアするための統合キャッシュである、請求項２から６のいずれかに記載の装置。
【請求項９】
ストア・セット命令に応じて、メモリブロックに情報をストアし、かつ、前記関連属性をセットし、
ストア・チェック命令に応じて、メモリブロックに情報をストアし、かつ、前記関連属性をチェックし、チェックされた前記関連属性に基づいて所定のイベントを実行する、
請求項１から８のいずれかに記載の装置。
【請求項１０】
予想外のメモリ状態が検出された場合に所定のイベントを実行する請求項１から９のいずれかに記載の装置。
【請求項１１】
マルチスレッドプログラムの唯一のソフトウェアスレッドに対応する属性ビットを有するキャッシュラインを含むコンピュータシステムにより実行されるプログラムであって、
当該プログラムは、前記コンピュータシステムにより、
前記コンピュータシステムのプロセッサが、ロード・セット命令に応じて、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットすることと、
前記プロセッサが、ロード・チェック命令に応じて、キャッシュラインから情報をロードし、かつ、関連する前記属性ビットを読み取ることと、
前記プロセッサが、前記属性ビットの値を決定することと、
前記プロセッサが、前記属性ビットの前記値を決定することに応答して軽量イールドイベントを実行することと、
を実行させるプログラム。
【請求項１２】
前記属性ビットの前記値を決定することは、前記プロセッサが、前記プロセッサ内のアーキテクチャシナリオを実行することを含む、請求項１１に記載のプログラム。
【請求項１３】
前記プロセッサは、一つの命令を実行した結果として前記属性ビットをチェックする、請求項１１または１２に記載のプログラム。
【請求項１４】
当該プログラムは、前記コンピュータシステムにより、
前記プロセッサが、ストア・セット命令に応じて、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをセットすることと、
前記プロセッサが、ストア・チェック命令に応じて、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットを読み取ることと、
を更に実行させる請求項１１から１３のいずれかに記載のプログラム。
【請求項１５】
前記シナリオは、前記プロセッサが、前記キャッシュメモリが予想外の状態にあるか否かを決定する、請求項１２に記載のプログラム。
【請求項１６】
ロード・セット命令およびロード・チェック命令をストアするメモリと、
前記ロード・セット命令および前記ロード・チェック命令の少なくとも一つをフェッチする少なくとも一つのプロセッシングコアを有する少なくとも一つのプロセッサと、
を含み、
前記ロード・セット命令は、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットし、
前記ロード・チェック命令は、キャッシュラインから情報をロードし、かつ、関連する属性ビットをチェックし、チェックされた属性に基づいて所定のイベントを実行する、
システム。
【請求項１７】
少なくとも一つのプロセッサは、前記属性ビットをチェックすることに応答してシナリオを実行するロジックを含む、請求項１６に記載のシステム。
【請求項１８】
前記キャッシュラインが予想外の状態にあることを前記属性が示す場合、前記シナリオは軽量イールドイベントを発生させる、請求項１７に記載のシステム。
【請求項１９】
前記軽量イールドイベントが発生する場合、前記予想外の状態が検出されることに応答してハンドラルーチンが呼び出される、請求項１８に記載のシステム。
【請求項２０】
前記ロード・セット命令および前記ロード・チェック命令は、マルチソフトウェアスレッドを含むプログラムの唯一のソフトウェアスレッドに関連付けられる、請求項１６から１９のいずれかに記載のシステム。
【請求項２１】
前記属性ビットは、前記キャッシュラインに関連する複数の属性ビットの一つである、請求項１６から２０のいずれかに記載のシステム。
【請求項２２】
前記複数の属性ビットはユーザ定義である、請求項２１に記載のシステム。
【請求項２３】
前記メモリは、ストア・セット命令およびストア・チェック命令を更にストアし、
前記少なくとも一つのプロセッサは、前記ストア・セット命令および前記ストア・チェック命令の少なくとも一つをフェッチする前記少なくとも一つのプロセッシングコアを有し、
前記ストア・セット命令は、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをセットし、
前記ストア・チェック命令は、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをチェックし、チェックされた前記属性ビットに基づいて所定のイベントを実行する、
請求項１６から２２のいずれかに記載のシステム。
【請求項２４】
キャッシュラインに関連する複数の属性ビットをセットするための第一命令と、前記複数の属性ビットをチェックするための第二命令と、をフェッチするためのフェッチユニットと、
前記複数の属性ビットをチェックすることに応答してシナリオを実行するためのロジックと、を含み、
前記第一命令および第二命令は、前記キャッシュラインから情報をロードまたはストアするためのオペレーションを含む、
プロセッサ。
【請求項２５】
複数のプロセッシングコアをさらに有し、各々は複数のソフトウェアスレッドを実行することができる、請求項２４に記載のプロセッサ。
【請求項２６】
対応する前記キャッシュラインが予想外の状態にあることを前記複数の属性ビットが示す場合、前記シナリオを実行するための前記ロジックはハンドラルーチンを実行する、請求項２４または２５に記載のプロセッサ。
【請求項２７】
前記キャッシュラインは、変更状態、排他状態、共有状態および無効状態からなる複数の状態の一つにある、請求項２６に記載のプロセッサ。
【請求項２８】
前記キャッシュラインが含まれるキャッシュメモリをさらに含む、請求項２４から２７のいずれかに記載のプロセッサ。
【請求項２９】
コンピュータシステムのプロセッサが、ロード・セット命令に応じて、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットすることと、
前記プロセッサが、ロード・チェック命令に応じて、キャッシュラインから情報をロードし、かつ、キャッシュラインに関連する属性ビットを読み取ることと、
前記プロセッサが、前記属性ビットの値を決定することと、を含み、
前記属性ビットは、性能モニタリングツールおよびデバッギングツールからなるグループから選択されるツールによる分析を目的として、前記キャッシュラインへの以前のリファレンスをプログラムが記録したか否かを示す方法。
【請求項３０】
前記キャッシュラインは、マルチスレッドプログラムのソフトウェアスレッドに対応する、請求項２９に記載の方法。
【請求項３１】
前記プロセッサが、前記属性ビットの前記値を決定することに応答して軽量イールドイベントを実行することをさらに含む、請求項２９または３０に記載の方法。
【請求項３２】
前記属性ビットの前記値を決定することは、前記プロセッサが、プロセッサ内のアーキテクチャシナリオを実行することを含む、請求項２９から３１のいずれかに記載の方法。
【請求項３３】
前記プログラムは計装プログラムである、請求項２９から３２のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、マイクロプロセッサおよびマイクロプロセッサシステムに関する。より詳しくは、本発明の実施例は、一つ以上のメモリ領域に対応する属性ビットを用いて一つ以上のメモリ領域に関連するメモリ状態またはその他の情報を使用、チェック、およびセットするための技術に関する。
【背景技術】
【０００２】
近年のコンピューティングシステムでは、マイクロプロセッサまたはマイクロプロセッサコアは、膨大な数のメモリ種類を含む膨大なメモリアドレス空間にアクセスする。例えば、コンピュータシステムのメモリアドレス範囲は、所定のプロセッサまたはプロセッサコアのみがアクセス可能な情報をストアする一方で、その他のアドレス範囲には、マルチプロセッサまたはプロセッサコアがアクセスする。メモリの排他性は、メモリアドレス範囲に関連する唯一の属性である。
【０００３】
いくつかの従来技術のシステムにおいては、メモリの許可またはアクセスのルールはオペレーティングシステム（ＯＳ）により、粒度が比較的粗い仮想メモリページの仮想メモリ管理を介して制御される。仮想メモリページの粒度は様々であるが、いくつかの従来技術のシステムでは、約４キロバイト（ＫＢ）から数メガバイト（ＭＢ）のサイズである。メモリ許可を変更することは、システムレイテンシ、ダイの不動産（ｄｉｅ  ｒｅａｌ  ｅｓｔａｔｅ）またはシステムコストの面で高価なオペレーションとなる。
【０００４】
状況によってはプログラムは、メモリアドレスにアクセスする前にそのメモリアドレスをチェックしなければならない。例えば、プログラムをデバッギングしたり、様々なコンピュータプログラミング言語（例えば、「Ｊａｖａ」）の束縛および型安全性をチェックしたり、プログラムを性能分析に際してプロファイリングしたり、またはその他の理由により、プログラムは、アドレスにアクセスする前にそのアドレスをチェックする。
【０００５】
プログラムが一連のルールに従ってアドレスをチェックする場合、少なくとも２つの従来技術的なアプローチを用いる。一つのアプローチは、ＯＳを用いて、ルールを満たさないアドレスが仮想メモリ管理によって確実に検出されるようにすることである。このアプローチにおいて、粒度は、仮想メモリ管理アドレス指定方法の比較的粗い粒度に制限され、アクセスルールを変更するためには大変なコストがかかることがある。もう一つの従来技術的アプローチは、メモリにアクセスするアドレスを用いる前に、そのプログラム自身の中のアドレスに対して一連のチェックを行うことである。この一連のチェックは、任意の一連のルールに対して、任意の粒度でアドレスを比較する。この従来技術的なアプローチの欠点は、実質的な性能オーバーヘッドが、所定のチェックを行うべくすべてのメモリリファレンスに費やされることである。
【図面の簡単な説明】
【０００６】
本発明の実施例は、同一の参照番号が類似する要素を示す添付の図面において、限定ではなく例として示される。
【０００７】
【図１】本発明の一実施例に係るキャッシュメモリを示す。ここで、様々なキャッシュラインは、一つ以上の属性ビットに関連付けられる。
【０００８】
【図２】コンピュータシステムメモリ階層を示す。ここで、本発明の少なくとも一つの実施例が用いられている。
【０００９】
【図３】一実施例に係る、一つ以上のキャッシュラインに関連する属性をチェックすることに係るオペレーションを示すフローチャートである。
【００１０】
【図４】本発明の少なくとも一つの実施例が用いられる、共有バスのコンピュータシステムを示す。
【００１１】
【図５】本発明の少なくとも一つの実施例が用いられる、ポイントツーポイントバスコンピュータシステムを示す。
【発明を実施するための最良の形態】
【００１２】
本発明の実施例は、マイクロプロセッサおよびマイクロプロセッサシステムに関する。より詳しくは、本発明の実施例は、効率的な方法で様々なメモリプロパティをチェックするためにメモリ属性ビットを用いることに関する。
【００１３】
本発明の一実施例において、メモリの所定のセグメントまたは「ブロック」に関連するメモリ属性は、そのメモリブロックの様々なプロパティを示すために用いられる。例えば、一実施例において、ユーザによって定義された属性ビットは、メモリの各ブロックに関連付けられて、それの関連付けられたメモリブロックの任意数の、例えばアクセス権のようなプロパティを示す。一実施例において、各メモリブロックは、レベル１（Ｌ１）またはレベル２（Ｌ２）のキャッシュメモリ内のキャッシュラインのような、所定のキャッシュラインに対応し、その属性は、キャッシュメモリラインに配置されるかまたは関連付けられるビット格納領域を表す。他実施例においては、属性が関連するメモリブロックは、一つ以上のキャッシュメモリラインを含むか、または、ＤＲＡＭのような他の種類のメモリに関連付けられる。
【００１４】
図１は、本発明の一実施例に係るキャッシュメモリの一部を示す。各ラインは、属性ビット格納領域の関連グループを有する。詳しくは、図１は、特定のメモリブロック（図示せず）に対応するキャッシュライン１０５を含むキャッシュメモリ１００を示す。キャッシュライン１０５は、格納領域１１０内にビット形式でストアされるべくいくつかの属性に関連付けられる。一実施例において、格納領域はレジスタファイルである一方で、他実施例においては別の種類の格納領域が用いられる。格納領域１１０内には、キャッシュライン１０５に関連する属性ビット１１５のグループが存在する。これは、キャッシュラインにアクセスするソフトウェアプログラムによって使用可能な、キャッシュラインの様々なプロパティを表すビットをストアすることができる。
【００１５】
図１に示す実施例において、属性ビットのグループは、属性ビットが割り当てられる態様に応じてキャッシュラインの一つ以上のプロパティを表す４ビットを含む。例えば、一実施例において、属性ビットは、プログラムが現在アクセスしようとする部分に対してメモリブロックが適切であることを、プログラムが最近チェックしたことを示す。他実施例において、属性ビットは、例えば性能モニタリングツールによって後に分析するべくこのメモリブロックへの最近のリファレンスを、プログラムが記録したことを示す。他実施例において、属性ビットは、その他の許可、プロパティ等を表す。
【００１６】
属性ビットに加え、各キャッシュラインはまた、状態格納領域１２０にストアされる状態値に関連付けられる。例えば、一実施例において、状態格納領域１２０は、キャッシュラインが変更状態（Ｍ）、排他的所有状態（Ｅ）、共有状態（Ｓ）または無効状態（Ｉ）のいずれかにあることを表す、キャッシュライン１０５に関連する状態ビット１２５を含む。ＭＥＳＩ状態は、様々なソフトウェアスレッド、コアまたはプロセッサが、所定のキャッシュラインにストアされた情報を使用および／または変更可能か否かを制御することができる。いくつかの実施例において、ＭＥＳＩ状態属性は、キャッシュライン１０５のための属性ビット１１５に含まれる。
【００１７】
他実施例において、キャッシュメモリは、図１のそれと同様に関連属性ビットを有し、マルチコアプロセッサにおいていくつかのコアによってアクセスされる。各々のコアは、オペレーティングシステム内のシーケンサから発行されるいくつかのソフトウェアスレッドを実行することができる。所定の属性ビットを各キャッシュラインに割り当てることによって、コンピュータシステムの各プロセッサの各コア内の各スレッドは、アクセス、制御および／または変更が可能な単数のまたは複数のキャッシュラインを有する。
【００１８】
図２は、本発明の実施例がキャッシュメモリの構成を簡略化する態様を、コンピュータシステム内のプロセッサコアでソフトウェアを実行するスレッドの観点から概念的に示す。例えば、図２において、各スレッドは、キャッシュラインからなる関連キャッシュメモリ２０５−２０ｍを有するシングルスレッドコア２０１−２０ｎとして概念化することができる。そのキャッシュラインは、概念的なシングルスレッドコア上で実行される特定の対応スレッドによってのみ制御されることを表す。例えば、一実施例において、概念的なキャッシュメモリ２０５−２０ｍは、シングルスレッドコア２０１−２０ｎによって表されるスレッドによって変更されたＭＥＳＩ状態のみを有する。キャッシュメモリ２０５−２０ｍの各々は実際には、単数または複数のキャッシュメモリ全体にわたって分配されたキャッシュラインからなるが、図２に示されるように構成を概念化することは、本発明の所定の実施例を理解する上で有用である。
【００１９】
本発明の一実施例において、メモリブロックに関連する属性は、命令、または命令からデコードされたマイクロオペレーションのような所定のオペレーションによって、アクセス、変更、または制御される。例えば、一実施例において、キャッシュラインから情報をロードし、かつ、対応する属性ビットをセットする命令（例えば「ロード・セット」命令）が用いられる。他実施例において、キャッシュラインから情報をロードし、かつ、対応する属性ビットをチェックする命令（例えば「ロード・チェック」命令）が、ロード・セット命令に加えて用いられる。
【００２０】
さらに他の実施例において、属性ビットを制御し、かつ、対応するキャッシュデータにアクセスするためにその他の命令が用いられる。例えば、一実施例において、キャッシュラインに情報をストアする一方で、対応する属性ビットをチェックまたはセット（またはその両方）する命令（例えば「ストア・セット」および／または「ストア・チェック」命令）が用いられる。いくつかの実施例において、ロードまたはストアのような関連キャッシュメモリオペレーションを有しない属性ビットを制御またはアクセスするための命令が用いられる。
【００２１】
キャッシュラインに関連付けられた属性をチェックする命令の場合、チェックされる属性に基づいて所定のイベントを実行すべく、一つ以上のプロセッシングコア内で一つ以上のアーキテクチャシナリオが定義される。属性チェックに応答して実行され得るその他の種類のイベントもある。例えば、一実施例において、アーキテクチャシナリオは、属性ビットを所定のデータセットと比較し、その比較の結果に基づいて軽量イールドイベント（ｌｉｇｈｔ−ｗｅｉｇｈｔ  ｙｉｅｌｄ  ｅｖｅｎｔ）を呼び出すように定義される。とりわけ、軽量イールドは、システムで実行されているスレッドまたはその他のプロセスに制御を返す前にシナリオの結果に応答して様々なオペレーションを実行するサービスルーチンを呼び出す。他実施例において、結果を示すべくフラッグまたはレジスタがセットされる。さらに他の実施例において、レジスタは所定値とともに書き込まれる。他のイベントは所定の応答として含まれる。
【００２２】
例えば、定義される一つのシナリオは、予想外のメモリ状態検出時に軽量イールドおよび対応するハンドラを呼び出すシナリオである。これは、スレッドまたはその他のプロセスが、所定のＭＥＳＩ状態を有すると予想してキャッシュラインにアクセスしようとしたがキャッシュラインが他のメモリ状態にある、すなわち、そのキャッシュラインが所定のスレッドまたはプロセスに関連していないことが示される場合に有用である。このようにして、制御を有する所定のスレッドキャッシュラインのみが、適切にアクセス、変更またはチェックされる。他実施例において、キャッシュラインメモリ属性のチェックに基づいて他のシナリオが定義される。他実施例において、キャッシュラインよりも細粒度の領域のメモリ属性がチェックされる。
【００２３】
図３は、本発明の少なくとも一つの実施例のオペレーションを示すフローチャートである。ここで、所定のキャッシュラインまたはキャッシュライン内のアドレス範囲に関連付けられた属性ビットをセットまたはチェックするべく、ロード・セットおよびロード・チェック命令が用いられる。他実施例において、図３に示すオペレーションを実行するために他の命令またはマイクロオペレーション（ｕｏｐ）が用いられる。オペレーション３０１において、実行されるのはロード・セット命令かロード・チェック命令かが決定される。ロード・セット命令が実行されると、その命令のロード部分によってアドレス指定されたキャッシュラインに関連付けられた属性ビットは、オペレーション３０５において変更される。一実施例において、ロード・セット命令は、ロード・セット命令からデコードされるロードマイクロオペレーションおよびセットマイクロオペレーションを含む。他の実施例には、ロード処理およびセット処理とともに他のオペレーションも含まれる。
【００２４】
実行される命令がロード・チェック命令の場合、ロード・チェック命令のロード部分によって特定されたアドレスに関連付けられた属性ビットは、オペレーション３１０で読み取られる。一実施例において、ロード・チェック命令には、ロード・チェック命令からデコードされるロードマイクロオペレーションおよびチェックマイクロオペレーションが含まれる。他実施例において、ロードおよびチェックオペレーションとともに、他のオペレーションが含まれる。オペレーション３１５において、属性ビットの状態に基づいてシナリオが実行される。他実施例において、シナリオは、オペレーション３１０で読み取られた属性ビットが未知状態のキャッシュラインを示すか否かをチェックする。そうであれば、オペレーション３２０において、所定のイベントが発生する。他実施例において、軽量イールドが発生し、それに応答するオペレーションを実行するためにイベントハンドラルーチンが実行される。イベントハンドラが完了した後（またはいくつかの実施例ではイベントハンドラが完了する前）、制御は、プログラム順に命令に戻り、軽量イールドが発生したところからの命令に従う。
【００２５】
他実施例は、属性ビットをチェックせずに、単にレジスタから属性ビットを読み取る。この値はその後プログラムによって用られる。一例としては、プログラムはこの値を比較し、値に応じて異なるコード経路に条件分岐させる。
【００２６】
図４は、本発明の一実施例が用いられたフロントサイドバス（ＦＳＢ）コンピュータシステムを示す。プロセッサ４０５は、レベル１（Ｌ１）キャッシュメモリ４１０およびメインメモリ４１５からデータにアクセスする。本発明の他実施例においては、キャッシュメモリは、レベル２（Ｌ２）キャッシュまたはコンピュータシステムメモリ階層内のその他のメモリである。さらに、いくつかの実施例において、図４のコンピュータシステムは、Ｌ１キャッシュおよびＬ２キャッシュの両方を含む。
【００２７】
図４のプロセッサ内に示されているのは、マシン状態用の格納領域４０６である。一実施例において格納領域は一連のレジスタである一方、他実施例においては、格納領域は他のメモリ構造である。さらに図４に示されるのは、一実施例に係る、保存領域セグメント用の格納領域４０７である。他実施例において、保存領域セグメントは、他の装置またはメモリ構造である。プロセッサは、任意数のプロセッシングコアを有する。しかし、本発明の他実施例は、分離バスエージェントのようなシステム内のその他の装置内に実装されるか、または、ハードウェア、ソフトウェアもしくはそれらの所定の組み合わせにおいてシステム全体に分配される。
【００２８】
メインメモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ハードディスクドライブ（ＨＤＤ）４２０、または、コンピュータシステムからネットワークインターフェース４３０を介して離れて配置されたメモリソースのような、様々な記憶装置および技術を含む様々なメモリソースに実装される。キャッシュメモリは、プロセッサ内に配置されるか、または、プロセッサのローカルバス４０７上のようなプロセッサに近接したところに配置される。
【００２９】
さらに、キャッシュメモリは、６トランジスタ（６Ｔ）セルのような比較的高速のメモリセルか、またはそれとほぼ同等かそれ以上のアクセス速度の他のメモリセルを含む。図４のコンピュータシステムは、マイクロプロセッサのようなバスエージェントのポイントツーポイント（ＰｔＰ）ネットワークである。このバスエージェントは、ＰｔＰネットワーク上の各エージェント専用のバス信号を介して通信を行う。図５は、ポイントツーポイント（ＰｔＰ）設定で構成されるコンピュータシステムを示す。詳しくは、図５は、プロセッサ、メモリおよび入力／出力装置が、いくつかのポイントツーポイントインターフェースによって相互接続されるシステムを示す。
【００３０】
図５のシステムはまた、いくつかのプロセッサを含むが、明示されるのは２つのみのプロセッサ５７０、５８０である。プロセッサ５７０、５８０は、各々メモリ２２、２４に接続されるローカルメモリコントローラハブ（ＭＣＨ）５７２、５８２を含む。プロセッサ５７０、５８０は、ポイントツーポイント（ＰｔＰ）インターフェース回路５７８、５８８を用いたＰｔＰインターフェース５５０を介してデータを交換する。プロセッサ５７０、５８０は各々、ポイントツーポイントインターフェース回路５７６、５９４、５８６、５９８を使用した個別のＰｔＰインターフェース５５２、５５４を介して、チップセット５９０とデータを交換する。チップセット５９０はまた、高性能グラフィックスインターフェース５３９を介して、高性能グラフィックス回路５３８とデータを交換する。本発明の実施例は、任意数のプロセッシングコアを有する任意のプロセッサ内、または図５の各ＰｔＰバスエージェント内に配置される。
【００３１】
しかし、本発明の他実施例は、その他の回路、ロジックユニット、または図５のシステム内の装置に存在する。さらに、本発明の他実施例は、いくつかの回路、ロジックユニット、または図５のシステム内の装置全体に分配される。
【００３２】
本明細書に記載される本発明の実施例は、相補型金属酸化膜半導体装置すなわち「ハードウェア」、または、本発明の実施例に関するオペレーションをプロセッサのようなマシンによる実行の際に行う、媒体にストアされた一連の命令すなわち「ソフトウェア」、を用いた回路とともに行われる。または、本発明の実施例は、ハードウェアとソフトウェアとの組み合わせを用いて行われる。
【００３３】
本発明は、具体的な実施例を参照して記載されているが、この記載は限定の意味で解釈されるものではない。開示の実施例および他の実施例の、本発明に関する当業者にとって明らかな様々な変更は、本発明の要旨及び範囲内にあるものとみなされる。
【図１】
0004764360.tif 000002
【図２】
0004764360.tif 000003
【図３】
0004764360.tif 000004
【図４】
0004764360.tif 000005
【図５】
0004764360.tif 000006