(57)【要約】  電子データ処理回路は、データ出力部を有する複数のデータ処理ユニット（１０ａ−ｄ，１６ａ−ｂ）を有しており、それらのデータ処理ユニットのうちの少なくとも一部はアドレス出力部を有している。データ処理ユニットは、好ましくは、選択可能なサイズのワードをバスに対して供給する。バスコントローラ（２０）は、連続するアクセスサイクルにおいて上記バスへのアクセスを制御するように構成されている。バスコントローラ（２０）により、対応する上記データ処理ユニット（１０ａ−ｄ，１６ａ−ｂ）からの複数のデータワードからのデータビットは、同一のバスサイクルにおいてデータライン上に組み合わせて配置される。バスコントローラにより、対応するデータ処理ユニット（１０ａ−ｄ，１６ａ−ｂ）が対応する複数のデータワードのために供給する書き込みアドレスは、複数のそれぞれのバスサイクルにおいてアドレスライン上に配置される。好ましくは、バス上の論理レベル変化の数を最小にするように、バスライン上にデータワードが時間的又は空間的に配置されるようになっている。
2007511828.tif 000002
【特許請求の範囲】
【請求項１】
データ出力部を有する複数のデータ処理ユニットであって、前記データ処理ユニットのうちの少なくとも一部がアドレス出力部を有している複数のデータ処理ユニットと、
アドレスライン及びデータラインを有し、前記データラインが最大でバスサイクルの最大ビット数までの同時転送をサポートするバスと、
前記データ処理ユニットに結合されるとともに、連続するアクセスサイクルにおいて前記バスへのアクセスを制御するように構成されているバスコントローラと、
を備え、
前記バスコントローラは、対応する前記データ処理ユニットからの前記最大ビット数よりも少ない複数のデータワードからのデータビットを同一のバスサイクルにおいて前記データライン上に組み合わせて配置するように構成されており、前記バスコントローラにより、対応する前記データ処理ユニットが対応する複数の前記データワードのために供給する書き込みアドレスが、複数の各バスサイクルにおいてアドレスライン上に配置されることを特徴とする電子データ処理回路。
【請求項２】
前記データ処理ユニットは、可変ワードサイズをサポートし、前記バスコントローラは、前記データライン上に配置される前記複数のデータワードにおけるワードの数を、前記データ処理ユニットにより供給される一つ又は複数のワードサイズに適合させることを特徴とする請求項１に記載の電子データ処理回路。
【請求項３】
前記バスコントローラは、複数のワードのビットを前記データライン上に配置する際に論理レベルを変化させるデータラインの数を考慮する評価に依存して、複数のワードのどのビットが前記同一のバスサイクルにおいてどのデータライン上に配置されるかについての配分を選択するように構成されており、前記バスコントローラは、少なくとも二つの可能な配分の中から、論理レベルを変化させるデータラインの数を最小にする配分を選択することを特徴とする請求項１に記載の電子データ処理回路。
【請求項４】
前記バスコントローラは、前記データライン上の複数のワードの配置の組み合わせから前記配分を選択することを特徴とする請求項３に記載の電子データ処理回路。
【請求項５】
前記バスコントローラにより、対応する前記データ処理ユニットが対応する前記複数のデータワードのために供給するアドレスは、連続するバスサイクルにおいて、対応するワードがデータライン上に配置される位置にアドレスの位置が依存する順序で前記アドレスライン上に配置されることを特徴とする請求項４に記載の電子データ処理回路。
【請求項６】
前記データ処理ユニットのうちの少なくとも一つがメモリユニットであり、前記バスコントローラは、同一のバスサイクルにおいてデータライン上に組み合わせて配置される前記複数のデータワード間に、利用可能時に前記メモリユニットにより生成される読み取り結果を含めるように構成されていることを特徴とする請求項１に記載の電子データ処理回路。
【請求項７】
前記コントローラは、対応する前記複数のデータワードのためにアドレスが前記アドレスライン上に配置される複数の各バスサイクルにおけるバスサイクルの数を調整するように構成されており、前記数は、前記複数のデータワード中に含められる読み取り結果の更なる数に依存して調整されることを特徴とする請求項６に記載の電子データ処理回路。
【請求項８】
前記バスに結合されたデータ受信回路を備え、前記データ受信回路は、前記アドレスラインを介して供給される単一開始アドレスを使用した前記バスを介したマルチバスサイクルデータ転送を処理するように構成されており、前記バスコントローラは、対応する前記データ処理ユニットが対応する前記複数のデータワードのために供給するアドレスを、マルチバスサイクルデータ転送に対応するバスサイクルにおいて前記アドレスライン上に配置するように構成されており、前記マルチバスサイクルデータ転送がアドレス転送を伴わないことを特徴とする請求項１に記載の電子データ処理回路。
【請求項９】
データ出力部を有する複数のデータ処理ユニットであって、前記データ処理ユニットのうちの少なくとも一部がデータのワードを書き込むためのアドレス出力部を有している複数のデータ処理ユニットと、
アドレスライン及びデータラインを有するバスと、
前記データ処理ユニットに結合されるとともに、連続するアクセスサイクルにおいて前記バスへのアクセスを制御するように構成されているバスコントローラと、
を備え、
前記バスコントローラは、ワードを前記データライン上に配置する際に論理レベルを変化させるデータラインの数を考慮する評価に依存して、前記データ処理ユニットからのワードが前記バスの前記データライン上に配置される時期及び／又は位置についての配分を選択するように構成されており、前記バスコントローラは、少なくとも二つの可能な配分の中から、論理レベルを変化させる前記データラインの数を最小にする配分を選択することを特徴とする電子データ処理回路。
【請求項１０】
前記バスコントローラは、前記データライン上に並列に配置される複数のワードの配分を選択するように構成されていることを特徴とする請求項９に記載の電子データ処理回路。
【請求項１１】
前記バスコントローラは、前記データライン又は前記データラインのサブセット上に直列に配置される複数のワードの順序を選択するように構成されていることを特徴とする請求項９に記載の電子データ処理回路。
【請求項１２】
ワードサイズが可変な複数のデータワードとそれらのデータワードのためのアドレスとを供給し、
前記複数のデータワードのうちの複数のデータワードが最大ワードサイズよりも小さいワードサイズを有している場合に、最大ワードサイズよりも小さい複数のデータワードからのデータビットを同一のバスサイクルにおいてバスのデータライン上に配置し、
複数の各バスサイクルにおいて、対応する複数のデータワードのためのアドレスを前記バスのアドレスライン上に配置する、
ことを含むことを特徴とするデータ処理方法。
【請求項１３】
出力のためのそれぞれのデータワードをバスのデータライン上に供給し、
ワードを前記データライン上に配置する際にその論理レベルが変化するデータラインの数を考慮して、前記データラインに亘る及び／又は前記データワードが前記バス上に配置される時間シーケンスに亘るデータワードの配分を選択し、前記配分は、少なくとも二つの可能な配分の中から論理レベルを変化させるデータラインの数を最小にするように選択され、
選択された配分に従って前記バスの前記データライン上にデータワードを配置する、
ことを含むデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスと、バスにアクセスできる複数のデータ処理ユニットとを備える電子データ処理回路に関する。
【背景技術】
【０００２】
アドレス／データバスは、複数のデータ処理ユニットがメモリ等の共有リソースに対してアクセスできるようにするための良く知られた解決策である。従来は、データ及び対応するアドレスをバスのデータライン及びアドレスライン上にそれぞれ配置するために、一つのデータ処理ユニットが一時にバスにアクセスする。
【０００３】
最近のデータバスは、非常に幅広く、多くのビット（例えば６４ビット又は１２８ビット）を有するワードを一つのバスサイクルにおいてバス上に配置することができる。データ処理回路は、これらの総てのビットを常に使用するとは限らない。これは、しばしば、書き込まれるべきワードのサイズが最大ワードサイズよりも小さいからである。例えば、しばしば、３２ビットの数、又は、１６ビットの数でさえ使用される。
【０００４】
米国特許第６，３６６，９８４号（特許文献１）は、この冗長性を使用してキャッシュメモリから隣接するアドレスの主メモリへと書き込まれるべき異なるワードをパックすることによりメモリ帯域幅を増大させることができる方法を開示している。パックワード（パックされたワード）は、同じバスサイクルにおいてデータバスのデータライン上に並列に配置される。米国特許第６，３６６，９８４号の回路は、データワードがバスの全幅よりも小さく広がっている場合、キャッシュメモリから更新されたデータワードを書き戻すまで待つ。回路は、アドレスを比較して、データワードのアドレスが隣接しているかどうかを決定する。そうである場合には、一つのバスサイクルにおいてデータワードがパックされて書き込まれる。同様に、欧州特許第４６５３２０号（特許文献２）は、書き込み要求を集めて、要求からのアドレスを比較することにより、異なる要求からのデータを一つのバスサイクルにパックできるかどうかを決定するライトパッカ（例えば、図１９の要素３０１を参照）を開示している。
【０００５】
無論、この形式のパッキングは、バスの最大ワードサイズ（データラインの数）によって制限される。このワードサイズよりも大きく広がる所定の範囲のアドレスへの書き込みは一般に複数のバスサイクルを伴うが、この場合には、メモリ等のデータ受信デバイスが異なるバスサイクルからのデータのための関連するアドレスを内部において計算することができる長さコード及び開始アドレスを使用することにより、複数のアドレスの供給を避けることができる。
【０００６】
これらの文献は、最大長よりも短い複数のデータワードを書き込むために必要なバスサイクルの数を低減させることができる方法を示している。これにより、より多くのバスサイクルを他のデータ転送のために使用することができ、その結果、起こり得るバスの競合の数が減少し、全体の速度が増大する。サイクルの数の減少が、書き込み動作で使用されるアドレスの隣接性に依存していることは明らかである。アドレスが関与しない場合には、バスサイクルの数の減少は不可能である。この場合、これらの公報は、ワードを更に大きなワードへとパックするための理由を何ら与えない。
【０００７】
実行速度を低下させる潜在的アクセス競合を招くことに加えて、アドレス／データバスはまた、かなりの電力消費量をもたらす。バスデータライン及びアドレスラインは、回路の異なるユニットに接続するために、かなりの距離に亘って延在しなければならない。集積回路において、バスラインは、通常、チップサイズの大部分に亘って延在している。従って、バスラインは、一般に、回路のユニット内の内部ラインよりも十分に長い。バスラインが非常に長いことにより、強固なドライバ回路は、例えばバスラインに関連付けられたキャパシタンスを充電することが必要とされる。
【特許文献１】米国特許第６，３６６，９８４号公報
【特許文献２】欧州特許第４６５３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特に、本発明の目的は、データバスを介した読み取りデータ及び／又は書き込みデータの送信に伴う電力消費量を低減することである。
【０００９】
特に、本発明の更なる目的は、新たなデータをバスのデータライン上に配置しなければならないバスサイクルの数を低減することにより電力消費量を減少させることである。
【００１０】
特に、本発明の目的は、電子回路内のバスを経由してデータを送るために利用できる有用な帯域幅を増大させることである。
【課題を解決するための手段】
【００１１】
本発明の第１の態様に係る電子回路が請求項１に示されている。この態様において、異なる書き込み要求又は読み取り要求からのデータワードは、これらのデータワードのサイズがバスにより供給される最大ワードサイズよりも小さい場合には、同一のサイクルにおいてバスのデータライン上に一緒に配置される。この態様において、書き込みデータに関連付けられる書き込みアドレスは、複数の異なるサイクルにおいてバス上に配置され、これにより、一つ又は複数のデータ受信回路は、異なるバスサイクルを使用して、バス上に並列に配置された異なるデータワードに関連する異なるアドレスを得ることができる。
【００１２】
通常、データを書き込む一つ又は複数のデータ処理ユニットは、異なるサイズのデータワードを書き込むことができる。同様に、メモリユニットは、異なるサイズの読み取りデータを戻してもよい。これらのユニットは、ワードのサイズを送信することができる。送信されたサイズに応じて、大きい又は小さいデータワードが一つのサイクルにおいて組み合わせられる。従って、データバス全体を満たすサイズ（例えば６４ビット）を有するワードを一つのユニットが生成する場合には、新たなデータがデータバス上に配置される前に一つのアドレスが出力される。二つのデータ処理ユニットが半分のサイズのワード（例えばそれぞれが３２ビット）を書き込む場合には、一つのバスサイクルにおいて二つのワードが一緒にデータライン上に配置され、これらのワードのためのアドレスを伴う二つのバスサイクルが使用される（これらのバスサイクルの一方は、データワードがバス上に配置されたバスサイクルと一致していてもよい）。同様に、四つのデータ処理ユニットが１／４サイズのワード（例えばそれぞれが１６ビット）を書き込む場合には、一つのバスサイクルにおいて四つのワードが一緒にデータライン上に配置され、これらのワードのためのアドレスを伴う四つのバスサイクルが使用される。
【００１３】
実施の一形態においては、対応するワードの位置と所定の関係を有する順序で、アドレスがアドレスライン上に配置される。従って、例えば、データライン上の第１の位置にある１／４ワードのための書き込みアドレスが一つのバスサイクルにおいて出力され、その後、次のバスサイクルにおいて、データライン上の第２の位置にある１／４ワードのための書き込みアドレスが出力される。他の実施の形態においては、アドレスがどの位置に対応するのかを示す信号を送るために信号ラインが設けられてもよい。
【００１４】
本発明の他の態様において、バスコントローラは、ワードが出力されるデータライン及び／又はバスサイクル上におけるワードの位置を選択し、それにより、そのワードをデータライン上の前のデータと置き換えるために必要な論理レベル変化の数が最小限に抑制される。従って、電力消費量が最小限に抑制される。四つの１／４サイズのワードが一つのバスサイクルでデータライン上に配置される場合には、例えば２４個のワード位置順序が可能である。バスコントローラは、論理レベルを変えなければならないビットの数に従って位置順序を選択することが好ましい。バスコントローラは、変化の絶対最小値（即ち、四つの１／４ワードを用いた全２４個の可能性の中において）を必要とする位置順序を選択することが好ましいが、本発明から逸脱することなく、バスコントローラは、更に少ない可能性から選択してもよく、又は、単に、選択された位置順序が他の可能な順序よりも小さいレベル変化を伴うようにする一つの基準に従って選択してもよい。このようにすれば、絶対最小値は実現されないかもしれないが、電力消費量は減少する。同様に、バスコントローラは、必要な移行数を最小限に抑制するため、連続するバスサイクルにおいてワードがデータライン上に配置される時間的な順序を選択してもよい。
【００１５】
他の実施の形態において、組み合わせられた複合ワードのアドレスを供給するために使用される異なるバスサイクルの一部は、アドレスを必要としないデータ、例えば読み取りデータ又は最初に開始アドレスが供給されたデータブロックからのデータを供給するために使用され、それにより、データ受信回路は、連続するアドレスを内部で計算することができる。これにより、所定のアプリケーションプログラムの実行中にデータ及びアドレスの両方を供給するために必要とされるバスサイクルの数が減少し、その結果、プログラムに関連する電力消費量が減少する。
【００１６】
他の実施の形態において、読み取りデータワードは、書き込みデータワードと共にバス上でパックされてもよい。読み取りデータワードは、前の読み取りアドレスに応じて生成される。従って、この実施の形態では、一緒にパックされる総てのデータワードにおいて連続するアドレスを供給する必要がない。これは、アドレスを供給するためのバスサイクルの数を低減させて、例えば新たなデータをバス上により早く配置できるようにするために又は後の読み取り操作のためのアドレス等の他のアドレスを供給するために使用されてもよい。
【００１７】
以下、本発明のこれらの目的及び他の目的並びに特徴を図面を使用して非限定的な態様において説明する。
【発明を実施するための最良の形態】
【００１８】
図１は、複数のプロセッサ１０ａ−ｄと、バスインタフェース１２と、バス１４と、複数のメモリ１６ａ，ｂとを有する電子回路を示している。各プロセッサ１０ａ−ｄは、アドレス出力Ａと、データ出力Ｄと、制御入力／出力とを有している。バスインタフェース１２は、アドレス出力及びデータ出力をバス１４に結合し、バス１４には、アドレス及びデータ情報を受け取るためにメモリ１６ａ，ｂが結合されている。バス１４は、複数のアドレスラインと、複数のｎ個のデータライン（例えば、ｎ＝６４又はｎ＝１２８個のデータライン）と、制御ラインとを備えている。
【００１９】
例示のため、プロセッサ１０ａ−ｄは、データ出力のみを有するように示されているが、これらのプロセッサがバスインタフェース１２に結合されるデータ入力を有し又はデータ入力／出力を有していてもよいことが理解されるべきである。プロセッサ１０ａ−ｄが図示されているが、任意の他の種類のデータ処理回路が使用されてもよいことが理解されるべきである。同様に、例示のため、二つのメモリがバス１４に接続されるように示されているが、必ずしも総てがメモリではなく、多くの他の回路がバス１４に接続されていてもよく、又は、一つの回路だけがバス１４に接続されていてもよいことが理解されるべきである。
【００２０】
動作時、プロセッサ１０ａ−ｄは、データを生成するとともに、このデータをメモリ１６，ｂのロケーションに書き込む。このため、プロセッサ１０ａ−ｄは、書き込み要求を生成し、その一環としてアドレス及びデータをバスインタフェース１２に対して出力する。バスインタフェース１２は、バスサイクルで動作する。各バスサイクルにおいて、バスインタフェースは、データビットをバス１４のｎ個のデータラインに対して並列に送る。同様に、バスインタフェースは、各バスサイクルにおいて一つのアドレスを送る。メモリ１６ａ，ｂは、バス１４からアドレスを受け取るとともに、これらのアドレスを使用してデータが書き込まれるロケーションを選択する。必要に応じて、インタフェース１２は、競合する書き込み要求同士の間で調整を行い、異なるプロセッサ１０ａ−ｄからのデータ及びアドレスを順序付ける。
【００２１】
書き込まれるべきデータのタイプに応じて、より多い又はより少ないビットをプロセッサ１０ａ−ｄからバス１４へ送らなければならない。制御出力時、プロセッサ１０ａ−ｄは、一つのコードを出力して、例えば８ビット、１６ビット、３２ビット又は６４ビットといったワードの関連するデータビットの数を示す。バスインタフェース１２は、これらのコードを検査して、可能であれば複数の異なるプロセッサ１０ａ−ｄからの複数のデータワードをパックする。即ち、バスインタフェースは、同じバスサイクルにおいて、異なるプロセッサ１０ａ−ｄからのデータワードをバス１４のｎ個のデータラインにより並列に出力する。例えば、二つのｎ／２長のデータワードが並列に接続されてもよく、又は、四つのｎ／４長データワードが並列に出力されてもよい。連続するバスサイクルにおいて、異なるワードの対応するアドレスが出力される。これが表Ｉに示されている。
表Ｉ  バス占有例
バスサイクル番号  アドレス  データ
１            Ａ１    Ｄａ１  Ｄａ２  Ｄｄ１  Ｄｄ２
２            Ａ４
３            Ａ１’  Ｄａ１’Ｄｂ１’Ｄｃ１’Ｄｄ１’
４            Ａ２’
５            Ａ３’
６            Ａ４’
７            Ａ２”  Ｄｂ１”Ｄｂ２”Ｄｂ３”Ｄｂ４”
８
【００２２】
表Ｉは、多くの連続する（１−８の番号が付せられた）バスサイクルと、これらのサイクルにおいてバス１４により出力されるアドレスと、これらのサイクルにおいてバス１４のデータラインにより出力されるデータとを示している。一つのバスサイクルにおいて使用することができる第１のプロセッサ１０ａから出力されるデータは、Ｄａ１，Ｄａ２，Ｄａ３，Ｄａ４（各部分は、例えば、１６ビット長）のラベルが付された四つの部分からなっているものとする。同様に、一つのバスサイクルにおいて使用することができる第２、第３、第４のプロセッサ１０ｂ−ｄからの出力データもそれぞれ、Ｄｂ１，Ｄｂ２，Ｄｂ３，Ｄｂ４及びＤｃ１，Ｄｃ２，Ｄｃ３，Ｄｃ４及びＤｄ１，Ｄｄ２，Ｄｄ３，Ｄｄ４のラベルがそれぞれ付された四つの部分からなっているものとする。
【００２３】
最初に、第１及び第４のプロセッサ１０ａ，ｄはこれらが半サイズのデータワード（ｎ／２ビット）を出力することを示し、次に、四つのプロセッサ１０ａ−ｄはこれらが１／４サイズのデータワード（ｎ／４ビット）を出力することを示し、次に、第２のプロセッサ１０ｄはそれがフルサイズのデータワード（ｎビット）を出力することを示すものと仮定する。
【００２４】
番号１が付されたバスサイクルにおいて、バスインタフェース１２は、第１及び第４のプロセッサ１０ａ，ｄからの二つの半サイズのデータワードからのデータビットをバス１４のｎ個のデータライン上に並列に配置する。これは、バスサイクル番号１におけるエントリにおいて部分Ｄａ１，Ｄａ２，Ｄｄ１，Ｄｄ２により表される。バスインタフェースは、連続するバスサイクル１，２において、第１及び第４のプロセッサ１０ａ，ｄからのこれらのデータワードにおけるアドレスＡ１，Ａ４を出力する（一つのアドレスがデータと同一のバスサイクルにおいて出力されるように示されているが、パイプライン処理に起因して、アドレス及びデータタイミング間において他の関係が与えられてもよい）。
【００２５】
番号３が付されたバスサイクルにおいて、バスインタフェース１２は、プロセッサ１０ａ−ｄからの四つの１／４サイズのデータワードからのデータビットをバス１４のｎ個のデータライン上に並列に配置する。これは、バスサイクル番号３におけるエントリにおいて部分Ｄａ１’，Ｄｂ１’，Ｄｃ１’，Ｄｄ１’により表される。バスインタフェースは、連続するバスサイクル３−６において、プロセッサ１０ａ−ｄからのこれらのデータワードにおけるアドレスＡ１’，Ａ２’，Ａ３’，Ａ４’を出力する。
【００２６】
番号７が付されたバスサイクルにおいて、バスインタフェース１２は、第２のプロセッサ１０ｂからのデータワードからのデータビットをバス１４のｎ個のデータライン上に並列に配置する。これは、バスサイクル番号７におけるエントリにおいて部分Ｄｂ１”，Ｄｂ２”，Ｄｂ３”，Ｄｂ４”により表される。バスインタフェースは、バスサイクル７において、第２のプロセッサ１０ｂからのこのデータワードにおけるアドレスＡ２”を出力する。
【００２７】
新たなデータがバス上に配置された各バスサイクルにおいてデータラインの総ての占有が示されているが、プロセッサ１０ａ−ｄが不十分なデータを出力する場合には、ｎ個のデータラインの総てを使用する必要はない。例えば、三つのｎ／４ビットデータワードがバス１４のデータライン上に配置されてもよく、又は、ただ一つ若しくは二つのｎ／４ビットデータワードがバス１４のデータライン上に配置されてもよい。同様に、総てのデータワードが同じサイズを有するように示されているが、実際には、互いにサイズが異なるデータワードが同じバスサイクルにおいてバス１４のデータライン上に並列に配置されてもよい。即ち、例えば一つの半サイズ（ｎ／２ビット）のデータワード及び二つの１／４サイズ（ｎ／４ビット）のデータワード、又は、一つの半サイズ（ｎ／２ビット）のデータワード及び一つの１／４サイズ（ｎ／４ビット）のデータワードが同じバスサイクルにおいてバス１４のデータライン上に並列に配置されてもよい。
【００２８】
実施の一形態において、装置は、一つのバスサイクルにおいて読み取りデータを供給する。このバスサイクルでは、書き込みアドレスが供給されるが、書き込みデータは供給されない。前述したように、異なるアドレスにおけるフルサイズ未満の書き込みデータワードが、一つのバスサイクルにおいて同時にバス１４のデータライン上に配置され、また、これらの複合データワードにおけるアドレスが複数のバスサイクルにおいて順次にアドレスライン上に配置される。従って、バスのデータラインは、アドレスのうちの一つが供給されるバスサイクルと特定の関係を有するバスサイクルでは占有されるが、複数のアドレスが供給される他の一つ又は複数のバスサイクルと同じ特定の関係を有する少なくとも一つのバスサイクルでは解放されている。この実施の形態において、（先の読み取りアドレスに応じて供給された）読み取りデータは、この他のバスサイクル又はこれらの他のバスサイクルにおいてデータラインにより供給される。これが表Ｉａに示されている。
表Ｉａ  読み取りデータにおけるバスサイクルの再使用
バスサイクル番号  アドレス  データ
１            Ａ１    Ｄａ１  Ｄａ２  Ｄｄ１  Ｄｄ２
２            Ａ４
３            Ａ１’  Ｄａ１’Ｄｂ１’Ｄｃ１’Ｄｄ１’
４            Ａ２’  Ｒ１
５            Ａ３’
６            Ａ４’  Ｒ２
７            Ａ２”  Ｄｂ１”Ｄｂ２”Ｄｂ３”Ｄｂ４”
８
【００２９】
この例において、番号４及び６が付されたバスサイクルは、バスのデータラインによって読み取りデータワードＲ１，Ｒ２を供給するために使用される。
【００３０】
図２は、異なるプロセッサ１０ａ−ｄからのデータワードをバス１４のデータライン上に並列に配置するために使用され得るバスインタフェース１２のデータ部分の一例を示している。インタフェースは、制御回路２０と、第１、第２、第３のマルチプレクサ２２，２３，２４とを有している。マルチプレクサ２２，２３，２４は、制御回路２０によって制御され、制御回路２０は、プロセッサ１０ａ−ｄから制御信号を受け取るとともに、この制御信号をバス１４により出力する。第１のマルチプレクサは、プロセッサ１０ａ−ｄからのデータラインの四つのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのそれぞれに結合された入力部を有している。データラインの各グループは、四つのサブグループを有している（それぞれのサブグループが一つのラインにより示されているが、各サブグループが複数のライン（例えば８本又は１６本のライン）を並列に有していてもよいことが理解されるべきである）。三つのグループＤａ，Ｄｂ，Ｄｃのそれぞれの最初の二つのサブグループからのラインは、第２のマルチプレクサ２３に結合される。第３のマルチプレクサ２４は、第１のマルチプレクサ２２により出力されるデータラインのグループに結合される第１の入力部２５ａと、データラインの第２のグループに結合される第２の入力部２５ｂとを有しており、データラインの第２のグループは、第２のマルチプレクサ２３により出力される二つのサブグループと、第１の入力部２５ａからの二つのサブグループとを含んでいる。また、第３のマルチプレクサ２４は、データラインの第３のグループに結合された第３の入力部を有しており、データラインの第３のグループは、入力データラインの四つのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのそれぞれの第１のサブグループに結合されている。第３のマルチプレクサ２４は、データバス１４のデータラインに結合される出力ライン２６のグループを有している。
【００３１】
動作時、第１のマルチプレクサ２２は、選択された一つのプロセッサ１０ａ−ｄからのデータビットラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄを、ビットライン２５ａにおいてその出力に結合する。第２のマルチプレクサ２３は、三つのプロセッサ１０ａ−ｃのうちの選択された一つからのデータビットラインの二つのサブグループを、第３のアルチプレクサ２４の第２の入力部２５ｂの二つのサブグループに対して結合する。第３のマルチプレクサ２４は、その入力部２５ａ−ｃの選択された一つからのデータビットラインをその出力部２６に結合する。制御回路２０は、プロセッサ１０ａ−ｄからの制御信号に応じて、マルチプレクサ２２，２３，２４による選択を制御する。
【００３２】
プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのうちの一つによりフルサイズ（ｎビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、データラインのそのグループからの信号を出力ライン２５ａへと送るように第１のマルチプレクサに信号を送る。この場合、制御回路２０は、第１のマルチプレクサ２２の出力部２５ａからの信号を出力ライン２６へと送るように第３のマルチプレクサ２４に信号を送る。
【００３３】
プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのそれぞれにより四つの１／４サイズ（ｎ／４ビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、総てのプロセッサからのデータラインの各グループＤａ，Ｄｂ，Ｄｃ，Ｄｄの一つの１／４ワードを含むサブグループに結合される第３の入力部２５ｃからの信号を送るように第３のマルチプレクサ２４に信号を送る。
【００３４】
プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのうちの二つにより二つの半サイズ（ｎ／２ビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、これらのグループのうちの一つ（それが二つのグループのうちの一方である場合には、第４のグループ１０ｄ）からの信号を送るように第１のマルチプレクサに信号を送る。また、制御回路２０は、他の半分のワードを含むデータラインのサブグループからの信号を送るように第２のマルチプレクサ２３に信号を送る。この場合、制御回路２０は、第１及び第２のマルチプレクサ２２，２３の出力からの半サイズのワードを組み合わせるその第２の入力２５ｂからの信号を送るように第３のマルチプレクサ２４に信号を送る。
【００３５】
図３は、プロセッサ１０ａ−ｄからのアドレスを送るバスインタフェース１２の一部を示している。インタフェースは、プロセッサ１０ａ−ｄによって出力されるアドレスを記憶するための領域３０ａ−ｄと、領域３０ａ−ｄからのアドレスのうちの選択された一つをデータバス１４のアドレスラインへ送るためのアドレスマルチプレクサ３２とを有している。プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのうちの一つによりフルサイズ（ｎビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、そのプロセッサ１０ａ−ｄからのアドレスＡ１，Ａ２，Ａ３，Ａ４を送るようにアドレスマルチプレクサに信号を送る。プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのうちの二つにより二つの半サイズ（ｎ／２ビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、これらのプロセッサ１０ａ−ｄからのアドレスＡ１，Ａ２，Ａ３，Ａ４からの二つのアドレスを連続するバスサイクルにおいて連続的に送るようにアドレスマルチプレクサに信号を送る。プロセッサ１０ａ−ｄのデータラインのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄのうちの四つにより四つの１／４サイズ（ｎ／４ビット）のデータワードが供給されることをプロセッサ１０ａ−ｄからの制御信号が示している場合、制御回路２０は、これらのプロセッサ１０ａ−ｄからの四つのアドレスＡ１，Ａ２，Ａ３，Ａ４を連続するバスサイクルにおいて連続的に送るようにアドレスマルチプレクサに信号を送る。
【００３６】
制御回路２０は、一つのコードをバス１４に対して出力することにより、パッキングの形態が使用されるメモリ１６ａ，ｂに信号を送る。
【００３７】
バスからのデータに応じて、メモリは、このコードに従ってバス１４からのデータをアンパックする。好ましくは、アドレスが送られる順序は、対応するデータワードがデータライン上に配置される位置に対応しており、そのため、メモリは、アドレスが適用できるデータがどれであるかが自動的に分かる。更なる実施の形態において、制御回路は、各バスサイクルにおいてそのバスサイクルでのアドレスを適用できるのがデータラインのどの部分であるかを示すために、バス１４に対して信号を出力する。
【００３８】
これまでに説明してきた実施の形態では、どのプロセッサ１０ａ−ｄからデータワードがデータバス１４のデータラインのうちのどれに対して送られたかに関して特定の選択がなされなかった。本発明の一つの態様において、制御回路２０は、どのプロセッサからデータワードがデータラインのうちのどれに対して送られるかを決定するための選択を行う。制御回路は、この選択を案内することにより、論理レベル変化を受けなければならないバス１４のデータラインの数を最小にする。これによりエネルギが節約される。なぜなら、バス１４のデータラインは一般的に非常に長く、そのため、論理レベル変化を実現するにはかなりの量のエネルギを必要とするからである。表IIは、二つの半サイズ（ｎ／２ビットワード）の可能な配置を示している。
表II
第１のビットライン  第２のビットライン
Ｗ１                Ｗ２
Ｗ２                Ｗ１
【００３９】
前のバスサイクルにおいて、第１のビットラインがビットＶ１を伝え、第２のビットラインがビットＶ２を伝えた場合、第１の配置における論理レベル変化の数は、
ｈ（Ｗ１，Ｖ１）＋ｈ（Ｗ２，Ｖ２）
であり（関数「ｈ」はハミング距離を示している）、第２の配置における論理レベル変化の数は、
ｈ（Ｗ２，Ｖ１）＋ｈ（Ｗ１，Ｖ２）
である。
【００４０】
制御回路２０は、どの配置が最小論理レベル変化をもたらすのかを決定してデータ接続を制御し、それにより、最小の変化数を伴う配置に従ってワードＷ１，Ｗ２が配置される。それに応じて、ワードＷ１，Ｗ２のアドレスが供給される。
【００４１】
認識されるように、データワードの位置の選択は、ワードの「より良好な」配置の決定を伴っており、この決定は、バス１４のデータラインにおけるより少ない論理レベル変化を伴っている。そのような決定は、様々な方法により行うことができる。
【００４２】
理想的には、可能な最良の配置が選択されるが、多くの異なるバスサイクルに亘って平均化されて論理レベル変化の数が減少されるように選択が行われる場合には、利得が既に実現される。最良の可能な配置は、例えばバスインタフェースの内部において連続的に総ての可能な配置を形成して、各配置と現在のバス上のデータとの間のハミング距離を決定するとともに、最小距離を有する配置に戻った後においてのみその配置をバスに対して出力することにより選択することができる。二つの半サイズのワードの場合には、二つ（２！）の配置が可能であり、四つの１／４サイズのワードの場合には、２４個（４！）の配置が可能である。
【００４３】
尚、最小論理レベル変化を伴う配置を見つけるために、総ての可能な配置を試す必要はない。例えば、二つの特定のデータワードの交換のみが異なる第１及び第２の配置がバス１４のデータライン上のデータと比較され且つ第１の配置が第２の配置よりも良好であることが分かった場合には、特定のデータワードを第２の配置と同じ場所に有する更なる配置を更に考慮する必要がなくなる。
【００４４】
（図２のインタフェースの場合のように）バスインタフェースが総ての可能な配置を生み出すことができない場合には、インタフェースが生み出すことができる総ての配置が試みられてもよい。見つけられる配置が最良の配置ではないと考えられる場合でも、見つけられる配置は、概して、インタフェースにより許可される配置の任意の固定された選択よりも少ない論理レベル変化を伴っている。
【００４５】
図４は、制御回路２０が論理レベル変化の数を低減すべく配置を選択するようになっているデータインタフェースの一部を示している。この実施の形態において、入力部４０ａ−ｄはプロセッサ（図示せず）からの情報を供給する。制御回路２０は、その情報を受け取るとともに、それを使用することにより、各プロセッサからの情報が出力されるべき出力バス１４の位置を計算する。その後、制御回路２０は、計算された位置に従ってデータを出力するようにマルチプレクサ４２，４４，４６，４８を制御する。その後、制御回路２０は、異なるプロセッサからのデータのアドレスを連続的に出力する。従って、最適な配置の検索においてマルチプレクサ４２，４４，４６，４８を使用する必要がない。マルチプレクサ４２，４４，４６，４８からのデータは、バスへ送られる前にレジスタに記憶されてもよく、これにより、制御回路２０は、前のデータがバスへ出力される間に次の配置を選択することができる。
【００４６】
制御回路２０は、例えば、多くの可能な配置に関与するレベル変化の数を連続的に計算して、最適なレベル変化数を選択することにより、最適な配置を計算してもよい。総ての可能な配置の一連の比較に代わる手段として、回路は、並列形式の比較を使用してもよい。この比較もまた、最良の可能な配置を見出すことを確実にするか、又は、見つけられる配置がどちらかと言えば他の配置よりも良好であるという意味においては不完全ともなり得る。
【００４７】
別個の態様として、図４の実施の形態では、各入力部４０ａ−ｄは、各プロセッサ（図示せず）が総ての入力部に対して情報を供給し、異なる重要度レベルのビット群が異なる入力部に対して供給されるように編成される。即ち、入力部４０ａ−ｄは、各プロセッサ（図示せず）が情報を入力部４０ａ−ｄのうちの対応する一つに対して供給するようには構成されない。第１の入力部４０ａでは、各プロセッサは、情報の最小サブワード（例えば８ビット幅又は１６ビット幅、この場合、それぞれの一つのラインは８ビット又は１６ビットにおけるラインを示している）を供給し、この情報からサブワードがバス上に配置されてもよい。第２の入力部４０ｂにおいて、各プロセッサは、次に大きなサブワードに含まれる更なるビット（例えば、第１の入力部４０ａからの情報と共に１６ビットサブワードを形成する次の８ビット、又は、第１の入力部４０ａからの情報と共に３２ビットサブワードを形成する次の１６ビット）を供給してもよい。第３及び第４の入力部４０ｃ，ｄにおいて、プロセッサはワードの更なる部分を供給してもよい。
【００４８】
制御回路２０は、必要とされるワードサイズに応じてマルチプレクサ４２，４４，４６，４８を制御する。フルワードサイズが必要とされる場合には、制御回路により、各マルチプレクサ４２，４４，４６，４８は、同じプロセッサからのデータを対応する入力部４０ａ−ｄから送る。ワードサイズが半分の二つのワードが必要とされる場合には、制御回路２０により、第１及び第２のマルチプレクサ４２，４４が第１の選択されたプロセッサからのデータを第１及び第２の入力４０ａ，ｂから送り、また、制御回路２０により、第３及び第４のマルチプレクサ４６，４８が第２の選択されたプロセッサからのデータを第１及び第２の入力４０ａ，ｂから送る。１／４サイズの四つのワードが必要とされる場合には、制御回路２０により、各マルチプレクサ４２，４４，４６，４８は、対応する選択されたプロセッサからのデータを対応する一つの入力部４０ａ−ｄから送る。
【００４９】
図示の実施の形態は単なる一例であり、本発明の範囲を限定しないことが認識される。多くの他の実施の形態が可能である。例えば、一つ又は複数のプロセッサが他のタイプのデータ処理ユニット、例えばＩ／Ｏインタフェース、専用の処理ハードウェア（例えば、信号符号化ハードウェア若しくは信号復号化ハードウェア等）又はメモリに取って代えられてもよい。メモリ１６ａ，ｂは、データ受信ユニットとしてのバスのみに結合されるように示されているが、メモリ１６ａ，ｂは、データをバスに対して書き込むために接続されていてもよい。この場合、メモリは、プロセッサ１０ａ−ｄに関して示されているように結合されてもよい。
【００５０】
同様に、本発明は、四つのデータ処理ユニットの使用に限定されず、また、データ処理ユニットの数は、必ずしもデータバス上に並列に配置することができるサブワードの最大数には一致しない。更に多くのデータ処理ユニットが存在していてもよい。この場合、制御回路２０は、バスへのアクセスを調整し、それにより、最大数のプロセッサからのサブワードがバス上に並列に配置される場合であっても、データが一つ又は複数のプロセッサからバス上に全く配置されないようにしてもよい。
【００５１】
更なる実施の形態において、制御回路は、データ処理ユニットがデータを供給するときに用いるワードサイズに応じてこれらのデータ処理ユニットのうちのどれがバスにアクセスするのかを調整するようになっていてもよい。例えば、四つのデータ処理ユニットが１／４ワードを供給し且つ二つのデータ処理ユニットが１／２ワードを供給する場合、制御回路は、１／４ワードと一緒に四つのデータ処理ユニットへのアクセスを許可し、又は、１／２ワードと一緒に二つのデータ処理ユニットへのアクセスを許可することにより、パッキングを促進することが好ましい。即ち、調整中に、制御回路２０は、ワードをデータバスに対して供給しようとするデータ処理ユニットのワードサイズから一つのワードサイズを選択するとともに、選択されたサイズのワードを供給するデータ処理ユニットへのアクセスを許可することが好ましい。
【００５２】
他の実施の形態において、回路は、バスのデータライン上の異なるサイズのワード、例えば、１６ビットの二つのワードと３２ビットの一つのワードとを組み合わせるようになっている。これには、更に複雑な多重化構造が必要であることが認識される。しかしながら、この場合、異なるデータ処理ユニット間での調整の一環として一つのワードサイズを選択する必要はない。
【００５３】
バスに結合された各データ処理ユニット（例えばプロセッサ１０ａ−ｄ又はメモリ）が異なるサイズのデータワードを出力できる機能を有していることが好ましいが、本発明から逸脱することなく、データ処理ユニットの一部若しくは全部が、それ自体の特定の予め決められたサイズのデータワード、又は、バス１４によって処理できるサイズの所定のサブセットのデータワードのみを出力することができてもよいことが理解される。
【００５４】
データ処理ユニットがそれ自体の特定の予め決められたサイズのデータワードのみを出力できる場合、制御回路２０は、データを一緒に出力するデータ処理ユニットのサブセットに従って（又は、特に、これらのデータ処理ユニットの特定のワードサイズに従って）パッキングを選択する。例えば、１６ビットワードを出力する四つのデータ処理ユニットが共にアクティブ（稼動中）である場合、制御回路２０は四つの１６ビットワードのパッキングを選択してもよく、また、二つの他のデータ処理ユニットが３２ビットワードを出力する場合、制御回路２０は二つの３２ビットワードのパッキングを選択してもよい。同様に、総てのメモリ１６ａ，ｂが総てのワードサイズを処理できる必要はない。いくつかの実施の形態では、異なるサイズのワードが異なるメモリのみに対して書き込まれてもよく、又は、一部のメモリが複数サイズのワードを受け入れるのに対し、他のメモリが一つのサイズのみのワードを受け入れ、一つのサイズのみのワードだけがこれらのメモリに適合させられてもよい。
【００５５】
図５ａは、一つのワードサイズのみを処理することができるメモリ１６ａ，ｂの実施の一形態の一例を示している。メモリは、マルチプレクサ５０と、メモリ回路５２と、ワード選択回路５４とを有している。バスからのデータラインは、マルチプレクサ５０の入力部に結合されている（四つのラインが示されており、各ラインは例えば８データライン又は１６データラインを表している）。マルチプレクサ５０の出力部は、メモリ回路５２のデータ入力部に結合されている。バスからのアドレスラインは、メモリ回路５２のアドレス入力部に対して直接に（多重化を伴うことなく）結合されている。ワード選択回路５４は、マルチプレクサ５０を制御する。
【００５６】
動作時、ワード選択回路５４は、データラインにより並列に供給されるデータのために四つの連続するアドレスが供給されることを示す信号を受け取る。この場合、ワード選択回路５４により、マルチプレクサ５０が異なるサブワードをデータラインからデータ入力部へと連続的に送り、それにより、これらのサブワードは、連続的に供給されるアドレスの影響下でメモリ回路５２に書き込まれる。例えば、所定の一連のサブワード選択が使用されてもよく、これにより、バスクロックの影響下で選択回路５４が周期動作する。しかし、異なる実施の形態においては、ワードをパックする回路から選択信号が供給されてもよい。
【００５７】
図５ｂは、複数のワードサイズを処理できるメモリ１６ａ，ｂの実施の一形態の一例を示している。この実施の形態では、データ入力部の四つ（例えば、８ビット又は１６ビット）のグループＤａ，Ｄｂ，Ｄｃ，Ｄｄを有するメモリ回路５６が使用される。この場合、第１のグループＤａは１／４ワードデータを受け取る機能を果たし、第１及び第２のグループＤａ，Ｄｂは協働して１／２ワードデータを受け取る機能を果たし、総てのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄは全ワードデータを受け取る機能を果たす。メモリ回路５６の幅選択入力部Ｗは、１／４ワード、１／２ワード、全ワードのどれが書き込まれるのかを選択するために使用される。
【００５８】
バスのデータラインと第１及び第２のグループＤａ，Ｄｂのそれぞれとの間には、二つのマルチプレクサ５１ａ，ｂが設けられている。ワード選択回路５４は、マルチプレクサ５１ａ，ｂを制御する。バスからのデータラインの二つのグループ（これらのグループを象徴するように単一のラインが示されている）は、第３及び第４の入力部Ｄｃ，Ｄｄのそれぞれに対して結合されている。
【００５９】
動作時、ワード選択回路５４は、１／４ワード、１／２ワード又は全ワードのどれがバスにより供給されるのかを示す表示を受け取るとともに、それに応じてこの表示をメモリ回路５６へ送信する。１／４ワードの場合、メモリ回路５６は、その入力部の第１のグループＤａのみから読み取りを行うとともに、ワード選択回路５４は、入力部のこのグループに結合されたマルチプレクサ５１ａを制御して、バスのデータラインの異なるグループからのデータを連続的に送るようにする。１／２ワードの場合、メモリ回路５６は、その入力部の第１及び第２のグループＤａ，Ｄｂのみから読み取りを行うとともに、ワード選択回路５４は、入力部のこれらのグループに結合されたマルチプレクサ５１ａ，５１ｂを制御して、バスのデータラインの異なるグループ対からのデータを連続的に送るようにする（例えば、最初に二つの所定のグループからのデータを送り、その後に残りのグループからのデータを送る）。全ワードの場合、メモリ回路５６は、その入力部の総てのグループＤａ，Ｄｂ，Ｄｃ，Ｄｄの読み取りを行うとともに、ワード選択回路５４は、マルチプレクサ５１ａ，５１ｂを制御して、バスのデータラインの異なるグループ対からのデータを入力部の対応するグループに対して送るようにする。
【００６０】
メモリの代わりに他のデータ受信回路をバスに結合してパックデータを受け取ってもよいことが理解される。また、データ受信回路は、バスとマルチプレクサ５０又は５１ａ，ｂとの間に結合されたレジスタ（図示せず）を有していてもよいことが理解される。この場合、バスインタフェース１２は、パックされたデータがレジスタに記憶されるまでの間だけ、バスのデータラインを駆動するようになっており、その間に、複数のアドレスを使用して、そのサイクルにおいて供給されるデータのためのアドレスを供給してもよい。このようにすると、バスを駆動させるための電力消費量が減少する。
【００６１】
インタフェース１２は、対応するデータ処理ユニットに関連付けられた対応するマルチプレクサ／バスドライバによって実現されてもよいことが理解される。
【００６２】
図６は、実施の一形態を示しており、この実施の形態において、データ処理ユニット１０ａ，ｄ（二つしか示されていないが、任意の数の同様に接続されたユニットが存在していてもよい）は、マルチプレクサ／バスドライバ６０ａ，ｂを介してバス１４のデータラインに結合されたデータ出力部と、アドレスドライバ６２ａ，ｂを介してバス１４のアドレスラインに結合されたアドレス出力部とを有している（導体のグループ、例えば８個又は１６個のデータ導体からなる複数のグループ及び３２個のアドレス導体からなる一つのグループを象徴するように単一のバスラインが示されている）。データ処理ユニット１０ａ，ｄは、制御回路２０に結合された制御接続部を有している。制御回路２０は、様々なデータ処理ユニット１０ａ，ｄのマルチプレクサ／バスドライバ６０ａ，ｂ及びアドレスドライバ６２ａ，ｂに結合された制御接続部を有している。
【００６３】
図６ａは、マルチプレクサ／バスドライバの実施の一形態の一例を示している。この図において、データ処理ユニット（図示せず）からのデータラインのグループ６００ａ−ｄは、単一のラインとして示されている。同様に、バス（図示せず）に結合されたデータラインのグループ６０２ａ−ｄも、単一のラインとして示されている。マルチプレクサ／バスドライバは、一つのデータ処理ユニットからのデータラインの第１のグループ６００ａをバスからのデータラインの第１、第２、第３、第４のグループ６０２ａ−ｄのそれぞれに対して結合するトライステートドライバ６０４（出力状態が論理ハイ、論理ロー、ハイインピーダンスである）の四つのグループを有している。マルチプレクサ／バスドライバは、一つのデータ処理ユニットからのデータラインの第２のグループ６００ｂをバスからのデータラインの第２、第４のグループ６０２ｂ，ｄのそれぞれに対して結合するトライステートドライバ６０４の二つのグループを有している。マルチプレクサ／バスドライバは、一つのデータ処理ユニットからのデータラインの第３及び第４のグループ６００ｃ，ｄをバスからのデータラインの第３、第４のグループ６０２ｃ，ｄのそれぞれに対して結合するトライステートドライバ６０４の二つのグループを有している。制御回路は、もしあるとすれば、トライステートドライバ６０４のうちのどれがアクティブになるのかを制御し、それにより、データ処理ユニットからのデータラインの第１のグループ６００ａからの１／４データワードをバスからのデータラインのグループ６０２ａ−ｄのうちの任意の選択された一つに対して送ることができるようにするとともに、データ処理ユニットからのデータラインの第１及び第２のグループ６００ａ，ｂからの１／２データワードを、バスからのデータラインの第１及び第２のグループ６０２ａ，ｂに対して又はバスからのデータラインの第３及び第４のグループ６０２ａ，ｂに対して送ることができるようにし、また、データ処理ユニットからのデータラインの総てのグループ６００ａ−ｄからのフルサイズデータワードを、バスからのデータラインの対応するグループ６０２ａ−ｄに対して送ることができるようにする。
【００６４】
動作時、制御回路２０は、データ及び付随するアドレスをバス１４へ書き込むためのアクセス要求をデータ処理ユニット１０ａ，ｄから受け取る。制御回路２０は、一つのデータワードをバス１４上に配置するための一つのデータ処理ユニット、又は、フルサイズデータワードよりも少ない組み合わせをバス１４上に配置するための複数のデータ処理ユニットを選択する。制御回路２０は、マルチプレクサ／バスドライバ６０ａ，ｂのうちのどれが関連するデータ処理ユニット１０ａ，ｄからバス１４のデータラインへとデータを駆動するべきかについての信号をマルチプレクサ／バスドライバ６０ａ，ｂに対して送り、また、フルサイズよりも小さいワードの場合には、マルチプレクサ／バスドライバ６０ａ，ｂのうちのどれが関連するデータ処理ユニット１０ａ，ｄからバスのデータラインのグループのうちのいずれかへとデータを駆動するべきかについての信号をマルチプレクサ／バスドライバ６０ａ，ｂに対して送る。データの組み合わせの場合、制御回路２０は、バス１４のデータラインのそれぞれの異なるグループに関して同時にそうするようにマルチプレクサ／バスドライバ６０ａ，ｂに対して信号を送り、それにより、この場合には、異なるプロセッサからのフルサイズよりも小さいワードがバス１４上において組み合わせられる。
【００６５】
また、制御回路２０は、関連するデータ処理ユニット１０ａ，ｄからバス１４のアドレスラインへとアドレス情報を駆動するようにアドレスドライバ６２ａ，ｂに対して信号を送る。制御回路は、バス上に一緒に配置されるデータワードのためのアドレス情報と連続してそうするようにマルチプレクサ／バスドライバ６０ａ，ｂに対して信号を送る。
【００６６】
この実施の形態において、データバス上におけるワードの位置の選択は、レベル変化の数を最小限に抑制するように最適化されない。最適化が望ましい場合には、データ処理ユニット１０ａ，ｄの少なくとも一部からのデータ、及び、バスラインからのデータも制御回路に対して供給され、また、制御回路は、レベル変化の数を低減させるように、データの組み合わせられた配置において位置を選択するようになっている。その後、制御回路２０は、対応する制御信号をマルチプレクサ／バスドライバ６０ａ，ｂに対して供給することにより、選択された組み合わせを達成する。
【００６７】
また、バスのデータラインへのアクセスを要求して読み取りデータを戻すために、メモリ１６ａが制御回路２０に対して結合されていてもよい。この目的のため、制御回路２０は、データラインが書き込みデータを含まないままに保たれているバスサイクルにおいて、データラインへのアクセスをメモリ１６ａに許可することが好ましい。これは、対応するアドレスが、フルサイズよりも小さい他のデータワードと共に供給されたフルサイズよりも小さいデータワードに対して適用されるからである。
【００６８】
一つの実施の形態において、データ処理ユニット１０ａ，ｂからメモリ１６ａへの読み取り要求のそれぞれには、バス１４上において、データ処理ユニット１０ａ，ｂ又は読み取り要求の識別表示が伴い、また、メモリ１６ａは、その識別表示を読み取りデータと共にバス１４上に戻す。この場合、要求しているデータ処理ユニットは、その識別表示とそれ自体の読み取り要求からの識別情報とを比較して、その識別情報が一致する場合には読み取りデータを得る。あるいは、制御回路２０は、今まで応答がない読み取り要求を発したデータ処理ユニット１０ａ，ｂの識別表示のキュー（待ち行列）を維持し、読み取りデータをバス上に配置することができると、読み取りデータを供給するメモリユニットへ最も古い応答がない読み取り要求を発したデータ処理ユニット１０ａ，ｂに対して信号を送信する。即ち、このデータ処理ユニットが、バス１４から読み取りデータを読み取ることになる。
【００６９】
これまで、パッキング書き込みデータ、即ち、書き込み要求においてアドレスと共に供給されるデータに関して本発明を説明してきたが、本発明は、読み取りデータに対しても適用することができ（読み取り要求においてアドレスに応じて供給する）及び／又は読み取りデータと書き込みデータとの組み合わせに対しても適用することができる。無論、バスのフルサイズよりも小さい読み取りデータワードを書き込みデータ及び／又は単なる任意のデータとしての他の読み取りデータと共にパックすることもできる。違いは、読み取りアドレスを予めバスに対して供給しなければならず、また、当該読み取りアドレスを読み取りデータと共に供給する必要がないという点である。
【００７０】
図７は、更なる実施の形態を示しており、この実施の形態において、メモリ１６ａ，ｂは、読み取りデータの利用可能性を示すためにインタフェース１２に結合される制御出力部及びデータ出力部を有している。インタフェース１２は、メモリ１６ａ，ｂの制御出力部が制御回路２０（別個に図示せず）に結合され且つメモリ１６ａ，ｂのデータ出力部がマルチプレクサ（別個に図示せず）の入力部に結合されている点を除き、先に開示した任意の構造を有していてもよい。インタフェース１２内において、メモリの出力部は、バス上に配置されるフルサイズよりも小さいワードの組み合わせを選択する制御回路（別個に図示せず）に対して結合されている。その後、制御回路により、選択された配置がバスのデータライン上において達成される。書き込みデータが関与している限り、制御回路により、関連するアドレスは、連続的に、例えば対応するデータがデータライン上に配置される順序に従って所定の順序で、バスのアドレスライン上に配置される。読み取りデータに対応するタイムスロットにおいては、アドレスをバス上に配置する必要がないが、無論、他の読み取り要求を発するためにアドレスラインが使用されてもよい。
【００７１】
表III は、書き込みデータＷＤのワード及び読み取りデータＲＤのワードがバス１４上に配置される一例を示している。バスサイクル３において明らかなように、書き込みデータの二つの１／４ワードＷＤａ１’，ＷＤｃ１’及び読み取りデータの二つの１／４ワードＲＤｂ１’，ＲＤｄ１’が共にバス１４のデータライン上に配置される。バスサイクル３，５においては、書き込みデータのためのアドレスが供給される。
表III   バス占有の更なる例
バスサイクル番号  アドレス  データ
１            Ａ１    ＷＤａ１  ＷＤａ２  ＷＤｄ１  ＷＤｄ２
２            Ａ４
３            Ａ１’  ＷＤａ１’ＲＤｂ１’ＷＤｃ１’ＲＤｄ１’
４            Ｘ
５            Ａ３’
６            Ｘ
７            Ａ２”  ＷＤｂ１”ＷＤｂ２”ＷＤｂ３”ＷＤｂ４”
８
【００７２】
尚、読み取りデータに関しては読み取りアドレスを供給する必要がない（番号４，６が付されたバスサイクルにおいてＸで示されている）。これは、データを読み取る前に読み取りアドレスが前もって供給されているからである。制御回路は、例えば対応するメモリから今まで応答がない読み取り要求のキューからの最も古い読み取り要求に関する情報に基づいて、読み取りデータワードの対象がどのデータ処理ユニットであるかをデータ処理ユニットに対して知らせるようになっていてもよい。尚、上記キューにおいては、要求を発したデータ処理ユニットが記録される。
【００７３】
実施の一形態においては、新たな読み取り要求のために読み取りアドレスを供給するべく、アドレスを伴わないバスサイクルが使用されてもよい。他の実施の形態においては、これらのバスサイクルが省略される。例えば、表III においては、バスサイクル４，６が省略され、それにより、サイクル３とサイクル６との間には、データワードがバス上に配置される中間のバスサイクルが一つしか存在しない。この実施の形態において、制御回路２０は、各アドレスごとに一つの信号をメモリ１６ａ，ｂに対して供給し、また、パックされたデータワード中のフルサイズよりも小さいデータワードのうちのどれに対してアドレスが適用されるかを知らせるようになっていることが好ましい。パックされたデータワード中に読み取り結果が含まれている場合、制御回路２０は、任意的に、パックされたデータワード中のフルサイズよりも小さいデータワードのうちのどれが読み取り要求の結果であるのかを示すための信号をプロセッサ１０ａ−ｄに対して供給するようになっており、それにより、プロセッサは読み取り結果を選択することができるが、無論、回路にマルチプレクサを設け、このマルチプレクサにより、制御回路２０は、パックされたワードからの読み取り結果が読み取り要求を発したプロセッサに対して供給され、その結果、読み取り結果が得られるようにすることができてもよい。
【００７４】
尚、前述した実施の形態は、例示的なものであり、本発明を限定するものではなく、また、当業者であれば、添付の請求項の範囲から逸脱することなく、多くの他の実施の形態を想起することができる。請求項において、括弧内の任意の参照符号は、請求項を限定するものと解釈されるべきではない。用語「備える（含む）（comprising）」は、請求項中に記載された要素又はステップ以外の要素又はステップの存在を排除しない。要素に先行する用語「一つの（ａ，ａｎ）」は、そのような要素の複数の存在を排除するものではない。いくつかの手段を列挙している装置の請求項において、これらの手段のうちのいくつかは、ハードウェアの一つの同じアイテムによって具現化することができる。特定の手段が互いに異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせを有利に使用できないことを示すものではない。
【図面の簡単な説明】
【００７５】
【図１】電子回路を示している。
【図２】バスインタフェースの一部を示している。
【図３】バスインタフェースの更なる一部を示している。
【図４】バス接続の一部を示している。
【図５ａ】メモリを示している。
【図５ｂ】更なるメモリを示している。
【図６】更なる電子回路を示している。
【図６ａ】マルチプレクサ／ドライバを示している。
【図７】更なる電子回路を示している。
【図１】
2007511828.tif 000003
【図２】
2007511828.tif 000004
【図３】
2007511828.tif 000005
【図４】
2007511828.tif 000006
【図５ａ】
2007511828.tif 000007
【図５ｂ】
2007511828.tif 000008
【図６】
2007511828.tif 000009
【図６ａ】
2007511828.tif 000010
【図７】
2007511828.tif 000011
【国際調査報告】
2007511828.tif 000012
2007511828.tif 000013
2007511828.tif 000014
2007511828.tif 000015
2007511828.tif 000016