(57)【特許請求の範囲】
【請求項１】
第１のチップと、
第２のチップと、
前記第１のチップと前記第２のチップを接続するバスと、
前記第１のチップで処理されて前記バス及び前記第２のチップを経由して転送されてきたデータ及び前記第２のチップで処理されて転送されてきたデータが書き込まれるメモリと、を備え、
前記メモリに書き込まれるデータに含まれるアドレス情報を基にして、当該データには前記メモリに転送する際の優先度が予め割り当てられており、
前記第１のチップは、
前記第１のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第１の調停部を含み、
前記第２のチップは、
複数の第１の配線と、
前記第１のチップで処理されて前記バスを経由して転送されてきたデータに対して、当該データに含まれる前記アドレス情報をデコードして、前記複数の第１の配線の中で当該データに割り当てられている前記優先度に対応する前記第１の配線を選択する第１のデコーダと、
(１)前記第１の配線を用いて転送されてきたデータと当該データと同じ前記優先度が割り当てられ前記第２のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(２)前記第１の配線を用いて転送されてきたデータと当該データと異なる前記優先度が割り当てられ前記第２のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(３)前記第２のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をし、及び(４)前記第１の配線を用いて転送されてきたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第２の調停部と、を含む情報処理装置。
【請求項２】
前記第１のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第１の機能ブロックを含み、
前記第２のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第２の機能ブロックを含み、
前記複数の第１の機能ブロックで処理されたデータは、前記第１の調停部において調停の対象となり、
前記複数の第１の機能ブロックで処理されたデータ及び前記複数の第２の機能ブロックで処理されたデータは、前記第２の調停部において調停の対象となる請求項１に記載の情報処理装置。
【請求項３】
前記第２のチップは、前記複数の第１の機能ブロックで処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、当該データが前記第２の調停部に転送される前に、一時格納される複数の第１のＦＩＦＯ部を含む請求項２に記載の情報処理装置。  
【請求項４】
前記複数の第１のＦＩＦＯ部のいずれかがフルになった場合、フルになった前記第１のＦＩＦＯ部に格納されるデータに割り当てられている前記優先度と同じ前記優先度が割り当てられているデータを処理する前記第１の機能ブロックにおいて、当該第１の機能ブロックで処理されたデータの転送を止める帯域制限ブロックを備える請求項３に記載の情報処理装置。
【請求項５】
前記第２のチップは、
第２のＦＩＦＯ部と、
前記複数の第１のＦＩＦＯ部のいずれかがフルになった場合、前記第１のデコーダで選択された前記第１の配線を用いて転送されるデータの中で、フルになった前記第１のＦＩＦＯ部に転送されるデータを、前記第２のＦＩＦＯ部に転送する切り換えをする切換部と、
前記複数の第１のＦＩＦＯ部に対応して設けられ、対応する前記第１のＦＩＦＯ部に接続されている複数の第２の配線と、
前記第２のＦＩＦＯ部から転送されてきたデータに対して、当該データに含まれるアドレス情報をデコードして、前記複数の第２の配線の中で当該データに割り当てられている前記優先度に対応する前記第２の配線を選択する第２のデコーダと、を含む請求項３又は４に記載の情報処理装置。
【請求項６】
前記第１のチップ及び前記第２のチップは、それぞれチップインターフェースを含み、
前記第１のチップの前記チップインターフェースは、前記第１のチップで処理されたデータが前記第２のチップに転送される前に一時格納される第３のＦＩＦＯ部を有し、
前記第２のチップの前記チップインターフェースは、前記第１のチップから前記第２のチップに転送されてきたデータが前記第１のデコーダに転送される前に一時格納される第４のＦＩＦＯ部を有する請求項５に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特にメモリにアクセスが競合した場合の調停に関する。
【背景技術】
【０００２】
情報処理装置にはＣＰＵ(Central Processing Unit)及びメインメモリに加えてＡＳＩＣ(Application Specific Integrated Circuit)のようなチップを備えるものがある。例えばデジタル複合機には画像処理用のチップ、ファクシミリ通信用のチップ等が備えられる。チップには多種多様な機能ブロックが存在する。これらの機能ブロックのほとんど全てがメインメモリであるＤＲＡＭ(Dynamic Random Access Memory)にアクセスする。
【０００３】
チップに含まれる機能ブロックが増加すると、全ての機能ブロックが同時にＤＲＡＭにアクセスすれば、ＤＲＡＭではデータの読み書きができなくなる。そこで、ＤＲＡＭにアクセスできる権限の優先度を各機能ブロックに割り当てて、アクセスが競合すれば調停することが行われている。
【０００４】
チップ間を接続するインターフェース技術の発展により、１つのチップに含まれる多数の機能ブロックを２つ以上のチップに振り分けることが容易となった。どの機能ブロックをどのチップに配置するかはチップの流用性、開発容易性等を考慮して定められることが多い。このため、異なる優先度の複数の機能ブロックが各チップに存在することがある。
【０００５】
チップ間のインターフェースとして、例えばＰＣＩエキスプレス(Peripheral Component Interconnect Express)がある。ＰＣＩエキスプレスはシリアル転送インターフェースであり、ＰＣＩのようなパラレルインターフェースの欠点を改良し、高速データ転送を可能とする。ＰＣＩエキスプレスではトランザクション層でパケットのやり取りをする。
【０００６】
ＰＣＩエキスプレスを用いた調停として、トランザクション層のパケットをモニタし、その結果をフィードバック制御してアビトレーションテーブルに反映することにより、実際に伝送されたパケットの量に応じてパケット伝送の優先度を割り当てる技術が提案されている(例えば特許文献１参照)。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２４９８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
各機能ブロックで処理されたデータをメモリに書き込むためにデータをメモリに転送する際に、チップの配線上でアクセスが競合すれば、いずれのデータを優先して転送させるかを調停しなければならない。第１のチップの機能ブロックで処理されたデータが第２のチップを経由してメモリに書き込まれるシステムでは、データをメモリに転送する際の優先度に基づいて第１及び第２のチップでそれぞれ上記調停がされる。この場合、第２のチップで調停された低い優先度のデータによって、第１のチップで調停された高い優先度のデータがメモリに転送されるのが遅れると、第１のチップで調停した意味がなくなってしまう。
【０００９】
本発明は第１のチップで処理されたデータが第２のチップを経由してメモリに転送される場合に、第１のチップで処理されたデータと第２のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明に係る情報処理装置は、第１のチップと、第２のチップと、前記第１のチップと前記第２のチップを接続するバスと、前記第１のチップで処理されて前記バス及び前記第２のチップを経由して転送されてきたデータ及び前記第２のチップで処理されて転送されてきたデータが書き込まれるメモリと、を備え、前記メモリに書き込まれるデータに含まれるアドレス情報を基にして、当該データには前記メモリに転送する際の優先度が予め割り当てられており、前記第１のチップは、前記第１のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第１の調停部を含み、前記第２のチップは、複数の第１の配線と、前記第１のチップで処理されて前記バスを経由して転送されてきたデータに対して、当該データに含まれる前記アドレス情報をデコードして、前記複数の第１の配線の中で当該データに割り当てられている前記優先度に対応する前記第１の配線を選択する第１のデコーダと、(１)前記第１の配線を用いて転送されてきたデータと当該データと同じ前記優先度が割り当てられ前記第２のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(２)前記第１の配線を用いて転送されてきたデータと当該データと異なる前記優先度が割り当てられ前記第２のチップで処理されたデータとが前記メモリに転送される際にアクセスが競合すれば調停をし、(３)前記第２のチップで処理されたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をし、及び(４)前記第１の配線を用いて転送されてきたデータであって、異なる前記優先度が割り当てられているデータどうしが前記メモリに転送される際にアクセスが競合すれば調停をする第２の調停部と、を含む。
【００１１】
本発明において、第１のデコーダは第１のチップで調停されてバス及び第２のチップを経由してメモリに転送されるデータに対して、第２のチップ上の複数の第１の配線の中でそのデータに割り当てられている優先度に対応する第１の配線を選択する。そして、第２の調停部で上記(１)〜(４)の調停をする。これにより、第１のチップで処理されたデータと第２のチップで処理されたデータとに対して、第２のチップにおいて、メモリに転送する優先度が同じデータを調停し、かつメモリに転送する優先度が異なるデータを調停するこができる。従って、本発明によれば、第１のチップで処理されたデータが第２のチップを経由してメモリに転送される場合に、第１のチップで処理されたデータと第２のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる。
【００１２】
上記構成において、前記第１のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第１の機能ブロックを含み、前記第２のチップはそれぞれ、異なる前記優先度が割り当てられているデータを処理する複数の第２の機能ブロックを含み、前記複数の第１の機能ブロックで処理されたデータは、前記第１の調停部において調停の対象となり、前記複数の第１の機能ブロックで処理されたデータ及び前記複数の第２の機能ブロックで処理されたデータは、前記第２の調停部において調停の対象となる。
【００１３】
この構成はデータをメモリに転送する際にアクセスが競合した場合の優先度が機能ブロック単位で分けられている態様に本発明を適用したものである。
【００１４】
上記構成において、前記第２のチップは、前記複数の第１の機能ブロックで処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、当該データが前記第２の調停部に転送される前に、一時格納される複数の第１のＦＩＦＯ部を含む。  
【００１５】
上述したように複数の第１の機能ブロックで処理されたデータは第２のチップで調停の対象となる。このため、複数の第１の機能ブロックで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータについてはメモリへの転送が遅れる可能性がある。従って、それらのデータが第２のチップからメモリに転送される前に、同じ優先度が割り当てられているデータが第１のチップから第２のチップに連続して転送されてくれば、第２のチップでデータが溢れてしまうおそれがある。第２のチップに複数の第１のＦＩＦＯ部を備える上記構成によれば、複数の第１の機能ブロックで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第２のチップで溢れることを防止できる。
【００１６】
上記構成において、前記複数の第１のＦＩＦＯ部のいずれかがフルになった場合、フルになった前記第１のＦＩＦＯ部に格納されるデータに割り当てられている前記優先度と同じ前記優先度が割り当てられているデータを処理する前記第１の機能ブロックにおいて、当該第１の機能ブロックで処理されたデータの転送を止める帯域制限ブロックを備える。
【００１７】
この構成によれば、複数の第１のＦＩＦＯ部のいずれかがフルになっても、第２のチップでデータが溢れることを防止できる。
【００１８】
上記構成において、前記第２のチップは、第２のＦＩＦＯ部と、前記複数の第１のＦＩＦＯ部のいずれかがフルになった場合、前記第１のデコーダで選択された前記第１の配線を用いて転送されるデータの中で、フルになった前記第１のＦＩＦＯ部に転送されるデータを、前記第２のＦＩＦＯ部に転送する切り換えをする切換部と、前記複数の第１のＦＩＦＯ部に対応して設けられ、対応する前記第１のＦＩＦＯ部に接続されている複数の第２の配線と、前記第２のＦＩＦＯ部から転送されてきたデータに対して、当該データに含まれるアドレス情報をデコードして、前記複数の第２の配線の中で当該データに割り当てられている前記優先度に対応する前記第２の配線を選択する第２のデコーダと、を含む。
【００１９】
この構成によれば、複数の第１のＦＩＦＯ部のいずれかがフルになった場合、フルになった第１のＦＩＦＯ部に転送されるデータを、第２のＦＩＦＯ部に転送されるように切り換えて、第２のＦＩＦＯ部に待避させている。これにより、フルになった第１のＦＩＦＯ部に空きができる時間を稼ぐことができる。そして、第２のＦＩＦＯ部から転送されてきた、フルになった第１のＦＩＦＯ部に転送されるデータに含まれるアドレス情報をデコードして、複数の第１のＦＩＦＯ部の中で対応する第１のＦＩＦＯ部(すなわち、フルになっていた第１のＦＩＦＯ部)に戻している。以上のように、複数の第１のＦＩＦＯ部のいずれかがフルになっても、フルになった第１のＦＩＦＯ部に転送されるデータを第２のＦＩＦＯ部に待避させているので、第２のチップでデータが溢れることを防止できる。帯域制限ブロックを設けても、第１のＦＩＦＯ部がフルになってから帯域制限ブロックが有効になるまでの時間を決定できない場合があり、このような場合にも有効となる。
【００２０】
上記構成において、前記第１のチップ及び前記第２のチップは、それぞれチップインターフェースを含み、前記第１のチップの前記チップインターフェースは、前記第１のチップで処理されたデータが前記第２のチップに転送される前に一時格納される第３のＦＩＦＯ部を有し、前記第２のチップの前記チップインターフェースは、前記第１のチップから前記第２のチップに転送されてきたデータが前記第１のデコーダに転送される前に一時格納される第４のＦＩＦＯ部を有する。
【００２１】
この構成において、第３のＦＩＦＯ部は第１のチップで処理されたデータが第１のチップのチップインターフェースに転送されてきた際にバッファとして機能する。第４のＦＩＦＯ部は第１のチップから第２のチップに転送されてきたデータが第１のデコーダに転送される際にバッファとして機能する。上述したように複数の第１のＦＩＦＯ部のいずれかがフルになった場合、フルになった第１のＦＩＦＯ部に転送されるデータを、第２のＦＩＦＯ部に転送されるように切り換えている。従って、フルになった第１のＦＩＦＯ部に転送されるデータが第３及び第４のＦＩＦＯ部に滞留することを防止することが可能となる。この結果、第１のＦＩＦＯ部のいずれかがフルになった状態で、フルになった第１のＦＩＦＯ部に転送されるデータ以外のデータ(例えば、比較的高い優先度が割り当てられているデータ)が第３のＦＩＦＯ部に転送されてきても、そのデータを第３のＦＩＦＯ部及び第４のＦＩＦＯ部で滞留させることなく、フルになった第１のＦＩＦＯ部に転送されるデータを追い越して、メモリに転送することができる。
【発明の効果】
【００２２】
本発明によれば、第１のチップで処理されたデータが第２のチップを経由してメモリに転送される場合に、第１のチップで処理されたデータと第２のチップで処理されたデータとのアクセスが競合すれば、メモリに転送する優先度が高いデータから順にメモリに転送することができる。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】第１実施形態に係る第１のチップの構成を示すブロック図である。
【図３】第１実施形態に係る第２のチップの構成を示すブロック図である。
【図４】第１実施形態においてメモリとなるＤＲＡＭのアドレス空間の一例を示す図である。
【図５】調停部３３ａ，３３ｂ，３３ｅ，３３ｆでの調停結果を示す図である。
【図６】ＰＣＩエキスプレスでのトランザクション層のパケットの構成を示す図である。
【図７】調停部３３ｃ，３３ｄでの調停結果を示す図である。
【図８】調停部３３ｇでの調停結果を示す図である。
【図９】第１実施形態に係る第２のチップと比較される第２のチップの構成を示すブロック図である。
【図１０】第２実施形態に係る第１のチップの構成を示すブロック図である。
【図１１】第２実施形態に係る第２のチップの構成を示すブロック図である。
【図１２】第３実施形態に係る第２のチップの構成を示すブロック図である。
【図１３】第４実施形態に係る第１のチップの構成を示すブロック図である。
【図１４】第４実施形態に係る第２のチップの構成を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づいて本発明の実施形態を詳細に説明する。図１は本発明の第１実施形態に係る情報処理装置１の構成を示すブロック図である。情報処理装置１はＣＰＵ３、メインメモリ５、第１のチップ７、第２のチップ９及びＤＲＡＭ１１(メモリの一例)を備える。情報処理装置１は例えばデジタル複合機に搭載することができる。
【００２５】
ＣＰＵ３、メインメモリ５、第１のチップ７及び第２のチップ９はバス１３によって接続されている。メインメモリ５は例えばＤＲＡＭである。第１のチップ７及び第２のチップ９は例えば画像処理用のＡＳＩＣであり、バス１５によって接続されている。第２のチップ９はバス１７によってＤＲＡＭ１１と接続されている。ＤＲＡＭ１１から読み出されたデータは第１のチップ７又は第２のチップ９で処理されて、ＤＲＡＭ１１に書き込まれる。
【００２６】
第１のチップ７及び第２のチップ９について説明する。図２は第１のチップ７の構成を示すブロック図であり、図３は第２のチップ９の構成を示すブロック図である。第１のチップ７は機能ブロック３１Ａ，３１Ｂ，３１Ｃ(第１の機能ブロック)を含み、第２のチップ９は機能ブロック３１Ｄ，３１Ｅ，３１Ｆ(第２の機能ブロック)を含む。これらの機能ブロックを区別しない場合は機能ブロック３１と記載する。機能ブロック３１は回路ブロックであり、ＤＲＡＭ１１から読み出されたデータを処理する。データは画像データ、アドレス情報及び制御情報を含む。アドレス情報は画像データが記憶されるＤＲＡＭ１１のメモリセルのアドレスを示す情報である。制御情報はＤＲＡＭ１１に画像データを書き込む命令を示す情報である。
【００２７】
機能ブロック３１はＤＭＡ(Direct Memory Access)コントローラを有しており、バスマスタとして機能する。機能ブロック３１は図示しないバスアービタによってバス１５，１７の使用権が調停される。
【００２８】
ＤＲＡＭ１１には第１のチップ７(機能ブロック３１Ａ，３１Ｂ，３１Ｃ)で処理されてバス１５及び第２のチップ９を経由して転送されてきたデータ、及び第２のチップ９(機能ブロック３１Ｄ，３１Ｅ，３１Ｆ)で処理されて転送されてきたデータが書き込まれる。各機能ブロック３１で処理されたデータをＤＲＡＭ１１に書き込むために、データをＤＲＡＭ１１に転送する際に、第１のチップ７又は第２のチップ９の配線上でアクセスが競合すれば、どのデータを優先して転送させるかを調停しなければならない。
【００２９】
そこで、データをＤＲＡＭ１１に転送する際の優先度を「低優先度」、「中優先度」、「高優先度」の三つに分けている。機能ブロック３１Ａ，３１Ｄは低優先度が割り当てられているデータを処理し、機能ブロック３１Ｂ，３１Ｅは中優先度が割り当てられているデータを処理し、機能ブロック３１Ｃ，３１Ｆは高優先度が割り当てられているデータを処理する。すなわち、本実施形態では、データをＤＲＡＭ１１に転送する際にアクセスが競合した場合の優先度が機能ブロック３１の単位で分けられている。機能ブロック３１Ａ，３１Ｂ，３１Ｃはそれぞれ異なる優先度が割り当てられているデータを処理する複数の第１の機能ブロックとなる。機能ブロック３１Ｄ，３１Ｅ，３１Ｆはそれぞれ異なる優先度が割り当てられているデータを処理する複数の第２の機能ブロックとなる。各機能ブロック３１においては同じ優先度が割り当てられているデータを処理する(例えば機能ブロック３１Ａは低優先度が割り当てられているデータを処理する)。
【００３０】
従って、機能ブロック３１Ｃ，３１Ｆで処理されたデータが機能ブロック３１Ａ，３１Ｂ，３１Ｄ，３１Ｅで処理されたデータよりも優先してＤＲＡＭ１１に転送され、機能ブロック３１Ｂ，３１Ｅで処理されたデータが機能ブロック３１Ａ，３１Ｄで処理されたデータよりも優先してＤＲＡＭ１１に転送される調停がされる。優先度はＤＲＡＭ１１に書き込まれるデータに含まれるアドレス情報を基にして割り当てられる。
【００３１】
図４はＤＲＡＭ１１のアドレス空間を示す図である。ＤＲＡＭ１１のアドレス空間は３２ビットのアドレス空間である。アドレス情報は１６進数で示されている。ＤＲＡＭ１１は優先度毎に分けられたアドレス空間を有する。優先度はアドレス情報の上位ビット(本実施形態では上位４ビット(１６進数の上位一桁))を基にして分けられており、例えば、１６進数の上位一桁が「４」〜「５」は低優先度、「６」〜「８」は中優先度、「９」〜「Ｂ」は高優先度が割り当てられているアドレス空間である。
【００３２】
第１のチップ７について説明する。図２に示すように第１のチップ７は機能ブロック３１Ａ，３１Ｂ，３１Ｃ、調停部３３ａ，３３ｂ及びチップインターフェース３５を含む。図１のバス１３と接続するインターフェースについては図示を省略している。機能ブロック３１Ａ，３１Ｂ，３１Ｃは上述した通りである。以下に説明するように、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータは第１の調停部(調停部３３ａ，３３ｂ)において調停の対象となる。第１の調停部は第１のチップ７で処理されたデータであって、異なる優先度が割り当てられているデータどうしがＤＲＡＭ１１に転送される際にアクセスが競合すれば調停をする。
【００３３】
調停部３３ａは第１の調停部を構成する要素であり、機能ブロック３１Ａで処理されたデータと機能ブロック３１Ｂで処理されたデータをＤＲＡＭ１１に書き込むためにこれらのデータをＤＲＡＭ１１に転送する際に、第１のチップ７の配線上でアクセスが競合すれば調停をする。調停部３３ａではＤＲＡＭ１１に転送する際の優先度が異なるデータについて調停をする。
【００３４】
調停部３３ａはバッファ３７ａ，３９ａ、セレクタ４１ａ及びセレクタ制御回路４３ａを含む。バッファ３７ａには機能ブロック３１Ａで処理されたデータが一時記憶され、バッファ３９ａには機能ブロック３１Ｂで処理されたデータが一時記憶される。セレクタ制御回路４３ａはバッファ３７ａ，３９ａにデータが記憶されているか否かに基づいて、セレクタ４１ａを制御する。図５は調停部３３ａでの調停結果を示す図である。
【００３５】
一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(１、２)、すなわち、第１のチップ７の配線上でアクセスが競合していない場合、セレクタ制御回路４３ａはデータを記憶しているバッファからデータが出力されるようにセレクタ４１ａを制御する。
【００３６】
二つのバッファにデータが記憶されている場合(３)、すなわち、第１のチップ７の配線上でアクセスが競合する場合、セレクタ制御回路４３ａはバッファ３９ａに記憶されているデータが出力されるようにセレクタ４１ａを制御する。これにより、機能ブロック３１Ｂで処理されたデータは機能ブロック３１Ａで処理されたデータよりも優先してＤＲＡＭ１１に転送される。
【００３７】
セレクタ４１ａで選択されたデータは調停部３３ｂに送られる。調停部３３ｂはセレクタ４１ａで選択されたデータと機能ブロック３１Ｃで処理されたデータをＤＲＡＭ１１に書き込むためにこれらのデータをＤＲＡＭ１１に転送する際に、第１のチップ７の配線上でアクセスが競合すれば調停をする。調停部３３ｂは調停部３３ａと同様に、ＤＲＡＭ１１に転送する際の優先度が異なるデータについて調停をする。
【００３８】
調停部３３ｂはバッファ３７ｂ，３９ｂ、セレクタ４１ｂ及びセレクタ制御回路４３ｂを含む。バッファ３７ｂにはセレクタ４１ａで選択されたデータが一時記憶され、バッファ３９ｂには機能ブロック３１Ｃで処理されたデータが一時記憶される。セレクタ制御回路４３ｂはバッファ３７ｂ，３９ｂにデータが記憶されているか否かに基づいて、セレクタ４１ｂを制御する。
【００３９】
調停部３３ｂでの調停結果は図５に示す調停部３３ａでの調停結果と同様である。第１のチップ７の配線上でアクセスが競合していない場合(１、２)、セレクタ制御回路４３ｂはデータを記憶しているバッファからデータが出力されるようにセレクタ４１ｂを制御する。第１のチップ７の配線上でアクセスが競合する場合(３)、セレクタ制御回路４３ｂはバッファ３９ｂに記憶されているデータが出力されるようにセレクタ４１ｂを制御する。これにより、機能ブロック３１Ａ，３１Ｂよりも機能ブロック３１Ｃで処理されたデータが優先してＤＲＡＭ１１に転送される。
【００４０】
セレクタ４１ｂで選択されたデータはチップインターフェース３５に送られる。チップインターフェース３５はバス１５によって第２のチップ９に接続されている。
【００４１】
第２のチップ９について説明する。図３に示すように第２のチップ９は、機能ブロック３１Ｄ，３１Ｅ，３１Ｆ、調停部３３ｃ，３３ｄ，３３ｅ，３３ｆ，３３ｇ、チップインターフェース５１、デコーダ５３、ＦＩＦＯ(First In, First Out)部５５，５７、ＤＲＡＭコントローラ５９及び配線６１，６３，６５を含む。図１のバス１３と接続するインターフェースについては図示を省略している。機能ブロック３１Ｄ，３１Ｅ，３１Ｅは上述した通りである。以下に説明するように、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータ及び機能ブロック３１Ｄ，３１Ｅ，３１Ｆで処理されたデータは、第２の調停部(調停部３３ｃ，３３ｄ，３３ｅ，３３ｆ，３３ｇ)において調停の対象となる。
【００４２】
なお、第１の調停部(調停部３３ａ，３３ｂ)及び第２の調停部(３３ｃ〜３３ｇ)において、データはトランザクションの単位で調停される。
【００４３】
チップインターフェース５１はバス１５に接続されている。チップインターフェース３５，５１は例えばＰＣＩエキスプレス規格のインターフェースである。図６はＰＣＩエキスプレスでのトランザクション層のパケット１０１の構成を示している。パケット１０１はヘッダ１０３とペイロード１０５を含む。図２に示すセレクタ４１ｂで選択されたデータのうち、画像データがペイロード１０５に格納され、アドレス情報及び制御情報がヘッダ１０３に格納される。
【００４４】
パケット１０１はバス１５を伝送して、チップインターフェース５１に送られる。パケット１０１はチップインターフェース５１でデータ(画像データ、アドレス情報、制御情報)に戻されて、デコーダ５３に送られる。
【００４５】
デコーダ５３は第１のデコーダの一例であり、第１のチップ７で処理されてバス１５を経由して転送されてきたデータに対して、そのデータに含まれるアドレス情報をデコードして、配線６１，６３，６５(複数の第１の配線)の中でそのデータに割り当てられている優先度に対応する配線を選択する。
【００４６】
デコーダ５３はデータに含まれるアドレス情報の上位４ビット(１６進数の上位一桁)をデコードして、配線６１，６３，６５のいずれかを選択する。具体的には、図４に示すように、１６進数の上位一桁が「４」〜「５」であれば配線６１を選択し、１６進数の上位一桁が「６」〜「８」であれば配線６３を選択し、１６進数の上位一桁が「９」〜「Ｂ」であれば配線６５を選択する。従って、図２に示す第１のチップ７の機能ブロック３１Ａで処理された低優先度のデータには配線６１が割り当てられ、機能ブロック３１Ｂで処理された中優先度のデータには配線６３が割り当てられ、機能ブロック３１Ｃで処理された高優先度のデータには配線６５が割り当てられる。
【００４７】
調停部３３ｃはデコーダ５３で選択された配線６１を用いて転送されてきたデータと、機能ブロック３１Ｄで処理されたデータとがＤＲＡＭ１１に転送される際に、第２のチップ９の配線上でアクセスが競合すれば調停をする。
【００４８】
調停部３３ｃはバッファ３７ｃ，３９ｃ、セレクタ４１ｃ及びセレクタ制御回路４３ｃを含む。バッファ３７ｃには機能ブロック３１Ｄで処理されたデータが一時記憶され、バッファ３９ｃには配線６１を用いて転送されてきたデータが一時格納される。配線６１とバッファ３９ｃとの間には、ＦＩＦＯ部５５(第１のＦＩＦＯ部)が設けられている。第１のチップ７の機能ブロック３１Ａで処理されたデータは、機能ブロック３１Ｂ，３１Ｃで処理されたデータよりも、ＤＲＡＭ１１に転送する際の優先度が低いので、ＤＲＡＭ１１に転送されるのが遅れる可能性が大きい。従って、バッファ３９ｃにデータが一時記憶された状態で、機能ブロック３１Ａで処理されたデータが配線６１を流れて連続してバッファ３９ｃに転送されてくれば、バッファ３９ｃからデータが溢れてしまうおそれがある。これを防止するためにＦＩＦＯ部５５を設けている。
【００４９】
セレクタ制御回路４３ｃはバッファ３７ｃ，３９ｃにデータが記憶されているか否かに基づいて、セレクタ４１ｃを制御する。図７は調停部３３ｃでの調停結果を示す図である。一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(１、２)、すなわち、第２のチップ９の配線上でアクセスが競合していない場合、セレクタ制御回路４３ｃはデータが記憶されているバッファからデータが出力されるようにセレクタ４１ｃを制御する。
【００５０】
二つのバッファにデータが記憶されている場合(３)、すなわち、第２のチップ９の配線上でアクセスが競合する場合、セレクタ制御回路４３ｃは例えばバッファ３７ｃ，３９ｃに記憶されているデータが交互に出力されるようにセレクタ４１ｃを制御する。このように制御するのは機能ブロック３１Ａで処理されたデータと機能ブロック３１Ｄで処理されたデータはＤＲＡＭ１１に転送される優先度が同じだからである。
【００５１】
調停部３３ｄは、デコーダ５３で選択された配線６３を用いて転送されてきたデータと、機能ブロック３１Ｅで処理されたデータとがＤＲＡＭ１１に転送される際に、第２のチップ９の配線上でアクセスが競合すれば調停をする。調停部３３ｄはバッファ３７ｄ，３９ｄ、セレクタ４１ｄ及びセレクタ制御回路４３ｄを含む。バッファ３７ｄには機能ブロック３１Ｅで処理されたデータが一時記憶され、バッファ３９ｄには配線６３を用いて転送されてきたデータが一時記憶される。配線６３とバッファ３９ｄとの間に、ＦＩＦＯ部５７(第１のＦＩＦＯ部)が設けられている。この理由はＦＩＦＯ部５５が設けられている理由と同じである。
【００５２】
ＦＩＦＯ部５５，５７は複数の第１のＦＩＦＯ部である。ＦＩＦＯ部５５，５７は機能ブロック３１Ａ，３１Ｂ，３１Ｃ(複数の第１の機能ブロック)で処理されたデータの中で高い優先度以外の優先度が割り当てられているデータに対してそれぞれ割り当てられ、それらのデータが調停部３３ｃ，３３ｄに転送される前に、一時格納される。
【００５３】
セレクタ制御回路４３ｄはバッファ３７ｄ，３９ｄにデータが記憶されているか否かに基づいて、セレクタ４１ｄを制御する。調停部３３ｄでの調停結果は図７に示す調停部３３ｃでの調停結果と同様である。第２のチップ９の配線上でアクセスが競合していない場合(１、２)、セレクタ制御回路４３ｄはデータを記憶しているバッファからデータが出力されるようにセレクタ４１ｄを制御する。第２のチップ９の配線上でアクセスが競合する場合(３)、セレクタ制御回路４３ｄは例えばバッファ３７ｄ，３９ｄに記憶されているデータが交互に出力されるようにセレクタ４１ｄを制御する。
【００５４】
調停部３３ｅはセレクタ４１ｃで選択されたデータとセレクタ４１ｄで選択されたデータをＤＲＡＭ１１に転送する際に、第２のチップ９の配線上でアクセスが競合すれば調停をする。調停部３３ｅのバッファ３７ｅにはセレクタ４１ｃで選択されたデータが一時記憶され、バッファ３９ｅにはセレクタ４１ｄで選択されたデータが一時記憶される。セレクタ制御回路４３ｅはバッファ３７ｅ，３９ｅにデータが記憶されているか否かに基づいて、セレクタ４１ｅを制御する。調停部３３ｅでの調停結果は図５に示す調停部３３ａでの調停結果と同様である。  
【００５５】
調停部３３ｆはセレクタ４１ｅで選択されたデータと機能ブロック３１Ｆで処理されたデータをＤＲＡＭ１１に転送する際に、第２のチップ９の配線上でアクセスが競合すれば調停をする。調停部３３ｆのバッファ３７ｆには機能ブロック３１Ｆで処理されたデータが一時記憶され、バッファ３９ｆにはセレクタ４１ｅで選択されたデータが一時記憶される。セレクタ制御回路４３ｆはバッファ３７ｆ，３９ｆにデータが記憶されているか否かに基づいて、セレクタ４１ｆを制御する。調停部３３ｆでの調停結果は図５に示す調停部３３ａでの調停結果と同様である。
【００５６】
調停部３３ｇは配線６５を用いて転送されてきたデータとセレクタ４１ｆで選択されたデータをＤＲＡＭ１１に転送する際に、第２のチップ９の配線上でアクセスが競合すれば調停をする。調停部３３ｇのバッファ３７ｇにはセレクタ４１ｆで選択されたデータが一時記憶され、バッファ３９ｇには配線６５を用いて転送されてきたデータが一時記憶される。セレクタ制御回路４３ｇはバッファ３７ｇ，３９ｇにデータが記憶されているか否か及び調停部３３ｆのセレクタ制御回路４３ｆから出力された信号に基づいて、セレクタ４１ｇを制御する。
【００５７】
セレクタ制御回路４３ｆから出力された信号とは、バッファ３７ｇに転送したデータがバッファ３７ｆからのデータであるか、又はバッファ３９ｆからのデータであるかを示す信号である。この信号を基にしてセレクタ制御回路４３ｇは、バッファ３７ｇに記憶されているデータがバッファ３７ｆからのデータ、又はバッファ３９ｆからのデータかを判断する。
【００５８】
図８は調停部３３ｇでの調停結果を示す図である。一方のバッファにデータが記憶されており、かつ他方のバッファにデータが記憶されていない場合(１、２)、すなわち、第２のチップ９の配線上でアクセスが競合していない場合、セレクタ制御回路４３ｇはデータが記憶されているバッファからデータが出力されるようにセレクタ４１ｇを制御する。
【００５９】
バッファ３７ｇ，３９ｇのいずれにもデータがある場合(３、４)、すなわち、第２のチップ９の配線上でアクセスが競合する場合、次のように制御される。バッファ３７ｇのデータがバッファ３９ｆからのデータであれば、ＤＲＡＭ１１に転送される優先度が異なる機能ブロックで処理されたデータが競合していることになる。バッファ３９ｆからのデータとは、図２の機能ブロック３１Ａ，３１Ｂ、図３の機能ブロック３１Ｄ，３１Ｅで処理されたデータであり、バッファ３９ｇに記憶されるデータは図２の機能ブロック３１Ｃで処理されたデータである。従って、バッファ３９ｇに記憶されるデータはバッファ３９ｆからのデータよりも優先度が高いので、セレクタ制御回路４３ｇはバッファ３９ｇに記憶されているデータが出力されるようにセレクタ４１ｇを制御する。
【００６０】
一方、バッファ３７ｇのデータがバッファ３７ｆからのデータであれば、優先度が同じ機能ブロックで処理されたデータなので、セレクタ制御回路４３ｇは例えばバッファ３７ｇ，３９ｇに記憶されているデータが交互に出力されるようにセレクタ４１ｇを制御する。
【００６１】
セレクタ４１ｇで選択されたデータはＤＲＡＭコントローラ５９に送られる。ＤＲＡＭコントローラ５９はそのデータに含まれるアドレス情報で示されるアドレスのメモリセルに画像データを書き込む。
【００６２】
以上説明したように第２の調停部(調停部３３ｃ〜３３ｇ)は次の(１)〜(４)の調停をする。
【００６３】
(１)デコーダ５３(第１のデコーダ)で選択された配線６１，６３，６５(第１の配線)を用いて転送されてきたデータ(トランザクション)と、そのデータと同じ優先度が割り当てられ機能ブロック３１Ｄ，３１Ｅ，３１Ｆで処理されたデータ、すなわち第２のチップ９で処理されたデータ(トランザクション)とが、ＤＲＡＭ１１に転送される際にアクセスが競合すれば調停をする。この調停は調停部３３ｃ，３３ｄ，３３ｇで実行される。
【００６４】
(２)デコーダ５３で選択された配線６１，６３，６５を用いて転送されてきたデータ(トランザクション)と、そのデータと異なる優先度が割り当てられ機能ブロック３１Ｄ，３１Ｅ，３１Ｆで処理されたデータ(トランザクション)とが、ＤＲＡＭ１１に転送される際にアクセスが競合すれば調停をする。この調停は調停部３３ｅ，３３ｆ，３３ｇで実行される。
【００６５】
(３)機能ブロック３１Ｄ，３１Ｅ，３１Ｆで処理されたデータであって、異なる優先度が割り当てられているデータ(トランザクション)どうしが、ＤＲＡＭ１１に転送される際にアクセスが競合すれば調停をする。この調停は調停部３３ｅ，３３ｆで実行される。
【００６６】
(４)デコーダ５３で選択された配線６１，６３，６５を用いて転送されてきたデータ(機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータ)であって、異なる優先度が割り当てられているデータ(トランザクション)どうしが、ＤＲＡＭ１１に転送される際にアクセスが競合すれば調停をする。この調停は調停部３３ｅ，３３ｇで実行される。
【００６７】
第１実施形態の主な効果について、図９に示す第２のチップ１９と比較して説明する。第２のチップ１９は図２の調停部３３ａ、３３ｂ並びに図３のチップインターフェース５１、機能ブロック３１Ｄ，３１Ｅ，３１Ｆ及びＤＲＡＭコントローラ５９を備える。第２のチップ１９はさらに、調停部６７及び配線６９を備える。
【００６８】
調停部３３ａは機能ブロック３１Ｄで処理されたデータと機能ブロック３１Ｅで処理されたデータをＤＲＡＭ１１に転送する際にアクセスが競合すれば調停をする。調停部３３ｂは調停部３３ａで選択されたデータと機能ブロック３１Ｆで処理されたデータをＤＲＡＭ１１に転送する際にアクセスが競合すれば調停をする。
【００６９】
配線６９はチップインターフェース５１と調停部６７を接続する。図２の第１のチップ７からバス１５を経由して転送されてきたデータは、配線６９を用いて調停部６７に転送される。また、調停部６７には調停部３３ｂで選択されたデータが転送される。従って、調停部６７は、図２に示す第１のチップ７の機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理され、優先度が調停されて転送されてきたデータと、第２のチップ１９の機能ブロック３１Ｄ，３１Ｅ，３１Ｆで処理され、優先度が調停されて転送されてきたデータとについて、アクセスが競合すれば調停をする。
【００７０】
しかし、調停部６７では第１のチップ７の機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータの優先度を判断することができないので、調停部６７で正しい調停をすることができない。仮に判断することができても次の問題が生じる。
【００７１】
例えば、第１のチップ７の機能ブロック３１Ａ(低優先度)で処理されたデータと、第２のチップ１９の機能ブロック３１Ｅ(中優先度)で処理されたデータとが競合した場合を考える。調停部６７は機能ブロック３１Ｅで処理されたデータを選択するので、機能ブロック３１Ａで処理されたデータは調停部６７のバッファに一時記憶された状態が継続される。この状態で、第１のチップ７の機能ブロック３１Ｃ(高優先度)で処理されたデータが調停部６７に送られても、機能ブロック３１Ａで処理されたデータのために、機能ブロック３１Ｃ(高優先度)で処理されたデータは、調停部６７のバッファに一時記憶された状態が継続される。よって、第２のチップ１９で調停された低い優先度のデータ(この例では機能ブロック３１Ｅで処理されたデータ)が調停部６７で選択されることによって、第１のチップ７で調停された高い優先度のデータ(この例では機能ブロック３１Ｃで処理されたデータ)についてＤＲＡＭ１１に転送されるのが遅れることになる。これでは、第１のチップ７で調停した意味がなくなってしまう。
【００７２】
そこで、ＤＲＡＭ１１へのアクセス帯域(言い換えればアクセス数)を第１のチップ７で処理されたデータ、第２のチップ１９で処理されたデータにそれぞれ割り当てる手法(帯域制限手法)が考えられる。帯域制限手法では、例えば、第１のチップ７で処理されたデータの転送を優先させる場合、「第１のチップ７で処理されたデータに許可されるアクセス帯域＝ＤＲＡＭ１１の実効帯域−第２のチップ１９で処理されたデータに必要なアクセス帯域」の関係を用いて、アクセス帯域が割り当てられる。しかし、帯域制限手法には以下の問題がある。
【００７３】
第１のチップ７で処理されたデータに対してアクセス帯域を固定して制限すると、第２のチップ１９でデータが処理されておらず、従って、ＤＲＡＭ１１の実効帯域に空きがある場合でも、第１のチップ７で処理されたデータに対してアクセスが制限されてしまう。
【００７４】
第１のチップ７に割り当てられたアクセス帯域と第２のチップ１９に割り当てられたアクセス帯域の合計が、ＤＲＡＭ１１の実効帯域を超える場合、第１のチップ７で処理されたデータを優先させれば、第２のチップ１９に対して十分なアクセス帯域を割り当てることができない。
【００７５】
帯域制限手法では、アクセス帯域の制限値がシステムのユースケースによって最適値が変わる可能性が高いので、ソフトウェアの制御が複雑となる。また、アクセス帯域の制限値は動的に変化するので、検証が困難であり、その結果、システムの品質を低下させるおそれがある。さらに、アクセス帯域の制限値とＤＲＡＭ１１の実効帯域を比較した結果を用いて、第１のチップ７に割り当てるアクセス帯域を制限するので、ＤＲＡＭ１１の実効帯域を測定するシステムが必要となる。
【００７６】
なお、ＰＣＩエキスプレスではバーチャルチャネル(Virtual Channel)を利用することができるので、データを転送する優先度に応じてバーチャルチャネルを割り当てることができる。しかし、バーチャルチャネルを利用する場合、第１のチップ７及び第２のチップ１９の両方がバーチャルチャネルを利用できる規格にしなければならない。また、バーチャルチャネルを１つ増やす毎に回路規模が増大するので、ＤＲＡＭ１１にデータを転送する優先度毎にバーチャルチャネルを設定すれば、回路規模が非常に増大し、その結果、第１のチップ７及び第２のチップ１９のコストが上昇する。
【００７７】
これに対して、第１実施形態によれば、デコーダ５３は第１のチップ７で調停されてバス１５及び第２のチップ９を経由してＤＲＡＭ１１に転送されるデータ(機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータ)に対して、第２のチップ９上の配線６１，６３，６５の中でそのデータに割り当てられている優先度に対応する配線を選択する。そして、第２のチップ９に設けられた第２の調停部(調停部３３ｃ〜３３ｇ)は、上記(１)〜(４)の調停をする。
【００７８】
これにより、第１のチップ７で処理されたデータと第２のチップ９で処理されたデータとに対して、第２のチップ９において、ＤＲＡＭ１１に転送する優先度が同じデータを調停し、かつＤＲＡＭ１１に転送する優先度が異なるデータを調停することができる。従って、第１実施形態によれば、第１のチップ７で処理されたデータが第２のチップ９を経由してＤＲＡＭ１１に転送される場合に、第１のチップ７で処理されたデータと第２のチップ９で処理されたデータとのアクセスが競合すれば、ＤＲＡＭ１１に転送する優先度が高いデータから順にＤＲＡＭ１１に転送することができる。なお、調停部３３ａ〜３３ｇにおいて、データはトランザクションの単位で調停される。
【００７９】
また、第１実施形態によれば、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第２のチップ９で溢れることを防止できる。詳細に説明すると、上述したように機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータは第２のチップ９で調停の対象となる。このため、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータについてはＤＲＡＭ１１への転送が遅れる可能性がある。従って、それらのデータが第２のチップ９からＤＲＡＭ１１に転送される前に、同じ優先度が割り当てられているデータが第１のチップ７から第２のチップ９に連続して転送されてくれば、第２のチップ９でデータが溢れてしまうおそれがある。第２のチップ９にＦＩＦＯ部５５，５７(複数の第１のＦＩＦＯ部)を備える第１実施形態によれば、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータの中で、高い優先度以外の優先度が割り当てられているデータが第２のチップ９で溢れることを防止できる。
【００８０】
次に第２実施形態を説明する。第２実施形態については第１実施形態との相違点を中心に説明し、共通点については説明を省略する。図１０は第２実施形態に係る情報処理装置に備えられる第１のチップ２１の構成を示すブロック図であり、図１１は第２実施形態に係る情報処理装置に備えられる第２のチップ２３の構成を示すブロック図である。
【００８１】
第２実施形態では、機能ブロック３１Ａと調停部３３ａとの間に帯域制限ブロック８９ａが配置され、機能ブロック３１Ｂと調停部３３ａとの間に帯域制限ブロック８９ｂが配置されている。
【００８２】
第２のチップ２３のＦＩＦＯ部５５，５７(第１のＦＩＦＯ部)のいずれかがデータでフルになった状態で、そのＦＩＦＯ部に格納されるデータが第１のチップ２１から送信され続けると、そのＦＩＦＯ部でデータが溢れてしまう。第２実施形態では帯域制限ブロック８９ａ、８９ｂを用いて、データがＦＩＦＯ部で溢れることを防止する。これについてＦＩＦＯ部５５を例に説明する。
【００８３】
ＦＩＦＯ部５５はデータでフルになると、それを示す信号(フル信号Ｓ１)をチップインターフェース５１に送る。チップインターフェース５１はＦＩＦＯ部５５がフルであることを示す情報を、ＰＣＩエキスプレスのトランザクションの１つであるメッセージ信号割り込み(ＭＳＩ：Message Signaled Interrupt)を利用して第１のチップ２１に送る。メッセージ信号割り込みのトランザクションのパケットには３２ビットのフィールドがあるので、フルになったＦＩＦＯ部がＦＩＦＯ部５５であることを示す情報も併せて送られる。
【００８４】
ＭＳＩのトランザクションのパケットがバス１５を経由して第１のチップ２１のチップインターフェース３５に到達すると、チップインターフェース３５は帯域制限ブロック８９ａを有効にする信号Ｓ２を帯域制限ブロック８９ａに送る。これにより、トランザクションの発行がマスクされるので(言い換えれば、機能ブロック３１Ａからの送信パスがマスクされるので)、機能ブロック３１Ａで処理されたデータが調停部３３ａに転送されるのを止めることができる。なお、機能ブロック３１ＡのＤＭＡコントローラにはバッファが設けられているので、機能ブロック３１Ａで処理されたデータが帯域制限ブロック８９ａによって転送できなくても、バッファに一時記憶されるので、機能ブロック３１Ａは動作を続けることができる。
【００８５】
チップインターフェース５１がＭＳＩを送信するタイミングは、チップインターフェース５１でのＭＳＩ送信遅延、ＰＣＩエキスプレスでの転送遅延、及びチップインターフェース３５が信号Ｓ２を送信してから帯域制限ブロック８９ａが有効になるまでの時間等を考慮して決める。これにより、ＦＩＦＯ部５５でデータが溢れることをより確実に防止する。
【００８６】
ＦＩＦＯ部５５に予め定められた空きが生じれば、ＦＩＦＯ部５５はチップインターフェース５１にそれを示す信号を送る。チップインターフェース５１はＦＩＦＯ部５５に空きが生じたことを示す情報を、上記ＭＳＩを利用して第１のチップ２１のチップインターフェース３５に送る。チップインターフェース３５は帯域制限ブロック８９ａを無効にする信号を送る。これにより機能ブロック３１Ａで処理されたデータの調停部３３ａへの転送が再開される。
【００８７】
ＦＩＦＯ部５５がフルになった場合で説明したが、ＦＩＦＯ部５７がフルになった場合は帯域制限ブロック８９ｂにより同様の処理がされる。また、ＦＩＦＯ部５５はデータがフルになれば、フルであることを示す信号Ｓ１をチップインターフェース５１に送る例で説明したが、フルに近くなった場合に信号Ｓ１を送るようにしてもよい。
【００８８】
以上説明したように第２実施形態によれば、ＦＩＦＯ部５５，５７のいずれかがフルになった場合、フルになったＦＩＦＯ部に格納されるデータに割り当てられている優先度と同じ優先度が割り当てられているデータを処理する機能ブロックにおいて、その機能ブロックで処理されたデータの転送が帯域制限ブロック８９ａ，８９ｂにより止められる。従って、ＦＩＦＯ部５５，５７がフルになっても、第２のチップ２３でデータが溢れることを防止できる。
【００８９】
次に第３実施形態を説明する。第３実施形態については第１及び第２実施形態との相違点を中心に説明し、共通点については説明を省略する。図１２は第３実施形態に係る情報処理装置に備えられる第２のチップ２５の構成を示すブロック図である。第３実施形態に係る情報処理装置に備えられる第１のチップは、図１０に示す第１のチップ２１と同じ構成を有する。第３実施形態において、第２のチップ２５はＦＩＦＯ部７１、デコーダ７３、配線７５，７７及び切換部７９，８１を備える。
【００９０】
ＦＩＦＯ部７１は第２のＦＩＦＯ部として機能し、ＦＩＦＯ部５５，５７のいずれかがフルになった場合に、待避用のＦＩＦＯ部となる。
【００９１】
配線７５，７７(複数の第２の配線)はＦＩＦＯ部５５，５７に対応して設けられ、対応するＦＩＦＯ部に接続されている。
【００９２】
ＦＩＦＯ部７１に格納されたデータはデコーダ７３に送られる。デコーダ７３は第２のデコーダとして機能し、ＦＩＦＯ部７１から転送されてきたデータに対して、そのデータに含まれるアドレス情報をデコードして、配線７５，７７(複数の第２の配線)の中でそのデータに割り当てられている優先度に対応する配線を選択する。
【００９３】
デコーダ７３はデコーダ５３と同様に、データに含まれるアドレス情報の上位４ビット(１６進数の上位一桁)をデコードして、配線７５，７７のいずれかを選択する。具体的には、図４に示すように、１６進数の上位一桁が「４」〜「５」であれば配線７５を選択し、１６進数の上位一桁が「６」〜「８」であれば配線７７を選択する。
【００９４】
切換部７９には配線６１を用いて転送されてきたデータが入力される。切換部７９はＦＩＦＯ部５５からのフル信号Ｓ１が入力可能にされている。切換部７９にフル信号Ｓ１が入力されていなければ、配線６１を用いて転送されてきたデータはＦＩＦＯ部５５に転送される。切換部７９にフル信号Ｓ１が入力されていれば、配線６１を用いて転送されてきたデータはＦＩＦＯ部７１に転送される。
【００９５】
切換部８１には配線６３を用いて転送されてきたデータが入力される。切換部８１はＦＩＦＯ部５７からのフル信号Ｓ１が入力可能にされている。切換部８１にフル信号Ｓ１が入力されていなければ、配線６３を用いて転送されてきたデータはＦＩＦＯ部５７に転送される。切換部８１にフル信号Ｓ１が入力されていれば、配線６３を用いて転送されてきたデータはＦＩＦＯ部７１に転送される。
【００９６】
以上のように切換部７９，８１により構成される切換部は、ＦＩＦＯ部５５，５７のいずれかがフルになった場合、デコーダ５３で選択された配線を用いて転送されるデータの中でフルになったＦＩＦＯ部に転送されるデータを、ＦＩＦＯ部７１に転送する切り換えをする。
【００９７】
第３実施形態では第２実施形態と同様に、ＦＩＦＯ部５５がフルになれば帯域制限ブロック８９ａが有効となることにより、機能ブロック３１Ａで処理されたデータの転送を止めることができ、ＦＩＦＯ部５７がフルになれば帯域制限ブロック８９ｂが有効となることにより、機能ブロック３１Ｂで処理されたデータの転送を止めることができる。これにより、第２のチップ２５でデータが溢れることを防止している。しかし、ＦＩＦＯ部５５，５７がフルになってから帯域制限ブロック８９ａ，８９ｂが有効になるまでの時間を決定できない場合がある。この場合、ＦＩＦＯ部５５，５７がフルになる前に信号Ｓ１をチップインターフェース５１に送ったとしても、フルになったＦＩＦＯ部５５，５７に機能ブロック３１Ａ，３１Ｂで処理されたデータが転送されてくる可能性がある。その結果、第２のチップ２５でデータが溢れることになる。
【００９８】
第３実施形態によれば、ＦＩＦＯ部５５，５７(複数の第１のＦＩＦＯ部)のいずれかがフルになった場合、フルになったＦＩＦＯ部に転送されるデータを、ＦＩＦＯ部７１(第２のＦＩＦＯ部)に転送されるように切り換えて、ＦＩＦＯ部７１に待避させている。これにより、フルになったＦＩＦＯ部に空きができる時間を稼ぐことができる。そして、ＦＩＦＯ部７１から転送されてきた、フルになったＦＩＦＯ部に転送されるデータに含まれるアドレス情報をデコードして、ＦＩＦＯ部５５，５７の中で対応するＦＩＦＯ部(すなわち、フルになっていＦＩＦＯ部)に戻している。以上のように、ＦＩＦＯ部５５，５７のいずれかがフルになっても、フルになったＦＩＦＯ部に転送されるデータをＦＩＦＯ部７１に待避させているので、第２のチップ２５でデータが溢れることを防止できる。帯域制限ブロック８９ａ，８９ｂを設けても、ＦＩＦＯ部５５，５７がフルになってから帯域制限ブロック８９ａ，８９ｂが有効になるまでの時間を決定できない場合があり、このような場合に有効となる。また、ＦＩＦＯ部５５，５７の容量を大きくすることなく、第２のチップ２５でデータが溢れることを防止できる。
【００９９】
第３実施形態の変形例として、図２に示す第１のチップ７と図１２に示す第２のチップ２５の組み合わせた態様でもよい。この態様では第１のチップ７が帯域制限ブロックを備えないので、第２のチップ２５において、ＦＩＦＯ部５５，５７からチップインターフェース５１に信号Ｓ１を送る配線を不要となる。
【０１００】
次に第４実施形態を説明する。第４実施形態については第１〜第３実施形態との相違点を中心に説明し、共通点については説明を省略する。図１３は第４実施形態に係る情報処理装置に備えられる第１のチップ２７の構成を示すブロック図である。図１４は第４実施形態に係る情報処理装置に備えられる第２のチップ２９の構成を示すブロック図である。
【０１０１】
チップインターフェース８５は第１のチップ２７で処理されたデータが第２のチップ２９に転送される前に一時格納されるＦＩＦＯ部８５(第３のＦＩＦＯ部)を有する。チップインターフェース５１は第１のチップ２７から第２のチップ２９に転送されてきたデータがデコーダ５３(第１のデコーダ)に転送される前に一時格納されるＦＩＦＯ部８７(第４のＦＩＦＯ部)を有する。
【０１０２】
第１のチップ２７には帯域制限ブロックが設けられていないので、第２のチップ２９にはＦＩＦＯ部５５，５７からチップインターフェース５１に信号Ｓ１を送る配線が設けられていない。
【０１０３】
第１のチップ２７において、機能ブロック３１Ａ，３１Ｂ，３１Ｃで処理されたデータがチップインターフェース３５に送られると、ＦＩＦＯ部８５で一時格納された後、チップインターフェース３５でパケット１０１(図６)にされる。パケット１０１はバス１５を伝送して、第２のチップ２９のチップインターフェース５１に送られる。パケット１０１はチップインターフェース５１でデータ(画像データ、アドレス情報、制御情報)に戻され、ＦＩＦＯ部８７に一時格納された後、デコーダ５３に送られる。
【０１０４】
ＦＩＦＯ部８５，８７はバッファとして機能する。これにより、チップインターフェース３５でのデータ受信量、チップインターフェース５１でのデータ送信量、チップインターフェース３５，５１でのパケット処理量の差を吸収する。
【０１０５】
第４実施形態では第３実施形態と同様に、第１のチップ２７において機能ブロック３１Ａ，３１Ｂで処理されたデータ(すなわち、比較的低い優先度が割り当てられたデータ)によりＦＩＦＯ部５５，５７のいずれかがフルになれば、フルになったＦＩＦＯ部に転送されるデータをＦＩＦＯ部７１に転送されるように切り換えている。従って、フルになったＦＩＦＯ部に転送されるデータがＦＩＦＯ部８５，８７に滞留することを防止することが可能となる。この結果、ＦＩＦＯ部５５，５７のいずれかがフルになった状態で、機能ブロック３１Ｃで処理されたデータ(すなわち、比較的高い優先度が割り当てられているデータ)がＦＩＦＯ部８５に転送されてきても、そのデータをＦＩＦＯ部８５，８７で滞留させることなく、フルになったＦＩＦＯ部に転送されるデータを追い越して、ＤＲＡＭ１１に転送することができる。
【０１０６】
特に、第２のＦＩＦＯ部７１の容量が第３のＦＩＦＯ部８５及び第４のＦＩＦＯ部８７の容量と少なくとも同じであれば、フルになったＦＩＦＯ部に転送されるデータによってＦＩＦＯ部８５及びＦＩＦＯ部８７がフルになった状態で、機能ブロック３１Ｃで処理されたデータがＦＩＦＯ部８５に転送されてきても、ＦＩＦＯ部８５，８７に格納されているデータ(フルになったＦＩＦＯ部に転送されるデータ)の全てをＦＩＦＯ部７１に転送することができる。従って、フルになったＦＩＦＯ部に転送されるデータによってＦＩＦＯ部８５，８７がフルになっても、これらのデータを追い越して、フルになったＦＩＦＯ部に転送されるデータ以外のデータ(例えば機能ブロック３１Ｃで処理されたデータ)をＤＲＡＭ１１に転送させることができる。
【０１０７】
第４実施形態の変形例として、第１のチップ２７が図１０に示す第１のチップ２１と同様に、機能ブロック３１Ａと調停部３３ａの間に帯域制限ブロック８９ａ、及び、機能ブロック３１Ｂと調停部３３ａの間に帯域制限ブロック８９ｂを備える態様でもよい。この態様では、第１のチップが帯域制限ブロックを備えるので、第２のチップ２９において、ＦＩＦＯ部５５，５７からチップインターフェース５１に信号Ｓ１を送る配線が必要となる。
【０１０８】
第１〜第４実施形態では、ＤＲＡＭ１１から読み出されたデータを機能ブロック３１で処理し、処理したデータをＤＲＡＭ１１に書き込む例で説明した。ラインセンサから出力されたデータを機能ブロック３１で処理し、処理したデータをＤＲＡＭ１１に書き込む場合でも第１〜第４実施形態を適用できる。
【符号の説明】
【０１０９】
１  情報処理装置
７，２１，２７  第１のチップ
９，２３，２５，２９  第２のチップ
１１  ＤＲＡＭ(メモリ)
１５，１７  バス
３１Ａ，３１Ｂ，３１Ｃ  第１の機能ブロック
３１Ｄ，３１Ｅ，３１Ｆ  第２の機能ブロック
３３ａ，３３ｂ  調停部(第１の調停部)
３３ｃ，３３ｄ，３３ｅ，３３ｆ，３３ｇ  調停部(第２の調停部)
５３  デコーダ(第１のデコーダ)
５５，５７  ＦＩＦＯ部(第１のＦＩＦＯ部)
６１，６３，６５  配線(第１の配線)
７１  ＦＩＦＯ部(第２のＦＩＦＯ部)
７３  デコーダ(第２のデコーダ)
７５，７７  配線(第２の配線)
７９，８１  切換部
８５  ＦＩＦＯ部(第３のＦＩＦＯ部)
８７  ＦＩＦＯ部(第４のＦＩＦＯ部)
８９ａ，８９ｂ  帯域制限ブロック
【図１】
0005417305.tif 000002
【図２】
0005417305.tif 000003
【図３】
0005417305.tif 000004
【図４】
0005417305.tif 000005
【図５】
0005417305.tif 000006
【図６】
0005417305.tif 000007
【図７】
0005417305.tif 000008
【図８】
0005417305.tif 000009
【図９】
0005417305.tif 000010
【図１０】
0005417305.tif 000011
【図１１】
0005417305.tif 000012
【図１２】
0005417305.tif 000013
【図１３】
0005417305.tif 000014
【図１４】
0005417305.tif 000015