(57)【要約】処理システムは、複数台の処理ユニットのうちの少なくとも１台から出力されるアクセスアドレスパターンの周期の繰り返しを検出する検出ユニットを具備する。インタフェースは、処理ユニットのデータ入力および／または出力と複数台のメモリユニットのうちの選択可能なメモリユニットのデータ入力および／または出力との間で選択可能なコネクションを切り替える。その結果として、複数台の処理ユニットのうちの少なくとも１台からの同じアドレスは、前記繰り返しの検出に応じて異なるメモリユニット内のアドレスを交互にアドレス指定する。好ましくは、検出ユニットは、第１のデータ処理ユニットのアドレス出力からのアドレスがメモリユニットに関連付けられた一つ以上のアドレスの範囲内に収まるかどうかを検出するため配置されたアドレスコンパレータを収容する。検出器は、第１のデータ処理ユニットのアドレス出力からのアドレスの一つが前記範囲に収まるアドレスをある特定の回数だけ出力するたびに、新しい繰り返しを示す検出信号を発生する。
2006505845.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがアドレス出力およびデータ入出力を有する複数台のデータ処理ユニットと、
それぞれがアドレス入力およびデータ入出力を有する複数台のメモリユニットと、
スイッチングユニットと、
を具備し、
前記スイッチングユニットが、
前記処理ユニットの前記データ入出力と、前記メモリユニットの前記データ入出力より選択可能なデータ入出力との間にある第１の選択可能なコネクションと、
前記処理ユニットの前記アドレス出力から、前記メモリユニットより選択可能なメモリユニットの前記アドレス入力への第２の選択可能なコネクションと、
前記処理ユニットの前記アドレス出力に結合され、少なくとも１台の前記処理ユニットによって出力されたアドレスパターンの周期の繰り返しを検出するため配置された検出ユニットと、
新しい１回の繰り返しの検出に応答して前記第１および第２の選択可能なコネクションを切り替えるため、前記検出ユニットに結合された入力を有し、前記第１および第２の選択可能なコネクションを制御する状態保持エレメントと、
を具備し、これにより、前記データ処理ユニットからの同一のアドレスが連続的な繰り返しの間に前記メモリユニットのうちの異なるメモリユニットへ交互にマッピングされる、
データ処理装置。
【請求項２】
前記新しい一つの繰り返しを検出する規準が当該装置によって実行されるプログラムの制御下でプログラム可能である、請求項１に記載のデータ処理装置。
【請求項３】
前記検出ユニットは、第１のデータ処理ユニットの前記アドレス出力からのアドレスが前記メモリユニットに関連付けられた一つ以上のアドレスの範囲に収まるかどうかを検出し、前記第１のデータ処理ユニットの前記アドレス出力からの前記アドレスのうちの一つが前記範囲に収まるアドレスをある特定の回数だけ出力するたびに前記新しい１回の繰り返しを示す検出信号を発生するアドレスコンパレータを具備する、請求項１に記載のデータ処理装置。
【請求項４】
前記ある特定の回数が１回であり、前記範囲が前記メモリユニットに関連付けられた一つ以上のアドレスのサブセットである、請求項３に記載のデータ処理装置。
【請求項５】
前記ある特定の回数が２回以上であり、
少なくとも前記ある特定の回数まで前記範囲内で前記第１のデータ処理ユニットの前記アドレス出力からのアドレスのカウント回数をカウントするカウンタを具備する、請求項３に記載のデータ処理装置。
【請求項６】
前記検出ユニットが前記少なくとも１台のデータ処理ユニットのためのアクセスメモリを具備し、
前記アクセスメモリが前記第１のデータ処理ユニットによってアドレス指定可能である前記メモリユニット内のロケーションをアドレス指定する複数個のアドレスに対するロケーションを具備し、
前記アクセスメモリが前記メモリユニット内の前記ロケーションへのアクセスを記録し、
前記検出ユニットは、前記アクセスメモリが前記第１の処理ユニットによって供給されたアドレスが繰り返し中に先に供給されたことを示すかどうかに応じて、前記新しい繰り返しを示す検出信号を生成する、
請求項１に記載のデータ処理装置。
【請求項７】
前記少なくとも１台のデータ処理ユニットがアドレスを出力し、前記アクセスメモリが前記新しい繰り返しの先行する検出後にそのアドレスに対するアクセスを先に記録しているときに、前記検出ユニットが前記検出信号を生成する、請求項６に記載のデータ処理装置。
【請求項８】
前記少なくとも１台のデータ処理ユニットがある特定の個数よりも多数のアドレスを実行し、そのアドレスに対して前記アクセスメモリが前記アドレスは前記繰り返し中に先に供給されていなかったことを示すときに、前記検出ユニットは前記検出信号を発生する、請求項６に記載のデータ処理装置。
【請求項９】
前記複数台のメモリユニットが３台以上のメモリユニットを含み、前記状態保持エレメントが前記第１および第２の選択可能なコネクションのスイッチングを制御し、それにより、前記データ処理ユニットからの同じアドレスが連続的な繰り返しの間に前記３台以上のメモリユニットのうちの異なるメモリユニットへ循環的にマッピングされる、請求項１に記載のデータ処理ユニット。
【請求項１０】
前記検出ユニットが少なくとも１台の前記処理ユニットからの読み出しおよび／または書き込み制御信号の繰り返しを含む繰り返しの検出を実行する、請求項１に記載のデータ処理ユニット。
【請求項１１】
複数台の処理ユニットのうちの少なくとも１台の処理ユニットから出力されたアクセスアドレスパターンの周期の繰り返しを検出し、
前記処理ユニットのデータ入出力と複数台のメモリユニットのうちの選択可能なメモリユニットのデータ入出力との間で選択可能なコネクションを切り替え、これにより、少なくとも１台の前記処理ユニットからの同じアドレスが前記繰り返しの検出に応じて前記メモリユニットのうちの異なるメモリユニット内のロケーションを交互にアドレス指定する、
データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置およびデータ処理方法に関する。
【背景技術】
【０００２】
米国特許第４，９５６，７６８号から、プロセッサと複数個のアウトレットとの間で転送されるデータをダブルバッファリングするデータ処理装置が知られている。各アウトレットにはメモリのペアが設けられる。プロセッサは、第１のメモリと第２のメモリへ交互に書き込む。プロセッサが一方のメモリへ書き込むとき、もう一方のメモリはアウトレットに接続される。このようにして、プロセッサからの書き込みとアウトレットへの出力は並列に処理することができる。
【０００３】
アウトレットに関連付けられたプロセッサは、どのメモリがプロセッサに接続されるか、並びに、どのメモリがアウトレットに接続されるかを制御する。米国特許第４，９５６，７６８号は、メモリ内のロケーションがどのようにしてアドレス指定されるか、並びに、どのような条件でメモリの役割が切り替えられるかについては開示していない。
【０００４】
従来、ダブルバッファリングはデータを生成する装置とデータストリームからのデータを使用する装置とを切り離すため使用されている。書き込み装置は、データのブロックを書き込むため一つのメモリともう一つのメモリを交互にアドレス指定する。読み出し装置は書き込みのためアドレス指定されていないメモリをアドレス指定することによりブロックを読み出す。通常、さらに、書き込み装置が一つのブロックからもう一つのブロックへ切り替わるときを示すため、ある形式のシグナリングが装置間で必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特に、本発明の目的は、ダブルバッファリングがデータ処理ユニットから見てトランスペアレントにサポートされる種々のデータ処理ユニット間のダブルバッファリング通信の一形式を提供することである。
【課題を解決するための手段】
【０００６】
本発明は請求項１に従ったデータ処理装置を提供する。本発明によれば、独立スイッチングユニットは、どのメモリにユニットがどのデータ処理ユニットへ接続されるかを制御する。データ処理ユニットからのアドレスはスイッチングユニットによって選択されたメモリユニット内のロケーションをアドレス指定するため使用されるので、所定のアドレスは、スイッチングユニットによる選択に応じて、同じプログラムの実行中に様々な時点で様々なメモリユニットのロケーションをアドレス指定してもよい。独立スイッチングユニットは、少なくとも１台のデータ処理ユニットによって供給されたアドレスのパターンの繰り返しを検出するため、そのデータ処理ユニットによって供給されたアドレスを監視する。繰り返しを検出すると、スイッチングユニットはデータ処理ユニットへ接続されるメモリユニットの選択を切り替える。
【０００７】
好ましくは、繰り返しを検出する規準はプログラム可能であり、たとえば、プログラム可能な範囲内のアドレスの繰り返しの検出を使用し、或いは、プログラム可能な繰り返しの回数を使用し、或いは、様々な処理ユニットからのアドレスの繰り返しのプログラム可能な組み合わせを使用する（たとえば、両方の処理ユニットからの繰り返しの検出後に交替し、或いは、特定の処理ユニット毎にその特定の処理ユニットのアドレスパターン中に繰り返しが検出されたときに交替し、特定の処理ユニットからのアドレスマッピングの先行する交替後に別の処理ユニットによる繰り返しの検出を条件とすることも任意である。）。
【０００８】
処理ユニットから受信されたアドレスの繰り返しの検出後、または、ある範囲内のある回数のアクセスオペレーションの検出、または、ある範囲内のすべてのアドレスの使用後の検出などの種々の繰り返し検出方法が使用される。
【０００９】
一般に、データ処理装置は、スイッチングユニットによってコネクションの切り替えが行われない別のメモリユニットを収容する。したがって、データ処理ユニットは、スイッチングユニットを介して接続されたメモリユニット内のメモリアドレスロケーションをアドレス指定するため、アドレスのサブセットだけを使用する。そのサブセット内のアドレスは種々のメモリユニットへ交互にマッピングされるが、残りのアドレスは一般に同じメモリユニットへマッピングされる。スイッチングユニットは、好ましくは、スイッチングユニットを介してデータ処理ユニットに接続されたメモリユニット内のロケーションをアドレス指定するアドレスのサブセット内のアドレスの繰り返しだけを監視する。かくして、様々なメモリユニット間の交替は、スイッチングユニットを介して接続されたメモリユニットの外側をアドレス指定するパターンには直接的に依存しない。
【００１０】
少なくとも２台のデータ処理ユニットおよび少なくとも２台のメモリユニットがスイッチングユニットを介して接続されてもよい。しかし、本発明は容易に拡張可能である。本発明の範囲から逸脱することなく、２台よりも多数のデータ処理ユニットおよび／またはメモリユニットを接続し、データ処理ユニットからのアドレスが３台以上のメモリユニットのいずれか１台にマッピングされるようにすることが可能である。この場合に、スイッチングユニットは、ラウンドロビン方式で３台以上のメモリユニットをデータ処理ユニットへ交互に接続してもよい。或いは、スイッチングユニットは、メモリユニットのどのサブセットが特定のデータ処理ユニットへ交互に接続されるかを選択するためにプログラム可能でもよい。このように、データ処理装置は、３台以上のデータ処理ユニットの間で２本以上のデータストリームのフレキシブルな多重バッファ方式通信を実現することができる。
【発明を実施するための最良の形態】
【００１１】
本発明によるデータ処理装置の上記およびその他の目的と効果は添付図面を参照して説明される。
【００１２】
図１はデータ処理装置を表す。この装置は、処理ユニット１０ａ，１０ｂ、複数台のメモリユニット１８ａ−１８ｃ、スイッチングユニット１７、および、スイッチング制御ユニット１６を具備する。各データ処理ユニット１０ａ，１０ｂは、それぞれのアドレス／制御バス１４，１５およびそれぞれのデータバス１２，１３へのコネクションを有する。第１の処理ユニット１０ａのアドレスバス１２およびデータバス１４は、スイッチングユニット１７の第１のポートおよび第１のメモリユニット１８ａに結合される。第２の処理ユニット１０ａのアドレス／制御バス１３およびデータバス１５はスイッチングユニット１７の第２のポートに結合される。さらに、第１および第２の処理ユニット１０ａ，１０ｂのアドレス／制御バス１４，１５は、スイッチング制御ユニット１６に結合される。スイッチング制御ユニット１６はスイッチングユニット１７に結合された制御出力を有する。スイッチングユニット１７は、メモリユニット１８ａ−１８ｃのうちの２番目および３番目のメモリユニットのそれぞれへのアドレス／制御およびデータバスラインのためのコネクションを備えた第３および第４のポートを有する。
【００１３】
動作中に、処理ユニット１０ａ，１０ｂは、メモリロケーションに対するデータの読み出しおよび／または書き込みを行う命令を含むプログラムを実行する。これらの命令は関連したメモリロケーションのアドレスを規定する。命令に応答して、処理ユニット１０ａ，１０ｂは、アドレス／制御バス１４，１５によってこれらのアドレスをメモリユニット１８ａ−１８ｃへ供給する。命令が読み出し命令であるか、または、書き込み命令であるかに応じて、処理ユニット１０ａ，１０ｂは、さらに、それぞれにデータバス１２，１３を介してデータを読み出し、または、データバス１２，１３を介してデータを書き込む。そのアドレスによってアドレス指定されたロケーションを収容するメモリユニット１８ａ−１８ｃは、アドレス指定されたロケーションからデータバス１２，１３へデータを返し、または、これらのデータバス１２，１３からのデータをアドレス指定されたロケーションに格納する。
【００１４】
第１および第２のメモリユニット１８ｂ，１８ｃは同じアドレスによってアドレス指定されたロケーションを収容する。スイッチング制御ユニット１６からの制御信号に応じて、スイッチングユニット１７はこれらのアドレスを選択的に第１または第２のメモリユニット１８ｂ，１８ｃのいずれかへ渡す。同様に、これらのアドレスに対応するデータが、選択されたメモリユニット１８ｂ，１８ｃへ渡される。このように、スイッチング制御ユニット１６の状態に応じて、処理ユニット１０ａ，１０ｂからのアドレスは、第１のメモリユニット１８ｂ内のロケーションまたは第２のメモリユニット１８ｃ内のロケーションのいずれかをアドレス指定する。第１の処理ユニット１０ａからのアドレスが第１および第２のメモリユニット１８ｂ，１８ｃ内のロケーションをアドレス指定するアドレスの範囲外であるとき、そのアドレスは、第３のメモリユニット１８ａを直接的に、すなわち、スイッチングユニット１７を経由せずにアドレス指定してもよい。
【００１５】
直接的にアドレス指定できる１台の第３のメモリユニット１８ａしか図示されていないが、実際には複数台のこのような直接的に接続されたメモリユニットが存在してもよく、一部が第１の処理ユニット１０ａのアドレス／制御バス１４およびデータバス１２に結合され、その他が第２の処理ユニット１０ｂのアドレス／制御バス１５およびデータバス１３に結合される。
【００１６】
スイッチング制御ユニット１６は状態レジスタのような状態保持回路（図示せず）を含み、状態保持回路は、どちらのメモリユニット１８ｂ，１８ｃがどちらの処理ユニット１０ａ，１０ｂのアドレス／制御バス１４，１５およびデータバス１２，１３に接続されるかを決める状態情報を保持する。スイッチング制御ユニット１６は、アドレス／制御バス１４，１５を介して処理ユニット１０ａ，１０ｂから受信されたアドレスに応じてこの状態情報を更新する。スイッチング制御ユニット１６は、アドレスの周期的なパターンの様々な周期の先頭を検出するためこれらのアドレスを使用する。スイッチング制御ユニット１６は周期の先頭を検出するときにいつも状態情報を更新するので、アドレスはその後、種々のメモリユニット１８ｂ，１８ｃへ供給される。周期の先頭を検出する様々な方法が使用され得る。
【００１７】
図２はスイッチング制御ユニット１６の第１の実施形態を最も簡単な形で表し、ここでは、スイッチングユニット１７を制御する唯一の信号が発生される。本実施形態において、スイッチング制御ユニット１６は、アドレス／制御バス１４に結合されたアドレスコンパレータ２０ａを含む。コンパレータ２０ａは状態レジスタ２２ａに結合された出力を有し、次に状態レジスタはスイッチングユニット１７（図示せず）の制御入力に結合された出力を有する。動作中に、コンパレータ２０ａは、アドレス／制御バス１４からのアドレスを設定アドレスと比較する。設定アドレスが検出されたとき、コンパレータ２０ａは状態レジスタ２２ａの内容をトグルさせ、状態レジスタは次にスイッチングユニット１７に、第１および第２の処理ユニット１０ａ，１０ｂにそれぞれ結合されたメモリユニット１８ｂ，１８ｃをスワップさせる。
【００１８】
スイッチング制御ユニット１６の別の実施形態は図２に示されたものと同じ構造を有するが、本実施形態では、コンパレータ２０ａは、（２回の比較を行い、上限アドレスよりも小さいアドレスと下限アドレスよりも大きいアドレスを調べることにより、または、アドレスのより重要な部分だけを使用することにより）アドレスが第１または第２のメモリユニット１８ｂ，１８ｃ内のロケーションをアドレス指定するアドレス範囲内に含まれるときを通知する。本実施形態において、ユニット２２ａは範囲内のアドレスがアドレス指定された回数をカウントし、一定の個数のアドレスがカウントされたときに新しい周期の先頭でスイッチングユニット１７によって構成されたコネクションを制御する状態レジスタをリセットし、更新するカウンタである。このようなある特定の個数は、あらかじめ定められた個数、または、処理ユニット１８ｂ，１８ｃのうちの一方によって実行されるプログラムによって設定されるプログラム可能な個数である。本実施形態では、メモリユニット１８ｂ，１８ｃのためのメモリユニットイネーブル信号（各メモリユニット１８ｂ，１８ｃがメモリチップで構成される場合にはチップイネーブル）を発生する回路はコンパレータ２０ａとして使用され、コンパレータは、本例では、選択されたメモリユニットに応じて、メモリユニット１８ｂ，１８ｃのいずれかへメモリユニットイネーブル信号を供給するため使用されてもよい。
【００１９】
図３はスイッチング制御ユニット１６のさらなる実施形態を表す。本実施形態において、スイッチング制御ユニット１６は、リードモディファイライトメモリ３０、検出器３２およびトグルフリップフロップ３４を含む。アドレス／制御バス１４はリードモディファイライトメモリのアドレス入力に結合され、リードモディファイライトメモリ３０のデータ出力は検出器３２の入力に結合される。検出器３２の出力はトグルフリップフロップ３４の入力に結合され、次にトグルフリップフロップはスイッチング制御ユニット１６の出力に結合された出力を有する。この検出器３２の出力はさらにリードモディファイライトメモリ３０のリセット入力に結合される。リードモディファイライトメモリ３０は第１および第２のメモリ１８ｂ，１８ｃにおいてアドレス指定するため使用され得るアドレス値毎にそれぞれのロケーションを有する。
【００２０】
動作中に、本実施形態のスイッチング制御ユニット１６は、第１または第２のメモリユニット１８ａ，１８ｂにおけるいずれかのアドレスの繰り返しアドレス指定をチェックすることによりアドレッシングの新しい周期の先頭を検出する。リードモディファイライトメモリ３０は、アドレス値毎に、そのアドレス値が現在の周期で使用されたかどうかを示す情報を保持する。第１または第２のメモリ１８ｂ，１８ｃ内のロケーションをアドレス指定するアドレスは、同様にリードモディファイライトメモリ３０内のロケーションをアドレス指定する。最初に、周期の先頭で検出器３２はリードモディファイライトメモリ３０の内容をリセットする。このようなアドレスが受信されるときにはいつも、リードモディファイライトメモリ３０内の対応したロケーションの内容がセットされる。リードモディファイライトメモリ３０内のロケーションに先に記憶されていたデータは検出器によってテストされる。このデータがセットされた場合に、検出器３２は周期の繰り返しを通知し、トグルフリップフロップ３４内のデータ内容をトグルさせ、リードモディファイライトメモリ３０の内容をリセットさせる。トグルフリップフロップ３４のデータ内容はスイッチングユニット１７によって作られたコネクションを制御する。本実施形態は、たとえば、ある種のアドレスがある一定の周期中に使用されないときを無視する、より洗練された周期検出の形式を提供することが可能である。
【００２１】
さらなる実施形態において、検出器３２は、リードモディファイライトメモリ３０から読み出されたデータが周期中に最初にアドレスが使用されたことを示した回数をカウントするカウンタによって置き換えられる。本実施形態において、このカウンタは、あるカウントを超えるとき、新しい周期を通知する（スイッチングユニット１７によるスイッチング、リードモディファイライトメモリ３０のリセット、および、カウンティングプロセスの新しい周期を引き起こす）。このようにして、スイッチング制御ユニットは、十分な量の異なるロケーション（ある特定の個数よりも多数）がアドレス指定されたときに新しい周期を通知する。ある特定の個数は、あらかじめ定められてもよく、または、たとえば、少なくとも１台の処理ユニットに結合され、カウンタの初期値をセットするレジスタを用いて、処理ユニット１０ａ，１０ｂによりプログラム可能な形でもよい。本実施形態は、たとえば、同じアドレスを用い繰り返されるアクセスオペレーションを無視する、より洗練された周期検出の実現を可能にさせる。
【００２２】
ここまでに図２および３を参照して説明した実施形態は、１本のアドレス／制御バス１４のアドレスからの周期検出を表しているが、任意のアドレス／制御バス１４，１５を使用可能であり、或いは、たとえば、処理ユニット１０ａ，１０ｂのいずれか一つ若しくはそれぞれにおいて新しい周期の先頭が検出されたときに切り替えることにより、これらのバスの組み合わせからのアドレスが使用可能であることが理解されるべきである。スイッチングユニット１７が（たとえば、時間インターリーブ方式で、または、調停要求に基づいて）２台以上の処理ユニット１０ａ，１０ｂを同じメモリユニットへ同時に接続することを許容するとき、スイッチング制御ユニット１６は、２台のメモリユニット１８ｂ，１８ｃの間で互いに独立に処理ユニット１０ａ，１０ｂのバスコネクションを切り替えてもよい。この目的のため、スイッチング制御ユニット１６は、２台の検出回路を具備してもよく、各検出回路は、図２または３との関連で説明したタイプのうちの一つであり、それぞれのデータおよびアドレスバスに結合され、アドレスデータバスがメモリユニット１８ｂ，１８ｃのどちらに接続されるかを制御する。
【００２３】
図３ａは、バスの組み合わせからのアドレスが使用されるスイッチング制御ユニット１６の一実施形態を表す。本実施形態は、第１および第２の繰り返し検出ユニット３００ａ，３００ｂと、状態コンパレータ３０２と、制御レジスタ３０４とを含む。繰り返し検出ユニット３００ａ，３００ｂのそれぞれは、図２および３に示されるように、アドレスコンパレータ、または、検出器を備えたリードモディファイライトメモリを含んでもよい。繰り返し検出ユニット３００ａ，３００ｂの出力は状態コンパレータ３０２に結合され、次に状態コンパレータは制御レジスタ３０４に結合された更新出力を有する。制御レジスタ３０４はスイッチングユニット１７（図示せず）に結合された制御出力を有する。
【００２４】
動作中に、繰り返し検出ユニット３００ａ，３００ｂは、たとえば、図２および３に関連して説明したように、対応した処理ユニットからのアドレッシングのパターンの繰り返しを検出する。繰り返しを検出すると、繰り返し検出ユニット３００ａ，３００ｂは状態コンパレータ３０２へ信号を送信する。簡単な実施形態では、状態コンパレータ３０２は、対応した繰り返しがセットされるときにセットされた状態ビットを維持し、状態コンパレータは、両方の状態ビットがセットされているならば制御レジスタ３０４をトグルさせ、状態ビットをクリアする。本実施形態では、特定の処理ユニットからのアクセスオペレーションは、その処理ユニットに対する状態ビットがセットされているならば、好ましくは、一時的に中断される。
【００２５】
別の実施形態では、状態コンパレータ３０２は、すべての処理ユニットに対する状態ビットがセットされるまで制御レジスタ３０４の更新を遅延させないが、たとえば、繰り返しが特定の処理ユニットからのアドレスパターンに発生したとき、対象としている処理ユニットの最後のマッピングの交替後に別の処理ユニットからのアドレスのマッピングの交替が起こらない限り、特定の処理ユニットのそれぞれからのアドレスのマッピングを交替させるため更新を発生させる。
【００２６】
スイッチングを制御するためのアドレスの使用だけが簡単な設計を実現するために説明されているが、より複雑な設計では、アドレス／制御バス１４，１５からのその他の制御信号が同様に使用されることが認められるべきである。たとえば、スイッチング制御ユニット１６は、読み出しのため使用されるときに限り、または、書き込みのため使用されるときに限り、アドレスを使用するように設計される。これは、たとえば、読み出しオペレーションを無視する、より洗練された周期検出の実現を可能にさせる。
【００２７】
さらに、図２および３に示された簡単なスイッチング制御ユニットは、固定アドレス範囲または固定アドレス、における繰り返しを検出することが前提とされているが、代わりに、たとえば、コンパレータ２０ａ内で検出範囲を定める１台以上のプログラム可能なレジスタを使用することにより、プログラム可能な範囲またはプログラム可能なアドレスが使用され制御され、レジスタが少なくとも１台の処理ユニットに結合されるので、この処理ユニットはプログラム制御下でこれらのレジスタに値を書き込むことが可能である。同様に、アドレス範囲検出器が図３の検出器に付加され、アドレス毎にそのアドレスがプログラムされた範囲内に入るかどうかを検出する。アドレスの繰り返しがリードモディファイライトメモリを用いて検出されるとき、繰り返しは、アドレスがプログラムされた範囲内に入る場合に限り通知される。このように、アドレスパターンの繰り返しの検出のための規準はプログラム制御下で使用されるプログラムに応じて調整することができる。同様に、処理ユニット１０ａ，１０ｂの組み合わせからの繰り返し検出のための規準はプログラム制御方式でもよい。
【００２８】
好ましくは、図２および３を参照して説明された実施形態における繰り返しの検出のため使用されたすべてのアドレスは、メモリユニット１８ｂ，１８ｃ内のメモリロケーションをアドレス指定するアドレス範囲内のアドレスに限られる。しかし、さらなる実施形態では、その範囲の外側のアドレスが使用されてもよい。かくして、スイッチングユニット１７を介して接続されたメモリユニット１８ｂ，１８ｃ内のアドレスを含むアクセスパターンの大きい変化を許容することが可能であると共に、これらのメモリユニット１８ｂ，１８ｃ内のアドレスの範囲の外側のアドレスを使用して、繰り返しの検出が依然として可能である。
【００２９】
図４はスイッチングユニット１７の一実施形態を表す。本実施形態は、選択可能なアドレス／データバスドライバ４０ａ，４０ｂ，４２ａ，４２ｂを含む。第１のアドレス／データバスドライバ４０ａは、一方で第１の処理ユニット１０ａ（図示せず）のアドレス／制御バス１４とデータバス１２との間に接続され、他方で第１のメモリユニット１８ａ（図示せず）のためのデータ／アドレスコネクションに接続される。第２のアドレス／データバスドライバ４０ｂは、一方で第１の処理ユニット１０ａ（図示せず）のアドレス／制御バス１４とデータバス１２との間に接続され、他方で第２のメモリユニット１８ｂ（図示せず）のためのデータ／アドレスコネクションに接続される。第３のアドレス／データバスドライバ４２ａは、一方で第２の処理ユニット１０ｂ（図示せず）のアドレス／制御バス１５とデータバス１３との間に接続され、他方で第１のメモリユニット１８ａ（図示せず）のためのデータ／アドレスコネクションに接続される。第４のアドレス／データバスドライバ４２ｂは、一方で第２の処理ユニット１０ｂ（図示せず）のアドレス／制御バス１５とデータバス１３との間に接続され、他方で第２のメモリユニット１８ｂ（図示せず）のためのデータ／アドレスコネクションに接続される。
【００３０】
スイッチングユニット１７は、アドレス／データバスドライバ４０ａ，４０ｂ，４２ａ，４２ｂの入力を有効にするため結合された制御信号のための入力４４を有するので、スイッチ制御ユニット１６（図示せず）からの制御信号に応じて、第１および第４のアドレス／データバスドライバ４０ａ，４２ｂが同時にイネーブルにされるか、または、第２および第３のアドレス／データバスドライバ４０ｂ，４２ａが同時にイネーブルにされる。イネーブルにされると、アドレス／データバスドライバ４０ａ，４０ｂ，４２ａ，４２ｂはデータ信号およびアドレス信号を送る。
【００３１】
メモリユニット１８ａ，１８ｂへの共有アクセスを可能にさせるある種の共有機構（たとえば、タイムスロット多重化機構、優先度機構、または、アービトレーション機構）が設けられるならば、本発明の範囲から逸脱することなく、より複雑な制御信号、たとえば、第１および第２のアドレス／データバスドライバ４０ａ，４０ｂを第３および第４のアドレス／データバスドライバ４２ａ，４２ｂとは独立に制御することができる信号が使用されてもよい。
【００３２】
スイッチングユニット１７は、非常に多数の処理ユニットまたはメモリユニットをサポートするように拡張することが容易である。より多くの処理ユニットがより多くのアドレス／データバスドライバを追加することによりサポートされ、より多くのメモリユニットがより多くのアドレス／データバスドライバを一体的に接続することによりサポートされる。３台以上のメモリユニットが、たとえば、処理ユニット１０ａ，１０ｂからのアドレスをラウンドロビン方式で様々なメモリへマッピングするため使用されてもよい。この目的のため、図２および３に示されたトグルフリップフロップの代わりに、巡回カウンタが処理ユニット１０ａ，１０ｂのそれぞれに使用されてもよく、メモリユニット１８ａ，１８ｂのうちのどちらが処理ユニット１０ａ，１０ｂのそれぞれによってアドレス指定されるかを選択する。これは、繰り返しが検出されると、メモリ競合を生じさせることなく、個別の処理ユニット１０ａ，１０ｂからのアドレスのマッピングの切り替えを容易に可能にさせる。プログラム制御下で、メモリユニット１８ａ，１８ｂの異なるサイクルが選択されてもよく、たとえば、第１のメモリユニットのペアの間で一部のアドレスのアドレス指定を交互に行い、第２のメモリユニットのペアの間で他のアドレスのアドレス指定を交互に行い、または、３台のメモリユニットの中でアドレスのマッピングを循環させる。
【００３３】
この装置は、処理ユニット１０ａ，１０ｂがそれぞれのメモリユニット１８ａ，１８ｂにおけるロケーションを同じアドレスを用いてアドレス指定できるようにすることが理解されるであろう。ロケーションがアドレス指定されるメモリユニットの制御は、処理ユニットの外部にあり、周期的パターンの繰り返しの先頭の検出に応じて切り替えるよう選択するスイッチング制御ユニットによって行われる。いずれかの処理ユニット１０ａ，１０ｂからの同じアドレスは、スイッチング制御ユニット１６の状態に応じて、異なるメモリユニット１８ａ，１８ｂ内のロケーションをアドレス指定するが、メモリユニット１８ａ，１８ｂ内のロケーションが、異なる処理ユニット１０ａ，１０ｂからの同じアドレスによってアドレス指定されることは厳密には必要でない。（メモリユニット１８ａ，１８ｂ内でアドレスを区別するために必要ではないアドレスのより上位部分(significant part)の削除(suppression)だけであるとしても）ある種のアドレス変換機構が処理ユニット１０ａ，１０ｂとメモリユニット１８ａ，１８ｂとの間に組み込まれてもよく、異なるアドレスが、そのアドレスを供給する方の処理ユニットに応じて、同じロケーションをアドレス指定する。
【図面の簡単な説明】
【００３４】
【図１】データ処理装置を表す図である。
【図２】スイッチング制御ユニットの一実施形態を表す図である。
【図３】スイッチング制御ユニットのさらなる実施形態を表す図である。
【図３ａ】スイッチング制御ユニットの別の実施形態を表す図である。
【図４】スイッチングユニットを表す図である。
【図１】
2006505845.tif 000003
【図２】
2006505845.tif 000004
【図３】
2006505845.tif 000005
2006505845.tif 000006
【図４】
2006505845.tif 000007
【国際調査報告】
2006505845.tif 000008
2006505845.tif 000009