(57)【要約】【課題】本発明は、伝送路の受信側の遊休期間を削減して利用効率を向上させてスループットを向上させる。【解決手段】ＡＳＩＣ５は、メモリ４へのライトリクエストと、ライトされるデータと、メモリ４からのリードリクエストと、を送信側伝送路６ａに送信する送信処理Ｉ／Ｆ１４ｂと、メモリ４からのリードデータを、受信側伝送路６ｂから受信する受信処理Ｉ／Ｆ１４ｃと、アービタ１２からライトリクエスト、ライトされるデータ及びリードリクエストを受信する受信部２２と、ライトリクエストを一時保管するライトリクエストバッファ２１と、送信側伝送路６ａによる送信処理中に、次のライトリクエストを受信した場合、該次のライトリクエストをライトリクエストバッファ２１に保管し、後続のリードリクエストを受信すると、該リードリクエストを、該保管中のライトリクエストより先に送信処理Ｉ／Ｆ１４ｂに受け渡す制御を行う制御部と、を備えた。【選択図】          図１
2008250985.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対して、スプリットトランザクションの送信路及び受信路を介して接続可能な半導体集積回路において、
前記メモリへの書込命令と、前記メモリに書き込む書込データと、前記メモリからの読込命令と、を前記送信路に送信する送信処理インターフェースと、
前記メモリから読み出された読込データを、前記受信路から受信する受信処理インターフェースと、
前記メモリに対する前記書込命令、前記書込データ及び前記読込命令を受信する受信部と、
前記受信部が受信した前記書込命令を一時保管するバッファと、
前記送信路から前記書込命令及び前記書込データのうちいずれか一つ以上の送信処理中に、前記受信部が次の書込命令を受信した場合に、当該次の書込命令を前記バッファに保管し、該バッファに書込命令の保管中に後続の読込命令を前記受信部が受信すると、該読込命令を、該保管中の書込命令より先に前記送信処理インターフェースに受け渡す制御を行う制御部と、
を備えたことを特徴とする半導体集積回路。
【請求項２】
前記書込命令を前記バッファに保管している間の後続の読込命令による該書込命令の追い越し回数をカウントするカウント手段と、
後続の読込命令による書込命令の追い越し許可回数を設定する追い越し許可回数設定手段と、をさらに備え、
前記制御手段は、前記カウント手段のカウントする追い越し回数が、該追い越し許可回数を超えた場合に、後続の読込命令の追い越しを禁止する制御を行い、前記バッファに保管されていた前記書込命令を先に前記送信処理インターフェースに受け渡す制御を行うこと、
を特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記受信手段が受信する前記書込命令は、前記読込命令による追い越しを禁止する追い越し禁止フラグを付与可能であり、
前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令に対する後続の読込命令による追い越しを禁止する制御を行うこと、
を特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令を前記バッファに保管することなく、前に受信した前記書込命令と当該書込命令で書き込まれる前記書込データの受け渡し制御の後に、該受信した書込命令を受け渡す制御を行うことを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記バッファの動作クロックを、該リクエストバッファに対する供給／供給停止を制御するバッファ動作制御手段を、さらに備え、
前記制御手段は、前記バッファ動作制御手段による制御で前記バッファへの該動作クロックを停止させて前記書込命令の前記バッファへの保管を停止して、前記後続の読込命令による前記書込命令の追い越しを禁止する制御を行うこと、
を特徴とする請求項１または２記載の半導体集積回路。
【請求項６】
後続の読込命令の追い越しを許可する追い越し許可期間の設定される追い越し許可期間設定手段をさらに備え、
前記制御手段は、さらに該追い越し許可期間設定手段に設定されている該追い越し許可期間中のみ、後続の読込命令による前記バッファに保管中の書込命令の追い越しを許可する制御を行うこと、
を特徴とする請求項１乃至５のいずれか一つに記載の半導体集積回路。
【請求項７】
画像データを格納するメモリと、当該メモリに対して、スプリットトランザクションの送信路及び受信路を介して接続された半導体集積回路を備える画像処理装置において、
前記半導体集積回路は、
前記メモリへの書込命令と、前記メモリに書き込む書込データと、前記メモリからの読込命令と、を前記送信路に送信する送信処理インターフェースと、
前記メモリから読み出された読込データを、前記受信路から受信する受信処理インターフェースと、
前記メモリに対する前記書込命令、前記書込データ及び前記読込命令を受信する受信部と、
前記受信部が受信した前記書込命令を一時保管するバッファと、
前記送信路から前記書込命令及び前記書込データのうちいずれか一つ以上の送信処理中に、前記受信部が次の書込命令を受信した場合に、当該次の書込命令を前記バッファに保管し、該バッファに書込命令の保管中に後続の読込命令を前記受信部が受信すると、該読込命令を、該保管中の書込命令より先に前記送信処理インターフェースに受け渡す制御を行う制御部と、
を備えたことを特徴とする画像処理装置。
【請求項８】
前記半導体集積回路はさらに、
前記書込命令を前記バッファに保管している間の後続の読込命令による該書込命令の追い越し回数をカウントするカウント手段と、
後続の読込命令による書込命令の追い越し許可回数を設定する追い越し許可回数設定手段と、を備え、
前記制御手段は、前記カウント手段のカウントする追い越し回数が、該追い越し許可回数を超えた場合に、後続の読込命令の追い越しを禁止する制御を行い、前記バッファに保管されていた前記書込命令を先に前記送信処理インターフェースに受け渡す制御を行うこと、
を特徴とする請求項７記載の画像処理装置。
【請求項９】
前記受信手段が受信する前記書込命令は、前記読込命令による追い越しを禁止する追い越し禁止フラグを付与可能であり、
前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令に対する後続の読込命令による追い越しを禁止する制御を行うこと、
を特徴とする請求項７又は８記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び画像処理装置に関し、詳細には、スプリットトランザクションの伝送路経由でのメモリへのアクセスのリクエストを効率的に制御する半導体集積回路及び画像処理装置に関する。
【背景技術】
【０００２】
従来、データの転送にはＰＣＩ（Peripheral  Component  Interconnect）バスが利用されていた。このＰＣＩバスでは複数のデバイスを接続可能であり、バス使用権を得たデバイスがマスタとなり、他のデバイスをターゲットとしてデータの送受信を行うことが可能となっていた。
【０００３】
しかしながら、バスで送信される情報量の増大に伴い、ＰＣＩバスで利用されるパラレル転送方式がボトルネックになるという問題が生じつつあった。そこで、当該問題を解消するために、ＰＣＩ  Expressという技術が提案された。
【０００４】
ＰＣＩ  Express（以下、ＰＣＩｅとする）は、デバイス間を１対１対応として、シリアル転送方式を採用している。
【０００５】
ＰＣＩｅでは、送信/受信を分離した全二重方式を採用し、スプリットトランザクションをサポートしている。これにより、送信と受信とを同時に行うことが可能となった。スプリットトランザクションとは、要求と応答が分離し、応答を待たずに次の要求を発行できる機能である。これにより、データ送受信を効率化して、高速なデータの送受信を可能としている。
【０００６】
このＰＣＩｅ経由でメモリアクセスを行う場合、リードリクエスト発行からリードデータが戻るまでのレイテンシ(遅延時間）が非常に大きく、リードリクエストの発行の仕方が、スプリットトランザクションのバスのスループットに大きく影響を与える。
【０００７】
従来、図１０に示すように、ＡＳＩＣ等で、アービタからライトアクセスを連続して受けた場合、リードコマンドの発行が先送りになり、ライト転送中の期間Ｔ１の間、受信側伝送路がアイドル状態となってしまい、ＰＣＩｅの転送効率が低下する。さらに、ＡＳＩＣ内部のデータ転送速度がＰＣＩｅのパケット発行能力に比較して遅い場合、データのアンダーフローが発生しないようにＰＣＩｅ  Ｉ／Ｆ回路内部にデータバッファを設けて、転送データが全てデータバッファに揃ってからＰＣＩｅにリクエストを発行するので、転送データが全て揃うまでＰＣＩｅ上にリクエストを発行することができず、図１１に示すように、アイドル期間Ｔ２が発生して、遊休期間Ｔ１がさらに増加し、転送効率がさらに低下する。
【０００８】
つまり、ＰＣＩｅを採用して、送信／受信を分離して、同時に送受信できるようにしたにもかかわらず、リードデータの転送が遅延するという問題が生じることになる。
【０００９】
そして、多くの場合、マスタ（バス・マスタ装置）は、メモリからリードしたデータに対して何らかの処理を行い、メモリへ書き戻す。すなわち、リードデータが返るまでの時間が増大するということは、マスタのライトリクエストの発行にも影響を与え、結果的にシステム全体のスループットを低下させてしまう。
【００１０】
そして、従来、連続するアクセスを可能とするメモリアクセスリクエストを選択し、まとめて連続アクセスすることで、高速化し、また、リードアクセスとライトアクセスをまとめて連続リードアクセス、連続ライトアクセスとし、リードサイクルとライトサイクルを交互に繰り返すことで、リードとライトの切換の回数を減らして、高速アクセスを図ったメモリコントローラが提案されている（特許文献１参照）。
【００１１】
【特許文献１】特開２００６−１５４９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来技術にあっては、リードとライトの切換回数を減らして高速アクセスを図っているが、この技術をＰＣＩｅに適用すると、ライトリクエストが連続すると、ライトリクエストをまとめて発行している期間はスプリットトランザクションの受信側の伝送路が、また、リードリクエストをまとめて発行している期間は送信側の伝送路が遊休期間となり、送信側、受信側共に利用率が落ち、スループットが大きく低下してしまうという問題が発生する。
【００１３】
そこで、本発明は、送信側、受信側の伝送路の遊休期間を削減し、伝送路の利用効率を向上させてスループットを向上させることのできる半導体集積回路及び画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１４】
請求項１記載の発明の半導体集積回路は、メモリに対して、スプリットトランザクションの送信路及び受信路を介して接続可能な半導体集積回路において、前記メモリへの書込命令と、前記メモリに書き込む書込データと、前記メモリからの読込命令と、を前記送信路に送信する送信処理インターフェースと、前記メモリから読み出された読込データを、前記受信路から受信する受信処理インターフェースと、前記メモリに対する前記書込命令、前記書込データ及び前記読込命令を受信する受信部と、前記受信部が受信した前記書込命令を一時保管するバッファと、前記送信路から前記書込命令及び前記書込データのうちいずれか一つ以上の送信処理中に、前記受信部が次の書込命令を受信した場合に、当該次の書込命令を前記バッファに保管し、該バッファに書込命令の保管中に後続の読込命令を前記受信部が受信すると、該読込命令を、該保管中の書込命令より先に前記送信処理インターフェースに受け渡す制御を行う制御部と、を備えたことにより、上記目的を達成している。
【００１５】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記書込命令を前記バッファに保管している間の後続の読込命令による該書込命令の追い越し回数をカウントするカウント手段と、後続の読込命令による書込命令の追い越し許可回数を設定する追い越し許可回数設定手段と、をさらに備え、前記制御手段は、前記カウント手段のカウントする追い越し回数が、該追い越し許可回数を超えた場合に、後続の読込命令の追い越しを禁止する制御を行い、前記バッファに保管されていた前記書込命令を先に前記送信処理インターフェースに受け渡す制御を行うことを特徴とする。
【００１６】
また、請求項３にかかる発明は、請求項１又は２にかかる発明において、前記受信手段が受信する前記書込命令は、前記読込命令による追い越しを禁止する追い越し禁止フラグを付与可能であり、前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令に対する後続の読込命令による追い越しを禁止する制御を行うこと、を特徴とする。
【００１７】
また、請求項４にかかる発明は、請求項３にかかる発明において、前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令を前記バッファに保管することなく、前に受信した前記書込命令と当該書込命令で書き込まれる前記書込データの受け渡し制御の後に、該受信した書込命令を受け渡す制御を行うことを特徴とする。
【００１８】
また、請求項５にかかる発明は、請求項１又は２にかかる発明において、前記バッファの動作クロックを、該リクエストバッファに対する供給／供給停止を制御するバッファ動作制御手段を、さらに備え、前記制御手段は、前記バッファ動作制御手段による制御で前記バッファへの該動作クロックを停止させて前記書込命令の前記バッファへの保管を停止して、前記後続の読込命令による前記書込命令の追い越しを禁止する制御を行うこと、を特徴とする。
【００１９】
また、請求項６にかかる発明は、請求項１乃至５のいずれか一つにかかる発明において、後続の読込命令の追い越しを許可する追い越し許可期間の設定される追い越し許可期間設定手段をさらに備え、前記制御手段は、さらに該追い越し許可期間設定手段に設定されている該追い越し許可期間中のみ、後続の読込命令による前記バッファに保管中の書込命令の追い越しを許可する制御を行うこと、を特徴とする。
【００２０】
また、請求項７にかかる発明は、画像データを格納するメモリと、当該メモリに対して、スプリットトランザクションの送信路及び受信路を介して接続された半導体集積回路を備える画像処理装置において、前記半導体集積回路は、前記メモリへの書込命令と、前記メモリに書き込む書込データと、前記メモリからの読込命令と、を前記送信路に送信する送信処理インターフェースと、前記メモリから読み出された読込データを、前記受信路から受信する受信処理インターフェースと、前記メモリに対する前記書込命令、前記書込データ及び前記読込命令を受信する受信部と、前記受信部が受信した前記書込命令を一時保管するバッファと、前記送信路から前記書込命令及び前記書込データのうちいずれか一つ以上の送信処理中に、前記受信部が次の書込命令を受信した場合に、当該次の書込命令を前記バッファに保管し、該バッファに書込命令の保管中に後続の読込命令を前記受信部が受信すると、該読込命令を、該保管中の書込命令より先に前記送信処理インターフェースに受け渡す制御を行う制御部と、を備えたことで、上記目的を達成している。
【００２１】
また、請求項８にかかる発明は、請求項７にかかる発明において、前記半導体集積回路はさらに、前記書込命令を前記バッファに保管している間の後続の読込命令による該書込命令の追い越し回数をカウントするカウント手段と、後続の読込命令による書込命令の追い越し許可回数を設定する追い越し許可回数設定手段と、を備え、前記制御手段は、前記カウント手段のカウントする追い越し回数が、該追い越し許可回数を超えた場合に、後続の読込命令の追い越しを禁止する制御を行い、前記バッファに保管されていた前記書込命令を先に前記送信処理インターフェースに受け渡す制御を行うこと、を特徴とする。
【００２２】
また、請求項９にかかる発明は、請求項７又は８にかかる発明において、前記受信手段が受信する前記書込命令は、前記読込命令による追い越しを禁止する追い越し禁止フラグを付与可能であり、前記制御手段は、さらに、前記受信部が受信した前記書込命令に前記追い越し禁止フラグが付与されている場合に、該書込命令に対する後続の読込命令による追い越しを禁止する制御を行うこと、を特徴とする。
【発明の効果】
【００２３】
本発明によれば、メモリに対する書込命令をバッファに保管して、該保管中に後続の読込命令を受け付けると、該後続の読込命令を保管中の書込命令を先に送信処理インターフェースに受け渡す制御を行うので、書込データを有する書込命令より先に、データを有しない読込命令を受け渡すので、送信路と受信路の遊休期間を削減することができ、送信路と受信路の利用効率を向上させて全体のスループットを向上させることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２５】
図１〜図７は、半導体集積回路及び画像処理装置の第１実施例を示す図であり、図１は、半導体集積回路及び画像処理装置の第１実施例を適用した画像形成装置１の要部ブロック構成図である。
【００２６】
図１において、画像形成装置１は、例えば、プリンタ、複合装置等であり、ＣＰＵ（Central  Processing  Unit）２、ＭＣＨ（Memory  Controller  Hub）３、メモリ４及び半導体集積回路としてのＡＳＩＣ（Application  Specific  Integrated  Circuit）５等を備えており、ＡＳＩＣ５とＭＣＨ３とがスプリットトランザクションの伝送路であるＰＣＩｅ６で接続されている。
【００２７】
ＰＣＩｅ６は、ＡＳＩＣからみて送信(Tx)側の伝送路６ａと、受信(Rx)側の伝送路６ｂとを備える。
【００２８】
ＡＳＩＣ５は、マスタとしての複数（図１では、４つ）のＤＭＡ（Direct  Memory  Access）１１、アービタ１２、リクエスト制御回路１３、ＰＣＩｅ  Ｉ／Ｆ回路１４及びカウンタ１５等を備えている。
【００２９】
ＤＭＡ１１は、それぞれ画像形成装置１内部及び外部を問わず、図示しない様々なデバイスが接続されている。これらデバイスとしては、スキャナ、プロッタ及び画像データを送受信する通信Ｉ／Ｆなどがある。つまり、ＤＭＡ１１から送信されてくるデータには、スキャナが読み込んだ画像データなどがある。
【００３０】
アービタ１２は、ＤＭＡ１１からのリクエスト及びデータをリクエスト制御回路１３に転送すると共に、リクエスト制御回路１３からのデータをＤＭＡ１１に転送する処理を行う。
【００３１】
ところで、従来技術においては、スキャナが読み込んだ画像データをＰＣＩ  Express経由でメモリに書き込む場合など、複数のライトリクエストが送信側の伝送路を占有していた。このため、リードリクエストが発行されたとしても、ライトリクエスト及びデータの送信が終了するまで、リードリクエストは送信側の伝送路を介してＭＣＨに受け渡されることがなかった。
【００３２】
また、本実施の形態にかかるアービタ１２は、複数のＤＭＡ１１から複数のリクエストが同時にきた場合、リクエスト制御回路１３に複数同時にリクエストを行わないように調停を行い、優先度が高いリクエストが先にリクエスト制御回路１３に転送されるよう制御を行っている。
【００３３】
この転送制御では、ＤＭＡ１１から転送されるライトリクエストの方が、リードリクエストより優先度が高く設定されている。これは、ライトリクエストで書き込まれる対象となる、スキャナから読み取られ、メモリにライトされるデータが、等時性(Isochronous)を必要とするデータだからである。このため、送信側の伝送路を複数のライトリクエスト及びライトされるデータが集中するという状況が発生しやすい。さらには、一般的な画像形成装置においては、スキャンした画像を、メモリに画像データを書き込んでから様々な処理を行うものであるため、ライトリクエストの方を優先的に処理した方が、処理時間が短縮できると考えられているためである。
【００３４】
上述した理由で、画像形成装置１がスキャナ等で読み込んだ画像データを処理する場合、ＤＭＡ１１から送信されたライトリクエスト共に多量ライトされるデータの後に、リードリクエストがＭＣＨ３に受け渡されることになる。これにより、ＤＭＡ１１がリードデータを受信するまでの時間も増大していた。
【００３５】
多くの場合、ＤＭＡ１１に接続されたデバイスなどは、メモリ４からリードしたデータに対して何らかの処理を行い、メモリ４へと書き戻す。つまり、リードデータを受信するまでの時間が増大するということは、当該デバイス等によるライトリクエストの発行にも影響を与え、結果的に画像形成装置１全体のスループットが低下することになる。
【００３６】
しかしながら、アービタ１２においては、送信側伝送路６ａの状況を把握できないので、送信側伝送路６ａの遊休期間をつくらないようリードリクエストとライトリクエストの調停を行うのは困難である。つまり、アービタ１２が、同時にライトリクエストとリードリクエストとを受け付けた場合に、ライトリクエストをリードリクエストより優先させることには問題はない。しかしながら、単にライトリクエストをリードリクエストより優先的に処理を行うだけでは、受信側伝送路６ｂの遊休期間を生じさせることになる。そこで、本実施の形態にかかる画像形成装置１では、ライトリクエスト及びリードリクエストの送信の調停を行うために、以下に示す構成を備えることにした。
【００３７】
ＰＣＩｅ  Ｉ／Ｆ回路１４は、データバッファ１４ａと、送信処理Ｉ／Ｆ１４ｂと、受信処理Ｉ／Ｆ１４ｃと、を搭載している。
【００３８】
送信処理Ｉ／Ｆ１４ｂは、ＤＭＡ１１からメモリ４へのライトリクエスト、ライトされるデータ、及び、ＤＭＡ１１からメモリ４へのリードリクエストを、送信側伝送路６ａに送信する処理を行う。
【００３９】
また、ライトリクエストとライトされるデータとは、一つのパケットに格納されている。具体的には、ライトリクエストは、当該パケットのヘッダに記載され、ライトされるデータは、当該パケットのペイロードとして格納される。図７に示す例では符号４０１で示されたデータ群が、１パケットを構成している。また、本実施の形態にかかる画像形成装置１では、プロトコルにスプリットトランザクションを採用している。
【００４０】
受信処理Ｉ／Ｆ１４ｃは、リードリクエストに従ってメモリ４からリードされたデータを、受信側伝送路６ｂから受信する処理を行う。
【００４１】
カウンタ１５は、リクエスト制御回路１３の外部に設けられているが、リクエスト制御回路１３内に設けられていてもよい。
【００４２】
ＡＳＩＣ５は、そのアービタ１２が各マスタとしてのＤＭＡ１１からのライトリクエスト及びリードリクエストを調停して、リクエスト制御回路１３に渡し、リクエスト制御回路１３は、アービタ１２からのライトリクエスト及びリードリクエストを制御して、ＰＣＩｅ  Ｉ／Ｆ回路１４に渡す。ＰＣＩｅ  Ｉ／Ｆ回路１４は、ライトリクエスト及びリードリクエストをＰＣＩｅ６を経由させてＭＣＨ３に送り、ＣＰＵ２がＭＣＨ３に接続されているメモリ４にアクセスさせる。
【００４３】
リクエスト制御回路１３は、ライトリクエストバッファ２１と、受信部２２と、制御部２３と、レジスタ２４を備えている。
【００４４】
受信部２２は、アービタ１２からのライトリクエスト、リードリクエスト及びメモリ４にライトされるデータを受信する。
【００４５】
制御部２３は、受信部２２が受信したリクエスト及びデータと、ＰＣＩｅ  Ｉ／Ｆ回路１４から受け付けたデータを転送するための制御を行う。
【００４６】
例えば、制御部２３は、メモリ４に対するライトリクエスト及び、ライトするデータのうちいずれか一つ以上を送信側伝送路６ａで送信処理中に、受信部２２が次のライトリクエスト受信した場合に、当該次のライトリクエストをライトリクエストバッファ２１に保管し、ライトリクエストバッファ２１にライトリクエストの保管中に後続のリードリクエストを受信部２２が受信すると、該リードリクエストを、該保管中のライトリクエストより先にＰＣＩｅ  Ｉ／Ｆ回路１４の送信処理インターフェース１４ｂに受け渡す制御を行う。
【００４７】
このように、制御部２３は、ＰＣＩｅ  Ｉ／Ｆ回路１４が先のライトリクエスト（ライトリクエスト、又は当該ライトリクエストと共にパケットに格納されているデータ）の送信処理中等によってビジー状態でコマンドを受け付けることができない場合に、アービタ１２から受信部２２がライトリクエストを受信すると、該ライトリクエストをライトリクエストバッファ２１に保管する。
【００４８】
リクエスト制御回路１３は、ＰＣＩｅ  Ｉ／Ｆ回路１４がビジー状態でコマンドを受け付けられない場合、アービタ１２からのリクエストがあると、アービタ１２とリクエスト制御回路１３との間の制御信号により、リクエストを受け付けずに待たせる。
【００４９】
そして、リクエスト制御回路１３では、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストの受付を再開した時に、ライトリクエストバッファ２１内が空であれば、制御部２３は、受信部２２がアービタ１２から受信したリクエストを、そのままＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡す。
【００５０】
一方、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストの受付を再開した時に、ライトリクエストがライトリクエストバッファ２１に保管されている場合、受信部２２がアービタ１２から受信した後続のリクエストがライトリクエストの場合、制御部２３は、ライトリクエストバッファ２１内のライトリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に渡して、アービタ１２からの後続のライトリクエストを新たにライトリクエストバッファ２１に保管する。また、受信部２２がアービタ１２から受信した後続のリクエストがリードリクエストの場合、制御部２３は、ライトリクエストバッファ２１内のライトリクエストを追い越させて、先に受信したリードリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４の送信処理Ｉ／Ｆ１４ｂに受け渡す。
【００５１】
レジスタ２４は、追い越し許可回数設定する。本実施の形態にかかるレジスタ２４は、ＣＰＵ２からの指示で、上記ライトリクエストバッファ２１にライトリクエストを保管している間の後続のリードリクエストによる任意の追い越し許可回数が設定される。そして、カウンタ１５は、該ライトリクエストバッファ２１にライトリクエストを保管している間の後続のリードリクエストによる追い越し回数をカウントする。
【００５２】
リクエスト制御回路１３の制御部２３は、カウンタ１５のカウントするカウント値（追い越し回数）が内部レジスタ２４に設定されている追い越し許可回数を超えるまでは、上記ライトリクエストバッファ２１内のライトリクエストを後続のリードリクエストに追い越させる制御を行い、カウンタ１５のカウントする追い越し回数が内部レジスタ２４に設定されている追い越し許可回数を超えると、後続のリードリクエストの追い越しを禁止してライトリクエストバッファ２１内のライトリクエストを先に発行する。
【００５３】
図２は、ＡＳＩＣ５とＭＣＨ３との間で行われるパケットの送受信を示した説明図である。図２に示すように、ＭＣＨ３が備えているＰＣＩｅ  Ｉ／Ｆ回路２０１は、Ｐｏｓｔｅｄヘッダバッファ２０１ａと、Ｐｏｓｔｅｄデータバッファ２０１ｂと、Ｎｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃとを備える。なお、ＰＣＩｅ  Ｉ／Ｆ回路２０１は他にもバッファを有するが、本実施の形態で利用されないので説明を省略する。なお、これらＰｏｓｔｅｄヘッダバッファ２０１ａ、Ｐｏｓｔｅｄデータバッファ２０１ｂ、及びＮｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃは、ＰＣＩｅの規格で定義されたフローコントロールバッファである。
【００５４】
Ｐｏｓｔｅｄヘッダバッファ２０１ａは、ライトリクエストを格納するフローコントロールバッファとなる。
【００５５】
Ｐｏｓｔｅｄデータバッファ２０１ｂは、ライトされるデータを格納するフローコントロールバッファとなる。
【００５６】
Ｎｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃは、リードリクエストを格納するフローコントロールバッファとなる。
【００５７】
そして、現在提案されているＰＣＩ  Ｅｘｐｒｅｓｓではフローコントロールという概念がある。つまり、上述したフローコントロールバッファに空き容量が無く受信できない場合には、送信側のＰＣＩｅ  Ｉ／Ｆ回路１４でパケットを送信しないように制御される。このように制御するために、ＰＣＩｅ  Ｉ／Ｆ回路２０１が、ＤＬＬＰ(Data  Link  Layer  Packet)と呼ばれるパケットを、受信側伝送路６ｂを介してＰＣＩｅ  Ｉ／Ｆ回路１４に送信する。このＤＬＬＰには、上述した各フローコントロールバッファの空き容量等が記載されている。
【００５８】
そして、ＰＣＩｅ  Ｉ／Ｆ回路２０１の各フローコントロールバッファの空き容量がないことをＤＬＬＰで通知された場合、送信側のＰＣＩｅ  Ｉ／Ｆ回路１４は、空き容量がないフローコントロールバッファに格納されるパケットを送信できない。
【００５９】
図３は、Ｐｏｓｔｅｄヘッダバッファ２０１ａの空き容量がなくなった状況を示した説明図である。図３の例では、ＭＣＨ３のＰＣＩｅ  Ｉ／Ｆ回路２０１のＰｏｓｔｅｄヘッダバッファ２０１ａが小さい等の理由により、ＰＣＩｅ  Ｉ／Ｆ回路２０１が連続してパケットを受け付けた場合には送信側伝送路６ａが空いていても、Ｐｏｓｔｅｄヘッダバッファ２０１ａの空き容量がなくなることがある。この場合、ライトリクエストを送信できないため、その後続の他のリクエストも送信できないという状況が発生する。
【００６０】
そこで、本実施の形態にかかる画像形成装置１においては、図４に示すように、受信部２２がライトリクエストを連続して受信した場合、リクエスト制御回路１３の制御部２３は、受信したライトリクエストを連続してＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡すのではなく、適度にリードリクエストをライトリクエスト間に挿入して、ＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡すよう制御を行うこととした。これにより、ＭＣＨ３のＰＣＩｅ  Ｉ／Ｆ回路２０１のＰｏｓｔｅｄヘッダバッファ２０１ａが小さくても、送信側伝送路６ａの遊休期間が生じることを抑止できる。
【００６１】
ところで、一般的にはＰＣＩｅ  Ｉ／Ｆ回路に搭載するフローコントロールバッファ容量は、回路毎に異なるものである。さらに、ＰＣＩｅ  Ｉ／Ｆ回路が送信するＤＬＬＰは、外部から送るタイミング等を制御できない。つまり、受信側のＰＣＩｅ  Ｉ／Ｆ回路がＤＬＬＰを送信した後、受信側のＰＣＩｅ  Ｉ／Ｆ回路がどのタイミングでフローコントロールバッファに空き容量ができたのか、受信側のＰＣＩｅ  Ｉ／Ｆのから送信されるＤＬＬＰだけでは判断できない。このため、ＤＬＬＰからの通知に依存しないようにリードリクエスト及びライトリクエストをＭＣＨ３に受け渡すよう制御するのが好ましい。
【００６２】
そこで、ＡＳＩＣ５のレジスタ２４には、Ｎｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃのバッファ容量をリードリクエストで空き容量が無くならない数の追い越し許可回数が設定される。これによりリードリクエストでＮｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃがいっぱいになる前に、リードリクエストによるライトリクエストの追い越しを抑止して、ライトリクエストがＭＣＨ３のＰＣＩｅ  Ｉ／Ｆ回路２０１に送信されるので、Ｎｏｎ−Ｐｏｓｔｅｄヘッダバッファ２０１ｃの空き容量が無くなることを抑止できる。
【００６３】
また、ＡＳＩＣ５側のＰＣＩｅ  Ｉ／Ｆ１４も、ＭＣＨ３側のＰＣＩｅ  Ｉ／Ｆ２０１と同様に、フローコントロールバッファであるＰｏｓｔｅｄヘッダバッファ、Ｐｏｓｔｅｄデータバッファ、及びＮｏｎ−Ｐｏｓｔｅｄヘッダバッファを備えている。そして、ＭＣＨ３側のＰＣＩｅ  Ｉ／Ｆ２０１の各フローコントロールバッファは、上述した処理により空き容量が無くなることを抑止できるが、ＡＳＩＣ５側のＰＣＩｅ  Ｉ／Ｆ１４の各フローコントロールバッファについてフローコントロールは特に行わない。これは、送信側のフローコントロールバッファが空く場合ということは、すでに画像データなどの情報の送信が終了している場合が多く、特に制御を要しないためである。
【００６４】
ＰＣＩｅ  Ｉ／Ｆ回路１４の送信処理Ｉ／Ｆ１４ｂは、リクエスト制御回路１３からのリクエストを受け付けて送信側伝送路６ａを経由させてＭＣＨ３に送信する。また、受信処理Ｉ／Ｆ１４ｃは、受信側伝送路６ｂを経由してＭＣＨ３から送られてくるデータを受信し、リクエスト制御回路１３に受け渡す。
【００６５】
また、ＰＣＩｅ  Ｉ／Ｆ回路１４は、データバッファ１４ａを備えており、ＡＳＩＣ５内部のデータ転送速度がＰＣＩｅ６のパケット発行能力に比較して遅い場合に、データをデータバッファ１４ａに格納して、データのアンダーフローが発生するのを防止する。
【００６６】
次に、本実施例の作用を説明する。本実施例の画像形成装置１は、リクエスト制御回路１３が、ライトリクエストが連続して発生しても、リードリクエストを間に挿入して発行するリクエスト制御処理を行って、伝送路の送信側と受信側の遊休期間を削減し、伝送路の利用効率を向上させてシステム全体のスループットを向上させるとともに、追い越し許可回数を管理する。
【００６７】
図５及び図６は、画像形成装置１がアービタ１２からリクエストを受け付けた場合の処理を示したフローチャートである。
【００６８】
すなわち、図５の示すように、リクエスト制御回路１３の受信部２２は、アービタ１２から最初のリクエストを受け取る（ステップＳ１０１）。すると、制御部２３は、該リクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡し（ステップＳ１０２）、次のリクエストがアービタ１２からあるかチェックする（ステップＳ１０３）。
【００６９】
ステップＳ１０３で、制御部２３が、次のリクエストがアービタ１２から無いと判断したときには、リクエスト制御回路１３は、そのまま処理を終了する。一方、制御部２３が、次のリクエストがアービタ１２からあると判断すると、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストを受付可能であるかチェックする（ステップＳ１０４）。
【００７０】
リクエスト制御回路１３の制御部２３は、ステップＳ１０４で、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストを受付可能であると判断すると、ステップＳ１０２に戻って、該リクエストをＰＣＩｅ  Ｉ／Ｆ回路に受け渡して、上記同様に処理する（ステップＳ１０２〜Ｓ１０４）。一方、制御部２３が、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストを受付可能でないと判断したときには、アービタ１２からのリクエストがライトリクエストであるかチェックする（ステップＳ１０５）。
【００７１】
リクエスト制御回路１３の制御部２３は、ステップＳ１０５で、アービタ１２からのリクエストがリードリクエストであると判断すると、ＰＣＩｅ  Ｉ／Ｆ回路１４が受付可能になるのを待って（ステップＳ１０６）、ステップＳ１０２に戻って、該リクエストをＰＣＩｅ  Ｉ／Ｆ回路に受け渡して、上記同様に処理する（ステップＳ１０２〜Ｓ１０６）。
【００７２】
ステップＳ１０５で、アービタ１２からのリクエストがライトリクエストであると判断すると、リクエスト制御回路１３の制御部２３は、該アービタ１２からのライトリクエストをライトリクエストバッファ２１に保管するライトリクエスト保管処理を行う（ステップＳ１０７）。図６に移り、制御部２３は、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエスト受付可能状態になるまで待つ（ステップＳ１０８）。
【００７３】
リクエスト制御回路１３の制御部２３は、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエストを受付可能になると、受信部２２にアービタ１２からの次（後続）のリクエストが来ているかチェックする（ステップＳ１０９）。制御部２３は次のリクエストが来ていないと判断したときには、ＰＣＩｅ  Ｉ／Ｆ回路１４にライトリクエストバッファ２１内のライトリクエストを受け渡して（ステップＳ１１０）、図５のステップＳ１０３に戻って、アービタ１２から次のリクエストが来ているかのチェックから上記同様に処理する（ステップＳ１０３〜Ｓ１１０）。
【００７４】
ステップＳ１０９で、アービタ１２から次のリクエストが来ていると、リクエスト制御回路１３の制御部２３は、アービタ１２からの次のリクエストがライトリクエストであるかチェックする（ステップＳ１１１）。そして、制御部２３は、次のリクエストがライトリクエストであると判断すると、ライトリクエストバッファ２１内のライトリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡し、次のライトリクエストをライトリクエストバッファ２１に保管して（ステップＳ１１２）、カウンタ１５のカウントするカウント値を初期化する（ステップＳ１１３）。なお、当該カウント値を使用する状況については後で示す。そして、ステップＳ１０８に戻り、ＰＣＩｅ  Ｉ／Ｆ回路がリクエストを受付可能かどうかのチェックから上記同様に処理する（ステップＳ１０８〜Ｓ１１２）。
【００７５】
ステップＳ１１１で、次のリクエストがリードリクエストと判断したときには、リクエスト制御回路１３の制御部２３は、該ライトリクエストバッファ２１のライトリクエストに追い越し禁止フラグが立っているか（付与されているか）チェックする（ステップＳ１１４）。この追い越し禁止フラグは、他のリードリクエストに追い越されるとデータの不整合が発生してしまうようなマスタであるＤＭＡ１１が出すライトリクエストに対して該ＤＭＡ１１によって付与され、あるいは、特定のライトリクエストに対してＤＭＡ１１によって付与される（フラグ処理）。そして、このＤＭＡによる追い越し禁止フラグの付与は、ソフトウェアに従ってＣＰＵ２がＤＭＡ１１に命令して行わせる。
【００７６】
ステップＳ１１４で、ライトリクエストバッファ２１のライトリクエストに追い越し禁止フラグが立っていないと判断したときには、リクエスト制御回路１３の制御部２３は、カウンタ１５のカウントするカウント値（追い越し回数）が内部レジスタ２４に設定されている追い越し許可回数を超えているかチェックする（ステップＳ１１５）。制御部２３が、カウント値が追い越し許可回数を超えていないと判断したときには、リードリクエストによる追い越し回数が追い越し許可回数を超えていないと判断して、該次のリードリクエストを、ライトリクエストバッファ２１内のライトリクエストを追い越させて、ＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡す追い越し処理を行う（ステップＳ１１６）。
【００７７】
リクエスト制御回路１３の制御部２３は、リードリクエストをライトリクエストを追い越させてＰＣＩｅ  Ｉ／Ｆ回路に受け渡すと、カウンタ１５のカウント値をカウントアップさせる追い越し回数カウント処理を行って（ステップＳ１１７）、ステップＳ１０８に戻る。
【００７８】
ステップＳ１１４で、カウンタ１５のカウント値が追い越し許可回数を超えていると判断すると、リクエスト制御回路１３の制御部２３は、リードリクエストによる追い越し回数が追い越し許可回数を超えていると判断して、ＰＣＩｅ  Ｉ／Ｆ回路１４にリクエストバッファ２１内のライトリクエストを受け渡す追い越し許可回数管理処理を行い（ステップＳ１１８）、カウンタ１５のカウントするカウント値を初期化する（ステップＳ１１９）。さらに、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエスト受付可能になるのを待って（ステップＳ１２０）、ＰＣＩｅ  Ｉ／Ｆ回路１４に後続のリードリクエストを受け渡して処理を終了する（ステップＳ１２１）。
【００７９】
また、ステップＳ１１４で、追い越し禁止フラグが立っていると、リクエスト制御回路１３は、リードリクエストによるライトリクエストの追い越しが禁止されているので、ＰＣＩｅ  Ｉ／Ｆ回路１４にリクエストバッファ２１内のライトリクエストを渡す追い越し禁止処理を行い（ステップＳ１１８）、カウンタ１５のカウントするカウント値を初期化する（ステップＳ１１９）。さらに、ＰＣＩｅ  Ｉ／Ｆ回路１４がリクエスト受付可能になるのを待って（ステップＳ１２０）、ＰＣＩｅ  Ｉ／Ｆ回路１４に後続のリードリクエストを渡して処理を終了する（ステップＳ１２１）。そして、ステップＳ１０３に示すように再びアービタ１２にリクエストが来ているか判断することになる。
【００８０】
このように、本実施例の画像形成装置１のＡＳＩＣ５は、メモリ４に対するライトリクエストの発行処理中に、後続のライトリクエストを受け付けると、該後続のライトリクエストをライトリクエストバッファ２１に保管して、該保管中に後続のリードリクエストを受け付けると、該後続のリードリクエストを保管中のライトリクエストを追い越させて先に発行している。
【００８１】
したがって、図７に示すように、データの付属するライトリクエストの間に、データの付属しないリードリクエストを挿入させて、図１０及び図１１に示した従来に比較して、ＰＣＩｅ６の送信側伝送路６ａと受信側伝送路６ｂの遊休期間を削減することができ、伝送路の利用効率を向上させて全体のスループットを向上させることができる。
【００８２】
つまり、ライトリクエストは、ライトされるデータともに送信側伝送路６ａを転送されるため、送信側伝送路６ａの占有率が大きいのに対し、リードリクエストはコマンド（パケットのヘッダ）だけで、データを伴わない以上、送信側伝送路６ａの占有率は小さい。
【００８３】
このため、連続するライトリクエストの合間にリードリクエストを割り込ませても、送信側の転送能力にはほとんど影響を与えない。
【００８４】
そこで、画像形成装置１では上述した処理手順で処理を行うこととした。つまり、画像形成装置１のアービタ１２等ではライトリクエストとリードリクエストとではライトリクエストが優先されるが、送信側伝送路６ａがライトリクエストとライトされるデータとで混雑している場合には、ライトリクエストの間にリードリクエストを挿入して送信することで、送信側伝送路６ａの転送能力にほとんど影響を与えることなく、受信側伝送路６ｂの遊休期間を削減し、伝送路（双方向）の利用効率を上げてシステム全体のスループットを向上させることとした。
【００８５】
また、本実施例のＡＳＩＣ５は、リクエスト制御回路１３の制御部２３が、カウンタ１５のカウントするカウント値（追い越し回数）が内部レジスタ２４に設定されている追い越し許可回数を超えるまでは、リードリクエストによるライトリクエストの追い越しを許可するが、カウンタ１５のカウント値が内部レジスタ２４の追い越し許可回数を超えると、後続のリードリクエストの追い越しを禁止してライトリクエストバッファ２１のライトリクエストを先に発行している。
【００８６】
したがって、リードリクエストとライトリクエストの発行状況をリードリクエストの追い越し許可数に反映させることで、伝送路であるＰＣＩｅ６の送信側と受信側のデータ量のバランスを調整することができ、より一層効率的な伝送路の利用を図ることができる。
【００８７】
さらに、本実施例のＡＳＩＣ５は、マスタであるＤＭＡ１１１からのライトリクエストにリードリクエストによる追い越しを禁止する追い越し禁止フラグが付与されていると、リクエスト制御回路１３が、該ライトリクエストに対する後続のリードリクエストによる追い越しを禁止している。
【００８８】
このような追い越し禁止を行う例としては、利用者がスキャンで読み込んだ画像データの回転処理を施した後に、印刷することを指示した場合が考えられる。例えば、画像形成装置１のスキャナで画像データを読み込んだ後、単に印刷する場合では、書込処理が終了していなくとも、メモリ４に書き込まれた領域を順に読込処理しても特に問題がない。しかしながら、回転処理を施す場合、最後に書き込まれた領域などから読込処理等が行われることもある。この場合、リードリクエストがライトリクエストを追い越したとしても、データの不整合が生じるだけである。
【００８９】
したがって、他のリードリクエストに追い越されるとデータの不整合が発生するようなＤＭＡ１１や特定のライトリクエストに追い越し禁止フラグを付与することで、伝送路の利用効率を向上させて全体のスループットを向上させつつ、必要なデータの整合性を保つことができ、適切なリクエスト発行を行うことができる。
【００９０】
次に、画像形成装置１における、追い越しフラグの設定から、追い越し禁止を行う制御手順について説明する。まず、画像形成装置１のＣＰＵ２は、実行する機能に応じてＤＭＡ１１を起動する。そして、ＣＰＵ２は、ＤＭＡ１１を起動する際、当該ＤＭＡ１１の動作モードに応じて、当該ＤＭＡからのライトリクエストに対して、追い越し禁止か否かを設定する。当該設定は、ＤＭＡ１１毎にフラグとして保持される。そして、ＤＭＡ１１は、上述したフラグを参照して、ライトリクエストに追い越し禁止フラグを設定する。
【００９１】
そして、リクエスト制御回路１３では、受信したライトリクエストに追い越し禁止フラグが設定されている場合、送信側伝送路６ａ及び６ｂの状況にかかわらず、ＰＣＩｅ  Ｉ／Ｆ回路１４にライトリクエストより先に受け渡す。これにより、送信処理Ｉ／Ｆ１４ｂでは、追い越し禁止フラグが設定されているライトリクエストは、リードリクエストを追い越さないように制御できる。これにより、データの不整合を抑止しつつ、効率的に伝送路を利用することができる。
【００９２】
また、本実施例のＡＳＩＣ５においては、そのリクエスト制御回路１３の制御部２３は、アービタ１２を介してＤＭＡ１１から受け付けたライトリクエストに追い越し禁止フラグが付与されていると、該ライトリクエストをライトリクエストバッファ２１に保管することなく、先のライトリクエストの処理を待って、該受け付けたライトリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に発行してもよい。
【００９３】
このようにすると、データの付随する冗長なライトリクエストのライトリクエストバッファ２１への書込時間や読込時間を削減することができ、全体のスループットをより一層向上させることができる。
【実施例２】
【００９４】
図８は、本発明の本発明の半導体集積回路及び画像処理装置の第２実施例を適用した画像形成装置３０の要部ブロック構成図である。
【００９５】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置３０に適応したものであり、本実施例の説明においては、上記第１実施例の画像形成装置１と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【００９６】
図８において、画像形成装置３０は、第１実施例の画像形成装置１と同様のＣＰＵ２、ＭＣＨ３及びメモリ４を備えているとともに、半導体集積回路としてのＡＳＩＣ３１等を備えており、ＡＳＩＣ３１とＭＣＨ３とがスプリットトランザクションの伝送路であるＰＣＩｅ６で接続されている。
【００９７】
ＡＳＩＣ３１は、第１実施例のＡＳＩＣ５と同様のマスタとしての複数のＤＭＡ１１、アービタ１２及びＰＣＩｅ  Ｉ／Ｆ回路１４等を搭載しているとともに、リクエスト制御回路４０を搭載している。
【００９８】
リクエスト制御回路４０は、上記第１実施例のリクエスト制御回路１３と同様のライトリクエストバッファ２１を備えているとともに、制御部２３から処理が変更された制御部４３と、レジスタ４１とカウンタ４２と、を備えている。
【００９９】
レジスタ（追い越し許可期間設定手段）４１は、ＣＰＵ２によって後続のリードリクエストの追い越しを許可する追い越し許可期間が設定され、カウンタ４２は、リクエスト制御回路４０がアービタ１２からライトリクエストを受け取ってライトリクエストバッファ２１に保管すると、時間のカウントアップを開始する。
【０１００】
そして、リクエスト制御回路４０の制御部４３は、レジスタ４１に設定された追い越し許可期間とカウンタ４２のカウントする時間に基づいて、後続のリードリクエストのライトリクエストバッファ２１内のライトリクエストの追い越しを管理する。
【０１０１】
すなわち、リクエスト制御回路４０の制御部４３は、受信部２２がライトリクエストを受け取ってライトリクエストバッファ２１に保管すると、時間のカウントアップを開始して、カウンタ４２がレジスタ４１に設定されている追い越し許可期間をカウントするまでの間に、リードリクエストを受け取ると、該リードリクエストをライトリクエストバッファ２１内のライトリクエストを追い越させて先にＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡し、カウンタ４２がレジスタ４１に設定されている追い越し許可期間をカウントした後に、次のリードリクエストを受け取ると、該リードリクエストの追い越しを禁止して、ＰＣＩｅ  Ｉ／Ｆ回路１４が受付可能になるのを待って、ライトリクエストバッファ２１内のライトリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に渡す。
【０１０２】
また、リクエスト制御回路４０の制御部４３は、ライトリクエストバッファ２１にライトリクエストを保管して、カウンタ４２のカウント値がレジスタ４１の追い越し許可期間をカウントする前に、受信部２２がアービタ１２を介してＤＭＡ１１から次のライトリクエストを受け取ると、ＰＣＩｅ  Ｉ／Ｆ回路１４が受付可能になるのを待って、ライトリクエストバッファ２１内のライトリクエストをＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡し、該後続のライトリクエストをライトリクエストバッファ２１に保管して、カウンタ４２をリセットして、新たに追い越し許可期間のカウントを開始する。
【０１０３】
このように、本実施例のＡＳＩＣ３１は、リクエスト制御回路４０の制御部４３が、レジスタ４１に設定されている追い越し許可期間中のみ、後続のリードリクエストによるライトリクエストバッファ２１に保管中のライトリクエストの追い越しを許可している。
【０１０４】
したがって、本実施例の画像形成装置３０では、ライトデータのデータ量が大きい場合、当該ライトデータをライトリクエストバッファ２１に少し待機させて、リードリクエストを受け付けるか否か確認し、リードリクエストを受け付けた場合には優先してＰＣＩｅ  Ｉ／Ｆ回路１４に受け渡すことで、効率よくＰＣＩｅ６を利用できるため、全体のスループットをよりいっそう向上させることができる。
【実施例３】
【０１０５】
図９は、半導体集積回路及び画像処理装置の第３実施例を適用した画像形成装置５０の要部ブロック構成図である。
【０１０６】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置５０に適応したものであり、本実施例の説明においては、上記第１実施例の画像形成装置１と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【０１０７】
図９において、画像形成装置５０は、第１実施例の画像形成装置１と同様のＣＰＵ２、ＭＣＨ３及びメモリ４を備えているとともに、半導体集積回路としてのＡＳＩＣ５１等を備えており、ＡＳＩＣ５１とＭＣＨ３とがスプリットトランザクションの伝送路であるＰＣＩｅ６で接続されている。
【０１０８】
ＡＳＩＣ５１は、第１実施例のＡＳＩＣ５と同様のマスタとしての複数のＤＭＡ１１、アービタ１２及びＰＣＩｅ  Ｉ／Ｆ回路１４等を搭載しているとともに、第２実施例と同様のリクエスト制御回路４０を搭載している。
【０１０９】
リクエスト制御回路４０は、上記第２実施例と同様のリクエスト制御回路１３、レジスタ４１及びカウンタ４２を備えている。
【０１１０】
そして、ＡＳＩＣ５１は、レジスタ５２とアンド回路５３を搭載しており、アンド回路５３には、ライトリクエストバッファ２１の動作クロックＣＬＫとレジスタ５２の出力が入力されている。アンド回路５３の出力は、ライトリクエストバッファ２１の動作クロックＣＬＫの入力端子に入力されている。
【０１１１】
レジスタ５２は、ＣＰＵ２により「１」と「０」が選択的に設定され、設定値をアンド回路５３に出力する。
【０１１２】
アンド回路５３は、レジスタ５２に「１」が設定されているときに、動作クロックＣＬＫをライトリクエストバッファ２１に入力し、レジスタ５２に「０」が設定されているときには、動作クロックＣＬＫの出力を停止して、ライトリクエストバッファ２１の動作を停止させることで、ライトリクエストバッファ２１へのライトリクエストの書込及び読込を停止させる。
【０１１３】
したがって、レジスタ５２とアンド回路５３は、全体として、ライトリクエストバッファ２１への動作クロックＣＬＫを停止させてライトリクエストのライトリクエストバッファ２１への保管を停止して、後続のリードリクエストによるライトリクエストの追い越しを禁止するリクエストバッファ動作制御手段として機能している。なお、このレジスタ５２及びアンド回路５３は、図９では、リクエスト制御回路４０の外に設けられている状態で記載されているが、リクエスト制御回路４０内に設けられていてもよい。
【０１１４】
本実施例のＡＳＩＣ５１は、ライトリクエストバッファ２１へライトリクエストを保管して後続のリードリクエストを追い越させる追い越し処理を有効にするときには、レジスタ５２に「０」が設定されて、アンド回路５３から動作クロックＣＬＫをライトリクエストバッファ２１に供給し、追い越し処理を無効にするときには、「１」がレジスタ５２に設定されて、アンド回路５３から動作クロックＣＬＫがライトリクエストバッファ２１に供給されるのを禁止する。
【０１１５】
このようにすると、ソフトウェアによって多くのマスタであるＤＭＡ１１への追い越し禁止フラグの設定を行わせることなく、動作クロックＣＬＫの供給を停止させることで、リードリクエストによるライトリクエストの追い越し禁止を簡単かつ容易に行うことができるとともに、動作クロックＣＬＫの停止によるライトリクエストバッファ２１の動作を停止させて、消費電力を削減することができる。
【０１１６】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１１７】
本発明は、ＰＣＩｅ等のスプリットトランザクションの伝送路経由でマスタからメモリへアクセスする半導体集積回路、及びプリンタ、複合装置等の画像処理装置に適用することができる。
【図面の簡単な説明】
【０１１８】
【図１】第１実施例の画像形成装置の要部ブロック構成図である。
【図２】ＡＳＩＣとＭＣＨとの間で行われるパケットの送受信を示した説明図である。
【図３】ＭＣＨのＰＣＩｅ  Ｉ／Ｆ回路に備えられたＰｏｓｔｅｄヘッダバッファ２０１ａの空き容量がなくなった状況を示した説明図である。
【図４】リクエスト制御回路の制御部によるリードリクエスト及びライトリクエストの受け渡し制御を示した説明図である。
【図５】第１実施例のリクエスト制御回路によるリクエスト制御処理を示すフローチャートである。
【図６】図５のリクエスト制御処理の続きの処理を示すフローチャートである。
【図７】図５及び図６のリクエスト制御処理による伝送効率の向上の説明図である。
【図８】本発明の第２実施例を適用した画像形成装置の要部ブロック構成図である。
【図９】本発明の第３実施例を適用した画像形成装置の要部ブロック構成図である。
【図１０】従来のＰＣＩｅの伝送効率の説明図である。
【図１１】従来のＰＣＩｅのＰＣＩｅ  Ｉ／Ｆ回路のデータバッファで転送データを揃えてリクエストを発行する場合の伝送効率の説明図である。
【符号の説明】
【０１１９】
１、３０、５０  画像形成装置
２  ＣＰＵ
３  ＭＣＨ
４  メモリ
５、３１、５１  ＡＳＩＣ
６  ＰＣＩｅ
６ａ  送信側伝送路
６ｂ  受信側伝送路
１１  ＤＭＡ
１２  アービタ
１３、４０  リクエスト制御回路
１４  ＰＣＩｅ  Ｉ／Ｆ回路
１４ａ  データバッファ
１４ｂ      送信処理インターフェース
１４ｃ      受信処理インターフェース
１５、４２  カウンタ
２１  ライトリクエストバッファ
２２  受信部
２３、４３  制御部
２４、４１  レジスタ
５２  レジスタ
５３  アンド回路
２０１  ＰＣＩｅ  Ｉ／Ｆ回路
２０１ａ  Ｐｏｓｔｅｄヘッダバッファ
２０１ｂ  Ｐｏｓｔｅｄデータバッファ
２０１ｃ  Ｎｏｎ−Ｐｏｓｔｅｄヘッダバッファ
【図１】
2008250985.tif 000003
【図２】
2008250985.tif 000004
【図３】
2008250985.tif 000005
【図４】
2008250985.tif 000006
【図５】
2008250985.tif 000007
【図６】
2008250985.tif 000008
【図７】
2008250985.tif 000009
【図８】
2008250985.tif 000010
【図９】
2008250985.tif 000011
【図１０】
2008250985.tif 000012
【図１１】
2008250985.tif 000013