説明

情報処理装置

【課題】第1のチップで処理されたデータがバス及び第2のチップを経由してDRAMに転送される場合に、第1のチップで処理されたデータと第2のチップで処理されたデータとのアクセス競合を防止する。
【解決手段】デコーダ53は第1のチップ7で調停されてバス15及び第2のチップ9を経由してDRAM11に転送されるデータに対して、第2のチップ9上の配線61,63,65の中でそのデータに割り当てられている優先度に対応する配線を選択する。第2の調停部(調停部33c〜33g)は第1のチップ7で処理されたデータ及び第2のチップ9で処理されたデータの中で、同じ優先度が割り当てられているデータどうしのアクセスが競合すれば調停をし、かつ、異なる優先度が割り当てられているデータどうしのアクセスが競合すれば調停をする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置に関し、特にメモリにアクセスが競合した場合の調停に関する。
【背景技術】
【0002】
情報処理装置にはCPU(Central Processing Unit)及びメインメモリに加えてASIC(Application Specific Integrated Circuit)のようなチップを備えるものがある。例えばデジタル複合機には画像処理用のチップ、ファクシミリ通信用のチップ等が備えられる。チップには多種多様な機能ブロックが存在する。これらの機能ブロックのほとんど全てがメインメモリであるDRAM(Dynamic Random Access Memory)にアクセスする。
【0003】
チップに含まれる機能ブロックが増加すると、全ての機能ブロックが同時にDRAMにアクセスすれば、DRAMではデータの読み書きができなくなる。そこで、DRAMにアクセスできる権限の優先度を各機能ブロックに割り当てて、アクセスが競合すれば調停することが行われている。
【0004】
チップ間を接続するインターフェース技術の発展により、1つのチップに含まれる多数の機能ブロックを2つ以上のチップに振り分けることが容易となった。どの機能ブロックをどのチップに配置するかはチップの流用性、開発容易性等を考慮して定められることが多い。このため、異なる優先度の複数の機能ブロックが各チップに存在することがある。
【0005】
チップ間のインターフェースとして、例えばPCIエキスプレス(Peripheral Component Interconnect Express)がある。PCIエキスプレスはシリアル転送インターフェースであり、PCIのようなパラレルインターフェースの欠点を改良し、高速データ転送を可能とする。PCIエキスプレスではトランザクション層でパケットのやり取りをする。
【0006】
PCIエキスプレスを用いた調停として、トランザクション層のパケットをモニタし、その結果をフィードバック制御してアビトレーションテーブルに反映することにより、実際に伝送されたパケットの量に応じてパケット伝送の優先度を割り当てる技術が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−249816号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
各機能ブロックで処理されたデータをメモリに書き込むためにデータをメモリに転送する際に、チップの配線上でアクセスが競合すれば、いずれのデータを優先して転送させるかを調停しなければならない。第1のチップの機能ブロックで処理されたデータが第2のチップを経由してメモリに書き込まれるシステムでは、データをメモリに転送する際の優先度に基づいて第1及び第2のチップでそれぞれ上記調停がされる。この場合、第2のチップで調停された低い優先度のデータによって、第1のチップで調停された高い優先度のデータがメモリに転送されるのが遅れると、第1のチップで調停した意味がなくなってしまう。
【0009】
本発明は第1のチップで処理されたデータが第2のチップを経由してメモリに転送される場合に、第1のチップで処理されたデータと第2のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成する本発明に係る情報処理装置は、第1のチップと、第2のチップと、前記第1のチップと前記第2のチップを接続するバスと、前記第1のチップで処理されて前記バス及び前記第2のチップを経由して転送されてきたデータ及び前記第2のチップで処理されて転送されてきたデータが書き込まれるメモリと、を備え、前記メモリに書き込まれるデータに含まれるアドレス情報を基にして、当該データには前記メモリに転送する際の優先度が予め割り当てられており、前記第1のチップは、前記第1のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第1の調停部を含み、前記第2のチップは、複数の第1の配線と、前記第1のチップで処理されて前記バスを経由して転送されてきたデータに対して、当該データに含まれる前記アドレス情報をデコードして、前記複数の第1の配線の中で当該データに割り当てられている前記優先度に対応する前記第1の配線を選択する第1のデコーダと、(1)前記第1の配線を用いて転送されてきたデータと当該データと同じ前記優先度が割り当てられ前記第2のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(2)前記第1の配線を用いて転送されてきたデータと当該データと異なる前記優先度が割り当てられ前記第2のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(3)前記第2のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をし、及び(4)前記第1の配線を用いて転送されてきたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第2の調停部と、を含む。
【0011】
本発明において、第1のデコーダは第1のチップで調停されてバス及び第2のチップを経由してメモリに転送されるデータに対して、第2のチップ上の複数の第1の配線の中でそのデータに割り当てられている優先度に対応する第1の配線を選択する。そして、第2の調停部で上記(1)〜(4)の調停をする。これにより、第1のチップで処理されたデータと第2のチップで処理されたデータとに対して、第2のチップにおいて、メモリに転送する優先度が同じデータを調停し、かつメモリに転送する優先度が異なるデータを調停するこができる。従って、本発明によれば、第1のチップで処理されたデータが第2のチップを経由してメモリに転送される場合に、第1のチップで処理されたデータと第2のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる。
【0012】
上記構成において、前記第1のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第1の機能ブロックを含み、前記第2のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第2の機能ブロックを含み、前記複数の第1の機能ブロックで処理されたデータは、前記第1の調停部において調停の対象となり、前記複数の第1の機能ブロックで処理されたデータ及び前記複数の第2の機能ブロックで処理されたデータは、前記第2の調停部において調停の対象となる。
【0013】
この構成はデータをメモリに転送する際にアクセスが競合した場合の優先度が機能ブロック単位で分けられている態様に本発明を適用したものである。
【0014】
上記構成において、前記第2のチップは、前記複数の第1の機能ブロックで処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、当該データが前記第2の調停部に転送される前に、一時格納される複数の第1のFIFO部を含む。
【0015】
上述したように複数の第1の機能ブロックで処理されたデータは第2のチップで調停の対象となる。このため、複数の第1の機能ブロックで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータについてはメモリへの転送が遅れる可能性がある。従って、それらのデータが第2のチップからメモリに転送される前に、同じ優先度が割り当てられているデータが第1のチップから第2のチップに連続して転送されてくれば、第2のチップでデータが溢れてしまうおそれがある。第2のチップに複数の第1のFIFO部を備える上記構成によれば、複数の第1の機能ブロックで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第2のチップで溢れることを防止できる。
【0016】
上記構成において、前記複数の第1のFIFO部のいずれかがフルになった場合、フルになった前記第1のFIFO部に格納されるデータに割り当てられている前記優先度と同じ前記優先度が割り当てられているデータを処理する前記第1の機能ブロックにおいて、当該第1の機能ブロックで処理されたデータの転送を止める帯域制限ブロックを備える。
【0017】
この構成によれば、複数の第1のFIFO部のいずれかがフルになっても、第2のチップでデータが溢れることを防止できる。
【0018】
上記構成において、前記第2のチップは、第2のFIFO部と、前記複数の第1のFIFO部のいずれかがフルになった場合、前記第1のデコーダで選択された前記第1の配線を用いて転送されるデータの中で、フルになった前記第1のFIFO部に転送されるデータを、前記第2のFIFO部に転送する切り換えをする切換部と、前記複数の第1のFIFO部に対応して設けられ、対応する前記第1のFIFO部に接続されている複数の第2の配線と、前記第2のFIFO部から転送されてきたデータに対して、当該データに含まれるアドレス情報をデコードして、前記複数の第2の配線の中で当該データに割り当てられている前記優先度に対応する前記第2の配線を選択する第2のデコーダと、を含む。
【0019】
この構成によれば、複数の第1のFIFO部のいずれかがフルになった場合、フルになった第1のFIFO部に転送されるデータを、第2のFIFO部に転送されるように切り換えて、第2のFIFO部に待避させている。これにより、フルになった第1のFIFO部に空きができる時間を稼ぐことができる。そして、第2のFIFO部から転送されてきた、フルになった第1のFIFO部に転送されるデータに含まれるアドレス情報をデコードして、複数の第1のFIFO部の中で対応する第1のFIFO部(すなわち、フルになっていた第1のFIFO部)に戻している。以上のように、複数の第1のFIFO部のいずれかがフルになっても、フルになった第1のFIFO部に転送されるデータを第2のFIFO部に待避させているので、第2のチップでデータが溢れることを防止できる。帯域制限ブロックを設けても、第1のFIFO部がフルになってから帯域制限ブロックが有効になるまでの時間を決定できない場合があり、このような場合にも有効となる。
【0020】
上記構成において、前記第1のチップ及び前記第2のチップは、それぞれチップインターフェースを含み、前記第1のチップの前記チップインターフェースは、前記第1のチップで処理されたデータが前記第2のチップに転送される前に一時格納される第3のFIFO部を有し、前記第2のチップの前記チップインターフェースは、前記第1のチップから前記第2のチップに転送されてきたデータが前記第1のデコーダに転送される前に一時格納される第4のFIFO部を有する。
【0021】
この構成において、第3のFIFO部は第1のチップで処理されたデータが第1のチップのチップインターフェースに転送されてきた際にバッファとして機能する。第4のFIFO部は第1のチップから第2のチップに転送されてきたデータが第1のデコーダに転送される際にバッファとして機能する。上述したように複数の第1のFIFO部のいずれかがフルになった場合、フルになった第1のFIFO部に転送されるデータを、第2のFIFO部に転送されるように切り換えている。従って、フルになった第1のFIFO部に転送されるデータが第3及び第4のFIFO部に滞留することを防止することが可能となる。この結果、第1のFIFO部のいずれかがフルになった状態で、フルになった第1のFIFO部に転送されるデータ以外のデータ(例えば、比較的高い優先度が割り当てられているデータ)が第3のFIFO部に転送されてきても、そのデータを第3のFIFO部及び第4のFIFO部で滞留させることなく、フルになった第1のFIFO部に転送されるデータを追い越して、メモリに転送することができる。
【発明の効果】
【0022】
本発明によれば、第1のチップで処理されたデータが第2のチップを経由してメモリに転送される場合に、第1のチップで処理されたデータと第2のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる。
【図面の簡単な説明】
【0023】
【図1】第1実施形態に係る情報処理装置の構成を示すブロック図である。
【図2】第1実施形態に係る第1のチップの構成を示すブロック図である。
【図3】第1実施形態に係る第2のチップの構成を示すブロック図である。
【図4】第1実施形態においてメモリとなるDRAMのアドレス空間の一例を示す図である。
【図5】調停部33a,33b,33e,33fでの調停結果を示す図である。
【図6】PCIエキスプレスでのトランザクション層のパケットの構成を示す図である。
【図7】調停部33c,33dでの調停結果を示す図である。
【図8】調停部33gでの調停結果を示す図である。
【図9】第1実施形態に係る第2のチップと比較される第2のチップの構成を示すブロック図である。
【図10】第2実施形態に係る第1のチップの構成を示すブロック図である。
【図11】第2実施形態に係る第2のチップの構成を示すブロック図である。
【図12】第3実施形態に係る第2のチップの構成を示すブロック図である。
【図13】第4実施形態に係る第1のチップの構成を示すブロック図である。
【図14】第4実施形態に係る第2のチップの構成を示すブロック図である。
【発明を実施するための形態】
【0024】
以下、図面に基づいて本発明の実施形態を詳細に説明する。図1は本発明の第1実施形態に係る情報処理装置1の構成を示すブロック図である。情報処理装置1はCPU3、メインメモリ5、第1のチップ7、第2のチップ9及びDRAM11(メモリの一例)を備える。情報処理装置1は例えばデジタル複合機に搭載することができる。
【0025】
CPU3、メインメモリ5、第1のチップ7及び第2のチップ9はバス13によって接続されている。メインメモリ5は例えばDRAMである。第1のチップ7及び第2のチップ9は例えば画像処理用のASICであり、バス15によって接続されている。第2のチップ9はバス17によってDRAM11と接続されている。DRAM11から読み出されたデータは第1のチップ7又は第2のチップ9で処理されて、DRAM11に書き込まれる。
【0026】
第1のチップ7及び第2のチップ9について説明する。図2は第1のチップ7の構成を示すブロック図であり、図3は第2のチップ9の構成を示すブロック図である。第1のチップ7は機能ブロック31A,31B,31C(第1の機能ブロック)を含み、第2のチップ9は機能ブロック31D,31E,31F(第2の機能ブロック)を含む。これらの機能ブロックを区別しない場合は機能ブロック31と記載する。機能ブロック31は回路ブロックであり、DRAM11から読み出されたデータを処理する。データは画像データ、アドレス情報及び制御情報を含む。アドレス情報は画像データが記憶されるDRAM11のメモリセルのアドレスを示す情報である。制御情報はDRAM11に画像データを書き込む命令を示す情報である。
【0027】
機能ブロック31はDMA(Direct Memory Access)コントローラを有しており、バスマスタとして機能する。機能ブロック31は図示しないバスアービタによってバス15,17の使用権が調停される。
【0028】
DRAM11には第1のチップ7(機能ブロック31A,31B,31C)で処理されてバス15及び第2のチップ9を経由して転送されてきたデータ、及び第2のチップ9(機能ブロック31D,31E,31F)で処理されて転送されてきたデータが書き込まれる。各機能ブロック31で処理されたデータをDRAM11に書き込むために、データをDRAM11に転送する際に、第1のチップ7又は第2のチップ9の配線上でアクセスが競合すれば、どのデータを優先して転送させるかを調停しなければならない。
【0029】
そこで、データをDRAM11に転送する際の優先度を「低優先度」、「中優先度」、「高優先度」の三つに分けている。機能ブロック31A,31Dは低優先度が割り当てられているデータを処理し、機能ブロック31B,31Eは中優先度が割り当てられているデータを処理し、機能ブロック31C,31Fは高優先度が割り当てられているデータを処理する。すなわち、本実施形態では、データをDRAM11に転送する際にアクセスが競合した場合の優先度が機能ブロック31の単位で分けられている。機能ブロック31A,31B,31Cはそれぞれ異なる優先度が割り当てられているデータを処理する複数の第1の機能ブロックとなる。機能ブロック31D,31E,31Fはそれぞれ異なる優先度が割り当てられているデータを処理する複数の第2の機能ブロックとなる。各機能ブロック31においては同じ優先度が割り当てられているデータを処理する(例えば機能ブロック31Aは低優先度が割り当てられているデータを処理する)。
【0030】
従って、機能ブロック31C,31Fで処理されたデータが機能ブロック31A,31B,31D,31Eで処理されたデータよりも優先してDRAM11に転送され、機能ブロック31B,31Eで処理されたデータが機能ブロック31A,31Dで処理されたデータよりも優先してDRAM11に転送される調停がされる。優先度はDRAM11に書き込まれるデータに含まれるアドレス情報を基にして割り当てられる。
【0031】
図4はDRAM11のアドレス空間を示す図である。DRAM11のアドレス空間は32ビットのアドレス空間である。アドレス情報は16進数で示されている。DRAM11は優先度毎に分けられたアドレス空間を有する。優先度はアドレス情報の上位ビット(本実施形態では上位4ビット(16進数の上位一桁))を基にして分けられており、例えば、16進数の上位一桁が「4」〜「5」は低優先度、「6」〜「8」は中優先度、「9」〜「B」は高優先度が割り当てられているアドレス空間である。
【0032】
第1のチップ7について説明する。図2に示すように第1のチップ7は機能ブロック31A,31B,31C、調停部33a,33b及びチップインターフェース35を含む。図1のバス13と接続するインターフェースについては図示を省略している。機能ブロック31A,31B,31Cは上述した通りである。以下に説明するように、機能ブロック31A,31B,31Cで処理されたデータは第1の調停部(調停部33a,33b)において調停の対象となる。第1の調停部は第1のチップ7で処理されたデータであって、異なる優先度が割り当てられているデータどうしがDRAM11に転送される際にアクセスが競合すれば調停をする。
【0033】
調停部33aは第1の調停部を構成する要素であり、機能ブロック31Aで処理されたデータと機能ブロック31Bで処理されたデータをDRAM11に書き込むためにこれらのデータをDRAM11に転送する際に、第1のチップ7の配線上でアクセスが競合すれば調停をする。調停部33aではDRAM11に転送する際の優先度が異なるデータについて調停をする。
【0034】
調停部33aはバッファ37a,39a、セレクタ41a及びセレクタ制御回路43aを含む。バッファ37aには機能ブロック31Aで処理されたデータが一時記憶され、バッファ39aには機能ブロック31Bで処理されたデータが一時記憶される。セレクタ制御回路43aはバッファ37a,39aにデータが記憶されているか否かに基づいて、セレクタ41aを制御する。図5は調停部33aでの調停結果を示す図である。
【0035】
一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(1、2)、すなわち、第1のチップ7の配線上でアクセスが競合していない場合、セレクタ制御回路43aはデータを記憶しているバッファからデータが出力されるようにセレクタ41aを制御する。
【0036】
二つのバッファにデータが記憶されている場合(3)、すなわち、第1のチップ7の配線上でアクセスが競合する場合、セレクタ制御回路43aはバッファ39aに記憶されているデータが出力されるようにセレクタ41aを制御する。これにより、機能ブロック31Bで処理されたデータは機能ブロック31Aで処理されたデータよりも優先してDRAM11に転送される。
【0037】
セレクタ41aで選択されたデータは調停部33bに送られる。調停部33bはセレクタ41aで選択されたデータと機能ブロック31Cで処理されたデータをDRAM11に書き込むためにこれらのデータをDRAM11に転送する際に、第1のチップ7の配線上でアクセスが競合すれば調停をする。調停部33bは調停部33aと同様に、DRAM11に転送する際の優先度が異なるデータについて調停をする。
【0038】
調停部33bはバッファ37b,39b、セレクタ41b及びセレクタ制御回路43bを含む。バッファ37bにはセレクタ41aで選択されたデータが一時記憶され、バッファ39bには機能ブロック31Cで処理されたデータが一時記憶される。セレクタ制御回路43bはバッファ37b,39bにデータが記憶されているか否かに基づいて、セレクタ41bを制御する。
【0039】
調停部33bでの調停結果は図5に示す調停部33aでの調停結果と同様である。第1のチップ7の配線上でアクセスが競合していない場合(1、2)、セレクタ制御回路43bはデータを記憶しているバッファからデータが出力されるようにセレクタ41bを制御する。第1のチップ7の配線上でアクセスが競合する場合(3)、セレクタ制御回路43bはバッファ39bに記憶されているデータが出力されるようにセレクタ41bを制御する。これにより、機能ブロック31A,31Bよりも機能ブロック31Cで処理されたデータが優先してDRAM11に転送される。
【0040】
セレクタ41bで選択されたデータはチップインターフェース35に送られる。チップインターフェース35はバス15によって第2のチップ9に接続されている。
【0041】
第2のチップ9について説明する。図3に示すように第2のチップ9は、機能ブロック31D,31E,31F、調停部33c,33d,33e,33f,33g、チップインターフェース51、デコーダ53、FIFO(First In, First Out)部55,57、DRAMコントローラ59及び配線61,63,65を含む。図1のバス13と接続するインターフェースについては図示を省略している。機能ブロック31D,31E,31Eは上述した通りである。以下に説明するように、機能ブロック31A,31B,31Cで処理されたデータ及び機能ブロック31D,31E,31Fで処理されたデータは、第2の調停部(調停部33c,33d,33e,33f,33g)において調停の対象となる。
【0042】
なお、第1の調停部(調停部33a,33b)及び第2の調停部(33c〜33g)において、データはトランザクションの単位で調停される。
【0043】
チップインターフェース51はバス15に接続されている。チップインターフェース35,51は例えばPCIエキスプレス規格のインターフェースである。図6はPCIエキスプレスでのトランザクション層のパケット101の構成を示している。パケット101はヘッダ103とペイロード105を含む。図2に示すセレクタ41bで選択されたデータのうち、画像データがペイロード105に格納され、アドレス情報及び制御情報がヘッダ103に格納される。
【0044】
パケット101はバス15を伝送して、チップインターフェース51に送られる。パケット101はチップインターフェース51でデータ(画像データ、アドレス情報、制御情報)に戻されて、デコーダ53に送られる。
【0045】
デコーダ53は第1のデコーダの一例であり、第1のチップ7で処理されてバス15を経由して転送されてきたデータに対して、そのデータに含まれるアドレス情報をデコードして、配線61,63,65(複数の第1の配線)の中でそのデータに割り当てられている優先度に対応する配線を選択する。
【0046】
デコーダ53はデータに含まれるアドレス情報の上位4ビット(16進数の上位一桁)をデコードして、配線61,63,65のいずれかを選択する。具体的には、図4に示すように、16進数の上位一桁が「4」〜「5」であれば配線61を選択し、16進数の上位一桁が「6」〜「8」であれば配線63を選択し、16進数の上位一桁が「9」〜「B」であれば配線65を選択する。従って、図2に示す第1のチップ7の機能ブロック31Aで処理された低優先度のデータには配線61が割り当てられ、機能ブロック31Bで処理された中優先度のデータには配線63が割り当てられ、機能ブロック31Cで処理された高優先度のデータには配線65が割り当てられる。
【0047】
調停部33cはデコーダ53で選択された配線61を用いて転送されてきたデータと、機能ブロック31Dで処理されたデータとがDRAM11に転送される際に、第2のチップ9の配線上でアクセスが競合すれば調停をする。
【0048】
調停部33cはバッファ37c,39c、セレクタ41c及びセレクタ制御回路43cを含む。バッファ37cには機能ブロック31Dで処理されたデータが一時記憶され、バッファ39cには配線61を用いて転送されてきたデータが一時格納される。配線61とバッファ39cとの間には、FIFO部55(第1のFIFO部)が設けられている。第1のチップ7の機能ブロック31Aで処理されたデータは、機能ブロック31B,31Cで処理されたデータよりも、DRAM11に転送する際の優先度が低いので、DRAM11に転送されるのが遅れる可能性が大きい。従って、バッファ39cにデータが一時記憶された状態で、機能ブロック31Aで処理されたデータが配線61を流れて連続してバッファ39cに転送されてくれば、バッファ39cからデータが溢れてしまうおそれがある。これを防止するためにFIFO部55を設けている。
【0049】
セレクタ制御回路43cはバッファ37c,39cにデータが記憶されているか否かに基づいて、セレクタ41cを制御する。図7は調停部33cでの調停結果を示す図である。一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(1、2)、すなわち、第2のチップ9の配線上でアクセスが競合していない場合、セレクタ制御回路43cはデータが記憶されているバッファからデータが出力されるようにセレクタ41cを制御する。
【0050】
二つのバッファにデータが記憶されている場合(3)、すなわち、第2のチップ9の配線上でアクセスが競合する場合、セレクタ制御回路43cは例えばバッファ37c,39cに記憶されているデータが交互に出力されるようにセレクタ41cを制御する。このように制御するのは機能ブロック31Aで処理されたデータと機能ブロック31Dで処理されたデータはDRAM11に転送される優先度が同じだからである。
【0051】
調停部33dは、デコーダ53で選択された配線63を用いて転送されてきたデータと、機能ブロック31Eで処理されたデータとがDRAM11に転送される際に、第2のチップ9の配線上でアクセスが競合すれば調停をする。調停部33dはバッファ37d,39d、セレクタ41d及びセレクタ制御回路43dを含む。バッファ37dには機能ブロック31Eで処理されたデータが一時記憶され、バッファ39dには配線63を用いて転送されてきたデータが一時記憶される。配線63とバッファ39dとの間に、FIFO部57(第1のFIFO部)が設けられている。この理由はFIFO部55が設けられている理由と同じである。
【0052】
FIFO部55,57は複数の第1のFIFO部である。FIFO部55,57は機能ブロック31A,31B,31C(複数の第1の機能ブロック)で処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、それらのデータが調停部33c,33dに転送される前に、一時格納される。
【0053】
セレクタ制御回路43dはバッファ37d,39dにデータが記憶されているか否かに基づいて、セレクタ41dを制御する。調停部33dでの調停結果は図7に示す調停部33cでの調停結果と同様である。第2のチップ9の配線上でアクセスが競合していない場合(1、2)、セレクタ制御回路43dはデータを記憶しているバッファからデータが出力されるようにセレクタ41dを制御する。第2のチップ9の配線上でアクセスが競合する場合(3)、セレクタ制御回路43dは例えばバッファ37d,39dに記憶されているデータが交互に出力されるようにセレクタ41dを制御する。
【0054】
調停部33eはセレクタ41cで選択されたデータとセレクタ41dで選択されたデータをDRAM11に転送する際に、第2のチップ9の配線上でアクセスが競合すれば調停をする。調停部33eのバッファ37eにはセレクタ41cで選択されたデータが一時記憶され、バッファ39eにはセレクタ41dで選択されたデータが一時記憶される。セレクタ制御回路43eはバッファ37e,39eにデータが記憶されているか否かに基づいて、セレクタ41eを制御する。調停部33eでの調停結果は図5に示す調停部33aでの調停結果と同様である。
【0055】
調停部33fはセレクタ41eで選択されたデータと機能ブロック31Fで処理されたデータをDRAM11に転送する際に、第2のチップ9の配線上でアクセスが競合すれば調停をする。調停部33fのバッファ37fには機能ブロック31Fで処理されたデータが一時記憶され、バッファ39fにはセレクタ41eで選択されたデータが一時記憶される。セレクタ制御回路43fはバッファ37f,39fにデータが記憶されているか否かに基づいて、セレクタ41fを制御する。調停部33fでの調停結果は図5に示す調停部33aでの調停結果と同様である。
【0056】
調停部33gは配線65を用いて転送されてきたデータとセレクタ41fで選択されたデータをDRAM11に転送する際に、第2のチップ9の配線上でアクセスが競合すれば調停をする。調停部33gのバッファ37gにはセレクタ41fで選択されたデータが一時記憶され、バッファ39gには配線65を用いて転送されてきたデータが一時記憶される。セレクタ制御回路43gはバッファ37g,39gにデータが記憶されているか否か及び調停部33fのセレクタ制御回路43fから出力された信号に基づいて、セレクタ41gを制御する。
【0057】
セレクタ制御回路43fから出力された信号とは、バッファ37gに転送したデータがバッファ37fからのデータであるか、又はバッファ39fからのデータであるかを示す信号である。この信号を基にしてセレクタ制御回路43gは、バッファ37gに記憶されているデータがバッファ37fからのデータ、又はバッファ39fからのデータかを判断する。
【0058】
図8は調停部33gでの調停結果を示す図である。一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(1、2)、すなわち、第2のチップ9の配線上でアクセスが競合していない場合、セレクタ制御回路43gはデータが記憶されているバッファからデータが出力されるようにセレクタ41gを制御する。
【0059】
バッファ37g,39gのいずれにもデータがある場合(3、4)、すなわち、第2のチップ9の配線上でアクセスが競合する場合、次のように制御される。バッファ37gのデータがバッファ39fからのデータであれば、DRAM11に転送される優先度が異なる機能ブロックで処理されたデータが競合していることになる。バッファ39fからのデータとは、図2の機能ブロック31A,31B、図3の機能ブロック31D,31Eで処理されたデータであり、バッファ39gに記憶されるデータは図2の機能ブロック31Cで処理されたデータである。従って、バッファ39gに記憶されるデータはバッファ39fからのデータよりも優先度が高いので、セレクタ制御回路43gはバッファ39gに記憶されているデータが出力されるようにセレクタ41gを制御する。
【0060】
一方、バッファ37gのデータがバッファ37fからのデータであれば、優先度が同じ機能ブロックで処理されたデータなので、セレクタ制御回路43gは例えばバッファ37g,39gに記憶されているデータが交互に出力されるようにセレクタ41gを制御する。
【0061】
セレクタ41gで選択されたデータはDRAMコントローラ59に送られる。DRAMコントローラ59はそのデータに含まれるアドレス情報で示されるアドレスのメモリセルに画像データを書き込む。
【0062】
以上説明したように第2の調停部(調停部33c〜33g)は次の(1)〜(4)の調停をする。
【0063】
(1)デコーダ53(第1のデコーダ)で選択された配線61,63,65(第1の配線)を用いて転送されてきたデータ(トランザクション)と、そのデータと同じ優先度が割り当てられ機能ブロック31D,31E,31Fで処理されたデータ、すなわち第2のチップ9で処理されたデータ(トランザクション)とが、DRAM11に転送される際にアクセスが競合すれば調停をする。この調停は調停部33c,33d,33gで実行される。
【0064】
(2)デコーダ53で選択された配線61,63,65を用いて転送されてきたデータ(トランザクション)と、そのデータと異なる優先度が割り当てられ機能ブロック31D,31E,31Fで処理されたデータ(トランザクション)とが、DRAM11に転送される際にアクセスが競合すれば調停をする。この調停は調停部33e,33f,33gで実行される。
【0065】
(3)機能ブロック31D,31E,31Fで処理されたデータであって、異なる優先度が割り当てられているデータ(トランザクション)どうしが、DRAM11に転送される際にアクセスが競合すれば調停をする。この調停は調停部33e,33fで実行される。
【0066】
(4)デコーダ53で選択された配線61,63,65を用いて転送されてきたデータ(機能ブロック31A,31B,31Cで処理されたデータ)であって、異なる優先度が割り当てられているデータ(トランザクション)どうしが、DRAM11に転送される際にアクセスが競合すれば調停をする。この調停は調停部33e,33gで実行される。
【0067】
第1実施形態の主な効果について、図9に示す第2のチップ19と比較して説明する。第2のチップ19は図2の調停部33a、33b並びに図3のチップインターフェース51、機能ブロック31D,31E,31F及びDRAMコントローラ59を備える。第2のチップ19はさらに、調停部67及び配線69を備える。
【0068】
調停部33aは機能ブロック31Dで処理されたデータと機能ブロック31Eで処理されたデータをDRAM11に転送する際にアクセスが競合すれば調停をする。調停部33bは調停部33aで選択されたデータと機能ブロック31Fで処理されたデータをDRAM11に転送する際にアクセスが競合すれば調停をする。
【0069】
配線69はチップインターフェース51と調停部67を接続する。図2の第1のチップ7からバス15を経由して転送されてきたデータは、配線69を用いて調停部67に転送される。また、調停部67には調停部33bで選択されたデータが転送される。従って、調停部67は、図2に示す第1のチップ7の機能ブロック31A,31B,31Cで処理され、優先度が調停されて転送されてきたデータと、第2のチップ19の機能ブロック31D,31E,31Fで処理され、優先度が調停されて転送されてきたデータとについて、アクセスが競合すれば調停をする。
【0070】
しかし、調停部67では第1のチップ7の機能ブロック31A,31B,31Cで処理されたデータの優先度を判断することができないので、調停部67で正しい調停をすることができない。仮に判断することができても次の問題が生じる。
【0071】
例えば、第1のチップ7の機能ブロック31A(低優先度)で処理されたデータと、第2のチップ19の機能ブロック31E(中優先度)で処理されたデータとが競合した場合を考える。調停部67は機能ブロック31Eで処理されたデータを選択するので、機能ブロック31Aで処理されたデータは調停部67のバッファに一時記憶された状態が継続される。この状態で、第1のチップ7の機能ブロック31C(高優先度)で処理されたデータが調停部67に送られても、機能ブロック31Aで処理されたデータのために、機能ブロック31C(高優先度)で処理されたデータは、調停部67のバッファに一時記憶された状態が継続される。よって、第2のチップ19で調停された低い優先度のデータ(この例では機能ブロック31Eで処理されたデータ)が調停部67で選択されることによって、第1のチップ7で調停された高い優先度のデータ(この例では機能ブロック31Cで処理されたデータ)についてDRAM11に転送されるのが遅れることになる。これでは、第1のチップ7で調停した意味がなくなってしまう。
【0072】
そこで、DRAM11へのアクセス帯域(言い換えればアクセス数)を第1のチップ7で処理されたデータ、第2のチップ19で処理されたデータにそれぞれ割り当てる手法(帯域制限手法)が考えられる。帯域制限手法では、例えば、第1のチップ7で処理されたデータの転送を優先させる場合、「第1のチップ7で処理されたデータに許可されるアクセス帯域=DRAM11の実効帯域−第2のチップ19で処理されたデータに必要なアクセス帯域」の関係を用いて、アクセス帯域が割り当てられる。しかし、帯域制限手法には以下の問題がある。
【0073】
第1のチップ7で処理されたデータに対してアクセス帯域を固定して制限すると、第2のチップ19でデータが処理されておらず、従って、DRAM11の実効帯域に空きがある場合でも、第1のチップ7で処理されたデータに対してアクセスが制限されてしまう。
【0074】
第1のチップ7に割り当てられたアクセス帯域と第2のチップ19に割り当てられたアクセス帯域の合計が、DRAM11の実効帯域を超える場合、第1のチップ7で処理されたデータを優先させれば、第2のチップ19に対して十分なアクセス帯域を割り当てることができない。
【0075】
帯域制限手法では、アクセス帯域の制限値がシステムのユースケースによって最適値が変わる可能性が高いので、ソフトウェアの制御が複雑となる。また、アクセス帯域の制限値は動的に変化するので、検証が困難であり、その結果、システムの品質を低下させるおそれがある。さらに、アクセス帯域の制限値とDRAM11の実効帯域を比較した結果を用いて、第1のチップ7に割り当てるアクセス帯域を制限するので、DRAM11の実効帯域を測定するシステムが必要となる。
【0076】
なお、PCIエキスプレスではバーチャルチャネル(Virtual Channel)を利用することができるので、データを転送する優先度に応じてバーチャルチャネルを割り当てることができる。しかし、バーチャルチャネルを利用する場合、第1のチップ7及び第2のチップ19の両方がバーチャルチャネルを利用できる規格にしなければならない。また、バーチャルチャネルを1つ増やす毎に回路規模が増大するので、DRAM11にデータを転送する優先度毎にバーチャルチャネルを設定すれば、回路規模が非常に増大し、その結果、第1のチップ7及び第2のチップ19のコストが上昇する。
【0077】
これに対して、第1実施形態によれば、デコーダ53は第1のチップ7で調停されてバス15及び第2のチップ9を経由してDRAM11に転送されるデータ(機能ブロック31A,31B,31Cで処理されたデータ)に対して、第2のチップ9上の配線61,63,65の中でそのデータに割り当てられている優先度に対応する配線を選択する。そして、第2のチップ9に設けられた第2の調停部(調停部33c〜33g)は、上記(1)〜(4)の調停をする。
【0078】
これにより、第1のチップ7で処理されたデータと第2のチップ9で処理されたデータとに対して、第2のチップ9において、DRAM11に転送する優先度が同じデータを調停し、かつDRAM11に転送する優先度が異なるデータを調停することができる。従って、第1実施形態によれば、第1のチップ7で処理されたデータが第2のチップ9を経由してDRAM11に転送される場合に、第1のチップ7で処理されたデータと第2のチップ9で処理されたデータとのアクセスが競合すれば、DRAM11に転送する優先度が高いデータから順にDRAM11に転送することができる。なお、調停部33a〜33gにおいて、データはトランザクションの単位で調停される。
【0079】
また、第1実施形態によれば、機能ブロック31A,31B,31Cで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第2のチップ9で溢れることを防止できる。詳細に説明すると、上述したように機能ブロック31A,31B,31Cで処理されたデータは第2のチップ9で調停の対象となる。このため、機能ブロック31A,31B,31Cで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータについてはDRAM11への転送が遅れる可能性がある。従って、それらのデータが第2のチップ9からDRAM11に転送される前に、同じ優先度が割り当てられているデータが第1のチップ7から第2のチップ9に連続して転送されてくれば、第2のチップ9でデータが溢れてしまうおそれがある。第2のチップ9にFIFO部55,57(複数の第1のFIFO部)を備える第1実施形態によれば、機能ブロック31A,31B,31Cで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第2のチップ9で溢れることを防止できる。
【0080】
次に第2実施形態を説明する。第2実施形態については第1実施形態との相違点を中心に説明し、共通点については説明を省略する。図10は第2実施形態に係る情報処理装置に備えられる第1のチップ21の構成を示すブロック図であり、図11は第2実施形態に係る情報処理装置に備えられる第2のチップ23の構成を示すブロック図である。
【0081】
第2実施形態では、機能ブロック31Aと調停部33aとの間に帯域制限ブロック89aが配置され、機能ブロック31Bと調停部33aとの間に帯域制限ブロック89bが配置されている。
【0082】
第2のチップ23のFIFO部55,57(第1のFIFO部)のいずれかがデータでフルになった状態で、そのFIFO部に格納されるデータが第1のチップ21から送信され続けると、そのFIFO部でデータが溢れてしまう。第2実施形態では帯域制限ブロック89a、89bを用いて、データがFIFO部で溢れることを防止する。これについてFIFO部55を例に説明する。
【0083】
FIFO部55はデータでフルになると、それを示す信号(フル信号S1)をチップインターフェース51に送る。チップインターフェース51はFIFO部55がフルであることを示す情報を、PCIエキスプレスのトランザクションの1つであるメッセージ信号割り込み(MSI:Message Signaled Interrupt)を利用して第1のチップ21に送る。メッセージ信号割り込みのトランザクションのパケットには32ビットのフィールドがあるので、フルになったFIFO部がFIFO部55であることを示す情報も併せて送られる。
【0084】
MSIのトランザクションのパケットがバス15を経由して第1のチップ21のチップインターフェース35に到達すると、チップインターフェース35は帯域制限ブロック89aを有効にする信号S2を帯域制限ブロック89aに送る。これにより、トランザクションの発行がマスクされるので(言い換えれば、機能ブロック31Aからの送信パスがマスクされるので)、機能ブロック31Aで処理されたデータが調停部33aに転送されるのを止めることができる。なお、機能ブロック31AのDMAコントローラにはバッファが設けられているので、機能ブロック31Aで処理されたデータが帯域制限ブロック89aによって転送できなくても、バッファに一時記憶されるので、機能ブロック31Aは動作を続けることができる。
【0085】
チップインターフェース51がMSIを送信するタイミングは、チップインターフェース51でのMSI送信遅延、PCIエキスプレスでの転送遅延、及びチップインターフェース35が信号S2を送信してから帯域制限ブロック89aが有効になるまでの時間等を考慮して決める。これにより、FIFO部55でデータが溢れることをより確実に防止する。
【0086】
FIFO部55に予め定められた空きが生じれば、FIFO部55はチップインターフェース51にそれを示す信号を送る。チップインターフェース51はFIFO部55に空きが生じたことを示す情報を、上記MSIを利用して第1のチップ21のチップインターフェース35に送る。チップインターフェース35は帯域制限ブロック89aを無効にする信号を送る。これにより機能ブロック31Aで処理されたデータの調停部33aへの転送が再開される。
【0087】
FIFO部55がフルになった場合で説明したが、FIFO部57がフルになった場合は帯域制限ブロック89bにより同様の処理がされる。また、FIFO部55はデータがフルになれば、フルであることを示す信号S1をチップインターフェース51に送る例で説明したが、フルに近くなった場合に信号S1を送るようにしてもよい。
【0088】
以上説明したように第2実施形態によれば、FIFO部55,57のいずれかがフルになった場合、フルになったFIFO部に格納されるデータに割り当てられている優先度と同じ優先度が割り当てられているデータを処理する機能ブロックにおいて、その機能ブロックで処理されたデータの転送が帯域制限ブロック89a,89bにより止められる。従って、FIFO部55,57がフルになっても、第2のチップ23でデータが溢れることを防止できる。
【0089】
次に第3実施形態を説明する。第3実施形態については第1及び第2実施形態との相違点を中心に説明し、共通点については説明を省略する。図12は第3実施形態に係る情報処理装置に備えられる第2のチップ25の構成を示すブロック図である。第3実施形態に係る情報処理装置に備えられる第1のチップは、図10に示す第1のチップ21と同じ構成を有する。第3実施形態において、第2のチップ25はFIFO部71、デコーダ73、配線75,77及び切換部79,81を備える。
【0090】
FIFO部71は第2のFIFO部として機能し、FIFO部55,57のいずれかがフルになった場合に、待避用のFIFO部となる。
【0091】
配線75,77(複数の第2の配線)はFIFO部55,57に対応して設けられ、対応するFIFO部に接続されている。
【0092】
FIFO部71に格納されたデータはデコーダ73に送られる。デコーダ73は第2のデコーダとして機能し、FIFO部71から転送されてきたデータに対して、そのデータに含まれるアドレス情報をデコードして、配線75,77(複数の第2の配線)の中でそのデータに割り当てられている優先度に対応する配線を選択する。
【0093】
デコーダ73はデコーダ53と同様に、データに含まれるアドレス情報の上位4ビット(16進数の上位一桁)をデコードして、配線75,77のいずれかを選択する。具体的には、図4に示すように、16進数の上位一桁が「4」〜「5」であれば配線75を選択し、16進数の上位一桁が「6」〜「8」であれば配線77を選択する。
【0094】
切換部79には配線61を用いて転送されてきたデータが入力される。切換部79はFIFO部55からのフル信号S1が入力可能にされている。切換部79にフル信号S1が入力されていなければ、配線61を用いて転送されてきたデータはFIFO部55に転送される。切換部79にフル信号S1が入力されていれば、配線61を用いて転送されてきたデータはFIFO部71に転送される。
【0095】
切換部81には配線63を用いて転送されてきたデータが入力される。切換部81はFIFO部57からのフル信号S1が入力可能にされている。切換部81にフル信号S1が入力されていなければ、配線63を用いて転送されてきたデータはFIFO部57に転送される。切換部81にフル信号S1が入力されていれば、配線63を用いて転送されてきたデータはFIFO部71に転送される。
【0096】
以上のように切換部79,81により構成される切換部は、FIFO部55,57のいずれかがフルになった場合、デコーダ53で選択された配線を用いて転送されるデータの中でフルになったFIFO部に転送されるデータを、FIFO部71に転送する切り換えをする。
【0097】
第3実施形態では第2実施形態と同様に、FIFO部55がフルになれば帯域制限ブロック89aが有効となることにより、機能ブロック31Aで処理されたデータの転送を止めることができ、FIFO部57がフルになれば帯域制限ブロック89bが有効となることにより、機能ブロック31Bで処理されたデータの転送を止めることができる。これにより、第2のチップ25でデータが溢れることを防止している。しかし、FIFO部55,57がフルになってから帯域制限ブロック89a,89bが有効になるまでの時間を決定できない場合がある。この場合、FIFO部55,57がフルになる前に信号S1をチップインターフェース51に送ったとしても、フルになったFIFO部55,57に機能ブロック31A,31Bで処理されたデータが転送されてくる可能性がある。その結果、第2のチップ25でデータが溢れることになる。
【0098】
第3実施形態によれば、FIFO部55,57(複数の第1のFIFO部)のいずれかがフルになった場合、フルになったFIFO部に転送されるデータを、FIFO部71(第2のFIFO部)に転送されるように切り換えて、FIFO部71に待避させている。これにより、フルになったFIFO部に空きができる時間を稼ぐことができる。そして、FIFO部71から転送されてきた、フルになったFIFO部に転送されるデータに含まれるアドレス情報をデコードして、FIFO部55,57の中で対応するFIFO部(すなわち、フルになっていFIFO部)に戻している。以上のように、FIFO部55,57のいずれかがフルになっても、フルになったFIFO部に転送されるデータをFIFO部71に待避させているので、第2のチップ25でデータが溢れることを防止できる。帯域制限ブロック89a,89bを設けても、FIFO部55,57がフルになってから帯域制限ブロック89a,89bが有効になるまでの時間を決定できない場合があり、このような場合に有効となる。また、FIFO部55,57の容量を大きくすることなく、第2のチップ25でデータが溢れることを防止できる。
【0099】
第3実施形態の変形例として、図2に示す第1のチップ7と図12に示す第2のチップ25の組み合わせた態様でもよい。この態様では第1のチップ7が帯域制限ブロックを備えないので、第2のチップ25において、FIFO部55,57からチップインターフェース51に信号S1を送る配線を不要となる。
【0100】
次に第4実施形態を説明する。第4実施形態については第1〜第3実施形態との相違点を中心に説明し、共通点については説明を省略する。図13は第4実施形態に係る情報処理装置に備えられる第1のチップ27の構成を示すブロック図である。図14は第4実施形態に係る情報処理装置に備えられる第2のチップ29の構成を示すブロック図である。
【0101】
チップインターフェース85は第1のチップ27で処理されたデータが第2のチップ29に転送される前に一時格納されるFIFO部85(第3のFIFO部)を有する。チップインターフェース51は第1のチップ27から第2のチップ29に転送されてきたデータがデコーダ53(第1のデコーダ)に転送される前に一時格納されるFIFO部87(第4のFIFO部)を有する。
【0102】
第1のチップ27には帯域制限ブロックが設けられていないので、第2のチップ29にはFIFO部55,57からチップインターフェース51に信号S1を送る配線が設けられていない。
【0103】
第1のチップ27において、機能ブロック31A,31B,31Cで処理されたデータがチップインターフェース35に送られると、FIFO部85で一時格納された後、チップインターフェース35でパケット101(図6)にされる。パケット101はバス15を伝送して、第2のチップ29のチップインターフェース51に送られる。パケット101はチップインターフェース51でデータ(画像データ、アドレス情報、制御情報)に戻され、FIFO部87に一時格納された後、デコーダ53に送られる。
【0104】
FIFO部85,87はバッファとして機能する。これにより、チップインターフェース35でのデータ受信量、チップインターフェース51でのデータ送信量、チップインターフェース35,51でのパケット処理量の差を吸収する。
【0105】
第4実施形態では第3実施形態と同様に、第1のチップ27において機能ブロック31A,31Bで処理されたデータ(すなわち、比較的低い優先度が割り当てられたデータ)によりFIFO部55,57のいずれかがフルになれば、フルになったFIFO部に転送されるデータをFIFO部71に転送されるように切り換えている。従って、フルになったFIFO部に転送されるデータがFIFO部85,87に滞留することを防止することが可能となる。この結果、FIFO部55,57のいずれかがフルになった状態で、機能ブロック31Cで処理されたデータ(すなわち、比較的高い優先度が割り当てられているデータ)がFIFO部85に転送されてきても、そのデータをFIFO部85,87で滞留させることなく、フルになったFIFO部に転送されるデータを追い越して、DRAM11に転送することができる。
【0106】
特に、第2のFIFO部71の容量が第3のFIFO部85及び第4のFIFO部87の容量と少なくとも同じであれば、フルになったFIFO部に転送されるデータによってFIFO部85及びFIFO部87がフルになった状態で、機能ブロック31Cで処理されたデータがFIFO部85に転送されてきても、FIFO部85,87に格納されているデータ(フルになったFIFO部に転送されるデータ)の全てをFIFO部71に転送することができる。従って、フルになったFIFO部に転送されるデータによってFIFO部85,87がフルになっても、これらのデータを追い越して、フルになったFIFO部に転送されるデータ以外のデータ(例えば機能ブロック31Cで処理されたデータ)をDRAM11に転送させることができる。
【0107】
第4実施形態の変形例として、第1のチップ27が図10に示す第1のチップ21と同様に、機能ブロック31Aと調停部33aの間に帯域制限ブロック89a、及び、機能ブロック31Bと調停部33aの間に帯域制限ブロック89bを備える態様でもよい。この態様では、第1のチップが帯域制限ブロックを備えるので、第2のチップ29において、FIFO部55,57からチップインターフェース51に信号S1を送る配線が必要となる。
【0108】
第1〜第4実施形態では、DRAM11から読み出されたデータを機能ブロック31で処理し、処理したデータをDRAM11に書き込む例で説明した。ラインセンサから出力されたデータを機能ブロック31で処理し、処理したデータをDRAM11に書き込む場合でも第1〜第4実施形態を適用できる。
【符号の説明】
【0109】
1 情報処理装置
7,21,27 第1のチップ
9,23,25,29 第2のチップ
11 DRAM(メモリ)
15,17 バス
31A,31B,31C 第1の機能ブロック
31D,31E,31F 第2の機能ブロック
33a,33b 調停部(第1の調停部)
33c,33d,33e,33f,33g 調停部(第2の調停部)
53 デコーダ(第1のデコーダ)
55,57 FIFO部(第1のFIFO部)
61,63,65 配線(第1の配線)
71 FIFO部(第2のFIFO部)
73 デコーダ(第2のデコーダ)
75,77 配線(第2の配線)
79,81 切換部
85 FIFO部(第3のFIFO部)
87 FIFO部(第4のFIFO部)
89a,89b 帯域制限ブロック

