(57)【要約】【課題】拡張されたデジタルシステムにおける調停方法及び装置を提供する。【解決手段】調停装置は、共通のデータバスを分離するアイソレーションデバイス１９９と、プロセッサまたは他のバスマスターを含む共通のデータバスの内部部分へのアクセスを制御するプライオリティ−ベースのアービタ１４２、１３４と、複数のバスマスター２９５、２９７、外部メモリインターフェース１２４等を含む共通のデータバスの外部部分へのアクセスを制御するタイムスロットアービタとを含み、共通のデータバスへの効率的なアクセス制御を可能にする。共通の外部メモリ１０７は、アイソレートされた共通のデータバスの両部分を使用して、多数のデバイスによる排他的なまたは非排他的な使用のために割り当てられる。外部メモリにアクセスする外部デバイス１１２は、共通のデータバスの内部部分上で、１つまたはそれ以上のバスマスターと直接通信することができる。【選択図】図２
2008135068.tif 000002
【特許請求の範囲】
【請求項１】
データバスへのアクセスを調停する装置であって、
データバスの第１の部分と関連するプライオリティ−ベースのアービタと、
該データバスの第２の部分と関連するタイムスロットアービタと、
該データバスの該第２の部分から該データバスの該第１の部分をアイソレートすることができるアイソレーションデバイスとを含み、アイソレートされた場合に、該プライオリティ−ベースのアービタが、該データバスの該第１の部分へのアクセスを制御することを可能とすると共に、該タイムスロットアービタが、該データバスの該第２の部分へのアクセスを制御することを可能とすることを特徴とする装置。
【請求項２】
請求項１記載の装置において、前記データバスの前記第２の部分のタイムスロットの割り当ては、前記タイムスロットアービタでプログラム可能である、装置。
【請求項３】
請求項１記載の装置において、さらに、前記データバスの前記第１の部分と通信する第１のデバイスと前記データバスの前記第２の部分と通信する第２のデバイスに共通の外部メモリにアクセスするのを許す、前記データバスの前記第２の部分上のメモリインターフェースを含む、装置。
【請求項４】
請求項３記載の装置において、
前記共通の外部メモリは、複数の部分に割り当てられ、
前記共通の外部メモリの該複数の部分のうちの第１の部分は、前記第１のデバイスによるアクセスのために割り当てられ、
前記共通の外部メモリの該複数の部分のうちの第２の部分は、前記第２のデバイスによるアクセスのために割り当てられる、装置。
【請求項５】
請求項４記載の装置において、前記第１のデバイスによる前記アクセスは、前記データバスと通信する他の複数のデバイスを排除するものである、装置。
【請求項６】
請求項５記載の装置において、前記第２のデバイスによる前記アクセスは、前記他の複数のデバイスを排除するものである、装置。
【請求項７】
請求項５記載の装置において、
前記データバスの前記第１の部分は、前記プライオリティ−ベースのアービタとプロセッサを含む集積回路の内部にあり、そして
前記データバスの前記第２の部分は、前記集積回路の外部にあるように構成されている、装置。
【請求項８】
複数のバスマスターからの共通のデータバスへのアクセスを調停する方法であって、
該共通のデータバスを２つのアイソレートされた部分に分離するステップと、
該共通のデータバスの第１のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第１のアイソレートされた部分を調停するステップと、
該共通のデータバスの第２のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第２のアイソレートされた部分を調停するステップ、を含むことを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記共通のデータバスを分離するステップの後で、前記共通のデータバスの前記第２のアイソレートされた部分から外部メモリをインターフェースするステップを、さらに含む、方法。
【請求項１０】
請求項９記載の方法において、前記外部メモリをインターフェースするステップの後で、前記外部メモリと通信する外部デバイスから前記共通のデータバスの前記第１のアイソレートされた部分と通信するバスマスターに対して直接帰還信号を供給するステップを、さらに含む、方法。
【請求項１１】
請求項８記載の方法において、前記共通のデータバスの前記第１のアイソレートされた部分と、前記第２のアイソレートされた部分との間の通信を許可するために、前記共通のデータバスを分離するステップの後で、前記共通のデータバスの前記第２のアイソレートされた部分のアクセスタイムのうちの少なくとも１つのタイムスロットを割り当てるステップを、さらに含む、方法。
【請求項１２】
複数のバスマスターからの共通のデータバスへのアクセスを調停する装置であって、
該共通のデータバスを２つのアイソレートされた部分に分離する手段と、
該共通のデータバスの第１のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第１のアイソレートされた部分を調停する手段と、
該共通のデータバスの第２のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第２のアイソレートされた部分を調停する手段と、を含むことを特徴とする装置。
【請求項１３】
請求項１２記載の装置において、さらに、前記共通のデータバスの前記第２のアイソレートされた部分から外部メモリをインターフェースする手段を含む、装置。
【請求項１４】
請求項１２記載の装置において、さらに、前記外部メモリと通信する外部デバイスから前記共通のデータバスの前記第１のアイソレートされた部分と通信するバスマスターへ直接帰還信号を供給する手段を含む、装置。
【請求項１５】
請求項１２記載の装置において、さらに、前記共通のデータバスの前記第１のアイソレートされた部分と前記第２のアイソレートされた部分間の通信を許すために、前記共通のデータバスの前記第２のアイソレートされた部分のアクセスタイムのうちの少なくとも１つのタイムスロットを割り当てることを含む、装置。
【請求項１６】
請求項１５記載の装置において、前記共通のデータバスを２つのアイソレートされた部分に分離する前記手段は、アクセスタイムのうちの前記少なくとも１つのタイムスロットの間前記共通のデータバスをアイソレートしない、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、時分割多重（ＴＤＭ）デジタルシステムに関し、特に、拡張されたデジタルシステムにおける調停方法及び装置に関する。
【０００２】
［従来の技術及び発明が解決しようとする課題］
多くのデジタルデバイスが、世界中で消費者により使用されている。これらのデバイスの各々においては、しばしば、構成要素間のシリアル及び／またはパラレルバスによる時分割多重（ＴＤＭ）技術を用いて、個々の構成要素間でデジタルサンプルが送られる。これらのデジタルサンプルを送るシステムバスの使用に関する調停は、典型的に、システムバスに対して責を負うアービタで制御される。
【０００３】
ＴＤＭデータストリームは、典型的に、反復データサイクルまたはフレームを含み、各データフレームは、複数のタイムスロットに分割されている。データフレームは、何度も繰り返すが、典型的には、データの各々の次のサイクルまたはフレームの関連タイムスロット中に次のデータサンプルを伴う。データフレームは、従来通り、フレーム同期信号または同様な信号と同期される。
【０００４】
より一般的な意味では、タイムスロットは、システムバス、たとえば３２ビットパラレルシステムバスの時間共有使用法に関連づけることができる。割り当てられたタイムスロットの間、特定のデバイスは、予め決められた形態で許される時間長までシステムの排他的な使用を行なうことができる。
【０００５】
タイムスロットは、どんな特定の長さにもすることができ、特定のデータフレーム中の別々のタイムスロットは、異なる長さを持つことができる。
【０００６】
特定のアプリケーションの要求に依存して、ＴＤＭシステムの従来の入力及び出力チャンネルは、典型的に、システムの主コントローラまたはプロセッサで割り当てられたデータフレーム内に決まった位置を有する。
【０００７】
複数のデバイスのいずれかが使用できるタイムスロットを用いて、かなりの程度のフレキシビリティを提供することができる。たとえば、システムバス上のある特定のデバイスは、特定の作業を実行するのにかなりの時間（したがって、長いタイムスロット）を必要とする場合、従来通り、主コントローラからのバスアクセスを要求する。従来の主コントローラは、調停ルールの所定セット、たとえば、連続割り当て、または、先入れ先保存割り当てになる断続駆動されるアクセス要求にしたがって、ＴＤＭシステムバスの使用を割り当てる。
【０００８】
ＴＤＭシステムバスの使用におけるフレキシビリティが良くなればなるほど、市場アプリケーションが広がる。従来のシステムでは、設計者は、典型的に、システムの主コントローラのプログラムコード内でこのフレキシビリティを実行する。このようなシステムでは、主コントローラまたはプロセッサは、その確立された調停ルールにしたがってＴＤＭシステムバスへのアクセスを許す。このような従来のデバイスでは、フレキシビリティは、どんな特定の要求するデバイスのためにも望み通りにアクセスの長さを変えるのをコントローラに許すことによって提供される。
【０００９】
従来のシステムバス調停は、主コントローラのかなりのリソースまたはオーバーヘッドを必要とし、これは、システムの複雑さがより大きくなるにつれて、増加するばかりである。このことは、特に、多プロセッサベースのシステムでは本当であり、この場合、プロセッサ間の通信データトラフィックは、調停されたシステムバスへのアクセスの要求が増加するにつれて増加する。また、システムのサイズが増大するにつれて、また、特定のシステムバス上のエージェント数が増すにつれて、調停処理は大変になる。このようにオーバーヘッドが増大すると、他の仕事に利用できる処理量が減少する結果となる。
【００１０】
従来のシステムアービタはあるが、典型的に、スーパーコアまたはマイクロコントローラ内部のプライオリティ−ベースのスーパーアービタである。
【００１１】
したがって、さもなければ従来通りに主コントローラにおいて要求されるかなりのオーバーヘッドを必要とすることなく、ＴＤＭシステムの使用を許すよりフレキシブルな調停アーキテクチャの必要性がある。
【発明の開示】
【課題を解決するための手段】
【００１２】
本発明の原理にしたがって、データバスへのアクセスを調停する装置は、データバスの第１の部分と関連するプライオリティ−ベースのアービタを含む。タイムスロットアービタは、データバスの第２の部分と関連している。アイソレーションデバイスは、データバスの第１の部分をデータバスの第２の部分からアイソレートして、アイソレートされた場合に、プライオリティ−ベースのアービタが、データの第１の部分へのアクセスを制御し、かつタイムスロットアービタがデータバスの第２の部分へのアクセスを制御するのを可能にする。
【００１３】
本発明の他の態様にしたがって複数のバスマスターから共通データバスへのアクセスを調停する方法は、共通データバスを２つのアイソレートされた部分に分離することを含む。共通データバスの第１の部分は、共通データバスの第１のアイソレートされた部分上で複数のそれぞれ要求するバスマスターに基づいて調停される。共通データバスの第２の部分は、共通データバスの第２のアイソレートされた部分上で各バスマスターのタイムスロット割り当てに基づいて調停される。
【００１４】
本発明の特徴及び利点は、図面に関する以下の説明から当業者に明らかになるだろう。
【発明を実施するための最良の形態】
【００１５】
本発明は、典型的なシステムのコントローラと関連するスーパーアービタから独立しているプログラム可能なタイムスロットインターフェース（ＰＴＳＩ）バスアービタ及びモニターを提供する。ＰＴＳＩアービタは、特に、システムバス上のデバイス数が増えるにしたがって、コントローラシステムから調停オーバーヘッドを除去すると共に、固定連続または断続プライオリティベースの割り当て等の既存の方法のプログラム可能な代替方法を提供する。
【００１６】
タイムスロットの使用のために単一アービタから調停する従来のデジタルシステムにおいて、主コントローラは、典型的に、調停及びバス割り当ての仕事を処理する。好適な実施例では、独立したアービタ（すなわち、ＰＴＳＩアービタ及びバスモニター）が、主コントローラ（たとえば、マイクロコントローラ、マイクロプロセッサまたはデジタルシグナルプロセッサ（ＤＳＰ））の外部に接続され、それにより、調停及びバス管理の負担を除去し、したがって、主コントローラの貴重な処理能力を開放する。２つのアービタの使用に関連する態様は、アービタによるタイムスロットの割り当てを適応するように調整するための履歴バッファの使用に関連する適応方法及び装置として、本発明において開示される。
【００１７】
プログラム可能なタイムスロットインターフェース（ＰＴＳＩ）バス調停方式は、複数のプロセッサシステムを伴う、特に、複数のバスマスター及び共有の通信バスを含む“プラットフォーム”システムオンチップデバイスを伴う特定のアプリケーションを有する。これらの“プラットフォーム”チップは、典型的に、多数の市場アプリケーションに役立つようにもくろまれている。その結果、これらは、フレキシブルで拡張できるものである必要がある。これらのデバイスにおいては、バスを支配できるＩＰブロックを追加したり削除したりする能力が重要であり、これは、共有のバス帯域幅を分割して、システム性能必要条件に適合させる必要性によって、さらに複雑な状態になる。
【００１８】
また、共通システムバス上の２つ（またはそれ以上）のアービタの使用は、キャッシュドコントローラ／プロセッサ、バスマスター可能な周辺装置（ＤＭＡ及び外部ネットワークインターフェース）及び／または副周辺装置（メモリ、タイマ）の混合からなるシステムにとって特に魅力的である。
【００１９】
本発明の原理にしたがって、第２のアービタ（すなわち、ＰＴＳＩアービタ）は、システム内の１つのコントローラまたは複数のコントローラから独立したオンチップバス調停システムを提供する。このシステムは、１個のチップでも良いし、または、印刷配線基板（ＰＣＢ）上の複数の集積回路でも良い。ＰＴＳＩアービタは、多数のバスマスター（たとえば、プロセッサまたはエージェント）の間で共有のＴＤＭパラレルバスに対してタイムスロットをプログラム可能に割り当てる。
【００２０】
特定のエージェントが、割り当てられたタイムスロットの制御を目下必要としない場合は、ＰＴＳＩアービタは、他のバスマスターによる使用に適切なタイムスロットを適応するように再割り当てすることができる。これは、共有のバス使用を、リアルタイムでシステムのデータフロー要求に適応可能にする。また、これは、外部メモリインターフェースを内部エージェントと共有するように外部バス支配デバイス（すなわち、共通プロセッサ）を斟酌している。
【００２１】
ＰＴＳＩアービタは、利用可能なタイムスロットの割り当てが“元の場所に”変更されるのを可能にするための複数のＰＴＳＩ形成レジスタ群（たとえば、レジスタＡ＆Ｂ）を含む。
【００２２】
好適には、バスサイクル階層を使用して、統計を集めることができるシステムサイクルを作ることができ、また、動的形成レジスタ群交換を達成することができる。
【００２３】
図１は、本発明の原理にしたがって、共通バスが、ＰＴＳＩアービタの制御の下で、たとえば３状態バッファデバイスを用いて分離可能である、共通バス上での２つの異なるアービタの使用を示す。
【００２４】
２つのアービタは、必ずしも互いに通信し合わない。たとえば、ｍｏｎａｒｃアービタは、ｉＡＳＢからスプリットシステムバス、たとえばｅＡＳＢの２つの部分を電気的に分離するために３状態バッファを“動かなくする”。次いで、プロセッサは、ｅＡＳＢメモリスペースへのアクセスを必要とする場合、そのアクセスを試みるが、エラー状態になり、断続サービスルーチンを始動させることによりそのエラー状態に作用するだろう。断続サービスルーチンは、ｍｏｎａｒｃアービタが、その状態を固定して、３状態バッファを“動かす”ように要求する。
【００２５】
特に、図１において、スーパーアービタ１４２は、コントローラ１４０のシステムバスと関連している。このコントローラとそのシステムバス（たとえば、内部ｉＡＳＢバスと呼ばれる）は、周辺装置と関連させることができる。本発明は、コントローラ１４０のシステムバスに接続された３状態メカニズム１９７を含む。開示された実施例では、３状態メカニズムは、外部バスを接続することができる外部ソケット（ＥＩＣソケット）と関連づけられている。
【００２６】
第２のアービタ（モニターアービタ回路ＭＯＮＡＲＣ）１３４は、外部ｅＡＳＢバスと呼ばれる共通システムバスの追加された部分つまり第２の部分に接続される。ＭＯＮＡＲＣは、ＭＯＮＡＲＣが調停責任を有する、ｅＡＳＢに接続された複数のデバイスまたはエージェントを持つことができる。他のバス及び通信パスは、アービタと周辺装置（図７に示される）間に存在するが、説明を簡単にするため図１には示されていない。
【００２７】
図２及び図３は、本発明の原理にしたがって、一般に、スプリットバス構成及びタイムスロット割り当てを用いた、外部デバイス及び／または共有のメモリの処理を示す。
【００２８】
常に出現する新たな技術と、縮小する特徴サイズにより、莫大な量の機能を１個の集積回路に集積し、それにより、システムオンチップ解決法を提供することが可能になった。このような解決法と関連しているのは、共有バス帯域幅、多数のバスマスター間のバス調停、縮尺可能な構成の開発、及び単一印刷配線基板上における多数のチップ間でメモリを共有しかつオーバーラップさせる手段の提供という問題である。提案される構成により、チップ上の主マイクロコントローラは、データフロー及びバス調停の維持に関連する仕事をせずに、効率的に機能することができる。
【００２９】
マイクロコントローラ／ＤＳＰベースのチップ構成は、典型的に、バストラフィックを制御し、主マイクロコントローラ／ＤＳＰを介してシステムを通るデータフローを処理するという負担がかかる。その結果、主コントローラは、周辺装置からの個々の断続要求に応答する際及び／またはデータをあちこちに移す際に貴重なＭＩＰＳを失うことがある。断続駆動アーキテクチャは、インターフェース必要条件の変化に起因して新たなブロックを追加したり既存のブロックを置き換えたりすることに関してあまりフレキシビリティがない。複数のバスマスターを処理する複雑なバス調停方式は、最終的に主コントローラまたはバスから離れている他のバスマスターのいくつかをロックすることになり、したがって、全システムの故障を引き起こす。
【００３０】
図２は、本発明の原理にしたがって、ハードウェアとソフトウェア機能を結合してプログラム可能なタイムスロット調停を提供する模範的なスプリットバス構成を示す。
【００３１】
特に、図２に示されるように、アービタ１（すなわち、スーパーアービタ）１４２）は、プライオリティ−ベースのアービタであり、アービタ２（すなわち、ＭＯＮＡＲＣアービタ）１３４は、プログラマブル  タイムスロット  アービタであり、共に、本発明の原理にしたがって機能する。
【００３２】
各エージェント（すなわち、各バスマスター２９５，２９７）は、その間にコントローラ１４０を中断することなくオフチップ／オンボードメモリ１０７へまたはそれからデータを転送することができるタイムスロットが割り当てられている。しかしながら、コントローラ１４０は、常に、バスにアクセスする必要がある時はいつでも、データ転送を中断する能力を持っている。
【００３３】
外部デバイス１１２は、外部メモリ１０７のオフチップ、共有のメモリバス、及び共有オーバーラッピング領域へのアクセスを要求することができる。
【００３４】
ソケット１９７は、マイクロコントローラ１４０がオフチップメモリ１０７にアクセスする必要がある時、内部バスを外部バスに接続する。マイクロコントローラ１４０が、内部周辺装置２９１及び内部メモリ２９３にアクセスしている間は、ソケット１９７は、内部バスと外部バスを切り離している。次いで、アービタ２  １３４は、外部バスの制御を行ない、他のバスマスター２９５，２９７の各々に外部バスを許可するためにタイムスロットを割り当てることができる。
【００３５】
また、アービタ２  １３４は、メモリバスへのアクセスのための外部デバイス１１２からの要求を受け入れることができる。各外部デバイス１１２は、全調停方式においてタイムスロットが割り当てられる。外部デバイス１１２は、オフチップメモリ１０７へのアクセスを必要とする場合、アービタ２  １３４へ供給される要求を発生する。外部デバイスのタイムスロットの間、アービタ２  １３４は、外部デバイス１１２へのバス許可と、メモリインターフェース１２４のピンを３状態にする制御信号とを発生して、外部デバイス１１２が、共有の外部メモリ１０７にアクセスできるようにする。
【００３６】
マイクロコントローラ１４０は、バスマスター２９５，２９７、データ記憶、符号記憶及び外部デバイス１１２用に外部メモリ１０７の領域を割り当てるために、メモリマップを設定しなければならない。外部デバイス１１２は、共通メモリバスを利用する何か適当なデバイス、たとえばハードウェアアクセラレータ、共通プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）または他のプロセッサデバイス（たとえば、マイクロプロセッサやマイクロコントローラ）とすることができる。
【００３７】
バス許可の受信により、外部デバイス１１２は、その割り当てられたメモリスペースにアクセスし、必要なデータ処理を終わり、そして終了時そのバス要求の主張を解除することができる。
【００３８】
また、外部デバイスは、たとえば、マイクロコントローラ１４０への中断をトリガするのに使用できる帰還信号２９９を、マイクロコントローラ１４０へ送ることができる。帰還信号２９９は、特定の作業の終了を示しているので、その後、マイクロコントローラ１４０は、たとえば、外部メモリ１０７の割り当てられた関連部分からの結果にアクセスすることができる。これは、インテリジェントデバイスのために、共通メモリバスを共存、共有させる効率的な方法を提供する。
【００３９】
共有のメモリは、回路基板上の種々のデバイス間で符号及び／またはデータを共有するため及び／または種々のデバイス間の通信を促進するのに役立つ多くの効用を有する。同じ概念を拡張して、アービタ２  １３４は、メモリバスに関する多数の外部デバイス１１２からの要求を処理することができる。これは、外部デバイス１１２に、オフチップ外部メモリ１０７へのアクセスを提供する。
【００４０】
図３は、オンボード外部メモリ１０７が、オーバーラップ部分を伴うまたは伴わずに、未共有のメモリ部分と共有のメモリに分割される、メモリ共有及びオーバーラップを示す。
【００４１】
詳細には、図３に示されるように、外部デバイス１１２，１１４は、メモリバスを介して制御を必要とする場合、アービタ２  １３４への要求を発生し、その予めプログラムされたタイムスロットの間バスが許可される。この割り当てられたタイムスロットの間、アービタ２  １３４よりバスの制御が現在与えられている全てのデバイスと、共通メモリバスを共有する他の外部デバイス１１２，１１４は、新たに要求する外部デバイスが排他的に共有のつまりオーバーラップされたメモリ領域にアクセスすることができるように、それらのメモリバスピンを好適に３状態にする。
【００４２】
本発明の原理にしたがって、新たなハードウェアモジュールは、製作された集積回路チップにおいて永久的に実行される前に、共有の外部メモリを用いて検査回路基板上で検査することができる。
【００４３】
図４は、本発明の原理にしたがって、３状態バッファが、バスの２つの部分を接続してスーパーアービタに戻る調停制御を提供する特定のタイムスロットの間を除いて、バスのその部分における調停の責を負う監視アービタ回路（ＭＯＮＡＲＣ）１３４のより詳細なブロック図である。
【００４４】
詳細には、図４において、模範的なＭＯＮＡＲＣアービタ１３４は、２つの主要な小ブロック、すなわち、ｅＡＳＢアービタ２００及びｅＡＳＢバスモニター２０２を含む。
【００４５】
ｅＡＳＢアービタ２００は、そのサービスされる周辺装置からの要求入力と、また（カウンタを駆動する）形成レジスタに記憶されている調停パラメータとを受け入れ、それに応じてｅＡＳＢの所有権を許可する。
【００４６】
ｅＡＳＢバスモニター２０２は、ｅＡＳＢバス上の処理を監視し、追加されるＭＯＮＡＲＣアービタ１３４の調停パラメータを適応するように再調整するためにコントローラ１４０で用いられる履歴情報及び／またはバス使用統計を収集する。ＭＯＮＡＲＣアービタ１３４の調停パラメータの変更は、システムバスの３状態化された部分が、全共通バスシステムバス（すなわち、ｉＡＳＢ及びｅＡＳＢ）の調停制御をスーパーアービタ１４２に許す特定のタイムスロットの間再接続される場合に許される。
【００４７】
主コントローラ１４０（たとえば、ＡＲＭ９４０Ｔ）は、この実行時ＭＯＮＡＲＣアービタ１３４としっかり接続され、ここでは、コントローラスーパーコアは、ＭＯＮＡＲＣアービタ１３４のプログラマブル  タイムスロット性質でぴったり適合される内部スーパーアービタ１４２を含む。ＭＯＮＡＲＣの調停形成レジスタは、別のバス通信メカニズムを介して、たとえば、ＡＲＭ９４０Ｔデバイスにおいて利用可能なＡＰＢインターフェースを介してコントローラ１４０によってアクセスされる。
【００４８】
ｅＡＳＢバスモニター２０２は、図４に示されるように、ｅＡＳＢアービタ２００に付属している。ｅＡＳＢバスモニター２０２は、タイムスロット履歴バッファ２０８を含むことができる。
【００４９】
タイムスロット履歴バッファ２０８は、いくつかのまたは全部のタイムスロットの間に終わったバス処理に関する情報を記憶する。たとえば、最後の３つまたは最後の１０個の処理に関する情報を、タイムスロット履歴バッファ２０８に保存することができる。したがって、ｅＡＳＢバスモニター２０２で得られる情報を使用して、追加のレジスタ群を含めて、１つまたはいくつかまたは全部のタイムスロットの間の共有のバス使用の統計を集めることができる。
【００５０】
詳細には、開示されているタイムスロット履歴バッファ２０８は、たとえば、デバイス中に設計されているハードウェアバッファのサイズに基づいて選択できる、終わったｅＡＳＢ処理に関するアドレス、データ、制御信号及びアービタ状態を記憶することができるレジスタ群である。この履歴情報は、ｅＡＳＢバス作業に基づいて（ｅＡＳＢもしくはｉＡＳＢに接続されているか、または全体システムの外部にあるかのどちらかの）周辺装置のためのトリガ信号を発生するのに使用することができる。
【００５１】
また、タイムスロット履歴バッファ２０８は、多くの（数千の）システムサイクルにわたってＭＯＮＡＲＣアービタ１３４より得られる統計に関するレジスタも含むことができる。この情報は、ＭＯＮＡＲＣアービタ１３４を制御するのに使用される調停及びタイムスロットパラメータを最適化するために、コントローラ１４０（またはシステムユーザー）によって使用される。
【００５２】
開示された実施例では、ＭＯＮＡＲＣアービタ１３４は、タイムスロット形成レジスタの冗長セットを含む。このタイムスロット形成レジスタの冗長セット（Ａ＆Ｂ）により、レジスタの１セットはＭＯＮＡＲＣアービタ１３４で使用され、他のセットはコントローラ１４０で書き込まれる。したがって、たとえば、タイムスロットパラメータの新たなセットを、形成レジスタセットＢ２２４に書き込み、ＭＯＮＡＲＣアービタ１３４を、形成レジスタセットＡ２２０に前に記憶されているパラメータに基づいて機能させることができる。能動形成レジスタセットへのアクセスを防ぐために、ハードウェア連動デバイスが備えられる。他の実施例では、前の値が使用されている間に、１つのセットを書き込んで予めローディングすることができるように、二重バッファ方式を使用することができる。
【００５３】
履歴情報は、システム性能と多分電力消費とを改善するためにシステムの主コントローラ１４０で適応可能な様式で使用される。また、履歴バッファは、システムデバッギングに役立つ。この場合には、ユーザーは、ＭＯＮＡＲＣアービタ１３４より得られる統計／履歴情報を処理し、ＭＯＮＡＲＣアービタ１３４で使用される調停ルールに関するＰＴＳＩ調停または他のシステムパラメータ（たとえば、クロックイネーブルやメモリ割り当て）を修正して性能を改善する内在コントローラ１４０の利点を得ることができる。
【００５４】
トリガ条件をタイムスロット履歴バッファ２０８に追加して、内部ｅＡＳＢバス処理に、外部デバイスで使用される外部事象フラグ（または、ビットＩ／Ｏ信号）をセットさせることができる。
【００５５】
プログラマブルアドレスフィルタ２１０は、ｅＡＳＢバスとタイムスロット履歴バッファ２０８間のタイムスロット履歴バッファ２０８の前端で任意に使用され、獲得したバス処理のアドレス範囲を制限する能力を許す。
【００５６】
開示された実施例では、ユーザーは、ＭＯＮＡＲＣアービタ１３４の形成レジスタをプログラムすることができる。これは、開示された実施例において、第１の形成レジスタセット（たとえば、レジスタセットＡ）と第２の形成レジスタセット（たとえば、レジスタセットＢ）を含む交互ペアで行なわれる。レジスタセットの一方が使用中の間、他方は、主コントローラまたは他のシステムデバイスでアクセスされて、システムの関連ＴＤＭシステムバスにアクセスするためのタイムスロットが調節される。このように、まず、レジスタの非能動セットがプログラムされ、次いで、レジスタの能動セットがコントローラ１４０からの命令によって切り換えられる。少なくともｅＡＳＢに関する調停パラメータの再プログラミングにより、システムのユーザーは、ｅＡＳＢの割り当てをより効率的に動的に調整することができる。タイムスロット形成レジスタセット２２０，２２４の一方が、能動に変えられるかまたは能動になると、他方の形成レジスタセットは、修正及び将来の使用に利用できるようになる。このように、共通システムバスのｅＡＳＢ部分の調停に関するタイムスロットパラメータは、システムサイクルあたり１回毎に、望むように再形成することができる。
【００５７】
たとえば、開示された実施例では、ユーザーは、どのシステムバスサイクルの終わりでも、タイムスロット形成レジスタセット２２０，２２４を交換することができる。各システムサイクルを再形成することができるが、システムバス及びエージェントバスサイクルの構成を動的に変更するこの能力は、多くのシステムバスサイクル（すなわち、追加されるオーバーヘッドのため、好適にはシステムサイクル当たりに基づかない）後に使用されるものである。
【００５８】
ユーザーは、システムバスサイクルを変更して、全体システムにおける異なるリアルタイム処理に合わせることができる。ユーザーは、ソフトウェアフローの優先認識に基づいて、またはモニターで集められる統計のいくつかを使用するより適応可能な処理により、これを行なうことができる。
【００５９】
プログラマブル  タイムスロット形成レジスタセットＡ＆Ｂ２２０，２２４の模範的な内容は、表１に示される。表１において、ＰＴＳＩシステムパラメータは、システムサイクルを構成するのに使用される模範的な高レベルパラメータを指し、表２において、ＰＴＳＩエージェント  タイムスロットパラメータは、各タイムスロットの長さを限定するのに使用される模範的な低レベルパラメータを指している。
【表１】
2008135068.tif 000003
【００６０】
決定型モードでは、各タイムスロットは自動的に与えられ、これらは最大の予めプログラムされた長さだけ持続する。各エージェントタイムスロットに戻るためにシステムサイクルに割り当てられる時間と待ち時間は、予め決定される。
【００６１】
適応型モードでは、タイムスロットは、要求された場合のみエージェントに許可され、エージェントは、最大時間前にその割り当てられた時間サイクルの使用を終了することができる。この場合には、システムサイクルは、データポートを介するデータフローの要求で命令されたアコーディオンのようにふるまう。
【００６２】
エージェント  タイムスロット数は、各システムサイクルにおけるタイムスロットのプログラム可能な数を指す。ｅＡＳＢバスの各エージェントは、所定のシステムサイクル内で０，１またはそれ以上のタイムスロットにプログラムされ得る。
【００６３】
エージェント数は、データポートの数、すなわち、ｅＡＳＢバスに取り付けられ、ＭＯＮＡＲＣアービタで管理されるユニバーサルシリアルバス（ＵＳＢ）、イーサネット（登録商標）メディアアクセスコントローラ（ＭＡＣ）、周辺機器インターフェース（ＰＣＩ）、高速シリアル入力／出力（ＨＳＩＯ）及び他のバスマスター可能デバイスの数を指す。
【００６４】
タイムスロットシーケンス（エージェントＩＤ）は、エージェントタイムスロットが生じるプログラム可能な順番を指す。
【００６５】
システム当たりの単位サイクルの数は、最も低レベルのバスクロックサイクルを指す。多くの単位サイクルが、エージェントタイムスロットを作るために選択される。
【００６６】
他のレジスタ値、たとえばＰＴＳＩエージェントタイムスロットは、表２に示されるようなものとすることができる。
【表２】
2008135068.tif 000004
【００６７】
各エージェントタイムスロットのための完全単位サイクル数は、アービタが次のタイムスロットに移動中であるので、バスを譲る前にバス処理を終了するようにエージェントを斟酌するために各エージェントサイクルの終わりにプログラムされる。
【００６８】
図４に示されるｅＡＳＢバスモニターは、さらに、統計レジスタ２０４を含む。バスモニターで集められる統計は、主コントローラ１４０で読み出し可能な統計レジスタ２０４に更新される。この統計は、（ＭＯＮＡＲＣ更新タイムスロットにおける）あらゆるシステムバスサイクルの終わりに有効になる。統計レジスタ２０４で維持される統計は、あらゆるシステムバスサイクルの終わりにリセットまたは初期化される。統計情報は、形成レジスタで使用されるタイムスロット関連パラメータと共に、所定のアプリケーションのために使用されたプログラムされたＰＴＳＩ値の効率を特徴づけるために使用される。
【００６９】
表３は、ｅＡＳＢバスモニター２０２によって統計レジスタ２０４に維持されるいくつかの模範的な統計を含む。
【表３】
2008135068.tif 000005
【００７０】
調停及び／または内部バスモニターに関する本発明の原理は、多くのタイプのシステムに、特に共有のバスアーキテクチャを使用する“システム−オンチップ”デバイスに適用可能である。ＴＤＭシステムバスシステムにおけるタイムスロットの共有の使用に関して説明されたが、この概念は、多くの他のタイプのアプリケーションへの適用可能性を有する。
【００７１】
図５は、本発明の原理にしたがって、階層的なバスサイクル定義の使用に基づいたＰＴＳＩバス調停概念を使用する、一連のシステムサイクルの各々における模範的なタイムスロットを示すタイミング図である。
【００７２】
詳細には、図５において、最低レベルにあるバスは、単位サイクル速度でトグルされる。単位サイクル速度は、バスマスターのうちの１つのバスマスターのクロック速度に頼っても良いし頼らなくても良い。これは、バス信号を切り換えることができる最も速い速度である。シミュレーションと特別なレイアウト考察は、ローディング、寄生及びノイズ特性が選択された単位サイクル速度をサポートできるのを保証するように行なわれなければならない。
【００７３】
第２レベルバスサイクルは、エージェントタイムスロットと呼ばれる。これは、所定のバスマスターに割り当てられたバス所有権の時間である。これはプログラム可能であり、所定数の単位サイクルに基づいている。所有権は、あるバスマスターエージェントから他のバスマスターエージェントへ渡されるので、バスが複数のマスターで同時に駆動されないことを保証するためのプロトコルが確立される。
【００７４】
最高レベルにおいて、ＰＴＳＩは、あるシステムサイクル速度を有する。システムサイクルは、プログラム可能な数のエージェントサイクルで構成される。１つのシステムサイクル（または、多くのシステムサイクル）の終了は、タイムスロット形成レジスタ２２０，２２４に記憶されているＰＴＳＩ調停パラメータを変更するために、及び／または、バス使用統計を集める／更新するために使用される。同じエージェントは、システムサイクルの多くの異なる時間（変化するエージェントサイクル長を伴う）に出現することができる。
【００７５】
タイムスロット形成レジスタ２２０，２２４におけるタイムスロット形成パラメータは、バス所有権を管理すると共にエージェントタイムスロット及びシステムサイクル属性を定義する状態マシン２３０を確立する。リセットにより、このシステムは、システムセットアップに適する初期化状態になるだろう（たとえば、主コントローラ１４０は、別のＡＰＢバスの所有権を持つだろう）。コントローラ１４０は、このＡＰＢバスを用いて、タイムスロット形成レジスタ２２０，２２４のパラメータを設定する。
【００７６】
この初期化中、ｉＡＳＢ及びｅＡＳＢバス要求は連結され、スーパーアービタは、全メモリマッピングされたアドレススペースへのアクセスを有する。
【００７７】
主コントローラ１４０は、望ましい値をタイムスロット形成レジスタ２２０，２２４に設定した後、ＭＯＮＡＲＣ  ＰＳＩ形成が呼び出されるのを許すイネーブルビットを設定する。このポイントオンから、ＰＴＳＩ値の選択されたセットが使用され、指定されたエージェントは、プログラムされた順番にバス所有権が与えられる。最初のＰＴＳＩ形成が“Ａセット”２２０に記憶されている値に基づいてランしている間に、形成レジスタの非能動セット（たとえば、最初に“Ｂセット”２２４）を用いて、他のＰＴＳＩ形成を設定することができる。形成レジスタの非能動セットは、いずれかのシステムサイクルの終わりに呼び出すことができる。
【００７８】
開示された実施例では、ＰＴＳＩ状態マシン２３０の２つの動作モードが設定されている。
【００７９】
たとえば、ｅＡＳＢアービタ２００は、決定型モード（モード０）か適応型モード（モード１）のどちらかで動作することができる。
【００８０】
モード０は、時間領域で完全に決定型になっている。このモードでは、各エージェントサイクルは、能動的タイムスロット形成レジスタ２２０または２２４で示される完全なプログラムされた持続期間続く。この決定型モードでは、各バスマスターは、固定時間の間バス所有権を持っているばかりでなく、そのタイムスロットの間バスを横切るデータを転送する必要があるか否かにかかわらず、そのバス所有権タイムスロット間に決まった時間も持っている。
【００８１】
一方、モード１は、受け取ったバス要求信号に基づいてラウンドロビン−割り当てができる適応型モードである。この適応型モードは、ｅＡＳＢ上の種々のエージェント及び他の周辺装置からのバス要求入力信号を使用して、次の割り当てられたバスマスターが、近づいてくるエージェントサイクルが割り当てられる必要性を持っているかどうかを判定する。もしそうでなければ、状態マシン２３０は、プログラムされたシステムサイクルシーケンスの全部を終えて、どのバスマスターが次にバス所有権を与えられるかを判定する。
【００８２】
エージェントサイクルは、バスマスターまたはエージェントに割り当てられると、バスマスターまたはエージェントが（エージェントサイクルが終わる前に）そのバス要求信号を除去するまで、あるいは、形成レジスタでそれに割り当てられた完全なタイムスロット持続期間の間、所有権を持つ。
【００８３】
エージェントサイクルが、（バス要求の除去によって）早めに終わった場合は、  状態マシン２３０は、ＰＴＳＩプログラムされたシーケンスで持続する。
【００８４】
このように、適応型調停モードは、タイムスロットのプログラムされたシーケンスと、最大時間量としてプログラムされたタイムスロット持続期間とを使用して、“必要に応じて”を基本としてバス所有権を割り当て、割り当てられたタイムスロットのさもなければ未使用となる部分の間の再割り当てと改善された効率とを可能にする。
【００８５】
適応型調停モードでは、システムサイクルの持続期間は、ｅＡＳＢバスのための命令に基づいて変わる。このモードでは、エージェントタイムスロット限界が、特定のエージェントにｅＡＳＢ帯域幅の最小部分が保証されるのを確実にするために設定される。
【００８６】
一般的にＰＴＳＩ方式と、特にＭＯＮＡＲＣアービタ１３４は、提案されたチップアーキテクチャに関してそれらの機能を述べることによりさらに説明される。このために、図６は、本発明の原理にしたがって、ＡＤＳＬ可能デバイスのアプリケーション例に含む、多くのアプリケーションに役立つプラットフォーム回路のブロック図である。図７は、図６に示されるプラットフォーム回路のより詳細なブロック図である。
【００８７】
図６及び図７において、以下の定義及び説明が適用される。
主コントローラ１４０は、何か適当なプロセッサまたは汎用コントローラ、たとえばマイクロプロセッサ、マイクロコントローラまたはデジタルシグナルプロセッサ（ＤＳＰ）とすることができる。開示された実施例では、主コントローラ１４０は、ＡＲＭ９４０Ｔコントローラであり、ＡＲＭと呼ばれる英国会社からの３２ビットマイクロコントローラである（しかし、汎用プロセッサまたはコントローラでも良い）。ＡＲＭ９４０Ｔは、４ｋバイトのデータキャッシュと４ｋバイトの命令キャッシュを含む。もちろん、何か適当な多目的マイクロコントローラまたは他のプロセッサを使用することもできる。
【００８８】
ＭＯＮＡＲＣは、モニターアービタ回路を表わす頭字語である。
ＭＯＮＡＲＣ  ＰＴＳＩ方式は、ｅＡＳＢバスの所有権のためにＭＯＮＡＲＣアービタ１３４で実行される処理を指す。
【００８９】
ＡＲＭスーパーコアは、ＡＲＭ９４０Ｔコントローラのスーパーセットと、それに含まれる機能ブロックを指す。図６及び図７に示される開示された実施例では、周辺装置が追加され（たとえば、プログラマブル中断コントローラなど）留と共に、ソケットが、スーパーコアを構成するためにＡＲＭ９４０Ｔのバスに追加されている。
【００９０】
外部インターフェース回路（ＥＩＣ）は、共通システムバスを、ＡＲＭコントローラ１４０及びスーパーアービタ１４２と関連する第１の部分と、追加されるＭＯＮＡＲＣアービタ１３４と調停責任を有する関連周辺装置とに関連する第２の部分に分離する３状態機能を含む。したがって、ＥＩＣは、ＡＲＭコントローラ１４０の既存のＡＳＢバスを、追加される回路に関連するバスの第１の部分から電気的に分離するための３状態バッファを含み、共通システムバスの第１の部分、すなわちスーパーコアの内部的なもの（ｉＡＳＢ）と、共通システムバスの第２の部分、すなわちスーパーコアの外部的なもの（ｅＡＳＢ）とを含むスプリットバスを作る。外部インターフェース回路により、ＡＲＭスーパーコアの外部のブロックをＡＲＭコントローラ１４０のｉＡＳＢバスに追加することができる。
【００９１】
スーパーコアｉＡＳＢバスがｅＡＳＢに接続されると、ＡＲＭスーパーコアは、その全メモリマップスペースへの（すなわち、共通システムバスの両部分ｉＡＳＢ，ｅＡＳＢに接続された周辺装置への）直接アクセス能力を持つ。
【００９２】
ＡＲＭスーパーコア１４０は、ＡＲＭからＡＭＢＡバスプロトコルを使用する２つのバスを発生する。ＡＰＢはＡＲＭ周辺バスであり、遅いほうの周辺装置で使用されるものである。ＡＳＢはＡＲＭ高速バスであり、高速周辺装置で使用されるものである。これは、ｅＡＳＢエージェントのための“遅い裏口”アクセスを提供する。また、これは、遅いほうの周辺装置のいくつかへの直接的なインターフェースにも使用される。ＡＰＢバスは、ｉＡＳＢの離れるＡＰＢブリッジで発生する。
【００９３】
内部ダイレクトメモリアクセス（ＩＤＭＡ）１２６は、ｅＡＳＢデータポートの各々に接続された小ブロックを指す。この小ブロックにより、データポート先入れ先出し（ＦＩＦＯ）デバイス（ＤＩＢとも呼ばれる）は、着信＆発信データをバッファして、外部メモリへ／外部メモリからバッファされたデータを転送することができる。
【００９４】
スーパーアービタ１４２は、スーパーコアの内部にある。スーパーアービタ１４２は、プライオリティ−ベースのアービタである。スーパーアービタ１４２は、リセットに基づいて全共通システムバスを管理しており、従属するＭＯＮＡＲＣアービタ１３４は、この時不作動にされている。ＡＲＭコントローラ１４０は、形成レジスタセット２２０，２２４のうちの１つ（または初期化により両方）におけるタイムスロットパラメータを形成することができる。ＭＯＮＡＲＣがプログラムされ＆機能付与された後、ＭＯＮＡＲＣアービタ１３４は、３状態バッファ１９７で提供される適切な電気的分離で、スーパーアービタ１４２と共存することができる。共通システムバスは、ＭＯＮＡＲＣアービタ１３４がＡＲＭスーパーコア１４０にｅＡＳＢバス上のタイムスロットを許可した時に電気的に再接続状態になる。
【００９５】
ＭＯＮＡＲＣアービタタイムスロットは、一般にプログラム可能であるが、ＡＲＭ１４０（たとえば、エージェント＃０）は、好適に、システムサイクルを定義するタイムスロットシーケンスにおいて少なくとも１つの予め割り当てられたタイムスロットを有する。
【００９６】
図６及び図７において、外部のまたは追加されたバス（ｅＡＳＢ）は、所定のエージェントと外部の共有のメモリの間の高速データトラフィックのために設定される。（ＡＲＭコントローラ１４０を除いて）これらのエージェントは各々、読み出し及び書き込みデータバッファと、ＩＤＭＡ１２６への入力である関連状態信号とを有する。ＩＤＭＡ１２６は、ＭＯＮＡＲＣアービタ１３４に付属している。
【００９７】
開示されたシステムは、ＡＳＢバス調停階層の２レベルを有する。スーパーアービタ１４２は、調停の最高レベルである。これは、ＡＳＢ所有権をＥＩＣソケット（すなわち、ｅＡＳＢ周辺装置）に割り当てるように構成されている。システム初期化の後（ＡＲＭがＡＢＳバス全体（ｉＡＳＢ及びｅＡＳＢの両方）を所有した場合）、ＡＲＭ１４０は、ＭＯＮＡＲＣアービタ１３４に機能付与し、スーパーアービタ１４２は、システムバス３状態分離により、ｅＡＳＢアービタ２００に対する共通システムバスの拡張された部分ｅＡＳＢの制御を止める。この時点で、ＡＲＭ１４０は、ｅＡＳＢバス上のエージェントの１つになる。
【００９８】
ＡＲＭ１４０は、好適に、ＭＯＮＡＲＣアービタ１３４を無力にすることができる唯一のエージェントである。また、ＡＲＭ１４０は、ＭＯＮＡＲＣアービタ１３４による調停を無力にして停止させることによって、そのｅＡＳＢタイムスロットを（事実上）拡張させる先買い能力も有する。ＡＲＭ１４０は、終了した時、ＭＯＮＡＲＣアービタ１３４に再び機能付与することができ、システム調停サイクルは、それが止めた場合に継続する。
【００９９】
ｅＡＳＢバス上の緊急状態時、ＭＯＮＡＲＣアービタ１３４を無力にすることができ、ＡＲＭ１４０は、ＭＯＮＡＲＣアービタ１３４に再び機能付与しかつｅＡＳＢバスの制御を再び止めるべき時を決定する責任が与えられる。
【０１００】
ＭＯＮＡＲＣアービタ１３４は、内部インターフェースデバイスと２つの外部バスマスター可能周辺装置の間でｅＡＳＢバスの所有権を分配する。外部バスマスターの場合には、これらは、ｅＡＳＢバスへのアクセスが実際提供されないが、むしろ外部メモリバスへのアクセスが（争いなしに）許可される。したがって、ＭＯＮＡＲＣアービタ１３４は、外部デバイスが外部メモリインターフェースを使用できるように、ｅＡＳＢバスから離れている内部エージェントの全部を維持する。
【０１０１】
本発明は、もくろんだアプリケーションに関係なく、どんな関連集積回路（ＩＣ）のアーキテクチャにも適用可能である。
【０１０２】
本発明は、その模範的な実施例に関して説明されたが、当業者は、本発明の真の精神及び範囲から逸脱することなく、本発明の説明された実施例に対する種々の修正を行なうことができる。
【図面の簡単な説明】
【０１０３】
【図１】本発明の原理にしたがって、共通バスが、ＰＴＳＩアービタの制御の下で、たとえば３状態バッファデバイスを用いて分離可能である、共通バス上での２つの異なるアービタの使用を示す図である。
【図２】本発明の原理にしたがって、ハードウェアとソフトウェア機能を結合してプログラム可能なタイムスロット調停を提供する模範的なスプリットバス構成を示す図である。
【図３】搭載メモリが、オーバーラップ部分を伴ってまたは伴わずに、共有されないメモリと共有されるメモリに分割される、メモリ共有及びオーバーラップを示す図である。
【図４】本発明の原理にしたがって、３状態バッファが、バスの２つの部分を接続して、スーパーアービタに調停制御を戻す、特定のタイムスロットの間を除いてバスのその部分における調停の責を負うモニター用アービタ回路（ＭＯＮＡＲＣ）のより詳細なブロック図である。
【図５】本発明にしたがって、階層バスサイクル定義の使用に基づく、プログラム可能なタイムスロットインターフェース（ＰＴＳＩ）バス調停概念を用いた一連のシステムサイクルの各々における模範的なタイムスロットを示すタイミング図である。
【図６】本発明の原理にしたがって、非同期デジタル加入者ループ（ＡＤＳＬ）可能デバイスのアプリケーション例を含む、多くのアプリケーションに役立つプラットフォーム回路のブロック図である。
【図７】図６に示されるプラットフォーム回路のより詳細なブロック図である。
【図１】
2008135068.tif 000006
【図２】
2008135068.tif 000007
【図３】
2008135068.tif 000008
【図４】
2008135068.tif 000009
【図５】
2008135068.tif 000010
【図６】
2008135068.tif 000011
【図７】
2008135068.tif 000012
【手続補正書】
【提出日】平成20年3月24日(2008.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データバスへのアクセスを調停する装置であって、
データバスの第１の部分と関連するプライオリティ−ベースのアービタと、
該データバスの第２の部分と関連するタイムスロットアービタと、
該データバスの該第２の部分と関連するタイムスロット履歴バッファと、
該データバスの該第２の部分から該データバスの該第１の部分をアイソレートすることができるアイソレーションデバイスとを含み、アイソレートされた場合に、該プライオリティ−ベースのアービタが、該データバスの該第１の部分へのアクセスを制御することを可能とすると共に、該タイムスロットアービタが、該データバスの該第２の部分へのアクセスを制御することを可能とすることを特徴とする装置。
【請求項２】
請求項１記載の装置において、前記データバスの前記第２の部分のタイムスロットの割り当ては、前記タイムスロットアービタでプログラム可能である、装置。
【請求項３】
請求項１記載の装置において、さらに、前記データバスの前記第１の部分と通信する第１のデバイスと前記データバスの前記第２の部分と通信する第２のデバイスに共通の外部メモリにアクセスするのを許す、前記データバスの前記第２の部分上のメモリインターフェースを含む、装置。
【請求項４】
請求項３記載の装置において、
前記共通の外部メモリは、複数の部分に割り当てられ、
前記共通の外部メモリの該複数の部分のうちの第１の部分は、前記第１のデバイスによるアクセスのために割り当てられ、
前記共通の外部メモリの該複数の部分のうちの第２の部分は、前記第２のデバイスによるアクセスのために割り当てられる、装置。
【請求項５】
請求項４記載の装置において前記共通の外部メモリの前記複数の部分のうちの前記第１の部分は、前記第１のデバイスによる排他的なアクセス用に割り当てられている装置。
【請求項６】
請求項５記載の装置において前記共通の外部メモリの前記複数の部分のうちの前記第２の部分は、前記第２のデバイスによる排他的なアクセス用に割り当てられている装置。
【請求項７】
請求項５記載の装置において、
前記データバスの前記第１の部分は、前記プライオリティ−ベースのアービタとプロセッサを含む集積回路の内部にあり、そして
前記データバスの前記第２の部分は、前記集積回路の外部にあるように構成されている、装置。
【請求項８】
複数のバスマスターからの共通のデータバスへのアクセスを調停する方法であって、
該共通のデータバスを２つのアイソレートされた部分に分離するステップと、
該共通のデータバスの第１のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第１のアイソレートされた部分を調停するステップと、
該共通のデータバスの第２のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第２のアイソレートされた部分を調停するステップと、
少なくとも１つのタイムスロットについての少なくとも１つの過去のバス処理に関する情報を記憶するステップと、を含むことを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記共通のデータバスを分離するステップの後で、前記共通のデータバスの前記第２のアイソレートされた部分から外部メモリにアクセスするステップを、さらに含む、方法。
【請求項１０】
請求項９記載の方法において、前記外部メモリにアクセスするステップの後で、前記外部メモリと通信する外部デバイスから前記共通のデータバスの前記第１のアイソレートされた部分と通信するバスマスターに対して直接帰還信号を供給するステップを、さらに含む、方法。
【請求項１１】
請求項８記載の方法において、前記共通のデータバスの前記第１のアイソレートされた部分と、前記第２のアイソレートされた部分との間の通信を許可するために、前記共通のデータバスを分離するステップの後で、前記共通のデータバスの前記第２のアイソレートされた部分のアクセスタイムのうちの少なくとも１つのタイムスロットを割り当てるステップを、さらに含む、方法。
【請求項１２】
複数のバスマスターからの共通のデータバスへのアクセスを調停する装置であって、
該共通のデータバスを２つのアイソレートされた部分に分離する手段と、
該共通のデータバスの第１のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第１のアイソレートされた部分を調停する手段と、
該共通のデータバスの第２のアイソレートされた部分上で各々要求するバスマスターのプライオリティに基づいて、該共通のデータバスの該第２のアイソレートされた部分を調停する手段と、
少なくとも１つのタイムスロットについての少なくとも１つの過去のバス処理に関する情報を記憶する手段と、を備えることを特徴とする装置。
【請求項１３】
請求項１２記載の装置において、さらに、前記共通のデータバスの前記第２のアイソレートされた部分から外部メモリをインターフェースする手段を含む、装置。
【請求項１４】
請求項１２記載の装置において、さらに、前記外部メモリと通信する外部デバイスから前記共通のデータバスの前記第１のアイソレートされた部分と通信するバスマスターへ直接帰還信号を供給する手段を含む、装置。
【請求項１５】
請求項１２記載の装置において、さらに、前記共通のデータバスの前記第１のアイソレートされた部分と前記第２のアイソレートされた部分間の通信を許すために、前記共通のデータバスの前記第２のアイソレートされた部分のアクセスタイムのうちの少なくとも１つのタイムスロットを割り当てることを含む、装置。
【請求項１６】
請求項１５記載の装置において、前記共通のデータバスを２つのアイソレートされた部分に分離する前記手段は、アクセスタイムのうちの前記少なくとも１つのタイムスロットの間前記共通のデータバスをアイソレートしない、装置。