(57)【要約】バスアービタ（３４）は、情報のバーストランザクション中にグローバルデータバス（１２）を介して転送される情報のタイプに関連する特徴をモニタする。ユーザ制御のアービトレーションポリシレジスタ（５６）は、要求バスマスタによる割り込みが許されるかどうか制御するために復号化される値でプログラム化し得る。様々な要因を用いて、割り込み許可を決定し得る。このような要因の例には、要求デバイスのタイプ、バーストトランザクションが制限されているか又は無制限であるか、トランザクションがシステムメモリの読み出し又は書き込みか、及びバスマスタ権を要求する個々のデバイスの識別、が含まれる。
2004531830.tif 000002
【特許請求の範囲】
【請求項１】
通信バスの使用状態を制御するための装置を有するシステムであって、
複数の通信バスマスタと、
通信バスに接続され、又、複数の通信バスマスタの内、２つの通信バスマスタが通信バスのマスタ制御を望むのに応じて接続されるバスアービタと、を含み、
前記複数の通信バスマスタの内少なくとも１つの通信バスマスタは、バスマスタ毎に成される際のバーストサイクル単位で通信バスを介して情報を通信するために通信バスに接続され、
前記バスアービタは、複数の通信バスマスタの内、１つの通信バスマスタによる通信バスへの単独アクセスを選択的に許可するためのアービトレーションポリシを実行し、また、前記バスアービタは、通信バス上に現存するバースト通信の最後が完了するまで待つことなく、複数の通信バスマスタの内、既存の１つの通信バスマスタによって、情報のバースト転送中、いつでも通信バスの制御を再割当てし得る制御情報を受信するためのユーザ制御される回路を有する、システム。
【請求項２】
請求項１に記載のシステムであって、前記バスアービタによって受信される制御情報は、通信バス上に現存するバースト転送のタイプに基づきアービトレーションポリシを決定するシステム。
【請求項３】
請求項２に記載のシステムであって、前記アービトレーションポリシは、通信バス上に現存するバースト転送のタイプが、制限バーストであるか無制限バーストであるかに基づき決定されるシステム。
【請求項４】
請求項２に記載のシステムであって、更に、
通信バスに接続されるメモリを含み、前記アービトレーションポリシは、通信バス上に現存するバースト転送のタイプが、メモリの読み出しであるか書き込みであるかに基づき決定されるシステム。
【請求項５】
請求項１に記載のシステムであって、
前記バスアービタによって受信される制御情報は、複数の通信バスマスタの内、どの通信バスマスタが、通信バスの制御を現在有するかに基づき、アービトレーションポリシを決定するシステム。
【請求項６】
請求項１に記載のシステムであって、
前記バスアービタによって受信される制御情報は、複数の通信バスマスタの内、どの通信バスマスタ又は通信バスマスタ群が、通信バスの制御を現在要求しているかに基づきアービトレーションポリシを決定するシステム。
【請求項７】
請求項１に記載のシステムであって、
前記バスアービタによって受信される制御情報は、通信バス上に現存するバースト転送に応答しているメモリデバイスのバーストタイプに基づきアービトレーションポリシを決定するシステム。
【請求項８】
請求項１に記載のシステムであって、更に、前記ユーザ制御される回路には、
ユーザによって決定された少なくとも１つの所定の制御信号を記憶するための１つ以上のレジスタが含まれ、前記所定の制御信号がアービトレーションポリシを指定するシステム。
【請求項９】
請求項８に記載のシステムであって、更に、前記バスアービタには、
１つ以上のレジスタに接続される論理回路が含まれ、前記論理回路は、少なくとも１つの所定の制御信号と、通信バスによって通信されている現バースト転送の所定の特徴との双方に応じて、アービトレーションポリシを実行するシステム。
【請求項１０】
システムにおける通信バスの使用状態を制御するための方法であって、
ユーザ制御される手段を介して、制御値をバスアービタに提供する段階であって、前記制御値は、複数のバスマスタ間において、バスマスタ権を選択するために、情報のバースト転送中、所定の複数アービトレーションポリシの内、１つのアービトレーションポリシを選択する前記段階が含まれる方法。
【請求項１１】
請求項１０に記載の方法であって、更に、
前記バスアービタに状態信号を提供する段階であって、前記状態信号は、通信バスを介して通信されている現バースト転送に関するタイプ情報を提供する現バースト転送タイプ情報を含む前記段階と、
制御値及び状態信号の双方を用いて、現在のバースト転送の最後が完了するまで待つことなく、現バスマスタによる情報の現バースト転送中、いつでも通信バスの制御を選択的に再割当てする段階と、
が含まれる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
参照関連出願
本出願は、出願日２００１年６月２３日の特許出願第０９／８８８，２７８号として米国に出願されたものである。
【０００２】
本発明は、一般的に、データ処理システムに関し、特に、データ処理システム内における通信バス制御のアービトレーションに関する。
【背景技術】
【０００３】
多重通信バスマスタを含むデータ処理システムにおいて、バスアービトレーション論理を用いて、バス所有権を取得するために幾つかの要求マスタの内１つを選択する。バスマスタは、幾つかの既知の方法を用いて選択し得る。選択を行なうために用いる既存のアルゴリズムには、ラウンドロビン順位付けによる選択、フェアネスによる選択、又は厳密に割り当てられた優先順位による選択を実施する例がある。多くのデータ処理システムにおいては、１つのバスマスタが、メモリシステムの動作効率を改善するために、バス所有権の如何なる割り込みもなく、キャッシュメモリラインフィル又はコピーバック動作に関連するバースト転送中、グローバル通信バスの所有権を保持することが望ましい。通常、グローバル通信バスは、バースト又は通信対象の転送初期部にバースト属性等、幾つかの指示を与えることによって、このような動作中、１つのバスマスタに対して専用に用いられる。このような属性は、システム内で認識され、又、バスアービトレーション制御回路が、通信バス所有権の再割り当てを防止する。一旦バスマスタ権が取得されると、現バスマスタは、バースト転送中、バスマスタ権を保持する。
【０００４】
バス所有権を維持するために用いられる他の手法は、バスの制御下にあるデバイスがバスロック信号をアサートするためのものである。この手法の不利な点は、そのシステムにおける他のあらゆる重要な割り込みが、ロックアウトされ、そのロック信号が放棄されるまで、バスを使用できないことである。この特別なロックビットの使い方は、このようなロック信号に関して、従来から用いられる１つの具体例である。
【０００５】
他の既知のシステムは、バースト転送が割り込み可能であることを指定するものであり、又、一旦バス所有権を取り戻すと、割り込まれたバスマスタが、割り込まれたバースト転送を再開することを要求するものである。このような手法の不利な点は、割り込まれたバスマスタが、バス転送シーケンスを再構築しなければならず、全システム効率が低下し、バスプロトコルの複雑さが増すことである。
【０００６】
幾つかの特別な環境において、キャッシュメモリラインフィルの長さが、タイムクリティカルな代替バスマスタの最大必要待ち時間を越えることがある。一般的に、このタイプの割り込みの発生頻度は低いが、このような代替バスマスタは、バスに対する直接アクセスを要求してよい。このような状況では、既存のバースト転送のこのような割り込みによって、現バースト転送に関連するメモリシステム及びプロセッサの効率が確実に低くなるが、現バーストシーケンスが、一時的に割り込まれ、そして再開されることが重要である。
【発明を実施するための最良の形態】
【０００７】
本発明は、制限するためではなく一例として添付の図に例示するが、図において、同様な参照番号は同様な要素を示す。
図の要素が、説明を簡単に又明確にするために示され、必ずしも縮尺通りに描かれていないことを当業者は理解されたい。例えば、図における幾つかの要素の寸法は、本発明による実施形態の理解促進の一助となるように、他の要素に対して誇張されている場合がある。
【０００８】
データ処理システムが多重通信バスマスタを必要とする場合、特に、情報のバースト転送を利用するシステムにおけるバスマスタ権の譲渡に関しては、改善されたバス所有権プロトコルが必要である。データ処理システムが多重通信バスマスタを含む場合、バスアービトレーション論理を用いて、バス所有権を取得するために幾つかの要求マスタの１つが選択される。バスマスタの選択は、幾つかの既知の方法を用いて行なうことができる。優先順位付け方式は、多くの場合、どんなシステム資源がバス制御に与えられるか決定するために実行される１つの手法である。多くのデータ処理システムにおいて、一旦、バスマスタ権が取得されると、現マスタは、バースト転送中、所有権を保持する。
【０００９】
図１は、バスアービトレーションを必要とするデータ処理システム１０の例を示す。グローバルバス１２は、データ処理システム１０内における通信の中心である。グローバルバス１２は、データ、アドレス、及び制御情報を通信するための導線（図示せず）を有する。中央処理装置すなわちＣＰＵ１４は、グローバルバス１２に接続する。ＣＰＵ１４は、グローバルバス１２及びキャッシュ１８に接続するバスインターフェイス１６を有する。また、バスインターフェイス１６は、ＣＰＵ１４の他の回路（図示せず）全てに接続する。システムメモリ２０、システムメモリ２２、及びシステムメモリ２４は、各々グローバルバス１２に接続する。各システムメモリは、異なるタイプのメモリを表す。システムメモリ２０は、タイプＡを実装するものとして指定され、システムメモリ２２は、タイプＢを実装するものとして指定され、システムメモリ２４は、タイプＣを実装するものとして指定される。メモリタイプの例には、ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）、フラッシュメモリ、ＲＯＭ（読み出し専用メモリ）、及びＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）がある。所定数の周辺装置が、グローバルバス１２に接続する。第１周辺装置である周辺装置２８が、グローバルバス１２に接続し、Ｎ番目の周辺装置である周辺装置３０が、グローバルバス１２に接続する。周辺装置２８乃至３０は、メモリコントローラ、グラフィックスコントローラ、ディスプレイ、キーボード等を含む様々なタイプの周辺装置であってよい。例示の形態において、Ｎは、所定の整数値である。バスアービタ３４は、グローバルバス１２に接続する。更に、他の所定数の代替バスマスタは、グローバルバス１２に接続する。例示の形態において、代替バスマスタ３６、代替バスマスタ３８、及び代替バスマスタ４０は、各々グローバルバス１２に接続する。
【００１０】
動作中、ＣＰＵ１４は、周辺装置、メモリ、及び代替バスマスタを動作させて、所定のシステム機能や動作を実行するようになっている。システム１０により要求され且つシステム１０により生成される選択情報は、システムメモリ２０，２２，及び２４によって提供され記憶される。多重動作がシステム１０内で同時に行われているため、バスアービタ３４は、グローバルバス１２へのアクセスを制御するように機能しなければならない。ＣＰＵ１４が、システムメモリにアクセスする必要性を最小限に抑えるために、ＣＰＵ１４は、通常、記憶容量がどのシステムメモリよりも大幅に小さい内部キャッシュ１８を有する。キャッシュ１８は、命令及びデータの双方を保持する一体型キャッシュであってもよく、あるいは、命令及びデータを異なるモジュールに保持するための分離型キャッシュを実装してもよい。通常、キャッシュ１８は、システムメモリ２０、システムメモリ２２、及びシステムメモリ２４からの情報のコピーを保持する。キャッシュ１８は、キャッシュバースト転送を用いて、システムメモリ２０、システムメモリ２２、及びシステムメモリ２４から情報を取得したり書き戻したりする。通常、キャッシュバースト転送では、グローバルバス１２を介して、バーストシーケンスで、複数のデータワードから構成される情報の“ブロック”又は“ライン”が転送される。データ処理システム内に実装される多くのメモリが、情報のバースト転送によって通信を行なうが、この場合、情報は、高速の連続バースト単位で通信される。
【００１１】
バースト転送は、２タイプに分類し得る。即ち、制限バースト及び無制限バーストである。図２のタイミング図は、制限バーストと無制限バーストとの間の相違点を説明するために、２タイプのバースト転送の例を示す。通常、制限バーストは、キャッシュメモリに関係するが、この場合、バーストは、固定長であって、通常、２つの累乗である幾つかの“ビート”を有する。例えば、４ワード長のラインを利用するキャッシュは、４つのビートから構成されるキャッシュバーストを実行し、各ビートは、４つのワードの１つに対応する。図２の制限バーストは、例示した各キャッシュバーストにおいて、４つのビートを有する。無制限バーストの例には、任意の数の情報バイト又はワードを転送するようにプログラム化された直接メモリアクセス（ＤＭＡ）コントローラ（ＤＭＡＣ）等の代替バスマスタが含まれる。図２に例示したように、無制限バーストは、長さが変化し得る。従って、バスアービタは、ＤＭＡコントローラによるバスマスタ権の解放がいつ起こるか、確実に予測することはできない。
【００１２】
図３のタイミング図は、情報のバースト転送を利用し、また、バーストのタイプが異なる様々なタイプのメモリデバイスの特徴を示す。バーストモードデバイスは、初期バーストを有するものとして、又は、直後に続くビートより期間が長いビートを有するものとして示される。例えば、初期ビートは、３クロック長、後続のビートは、期間が、各々１クロックであってよい。バーストモードデバイスは、図示したように、無制限バースト又は制限バーストの何れでもサポートし得る。共通バーストモードデバイスの例には、ＤＲＡＭ及びフラッシュメモリが含まれる。低速バースティングデバイスは、同じクロック期間の長い（即ち、低速の）連続ビートを有するものとして示されている。一例として、各ビートの期間は、４クロックサイクルとして示されている。低速バースティングデバイスへのバーストアクセスは、無制限又は制限の何れでもよい。共通低速バースティングデバイスの例は、ＲＯＭである。これに対して、高速バースティングデバイスは、連続ストリームの短情報ビートを呈する。図３の例において、各ビートは、期間が１クロックサイクルだけで示されている。バーストモードデバイス及び低速バースティングデバイスと同様に、高速バースティングデバイスへのバーストアクセスは、図示したように無制限又は制限の何れでもよい。
【００１３】
図４は、本発明に基づく図１のバスアービタ３４における１つの詳細な具体例を示す。理解を容易にするために、図１と図４との間で共通な要素には、全て共通の番号を付与している。論理回路５０の第１入力部は、現転送タイプ信号を受信するためにグローバルバス１２に接続する。現転送タイプ信号５３には、グローバルバス１２を介して通信される現在の転送すなわち現転送に関連する様々な情報を含み得る。情報のタイプの例としては、これに限定しないが、命令（即ち、プログラム）情報又はデータ情報がグローバルバス１２によって現在転送されているところかどうかを識別する情報が含まれる。他の現転送タイプ情報には、現転送が読み出し又は書き込み転送か、現転送が単一転送又は多重バーストか、現転送が制限バースト又は無制限バーストか、選択されたどのメモリデバイスが現転送に関連するか、及び、どのタイプのメモリデバイスが現転送に関連するか、を含み得る。また、論理回路５０は、ＣＰＵ１４及び代替バスマスタ３６，３８，４０各々からバス要求信号をそれぞれ受信するための複数のバス要求入力部を有する。バス要求信号の通信は、各要求デバイスから直接（即ち２点間で）行なっても、グローバルバス１２を介して行なってもよい。また論理回路５０は、ＣＰＵ１４、及び代替バスマスタ３６，３８，４０各々にそれぞれ接続される複数のバス許可出力部も有する。ポリシ選択論理回路５４は、論理回路５０の第２入力部に接続されるアービトレーションポリシ信号を生成する。ポリシ選択論理回路５４には、所定ビット幅の複数フィールドを有する制御レジスタ５６が備えられている。例示の形態において、制御レジスタ５６は、第１代替バスマスタ３６、第２代替バスマスタ３８、第３代替バスマスタ４０、及びＣＰＵ１４に対応するフィールドを有する。制御レジスタ５６の各フィールドは、マルチプレクサ（Ｍｕｘ）５８の入力部に接続する。マルチプレクサ５８の出力部は、アービトレーションポリシ信号を提供するために論理回路５０の第２入力部に接続する。論理回路５０の出力部は、制御レジスタ５６のどのフィールドを利用するか選択するためにマルチプレクサ５８の制御入力部に接続する。制御レジスタは、必要ならば、追加してよい。以下の動作説明から明らかになるように、制御レジスタ６２乃至６５及びマルチプレクサ６８は、オプション回路であり、バーストアービトレーションプロトコルを確立するための新たなユーザオプションを提供する。例示した制御レジスタ６２乃至６５は、代替バスマスタの数に基づく所定数のフィールドを有する。例示の形態において、各ＣＰＵ１４及び代替バスマスタ３６，３８，４０のために、制御レジスタが追加されている。更に、制御レジスタ６２乃至６５は、各々、ＣＰＵ及び代替バスマスタ３６，３８，４０に対応するフィールドを有する。各制御レジスタ６２乃至６５は、マルチプレクサ（Ｍｕｘ）６８の所定の入力部に接続する。マルチプレクサ６８の出力部は、ポリシ選択論理回路５４の制御レジスタ５６に接続する。
【００１４】
動作中、バスアービタ３４は、データ処理システム１０内のどのデバイスが、グローバルバス１２のマスタであるか（即ち、ユーザに対する権利を有するか）制御するようになっている。バスアービタ３４は、データ処理システム１０内で、別個に分離して示されるが、バスアービトレーション機能は、バスアービトレーションを行なうための別個のモジュールを有することなく、ＣＰＵ１４又はデータ処理システム１０の他の部分に組み込み得ることを認識されたい。バスアービタ３４は、現転送に関する情報を用いて、グローバルバス１２を用いるための１つ以上のバス要求を受信した際、グローバルバス１２の制御決定を行なう。論理回路５０が、ＣＰＵ１４及び代替バスマスタ３６，３８，４０の何れかから１つ以上のバス要求を受信する場合、ある所定の判定基準に基づき、どのバス要求が最初にサービスを提供されるべきかが、論理回路５０内で決定される。１つの形態において、この決定は、優先順位に基づき行われるが、ラウンドロビン選択法等、優先順位を伴わない他の判定基準を用い得ることを良く理解されたい。論理回路５０は、最高優先順位主張マスタを示す（即ち、サービス提供のために選択されたバス要求に対応する）信号をマルチプレクサ５８に提供し、マルチプレクサ５８は、この信号を用いて、この最高優先順位マスタに関連する制御レジスタ５６の制御フィールドを選択する。制御レジスタ５６の制御フィールドは、その特定の要求デバイス用のバスアービタ３４によって用いられるアービトレーションポリシを決定するユーザプログラミングによる符号化すなわちユーザ制御による符号（即ち、制御値）で符号化される。ユーザは、バスアービタ３４が制御する集積回路の集積回路ピンにおける信号又は電圧を用いることによって、あるいは、データ処理システム１０内でユーザ提供のソフトウェア命令を実行することによって、制御値を作成又は作成させることができる。次に、論理回路５０は、制御レジスタ５６の選択された制御フィールドを復号化し、又、データ処理システム１０内の最高優先順位主張バスマスタが、未処理のバースト転送中、グローバルバス１２のバス所有権を与えられるかどうか、あるいは、進行中のバースト転送の完了を待たなければならないかどうか判断する。論理回路５０は、現転送タイプ信号５３及び制御レジスタ５６に含まれる情報に基づき、要求代替バスマスタ３６，３８，４０の内の１つに対して、バス許可ＣＰＵ信号又はバス許可信号を条件付きでアサートする。バス所有権が、現転送を行っている以外のマスタに譲渡された場合（即ち、現在の通信バスマスタすなわち現通信バスマスタからマスタ状態を譲渡する場合）、現転送は、割り込まれ、又、以前アサートされたバス許可信号は、グローバルバス１２が強制的に放棄され、これによって、最高優先順位マスタが、バースト転送実行中、バス所有権を取得することができるようにネゲートされる。制御レジスタ５６は、ユーザによりプログラム化して、データ処理システムに大きな柔軟性や割り込みバス待ち時間をカスタマイズする能力を付加し得ることを理解されたい。特に、制御レジスタ５６は、データ処理システム１０を具現化するＩＣの所定の集積回路ピンへの特定の入力信号を用いて、又は、データ処理システム１０内に含まれる他の信号によって、論理回路５０で解釈される特定のバスアービトレーションポリシ符号化方式でプログラム化し得る。他の選択肢において、制御レジスタ５６は、ソフトウェア命令制御下で、又は、他のユーザプログラミング手法によって、ユーザがプログラム化し得る。
【００１５】
図５は、制御レジスタ５６内の各制御フィールドに用い得る符号の例を示す。多数の異なる符号化を用い得るが、本明細書中で述べる例は、容易に変形や拡張が可能なことを良く理解されたい。説明の目的のためだけに、３ビット符号化フィールドが選択され、これによって、合計８つの異なる符号が提供されるものと仮定する。図５の符号は、バス制御変更がバーストサイクル中に可能かどうか、バス制御変更が通信対象の情報のタイプ（例えば、データ情報に対する命令又はプログラム情報）に基づき可能かどうか、システムメモリの読み出しや書き込み動作が行なわれているか否かに基づきバス制御変更が可能かどうか、キャッシュバースト（即ち、制限バースト）又はより一般的な無制限連続バースト転送が行なわれているか否かに基づきバス制御変更が可能かどうか、に基づくアービトレーションポリシを示す。アービトレーションポリシは、他の要因又は本明細書中に述べた特徴の組み合わせに基づき得る。一旦、どのタイプの現転送が、グローバルバス１２に存在するか識別されると、論理回路５０は、適切なバス許可信号に最適な状態で応答するように構成し得る。例えば、データ処理システム１０の或る実施形態において、キャッシュバーストが、グローバルバス１２上に現在存在しているものとして識別された場合、キャッシュバーストは、バスマスタ権を変更するバス許可信号の発行より前に完了すべきである。しかしながら、キャッシュバーストが存在しない場合、無制限連続バーストの長さが不確実なため、バス許可信号を発行し得る。キャッシュバーストは、通常、４ビートや８ビート等、限定且つ既知の長さを有するため、無制限連続バースト転送から識別される。従って、キャッシュバーストに関する転送時間が制限される。キャッシュラインバーストの限定間隔の間、代替マスタに対するバス許可を保留すると、最適なバーストメモリ動作を可能にすることによって、又、キャッシュをブロックしてＣＰＵの機能停止サイクル数を最低限に抑えることによって、システム動作が改善される。
【００１６】
更に、データ処理システム１０の幾つかの実施形態において、システムメモリの１つからの情報がＣＰＵ１４に供給されるように読み出し動作が行なわれている場合、その情報は、バーストトランザクションを完了した後バス所有権変更が許可されようにＣＰＵ１４の機能停止を回避するのに充分な程、重要であると考えられる。しかしながら、書き込み動作が行なわれている場合、バスマスタ権の変更は、システム動作を大幅に低下することなく、特定のシステムアプリケーションにおいて行ない得る。本発明によって、ユーザは、いつ通信バス所有権を変更し得るかに関する特定のアプリケーションルールに対してカスタマイズできる。従って、このパラグラフで今述べたルールは、全てのシステムに対して常に適用できるとは限らず、適切な符号を制御レジスタ５６においてプログラム化して、特定のシステムアプリケーションを最適化し得る。
【００１７】
幾つかの特別な状況において、キャッシュラインフィル長は、タイムクリティカル代替マスタの最大必要待ち時間を越えることがある。これらのマスタは、バスに即座にアクセスする必要があり、従って、一般的に、このタイプの要求頻度は低い。このタイプのマスタの場合、ＣＰＵがバーストを要求する効率及びメモリシステムがアクセスされる効率が低いにもかかわらず、任意のバーストシーケンスが割り込まれ、そして再開されることが重要である。システムにおけるバースト割り込みの発生を最小限に抑えること、及び制限された一組のマスタにバースト割り込みを限定することが望ましい。
【００１８】
１つの形態において、符号０００は、任意のキャッシュバーストサイクル中、バス所有権変更が許されないことを示す。この特徴は、バースト転送を伴うシステム設計の場合、有利である。バスマスタが、情報をバーストしている時、システムバスに対して、元々アービトレーションを許可しないようになっている場合、バスマスタは、部分的なバースティングを実行できる論理回路を追加する必要はない。他の対極にある形態において、符号１１１は、バス所有権の譲渡が、任意のバーストサイクル中に許されることを示す。符号００１は、バス所有権変更が、命令キャッシュ（Ｉキャッシュ）バーストサイクル中にのみ、すなわち無制限バースト転送中にのみ許されることを示す。即ち、バス所有権は、バス上の情報のタイプが、プログラム情報である時のみ許可され、又、バースティングが、キャッシュバースティングである時、又は任意のタイプの無制限バーストが生じている時はいつでも、バースティングは無制限ではない。符号０１０は、キャッシュバーストが生じていれば、バス所有権変更が、データキャッシュ（Ｄキャッシュ）バースト読み出しサイクル中にのみ許されることを示す。従って、３つの判断基準が、この符号で示される。即ち、（１）情報がデータである、（２）バーストがキャッシュバーストである、及び（３）バス上のトランザクションが読み出しトランザクションである、という３つの判断基準である。符号０１１は、バス所有権変更が、キャッシュバースト読み出しサイクル中にのみ、又は、任意のタイプの無制限バーストが生じている時はいつでも、許されることを示す。符号１００は、バス所有権変更が、キャッシュバースト書き込みサイクル中にのみ、又は、任意のタイプの無制限バーストが生じている時はいつでも許されることを示す。符号１０１は、バス所有権変更が、データキャッシュバースト書き込みサイクル若しくは命令キャッシュバーストサイクル中にのみ、又は、任意のタイプの無制限バーストが生じている時はいつでも許されることを示す。符号１１０は、バス所有権変更が、データキャッシュバーストサイクル中にのみ、又は、任意のタイプの無制限バーストが生じている時はいつでも、許されることを示す。従って、論理回路５０の論理は、ポリシ選択論理回路５４による特定の値を提示した時、アービトレーションポリシとしてこれらの提示された制約を認識するために提供される。バスアービタ３４は、符号化された制御情報に応じて、グローバルバス１２上で情報をバースト転送するために、少なくとも２つの異なるアービトレーションポリシを実行し得る。その変形例を用いると、バスマスタ権を希望するシステムであって、或る所定の選択方式下で与えられたバスマスタ権を有するシステムの各回路モジュール用のバースト転送に関連するカスタマイズされたアービトレーションポリシを設定する能力がユーザに提供される。本明細書中に教示されたグローバルデータバス上でのバースティング情報に関するアービトレーション法は、幾つかの要求マスタの１つを選択するために用いるアルゴリズムとは異なる。
【００１９】
図６は、２ビットのフィールドを用いる制御レジスタ５６内にあるフィールド用の符号を示す。符号００は、バス所有権変更が、バーストサイクル中に許されないことを示し、他方、符号１１は、バス所有権の譲渡が、任意のバーストサイクル中に許されることを示す。符号０１は、バス所有権変更が、バーストモードデバイスへのアクセス中に許されないことを示す。符号１０は、高速メモリデバイスへのアクセス中に許されないことを示す。従って、この例では、バス制御が、譲渡にＤＲＡＭ又はフラッシュメモリを伴って存在する場合と、その譲渡がＳＲＡＭを伴う場合とで、要求デバイスが要求を一度に行なうかどうかに基づき、ユーザが、アービトレーションポリシをプログラム化し得ることが明らかである。
【００２０】
更に、制御レジスタ６２乃至６５及びマルチプレクサ６８は、制御レジスタ５６と組み合わせて、バスマスタ毎に、また、バーストタイプ毎に、選択的に制御を行ない得る。通常、バースト転送のタイプは、異なるデバイスに関連するため、デバイスの特徴は、プロトコル選択にも影響し得る。各制御レジスタ６２乃至６５は、特定のバスマスタに関連付けられ、又、システムにおける各マスタの制御フィールド（即ち、バーストアービトレーションポリシ）は、どのバスマスタが現バス制御を有するか、また、どのバスマスタがバス制御を要求しているか、に基づき変化し得る。マルチプレクサ６８は、現マスタ信号５５により提供された情報に基づき、制御レジスタ６２乃至６５の内の１つを選択する。各潜在的バスマスタの場合、制御レジスタ６２乃至６５から選択された制御レジスタが、現在アクティブなバスマスタに基づき、ポリシ選択論理回路５４に提供される。次に、ポリシ選択論理回路５４は、制御レジスタ６２乃至６５の内、提供された制御レジスタ内の制御フィールドを用いて、現バスマスタのバス保有期間中にアービトレーションポリシを決定し得る。個々のバスマスタのバス保有期間中、バスアービトレーションポリシは、他のマスタ全てのバス保有権に対して独立にプログラム化し得るように、制御レジスタ６２乃至６５は、各現バスマスタに固有の情報でプログラム化し得る。マスタ毎に選択的に制御することにより、バーストアービトレーションポリシは、マスタ毎の保有権を変更することが可能となり、又、更にシステム性能を改善するためにユーザによって最適化し得る。
【００２１】
バースト転送中、如何にしてアービトレーションを処理するかを制御するために、レジスタ若しくは他の記憶装置又は信号送信機構における一組の制御ビットを用いる方法とシステムを提供したことがここまでで理解されたはずである。システムにおける各潜在的マスタの場合、バースト転送中、バスのアービトレーションを制御する制御情報のフィールドが提供される。フィールド内において、Ｉキャッシュフィル、Ｄキャッシュフィル、Ｄキャッシュコピーバック（書き込み）等、各タイプの転送に対して、制御を行ない得る。他の選択可能な実施形態において、制御フィールドは、選択されたデバイス及びそのデバイスによってサポートされるバースト転送のタイプに対応する制御情報を含む。バースト転送中、代替マスタが、バスに対して要求を行なう場合、その要求は、進行中の転送のタイプ、及び関連する制御フィールドに対応する設定によって、資格が与えられる。
【００２２】
本発明を実現する装置は、大部分、当業者にとっては既知の電子部品や回路から構成されているため、本発明の根本概念の理解や認識を目的として、また、本発明の教示内容が理解困難に又は不明瞭にならないように、回路の詳細については、上述の通り必要以上に詳細な説明は行なっていない。
【００２３】
上記明細書において、本発明は、具体的な実施形態に関して説明してきた。しかしながら、当業者が認識されるように、以下の請求項に述べる本発明の範囲から逸脱することなく、様々な変形や変更を成し得る。例えば、本発明には、任意のタイプのメモリや任意のタイプのキャッシュを用い得る。様々なバースティングポリシが、特定のシステムに応じて、符号化し得る。制御ポリシ情報は、上述の説明に用いられる制御レジスタ以外の方法又は構造によって提供し得る。更に、システムにおいて１つのバスマスタのみが、バーストトランザクションを用いることが可能であるが、本発明を利用してもよい。従って、明細書及び図は、限定するものではなく、むしろ例示のためであると見なすべきであり、又、このような修正は、本発明の範囲内に全て含まれるものとする。
【００２４】
恩恵、他の利点、及び問題の解決策は、具体的な実施形態を参照して前述した。しかしながら、これらの恩恵、利点、問題の解決策、及び何らかの利益、利点、及び解決策を生じ得る又はより顕著にし得る如何なる要素（群）も、何れの又は全ての請求項の決定的な、必要な、もしくは不可欠な特徴又は要素として解釈してはならない。本明細書中に用いた用語“含む”、“含んでいる”又はその用語の他の変形語は、非排他的な包括を網羅するものであり、一連の要素を含むプロセス、方法、物、又は装置が、これらの要素だけでなく、明示されていない他の要素や、このようなプロセス、方法、物、又は装置に固有の他の要素も含み得る。
【図面の簡単な説明】
【００２５】
【図１】本発明で用いる処理システムの例を示すブロック図。
【図２】制限及び無制限バースト転送双方の特徴付けフォーマットを示すタイミング図。
【図３】異なるタイプのメモリデバイスに関連する情報バースティングの特徴付けフォーマットを示すタイミング図。
【図４】本発明に基づく図１のバスアービタの具体例を示すブロック図。
【図５】図４に示した制御レジスタの制御フィールドの符号を表で示す図。
【図６】図４に示した制御レジスタにおける制御フィールドの他の符号を表で示す図。
【図１】
2004531830.tif 000003
【図２】
2004531830.tif 000004
【図３】
2004531830.tif 000005
【図４】
2004531830.tif 000006
【図５】
2004531830.tif 000007
【図６】
2004531830.tif 000008
【国際公開パンフレット】
2004531830.tif 000009
2004531830.tif 000010
2004531830.tif 000011
2004531830.tif 000012
2004531830.tif 000013
2004531830.tif 000014
2004531830.tif 000015
2004531830.tif 000016
2004531830.tif 000017
2004531830.tif 000018
2004531830.tif 000019
2004531830.tif 000020
2004531830.tif 000021
2004531830.tif 000022
2004531830.tif 000023
2004531830.tif 000024
2004531830.tif 000025
2004531830.tif 000026
2004531830.tif 000027
2004531830.tif 000028
2004531830.tif 000029
2004531830.tif 000030
2004531830.tif 000031
2004531830.tif 000032
2004531830.tif 000033
2004531830.tif 000034
2004531830.tif 000035
2004531830.tif 000036
2004531830.tif 000037
【国際調査報告】
2004531830.tif 000038
2004531830.tif 000039