【特許請求の範囲】
【請求項1】
第1のチップと、
第2のチップと、
前記第1のチップと前記第2のチップを接続するバスと、
前記第1のチップで処理されて前記バス及び前記第2のチップを経由して転送されてきたデータ及び前記第2のチップで処理されて転送されてきたデータが書き込まれるメモリと、を備え、
前記メモリに書き込まれるデータに含まれるアドレス情報を基にして、当該データには前記メモリに転送する際の優先度が予め割り当てられており、
前記第1のチップは、
前記第1のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第1の調停部を含み、
前記第2のチップは、
複数の第1の配線と、
前記第1のチップで処理されて前記バスを経由して転送されてきたデータに対して、当該データに含まれる前記アドレス情報をデコードして、前記複数の第1の配線の中で当該データに割り当てられている前記優先度に対応する前記第1の配線を選択する第1のデコーダと、
(1)前記第1の配線を用いて転送されてきたデータと当該データと同じ前記優先度が割り当てられ前記第2のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(2)前記第1の配線を用いて転送されてきたデータと当該データと異なる前記優先度が割り当てられ前記第2のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(3)前記第2のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をし、及び(4)前記第1の配線を用いて転送されてきたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第2の調停部と、を含む情報処理装置。
【請求項2】
前記第1のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第1の機能ブロックを含み、
前記第2のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第2の機能ブロックを含み、
前記複数の第1の機能ブロックで処理されたデータは、前記第1の調停部において調停の対象となり、
前記複数の第1の機能ブロックで処理されたデータ及び前記複数の第2の機能ブロックで処理されたデータは、前記第2の調停部において調停の対象となる請求項1に記載の情報処理装置。
【請求項3】
前記第2のチップは、前記複数の第1の機能ブロックで処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、当該データが前記第2の調停部に転送される前に、一時格納される複数の第1のFIFO部を含む請求項2に記載の情報処理装置。
【請求項4】
前記複数の第1のFIFO部のいずれかがフルになった場合、フルになった前記第1のFIFO部に格納されるデータに割り当てられている前記優先度と同じ前記優先度が割り当てられているデータを処理する前記第1の機能ブロックにおいて、当該第1の機能ブロックで処理されたデータの転送を止める帯域制限ブロックを備える請求項3に記載の情報処理装置。
【請求項5】
前記第2のチップは、
第2のFIFO部と、
前記複数の第1のFIFO部のいずれかがフルになった場合、前記第1のデコーダで選択された前記第1の配線を用いて転送されるデータの中で、フルになった前記第1のFIFO部に転送されるデータを、前記第2のFIFO部に転送する切り換えをする切換部と、
前記複数の第1のFIFO部に対応して設けられ、対応する前記第1のFIFO部に接続されている複数の第2の配線と、
前記第2のFIFO部から転送されてきたデータに対して、当該データに含まれるアドレス情報をデコードして、前記複数の第2の配線の中で当該データに割り当てられている前記優先度に対応する前記第2の配線を選択する第2のデコーダと、を含む請求項3又は4に記載の情報処理装置。
【請求項6】
前記第1のチップ及び前記第2のチップは、それぞれチップインターフェースを含み、
前記第1のチップの前記チップインターフェースは、前記第1のチップで処理されたデータが前記第2のチップに転送される前に一時格納される第3のFIFO部を有し、
前記第2のチップの前記チップインターフェースは、前記第1のチップから前記第2のチップに転送されてきたデータが前記第1のデコーダに転送される前に一時格納される第4のFIFO部を有する請求項5に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate