(57)【要約】  メモリ・アレイとインタフェイスするプロセッサ（１８）を有する処理システム（１２）の低電力モード中に、漏れ電流が、メモリ・アレイ（２８）中において取り除かれる。２つの電力プレーンが、作成されるので、プロセッサ（１８）は、このアレイの電源が切られるときにメモリ・アレイ（２８）をバイパスしながら、システム・メモリ（８０）を使用して命令を実行し続けることができる。スイッチ（５６）は、命令の実行から、またはこのプロセッサ以外のどこかのこのシステム中を起源とするソースからもたらされるプロセッサにより開始される制御に応じて供給電圧端子に対する電気的接続を選択的に除去する。メモリ・アレイ（２８）に対する電力の復旧に応じてすぐに、メモリ・アレイに対するアレイをサポートする２つの電力プレーンのうちのどちらが配置されるかに応じて、データは、使用不可能としてマークする必要があることもあり、またはマークする必要がないこともある。所定の判断基準を使用して、電力の復旧のタイミングを制御することができる。複数のアレイを実装して、漏れ電流を独立に低減させることができる。
2007508620.tif 000002
【特許請求の範囲】
【請求項１】
システム・バスと、
該システム・バスに結合された第１のバス・マスタと、
該システム・バスに結合された第２のバス・マスタと、
該システム・バスに結合され、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタによって所有されるように構成可能な資源と、
該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で、該資源の所有権に基づいて通信経路を確立する追加信号ステアリング・ロジックと、
からなり、該通信経路を使用して、該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの該少なくとも一方のバス・マスタとの間で、少なくとも１つの追加信号を転送する、データ処理システム。
【請求項２】
システム・バスを有するデータ処理システムにおいて追加信号を伝えるための方法であって、
該システム・バスに結合された資源と、該システム・バスに結合された複数のバス・マスタのうちの少なくとも１つのバス・マスタとの間で該資源の所有権に基づいて通信経路を確立する工程と、
該資源と、該複数のバス・マスタのうちの該少なくとも１つのバス・マスタとの間で、該通信経路を介して該システム・バスからは分離されて、追加信号を転送する工程と、
からなる方法。
【請求項３】
システム・バスと、
該システム・バスに結合された第１のバス・マスタと、
該システム・バスに結合された第２のバス・マスタと、
該システム・バスに結合され、該第１のバス・マスタおよび該第２のバス・マスタによって使用可能であり、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタによって所有されるように構成可能な資源と、
該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で通信経路を確立する追加信号ステアリング・ロジックと、
からなり、該通信経路を使用して、該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの該少なくとも一方のバス・マスタとの間で、少なくとも１つの追加信号を転送し、該通信経路が、該資源によって決定されるデータ処理システム。
【請求項４】
システム・バスを有するデータ処理システムにおいて追加信号を伝えるための方法であって、
該システム・バスに結合された資源と、該システム・バスに結合された複数のバス・マスタのうちの少なくとも１つのバス・マスタとの間で、該資源によって決定される通信経路を確立すること、および
該資源と、該複数のバス・マスタのうちの該少なくとも１つのバス・マスタとの間で、該通信経路を介して該システム・バスから分離されて該追加信号を転送すること、
からなる方法。
【請求項５】
第１のバス・マスタと、
第２のバス・マスタと、
該第１のバス・マスタおよび該第２のバス・マスタによりアクセス可能な共用再構成可能資源と、
からなり、該共用再構成可能資源は、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタと、複数の周辺機能から選択される第１の周辺機能を実施するための回路と、の間で、通信経路を確立する、データ処理システム。
【請求項６】
第１のマスタと第１の周辺機能を実施するための回路との間に第１の通信経路を確立するために、再構成可能資源を構成する工程と、
第２のマスタと第２の周辺機能を実施するための回路との間に第２の通信経路を確立ために、該再構成可能資源を構成する工程と、
からなり、
該第１の周辺機能および該第２の周辺機能のそれぞれが、複数の周辺機能から選択される、再構成可能資源を動作させるための方法。
【請求項７】
複数の周辺機能に関連する情報を記憶するように構成可能な再構成可能チャネル・ストレージと、
該複数の周辺機能のそれぞれを実施するように構成可能な再構成可能チャネル回路と、
該再構成可能チャネル・ストレージおよび該再構成可能チャネル回路に結合され、該複数の周辺機能のうちの選択される機能を実施するために、該再構成可能チャネル・ストレージおよび該再構成可能チャネル回路を構成する制御ロジックと、
からなる共用再構成可能資源。
【請求項８】
第１のマスタおよび第２のマスタと情報をやりとりするバス・インタフェイスと、
該バス・インタフェイスに結合され、複数のエンドポイントがそれぞれ該第１のマスタおよび該第２のマスタのうちの一方に割付け可能である、該複数のエンドポイントからなるエンドポイント・ストレージ回路と、
ＵＳＢホストと情報をやりとりするシリアル・インタフェイス・エンジンと、
該バス・インタフェイス、エンドポイント・ストレージ回路、およびシリアル・インタフェイス・エンジンに結合され、該シリアル・インタフェイス・エンジンに結合されたＵＳＢプロトコル・ロジックと、該ＵＳＢプロトコル・ロジックから受け取られる情報に基づいて割込みを生成するエンドポイント割込みロジックと、割込みステアリング・レジスタと、該割込みステアリング・レジスタによって提供されるステアリング情報に基づいて該第１のマスタおよび該バス・マスタのうちの対応する一方に該割込みをそれぞれ経路指定する割込みステアリング・ロジックと、からなるＵＳＢ機能コントローラと、
からなる共用ユニバーサル・シリアル・バス（ＵＳＢ）資源。
【請求項９】
複数のエンドポイントがそれぞれ、複数のバス・マスタのうちの１つに割付け可能である、複数のエンドポイントと、
同複数のエンドポイントに結合され、ＵＳＢホストからの通信に基づいて割込みを生成するエンドポイント割込みロジック、該複数のバス・マスタによりアクセス可能な少なくとも１つの割込みステアリング・レジスタ、および同割込みステアリング・レジスタによって提供されるステアリング情報に基づいて該複数のバス・マスタのうちの対応するバス・マスタに該各割込みを経路指定する割込みステアリング・ロジック、からなるＵＳＢ機能コントローラと、
からなる共用ユニバーサル・シリアル・バス（ＵＳＢ）資源。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ステアリングに関し、より詳細には、マルチマスタ共用資源システム中で使用するための通信ステアリングに関する。
【背景技術】
【０００２】
複数のバス・マスタがデータ処理システム中でより頻繁に使用されるようになりつつあるので、これらの複数のマスタと、１つ以上の共用資源の間で情報をやりとりするための新しいアプローチが必要になっている。共用すべき必要がある資源の１実施例は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓユニバーサル・シリアル・バス）規格に準拠した回路である。このＵＳＢは、ＵＳＢ−ＩＦ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  −  Ｉｍｐｌｅｍｅｎｔｅｒｓ  Ｆｏｒｕｍユニバーサル・シリアル・バス−インプリメンターズ・フォーラム）による規格として定義されてきている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
残念ながら、このＵＳＢ規格はマルチマスタ・システムにおけるエンドポイントの共用制御を可能にするためのメカニズムを含んではいない。
【課題を解決するための手段】
【０００４】
本発明は、添付図面によって、実施例として限定する目的ではなく示されている。これらの図面中において同様な参照番号は同様な要素を示している。
【発明を実施するための最良の形態】
【０００５】
これらの図面中の要素は、簡略化し明確にするように示され、必ずしも寸法通りに示されていない。例えば、これらの図面中における要素の一部の寸法は、本発明のこれらの実施形態の理解を高めるために、他の要素と比べて誇張されている。
【０００６】
このＵＳＢ仕様は、ＵＳＢエンドポイントの使用をＵＳＢデバイス中に存在するデータ・チャネルおよび制御チャネルとして定義している。これらのＵＳＢエンドポイントは、データのソースまたはシンクであり、メモリおよび追加ロジックを用いて実装され、１つのプロセッサまたはマイクロコントローラによって制御される。一部のケースでは、ある数のエンドポイントを１つのプロセッサによって制御し、他のエンドポイントを異なるプロセッサによって制御し、それによってこれらのすべてのエンドポイントの共用制御を実現することが望ましい。
【０００７】
この用語「共用資源」は、複数のバス・マスタ（例えば、バス・マスタ１２、１４）によってアクセス可能である資源を意味するように使用される。このようなシステムは、複数のバス・マスタのうちの１つ以上のバス・マスタが共用資源の所有権を有し、その所有しているマスタが、所有していないマスタによる資源へのアクセス可能性を決定することができる。本発明の１実施形態において、資源を所有するマスタがゼロ個（すなわち、マスタが存在しない）の場合にはマスタは、他のマスタによるこの資源に対するアクセス可能性を決定する権限をもたない。所有されていない資源に対するアクセス可能性は、様々な方法で決定することができる。１実施例としては、どのようなマスタでも、所有されていない資源に対する完全なアクセスを有することができる。代替実施形態では、異なる方法で、所有されていない資源に対するアクセス可能性を決定することができる。一部の実施形態においては、どのようなマスタによっても所有されていない資源により、すべてのマスタが所有権を請求することが可能になる。したがって、一部の実施形態では、所有権が明け渡されるようにすることもできる。本発明の一部の実施形態においては、１つの資源が複数のマスタによって所有される場合、この資源は所有されていないものと見なされる。本発明の代替実施形態においては、１つの資源が複数のマスタによって所有される場合には、この資源に対するアクセス可能性は、これら複数の所有しているマスタによって一緒に決定することができる。
【０００８】
図１は、本発明の１実施形態によるデータ処理システム１０をブロック図形式で示している。本発明の１実施形態において、データ処理システム１０は、すべてバス２０に双方向に結合されて情報のやりとりをスムーズに実行する複数のバス・マスタ１２、１４と、複数の共用資源２４、３０、１００と、複数の非共用資源２２、２６を含んでいる。図１のこの実施形態において、バス・マスタ１２、１４は、プロセッサなどの１つのバス・マスタ、または１つ以上のプロセッサ、ならびにサポート回路（ｓｕｐｐｏｒｔｉｎｇ  ｃｉｒｃｕｉｔ）を備えるサブシステムを表すことができる。共用資源２４、３０、１００は、オプションとして複数のバス・マスタ１２、１４によって共用されることもあることに留意されたい。非共用資源２２、２６は、バス・マスタ１２、１４によって共用されず、したがってバス・マスタ１２、１４のうちの一方によってしかアクセスされない。本明細書中で使用している用語「バス」は、データ、アドレス、制御、ステータスなどの１つ以上の様々なタイプの情報を転送するために使用することができる複数の信号または導体を意味する。これらの用語「導体」および「信号」は、本明細書中では、交換可能なように使用される。本発明の１実施形態において、バス２０は、１つ以上のバス・プロトコルを使用して実装される。バス調停ロジック２８を使用して、バス・マスタ１２と１４の間の調停を行って、これら複数のバス・マスタ１２、１４のうちのどちらがバス２０の支配権を有するかを決定する。
【０００９】
本発明の一部の実施形態においては、バス・マスタ１２は、バス２０を介するのでなく、導体４８を介して１つ以上の非共用資源（例えば、１６）に双方向に結合することができる。同様に、本発明の一部の実施形態においては、バス・マスタ１４は、バス２０を介するのでなく、導体４９を介して１つ以上の非共用資源（例えば、１８）に双方向に結合することができる。この例示の実施形態において、非共用資源１６は、バス・マスタ１２によってしかアクセスされず、バス・マスタ１４によってはアクセスされない。同様に、非共用資源１８は、バス・マスタ１４によってしかアクセスされず、バス・マスタ１２によってはアクセスされない。本発明の一部の実施形態は、データ処理システム１０の外部にある外部バス３４にバス２０を結合することができる外部バス・インタフェイス３２を含んでいる。本発明の１実施形態においては、データ処理システム１０は、１つの集積回路上で実装される。本発明の代替実施形態は、任意の適切な回路を使用した任意の方法でデータ処理システム１０を実装することができる。
【００１０】
本発明の一部の実施形態においては、非共用資源１６は、１つ以上の端子４０を介してデータ処理システム１０の外部にある回路に結合することができる。バス・マスタ１２は、１つ以上の端子４１を介してデータ処理システム１０の外部にある回路に結合することができる。バス・マスタ１４は、１つ以上の端子４２を介してデータ処理システム１０の外部にある回路に結合することができる。非共用資源１８は、１つ以上の端子４３を介してデータ処理システム１０の外部にある回路に結合することができる。ＵＳＢ共用資源１００は、１つ以上の端子４８を介してデータ処理システム１０の外部にある回路に結合することができる。非共用資源２２は、１つ以上の端子４４を介してデータ処理システム１０の外部にある回路に結合することができる。共用資源２４は、１つ以上の端子４５を介してデータ処理システム１０の外部にある回路に結合することができる。共用資源３０は、１つ以上の端子４６を介してデータ処理システム１０の外部にある回路に結合することができる。また非共用資源２６は、１つ以上の端子４７を介してデータ処理システム１０の外部にある回路に結合することができる。本発明の代替実施形態は、端子４０〜４８のうちの任意の組合せを使用してもよいし、また使用しなくてもよい。端子４０〜４８は、使用可能な任意の方法で実装することができる。
【００１１】
引き続き図１を参照すると、共用資源２４は、バス・マスタ１２および１４によって共用することができる。また共用資源２４は、どのバス・マスタによっても所有することができないか、またはバス・マスタ１２および１４のうちのどちらか一方だけによって所有することもできる。ＵＳＢ共用資源１００は、パーティションに区分することができ、その結果、１つ以上の部分は、バス・マスタ１２および１４により共用することができる。また、ＵＳＢ共用資源１００は、パーティションに区分することができ、その結果、１つ以上の部分は、どのバス・マスタによっても所有することができないか、またはバス・マスタ１２および１４のどちらか一方だけによって所有することもできる。本発明の様々な実施形態は、リセット後に所望の任意の方法で、共用資源またはその一部分の所有権を割り付けることができることに留意されたい。１実施例として、本発明の１実施形態では、ＵＳＢ共用資源１００のすべての部分は、リセットから出てくることができ、その結果、所定の単１バス・マスタ（例えば、バス・マスタ１２）は、所有権を有することになる。
【００１２】
本発明のこの例示の実施形態においては、追加信号ステアリング・ロジック３６を使用して、どのバス・マスタ、またはバス・マスタ１２、１４が、追加信号５６、５７のうちのどの１つ以上の信号を受け取るかを決定する。バス２０に含まれるこれらの信号は、バス２０によって実装されるバス・プロトコルによって定義される信号であることに留意されたい。追加信号５６、５７は、データ処理システム１０中のバス・マスタ１２、１４のサブセットに対して選択的に提供することができる信号を含んでいる。本発明の代替実施形態においては、これらの１つ以上のバス信号を、バス・マスタ１２、１４のサブセットに選択的に提供する必要がある場合には、追加信号ステアリング・ロジック３６を使用して、これらのバス信号２０のうちの１つ以上の信号を方向付けすることができることに留意されたい。バス・マスタ１２、１４のサブセットは、ある種のケースではすべてのバス・マスタのフルセットを含むことができるが、一般的には、追加信号５６、５７はデータ処理システム１０中においてこれらのバス・マスタ１２、１４のすべてに対するよりも少なく方向付けが行われる。信号５０および５１を使用して、追加信号５６、５７のステアリングについての制御および／またはステータスを実現する。
【００１３】
本発明のこの例示の実施形態においては、追加信号ステアリング・ロジック３６は、追加信号５７を受け取り、方向付けするために共用資源３０に結合される。追加信号５７は、共用資源３０と適切なバス・マスタ１２、１４との間でそれぞれ信号５３または５２を介して追加信号ステアリング・ロジック３６によって方向付ける必要がある１つ以上の信号を含んでいる。追加信号５７は、所望の任意の機能を有することができるが、これらの信号は一般に、すべてのバス・マスタ１２、１４に対してほぼ同時に供給すべきではなく、その代わりにバス・マスタ１２、１４のサブセットに対してしか提供すべきでない信号である。追加信号５７の１実施例は、共用資源３０の所有権を有し、この割込みに対して応答する必要があるバス・マスタに対してしか方向付けされ供給されるべきでない割込み信号である。本発明の他の実施形態は、追加信号ステアリング・ロジック３６を使用して、この全体のバス・マスタ（例えば、１２、１４）のサブセットに対して所望の任意の信号を方向付けすることができる。方向付けすることができる他の追加信号の一部の実施例は、リセット信号、ＤＭＡ要求信号およびＤＭＡ認可信号、モード制御信号（例えば、電力制御モード）、カスタム・プロトコル・ハンドシェイク信号、プライベート・メッセージ・チャネル、ならびに１つ以上の他の所望の任意の信号である。本発明の一部の実施形態では、追加信号５７のうちの１つ以上の信号を、選択された状況下においてこれらのバス・マスタ１２、１４のすべてに方向付けすることができる実施形態が存在し得ることに留意されたい。さらに、本発明の一部の実施形態では、信号５２、５３、５６、および５７のうちのどの信号も、双方向でなくてもよく、また一部の信号、またはすべての信号が双方向であってもよい。
【００１４】
追加信号ステアリング・ロジック３６は、信号５０を介して共用資源３０に対して双方向に結合される。信号５０は、追加信号５７の方向付け（ｓｔｅｅｒｉｎｇ）において使用される制御情報および／またはステータス情報を提供するために使用される１つ以上の信号を含んでいる。本発明の代替実施形態は、任意のタイプの信号を使用してこの制御情報および／またはステータス情報を伝えることができる。すべての必要な制御情報および／またはステータス情報は、追加信号ステアリング・ロジック３６中に存在し、あるいは別の方法で追加信号ステアリング・ロジック３６に対して与えられるので、本発明の一部の実施形態は、信号５０を必要としないこともある。
【００１５】
本発明のこの例示の実施形態において、追加信号ステアリング・ロジック３６は、追加信号５６を受け取り方向付けするために共用資源２４に結合される。追加信号５６は、共用資源２４と適切なバス・マスタ１２、１４の間でそれぞれ信号５３または５２を介して追加信号ステアリング・ロジック３６によって方向付けする必要がある１つ以上の信号を含んでいる。追加信号５６は、所望の任意の機能を有することができるが、これらの信号は、一般的にすべてのバス・マスタ１２、１４に対してほぼ同時に供給すべきではなく、その代わりにバス・マスタ１２、１４のサブセットだけにしか供給すべきでない信号である。追加信号５６の１つの可能な実施例は、共用資源２４の所有権を有し、この割込みに応答する必要があるバス・マスタに対してしか方向付けされ供給されるべきでない割込み信号である。本発明の他の実施形態は、追加信号ステアリング・ロジック３６を使用して、これらの全体のバス・マスタ（例えば、１２、１４）のサブセットに所望の任意の信号を方向付けすることができる。本発明の一部の実施形態では、選択された状況下において追加信号５６のうちの１つ以上の信号をすべてのバス・マスタ１２、１４に対して方向付けすることができるシナリオが存在し得ることに留意されたい。
【００１６】
追加信号ステアリング・ロジック３６は、信号５１を介して共用資源２４に対して双方向に結合される。信号５１は、追加信号５６の方向付けにおいて使用される制御情報および／またはステータス情報を提供するために使用される１つ以上の信号を含んでいる。本発明の代替実施形態は、任意のタイプの信号を使用して、この制御情報および／またはステータス情報を伝えることができる。すべての必要な制御情報および／またはステータス情報は、追加信号ステアリング・ロジック３６中に存在し、あるいは別の方法で追加信号ステアリング・ロジック３６に対して与えられるので、本発明の一部の実施形態は、信号５１を必要としないこともある。
【００１７】
本発明の一部の実施形態においては、追加信号ステアリング・ロジック３６によって実施されるステアリング機能のすべてまたは一部分は、共用資源それ自体の一部分として含めることができる。例えば、図１に示す実施形態において、信号１０１および１０２についてのステアリング機能は、ＵＳＢ共用資源１００内の回路によって実施され、したがって信号１０１および１０２は、追加信号ステアリング・ロジック３６を通過させて正しいバス・マスタ１２、１４に対して方向付けする必要はない。図１に示す本発明の実施形態においては、信号１０１を使用して、例えば割込みなどの１つ以上の追加信号をバス・マスタ１２に対して供給することができる。同様に、信号１０２を使用して、例えば割込みなどの１つ以上の追加信号をバス・マスタ１４に対して供給することができる。本発明の代替実施形態は、信号１０１および１０２を追加信号ステアリング・ロジック３６に供給して、信号１０１および１０２をそれぞれ信号５３および５２を介してこの正しいバス・マスタ１２、１４に方向付けすることができる。
【００１８】
本発明のこの例示の実施形態においては、非共用資源２２は、バス・マスタ１２によってしかアクセスされず、したがって、非共用資源２２に関連するこれらの追加信号は、信号５４を介して直接にバス・マスタ１２に双方向に結合される。信号５４は、そもそも１つのバス・マスタ１２に対してしか供給されないので、信号５４は、追加信号ステアリング・ロジック３６によって方向付けする必要はない。同様に、本発明のこの例示の実施形態においては、非共用資源２６は、バス・マスタ１４によってしかアクセスされず、したがって、非共用資源２６に関連するこれらの追加信号は、信号５５を介して直接にバス・マスタ１４に双方向に結合される。信号５５は、そもそも１つのバス・マスタ１４に対してしか供給されないので、信号５５は、追加信号ステアリング・ロジック３６によって方向付けする必要はない。
【００１９】
図２は、本発明の１実施形態による、図１の追加信号ステアリング・ロジック３６の一部分をブロック図形式で示している。この例示の実施形態において、追加信号ステアリング・ロジック３６は、信号５６および５７についての実際のステアリング機能を実施するステアリング回路６０を含んでいる。信号５６および５７は、信号５３を介してバス・マスタ１２へ、または信号５２を介してバス・マスタ１４へと方向付けすることができる。信号５０および５１は、それぞれ共用資源３０および２４からの情報を提供する。制御回路６２に提供され、または記憶される他の制御情報と一緒に信号５０および５１を使用して、ステアリング回路６０によって実施されるステアリング機能を制御する。
【００２０】
制御回路６２は、レジスタ７０を含んでいる。本発明の１実施形態においては、レジスタ７０は、ステアリング・モード・セレクタ・レジスタ７１、ステアリング・マップ・セレクタ・レジスタ７２、マップ定義レジスタ７３、マップ定義レジスタ７４、および資源所有権レジスタ７５を含んでいる。本発明の代替実施形態は、より多くの、より少ない、または異なるレジスタを使用して、ステアリング回路６０を制御するための制御情報の一部分を提供することができる。本発明の１実施形態においては、レジスタ７０の一部またはすべては、バス・マスタ１２および１４のうちの少なくとも一方によって読み取り、書き込むことができるソフトウェア・プログラマブル・レジスタである。
【００２１】
所望の任意の経路指定スキームは、追加信号５６および５７をこれら所望の１つ以上のバス・マスタ１２、１４に対して方向付けするために使用することができる。しかし、本発明のこの例示の実施形態においては、共用資源２４、２０ごとの少なくとも１つのステアリング・モード・セレクタ・レジスタ７１、共用資源２４、２０ごとの少なくとも１つのステアリング・マップ・セレクタ・レジスタ７２が存在し、また少なくとも１つのマップ定義レジスタ７３、７４が存在する。各ステアリング・モード・セレクタ・レジスタ７１を使用して、その対応する共用資源２４、３０についての複数のステアリング・モードのうちの１つを選択することができる。この選択されたステアリング・モードは、次いでマップ定義レジスタ７３、７４のうちの一方に記憶されたマップ定義の使用を必要として、どの１つ以上のバス・マスタ１２、１４が、ステアリング回路６０によって方向付けされる信号を受け取るべきかを決定することができる。各ステアリング・マップ・セレクタ・レジスタを使用して、複数のマップ定義レジスタ７３、７４のうちの一方を選択することができる。
【００２２】
本発明の１実施形態においては、追加信号５６および５７は、選択されているステアリング・モードに応じて、またオプションとしてマップ定義レジスタ７３、７４に記憶されるマップ定義に応じて、複数の方法でバス・マスタ１２、１４に経路指定することができる。例えば、１つのステアリング・モードは、この追加信号（例えば、５６）を方向付けすることができ、その結果、この追加信号は、この共用資源（例えば、２４）の所有権を現在有するバス・マスタ（例えば、１２）に供給される。マップ定義レジスタは、このステアリング・モードでは、必要とされない。第２のステアリング・モードは、追加信号５６、５７を方向付けすることができ、その結果、この追加信号は、マップ定義レジスタ７３、７４の一方に記憶されるプログラマブル経路指定マップによって決定されるように１つ以上のバス・マスタ１２、１４に供給される。このプログラマブル経路指定マップは、１つ以上のバス・マスタ１２、１４によってプログラムすることができる。本発明の一部の実施形態においては、共用資源２４、３０の所有権を有するマスタしか、共用資源２４、３０に対応するマップ定義レジスタ７３、７４に書き込むことができず、したがってこれらを変更することができない。本発明の代替実施形態は、１つ以上のマップ定義のプログラミングを異なった方法で制御することができる。
【００２３】
第３のステアリング・モードは、この追加信号（５６または５７のうちの一方）を方向付けすることができ、その結果、この追加信号は、マップ定義レジスタ７３、７４に記憶される複数のプログラマブル経路指定マップのうちの１つによって決定されるように、１つ以上のバス・マスタ１２、１４に供給される。このプログラマブル経路指定マップは、どちらのバス・マスタ１２、１４が、追加信号５６、５７を供給し、またはこれらの追加信号に関連する共用資源２４、３０の所有権を現在有するかに基づいて選択することができる。本発明の一部の実施形態においては、共用資源２４、３０の所有権を有するバス・マスタしか、この共用資源２４、３０に対応するマップ定義レジスタ７３、７４に書き込むことができず、したがってこれらを変更することができない。本発明の代替実施形態は、１つ以上のマップ定義のプログラミングを異なった方法で制御することができる。
【００２４】
第４のステアリング・モードは、この追加信号（５６または５７のうちの一方）を方向付けすることができ、その結果、この追加信号は、マップ定義レジスタ７３、７４に記憶される複数のプログラマブル経路指定マップのうちの１つによって決定されるように、１つ以上のバス・マスタ１２、１４に供給される。このプログラマブル経路指定マップは、追加信号５６、５７を供給し、またはこれらの追加信号に関連する共用資源２４、３０の現在の状態に基づいて選択することができる。本発明の一部の実施形態においては、マップ定義レジスタ７３、７４は、共用資源２４、３０のいくつかの状態のそれぞれに対応する静的マップとすることができる。本発明の他の実施形態においては、マップ定義レジスタ７３、７４は、１つ以上のバス・マスタ２４、３０（例えば、この所有しているマスタ）によってプログラム可能とすることもできる。本発明の一部の実施形態においては、共用資源２４、３０の所有権を有するバス・マスタしか、この共用資源２４、３０に対応するマップ定義レジスタ７３、７４に書き込むことができず、したがってこれらを変更することができない。本発明の代替実施形態は、１つ以上のマップ定義のプログラミングまたは確立を異なった方法で制御することができる。
【００２５】
第５のステアリング・モードは、この追加信号（５６または５７のうちの一方）を方向付けすることができ、その結果、この追加信号は、マップ定義レジスタ７３、７４に記憶される複数のプログラマブル経路指定マップのうちの１つによって決定されるように、１つ以上のバス・マスタ１２、１４に供給される。このプログラマブル経路指定マップは、追加信号５６、５７を供給し、またはこれらの追加信号に関連する共用資源２４、３０によって選択することができる。本発明の一部の実施形態においては、共用資源２４、３０それ自体しか、この共用資源２４、３０に対応するマップ定義レジスタ７３、７４に書き込むことができず、したがってこれらを変更することができない。本発明の代替実施形態は、１つ以上のマップ定義のプログラミングを異なった方法で制御することができる。
【００２６】
本発明の代替実施形態では、ステアリング回路６０を制御するために使用される制御回路６２についての所望の任意の構成を使用することができる。制御回路６２の代替実施形態は、レジスタを有さなくてもよく、あるいは、より少ない、より多くの、または異なったレジスタ７０を有していてもよい。制御回路６２は、信号６１を介してステアリング回路６０に双方向に結合される。制御回路６２は、バス２０に双方向に結合され、その結果、レジスタ７０は、例えば１つ以上のバス・マスタ１２、１４によって読み取り、書き込むことができる。本発明の１実施形態においては、信号５０、５１は、どの共用資源２４、３０が、信号５６、５７を供給し、またはこれらの信号に関連するか、どのステアリング・モードを使用するか、またどのマップ定義を使用するかに関連する情報を提供する。本発明の代替実施形態においては、信号５０、５１は、どの共用資源２４、３０が、信号５６、５７を供給し、またはこれらの信号に関連するかに関する情報を提供し、レジスタ７０を使用して、このステアリング・モード情報およびマップ定義情報の残りをステアリング回路６０に提供する。
【００２７】
図３は、他の回路と一緒に、本発明の１実施形態による、図１の共用資源２４の一部分をブロック図形式で示している。本発明のこの例示の実施形態において、共用資源２４は、バス２０に双方向に結合されたバス・インタフェイス３１０を含んでいる。バス・インタフェイス３１０は、導体３２０によって再構成可能制御ロジック３０４に双方向に結合され、導体３２６によって再構成可能チャネル・ストレージ回路３００に双方向に結合され、その結果、３０４および３００内のレジスタおよび他の回路は、バス２０を介して読取りアクセス可能および／または書込みアクセス可能とすることができる。１実施形態においては、再構成可能チャネル・ストレージ回路３００は、再構成可能チャネル・ストレージ回路３０１〜３０３を含んでいる。本発明の代替実施形態は、再構成可能チャネル・ストレージ回路３００内に、より少ない、より多い、または同じ数の再構成可能チャネル・ストレージ回路３０１〜３０３を有していてもよい。再構成可能チャネル・ストレージ回路３００は、導体３２２を介して再構成可能制御ロジック３０４に双方向に結合される。本発明の１実施形態においては、信号３２２を使用して、再構成可能チャネル・ストレージ回路３００と再構成可能制御ロジック３０４との間で、制御情報および／またはステータス情報を転送する。再構成可能チャネル・ストレージ回路３００は、信号３２８を介して再構成可能チャネル回路３１２に双方向に結合される。再構成可能チャネル回路３１２は、導体３２４を介して、再構成可能制御ロジック３０４に双方向に結合される。再構成可能チャネル回路３１２は、導体４５を介してバス３３０に双方向に結合される。
【００２８】
図３に示す本発明の実施形態においては、ペリフェラル機能回路３０６〜３０８ごとに１つの再構成可能チャネル・ストレージ回路３０１〜３０３が存在する。本発明の代替実施形態は、ペリフェラル機能回路３０６〜３０８ごとに任意数の再構成可能チャネル・ストレージ回路３０１〜３０３を有することもできる。各ペリフェラル機能回路３０６〜３０８は、例えば、タイマ機能、通信機能、変換機能、データ処理機能、ストレージ機能など、１つ以上の任意タイプの所望の機能を実施することができる。さらに、本発明の一部の実施形態においては、再構成可能チャネル回路３１２は、再構成可能回路を含んでいて、例えば、タイマ機能、通信機能、変換機能、データ処理機能、ストレージ機能など、１つ以上の任意タイプの所望の機能を実施する。したがって、機能を実施する回路は、（例えば、再構成可能チャネル回路３１２中に配置することができる）共用資源２４と同じ集積回路上に配置することもでき、あるいは代わりに（例えば、任意のペリフェラル機能回路３０６〜３０８中に配置することができる）共用資源２４を組み込んでいる集積回路の外側に配置することもできる。
【００２９】
図３に示す本発明の実施形態においては、再構成可能制御ロジック３０４を使用して、追加信号ステアリング・ロジック３６（図１参照）に対して信号５６および信号５１を供給する。また再構成可能制御ロジック３０４を使用して、バス・マスタ１２、１４のうちの一方から１つ以上のペリフェラル機能回路３０６〜３０８に対して使用される通信経路を決定し、または選択する。この通信経路は、バス２０、バス・インタフェイス３１０、再構成可能チャネル・ストレージ回路３０１〜３０３のうちの１つ（どの１つかは再構成可能制御ロジック３０４によって決定される）、再構成可能チャネル回路３１２、信号４５、およびバス３３０を使用する。
【００３０】
本発明の１実施形態においては、再構成可能チャネル回路３１２を使用して、再構成可能チャネル・ストレージ回路３００とペリフェラル機能回路３０６〜３０８の間の通信経路を決定し、または選択することに留意されたい。本発明の一部の実施形態においては、再構成可能チャネル回路３１２は、再構成可能制御ロジック３０４を介してプログラムされる。本発明の代替実施形態においては、再構成可能チャネル回路３１２は、バス・インタフェイス３１０を介してバス・マスタ１２または１４によってプログラムすることができる。本発明の一部の実施形態においては、再構成可能チャネル・ストレージ回路３００は、再構成可能制御ロジック３０４によって再構成することができるストレージ回路としてもっぱら機能することができる。同様に再構成可能チャネル回路３１２は、この機能が、再構成可能制御ロジック３０４によって選択可能な所望の機能を実施するようにもっぱら機能することもできる。本発明の代替実施形態は、共用資源２４のストレージ部分、機能部分、および制御部分をどのような方法でも、パーティションに区分することができる。本発明の代替実施形態は、再構成可能チャネル回路３１２を使用することができず、その代わりに再構成可能制御ロジック３０４を直接に使用して、再構成可能チャネル・ストレージ回路３００とペリフェラル機能回路３０６〜３０８の間の通信経路を決定し、または選択することができることに留意されたい。
【００３１】
図４は、他の回路と一緒に、本発明の１実施形態による、図１のＵＳＢ共用資源１００の一部分をブロック図形式で示している。１実施形態においては、ＵＳＢ共用資源１００は、ユニバーサル・シリアル・バス（ＵＳＢ）規格に準拠し、ＵＳＢバス４３を介してＵＳＢホスト４２０と情報をやりとりする。ＵＳＢ共用資源１００はまた、バス２０にも結合される。図４に示す本発明の実施形態においては、ＵＳＢ共用資源１００は、エンドポイント・ストレージ回路４７０およびバス・インタフェイス４００に双方向に結合されるＵＳＢ機能コントローラ４１３を含んでいる。バス・インタフェイス４００は、エンドポイント・ストレージ回路４７０に双方向に結合され、バス２０に双方向に結合される。本発明の１実施形態においては、ＵＳＢ機能コントローラ４１３は、ＵＳＢプロトコル・ロジック４１５を介してシリアル・インタフェイス・エンジン４１８に双方向に結合される。シリアル・インタフェイス・エンジン４１８は、ＵＳＢバス４３に双方向に結合される。
【００３２】
本発明の１実施形態においては、ＵＳＢ機能コントローラ４１３は、ＵＳＢプロトコル・ロジック４１５に結合される複数のＵＳＢ機能制御レジスタ４０２を含んでいる。ＵＳＢプロトコル・ロジック４１５は、エンドポイント割込みロジック４１７に結合されて、いつ割込みをバス・マスタ１２、１４に提供すべきかに関する割込み情報を提供する。ステアリング・ロジック４８０は、エンドポイント割込みロジック４１７およびＵＳＢ機能制御レジスタ４０２からの情報を受け取り、それに応答して割込み信号１０１および１０２をそれぞれバス・マスタ１２および１４に提供する。追加信号ステアリング・ロジック３６を使用してどのバス・マスタ１２、１４がどの追加信号を受け取るかを決定する共用資源２４（図１参照）と違って、ＵＳＢ共用資源１００は、このステアリング機能を実施するための回路を含んでいる。その結果、信号１０１および１０２は、追加信号ステアリング・ロジック３６を介して経路指定する必要がなくなる。追加信号ステアリング・ロジック３６によって実現されるこのステアリング機能は、ＵＳＢ共用資源１００内で実施される。
【００３３】
本発明の１実施形態においては、ステアリング・ロジック４８０は、それぞれ、１入力がＵＳＢ機能制御レジスタ４０２に結合され、１入力がエンドポイント割込みロジック４１７に結合されているＡＮＤゲート４２２、４２４、４２６、および４２８を含んでいる。ステアリング・ロジック４８０はまた、ＡＮＤゲート４２２、４２４、４２６、および４２８からの入力を受け取り、出力１０１および１０２をそれぞれバス・マスタ１２、１４に供給する複数のＯＲゲート４３０、４３２も含んでいる。
【００３４】
本発明の１実施形態においては、各エンドポイントは、対応するビット４６０または４６２、対応するラッチ４１０または４１２、対応するビット４５０または４５２、およびエンドポイント割込みロジックの対応する一部分４４０または４４２を有する。図４に示す特定の回路は、単に例示の目的で示されているにすぎないことに留意されたい。本発明の代替実施形態では、適切な任意の回路を使用して、ＵＳＢ機能コントローラ４１３によって必要とされるステアリング機能を実装することができる。
【００３５】
本発明の１実施形態においては、ＵＳＢ機能制御レジスタ４０２は、割込みステアリング・レジスタ４０３、他の共用レジスタ４１４、および非共用レジスタ４１６を含んでいる。本発明の１実施形態においては、割込みステアリング・レジスタ４０３は、割込みステアリング・ストレージ回路４０８に結合されて、セット信号およびリセット信号を供給して、それぞれラッチ４１０、４１２をセット／リセットする割込みステアリング・セット・レジスタ４０６および割込みステアリング・クリア・レジスタ４０４を含んでいる。本発明の代替実施形態は、割込みステアリング・レジスタ４０３を実装するために使用される方法と同様にしてセット・レジスタ、クリア・レジスタ、および複数のセット／リセット・ラッチを使用して実装される複数の他の共用レジスタ４１４を含むことができる。
【００３６】
共用レジスタ４０３および４１４、エンドポイント割込みロジック４１７、ならびにステアリング・ロジック４８０の使用を介して、ＵＳＢ機能コントローラ４１３は、マルチマスタ・システム中のエンドポイントの共用制御を可能にする機能を有することに留意されたい。図１に示すマルチマスタ・システムは、２つのバス・マスタ１２、１４を使用しているが、本発明の代替実施形態は、データ処理システム１０の外部にあるバス・マスタを含めて、任意数または任意タイプのバス・マスタを使用することもできる。
【００３７】
次にＵＳＢ共用資源１００の機能について、さらに詳細に説明することにする。ＵＳＢプロトコル・ロジック４１５は、シリアル・インタフェイス・エンジン４１８に対してデータを提供し、またそこからデータを受け取る。シリアル・インタフェイス・エンジン４１８は、ＵＳＢホスト４２０に対してデータを提供し、そこからデータを受け取り、このＵＳＢ規格に従って機能する。
【００３８】
本発明の１実施形態においては、ＵＳＢ共用資源１００は、所有されていない共用資源であると考えられる。しかし、ＵＳＢ共用資源１００は、パーティションに区分され、その結果、１つ以上の部分（例えば、ＵＳＢエンドポイント）を異なるバス・マスタ１２および１４に割り付けることができる。本発明の１実施形態においては、これらのＵＳＢエンドポイントは、エンドポイント・ストレージ回路４７０に記憶することができる。本発明の１実施形態においては、割込みステアリング・レジスタ４０３を追加して、エンドポイント割込みを複数のバス・マスタ１２、１４のうちの一方に方向付けしている。
【００３９】
本発明のこの例示の実施形態においては、割込みステアリング・レジスタ４０３は、割込みステアリング・セット・レジスタ４０６、割込みステアリング・クリア・レジスタ４０４、および割込みステアリング・ストレージ回路４０８を使用して実装されている。この例示の実施形態においては、バス・マスタ１２、１４の選択を指定してこの割込みを受け取る２つのロジック状態しか使用可能ではない。したがって、この例示の実施形態では、エンドポイント割込みは、たった２つのバス・マスタ１２、１４のうちの１つに対してしか方向付けすることができない。しかし、本発明の代替実施形態は、割込みステアリング・レジスタ４０３を実装することができ、その結果、エンドポイント割込みを複数のバス・マスタに対して方向付けすることができる。本発明のこの例示の実施形態においては、割込みステアリング・セット・レジスタ４０６も割込みステアリング・クリア・レジスタ４０４も共に、このメモリ・マップ／プログラマのモデル中のレジスタであり、バス２０およびバス・インタフェイス４００を介して書き込むことができることに留意されたい。レジスタ４０６および４０４の読取りは、本発明のこの例示の実施形態においては、使用されないが、本発明の代替実施形態は、所望のどのような方法でもレジスタ４０６および４０４の読取りを扱うことができることに留意されたい。
【００４０】
本発明の１実施形態においては、バス・マスタ１２も１４も共に、共用レジスタ４１４および割込みステアリング・レジスタ４０３に書き込み、これらを修正することができる。これは、レジスタ４１４および４０３の内容の破損をもたらすこともあることに留意されたい。このメモリ・マップ／プログラマのモデル中の一意のアドレスに配置される別の割込みステアリング・セット・レジスタ４０６の使用と、このメモリ・マップ中の異なるアドレスに配置される別の割込みステアリング・クリア・レジスタ４０４の使用により、複数のバス・マスタ１２、１４は、レジスタ４０３中の非選択ビットに影響を及ぼすことなく、レジスタ４０３中の選択されたビットを独立にセットし、またはクリアすることができるようになる。本発明の一部の実施形態では、１つ以上の他の共用レジスタ４１４をレジスタ４０３と同様にして（すなわち、別々のセット・レジスタおよびクリア・レジスタ４０６、４０４を使用して）実装することができることに留意されたい。例えば、エンドポイント・オペレーションに関連した他の共用レジスタ４１４のすべてまたは一部分は、レジスタ４０３と同様にして実装することができる。本発明の代替実施形態は、レジスタ４０１、および１つ以上のレジスタ４１４の内容の破損を回避する異なるメカニズムを使用することもできる。かかるメカニズムの１実施例は、レジスタ４０２および４１４に対する原子読取り修正書込みアクセス（ａｔｏｍｉｃ  ｒｅａｄ−ｍｏｄｉｆｙ−ｗｒｉｔｅ  ａｃｃｅｓｓ）である。
【００４１】
本発明のこの例示の実施形態において、ビット４６０に対する「１」の書込みは、対応するラッチ４１０をセットすることになり、ビット４６０に対する「０」の書込みは、ラッチ４１０に対して影響を及ぼさないことになる。同様に、ビット４５０に対する「１」の書込みは、対応するラッチ４１０をクリアすることになり、ビット４５０に対する「０」の書込みは、ラッチ４１０に対して影響を及ぼさないことになる。このメカニズムは、バス・マスタ１２とバス・マスタ１４の両方によるレジスタ４０３のビットごとの制御を可能にすることに留意されたい。ＵＳＢ共用資源１００を使用した一部の用途では、バス・マスタ１２は、レジスタ・ビット４０３の一部分をセットすることになり、バス・マスタ１４は、レジスタ・ビット４０３のオーバーラップしていない異なる部分をクリアすることになる。この場合には、レジスタ４０３のビット中の「１」は、この対応するエンドポイント割込みをバス・マスタ１２へと方向付けし、レジスタ４０３のビット中の「０」は、この対応するエンドポイント割込みをバス・マスタ１４へと方向付けする。
【００４２】
本発明の１実施形態では、非共用レジスタ４１６は、複数のバス・マスタ１２、１４を用いて適切に動作するように修正する必要はない。例えば、非共用レジスタ４１６中のあるレジスタは、読取り専用にすることができ、非共用レジスタ４１６中の他のレジスタは、所定のソフトウェア規定によって指定されるように１つのバス・マスタ１２、１４によってアクセスすることができる。
【００４３】
本発明の１実施形態においては、ＵＳＢプロトコル・ロジック４１５およびエンドポイント割込みロジック４１７は、複数のマスタ使用のために修正する必要はない。しかし、エンドポイント割込みロジック４１７によって提供されるこれらの割込み出力は、今やレジスタ４０３の対応するビットによって指定されるバス・マスタへとステアリング・ロジック４８０によって方向付けされる必要がある。ステアリング・ロジック４８０は、どのような方法でも実装することができ、図４に示す回路は、ただステアリング・ロジック４８０の１つの可能性のある実装形態にすぎない。１つのバス・マスタ（例えば１２または１４）しか、ＵＳＢ共用資源１００を利用していなかった場合には、ステアリング・ロジック４８０は、必要とされないはずであることに留意されたい。この場合には、すべての割込みがこの１つのバス・マスタに進むはずなので、方向付けは必要とされないはずである。
【００４４】
図４に示す残りの回路は、標準のＵＳＢ回路と同様にして機能することができる。
前述の明細書では、特定の実施形態に関して本発明を説明している。しかし、添付の特許請求の範囲で述べる本発明の範囲を逸脱することなく、様々な修正および変更を行うことができることが、当業者には理解されよう。したがって、この明細書および図面は、限定的な意味ではなくて例示的な意味で考慮すべきであり、すべてのかかる修正形態は、本発明の範囲内に含めるべきであることが意図されている。
【００４５】
利点、他の長所、および問題に対する解決法について、特定の実施形態に関して以上で説明してきている。しかし、どのような利点、長所、または解決方法をも引き起こし、より明確になるようにさせ得るこれらの利点、長所、問題に対する解決法、および１つ（または複数）のどのような要素も、任意の請求項またはすべての請求項の重要な、必要な、あるいは必須の特徴または要素として解釈すべきではない。本明細書中で使用しているように、用語「からなる（含む）（ｃｏｍｐｒｉｓｅｓ）」、「からなる（含む）（ｃｏｍｐｒｉｓｉｎｇ）」またはこの任意の他の変形は、要素のリストを含む工程、方法、物、または装置が、これらの要素を含むだけでなく、かかる工程、方法、物、または装置に明示的にリストアップされない、または固有の他の要素も含むことができるように、非排他的包含を範囲に含むことを意図している。
【００４６】
追加テキスト（１）
〔請求項１〕  システム・バスと、
該システム・バスに結合された第１のバス・マスタと、
該システム・バスに結合された第２のバス・マスタと、
該システム・バスに結合され、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタによって所有されるように構成可能な資源と、
該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で、該資源の所有権に基づいて通信経路を確立する追加信号ステアリング・ロジックと、
からなり、該通信経路を使用して、該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの該少なくとも一方のバス・マスタとの間で、少なくとも１つの追加信号を転送するデータ処理システム。
【００４７】
〔請求項２〕  前記データ処理システムが、前記資源の所有権を示す資源所有権ストレージ回路をさらに備える、請求項１に記載のデータ処理システム。
〔請求項３〕  前記資源所有権ストレージ回路は、前記第１のバス・マスタが前記資源を所有するかどうか、前記第２のバス・マスタが前記資源を所有するかどうか、および前記第１のバス・マスタも前記第２のバス・マスタも前記資源を所有しないかどうかのうちの少なくとも１つを示す、請求項２に記載のデータ処理システム。
【００４８】
〔請求項４〕  前記第１のバス・マスタも前記第２のバス・マスタも共に前記資源の所有権を請求するときに、前記資源所有権ストレージ回路は、前記資源が所有されていないことを示す、請求項２に記載のデータ処理システム。
【００４９】
〔請求項５〕  前記第１のバス・マスタも前記第２のバス・マスタも前記資源の所有権を請求しないときに、前記資源所有権ストレージ回路は、前記資源が所有されていないことを示す、請求項２に記載のデータ処理システム。
【００５０】
〔請求項６〕  前記追加信号ステアリング・ロジックが、前記資源所有権ストレージ回路内に記憶される情報に基づいて前記通信経路を確立する、請求項２に記載のデータ処理システム。
【００５１】
〔請求項７〕  前記追加信号ステアリング・ロジックが、前記資源と、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの一方のバス・マスタだけとの間で前記通信経路を確立する、請求項１に記載のデータ処理システム。
【００５２】
〔請求項８〕  前記追加信号ステアリング・ロジックが、前記資源と、前記第１のバス・マスタおよび前記第２のバス・マスタのうちのそれぞれとの間で前記通信経路を確立する、請求項１に記載のデータ処理システム。
【００５３】
〔請求項９〕  前記少なくとも１つの追加信号が、前記システム・バスの一部分ではない、請求項１に記載のデータ処理システム。
〔請求項１０〕  前記システム・バスが、システム・バス・プロトコルに従って動作し、前記少なくとも１つの追加信号が、該システム・バス・プロトコルの外側で動作する、請求項１に記載のデータ処理システム。
【００５４】
〔請求項１１〕  前記資源からなるペリフェラルをさらに含む、請求項１に記載のデータ処理システム。
〔請求項１２〕  前記ペリフェラルが、第２の資源からなり、前記追加信号ステアリング・ロジックが、該第２の資源に関連する少なくとも１つの追加信号を転送するために、該第２の資源と、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で該第２の資源の所有権に基づいて第２の通信経路を確立する、請求項１１に記載のデータ処理システム。
【００５５】
〔請求項１３〕  前記システム・バスに結合された第２の資源をさらに含み、前記追加信号ステアリング・ロジックが、該第２の資源に関連する少なくとも１つの追加信号を転送するために、該第２の資源と、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で該第２の資源の所有権に基づいて第２の通信経路を確立する、請求項１に記載のデータ処理システム。
【００５６】
〔請求項１４〕  前記追加信号ステアリング・ロジックが、前記資源と、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの、前記資源を所有している所有するバス・マスタとの間で通信経路を確立する、請求項１に記載のデータ処理システム。
【００５７】
〔請求項１５〕  前記追加信号ステアリング・ロジックが、マップ定義を記憶するマップ・ストレージ回路からなり、前記追加信号ステアリング・ロジックが、該マップ定義に基づいて前記通信経路を確立する、請求項１に記載のデータ処理システム。
【００５８】
〔請求項１６〕  前記マップ定義が、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの、前記資源を所有している所有するバス・マスタによってプログラム可能である、請求項１５に記載のデータ処理システム。
【００５９】
〔請求項１７〕  前記マップ・ストレージ回路が、複数のマップ定義を記憶し、前記追加信号ステアリング・ロジックが、前記資源の所有権に基づいて選択される該複数のマップ定義のうちの１つのマップ定義に基づいて前記通信経路を確立する、請求項１５に記載のデータ処理システム。
【００６０】
〔請求項１８〕  前記複数のマップ定義のうちの前記１つのマップ定義は、前記第１のバス・マスタが前記資源を所有するかどうか、前記第２のバス・マスタが、前記資源を所有するかどうか、および前記資源が所有されないかどうかのうちの少なくとも１つに基づいて選択される、請求項１７に記載のデータ処理システム。
【００６１】
〔請求項１９〕  前記資源が、前記追加信号ステアリング・ロジックの少なくとも一部分からなる、請求項１に記載のデータ処理システム。
〔請求項２０〕  システム・バスを有するデータ処理システムにおいて追加信号を伝えるための方法であって、
該システム・バスに結合された資源と、該システム・バスに結合された複数のバス・マスタのうちの少なくとも１つのバス・マスタとの間で該資源の所有権に基づいて通信経路を確立すること、および
該資源と、該複数のバス・マスタのうちの該少なくとも１つのバス・マスタとの間で、該通信経路を介して該システム・バスとは別の該追加信号を転送すること、
からなる方法。
【００６２】
〔請求項２１〕  前記通信経路を確立することが、
前記複数のバス・マスタから、前記資源を所有している所有するバス・マスタを決定すること、および
前記資源と、該所有するバス・マスタとの間で前記通信経路を確立すること、
からなる、請求項２０に記載の方法。
【００６３】
〔請求項２２〕  前記通信経路を確立することが、
前記資源が前記複数のバス・マスタのうちのどれかによって所有されないときに、前記資源と、前記バス・マスタのうちの前記少なくとも１つのバス・マスタとの間で前記複数のバス・マスタのうちの第１のバス・マスタによって定義されるマップ定義に基づいて前記通信経路を確立することをさらに含む、請求項２１に記載の方法。
【００６４】
〔請求項２３〕  前記通信経路を確立することが、
前記資源と、前記複数のバス・マスタのうちの前記少なくとも１つのバス・マスタの間で、前記複数のバス・マスタのうちの、前記資源を所有している所有するバス・マスタによって定義されるマップ定義に基づいて前記通信経路を確立することからなる、請求項２０に記載の方法。
【００６５】
〔請求項２４〕  前記通信経路を確立することが、
前記資源の所有権に基づいて複数のマップ定義のうちの１つのマップ定義を選択すること、および
前記資源と、前記複数のバス・マスタのうちの前記少なくとも１つのバス・マスタとの間で、該複数のマップ定義のうちの該選択される１つのマップ定義に基づいて前記通信経路を確立すること、からなる、請求項２０に記載の方法。
【００６６】
〔請求項２５〕  システム・バスと、
該システム・バスに結合された第１のバス・マスタと、
該システム・バスに結合された第２のバス・マスタと、
該システム・バスに結合され、該第１のバス・マスタおよび該第２のバス・マスタによって使用可能であり、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタによって所有されるように構成可能な資源と、
該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタとの間で、通信経路を確立する追加信号ステアリング・ロジックと、
からなり、該通信経路を使用して、該資源と、該第１のバス・マスタおよび該第２のバス・マスタのうちの該少なくとも一方のバス・マスタとの間で、少なくとも１つの追加信号を転送し、該通信経路が、該資源によって決定されるデータ処理システム。
【００６７】
〔請求項２６〕  前記通信経路が、前記資源の現在の状態によって決定される、請求項２５に記載のデータ処理システム。
〔請求項２７〕  前記資源の前記現在の状態が、前記資源の動作モードからなる、請求項２６に記載のデータ処理システム。
【００６８】
〔請求項２８〕  前記通信経路が、前記資源によって定義されるマップ定義に基づいて決定される、請求項２５に記載のデータ処理システム。
〔請求項２９〕  前記追加信号ステアリング・ロジックが、前記マップ定義を記憶するマップ定義ストレージ回路からなる、請求項２８に記載のデータ処理システム。
【００６９】
〔請求項３０〕  前記追加信号ステアリング・ロジックが、前記資源と、前記第１のバス・マスタと前記第２のバス・マスタの両方との間で、前記通信経路を確立する、請求項２５に記載のデータ処理システム。
【００７０】
〔請求項３１〕  前記少なくとも１つの追加信号が、前記システム・バスの一部分ではない、請求項２５に記載のデータ処理システム。
〔請求項３２〕  前記システム・バスが、システム・バス・プロトコルに従って動作し、前記少なくとも１つの追加信号が、該システム・バス・プロトコルの外側で動作する、請求項２５に記載のデータ処理システム。
【００７１】
〔請求項３３〕  前記資源が、前記追加信号ステアリング・ロジックの少なくとも一部分からなる、請求項２５に記載のデータ処理システム。
〔請求項３４〕  システム・バスを有するデータ処理システムにおいて追加信号を伝えるための方法であって、
該システム・バスに結合された資源と、該システム・バスに結合された複数のバス・マスタのうちの少なくとも１つのバス・マスタとの間で、該資源によって決定される通信経路を確立すること、および
該資源と、該複数のバス・マスタのうちの該少なくとも１つのバス・マスタとの間で、該通信経路を介して該システム・バスとは別の該追加信号を転送すること、
からなる方法。
【００７２】
〔請求項３５〕  前記通信経路を確立することが、
前記資源の現在の状態を決定すること、および
前記資源の該現在の状態に基づいて前記通信経路を確立すること、
からなる、請求項３４に記載の方法。
【００７３】
〔請求項３６〕  前記通信経路を確立することが、
前記資源によって定義されるマップ定義を提供すること、および
該マップ定義に基づいて前記通信経路を確立すること、
からなる、請求項３４に記載の方法。
【００７４】
追加テキスト（２）
〔請求項１〕  第１のバス・マスタと、
第２のバス・マスタと、
該第１のバス・マスタおよび該第２のバス・マスタによりアクセス可能な共用再構成可能資源と、
からなり、該共用再構成可能資源が、該第１のバス・マスタおよび該第２のバス・マスタのうちの少なくとも一方のバス・マスタと、複数のペリフェラル機能から選択される第１のペリフェラル機能を実施するための回路との間で、通信経路を確立するデータ処理システム。
【００７５】
〔請求項２〕  前記共用再構成可能資源が、前記第１のペリフェラル機能を実施するための前記回路の少なくとも一部分からなる再構成可能チャネル回路からなる、請求項１に記載のデータ処理システム。
【００７６】
〔請求項３〕  前記共用再構成可能資源が、前記第１のペリフェラル機能を実施する際に使用するための前記再構成可能チャネル回路によりアクセス可能な再構成可能チャネル・ストレージからなる、請求項２に記載のデータ処理システム。
【００７７】
〔請求項４〕  前記再構成可能チャネル回路が、前記複数のペリフェラル機能から選択される第２のペリフェラル機能を実施するように構成可能である、請求項２に記載のデータ処理システム。
【００７８】
〔請求項５〕  前記共用再構成可能資源が、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの少なくとも一方のバス・マスタと、前記第２のペリフェラル機能を実施するための回路との間で、第２の通信経路を確立し、前記再構成可能チャネル回路が、前記第２のペリフェラル機能を実施するための該回路の少なくとも一部分からなる、請求項４に記載のデータ処理システム。
【００７９】
〔請求項６〕  前記第２のペリフェラル機能を実施するための前記回路が、シリアル・ペリフェラル・インタフェイス（ＳＰＩ）、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）、ユニバーサル・シリアル・バス（ＵＳＢ）、入力キャプチャ、出力比較、汎用入出力、タイマ、および同期式シリアル・インタフェイス（ＳＳＩ）のうちの少なくとも１つからなる、請求項５に記載のデータ処理システム。
【００８０】
〔請求項７〕  前記データ処理システムが、前記共用再構成可能資源に結合された第１のペリフェラル機能回路をさらに備え、該第１のペリフェラル機能回路が、前記第１のペリフェラル機能を実施するための前記回路の少なくとも第１の部分からなる、請求項１に記載のデータ処理システム。
【００８１】
〔請求項８〕  前記共用再構成可能資源が、前記第１のペリフェラル機能を実施するための前記回路の少なくとも第２の部分からなる、請求項７に記載のデータ処理システム。
【００８２】
〔請求項９〕  前記共用再構成可能資源が、前記第１のバス・マスタおよび前記第２のバス・マスタのうちの少なくとも一方のバス・マスタと、前記複数のペリフェラル機能から選択される第２のペリフェラル機能を実施するための回路との間で、第２の通信経路を確立する、請求項８に記載のデータ処理システム。
【００８３】
〔請求項１０〕  前記データ処理システムが、前記共用再構成可能資源に結合された第２のペリフェラル機能回路をさらに備え、該第２のペリフェラル機能回路が、前記第２のペリフェラル機能を実施するための前記回路の少なくとも第１の部分からなり、前記共用再構成可能資源が、前記第２のペリフェラル機能を実施するための前記回路の少なくとも第２の部分からなる、請求項９に記載のデータ処理システム。
【００８４】
〔請求項１１〕  前記第２のペリフェラル機能を実施するための前記回路が、シリアル・ペリフェラル・インタフェイス（ＳＰＩ）、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）、ユニバーサル・シリアル・バス（ＵＳＢ）、入力キャプチャ、出力比較、汎用入出力、タイマ、および同期式シリアル・インタフェイス（ＳＳＩ）のうちの少なくとも１つからなる、請求項８に記載のデータ処理システム。
【００８５】
〔請求項１２〕  前記第１のペリフェラル機能を実施するための前記回路が、シリアル・ペリフェラル・インタフェイス（ＳＰＩ）、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）、ユニバーサル・シリアル・バス（ＵＳＢ）、入力キャプチャ、出力比較、汎用入出力、タイマ、および同期式シリアル・インタフェイス（ＳＳＩ）のうちの少なくとも１つからなる、請求項１に記載のデータ処理システム。
【００８６】
〔請求項１３〕  第１のマスタと、第１のペリフェラル機能を実施するための回路との間で、再構成可能資源を構成して第１の通信経路を確立すること、および
第２のマスタと、第２のペリフェラル機能を実施するための回路との間で、該再構成可能資源を構成して第２の通信経路を確立すること、
からなり、該第１のペリフェラル機能および該第２のペリフェラル機能のそれぞれが、複数のペリフェラル機能から選択される、該再構成可能資源を動作させるための方法。
【００８７】
〔請求項１４〕  前記再構成可能資源を構成して前記第１の通信経路を確立することが、前記再構成可能資源内でチャネル回路を構成して前記第１のペリフェラル機能を実施することからなる、請求項１３に記載の方法。
【００８８】
〔請求項１５〕  前記再構成可能資源を構成して前記第２の通信経路を確立することが、前記再構成可能資源内で前記チャネル回路を構成して前記第２のペリフェラル機能を実施することからなる、請求項１４に記載の方法。
【００８９】
〔請求項１６〕  前記第１のバス・マスタおよび前記第２のバス・マスタが、前記再構成可能資源に結合された異なるマスタである、請求項１５に記載の方法。
〔請求項１７〕  前記第１のバス・マスタおよび前記第２のバス・マスタが、前記再構成可能資源に結合された同じマスタである、請求項１５に記載の方法。
【００９０】
〔請求項１８〕  前記チャネル回路を構成して前記第１のペリフェラル機能を実施すること、および前記チャネル回路を構成して前記第２のペリフェラル機能を実施することが、それぞれ前記チャネル回路に結合されたチャネル・ストレージを構成することからなる、請求項１５に記載の方法。
【００９１】
〔請求項１９〕  前記第１のペリフェラル機能と、前記第２のペリフェラル機能が、同じペリフェラル機能からなる、請求項１５に記載の方法。
〔請求項２０〕  前記第１のペリフェラル機能と、前記第２のペリフェラル機能が、異なるペリフェラル機能からなる、請求項１５に記載の方法。
【００９２】
〔請求項２１〕  前記複数のペリフェラル機能が、シリアル・ペリフェラル・インタフェイス（ＳＰＩ）機能、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）機能、ユニバーサル・シリアル・バス（ＵＳＢ）機能、入力キャプチャ機能、出力比較機能、汎用入出力機能、タイマ機能、および同期式シリアル・インタフェイス（ＳＳＩ）機能のうちの少なくとも１つからなる、請求項１３に記載の方法。
【００９３】
〔請求項２２〕  複数のペリフェラル機能に関連する情報を記憶するように構成可能な再構成可能チャネル・ストレージと、
該複数のペリフェラル機能のそれぞれを実施するように構成可能な再構成可能チャネル回路と、
該再構成可能チャネル・ストレージおよび該再構成可能チャネル回路に結合された制御ロジックと、
からなり、該制御ロジックが、該再構成可能チャネル・ストレージおよび該再構成可能チャネル回路を構成して、該複数のペリフェラル機能のうちの選択されるペリフェラル機能を実施する共用再構成可能資源。
【００９４】
〔請求項２３〕  前記制御ロジックが、複数のマスタのうちの少なくとも１つのマスタと、前記複数のペリフェラル機能のうちの前記選択されるペリフェラル機能を実施するための回路との間で通信経路を確立する、請求項２２に記載の共用再構成可能資源。
【００９５】
〔請求項２４〕  前記再構成可能チャネル回路が、前記複数のペリフェラル機能のうちの前記選択されるペリフェラル機能を実施するための前記回路の少なくとも一部分からなる、請求項２３に記載の共用再構成可能資源。
【００９６】
〔請求項２５〕  前記制御ロジックが、前記再構成可能チャネル・ストレージおよび前記再構成可能チャネル回路に対して前記複数のペリフェラル機能のうちの前記選択されるペリフェラル機能を示す、請求項２２に記載の共用再構成可能資源。
【００９７】
〔請求項２６〕  前記複数のペリフェラル機能が、第１のシリアル・ペリフェラル・インタフェイス（ＳＰＩ）機能、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）機能、ユニバーサル・シリアル・バス（ＵＳＢ）機能、入力キャプチャ機能、出力比較機能、汎用入出力機能、タイマ機能、および同期式シリアル・インタフェイス（ＳＳＩ）機能からなる、請求項２２に記載の共用再構成可能資源。
【００９８】
〔請求項２７〕  前記複数のペリフェラル機能が、第２のシリアル・ペリフェラル・インタフェイス（ＳＰＩ）機能、ユニバーサル非同期式レシーバ／トランスミッタ（ＵＡＲＴ）機能、ユニバーサル・シリアル・バス（ＵＳＢ）機能、入力キャプチャ機能、出力比較機能、汎用入出力機能、タイマ機能、および同期式シリアル・インタフェイス（ＳＳＩ）機能からなる、請求項２６に記載の共用再構成可能資源。
【００９９】
〔請求項２８〕  前記複数のペリフェラル機能の第１のサブセットが、第１のマスタに対応し、前記複数のペリフェラル機能の第２のサブセットが、第２のマスタに対応する、請求項２２に記載の共用再構成可能資源。
【０１００】
〔請求項２９〕  第１のマスタおよび第２のマスタと情報をやりとりするバス・インタフェイスと、
該バス・インタフェイスに結合され、各エンドポイントが、該第１のマスタおよび該第２のマスタのうちの一方に割付け可能である、複数のエンドポイントからなるエンドポイント・ストレージ回路と、
ＵＳＢホストと情報をやりとりするシリアル・インタフェイス・エンジンと、
該バス・インタフェイス、エンドポイント・ストレージ回路、およびシリアル・インタフェイス・エンジンに結合され、
該シリアル・インタフェイス・エンジンに結合されたＵＳＢプロトコル・ロジックと、
該ＵＳＢプロトコル・ロジックから受け取られる情報に基づいて割込みを生成するエンドポイント割込みロジックと、
割込みステアリング・レジスタと、
該割込みステアリング・レジスタによって提供されるステアリング情報に基づいて、該第１のマスタおよび該バス・マスタのうちの対応する一方に該各割込みを経路指定する割込みステアリング・ロジックと、
からなるＵＳＢ機能コントローラと、
からなる共用ユニバーサル・シリアル・バス（ＵＳＢ）資源。
【０１０１】
〔請求項３０〕  前記複数のエンドポイントが、前記割込みステアリング・レジスタに基づいて割り付けられる、請求項２９に記載の共用ＵＳＢ資源。
〔請求項３１〕  前記複数のエンドポイントのそれぞれについて、前記割込みステアリング・レジスタが、前記第１のマスタおよび前記第２のマスタのうちの一方に対する割付けを指示する、請求項３０に記載の共用ＵＳＢ資源。
【０１０２】
〔請求項３２〕  前記割込みステアリング・レジスタが、割込みステアリング・セット・レジスタと、割込みステアリング・クリア・レジスタと、からなる、請求項３０に記載の共用ＵＳＢ資源。
【０１０３】
〔請求項３３〕  前記割込みステアリング・レジスタが、前記割込みステアリング・セット・レジスタおよび前記割込みステアリング・クリア・レジスタに結合され、前記ステアリング情報を前記割込みステアリング・ロジックに提供する割込みステアリング・ストレージ回路をさらに含む、請求項３２に記載の共用ＵＳＢ資源。
【０１０４】
〔請求項３４〕  前記割込みステアリング・ストレージ回路が、複数のセット・リセット・ラッチからなる、請求項３３に記載の共用ＵＳＢ資源。
〔請求項３５〕  各エンドポイントが、複数のバス・マスタのうちの１つのバス・マスタに割付け可能である複数のエンドポイントと、
該複数のエンドポイントに結合され、
ＵＳＢホストからの通信に基づいて割込みを生成するエンドポイント割込みロジックと、
該複数のバス・マスタによりアクセス可能な少なくとも１つの割込みステアリング・レジスタと、
該割込みステアリング・レジスタによって提供されるステアリング情報に基づいて該複数のバス・マスタのうちの対応するバス・マスタに該各割込みを経路指定する割込みステアリング・ロジックと、
からなるＵＳＢ機能コントローラと、
からなる共用ユニバーサル・シリアル・バス（ＵＳＢ）資源。
【０１０５】
〔請求項３６〕  前記少なくとも１つの割込みステアリング・レジスタが、割込みステアリング・セット・レジスタと、割込みステアリング・クリア・レジスタと、からなる、請求項３５に記載の共用ＵＳＢ資源。
【０１０６】
〔請求項３７〕  前記少なくとも１つの割込みステアリング・レジスタが、前記割込みステアリング・セット・レジスタおよび前記割込みステアリング・クリア・レジスタに結合され、前記ステアリング情報を前記割込みステアリング・ロジックに提供する割込みステアリング・ストレージ回路をさらに含む、請求項３６に記載の共用ＵＳＢ資源。
【図面の簡単な説明】
【０１０７】
【図１】本発明の１実施形態によるデータ処理システム１０をブロック図形式で示す図。
【図２】本発明の１実施形態による、図１の追加信号ステアリング・ロジック３６の一部分をブロック図形式で示す図。
【図３】本発明の１実施形態による、図１の共用資源２４の一部分を他の回路と共にブロック図形式で示す図。
【図４】本発明の１実施形態による、図１のＵＳＢ共用資源１００の一部分を他の回路と共に一部分はブロック図形式で、一部分は回路図形式で示す図。
【図１】
2007508620.tif 000003
【図２】
2007508620.tif 000004
【図３】
2007508620.tif 000005
【図４】
2007508620.tif 000006
【国際調査報告】
2007508620.tif 000007