(57)【要約】【課題】バスのスループットを向上させることを目的とする。【解決手段】少なくとも第一のバスと、第二のバスと、を有する情報処理装置であって、前記第一のバスに書込命令、または読出命令を行い、前記第二のバスから書込命令を受け、前記第二のバスから読出命令を受け、前記書込命令、または前記読出命令の命令に基づいて前記書込読出命令について命令を行い、前記命令は、前記読出命令を待機させる待機処理を行い、前記読出命令を待機させている間は、前記読出命令より前記書込命令を優先させるように前記書込読出命令に行う命令の順序を並び替える並び替え処理を行うことによって上記課題を解決する。【選択図】図１０
2015127935.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第一のバスと、第二のバスと、を有する情報処理装置であって、
前記第一のバスに書込命令、または読出命令を行う書込読出命令手段と、
前記第二のバスから書込命令を受ける書込命令手段と、
前記第二のバスから読出命令を受ける読出命令手段と、
前記書込命令手段、または前記読出命令手段の命令に基づいて前記書込読出命令手段に命令を行う命令手段と、を有し、
前記命令手段は、
前記読出命令を待機させる待機処理を行い、前記読出命令を待機させている間は、前記読出命令より前記書込命令を優先させるように前記書込読出命令手段に行う命令の順序を並び替える並び替え処理を行う情報処理装置。
【請求項２】
前記命令手段は、未完了の前記読出命令の数に基づいて前記待機処理を行う請求項１に記載の情報処理装置。
【請求項３】
前記書込命令には、前記書込命令によって書込まれるデータを含む請求項１または２に記載の情報処理装置。
【請求項４】
設定に係る値を記憶する記憶手段を有し、
前記待機処理が、前記記憶手段に設定された値に基づいて行われる請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
少なくとも第一のバスと、第二のバスと、
前記第一のバスに書込命令、または読出命令を行う書込読出命令手段と、
前記第二のバスから書込命令を受ける書込命令手段と、
前記第二のバスから読出命令を受ける読出命令手段と、を有する情報処理装置に、
前記書込命令手段、または前記読出命令手段の命令に基づいて前記書込読出命令手段に命令を行う命令手順を行い、
前記命令手順は、
前記読出命令を待機させる待機処理を行い、前記読出命令を待機させている間は、前記読出命令より前記書込命令を優先させるように前記書込読出命令手段に行う命令の順序を並び替える並び替え処理を行わせる手順である情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法に関する。
【背景技術】
【０００２】
従来、情報処理装置の電子回路において、装置、または電子部品同士をつなぐインタフェース（Ｉｎｔｅｒｆａｃｅ）回路、いわゆるバス（Ｂｕｓ）が用いられている。
【０００３】
送信側、および受信側の伝送路の遊休期間を削減して、バスのスループット（Ｔｈｒｏｕｇｈｐｕｔ）を向上させる方法が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法では、バスのスループットが低下する虞があった。
【０００５】
本発明の１つの側面は、書込用と、読込用と、のコマンド入力部が別々のバスと、書込用と、読込用と、のコマンド入力部が共通のバスと、が接続されている場合、バスのスループットを向上できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様における、少なくとも第一のバスと、第二のバスと、を有する情報処理装置であって、前記第一のバスに書込命令、または読出命令を行う書込読出命令手段と、前記第二のバスから書込命令を受ける書込命令手段と、前記第二のバスから読出命令を受ける読出命令手段と、前記書込命令手段、または前記読出命令手段の命令に基づいて前記書込読出命令手段に命令を行う命令手段と、を有し、前記命令手段は、前記読出命令を待機させる待機処理を行い、前記読出命令を待機させている間は、前記読出命令より前記書込命令を優先させるように前記書込読出命令手段に行う命令の順序を並び替える並び替え処理を行うことを特徴とする。
【発明の効果】
【０００７】
バスのスループットを向上できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る情報処理装置を使用した画像形成装置の一例を示す概略図である。
【図２】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の一実施形態における情報処理装置の一例を説明する機能ブロック図である。
【図４】本発明の一実施形態における制御ＡＳＩＣの構成の一例を説明するブロック図である。
【図５】本発明の一実施形態におけるインタフェース変換回路の構成の一例を説明するブロック図である。
【図６】本発明の一実施形態に係るコマンドＩ／Ｆの一例を説明する図である。
【図７】本発明の一実施形態に係るＰＣＩｅＩＰコアの構成の一例を説明するブロック図である。
【図８】本発明の一実施形態に係るＰＣＩｅＩＰコアによる受信の一例について説明するブロック図である。
【図９】本発明の一実施形態に係る待機処理の一例について説明するタイミングチャートである。
【図１０】本発明の一実施形態に係る並び替え処理の一例について説明するタイミングチャートである。
【図１１】本発明の一実施形態に係る送信、並び替え処理の一例について説明するフローチャートである。
【図１２】本発明の一実施形態に係る制御ＡＳＩＣのレジスタの一例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について説明する。
【００１０】
バスは、例えばＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）など情報処理装置が有する装置、または電子部品をつなぐ。バスは、装置、または電子部品間でデータを送受信するための経路である。ＩＣは、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、またはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などである。
【００１１】
バスは、例えばいわゆる内部バス、またはいわゆる拡張バスなどである。バスは、例えばＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）などである。バスは、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）などである。
【００１２】
実施形態は、例えば第一のバスと、第二のバスと、を有する情報処理装置である。
【００１３】
第一のバスは、書込を行うための処理を行わせる命令、および読出を行うための処理を行わせる命令の、書込用の命令入力部と、読出用の命令入力部が共通しているバスである。第一のバスは、例えばＰＣＩｅバスである。以下、第一のバスがＰＣＩｅバスの場合を例に説明する。
【００１４】
第二のバスは、書込を行うための処理を行わせる命令、および読出を行うための処理を行わせる命令の、書込用の命令入力部と、読出用の命令入力部が別個に独立しているバスである。第二のバスは、例えばＡＸＩバスである。以下、第二のバスがＡＸＩバスの場合を例に説明する。
【００１５】
＜全体概要＞
図１は、本発明の一実施形態に係る情報処理装置を使用した画像形成装置の一例を示す概略図である。
【００１６】
画像形成装置１は、画像処理装置１０と、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）１１と、情報処理装置１００と、を有する。
【００１７】
画像処理装置１０と、情報処理装置１００と、は外部バス４で接続されている。
【００１８】
ＨＤ１１は、補助記憶装置である。ＨＤ１１は、後述する情報処理装置１００に制御されて、データを記憶する。記憶されるデータは、例えば、後述する画像データなどである。
【００１９】
情報処理装置１００は、例えば電子回路基板である。情報処理装置１００は、画像形成装置１の制御を行う。情報処理装置１００は、例えば後述する画像処理装置１０に画像形成を行うための処理を行わせる。情報処理装置１００は、例えば後述する画像処理装置１０に画像を読み取るための処理を行わせる。なお、ＨＤ１１は、フラッシュＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）でもよい。なお、ＨＤは、例えばネットワーク３、または外部バス（図示せず）を介して外部に接続されていてもよい。
【００２０】
また、情報処理装置１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、またはインターネットなどのネットワーク３に接続している。情報処理装置１００は、ネットワーク３を介してオペレータから画像形成装置１に対する命令であるコマンド入力、または画像データの入力などを受け付ける。
【００２１】
画像処理装置１０は、例えばスキャナ１０Ｈ１などの画像入力装置を有する。スキャナ１０Ｈ１は、紙などの記録媒体に記載されている画像を読み取り、画像データを生成する。生成された画像データは、外部バス４を介して後述する情報処理装置１００の有する記憶部に記憶される。
【００２２】
画像処理装置１０は、例えば印刷装置１０Ｈ２などの画像出力装置を有する。印刷装置１０Ｈ２は、情報処理装置１００が記憶している画像データに基づいて記録媒体に画像形成を行う。情報処理装置１００に記憶している画像データは、後述する情報処理装置１００の有する記憶部から外部バス４を介して印刷装置１０Ｈ２へ読み出される。印刷装置１０Ｈ２は、読み出された画像データに基づいて画像形成を行う。
【００２３】
＜情報処理装置のハードウェア構成＞
図２は、本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【００２４】
情報処理装置１００は、制御ＡＳＩＣ１００Ｈ１と、メモリ１００Ｈ２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１００Ｈ３と、ＣＰＵ１００Ｈ４と、メモリ１００Ｈ５と、を有する。
【００２５】
制御ＡＳＩＣ１００Ｈ１は、各装置、およびバスの制御を行う装置である。制御ＡＳＩＣ１００Ｈ１の詳細は後述する。
【００２６】
メモリ１００Ｈ２は、主記憶装置である。メモリ１００Ｈ２は、制御ＡＳＩＣ１００Ｈ１が演算に用いるデータなどの情報を記憶する記憶装置であり、いわゆるメモリ（Ｍｅｍｏｒｙ）である。メモリ１００Ｈ２は、例えばＤＤＲ−ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、またはＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。なお、メモリ１００Ｈ２は、タイミング調整を行う、いわゆるアービトレーション（Ａｒｂｉｔｒａｔｉｏｎ）回路、ビット（Ｂｉｔ）幅を変換するラッパー（Ｗｒａｐｐｅｒ）回路、または制御回路などの周辺回路を有してもよい。
【００２７】
ネットワークＩ／Ｆ１００Ｈ３は、情報処理装置１００を有線または無線でＬＡＮなどのネットワークに接続するためのインタフェースである。ネットワークＩ／Ｆ１００Ｈ８は、ＩＥＥＥなどの規格に準じたコネクタ形状、および接続ピンなどの物理的な接続端子を有する。また、ネットワークＩ／Ｆ１００Ｈ８は、情報処理装置１００と回線を物理的に接続させるケーブルと、接続端子を介して入力された信号を処理する処理回路（図示せず）、およびドライバ（図示せず）と、を有する。情報処理装置１００は、ネットワークＩ／Ｆ１００Ｈ３によってネットワーク３を介して他のネットワーク、またはインターネットに接続し、他の外部装置（図示せず）とデータ、またはコマンドなどを入出力する。
【００２８】
ＣＰＵ１００Ｈ４は、いわゆる演算装置、および制御装置である。情報処理装置１００が行う各処理のための演算、制御を行う。
【００２９】
ＣＰＵ１００Ｈ４は、例えば図１のスキャナ１０Ｈ１が生成した画像データをメモリ１００Ｈ２に記憶するために、制御ＡＳＩＣ１００Ｈ１、および外部バス４の制御を行う。
【００３０】
ＣＰＵ１００Ｈ４は、例えば図１の印刷装置１０Ｈ２がメモリ１００Ｈ２に記憶されている画像データを読み出して画像形成を行うために、制御ＡＳＩＣ１００Ｈ１、および外部バス４の制御を行う。
【００３１】
ＣＰＵ１００Ｈ４は、例えばネットワークＩ／Ｆ１００Ｈ３から入力されるコマンド、および画像データに基づいて図１の印刷装置１０Ｈ２が画像形成を行うために制御ＡＳＩＣ１００Ｈ１、およびネットワークＩ／Ｆ１００Ｈ３の制御を行う。また、ＣＰＵ１００Ｈ４は、ネットワークＩ／Ｆ１００Ｈ３から入力された画像データを後述するＣＰＵ１００Ｈ５に記憶させる。
【００３２】
メモリ１００Ｈ５は、メモリ１００Ｈ２と同様の主記憶装置である。メモリ１００Ｈ５は、ＣＰＵ１００Ｈ４が演算に用いるデータなどの情報を記憶する。なお、メモリ１００Ｈ５は、タイミング調整を行う、いわゆるアービトレーション回路、ビット幅を変換するラッパー回路、制御回路などの周辺回路を有してもよい。
【００３３】
なお、制御ＡＳＩＣ１００Ｈ１は、ＡＳＩＣに限られない。例えば、制御ＡＳＩＣ１００Ｈ１は、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、またはＳｉＰ（Ｓｙｓｔｅｍ  ｉｎ  ａ  Ｐａｃｋａｇｅ）でもよい。ＰＬＤは、例えばＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）である。制御ＡＳＩＣ１００Ｈ１は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いてもよい。また、制御ＡＳＩＣ１００Ｈ１は、複数のＩＣ、または複数の電子回路を組み合わせて実現されてもよい。さらに、制御ＡＳＩＣ１００Ｈ１は、複数のＩＣ、または複数のコア（ｃｏｒｅ）から構成されてもよい。
【００３４】
＜情報処理装置の機能構成＞
図３は、本発明の一実施形態における情報処理装置の一例を説明する機能ブロック図である。
【００３５】
情報処理装置１００は、入力部１００Ｆ１と、制御部１００Ｆ２と、画像処理部１００Ｆ３と、記憶部１００Ｆ４と、を有する。
【００３６】
入力部１００Ｆ１は、情報処理装置１００にデータを入力するための処理を行う。例えば入力部１００Ｆ１は、ネットワークＩ／Ｆ１００Ｈ３によってネットワーク３を介して画像データを取得する処理、または図１のスキャナ１０Ｈ１によって入力された画像データを取得する処理などを行う。なお、入力部１００Ｆ１は、入力されたデータを後段の処理で読み込み可能な形式、または高速に処理できる形式にデータを変換、または加工する処理などを行ってもよい。例えばＡ／Ｄ変換、ＹＣＣ２ＲＧＢ変換などの処理である。また、入力部１００Ｆ１は、ネットワークを介して受信するためにヘッダデータなどを削除する処理、復号化、解凍処理、またはデコード処理などを行ってもよい。
【００３７】
制御部１００Ｆ２は、制御ＡＳＩＣ１００Ｈ１、またはＣＰＵ１００Ｈ４などによって、情報処理装置１００の有する各装置、または情報処理装置１００に接続された外部装置（図示せず）などの制御を行う。例えば制御部１００Ｆ２は、図１のスキャナ１０Ｈ１が画像データを読み取った際、ＣＰＵ１００Ｈ４に外部バス４の制御を行わせる。さらに、ＣＰＵ１００Ｈ４に外部バス４の制御を行わせた際、制御部１００Ｆ２は、制御ＡＳＩＣ１００Ｈ１にメモリ１００Ｈ２の制御を行わせて画像データをメモリ１００Ｈ２に記憶させるための処理を実現する。
【００３８】
画像処理部１００Ｆ３は、ＣＰＵ１００Ｈ４、または各装置の制御装置（図示せず）によって、画像処理装置１０に画像形成、または画像の読み取りなどを行わせるための処理を行わせる。
【００３９】
記憶部１００Ｆ４は、ＨＤ１１、メモリ１００Ｈ２、またはメモリ１００Ｈ４に画像データ、または各データ、パラメータ、各処理の中間処理結果のデータなど情報を記憶させる。
【００４０】
＜制御ＡＳＩＣ＞
図４は、本発明の一実施形態における制御ＡＳＩＣの構成の一例を説明するブロック図である。
【００４１】
制御ＡＳＩＣ１００Ｈ１は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）制御回路１００Ｈ１１と、ＤＭＡ制御回路１００Ｈ１２と、ＤＭＡ制御回路１００Ｈ１３と、ＤＭＡ制御回路１００Ｈ１４とを有する。制御ＡＳＩＣ１００Ｈ１は、インタフェース変換回路１００Ｈ１５と、ＰＣＩｅＩＰコア１００Ｈ１６と、を有する。制御ＡＳＩＣ１００Ｈ１の各要素は、ＡＸＩバス１００Ｈ１７によって接続されている。
【００４２】
ＤＭＡ制御回路１００Ｈ１１乃至ＤＭＡ１００Ｈ１４は、各メモリとデータなどの入出力をＣＰＵ１００Ｈ４によらずに行う、いわゆるＤＭＡを実現するための処理を行う回路である。
【００４３】
インタフェース変換回路１００Ｈ１５は、ＡＸＩバス１００Ｈ１７と、ＰＣＩｅバス２と、で扱われる書込、および読出の命令を変換する処理を行う。また、インタフェース変換回路１００Ｈ１５は、後述する待機処理、および並び替え処理を行う。インタフェース変換回路１００Ｈ１５による処理の詳細は、後述する。
【００４４】
ＰＣＩｅＩＰコア１００Ｈ１６は、ＰＣＩｅバス２において書込、および読出の命令を行う。ＰＣＩｅＩＰコア１００Ｈ１６の詳細は、後述する。
【００４５】
描画アクセラレータ回路１００Ｈ１８は、例えば図１の印刷装置１０Ｈ２が記録媒体へ描画するために用いる描画用のデータを生成し、生成した図１の描画用のデータを印刷装置１０Ｈ２へ送信する。描画アクセラレータ回路１００Ｈ１８が描画用のデータを生成できない場合、ＣＰＵ１００Ｈ４は、描画アクセラレータ回路１００Ｈ１８の代わりに描画用のデータを生成し、生成した図１の描画用のデータを印刷装置１０Ｈ２へ送信する。
【００４６】
＜インタフェース変換回路＞
図５は、本発明の一実施形態におけるインタフェース変換回路の構成の一例を説明するブロック図である。
【００４７】
命令手段は、例えばインタフェース変換回路である。以下、インタフェース変換回路を例に説明する。
【００４８】
インタフェース変換回路１００Ｈ１５は、コマンド変換回路１００Ｈ１５１を有する。インタフェース変換回路１００Ｈ１５は、ライトデータＩ／Ｆ１００Ｈ１５５と、リードデータＩ／Ｆ１００Ｈ１５６と、ライトデータＩ／Ｆ１００Ｈ１５７と、リードデータＩ／Ｆ１００Ｈ１５８と、を有する。
【００４９】
コマンド変換回路１００Ｈ１５１は、ライトコマンドＩ／Ｆ１００Ｈ１５２と、リードコマンドＩ／Ｆ１００Ｈ１５３と、コマンドＩ／Ｆ１００Ｈ１５４と、を有する。
【００５０】
ＰＣＩｅバス２のコマンドは、書込用の命令であるライトコマンドと、読出用の命令であるリードコマンドと、でＩ／Ｆを共通して使用する。
【００５１】
ＡＸＩバス１００Ｈ１７のコマンドは、ライトコマンドと、リードコマンドと、でＩ／Ｆを別個に用意されており、別個のＩ／Ｆを使用する。
【００５２】
コマンド変換回路１００Ｈ１５１は、ＰＣＩｅバス２のコマンドと、ＡＸＩバス１００Ｈ１７のコマンドと、を対応させるための変換を行う回路である。
【００５３】
書込命令手段は、例えばライトコマンドＩ／Ｆ１００Ｈ１５２であり、読出命令手段は、例えばリードコマンドＩ／Ｆ１００Ｈ１５３である。以下、ライトコマンドＩ／Ｆ１００Ｈ１５２と、リードコマンドＩ／Ｆ１００Ｈ１５３と、を例に説明する。
【００５４】
書込読出手段は、例えばコマンドＩ／Ｆ１００Ｈ１５４である。以下、コマンドＩ／Ｆ１００Ｈ１５４を例に説明する。
【００５５】
ライトコマンドＩ／Ｆ１００Ｈ１５２、およびリードコマンドＩ／Ｆ１００Ｈ１５３は、ＡＸＩバス１００Ｈ１７用のコマンドＩ／Ｆである。
【００５６】
コマンドＩ／Ｆ１００Ｈ１５４は、ＰＣＩｅバス２用のコマンドＩ／Ｆである。
【００５７】
ライトデータＩ／Ｆ１００Ｈ１５５、およびリードデータＩ／Ｆ１００Ｈ１５６は、ＡＸＩバス１００Ｈ１７用のデータＩ／Ｆである。ライトデータＩ／Ｆ１００Ｈ１５５には、ライトコマンドＩ／Ｆ１００Ｈ１５２で入力するコマンドに対応して書込されるデータを入力する。リードデータＩ／Ｆ１００Ｈ１５６には、リードコマンドＩ／Ｆ１００Ｈ１５３で入力するコマンドに対応して読出されたデータが出力される。
【００５８】
ライトデータＩ／Ｆ１００Ｈ１５５、およびリードデータＩ／Ｆ１００Ｈ１５６は、ＰＣＩｅバス２用のデータＩ／Ｆである。
【００５９】
図６は、本発明の一実施形態に係るコマンドＩ／Ｆの一例を説明する図である。
【００６０】
図６（ａ）は、コマンドＩ／Ｆの有する信号の一例である。
【００６１】
コマンドＩ／Ｆ１００Ｈ１５４は、コマンド変換回路１００Ｈ１５１から出力され、ＰＣＩｅＩＰコア１００Ｈ１６に入力される信号を有する。コマンドＩ／Ｆ１００Ｈ１５４は、ＰＣＩｅＩＰコア１００Ｈ１６から出力され、コマンド変換回路１００Ｈ１５１に入力される信号を有する。
【００６２】
コマンド変換回路１００Ｈ１５１が出力する信号は、ＰＣＩｅＩＰコア１００Ｈ１６に入力される。ＰＣＩｅＩＰコア１００Ｈ１６に入力される信号は、例えばコマンド要求信号１００Ｈ１５４１と、アドレス信号１００Ｈ１５４２と、転送データ量信号１００Ｈ１５４３と、リードライト識別信号１００Ｈ１５４４と、である。
【００６３】
図６（ｂ）は、コマンド変換回路１００Ｈ１５１から出力され、ＰＣＩｅＩＰコア１００Ｈ１６に入力される信号の一例である。
【００６４】
ＣＬＫＳ１は、回路を動作させるためのクロック信号である。
【００６５】
ＣＯＭ＿ＥＮＳ２は、コマンド要求信号１００Ｈ１５４１に対応する信号の例である。例えばコマンド要求信号１００Ｈ１５４１によって書込、または読出の命令を要求する場合、ＣＯＭ＿ＥＮＳ２は、タイミングＴ１のようにＨｉｇｈの信号がアサート（ａｓｓｅｒｔ）される。
【００６６】
ＡＤＲＳ３は、アドレス信号１００Ｈ１５４２に対応する信号の例である。ＡＤＲＳ３によって示されたアドレスからデータの書込、または読出が行われる。
【００６７】
ＤＡＴＡ＿ＮＵＭＳ４は、転送データ量信号１００Ｈ１５４３に対応する信号の例である。ＤＡＴＡ＿ＮＵＭＳ４によって示されたデータ量の書込、または読出が行われる。
【００６８】
ＲＷＳ５は、リードライト識別信号１００Ｈ１５４４に対応する信号の例である。例えば、ＲＷＳ５がＨｉｇｈの場合、ＰＣＩｅＩＰコア１００Ｈ１６は書込の処理を行い、ＲＷＳ５がＬｏｗの場合、ＰＣＩｅＩＰコア１００Ｈ１６は読出の処理を行う。
【００６９】
例えばＡＤＲ１のアドレスからＮＵＭ１のデータ量を書込の処理を行う場合、タイミングＴ１のように、ＣＯＭ＿ＥＮＳ２にＨｉｇｈがアサートされた際に、ＡＤＲＳ３にＡＤＲ１、ＤＡＴＡ＿ＮＵＭＳ４にＮＵＭ１、およびＲＷＳ５にＨｉｇｈを入力する。さらに、図５のライトデータＩ／Ｆ１００Ｈ１５５に書込させるデータを入力する。
【００７０】
例えばＡＤＲ２のアドレスからＮＵＭ２のデータ量を読出の処理を行う場合、タイミングＴ２のように、ＣＯＭ＿ＥＮＳ２にＨｉｇｈがアサートされた際に、ＡＤＲＳ３にＡＤＲ２、ＤＡＴＡ＿ＮＵＭＳ４にＮＵＭ２、およびＲＷＳ５にＬｏｗを入力する。所定のレイテンシ（ｌａｔｅｎｃｙ）の後、図５のリードデータＩ／Ｆ１００Ｈ１５６から読出させたデータが出力される。
【００７１】
ＰＣＩｅＩＰコア１００Ｈ１６から出力され、コマンド変換回路１００Ｈ１５１に入力される信号は、例えばコマンド受付信号１００Ｈ１５４５である。
【００７２】
コマンド受付信号１００Ｈ１５４５は、ＰＣＩｅＩＰコア１００Ｈ１６がコマンドを受付している際、Ｈｉｇｈとなる信号がアサートされる信号である。
【００７３】
なお、Ｉ／Ｆは、図示したコマンド、信号、およびタイミングに限定されない。Ｉ／Ｆは、図示しないコマンド、または信号を用いた構成で実現されてもよい。また、タイミングは、図示した場合に限られない。例えば、各信号の入力は、すべて揃えられたタイミングで入力される方法に限られない。例えば、内部でバッファ（図示せず）を持ち、タイミングを調整してもよい。
【００７４】
＜ＰＣＩｅＩＰコア＞
図７は、本発明の一実施形態に係るＰＣＩｅＩＰコアの構成の一例を説明するブロック図である。
【００７５】
書込読出命令手段は、例えばＰＣＩｅＩＰコア１００Ｈ１６である。以下、ＰＣＩｅＩＰコア１００Ｈ１６を例に説明する。
【００７６】
ＰＣＩｅＩＰコア１００Ｈ１６は、送信処理回路１００Ｈ１６１と、受信処理回路１００Ｈ１６２と、を有する。
【００７７】
ＰＣＩｅＩＰコア１００Ｈ１６の送信処理回路１００Ｈ１６１は、送信用の信号線ＴｘによってＣＰＵ１００Ｈ４と接続している。ＰＣＩｅＩＰコア１００Ｈ１６の受信処理回路１００Ｈ１６２は、受信用の信号線ＲｘによってＣＰＵ１００Ｈ４と接続している。
【００７８】
送信処理回路１００Ｈ１６１は、インタフェース変換回路１００Ｈ１５から送信されたライトコマンド、リードコマンド、ライトデータを送信する。送信処理回路１００Ｈ１６１は、インタフェース変換回路１００Ｈ１５から送信された順序、およびタイミングで命令、およびデータを送信する。なお、送信処理回路１００Ｈ１６１の送信は、インタフェース変換回路１００Ｈ１５から送信されたタイミングからレイテンシがあってもよい。
【００７９】
送信処理回路１００Ｈ１６１は、図６（ｂ）で説明したコマンドＩ／Ｆ１００Ｈ１５４を生成し、ＰＣＩｅＩＰコア１００Ｈ１６に送信用の信号線Ｔｘによって送信する。
【００８０】
受信処理回路１００Ｈ１６２は、図６（ｂ）で説明した読出の処理を行う場合、ＣＰＵ１００Ｈ４が読出を行ったデータを受信用の信号線Ｒｘによって受信する。
【００８１】
受信処理回路１００Ｈ１６２は、ＲＤバッファ１００Ｈ１６２１と、ＲＤバッファ１００Ｈ１６２２と、ＲＤバッファ１００Ｈ１６２３と、ＲＤバッファ１００Ｈ１６２４と、を有する。
【００８２】
ＲＤバッファ１００Ｈ１６２１乃至ＲＤバッファ１００Ｈ１６２４は、受信用の信号線Ｒｘによって受信したデータを格納する。ＲＤバッファ１００Ｈ１６２１乃至ＲＤバッファ１００Ｈ１６２４の大きさ、または個数は、送信処理回路１００Ｈ１６１によって実行できるリードコマンドを制約する場合がある。
【００８３】
図８は、本発明の一実施形態に係るＰＣＩｅＩＰコアによる受信の一例について説明するブロック図である。
【００８４】
図７に示したように、受信処理回路１００Ｈ１６２がＲＤバッファを４個持つ場合を例に説明する。
【００８５】
例えば送信処理回路１００Ｈ１６１がリードコマンドＲＣ１乃至ＲＣ４のリードコマンドをＣＰＵ１００Ｈ４に送信した場合、ＣＰＵ１００Ｈ４は、リードコマンドＲＣ１乃至リードコマンドＲＣ４に対応したリードデータを出力する。リードデータは、リードデータＲＤ１乃至ＲＤ４である。リードデータＲＤ１は、リードコマンドＲＣ１に対応したデータである。リードデータＲＤ２乃至ＲＤ４は、リードデータＲＤ１と同様に、リードコマンドＲＣ２乃至ＲＣ４にそれぞれ対応する。
【００８６】
リードデータＲＤ１乃至ＲＤ４は、リードコマンドＲＣ１乃至ＲＣ４の送信から所定のレイテンシがあって、受信される。レイテンシは、ＣＰＵの処理時間、メモリのアドレス値計算時間、およびメモリのリード実行信号アサートからデータ出力までの時間などによって算出され、予め求められている時間である。ＰＣＩｅＩＰコア１００Ｈ１６は、レイテンシがあるため、リードコマンドＲＣ１の送信した後からリードデータＲＤ１が受信される前に次のリードコマンドＲＣ２を送信することで、読出の処理の効率を向上できる。したがって、複数のリードコマンドに対する処理を並行して行うためにＲＤバッファを複数用意する。複数のＲＤバッファを用意することで、ＰＣＩｅＩＰコア１００Ｈ１６は、複数のリードコマンドを並行して処理することができる。
【００８７】
例えばＲＤバッファは、１回のリードコマンドＲＣで出力される最大のデータ量を格納できる記憶領域を有する。この場合、１回のリードコマンドＲＣに対して１個のＲＤバッファの記憶領域で対応できるため、１回のリードコマンドＲＣに対して１個のＲＤバッファが対応する。したがって、ＰＣＩｅＩＰコア１００Ｈ１６は、リードデータＲＤが格納されていないＲＤバッファの数のリードコマンドＲＣを送信することができる。
【００８８】
インタフェース変換回路１００Ｈ１５は、ＰＣＩｅＩＰコア１００Ｈ１６へ送信したコマンドの種類、および図６のコマンド受付信号１００Ｈ１５４５によって、ＰＣＩｅＩＰコア１００Ｈ１６の状態を把握する。すなわち、インタフェース変換回路１００Ｈ１５は、リードデータＲＤが格納されているＲＤバッファの数である使用ＲＤバッファ数を把握することができる。また、インタフェース変換回路１００Ｈ１５は、送信したリードコマンドＲＣの数から格納が予定されているＲＤバッファの数である使用予定ＲＤバッファ数を把握することができる。使用ＲＤバッファ数、および使用予定ＲＤバッファ数に把握することによって、ＲＤバッファに格納できないデータが出力されるのを減少させ、データが失われるのを少なくすることができる。
【００８９】
使用ＲＤバッファ数と、使用予定ＲＤバッファ数と、の和がＲＤバッファに達した場合、インタフェース変換回路１００Ｈ１５は、例えば、次のリードコマンドＲＣの送信を使用ＲＤバッファ数が減少するまで待機させる。
【００９０】
以下、ＲＤバッファ数が４個、かつ、ＡＸＩバス１００Ｈ１７からリードコマンドＩ／Ｆ１００Ｈ１５３にリードコマンドＲＣが６回連続して入力された場合を例にして説明する。また、リードコマンドＩ／Ｆ１００Ｈ１５３に入力されたリードコマンドＲＣをＰＣＩｅＩＰコア１００Ｈ１６が送信用の信号線Ｔｘによって送信するまでのレイテンシを２クロックの場合を例に説明する。さらに、送信用の信号線Ｔｘによってリードコマンドが送信されてから受信処理回路１００Ｈ１６２がリードデータＲＤを受信するまでのレイテンシを２クロックの場合を例に説明する。
【００９１】
＜待機処理＞
図９は、本発明の一実施形態に係る待機処理の一例について説明するタイミングチャートである。
【００９２】
リードコマンドＩ／ＦＳ９１は、ＡＸＩバス１００Ｈ１７から入力されるコマンドを示す信号である。リードコマンドＩ／ＦＳ９１は、図５のリードコマンドＩ／Ｆ１００Ｈ１５３に相当する。リードコマンドＩ／ＦＳ９１は、ＡＸＩバス１００Ｈ１７からリードコマンドＲＣ１乃至ＲＣ６が入力された場合である。
【００９３】
ＴｘＳ９２は、リードコマンドＩ／ＦＳ９１に入力されたリードコマンドＲＣに基づいてＰＣＩｅＩＰコア１００Ｈ１６が送信用の信号線ＴｘによってＣＰＵ１００Ｈ４へ送信する信号である。図７の送信用の信号線Ｔｘに相当する。
【００９４】
リードコマンドＩ／ＦＳ９１の入力に対してレイテンシが２クロックあるため、例えばタイミングＴ９０１でリードコマンドＩ／ＦＳ９１で入力されたリードコマンドＲＣ１に対応するＴｘＳ９２の信号は、タイミングＴ９０３で送信される。
【００９５】
ＲｘＳ９３は、ＴｘＳ９２で送信されたリードコマンドに対応して図７のＣＰＵ１００Ｈ４が受信処理回路１００Ｈ１６２に送信するリードデータＲＤの信号である。ＲｘＳ９３は、図７の受信用の信号線Ｒｘに相当する。ＴｘＳ９２の送信に対してレイテンシが２クロックあるため、例えばタイミングＴ９０３で送信されたリードコマンドＲＣ１に対応するＲｘＳ９３の信号は、タイミングＴ９０５で受信処理回路１００Ｈ１６２が受信する。
【００９６】
ＣＮＴＳ９４は、使用ＲＤバッファ数と、使用予定ＲＤバッファ数と、の和を示すデータの信号である。例えばＲｘＳ９４は、タイミングＴ９０３の場合、使用ＲＤバッファ数を０、およびＴｘＳ９２でリードコマンドＲＣ１が送信されたため使用予定ＲＤバッファ数を１とカウントから「１」と示される。
【００９７】
ＣＮＴＳ９４は、使用が終了したＲＤバッファ数が発生した場合、値を減少させる。例えばタイミングＴ９０５で受信されたＲＤ１が２クロックで使用が終了した場合、受信処理回路１００Ｈ１６２は、タイミングＴ９０８ではＲＤ１が使用していたＲＤバッファが使用できる。したがって、ＲｘＳ９４は、使用ＲＤバッファ数を３、および使用予定ＲＤバッファ数０とカウントし、「３」を示す。
【００９８】
インタフェース変換回路１００Ｈ１５は、ＲｘＳ９４がＲＤバッファ数の「４」に達した場合、次に送信するリードコマンドＲＣ５の送信を、使用ＲＤバッファ数が減少するまで待機させる。例えばインタフェース変換回路１００Ｈ１５は、送信するリードコマンドＲＣをストックできるＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）バッファ（図示せず）を有し、リードコマンドＲＣ５の送信を待機させる。
【００９９】
インタフェース変換回路１００Ｈ１５は、使用ＲＤバッファ数が減少したとタイミングＴ９０８で判断する。インタフェース変換回路１００Ｈ１５は、リードコマンドＲＣ５の送信をＴ９０９まで待機させる待機処理によって、リードデータＲＤ５の受信で上書きされ、ＲＤバッファに格納されていたデータが失われるのを少なくすることができる。
【０１００】
＜並び替え処理＞
図１０は、本発明の一実施形態に係る並び替え処理の一例について説明するタイミングチャートである。
【０１０１】
並び替え処理は、図５のインタフェース変換回路１００Ｈ１５が図５のライトコマンドＩ／Ｆ１００Ｈ１５２、リードコマンドＩ／Ｆ、およびライトデータＩ／Ｆ１００Ｈ１５５で受信した命令、またはデータを並び替える処理である。並び替え処理された命令、またはデータは、図５のコマンドＩ／Ｆ１００Ｈ１５４によって図５のＰＣＩｅＩＰコア１００Ｈ１６に送信される。図５のＰＣＩｅＩＰコアは、図５のコマンドＩ／Ｆ１００Ｈ１５４で送信されたタイミング、および順序で命令、およびデータを送信する。
【０１０２】
リードコマンドＩ／ＦＳ１０１は、図９のリードコマンドＩ／ＦＳ９１と同様のＡＸＩバス１００Ｈ１７から入力されるコマンドを示す信号である。リードコマンドＩ／ＦＳ１０１は、図５のリードコマンドＩ／Ｆ１００Ｈ１５３に相当する。図１０は、図９と同様にリードコマンドＩ／ＦＳ１０１へＡＸＩバス１００Ｈ１７からリードコマンドＲＣ１乃至ＲＣ６が入力された場合である。
【０１０３】
ライトコマンドＩ／ＦＳ１０２は、リードコマンドＩ／ＦＳ１０１と同様のＡＸＩバス１００Ｈ１７から入力されるコマンドを示す信号である。ライトコマンドＩ／ＦＳ１０２は、図５のライトコマンドＩ／Ｆ１００Ｈ１５２に相当する。図１０は、タイミングＴ１００３でライトコマンドＩ／ＦＳ１０２へＡＸＩバス１００Ｈ１７からライトコマンドＷＲが入力された場合である。
【０１０４】
ライトデータＩ／ＦＳ１０３は、ライトコマンドＩ／ＦＳ１０２と同様のＡＸＩバス１００Ｈ１７から入力される書込データを示す信号である。ライトデータＩ／ＦＳ１０３は、図５のライトデータＩ／Ｆ１００Ｈ１５５に相当する。図１０は、タイミングＴ１００３でライトコマンドＩ／ＦＳ１０２へＡＸＩバス１００Ｈ１７からライトコマンドＩ／ＦＳ１０２へ入力されたライトコマンドＷＲに対応する書込データＷＲＤＡＴＡが入力された場合である。
【０１０５】
図５のインタフェース変換回路１００Ｈ１５は、リードコマンドＩ／ＦＳ１０１、およびライトコマンドＩ／ＦＳ１０２に入力された命令と、ライトデータＩ／ＦＳ１０３に入力されたデータと、を並び替え処理して図５のＰＣＩｅＩＰコア１００Ｈ１６に送信する。
【０１０６】
ＴｘＳ１０４は、リードコマンドＩ／ＦＳ１０１、ライトコマンドＩ／ＦＳ１０２、およびにライトデータＩ／ＦＳ１０３に入力されたリードコマンドＲＣ、ライトコマンドＷＲ、およびに書込データＷＲＤＡＴＡ基づいて生成される信号である。ＴｘＳ１０４は、ＰＣＩｅＩＰコア１００Ｈ１６が送信用の信号線ＴｘによってＣＰＵ１００Ｈ４へ送信する信号である。図９と同様に、リードコマンドＩ／ＦＳ１０１の入力に対してレイテンシが２クロックある。レイテンシは、例えばタイミングＴ１００１でリードコマンドＩ／ＦＳ１０１で入力されたリードコマンドＲＣ１に対応するＴｘＳ１０４の信号は、タイミングＴ１００３で送信されることである。
【０１０７】
ＴｘＳ１０４は、リードコマンドＲＣをライトコマンドＷＲに対して優先して送信する設定の例である。ライトコマンドＷＲは、未送信のリードコマンドＲＣがある場合、未送信のリードコマンドＲＣの送信が終了するまで送信が待機させられる。
【０１０８】
ＲｘＳ１０５は、ＴｘＳ１０４で送信されたリードコマンドＲＣに対応してＣＰＵ１００Ｈ４が受信処理回路１００Ｈ１６２に送信するリードデータＲＤの信号である。ＴｘＳ１０４の送信に対してレイテンシが２クロックあるため、例えばタイミングＴ１００３で送信されたリードコマンドＲＣ１に対応するＲｘＳ１０５の信号は、タイミングＴ１００５で受信処理回路１００Ｈ１６２が受信する。
【０１０９】
ＣＮＴＳ１０６は、図９のＣＮＴＳ９４と同様に使用ＲＤバッファ数と、使用予定ＲＤバッファ数と、の和を示すデータの信号である。
【０１１０】
図５のインタフェース変換回路１００Ｈ１５は、図９で説明した待機処理を行うため、リードコマンドＲＣ５の送信をタイミングＴ１００９まで待機させる。
【０１１１】
図９で説明した待機処理が行われた場合、図５のインタフェース変換回路１００Ｈ１５は、リードコマンドＲＣ５の送信と、ライトコマンドＷＲの送信と、を送信する順序を並び替える処理である並び替え処理を行う。並び替え処理は、ライトコマンドＷＲを優先する設定でリードコマンドＲＣ５、およびＲＣ６の送信の後に送信が行われるライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信と、リードコマンドＲＣ５、およびＲＣ６の送信と、の順序を変更する処理である。
【０１１２】
ライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信は、リードコマンドＲＣの送信と異なり、送信されたライトコマンドＷＲ、および書込データＷＲＤＡＴＡに対して受信するデータがないため、ＲＤバッファを確保する必要がない。したがって、ＲＤバッファを確保せずにライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信を行ってもデータが失われる場合は少ない。
【０１１３】
並び替え処理は、待機処理によって使用されていないバスを使用し、バスのスループットを向上させることができる。
【０１１４】
図５のインタフェース変換回路１００Ｈ１５は、並び替え処理を行い、並び替え処理した命令、およびデータをＰＣＩｅＩＰコア１００Ｈ１６へ送信する。ＰＣＩｅＩＰコア１００Ｈ１６は、タイミングＴ１００７、およびタイミングＴ１００８においてライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信を行う。ライトコマンドＷＲを優先する設定、および待機処理を行う場合、ＰＣＩｅＩＰコア１００Ｈ１６は、タイミングＴ１００７、およびタイミングＴ１００８でライトコマンドＷＲ、および書込データＷＲＤＡＴＡを送信できる。具体的には、図１０の場合、ライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信がリードコマンドＲＣ５、およびＲＣ６の送信の後に行われる場合に対して、並び替え処理によって２クロック処理時間を短くすることができる。
【０１１５】
したがって、並び替え処理によって、制御ＡＳＩＣ１００Ｈ１は、リードコマンドＲＣ１乃至ＲＣ６、ライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信する処理のスループットを向上できる。
【０１１６】
図１１は、本発明の一実施形態に係る送信、および並び替え処理の一例について説明するフローチャートである。
【０１１７】
ステップＳ１１０１では、図５のインタフェース変換回路１００Ｈ１５は、リードコマンドＲＣの入力があったか否かの判断を行う。リードコマンドＲＣの入力があったと判断する場合（ステップＳ１１０１でＹＥＳ）、ステップＳ１１０２に進む。ステップＳ１１０１でリードコマンドＲＣの入力があったと判断する場合は、図１０のタイミングＴ１００１乃至Ｔ１００６の場合が相当する。リードコマンドＲＣの入力がなかったと判断する場合（ステップＳ１１０１でＮＯ）、ステップＳ１１０４に進む。ステップＳ１１０１でリードコマンドＲＣの入力がなかったと判断する場合は、図１０のタイミングＴ１００１より前の場合が相当する。
【０１１８】
ステップＳ１１０２では、図５のインタフェース変換回路１００Ｈ１５は、未完了リードコマンドが４個か否かの判断を行う。
【０１１９】
ステップＳ１１０２で未完了リードコマンドが４個と判断された場合（ステップＳ１１０２でＹＥＳ）、図８のＲＤバッファ１００Ｈ１６２１乃至１００Ｈ１６２４は４個いずれもが使用中の場合である。この場合、図５のインタフェース変換回路１００Ｈ１５は、待機処理によってリードコマンドＲＣの送信は待機であるため、ライトコマンドＷＲについての処理を行うステップＳ１１０４に進む。ステップＳ１１０２で未完了リードコマンドが４個と判断される場合は、例えば図１０のタイミングＴ１００６の場合が相当する。
【０１２０】
ステップＳ１１０２で未完了リードコマンドが４個でないと判断された場合（ステップＳ１１０２でＮＯ）、図８のＲＤバッファ１００Ｈ１６２１乃至１００Ｈ１６２４は、少なくとも４個のうちいずれか１個が使用可能な場合である。この場合、ＰＣＩｅＩＰコア１００Ｈ１６は、リードコマンドＲＣの送信し、リードデータＲＤを受信してもデータが失われることは少ないため、リードコマンドＲＣの送信を行うステップＳ１１０３に進む。ステップＳ１１０２で未完了リードコマンドが４個でないと判断される場合は、例えば図１０のタイミングＴ１００１乃至Ｔ１００５の場合が相当する。
【０１２１】
並び替え処理は、例えばステップＳ１１０２の処理によって、実現できる。
【０１２２】
ステップＳ１１０３では、図５のインタフェース変換回路１００Ｈ１５は、入力されたリードコマンドＲＣに基づいて図５のＰＣＩｅＩＰコア１００Ｈ１６へリードコマンドＲＣの送信を行う。ＰＣＩｅＩＰコア１００Ｈ１６は、図５のインタフェース変換回路１００Ｈ１５から送信された順序、およびタイミングでＴｘＳ１０４によってリードコマンドＲＣの送信を行う。ステップＳ１１０３は、例えば図１０のタイミングＴ１００３がＴｘＳ１０４でリードコマンドＲＣ１を送信した場合が相当する。
【０１２３】
ステップＳ１１０４では、図５のインタフェース変換回路１００Ｈ１５は、ライトコマンドＷＲの入力があったか否かの判断を行う。ライトコマンドＷＲの入力があったと判断する場合（ステップＳ１１０４でＹＥＳ）、ステップＳ１１０５に進む。
【０１２４】
ステップＳ１１０４でライトコマンドＷＲの入力があったと判断する場合は、図１０のタイミングＴ１００３の場合が相当する。ライトコマンドＷＲの入力がなかったと判断する場合（ステップＳ１１０４でＮＯ）、ステップＳ１１０６に進む。ステップＳ１１０４でライトコマンドＷＲの入力がなかったと判断する場合は、ライトコマンドＩ／ＦＳ１０２にライトコマンドＷＲの入力がない場合である図１０のタイミングＴ１００１の場合などが相当する。
【０１２５】
ステップＳ１１０５では、図５のインタフェース変換回路１００Ｈ１５は、入力されたライトコマンドＷＲに基づいて図５のＰＣＩｅＩＰコア１００Ｈ１６へ送信する。図５のＰＣＩｅＩＰコア１００Ｈ１６は、送信用の信号線ＴｘによってライトコマンドＷＲ、および書込データＷＲＤＡＴＡの送信を行う。ステップＳ１１０５は、例えば図１０のＴｘＳ１０４によって、タイミングＴ１００７でライトコマンドＷＲを送信、およびタイミングＴ１００８で書込データＷＲＤＡＴＡを送信した場合が相当する。
【０１２６】
ステップＳ１１０６では、図５のインタフェース変換回路１００Ｈ１５は、コマンドが受け付けられたか否かの判断を行う。図５のインタフェース変換回路１００Ｈ１５は、図５のＰＣＩｅＩＰコア１００Ｈ１６に送信した命令、またはデータが受信されたか否か、すなわち図５のＰＣＩｅＩＰコア１００Ｈ１６が送信したか否かの判断を行う。
【０１２７】
図５のＰＣＩｅＩＰコア１００Ｈ１６によって受信されたか否かは、図５のコマンド受付信号１００Ｈ１５４５によって判断される。
【０１２８】
図５のインタフェース変換回路１００Ｈ１５は、図５のコマンド受付信号１００Ｈ１５４５によって、受付コマンドが受け付けられたと判断した場合（ステップＳ１１０６でＹＥＳ）、処理を終了する。図５のインタフェース変換回路１００Ｈ１５は、図５のコマンド受付信号１００Ｈ１５４５によって、コマンドが受け付けられていないと判断した場合（ステップＳ１１０６でＮＯ）、ステップＳ１１０７に進む。
【０１２９】
ステップＳ１１０７では、図５のインタフェース変換回路１００Ｈ１５は、コマンド受付待ちの処理を行う。所定の時間、各処理を待機し、受付完了信号でコマンドが受け付けられたか否かの判断を行うステップＳ１１０６に戻る。
【０１３０】
なお、未完了リードコマンドの数は、例えば図１０のＣＮＴＳ１０６によって判定されてもよい。
【０１３１】
また、送信可能なリードコマンドの数は、制御ＡＳＩＣ１００Ｈ１の設定によって変更できる。
【０１３２】
図１２は、本発明の一実施形態に係る制御ＡＳＩＣのレジスタの一例を説明する図である。
【０１３３】
制御ＡＳＩＣ１００Ｈ１は、例えばレジスタ１２を有する。記憶手段は、例えばレジスタである。以下、記憶手段をレジスタの例で説明する。レジスタ１２は、例えば３２ビットのレジスタである。レジスタ１２は、送信可能なリードコマンドの数を設定するための数値を入力するために用いられる。送信可能なリードコマンドの数は、レジスタ１２の「ＭＡＸ  ＲＣ  ＮＵＭＢＥＲ」に入力された値に１を加算した値とする。図７で説明したＲＤバッファが４個の場合、送信可能なリードコマンドの数は、１乃至４である。したがって、「ＭＡＸ  ＲＣ  ＮＵＭＢＥＲ」は、０乃至３の値が設定できる２ビットのデータ量を用意する。レジスタ１２は、例えば３２ビットの下位２ビットを「ＭＡＸ  ＲＣ  ＮＵＭＢＥＲ」に設定した場合である。図５のインタフェース変換回路１００Ｈ１５は、「ＭＡＸ  ＲＣ  ＮＵＭＢＥＲ」に設定された値に１を加算した値を用いて図１１のステップＳ１１０２の判断に用いる値を変更することができる。制御ＡＳＩＣ１００Ｈ１を搭載するシステムによって、リード機能、およびライト機能の性能は、異なる場合がある。例えば、「ＭＡＸ  ＲＣ  ＮＵＭＢＥＲ」に「２」が設定されていた場合、ステップＳ１１０２では、図５のインタフェース変換回路１００Ｈ１５は、未完了リードコマンドが「３個」か否かの判断を行う。ステップＳ１１０２で「４個」で判断される場合と比較して、「３個」で判断される場合、図５のインタフェース変換回路１００Ｈ１５は、リードコマンドの送信よりライトコマンドの送信の方を行う場合の頻度を高くできる。したがって、レジスタ１２の設定によって、ライトの性能を向上させることができる。
【０１３４】
なお、実施形態は、２のバスを有する情報処理装置に限られない。実施形態は、３以上のバスを有する情報処理装置でもよい。
【０１３５】
以上、並び替え処理を行うことによって、書込用と、読込用と、のコマンド入力部が別々のバスと、書込用と、読込用と、のコマンド入力部が共通のバスと、が接続されている場合、読出、および書込の処理のスループットを向上させることができる。
【０１３６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１３７】
１  画像形成装置
２  ＰＣＩｅバス
３  ネットワーク
１０  画像処理装置
１０Ｈ１  スキャナ
１０Ｈ２  印刷装置
１１  ＨＤＤ
１２  レジスタ
１００Ｈ１５  インタフェース変換回路
１００Ｈ１５１  コマンド変換回路
１００Ｈ１５２  ライトコマンドＩ／Ｆ
１００Ｈ１５３  リードコマンドＩ／Ｆ
１００Ｈ１５４  コマンドＩ／Ｆ
１００Ｈ１５５  ライトデータＩ／Ｆ
１００Ｈ１５６  リードデータＩ／Ｆ
１００Ｈ１５７  ライトデータＩ／Ｆ
１００Ｈ１５８  リードデータＩ／Ｆ
１００Ｈ１６  ＰＣＩｅＩＰコア
１００Ｈ１６１  送信処理回路
１００Ｈ１６２  受信処理回路
Ｔｘ  送信用の信号線
Ｒｘ  受信用の信号線
ＲＣ  リードコマンド
ＲＤ  リードデータ
１００Ｈ１７  ＡＸＩバス
【先行技術文献】
【特許文献】
【０１３８】
【特許文献１】特開２００８−２５０９８５号公報
【図１】
2015127935.tif 000003
【図２】
2015127935.tif 000004
【図３】
2015127935.tif 000005
【図４】
2015127935.tif 000006
【図５】
2015127935.tif 000007
【図６】
2015127935.tif 000008
【図７】
2015127935.tif 000009
【図８】
2015127935.tif 000010
【図９】
2015127935.tif 000011
【図１０】
2015127935.tif 000012
【図１１】
2015127935.tif 000013
【図１２】
2015127935.tif 000014