(57)【要約】【課題】調停がマルチサイクル操作として実行される場合に、共通アクセス路を共有する複数個のリソースへアクセスしようとする複数アクセス要求間の調停の改良された技術を提供する。【解決手段】調停回路は複数個のパイプライン段を有して対応する複数個のマルチサイクル調停操作が1時に進行することを可能とする。複数個のフィルタ状態を有するフィルタ回路が設けられ、フィルタ状態の数は調停回路のパイプライン段数に依存し、各リソースはフィルタ状態の１つと間係する。調停回路により実行されるべき新たなマルチサイクル調停操作に対して、フィルタ回路は調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作では選択されていない前記フィルタ状態の内の１つを選択し、選択されたフィルタ状態と関係するリソースをアクセスしようとするアクセス要求を新たなマルチサイクル調停操作の候補アクセス要求として決定する。【選択図】図１
2008234660.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置において、
共通アクセス路を共有する複数個のリソースと、
前記リソースへのアクセスを要求するアクセス要求を発行する少なくとも1個の論理要素であって、各アクセス要求は前記リソースのどれをアクセスすべきかを識別する前記1個の論理要素と、
共通アクセス路を通して渡されるべき複数アクセス要求間を調停するための複数サイクル調停操作を実行する調停回路であって、任意のある時に対応する複数個のマルチサイクル調停操作を進行可能とする複数個のパイプライン段を有する、前記調停回路と、
複数個のフィルタ状態を有するフィルタ回路であって、フィルタ状態の数は前記調停回路のパイプライン段数に依存し、各リソースは前記フィルタ状態の１つに関係している前記フィルタ回路と、を含み、
前記調停回路により実行されるべき新たなマルチサイクル調停操作に対して、フィルタ回路は調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作では選択されていない前記フィルタ状態の内の１つを選択し、前記選択されたフィルタ状態と関係するリソースをアクセスしようとするアクセス要求を新たなマルチサイクル調停操作の候補アクセス要求として決定する、データ処理装置。
【請求項２】
請求項１記載のデータ処理装置において、前記フィルタ状態の１つを選択する時、フィルタ回路がアクセス要求によりアクセスされようとしているリソースをさらに考慮する、データ処理装置。
【請求項３】
請求項１記載のデータ処理装置において、前記調停回路により新たな調停操作が開始されようとしている時に、調停回路のパイプライン段内に既に進行中の他のマルチサイクル調停操作が存在しない場合、フィルタ回路はフィルタ状態を選択しないように配置され、代わりに調停を待機している全てのアクセス要求を新たなマルチサイクル調停操作により考慮可能とするデータ処理装置。
【請求項４】
請求項１記載のデータ処理装置において、
前記複数個のリソースは少なくとも１個のメモリ素子により与えられ、各共有のリソースは少なくとも１個のメモリ素子のバンクを含み、
各フィルタ状態はバンクのサブセットと関係し、
調停回路は少なくとも１個のメモリ素子のメモリコントローラ内に設けられ、
共有アクセス路はメモリコントローラと少なくとも１個のメモリ素子との間の路を含む、データ処理装置。
【請求項５】
請求項４記載のデータ処理装置において、
各メモリ素子は複数個のバンクを含むダイナミックＲＡＭメモリ回路を含む、データ処理装置。
【請求項６】
請求項４記載のデータ処理装置において、
調停回路は２個のパイプライン段を有し、
バンクはバンク・アドレスにより識別され、
偶数バンク・アドレスを有する少なくとも１個のメモリ素子のバンクの全ては第１フィルタ状態と関係し、奇数バンク・アドレスを有する少なくとも１個のメモリ素子のバンクの全ては第２フィルタ状態と関係する、データ処理装置。
【請求項７】
請求項１記載のデータ処理装置において、
各リソースは周辺バスに接続された周辺装置を含み、
調停回路は、少なくとも１個の論理要素がこれを通してアクセス要求を発行する、周辺バスを相互接続回路に接続するブリッジ回路内に設けられ、
共有アクセス路は周辺バスを含む、データ処理装置。
【請求項８】
請求項１記載のデータ処理装置において、調停を待機しているアクセス要求は調停回路内のバッファに保持される、データ処理装置。
【請求項９】
請求項１記載のデータ処理装置において、
前記少なくとも１個の論理要素は相互接続回路を介して前記複数個のリソースに接続された複数個の論理要素を含み、
共有アクセス路は、前記複数個のリソース間で共有される前記相互接続回路内の接続路であり、
調停回路は前記相互接続回路内に設けられて、前記複数個の論理要素により発行されて前記接続路を通して渡される複数アクセス要求間で調停する、データ処理装置。
【請求項１０】
データ処理装置で共通アクセス路を共有する複数個のリソースにアクセスしようとする複数アクセス要求間を調停する方法において、各アクセス要求は前記リソースのどれをアクセスすべきかを識別し、
調停回路内でマルチサイクル調停操作を実行して共通アクセス路へ渡される複数アクセス要求を調停する段階であって、調停回路は複数個のパイプライン段を有して対応する複数個のマルチサイクル調停操作が任意のある時間に進行することを可能とする前記調停段階と、
複数個のフィルタ状態を提供する段階であって、フィルタ状態の数は前記調停回路のパイプライン段数に依存し、各リソースは前記フィルタ状態の１つと関係する前記提供段階と、
前記調停回路により実行されるべき新たなマルチサイクル調停操作に対して、調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作に選択されていない前記フィルタ状態の１つを選択し、新たなマルチサイクル調停操作の候補アクセス要求として前記選択されたフィルタ状態と関係するリソースにアクセスしようとしているアクセス要求を決定する段階と、
を含む複数アクセス要求間を調停する方法。
【請求項１１】
データ処理装置において、
共通アクセス路を共有する複数個のリソース装置と、
前記リソース装置へのアクセスを要求するアクセス要求を発行する少なくとも1個の論理装置であって、各アクセス要求は前記リソース装置の内のどれをアクセスすべきかを識別する前記論理装置と、
マルチサイクル調停操作を実行して共通アクセス路に渡すべき複数アクセス要求間を調停する調停装置であって、複数個のパイプライン段装置を有して対応する複数個のマルチサイクル調停操作が任意のある時間に進行することを可能とする前記調停装置と、
複数個のフィルタ状態を有し、フィルタ状態の数は前記調停回路のパイプライン段装置数に依存し、各リソース装置は前記フィルタ状態の１つと関係するフィルタ装置と、
前記調停回路により実行されるべき新たなマルチサイクル調停操作に対して、フィルタ装置は、調停回路のパイプライン段装置内で既に進行中の他のマルチサイクル調停操作に選択されていない前記フィルタ状態の１つを選択し、新たなマルチサイクル調停操作の候補アクセス要求として前記選択されたフィルタ状態と関係するリソース装置にアクセスしようとしているアクセス要求を決定する前記フィルタ装置と、
を含むデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチサイクル調停（ｍｕｌｔｉ−ｃｙｃｌｅ  ａｒｂｉｔｒａｔｉｏｎ）を実行するデータ処理装置と方法に関係し、特に複数個のリソースにより共有された共通アクセス路を介して渡される複数アクセス要求間の調停の実行に関係する。
【背景技術】
【０００２】
データ処理装置では、データ処理装置内の複数個のリソースが共通のアクセス路（本明細書では共有アクセス路とも呼ぶ）を共有するのが普通である。例えば、データ処理装置内の複数の論理要素、例えば複数のマスター論理素子が１個以上のメモリ素子から構成されるメモリへのアクセスを共有し、これらのメモリ素子の各々は複数個のメモリバンクを含む。この例では、メモリ素子の各バンクは共有リソースとして考えることが出来る。通常、前記メモリへのアクセスはメモリコントローラにより制御され、メモリへアクセスしようとする各種の論理要素により発行されるアクセス要求はメモリコントローラにより受信され、通常メモリコントローラはメモリへアクセス要求を発行する前にアクセス要求をバッファするキューを含む。しばしば、メモリコントローラとメモリとの間には単一の接続路が存在し、従ってこの接続路がメモリ内に含まれる複数個のバンクへの共通アクセス路を形成する。
【０００３】
共有アクセス路の他の例として、多数のデータ処理装置が装置内に設けた各種のマスター論理装置とスレーブ論理装置を結合する相互接続回路を提供し、相互接続回路は、これを通してマスター論理装置とスレーブ論理装置との間の通信が確立可能である複数個の接続路を提供する。しばしば、例えば単一層相互接続の場合に通常そうであるように、ある種の接続路は複数の論理装置間で共有される。
【０００４】
共有アクセス路の他の例として、多数の周辺装置が周辺バスに接続されてもよい。しばしば周辺バスはブリッジ回路を介して主システムに接続され、これらの周辺装置へ向けられた任意のアクセス要求はまずブリッジ回路により受信され、これが次いでアクセス要求を１時に１つずつ周辺バスを通して適切な周辺装置に発行する。ある特定の時間に１つのアクセス要求のみが周辺バスを介して伝播可能であるため、周辺バスは共有アクセス路を形成する。
【０００５】
データ処理装置内の共有アクセス路の発生の上記３例は単なる一例であり、データ処理装置内で共有アクセス路が生じる状況の完全なリストを表現する意図のものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような共有アクセス路が存在する限り、その共有アクセス路を通して渡されるべき複数のアクセス要求間で調停すべき調停操作を実行する調停回路を通常設ける必要がある。
【０００７】
データ処理装置の部品の動作周波数が増加するにつれて、所用の調停操作を単一のクロックサイクル内に実行することはますます困難になってきている。従って、マルチサイクル操作として調停操作を実行する調停回路を設ける必要がある。連続的なスループットを達成するため、以後のアクセスの調停を、以前の調停操作の結果が分かる前に開始しなければならない。これを達成するため、対応する複数個のマルチサイクル調停操作をある１つの時に進行させることを可能とする複数個のパイプライン段を有する調停回路を設けることが可能である。
【０００８】
しかしながら、しばしば共通アクセス路を共有するリソースは、各クロックサイクル毎にアクセス要求を受け取り不能であることが多い。実際、一旦アクセス要求が調停操作を介した特定のリソースへのアクセスを認可されると、当該リソースと関係するアクセス間タイミング・パラメータが当該リソースを数クロックサイクルの間アクセス不能とする。従って、当該期間の間調停回路がその特定の共有リソースへアクセスしようとする他のアクセス要求に対してアクセスを認可しないことを保証することが望ましい。
【０００９】
しかしながら、上述したパイプライン化調停方式を使用する時、複数調停操作が通常同時に進行中であり、従ってパイプライン内で進行中の任意の特定の調停操作に対して、当該調停操作により決定を行うことを必要とする時にパイプライン中の当該調停操作よりも前の１つ以上の調停操作の結果を知ることは通常不可能である。従って、調停回路のパイプライン段内で進行中の調停操作の複数繰り返しが同じ共有リソースをアクセスしようとするアクセス要求へのアクセスを認可することが可能となる。結果として、調停回路によりアクセス認可されたアクセス要求が、上述したアクセス間タイミング・パラメータ制限により、共有リソースへのアクセスを待機して以後ストールされ、これが発生すると、これは明らかに性能に影響する。
【００１０】
従って、調停がマルチサイクル操作として実行される場合に、共通アクセス路を共有する複数個のリソースへのアクセスを求める複数アクセス要求間の調停の改良された技術を提供することが望ましい。
【課題を解決するための手段】
【００１１】
第１の側面から見ると、本発明は、データ処理装置において、共通のアクセス路を共有する複数個のリソースと、前記リソースへのアクセスを要求するアクセス要求を発行する少なくとも１個の論理要素であって、各アクセス要求は前記リソースのどれをアクセスすべきかを識別する前記１個の論理要素と、共通アクセス路を通して渡されるべき複数アクセス要求間を調停するための複数サイクル調停操作を実行する調停回路であって、１時に対応する複数個のマルチサイクル調停操作を進行可能とする複数個のパイプライン段を有する、前記調停回路と、複数個のフィルタ状態を有するフィルタ回路であって、フィルタ状態の数は前記調停回路のパイプライン段数に依存し、各リソースは前記フィルタ状態の１つに関係している前記フィルタ回路と、を含み、前記調停回路により実行される新たなマルチサイクル調停操作に対して、フィルタ回路は調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作で選択されていない前記フィルタ状態の内の１つを選択し、前記選択されたフィルタ状態と関係するリソースへアクセスしようとするアクセス要求を新たなマルチサイクル調停操作の候補アクセス要求として決定する、データ処理装置を提供する。
【００１２】
本発明によると、複数個のフィルタ状態を有するフィルタ回路が設けられ、フィルタ状態の数は調停回路のパイプライン段の数に依存する。共通アクセス路を共有するリソースの各々はこれらのフィルタ状態の１つと関係する。
【００１３】
次いで、調停回路により実行される新たなマルチサイクル調停操作に対して、フィルタ回路は調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作で選択されていない前記フィルタ状態の内の１つを選択し、この選択されたフィルタ状態を基に、前記選択されたフィルタ状態と関係するリソースへのアクセスを必要とするアクセス要求を新たなマルチサイクル調停操作の候補アクセス要求として決定する。
【００１４】
特定のリソースはフィルタ状態の１つとのみ関係し、フィルタ回路は既に進行中の他の調停操作では選択されていないフィルタ状態を新たな調停操作に選択するため、これは新たな調停操作が調停回路内で既に進行中の他の調停操作の勝利アクセス要求によりアクセスされないリソースをアクセスしようとするアクセス要求の中からのみ選択することを保証する。
【００１５】
従って、このような方式により、アクセス間タイミング・パラメータにより以後ストールするようになるアクセス要求を勝利アクセス要求として選択する特定の調停操作の可能性は劇的に減少する。実際、特定のリソースによるアクセス間に必要とされるクロック・サイクル数がマルチサイクル調停操作（これはパイプライン深度に依存する）を実行するためのサイクル数より少ないかまたは等しいものと仮定すると、前記の方式は、各リソースのアクセス間タイミング・パラメータが常に満足されているため、前記のストールが発生しないことを保障する。
【００１６】
調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作に対して既に選択されたフィルタ状態を考慮することに加えて、フィルタ状態の１つを選択するときに、アクセス要求によりアクセスされようとするリソースを考慮するフィルタ回路も配置可能である。例えば、４つのフィルタ状態０、１、２及び３が存在し、フィルタ状態０と１が既にパイプライン内で進行中のマルチサイクル調停操作に選択されている場合、新たなマルチサイクル調停操作に対しては、フィルタ回路はフィルタ状態２と３の間から選択する。しかしながら、調停を待機しているアクセス要求が全てフィルタ状態３と関係する１つ以上のリソースへのアクセスを求めている場合、本実施例ではフィルタ回路は、フィルタ状態２がこの時点で選択されるデフォールトのフィルタ状態だとしても、フィルタ状態２を選択するよりはフィルタ状態３を選択する。以上は、アクセス要求によりアクセスされようとするリソースを如何にフィルタ回路により考慮するかの単なる１例であり、リソースを考慮する各種の他の方法があることが認められる。例えば、フィルタ回路は、調停を待機しているアクセス要求を基に、各種のアクセス要求によりアクセスされるリソースを与えて、最大数の候補アクセス要求が選択されることを可能とする利用可能なフィルタ状態を選択するよう決定してもよい。
【００１７】
１実施例では、フィルタ回路は各新たなマルチサイクル調停操作に対してフィルタ状態を選択するよう配置されてもよい。しかしながら、１実施例では、前記調停回路により新たな調停操作を開始しようとする時に、調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作が存在しない場合、フィルタ回路はフィルタ状態を選択しないように配置され、代わりに調停を待機している全てのアクセス要求を新たなマルチサイクル調停操作により考慮可能とする。これにより、この特定のシナリオで調停を待機しているアクセス要求のより効率的な調停が可能となる、何故ならこのシナリオでは、調停を待機しているアクセス要求のサブセットの中からのみ調停する必要がないからである。
【００１８】
共通アクセス路を共有する複数個のリソースは各種の形式を取りうる。しかしながら、１実施例では、前記複数個のリソースは少なくとも１個のメモリ素子によ与えられ、各々の共有リソースは少なくとも１個のメモリ素子のバンクを含む。このような１実施例では、各フィルタ状態はバンクのサブセットと関係し、調停回路は少なくとも１個のメモリ素子のメモリコントローラ内に設けられ、共有アクセス路はメモリコントローラと少なくとも１個のメモリ素子との間の路を含む。
【００１９】
複数バンクを含む多数の異なる型式のメモリ素子が存在する。１実施例では、各メモリ素子は複数個のバンクを含むダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）メモリ回路を含む。ＤＲＡＭは、アクセス要求を発行する論理要素と共にオンチップに設けた埋め込みＤＲＡＭであるか、または代わりにオフチップＤＲＡＭでもよい。しばしばオフチップで設けられるＤＲＡＭのある特定の型式は同期ＤＲＡＭ（ＳＤＲＡＭ）であり、ＳＤＲＡＭメモリ素子は、使用している処理素子が最適化されているクロック速度と通常同期されている。ＳＤＲＡＭメモリは通常複数個の別々なチップから構成され、各チップは別々のメモリ素子を形成し、各チップは複数個のバンクを含む。前記ＳＤＲＡＭメモリへ発行されるアクセス要求はアドレスを指定し、アドレスの一部はＳＤＲＡＭメモリの特定チップを指定し、アドレスの他の部分はチップの特定のバンクを指定する。アドレスのその他の部分は識別したバンク内の行と列を指定する。
【００２０】
各々の共有リソースがメモリ素子のバンクを含む実施例では、各バンクはフィルタ状態の１つと関係していることが認められる。従って、新たなマルチサイクル調停操作に選択されたフィルタ状態が既に進行中の他のマルチサイクル調停操作に選択されたフィルタ状態と異なっていることを保障することにより、新たなマルチサイクル調停操作の候補アクセス要求は既に進行中の他のマルチサイクル調停操作によりアクセスされるものと同じバンクにはアクセスしないようにすることが保障可能である。従って、ある特定のバンクが調停された事実は、数クロックサイクルの間これがアクセス不能であるが、性能問題を発生しない、何故ならこの特定のバンクをアクセスしようとする他のアクセス要求は、フィルタ状態を選択してマルチサイクル調停操作の各繰り返しに対して候補アクセス要求を選択する方法により、その期間の間選択されないからである。
【００２１】
ある特定の実施例では、調停回路は２本のパイプライン段を有し、バンクはバンク・アドレスにより識別され、偶数バンク・アドレスを有する少なくとも１個のメモリ素子のバンクの全ては第１フィルタ状態と関係し、奇数バンク・アドレスを有する少なくとも１個のメモリ素子のバンクの全ては第２フィルタ状態と関係している。フィルタ回路が調停を待機しているアクセス要求を検査して、偶数バンクまたは奇数バンクのどちらをアクセスしようとしているのかを決定するためには、アクセス要求により指定されたバンク・アドレスの最小桁ビットを単に見ればよい。
【００２２】
複数チップから構成されたＳＤＲＡＭメモリに対しては、偶数チップ・アドレスを有するバンクの全てに第１フィルタ状態を関係させ、奇数チップ・アドレスを有するバンクの全てに第２フィルタ状態を関係させる同様の方式を配置可能であり、ここで再び、当該アクセス要求により偶数チップまたは奇数チップのどちらがアクセスされるかを決定するために、アクセス要求により指定されるアドレスのチップ・アドレス部分の最小桁ビットを検査することが必要な全てである。
【００２３】
別の実施例では、共通アクセス路を共有する複数個のリソースの各々が周辺バスに接続された周辺装置を含み、調停回路が周辺バスを相互接続回路に接続するブリッジ回路内に設けられ、この相互接続回路を通して少なくとも１つの論理素子がアクセス要求を発行し、共有アクセス路は周辺バスを含む。
【００２４】
上述したように、１つのアクセス要求のみが一時に周辺バス上を伝播可能であるのが通常普通であり、従って複数の周辺装置が周辺バスに接続された場合、複数アクセス要求が適切な周辺装置へのルーティングを待機している場合にブリッジ回路内の調停の必要がある。
【００２５】
しばしば各周辺装置は各サイクル毎にアクセス要求を受け入れることが出来ない。１例として、周辺装置の各々は各２サイクル毎にのみ１アクセスを受け入れ可能である。実際、ある実施例では、前記周辺装置はデータ処理装置の残りのものより遅いクロック周波数で動作しており、従ってこれらの２つの遅いクロックサイクルはデータ処理装置の残りのものの２Ｎ速いクロックサイクルと等しく、ここでＮはデータ処理装置の速いクロックサイクルと周辺装置の遅いクロックサイクルとの間の比である。
【００２６】
上記メモリバンクと周辺装置の例の両方で、調停を待機している複数アクセス要求は単一の論理要素から、または複数の異なる論理要素から発行される。１実施例では、調停を待機しているアクセス要求は調停回路内のバッファに保持される。特に、メモリチップの例を考えると、バッファは調停回路を含むメモリコントローラ内に設けてもよい。同様に、周辺装置の例では、バッファは調停回路を含むブリッジ回路内に設けてもよい。バッファは各種の形式を取りうるが、１実施例ではキューとして設けられる。
【００２７】
他の実施例によると、複数個の論理要素が相互接続回路を介して複数個のリソースに接続され、共有アクセス路は前記複数個のリソースにより共有される前記相互接続回路内の接続路であり、調停回路が前記相互接続回路内に設けられて前記複数個の論理要素により発行されて前記接続路を通して渡される複数アクセス要求間で調停する。
【００２８】
この例では、調停を待機する複数アクセス要求の存在は同時にアクセス要求を発行する複数の論理要素から起因する。接続路に結合された各種のリソースと関係する相互アクセス・タイミング・パラメータが、アクセス要求を受け取った後の数クロックサイクルの間特定のリソースをアクセス不能とするようになっている場合、本発明の実施例によるフィルタ状態の使用が再びここで、リソースへのアクセスを待機しているストールするだけの調停回路によるアクセスをアクセス要求が認可されないことを保障する。
【００２９】
第２の観点から見ると、本発明はデータ処理装置で共通アクセス路を共有する複数個のリソースにアクセスしようとする複数アクセス要求間を調停する方法において、各アクセス要求は前記リソースのどれをアクセスすべきかを識別し、調停回路内でマルチサイクル調停操作を実行して共通アクセス路へ渡される複数アクセス要求を調停する段階であって、調停回路は複数個のパイプライン段を有して対応する複数個のマルチサイクル調停操作が任意のある時間に進行することを可能とする前記調停段階と、複数個のフィルタ状態を提供する段階であって、フィルタ状態の数は前記調停回路のパイプライン段数に依存し、各リソースは前記フィルタ状態の１つと関係する前記フィルタ状態提供段階と、前記調停回路により実行されるべき新たなマルチサイクル調停操作に対して、調停回路のパイプライン段内で既に進行中の他のマルチサイクル調停操作に選択されていない前記フィルタ状態の１つを選択し、新たなマルチサイクル調停操作の候補アクセス要求として前記選択されたフィルタ状態と関係するリソースにアクセスしようとしているアクセス要求を決定する段階と、を含む複数アクセス要求間を調停する方法を提供する。
【００３０】
第３の観点から見ると、本発明は、データ処理装置において、共通アクセス路を共有する複数個のリソース装置と、前記リソース装置へのアクセスを要求するアクセス要求を発行する少なくとも１個の論理装置であって、各アクセス要求は前記リソース装置の内のどれをアクセスすべきかを識別する前記論理装置と、マルチサイクル調停操作を実行して共通アクセス路に渡すべき複数アクセス要求間を調停する調停装置であって、複数個のパイプライン段を有して対応する複数個のマルチサイクル調停操作が任意のある時間に進行することを可能とする前記調停装置と、複数個のフィルタ状態を有し、フィルタ状態の数は前記調停回路のパイプライン段数に依存し、各リソースは前記フィルタ状態の１つと関係するフィルタ装置と、前記調停回路により実行されるべき新たなマルチサイクル調停操作に対して、フィルタ装置は、調停回路のパイプライン段装置内で既に進行中の他のマルチサイクル調停操作に選択されていない前記フィルタ状態の１つを選択し、新たなマルチサイクル調停操作の候補アクセス要求として前記選択されたフィルタ状態と関係するリソースにアクセスしようとしているアクセス要求を決定する前記フィルタ装置と、を含むデータ処理装置を提供する。
【実施例】
【００３１】
図１は本発明の１実施例によるデータ処理装置のブロック線図で、マルチサイクル調停が実行されるデータ処理装置内の各種の場所を図示する。しかしながら、本発明の実施例の調停回路とフィルタ回路は、複数のリソースが共通アクセス路を共有するデータ処理装置内の任意の場所で使用可能であることを理解されたい。
【００３２】
本発明のある特定の実施例の図解として、相互接続回路２５を介して複数個のスレーブ論理装置６５、７０、７５、９５に結合した複数個のマスター論理装置１０、１５、２０を有するデータ処理装置を図１を参照して考える。相互接続回路は各種のマスター論理装置とスレーブ論理装置を結合する複数個の接続路を通常提供し、トランザクションを実行可能とする。各トランザクションは、マスター論理装置からスレーブ論理装置へのアドレス転送と、マスター論理装置とスレーブ論理装置との間の１つ以上のデータ転送から通常構成される。書込みトランザクションでは、これらのデータ転送はマスター論理装置からスレーブ論理装置へ渡され（ある種の実装ではスレーブ論理装置からマスター論理装置への書込み応答転送がさらにある）、一方読取り転送ではこれらのデータ転送はスレーブ論理装置からマスター論理装置へ渡される。
【００３３】
各トランザクションの各種の転送が相互接続回路の接続路を介してルートされる方法は相互接続回路内で使用されるプロトコルに依存する。バス・プロトコルの２つの既知の型式は、トランザクションのアドレス転送と当該トランザクションの以後の１つ以上のデータ転送との間に一定のタイミング関係が存在する非分離トランザクション・プロトコルと、別々のアドレス・チャネルとデータ・チャネルが与えられ、データ転送のタイミングが特定のトランザクションのアドレス転送のタイミングに関して分離されている、分離トランザクション・プロトコルである。
【００３４】
本発明の１実施例では、相互接続回路は単一層相互接続構造を有し、図１の相互接続回路２５内に、当該単一層構造の特定部分が図示される。特に、３個のマスター論理装置１０、１５、２０の任意のものがスレーブ論理装置２  ６５またはスレーブ論理装置３  ７０をアクセスする構造の一部が図示されている。マルチプレクサ３０が配置されてマスター論理装置１０、１５、２０により発行されたアクセス要求を受け取り、前記アクセス要求は例えばトランザクションを開始するアドレス転送である。マルチサイクル調停操作を適用する調停器３５を使用してマルチプレクサ３０を制御し、マスター論理装置１０、１５、２０により発行される複数アクセス要求間を調停し、特に共有アクセス路４０の使用を調停する。同様に、関係する各々の路５５、６０を介した適切なターゲットのスレーブ論理装置６５、７０への特定のアクセス要求をルートするようデマルチプレクサ４５を制御するデコーダ５０が設けられる。
【００３５】
相互接続が分散トランザクション・バス・プロトコルを使用する場合、相互接続２５内の図１に示した構造が相互接続２５内の別々のアドレスとデータ・チャネルの各々に複製されることが認められる。
【００３６】
図１にこれも示すように、スレーブ論理装置の１つはＳＤＲＡＭ９０のようなオフチップ・メモリとインターフェースするために使用するメモリコントローラ７５でもよい。各種のマスター論理装置１０、１５、２０により発行されるアクセス要求はメモリコントローラ７５内でキューされ、次いで共有アクセス路８５を通してＳＤＲＡＭ９０へ一時に一つずつ出力される。共有アクセス路８５へのアクセスを調停するために、調停器８０をメモリコントローラ７５内に設けてマルチサイクル調停操作を実行する。
【００３７】
図１に示すように、スレーブ装置の１つは相互接続２５を介してルートされたアクセス要求を受け取り、次いでこれらのアクセス要求を周辺バス１０５を介して周辺バスに接続された周辺装置１２０、１２５の適切なものに出力するブリッジ回路９５でもよい。ある特定の時点で、１つのアクセス要求のみが周辺バスを通して出力可能であり、従って周辺バス１０５は各種の周辺装置１２０、１２５の共有アクセス路である。通常、選択信号が特定のアクセス要求と関連して出力されて当該アクセス要求を受け取る周辺装置を識別する。従って、周辺バス１０５上のアクセス要求出力を周辺装置１２０により受信すべき場合、対応する選択信号が路１１０を通して発行され、一方アクセス要求が周辺装置１２５により受信される場合、選択信号は路１１５を通して出力される。
【００３８】
ブリッジ９５が、それが周辺バスを通して出力可能なものより高速に相互接続回路２５からアクセス要求を受け取り可能な場合、周辺バスを通したディスパッチを待機するアクセス要求を記憶するためキュー機構が設けられる。このような状況では、アクセス要求間を調停するためマルチサイクル調停操作を実行するブリッジ回路９５内に調停器１００を設けることが可能である。
【００３９】
図１の以上の説明から、マルチサイクル調停を必要とする３つの例示位置を説明した。これらは前記マルチサイクル調停を必要とするデータ処理装置内の唯一の位置ではなく、前記調停が必要とされるいくつかの例を単に提供する意図のものであることが認められる。
【００４０】
上述したように、データ処理装置がより高速な周波数で動作する傾向にあることから、これは調停をマルチサイクルで実行する必要性を導入している、何故ならデータ処理装置がこのような高周波数で動作している時には必要な調停操作を単一サイクル内で実行不能であることがしばしば発生するからである。スループットを保持するため、各調停器３５、８０、１００は、複数個のパイプライン段を有して対応する複数個のマルチサイクル調停操作がいつでも進行可能であるようにパイプライン的に配置することが可能である。これは調停器を通した連続スループットを達成することを可能とするが、この方式の副作用は、以後のアクセスの調停を以前の調停の結果が分かる前に開始しなければならない点である。
【００４１】
前記方式により起因する問題は、共有アクセス路に結合された各種のリソースが各クロックサイクル毎にアクセス要求を受け取り不能であり、実際一旦調停されると、これらのリソースと関係するアクセス間タイミング・パラメータが以後の数クロックサイクルの間特定のリソースをアクセス不能とする。高スループットを保持するため、既にビシーであり、当該アクセス要求を受け入れ不能であるリソースに向けたアクセス要求を調停過程の勝利アクセス要求として選択することは利点がない、何故ならこれは上述したアクセス間タイミング・パラメータ制限により勝利アクセス要求が単にストールするだけだからである。本発明の実施例によると、この問題は以下でより詳細に説明する調停回路と関係するフィルタ機構の使用により避けられる。
【００４２】
特に、説明の都合上、メモリコントローラ７５内の調停器８０を以下で図２を参照してさらに詳細に考える。ＳＤＲＡＭ９０は通常複数個のチップから構成され、各チップは通常複数個のバンクを有し、各バンクはデータを記憶可能な多数のアドレス可能な行と列を有する。従って、この例では、共通アクセス路８５へのアクセスを共有する複数個のリソースはＳＤＲＡＭ９０内に設けた各種のバンクである。
【００４３】
図２に示すように、相互接続回路２５とインターフェースするバス・インターフェース２００がメモリコントローラ７５内に設けられ、従ってＳＤＲＡＭ９０へのマスター論理装置１０、１５、２０のどれかにより発行されるアクセス要求は最初に相互接続２５からメモリコントローラ７５のバス・インターフェース２００により受け取られる。以後、これらのアクセス要求はキュー２１０内に配置される。毎時に調停操作を実行し、キュー中のアクセス要求の１つを勝利アクセス要求として選択してＳＤＲＡＭ９０へルートしてメモリ・インターフェース２８０へ送り出すように、マルチプレクサ２６０に適切な制御信号を発生するために調停器２３０を配置してマルチサイクル調停操作を実行する。メモリ・インターフェース２８０はこれをＳＤＲＡＭ９０に発行する前に各アクセス要求に関してタイミング検査を実行する。
【００４４】
図２に示すように、キュー２１０中のアクセス要求を検査して、これらのアクセス要求のどれを調停用に調停器２３０に送るかを決定する本発明の実施例によるフィルタ機構２２０が設けられる。フィルタ機構２２０は複数個のフィルタ状態を有し、フィルタ状態の数は調停回路のパイプライン段数に依存する。本例では、調停回路２３０は、第１パイプライン段２４０からの出力をあるクロックサイクルの終了時に記憶し、次のクロックサイクルで当該出力を第２パイプライン段２５０に入力する前に記憶するために使用する登録要素２４５により分離された２つのパイプライン段２４０、２５０を有するものとして図示されている。第１パイプライン段２４０は第１調停機能を実行し、第２パイプライン段は第２調停機能を実行し、これらの第１及び第２調停機能が全体的に所要の調停機能を実行する。２つのパイプライン段が設けられている本例では、フィルタ機構２２０に２つのフィルタ状態が通常設けられる。
【００４５】
共通アクセス路を共有するリソースの各々は次いでフィルタ機構のフィルタ状態の１つと関係する。前述したように、ＳＤＲＡＭ９０の各バンクは別のリソースとして考えられ、従って各バンクはフィルタ状態の１つと関係する。
【００４６】
次いで、調停回路２３０により新たな調停操作の繰り返しが実行される時、フィルタ回路２２０は調停回路のパイプライン段内で既に進行中の調停捜査の他の繰り返しに選択されていないフィルタ状態の１つを選択する。フィルタ機構２２０は次いでキュー２１０のアクセス要求を検査し、各アクセス要求がどのリソースに向けられているかを決定し、選択されたフィルタ状態と関係するリソースへアクセスしようとしているアクセス要求を候補アクセス要求として選択する。
【００４７】
従って、調停器２２０が２つのパイプライン段を有する図２の特定の例を考えると、フィルタ機構２２０は第１パイプライン段２４０に入ろうとしている調停操作の繰り返しのフィルタ状態として、第２パイプライン段２５０に入ろうとしている調停操作の繰り返しと関係して使用されていないフィルタ状態を決定する。結果として、第１パイプライン段２４０に入る調停操作の繰り返しにより考慮される候補アクセス要求は第２パイプライン段２５０の調停操作の繰り返しを介して決定された勝利アクセス要求によりアクセスされるであろうリソースをアクセスしようとはしないことが保障可能である。従って、これは同じＳＤＲＡＭバンクが２つの連続したサイクルのアクセスで選択されないことを保障する。これはＳＤＲＡＭ９０へ発行されたアクセスがストールする危険性を減少する。実際、各バンクのアクセス間タイミング・パラメータが各２サイクル毎のアクセスを受け取り可能である場合、上述の技術によるとどのバンクも各２サイクル毎に１つのアクセス要求以上を受け取らないため、このようなストールは発生しない。第２アクセスに関して決定を行う際に第１アクセスでどのバンクが選択されたかをたとえ知らなくともこれが可能である、何故なら複数個のフィルタ状態の使用が、同じバンクが２つの連続したサイクルでアクセスされないことを保障するからである。
【００４８】
図３ＡはＳＤＲＡＭ９０をアクセスしようとするアクセス要求により発行されるアドレス３００内で与えられる欄を概略的に図示する。本例では、アドレスは３２ビット・アドレスであり、アクセスすべきＳＤＲＡＭ９０の特定のチップを識別する欄３１０と、アクセスすべきチップ内の特定のバンクを識別する欄３２０と、選択したバンクの行を識別する欄３３０と、選択したバンクの列を識別する欄３４０を有する。本例では、データはＳＤＲＡＭ９０で３２ビット量でアクセスされ、従ってアドレスの最小桁２ビットは関係しない（これらの２ビットは３２ビット量内の特定のバイトを単に識別するからである）。
【００４９】
図３ＢはＳＤＲＡＭ９０の特定の例を図示し、ここでＳＤＲＡＭは４個のチップ３５０、３６０、３７０、３８０を有し、その各々が４つのバンクを含む。従って、本例では、アドレスのチップ欄３１０は２ビット長で、アドレスのバンク欄３２０は２ビット長である。
【００５０】
図２を参照して前述したように、調停器が２つのパイプライン段を有する図２の例では、通常フィルタ機構２２０と関連する２つのフィルタ状態が存在する。１実施例では、あるフィルタ状態は偶数バンク・アドレスを有するバンクと関係し、他方のフィルタ状態は奇数バンク・アドレスを有するバンクと関係する。従って、図３Ｂの例を考えると、バンク０と２はあるフィルタ状態と関係し、バンク１と３は他方のフィルタ状態と関係し、キュー２１０のアクセス要求を解析する時には、フィルタ機構２１０は、偶数バンクまたは奇数バンクのどちらがアクセスされているかを調べるためにバンク欄３２０の最小桁ビットを単に検査する必要がある。
【００５１】
別の実施例では、あるフィルタ状態は偶数チップ・アドレスのチップと関係し、他方のフィルタ状態は奇数チップ・アドレスと関係してもよい。再び、図３Ｂを考えると、チップ０または２がアクセスされているか、またはチップ１または３がアクセスされているかを決定するためにはフィルタ機構２２０にとってチップ欄３１０の最小桁ビットのみを単に見る必要がある。
【００５２】
さらに、２つ以上のパイプライン段が調停器２３０に設けられている場合、２つ以上のフィルタ状態がフィルタ機構２２０に設けられることが認められる。例として、調停器２３０が４つのパイプライン段を含む場合、４つのフィルタ状態がフィルタ機構２２０に設けられる。図３Ｂの例を考えると、各フィルタ状態は特定のバンクと関係し、フィルタ機構は、アクセス要求によりどのリソースをアクセスすべきかを決定する時に、アクセス要求により指定されたアドレスのバンク欄３２０の両方のビットを調べる。または、各フィルタ状態は特定のチップに対応し、調停操作の特定の繰り返しで候補アクセス要求を選択しようとする時フィルタ機構２２０によりチップ欄３１０の両方のビットが解析される。
【００５３】
ブリッジ回路９５内に設けられる調停機構は図２のメモリコントローラ７５の調停機構と同様に構成可能であり、特に同じキュー２１０、フィルタ機構２２０、調停器２３０及びマルチプレクサ２６０を含むことが可能である。
【００５４】
相互接続２５内に設ける調停機構を考えると、複数アクセス要求はマルチプレクサ３０への入力として同時にアクセス要求をアサートするマスター装置１０、１５、２０から起因しているため、キュー２１０と同様なキューは通常存在しない。フィルタ機構は、どのリソースがアクセスされていたかを決定し、次いでその時点でどのフィルタ状態が適用されているかに依存して候補アクセス要求を選択するためにマルチプレクサ３０にルートされたアクセス要求内に与えられたアドレスの特定のビットを探索し、その後調停器３５はマルチプレクサ３０の制御信号を発生するため図２の調停器２３０を参照して説明したものと同様な方法で動作する。
【００５５】
図４は本発明の１実施例による調停器と関連するフィルタ機構により実行される過程を図示する流れ図である。段階４００で、調停されることを待機している何らかのアクセス要求があるかどうか決定される。あると仮定すると、段階４１０で調停器のパイプライン段内で進行中の調停操作が現在存在するかどうか決定される。しない場合、図４に図示した実施例により、フィルタ状態は選択されず、代わりに段階４２０で調停器は現在調停を待機している全てのアクセス要求の中から調停を実行し、その後過程は段階４００に復帰する。
【００５６】
しかしながら、段階４１０で調停パイプライン中で少なくとも１つの調停操作が進行中であることが決定されると、段階４３０でフィルタ機構は調停器中で進行中の調停操作と既に関係しているフィルタ状態を考慮したフィルタ状態を選択する。特に、フィルタ機構は、既に進行中の調停操作により現在使用されていないフィルタ状態を選択する。さらに、図４に示した実施例によると、フィルタ機構は、既に進行中の調停操作と関係する特定のフィルタ状態を選択可能である１つ以上のフィルタ状態が存在するものと仮定すると、調停を待機しているアクセス要求に関連するフィルタ状態を選択する。例えば、フィルタ機構が２つのフィルタ状態の中から選択可能であるが、調停を待機している全てのまたは大部分のアクセス要求がこれらの２つのフィルタ状態の特定のものと関係するリソースをアクセスしようとしている場合、フィルタ機構は本実施例ではその特定のフィルタ状態を選択する。
【００５７】
以後、段階４４０で、フィルタ機構は、調停器による考慮のため候補アクセス要求を発生するため選択したフィルタ状態を使用してアクセス要求をフィルタする。特に、調停を待機しているアクセス要求の全ての内で、フィルタ機構は候補アクセス要求として選択したフィルタ状態と関係するリソースをアクセスしようとするアクセス要求のみを選択する。
【００５８】
次いで、段階４５０で、調停器はフィルタ機構から出力された候補アクセス要求の中で調停を実行し、以後過程は段階４００に復帰する。
【００５９】
本発明の実施例の以上の説明から、上記実施例はアクセスしたリソースでストールを発生させる可能性なしに、高周波数、パイプライン化、調停を発生可能であることが認められる。例えば、リソースとしてＳＤＲＡＭメモリのバンクを考えると、前記技術は同じバンクが連続した調停サイクルでアクセスされないことを保証する。特に、上述したフィルタ機構を使用すると、第１調停サイクルで選択された正確なバンク・アドレスがたとえ次の調停サイクルで知られていなくとも、次の調停サイクルで選択されるバンク・アドレスが第１調停サイクルで選択されたものとは異なることを保証可能である。
【００６０】
特定の実施例を本明細書に記載してきたが、本発明はこれに限定されるものではなく、本発明の範囲から逸脱することなく多くの修正と追加が出来ることが認められる。例えば、本発明の範囲から逸脱することなく以下の従属請求項の機能の独立請求項の機能との各種の組み合わせが実行可能である。
【図面の簡単な説明】
【００６１】
添付図面に図示する実施例を参照して、単なる一例として、本発明をさらに説明する。
【図１】本発明の１実施例によるデータ処理装置のブロック線図。
【図２】本発明の１実施例による図１のメモリコントローラ７５を詳細に図示するブロック線図。
【図３Ａ】図１のＳＤＲＡＭ９０をアクセスしようとするアクセス要求により与えられるアドレスの部分を図式的に図示する線図。
【図３Ｂ】本発明の実施例による図１のＳＤＲＡＭ９０内に設けたチップとバンクを図式的に図示する線図。
【図４】本発明の１実施例による調停回路と関連するフィルタ機構の動作を図示する流れ図。
【符号の説明】
【００６２】
１０、１５、２０  マスター論理装置
２５  相互接続回路
６５、７０、７５、９５  スレーブ論理回路
３０  マルチプレクサ
３５  調停器
４０  共有アクセス路
５０  デコーダ
７５  メモリコントローラ
８０  調停器
８５  共有アクセス路
９０  ＳＤＲＡＭ
９５  ブリッジ回路
１００  調停器
１０５  周辺バス
１２０、１２５  周辺装置
【図１】
2008234660.tif 000003
【図２】
2008234660.tif 000004
【図３Ａ】
2008234660.tif 000005
【図３Ｂ】
2008234660.tif 000006
【図４】
2008234660.tif 000007