(57)【要約】  データ処理装置が、マスタ調停部で選択した順序を極力守ることができ、かつ、ライトデータ待ちにより発行できないライトコマンドを、リードコマンドが、追い越すことができ、選択されたバスマスタからのコマンドに情報（１１０ｉ）を付与するマスタ調停部（１１０）と、データバッファ（１２２）と、ライトコマンドバッファ（１２１）と、リードコマンドバッファ（１２０）と、ライトデータ（１２２ｄ）の格納が完了したことを示す信号を発行するライトデータ受付完了通知制御部（１３０）と、前記信号で完了が示される第１のコマンド（１２１ａ）と、リードコマンドである第２のコマンド（１０１ｍ）の中で、情報（１１０ｉ）から特定される順序がより早い方を選択するコマンド順序判定部（１３１）とを備える。
2013014841.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタがメモリ装置にデータ転送することを制御するデータ処理装置であって、
前記複数のバスマスタからバスマスタを選択し、選択された前記バスマスタからのコマンドに付加情報を付与して、付与がされた後の前記コマンドを生成するマスタ調停部と、
生成された前記コマンドが、ライトコマンドである場合に、前記ライトコマンドのライトデータを格納するデータバッファと、
生成された前記コマンドが前記ライトコマンドである場合に、前記ライトコマンドを格納するライトコマンドバッファと、
生成された前記コマンドがリードコマンドである場合に、前記リードコマンドを格納するリードコマンドバッファと、
前記ライトデータの格納が完了したことを示す信号を発行する信号発行部と、
前記ライトコマンドバッファにより格納される、発行された前記信号で、前記ライトデータの格納が完了したことが示される前記ライトコマンドである第１のコマンドと、前記リードコマンドバッファにより格納される前記リードコマンドである第２のコマンドの中で、付与された前記付加情報から特定される順序が、より早い方の前記コマンドを、前記メモリ装置に発行されるコマンドとして選択するコマンド順序判定部と
を備えるデータ処理装置。
【請求項２】
付与される前記付加情報は、当該付加情報が付与される前記コマンドによる、前記メモリ装置へのアクセス要求が、何番目に、前記マスタ調停部により選択されたか示すＩＤであり、
前記コマンド順序判定部は、第１の前記コマンドおよび第２の前記コマンドのうちで、前記ＩＤが小さい方の前記コマンドを選択する
請求項１記載のデータ処理装置。
【請求項３】
付与される前記付加情報は、前記マスタ調停部により選択された前記バスマスタからの前記コマンドでの、前記メモリ装置へのアクセスにおける、処理時間の余裕度であり、
前記ライトコマンドバッファは、前記ライトコマンドである前記コマンドを格納した後に、格納された前記コマンドである余裕度付コマンドの前記余裕度を減少させ、
前記リードコマンドバッファは、前記リードコマンドである前記コマンドを格納した後に、格納された前記コマンドである前記余裕度付コマンドの前記余裕度を減少させ、
前記コマンド順序判定部は、前記第１のコマンドおよび前記第２のコマンドの中で、選択をする時刻での前記余裕度が小さい方の前記コマンドを選択する
請求項１記載のデータ処理装置。
【請求項４】
請求項３記載のデータ処理装置であって、
前記マスタ調停部は、前記付加情報として、前記コマンドへと、前記余裕度である第１の付加情報を付与すると共に、そのコマンドによるアクセス要求が、何番目の順番に、前記マスタ調停部により選択されたのか示すＩＤである第２の付加情報をさらに付与し、
前記コマンド順序判定部は、第１の前記コマンドと、第２の前記コマンドの前記余裕度が互いに同一である場合において、それら第１、第２の前記コマンドのうちで、付与された前記ＩＤの小さい方の前記コマンドを選択する
データ処理装置。
【請求項５】
請求項３記載のデータ処理装置であって、
前記マスタ調停部は、前記複数のバスマスタに対して各々設定される、前記メモリ装置にアクセスしなければならない余裕度を有し、それぞれの前記バスマスタがアクセス要求を出してから、そのバスマスタの前記余裕度を減少させ、前記複数のバスマスタのうちで、選択をする時刻において、最も小さい前記余裕度の前記バスマスタを選択する
データ処理装置。
【請求項６】
複数のバスマスタがメモリ装置にデータ転送することをデータ処理装置が制御するデータ処理方法であって、
前記複数のバスマスタからバスマスタを選択し、選択された前記バスマスタからのコマンドに付加情報を付与して、付与がされた後の前記コマンドを生成するマスタ調停ステップと、
生成された前記コマンドが、ライトコマンドである場合に、前記ライトコマンドのライトデータをデータバッファが格納する第１の格納ステップと、
生成された前記コマンドが前記ライトコマンドである場合に、前記ライトコマンドをライトコマンドバッファが格納する第２の格納ステップと、
生成された前記コマンドがリードコマンドである場合に、前記リードコマンドをリードコマンドバッファが格納する第３の格納ステップと、
前記ライトデータの格納が完了したことを示す信号を発行する信号発行ステップと、
前記ライトコマンドバッファにより格納される、発行された前記信号で、前記ライトデータの格納が完了したことが示される前記ライトコマンドである第１のコマンドと、前記リードコマンドバッファにより格納される前記リードコマンドである第２のコマンドの中で、付与された前記付加情報から特定される順序が、より早い方の前記コマンドを、前記メモリ装置に発行されるコマンドとして選択するコマンド順序判定ステップと
を含むデータ処理方法。
【請求項７】
複数のバスマスタがメモリ装置にデータ転送することをデータ処理装置が制御するデータ処理方法であって、
前記複数のバスマスタからバスマスタを選択し、選択された前記バスマスタからのコマンドに、そのコマンドを、何番目に選択したかを示すＩＤを付与するマスタ選択ステップと、
前記マスタ選択ステップで選択された前記コマンドであるライトコマンドのデータが利用可能であるか判定し、有効な前記ライトコマンドを識別するライトコマンド有効判定ステップと、
前記ライトコマンド有効判定ステップで識別された、有効な前記ライトコマンドである第１のコマンドと、リードコマンドである第２のコマンドとの中で、小さい方の番号の前記ＩＤが付与された前記コマンドを、前記メモリ装置に発行されるコマンドとして選択するコマンド選択ステップと
を含むデータ処理方法。
【請求項８】
複数のバスマスタがメモリ装置にデータ転送することをデータ処理装置が制御するデータ処理方法であって、
前記複数のバスマスタからバスマスタを選択し、選択された前記バスマスタからのコマンドに、前記メモリ装置にアクセス完了するために残された時間を示す余裕度を付与するマスタ選択ステップと、
前記マスタ選択ステップで選択された前記コマンドであるライトコマンドのデータが利用可能であるか判定し、有効な前記ライトコマンドを識別するライトコマンド有効判定ステップと、
前記ライトコマンド有効判定ステップで識別された、有効な前記ライトコマンドである第１のコマンドと、リードコマンドである第２のコマンドの中で、小さい方の前記余裕度の前記コマンドを、前記メモリ装置に発行されるコマンドとして選択するコマンド選択ステップと
を含むデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスタとメモリ装置とに接続され、バスマスタとメモリ装置との間で生じるデータ転送を制御するデータ処理装置に関する。
【背景技術】
【０００２】
ＳＤＲＡＭ（Synchronous Dynamic Random Memory）などのメモリ装置を用いたデータ処理装置では、メモリ装置へのデータ転送を制御するメモリアクセス制御回路を備えている。そして、このメモリアクセス制御回路による制御に基づいて、メモリへのデータ転送を行っている。【０００３】
図６は、従来構成で用いられるデータ処理装置４００の構成図である。【０００４】
図６に示されるように、複数のバスマスタ４０２のそれぞれが、メモリ装置４５０へデータ転送をする際において、次の通りである。【０００５】
つまり、ライトコマンドでのアクセスがされる時には、データバッファ４３２に、そのライトコマンドのライトデータが格納されるまで、そのライトコマンドが発行できない。【０００６】
図６のデータ処理装置において、リードコマンドバッファ４３０と、ライトコマンドバッファ４３１とを別々に備えている。そして、コマンド選択部４２０が、ライトコマンドと、リードコマンドとから、コマンドを選択する。【０００７】
ここで、ライトコマンドによるアクセスと、リードコマンドによるアクセスとから、アクセスを、コマンド選択部４２０で選択する方法としては、様々な方法がある。【０００８】
特許文献１では、ライトコマンドでの、アクセスするアドレスと、リードコマンドでの、アクセスするアドレスとを比較して、コマンドの追い越しをする技術を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０２−１２８２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
コマンド選択部４２０での選択方法別に、課題を説明する。【００１１】
（１）マスタ調停部４１０が選択した通りに、コマンド選択部４２０がコマンドの選択を行った場合の選択方法では、次の通りである。【００１２】
つまり、アクセス制御部４４０が、ライトコマンドのアクセスを選択したい時には、ライトデータが、データバッファ４３２に格納されていないと、アクセス制御部４４０に、ライトコマンドを発行できない。その結果、その発行がされる時刻が、ライトデータが格納される時刻まで遅延して、オーバーヘッドが生じる。【００１３】
一方、マスタ調停部４１０が選択したのが何れであるかの情報を考慮せずに、コマンド選択部４２０で、ライトコマンドや、リードコマンドを選択する方法もある、このような方法には、固定優先の方法や、ラウンドロビン方式の方法などがある。【００１４】
（２）ライトコマンドを優先にする固定優先を行った場合の選択方法では、次の通りである。【００１５】
つまり、リードコマンドの、マスタ調停部４１０で選択された順序がある。この順序よりも後続の順序がマスタ調停部４１０で選択された、後続の順序の、後続からきたライトコマンドがある。上述のリードコマンドのアクセスが、このようなライトコマンドに追い越され続けるということが発生することが起こる。これにより、マスタ調停部４１０で選択した順序を、大幅に崩してしまう恐れがある。【００１６】
図７は、マスタ調停部４１０で選択した順序を崩してしまう例を示す図である。【００１７】
７００は、マスタ調停部４１０で選択された、複数のバスマスタ４０２のうちの１つのバスマスタ４０２からのコマンドについて、時系列に、それぞれの順序でのコマンドを表示した欄を指す。【００１８】
７０１は、リードコマンドバッファ４３０に格納された、０個以上のリードコマンドの状態を、時系列に示した欄を指す。【００１９】
７０２は、ライトコマンドバッファ４３１に格納された、０個以上のライトコマンドの状態を、時系列に示した欄を指す。【００２０】
７０３は、コマンド選択部４２０に選択されて、メモリ装置４５０に発行されるコマンドを、時系列に示した欄を指す。【００２１】
時刻ｔ４で、マスタ調停された、Ｒ（５）のコマンドは、時刻ｔ１１になっても、アクセス制御部４４０へと、コマンド発行されない。このＲ（５）のコマンドは、後続からきたコマンドに、次々追い越されてしまう。すなわち、Ｒ（５）のコマンドの発行が、１つ以上の後続のコマンドのうちのそれぞれの発行よりも後になる。なお、それらの１つ以上の後続のコマンドは、図７の例では、Ｗ（６）のコマンドと、Ｗ（７）のコマンドとである。【００２２】
（３）ライトコマンドとリードコマンドとを、ラウンドロビン方式で選択する場合の選択方法では、次の通りである。【００２３】
つまり、マスタ調停部４１０による処理の結果として、幾つかのライトコマンドが、連続して、ライトコマンドバッファ４３１に発行される。そして、それらのライトコマンドに対応する、全てのライトデータが、データバッファ４３２に格納されるのが完了する。この完了をした後に、リードコマンドが、リードコマンドバッファ４３０に発行された場合を考える。この場合に、そのリードコマンドは、先に発行された各ライトコマンドを追い越して、大幅な追い越し（例えば、それら幾つかのライトコマンドの全ての追い越しなど）を行う。これにより、マスタ調停部４１０の選択結果を、大幅に崩してしまうという課題がある。つまり、マスタ調停部４１０により選択された、そのリードコマンドの順序がある。この順序から、そのような、大幅な追い越しをした幅だけ、より早い順序で、そのリードコマンドの、アクセス制御部４４０への発行がされて、順序が大きく変化してしまう課題がある。【００２４】
本発明の目的は、マスタ調停部で選択した順序を極力守ることができ、かつ、ライトデータ待ちにより発行できないライトコマンドを、リードコマンドが、追い越すことができ、オーバーヘッド隠蔽を実現できるデータ処理装置を提供することである。
【課題を解決するための手段】
【００２５】
上記課題を解決するため、本発明のデータ処理装置は、複数のバスマスタがメモリ装置にデータ転送することを制御するデータ処理装置であって、前記複数のバスマスタからバスマスタを選択し、選択された前記バスマスタからのコマンドに付加情報を付与して、付与がされた後の前記コマンドを生成するマスタ調停部と、生成された前記コマンドが、ライトコマンドである場合に、前記ライトコマンドのライトデータを格納するデータバッファと、生成された前記コマンドが前記ライトコマンドである場合に、前記ライトコマンドを格納するライトコマンドバッファと、生成された前記コマンドがリードコマンドである場合に、前記リードコマンドを格納するリードコマンドバッファと、前記ライトデータの格納が完了したことを示す信号を発行する信号発行部と、前記ライトコマンドバッファにより格納される、発行された前記信号で、前記ライトデータの格納が完了したことが示される前記ライトコマンドである第１のコマンドと、前記リードコマンドバッファにより格納される前記リードコマンドである第２のコマンドの中で、当該一のコマンドに付与された前記付加情報から特定される順序が、より早い方の順序である一のコマンドである方の前記コマンドを、前記メモリ装置に発行されるコマンドとして選択するコマンド順序判定部とを備えるデータ処理装置である。【００２６】
なお、上述の付加情報とは、その付加情報から、比較的適切である順序が特定される情報である。【００２７】
つまり、付加情報は、当該付加情報が付与される前記コマンドによる、前記メモリ装置へのアクセス要求が、何番目に、前記マスタ調停部により選択されたか示すＩＤ（図３Ｂ、図３ＣのＩＤ ９Ｎｒ、９Ｎｗ等を参照）、または、前記マスタ調停部により選択された前記バスマスタからの前記コマンドでの、前記メモリ装置へのアクセスにおける、処理時間の余裕度（図５Ｂ、図５Ｃの余裕度９Ｊｒ、９Ｊｗ等を参照）などである。【００２８】
つまり、より古い順番のＩＤである付加情報により、より早い順序が特定されて、比較的適切である順序が特定されてもよい。また、比較的小さい余裕度である付加情報により、より早い順序が特定されることにより、比較的適切である順序が特定されてもよい。【００２９】
余裕度は、その余裕度のコマンドのアクセスが、その時刻までに終了しないと、弊害が生じるなどで、その時刻までに終了するのが必要である時刻までの、現在からの時間の長さ等をいう。【００３０】
なお、上述の時刻は、推定された時刻などをいう。【００３１】
すなわち、前記マスタ調停部は、バスマスタが、アクセス要求を選択したときに、付加情報をコマンドに付与する。そして、コマンド順序判定部は、付与された後のコマンドにおける、付与された付加情報と、ライトデータが、データバッファ格納済みであるかを示す、信号発行部により発行された情報（上述の信号）とを入力として、コマンドを選択する。【００３２】
これにより、マスタ調停部で選択した順序を極力守ることができ、かつ、ライトデータ待ちにより発行できないライトコマンドを、リードコマンドが、追い越すことができ、オーバーヘッド隠蔽を実現できる。【００３３】
なお、マスタ選択ステップで選択されたバスマスタからのコマンドであるライトコマンドのデータが利用可能であるかを判定し、利用可能であると判定される、有効なライトコマンドを識別するライトコマンド有効判定ステップが実行されてもよい。
【発明の効果】
【００３４】
マスタ調停部が付与した付加情報により、ライトコマンドと、リードコマンドとからの、コマンドの選択は、マスタ調停部で選択した順序を大幅に崩すことなくされる。これにより、ライトコマンドと、リードコマンドとのうちで、このような、大幅に崩すことのない選択で選択された方のコマンドを、アクセス制御部に発行することができる。かつ、ライトデータ待ちのライトコマンドが存在している際には、リードコマンドを選択することで、アクセス制御部に、より適切に、コマンドが発行でき、メモリ装置へのオーバーヘッドを隠蔽することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、第１、２の実施の形態に係るデータ処理装置の構成図である。
【図２】図２は、第１の実施の形態における動作フロー図である。
【図３Ａ】図３Ａは、第１の実施の形態におけるコマンド選択図である。
【図３Ｂ】図３Ｂは、リードコマンドバッファに格納されたＩＤ付リードコマンドの状態の表を示す図である。
【図３Ｃ】図３Ｃは、ライトコマンドバッファに格納されたＩＤ付ライトコマンドの状態の表を示す図である。
【図４】図４は、第２の実施の形態における動作フロー図である。
【図５Ａ】図５Ａは、第２の実施の形態におけるコマンド選択図である。
【図５Ｂ】図５Ｂは、リードコマンドバッファに格納された余裕度付リードコマンドの状態の表を示す図である。
【図５Ｃ】図５Ｃは、ライトコマンドバッファに格納された余裕度付ライトコマンドの状態の表を示す図である。
【図６】図６は、従来構成で用いられるデータ処理装置の構成図である。
【図７】図７は、従来技術におけるコマンド選択図の一例である。
【発明を実施するための形態】
【００３６】
本発明の実施の形態については、図面を参照して説明する。なお、以下で説明する実施の形態は、何れも本発明の比較的好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などについては、何れも、単なる一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、比較的好ましい形態を構成するものとして説明される。
【００３７】
実施形態のデータ処理装置１００（図１など）は、複数のバスマスタ１０２がメモリ装置１５０にデータ転送することを制御するデータ処理装置１００であって、それらの複数のバスマスタからバスマスタ１０２（例えばバスマスタ１０２ｓ）を選択し、選択されたバスマスタからのコマンド１１０ｃに、予め定められた情報１１０ｉ（図３Ｂ〜図３ＣにおけるＩＤ ９Ｎｒ、９Ｎｗ、図５Ｂ〜図５Ｃにおける余裕度９Ｊｒ、９Ｊｗなどを参照）を付与して、付与がされた後のコマンド１０１ｃ（図１）を生成するマスタ調停部１１０を備える。また、生成されたコマンド１０１ｃが、ライトコマンド１０１ｗである場合に、そのライトコマンド１０１ｗのライトデータ（データ１２２ｄ）を格納するデータバッファ１２２を備える。また、生成されたコマンド１０１ｃがライトコマンド１０１ｗである場合に、そのコマンド１０１ｃ（ライトコマンド１０１ｗ）を格納するライトコマンドバッファ１２１を備える。また、生成されたコマンド１０１ｃがリードコマンド１０１ｒである場合に、そのコマンド１０１ｃ（リードコマンド１０１ｒ）を格納するリードコマンドバッファ１２０を備える。また、上述のライトデータ１２２ｄの、データバッファ１２２への格納が完了したことを示す信号（情報１３０ｉの信号）を発行する信号発行部（ライトデータ受付完了通知制御部１３０）を備える。また、ライトコマンドバッファ１２１により格納される、発行された上述の信号（情報１３０ｉの信号）で、ライトデータ１２２ｄの格納が完了したことが示されるライトコマンド１０１ｗである第１のコマンド（例えば、図３Ａ、図３Ｃのコマンド１２１ａ）と、リードコマンドバッファ１２０により格納されるリードコマンド１０１ｒである第２のコマンド（例えば、図３Ａ、図３Ｂのコマンド１０１ｍ）のうちから、一のコマンドを選択し、選択される一のコマンドは、当該一のコマンドに付与された情報１１０ｉから特定される順序が、より早い方の順序であるコマンド（例えばコマンド１２１ａ）であり、当該一のコマンドを、メモリ装置１５０に発行されるコマンド１４０ｃとして選択するコマンド順序判定部１３１を備える。なお、一のコマンドに付与された情報１１０ｉについては、第１、第２のコマンドの各々に付与された情報１１０ｉ、および、先述のＩＤ ９Ｎｒ、９Ｎｗ、余裕度９Ｊｒ、９Ｊｗを参照されたい。
【００３８】
すなわち、例えば、このデータ処理装置１００では、上述された、付与される情報１１０ｉは、当該情報１１０ｉが付与されるコマンドによる、メモリ装置１５０へのアクセス要求が、何番目に、マスタ調停部１１０により選択されたか示すＩＤ（ＩＤ ９Ｎｒ、９Ｎｗを参照）であり、コマンド順序判定部１３１は、第１のコマンド（コマンド１２１ａ）および第２の前記コマンド（コマンド１０１ｍ）のうちで、このＩＤ（ＩＤ ９Ｎｒ、９Ｎｗ）が、より小さい方のコマンド（コマンド１２１ａ）を選択してもよい。
【００３９】
また、例えば、このデータ処理装置１００では、付与される情報１１０ｉは、上述された、マスタ調停部１１０により選択されたバスマスタ１０２（バスマスタ１０２ｓ）からのコマンド１１０ｃでの、メモリ装置１５０へのアクセスにおける、処理時間の余裕度（余裕度９Ｊｒ、９Ｊｗを参照）であり、ライトコマンドバッファ１２１は、ライトコマンド１０１ｗであるコマンド１０１ｃを格納した後に、格納されたそのコマンド１０１ｃである余裕度付コマンドの余裕度を減少させ、リードコマンドバッファ１２０は、リードコマンド１０１ｒであるコマンド１０１ｃを格納した後に、格納されたそのコマンド１０１ｃである余裕度付コマンドの余裕度を減少させ、コマンド順序判定部１３１は、上述された、第１のコマンド（コマンド１２１ａ）および第２のコマンド（コマンド１０１ｍ）の中で、選択をする時刻での上述の余裕度（図５Ｂ、図５Ｃの余裕度９Ｊｒ、９Ｊｗを参照）が、より小さい方のコマンド（例えばコマンド１２１ａ）を選択してもよい。
【００４０】
図１は、本発明の一実施形態に係るデータ処理装置を示している。
【００４１】
本発明の一実施形態に係るデータ処理装置１００は、複数のバスマスタ１０２と、メモリ装置１５０とにそれぞれ接続され、マスタ調停部１１０と、メモリ制御部１０１とにより構成される。
【００４２】
メモリ制御部１０１は、リードコマンドバッファ１２０と、ライトコマンドバッファ１２１と、複数のバスマスタ１０２が共有して、何れのバスマスタ１０２もが使用するデータバッファ１２２と、ライトデータ受付完了通知制御部１３０と、コマンド順序判定部１３１と、アクセス制御部１４０とで構成される。
【００４３】
（実施形態１）
図１の構成にて、複数のバスマスタ１０２のそれぞれは、リードアクセス要求や、ライトアクセス要求を、マスタ調停部１１０に発行する。
【００４４】
そして、マスタ調停部１１０によって選択された１つのバスマスタ１０２（例えば、図１の例では、バスマスタ１０２ｓ）は、アクセス要求が、ライトアクセス要求の場合には、マスタ調停部１１０に、ライトコマンド（コマンド１１０ｗ）を発行する。そして、こうして、ライトコマンドを発行するのと同時に、データバッファ１２２に、そのライトコマンドに対するライトデータ（データ１２２ｄ）を発行する。
【００４５】
一方、選択された１つのバスマスタ１０２は、アクセス要求が、リードアクセス要求の場合には、マスタ調停部１１０に、リードコマンド（コマンド１１０ｒ）を発行する。
【００４６】
マスタ調停部１１０は、選択したバスマスタからのコマンド（コマンド１１０ｃ）を受け取る。そして、受け取ったコマンドに対して、ＩＤを付与する。付与されるＩＤは、マスタ調停部１１０が、何番目に、その付与がされるコマンドでのアクセス要求を選択したかという、選択がされた順番の情報として付与される、その順番を示すＩＤ（情報１１０ｉ）である。なお、付与されるＩＤは、その順番の値などでもよいし、その値に対応付けられた文字列、数字などでもよい。
【００４７】
マスタ調停部１１０は、付与がされたコマンドでのアクセスが、リードアクセスであった場合、リードコマンドバッファ１２０に、付与された後の、付与がされたＩＤを一部に含んでなるコマンド（コマンド１０１ｒ）を発行する。
【００４８】
他方、マスタ調停部１１０は、受け取ったコマンドによるアクセスが、ライトアクセスであった場合、ライトコマンドバッファ１２１に、ＩＤが付与されて、付与されたＩＤが含まれてなるコマンド（コマンド１０１ｗ）を発行する。
【００４９】
リードコマンドバッファ１２０は、マスタ調停部１１０から発行されたリードコマンドを保持し、コマンド順序判定部１３１に、そのリードコマンドを発行する。
【００５０】
ライトコマンドバッファ１２１は、マスタ調停部１１０から発行されたライトコマンドを保持し、コマンド順序判定部１３１に、そのライトコマンドを発行する。
【００５１】
ライトデータ受付完了通知制御部１３０は、ライトコマンドバッファ１２１の状態を観測する。具体的には、コマンド（コマンド１１０ｗ）に対するライトデータ（データ１２２ｄ）が、データバッファ１２２に格納されたかを観測する。そして、ライトデータが、格納済みになると、データが格納完了されたことを識別する識別子（情報１３０ｉ）を、コマンド順序判定部１３１に通知する。
【００５２】
コマンド順序判定部１３１は、リードコマンドバッファ１２０から発行されるリードコマンドと、ライトコマンドバッファ１２１から発行されるライトコマンドとのうちの、何れかのコマンドを選択する。具体的には、選択をする際に、リードコマンドに付与されたＩＤと、ライトコマンドに付与されたＩＤと、ライトコマンドに対する、ライトデータ受付完了通知制御部１３０から発行される完了識別子（情報１３０ｉ）とを用いることにより、リードコマンドか、ライトコマンドか、何れかの適切な方を選択する。
【００５３】
コマンド順序判定部１３１にて選択されたコマンドが、リードコマンドの場合には、コマンド順序判定部１３１は、アクセス制御部１４０に、リードコマンドを発行する。そして、この発行がされると、アクセス制御部１４０は、メモリ装置１５０に、リードコマンドを発行し、リードデータの転送を要求する。
【００５４】
選択されたコマンドが、ライトコマンドの場合には、コマンド順序判定部１３１は、アクセス制御部１４０に、ライトコマンドを発行する。アクセス制御部１４０は、このライトコマンドの受付と同時に、データバッファ１２２から、ライトデータ（データ１２２ｄ）を受け付ける。アクセス制御部１４０は、この受け付けをすると、メモリ装置１５０に、ライトコマンドを発行し、受け付けられたライトデータの転送をさせる。
【００５５】
図２は、図１のデータ処理装置１００の処理フローである。
【００５６】
ステップＳ２００において、マスタ調停部１１０は、複数のバスマスタ１０２のアクセス要求から、アクセス要求を選択する。そして、選択されたアクセス要求をする、バスマスタ１０２からのコマンド（コマンド１１０ｃ）を受け取る。そして、マスタ調停部１１０が、その受け取りでの、アクセス要求の選択が、何番目における、アクセス要求の選択かという情報として、その選択の順番を示すＩＤ（上述の情報１１０ｉ）を、その順番で受け取ったコマンドに付与する。
【００５７】
ステップＳ２０１において、コマンド順序判定部１３１は、リードコマンドバッファ１２０から発行されるリードコマンドと、ライトコマンドバッファ１２１から発行されるライトコマンドとについて、次のような判定をする。
【００５８】
すなわち、ライトコマンドと、リードコマンドとが、何れも発行可能である状態がある。この状態は、リードコマンドバッファ１２０に、リードコマンドがあり、かつ、ライトコマンドバッファ１２１に、ライトコマンドがある状態である。上述の判定では、この状態であるか否かが判定される。この状態と判定される場合には（Ｓ２０１のｙｅｓ）、ステップＳ２０２に移行する。一方で、この状態でなく、ライトコマンドか、リードコマンドかのどちらか一方のみが発行される状態と判定される場合であれば（Ｓ２０１のｎｏ）、ステップＳ２０４に移行する。
【００５９】
ステップＳ２０２において、コマンド順序判定部１３１は、ライトデータ受付完了通知制御部１３０からの識別子を受け取る。この受け取りをすることで、ライトコマンドバッファ１２１にあるライトコマンドが、有効かどうかを判定する。すなわち、受け取った識別子より、先述された、そのライトコマンドのデータの格納が完了したことが示される場合には（Ｓ２０２のｙｅｓ）、有効と判定され、完了してないことが示される場合には（Ｓ２０２のｎｏ）、有効でないと判定される。
【００６０】
有効と判定されたライトコマンドがあれば（Ｓ２０２のｙｅｓ）、ステップＳ２０３に移行する。
【００６１】
他方、無効と判定されれば（Ｓ２０２のｎｏ）、ステップＳ２０７に移行し、リードコマンドバッファ１２０にある各リードコマンドの中で、ＩＤの一番小さいリードコマンドを選択する。
【００６２】
ステップＳ２０３において、コマンド順序判定部１３１は、ライトデータ受付完了通知制御部１３０からの識別子から、ライトデータが格納済となっていると判定されたライトコマンド、および、リードコマンドのＩＤを比較し、それらの中から、最も小さいＩＤを有するコマンドを選択する。
【００６３】
選択されたコマンドが、ライトコマンドの場合には（Ｓ２０３のｙｅｓ）、ステップＳ２０６に移行する一方で、選択されたコマンドが、リードコマンドの場合には（Ｓ２０３のｎｏ）、ステップＳ２０７に移行する。
【００６４】
他方、ステップＳ２０４において、先述のＳ２０１でｎｏの判定がされて、ライトコマンドと、リードコマンドとのうちの一方のみがあり、その一方のみが発行可能であることが判定された場合の処理がされる。このステップＳ２０４の処理では、その一方のコマンドが、リードコマンドと判定される場合には（ステップＳ２０４のｙｅｓ）、ステップＳ２０８に移行して、リードコマンドを選択する。他方、その一方のコマンドが、ライトコマンドと判定される場合には（ステップＳ２０４のｎｏ）、ステップＳ２０５に移行する。
【００６５】
ステップＳ２０５において、コマンド順序判定部１３１は、ライトデータ受付完了通知制御部１３０からの識別子（先述）を受け取ることで、ライトコマンドが、有効かどうかを判定する（先述のＳ２０２の説明を参照）。
【００６６】
ライトコマンドが有効と判定されれば（Ｓ２０５のｙｅｓ）、ステップＳ２０９に移行し、ライトコマンドを選択する。無効であれば（Ｓ２０５のｎｏ）、なにも選択せず、何れのコマンドも選択しない。
【００６７】
図３Ａは、図１と図２での処理の具体的な一例を示す図である。
【００６８】
５００は、マスタ調停部１１０で選択された、複数のバスマスタ１０２からのコマンドを、時系列に表示した欄を指す。
【００６９】
５０１は、リードコマンドバッファ１２０に格納されたＩＤ付リードコマンドの状態を時系列に示した欄を指す。
【００７０】
５０２は、ライトコマンドバッファ１２１に格納されたＩＤ付ライトコマンドの状態を時系列に示した欄を指す。
【００７１】
５０３は、コマンド順序判定部１３１に選択されて、メモリ装置１５０に発行されるコマンドを時系列に示した欄を指す。
【００７２】
なお、以下の説明では、本具体例における、比較的特徴的な点が現れた各時刻の処理についてのみ、詳しい説明をする。
【００７３】
なお、以下の説明では、コマンドは、（属性、ＩＤ番号、データフラグ）の形式で表現される。
【００７４】
なお、この表現のなかで、「属性」としては、R(リードコマンド)と、W(ライトコマンド)とがある。
【００７５】
ＩＤ番号は、そのＩＤ番号により示される順番の数値である。
【００７６】
データフラグとしては、０（ライトデータ未格納)と、ｌ(ライトデータ格納済)とがある。
【００７７】
なお、このように、データフラグは、ライトデータが未格納か否かに関するフラグであり、ライトコマンドのみに関係する。そこで、以下では、リードコマンドについては、このデータフラグが示されず、単に、(属性、ＩＤ番号)との表現がされる。
【００７８】
図３Ａの時刻ｔ１では、リードコマンドバッファ１２０に格納されているＩＤ付リードコマンド(R、1)のみがある。このため、このＩＤ付リードコマンド(R、1)が、コマンド順序判定部１３１により選択される（図２のＳ２０１のｎｏ、Ｓ２０４のｙｅｓ、Ｓ２０８などを参照）。
【００７９】
なお、図３Ａで示されるように、それぞれの時刻（例えば上述の時刻ｔ１）で選択されるコマンド（ＩＤ付リードコマンド(R、1)）は、欄５０３における、その時刻の部分に図示される。
【００８０】
なお、図３Ａの、欄５０１における、時刻ｔ１での表について、次の通りである。すなわち、この表の第４行において、上述されたＩＤ付リードコマンド(R、1)があることが示される。そして、この表の第２、第３行が空欄で、リードコマンドバッファ１２０には、上述された、第４行のＩＤ付リードコマンド(R、1)のみがあるのが示される。
【００８１】
また、欄５０２における、時刻ｔ１の表では、何れの行も空欄で、ライトコマンドバッファ１２１には、１つのライトコマンドもないことが示される。
【００８２】
時刻ｔ３では、リードコマンドバッファ１２０に格納されたＩＤ付リードコマンド(R、3)と、ライトコマンドバッファ１２１に格納されたＩＤ付ライトコマンド(W、2、0)とがある。そして、後者のＩＤ付ライトコマンド(W、2、0)における、上述のデータフラグは０である（欄５０２での表の第４行における、ｆｌｇの項目（第２列）の記号「０」を参照）。つまり、このＩＤ付ライトコマンド(W、2、0)についての、上述された、データの格納が、未完であることが示される。このため、他方のID付リードコマンド(R、3)が選択される（Ｓ２０１のｙｅｓ、Ｓ２０２のｎｏ、Ｓ２０７を参照）。
【００８３】
時刻ｔ５では、リードコマンドバッファ１２０に格納されたＩＤ付リードコマンド(R、5)がある。また、ライトコマンドバッファ１２１に格納された２つのＩＤ付ライトコマンド(W、2、1)、(W、4、0)がある。そして、これら２つのＩＤ付ライトコマンド(W、2、1)、(W、4、0)のうちで、前者のＩＤ付ライトコマンド(W、2、1)のデータフラグ（図３Ｃのフラグ９Ｆｍ）は、データの格納が完了したことを示す「１」である（欄５０２の、時刻ｔ５の表の第４行第２列の記号「１」を参照）。そして、このＩＤ付ライトコマンド(W、2、1)のＩＤ（図３ＣのＩＤ ９Ｎｗ）は「２」であり、時刻ｔ５にある、上述のＩＤ付リードコマンド(R、5)のＩＤ（図３ＢのＩＤ ９Ｎｒ）である「５」（欄５０１の時刻ｔ５の表の第４行）よりも早い順番のＩＤである。こうであるので、第４行に示される、上述のID付ライトコマンド(W、2、1)が選択される（Ｓ２０１のｙｅｓ、Ｓ２０２のｙｅｓ、Ｓ２０３のｙｅｓ、Ｓ２０６などを参照）。
【００８４】
時刻ｔ７では、リードコマンドバッファ１２０に格納されたＩＤ付リードコマンド(R、5)がある。また、ライトコマンドバッファ１２１に格納された２つのＩＤ付ライトコマンド(W、4、1)、(W、6、0)がある。こうであるので、上述の時刻ｔ５で、先述のようにして、ID付ライトコマンド(W、2、1)が選択されるのと同様にして、この時刻ｔ７では、欄５０２の表の第４行のＩＤ付ライトコマンド(W、4、1)が選択される。
【００８５】
時刻ｔ9では、リードコマンドバッファ１２０に格納されたＩＤ付リードコマンド(R、5)と、ライトコマンドバッファ１２１に格納されたＩＤ付ライトコマンド(W、6、1)とがある。そして、前者のＩＤ付リードコマンド(R、5)のＩＤは「５」で、後者におけるＩＤである「６」よりも小さい。こうであるので、前者のＩＤ付リードコマンド(R、5)が選択される（Ｓ２０１のｙｅｓ、Ｓ２０２のｙｅｓ、Ｓ２０３のｎｏ、Ｓ２０７などを参照）。
【００８６】
以上のように、コマンド順序判定部１３１は、マスタ調停部１１０が、複数のバスマスタ１０２から、バスマスタ１０２を選択した情報（上述のＩＤを参照）を考慮しながら、コマンドを選択する。このことができるので、マスタ調停部１１０が選択した順序を、極力守ることができる。すなわち、メモリ装置１５０にコマンドを発行する順序を、そのコマンドの、マスタ調停部１１０により選択された順序が考慮された比較的適切な順序にすることができる。
【００８７】
また、データバッファ１２２に、ライトデータを転送している途中で、その転送による、ライトデータの格納が完了するまでの間には、発行できないライトコマンドが存在するときがある。このときには、リードコマンドを選択して（Ｓ２０２のｎｏ、Ｓ２０７を参照）、そのリードコマンドでの、メモリ装置１５０へのアクセスをすることができ、メモリ装置１５０へのアクセスの質が低下するのを防ぐことができる。例えば、オーバーヘッドの隠蔽も可能となる。
【００８８】
なお、メモリ装置１５０は、例えば、データ処理装置１００が設けられるＬＳＩなどのＬＳＩの内部、外部の何れに構成するのを問わず、ＳＤＲＡＭなどのような、アドレスと、アクセス属性とによりデータ転送を行う装置であればよい。
【００８９】
なお、図２のＳ２０１で、ｙｅｓの場合には、ライトコマンドバッファ１２１により記憶されるライトコマンドの個数が、１個以上である。
【００９０】
例えば、ある局面などでは、このような、記憶されるライトコマンドの個数が、１個でもよい（図３Ａの時刻ｔ２、ｔ３、ｔ８、ｔ９などを参照）。
【００９１】
そして、Ｓ２０２では、その１個のライトコマンドのライトデータの格納の完了を示す情報１３０ｉが、コマンド順序判定部１３１により取得されたか否かが判定されてもよい。
【００９２】
そして、取得されたと判定される場合に（Ｓ２０２のｙｅｓ）、Ｓ２０３の処理がされ、取得されてないと判定される場合に（Ｓ２０２のｎｏ）、Ｓ２０７の処理がされてもよい。
【００９３】
他方、記憶されるライトコマンドの個数が、２個以上でもよい。
【００９４】
そして、Ｓ２０２において、それら２個以上のライトコマンドのうちに、そのライトコマンドでは、上述の格納が完了したことを示す情報１３０ｉが取得されたライトコマンドが含まれるか否かが判定されてもよい。
【００９５】
Ｓ２０３では、含まれる、それらの、情報１３０ｉが取得されたライトコマンドの１個以上が、リードコマンドバッファ１２０により記憶されるリードコマンドのＩＤよりも早い順番のＩＤのライトコマンドを含むか否かが判定されてもよい。
【００９６】
含むと判定された場合に（Ｓ２０３のｙｅｓ）、その判定がされた、早い順番のＩＤのライトコマンドの１つが、メモリ装置１５０へと発行され（Ｓ２０６）、含まれないと判定された場合に（Ｓ２０３のｎｏ）、リードコマンドが発行されてもよい（Ｓ２０７）。
【００９７】
なお、さらに具体的には、ある局面などでは、リードコマンドバッファ１２０により記憶されるリードコマンドの個数が、２個以上でもよい。
【００９８】
そして、Ｓ２０３では、それらの２個以上のリードコマンドのうちで、最も早い順番のＩＤのリードコマンドの処理がされてもよい。つまり、そのＩＤよりも早い順番のＩＤのライトコマンドが、先述された、格納の完了を示す情報１３０ｉが取得された１個以上ライトコマンドに含まれるか否かが判定されてもよい。
【００９９】
そして、含まれないと判定された場合には（Ｓ２０３のｎｏ）、上述された、最も早い順番のＩＤのリードコマンドの発行がされてもよい（Ｓ２０７）。
【０１００】
（実施形態２）
実施形態１で説明した通り、図１の構成にて、複数のバスマスタ１０２のそれぞれは、リードアクセス要求やライトアクセス要求を、データ処理装置１００のマスタ調停部１１０に発行する。
【０１０１】
そして、マスタ調停部１１０によって選択された１つのバスマスタ１０２（先述のバスマスタ１０２ｓ）は、アクセス要求が、ライトのアクセス要求である場合には、マスタ調停部１１０に、ライトコマンドを発行する。
【０１０２】
そして、選択された１つのバスマスタ１０２は、上述の発行をするのと同時に、データバッファ１２２に、そのライトコマンドに対するライトデータを発行する。
【０１０３】
他方、選択された１つのバスマスタ１０２は、アクセス要求がリードの場合には、マスタ調停部１１０に、リードコマンドを発行する。
【０１０４】
そして、この実施形態２では、マスタ調停部１１０は、複数のバスマスタ１０２の各々に対して設定されている余裕度を有している。それぞれのバスマスタ１０２が、メモリ装置１５０に、その時刻までに転送をしなければならない時刻がある。それぞれの余裕度は、その余裕度のバスマスタ１０２におけるこの時刻までの時間の長さなどである。
【０１０５】
そして、複数のバスマスタ１０２のうちのそれぞれのバスマスタ１０２が、マスタ調停部１１０に、アクセス要求を出してから、そのバスマスタ１０２の余裕度は減少していく。そして、マスタ調停部１１０は、それら複数のバスマスタ１０２から、１つのバスマスタ１０２を選択する時刻において、余裕度の一番小さいバスマスタ１０２を選択する。
【０１０６】
マスタ調停部１１０は、アクセス要求（バスマスタ）を選択した時刻での余裕度を、バスマスタが発行してきた、そのアクセス要求のアクセスをするコマンドに付与する。
【０１０７】
マスタ調停部１１０は、余裕度が付与されたコマンドが、リードアクセスのコマンドであるリードコマンドであった場合、リードコマンドバッファ１２０に、そのコマンドを発行する。他方、ライトアクセスのコマンドであるライトコマンドであった場合、ライトコマンドバッファ１２１に、そのコマンドを発行する。
【０１０８】
リードコマンドバッファ１２０は、マスタ調停部１１０から発行されたリードコマンドを保持し、コマンド順序判定部１３１に、そのリードコマンドを発行する。なお、リードコマンドを保持している間には、そのリードコマンドに付与された余裕度は減少していく。
【０１０９】
ライトコマンドバッファ１２１は、マスタ調停部１１０から発行されたライトコマンドを保持し、コマンド順序判定部１３１に、ライトコマンドアクセス要求を発行する。ライトコマンドを保持している間には、そのライトコマンドに付与された余裕度は減少していく。
【０１１０】
ライトデータ受付完了通知制御部１３０は、ライトコマンドバッファ１２１の状態を観測し、そのライトコマンドに対するライトデータが、データバッファに格納されるのが完了したかを観測する。ライトデータが格納されるのが完了すると、ライトデータが格納完了されたことを識別する識別子を、コマンド順序判定部１３１に通知する。
【０１１１】
コマンド順序判定部１３１は、リードコマンドバッファ１２０から発行されるリードコマンドと、ライトコマンドバッファ１２１から発行されるライトコマンドの少なくとも一方を含んでなる１以上のコマンドから、コマンドを選択する際に、次の処理をする。
【０１１２】
その処理では、リードコマンドバッファ１２０からの、一つ以上の余裕度付リードコマンドと、ライトコマンドバッファ１２１からの、一つ以上の余裕度付ライトコマンドと、後述される、一つ以上の信号を入力として行われる。一つ以上の信号のそれぞれは、ライトデータ受付完了通知制御部１３０からの上述のデータ格納完了信号である。
【０１１３】
つまり、上述の一つ以上の余裕度付ライトコマンドは、次のような、一つ以上の余裕度付ライトコマンドを含む。この一つ以上の余裕度付ライトコマンドに含まれる、何れの余裕度付ライトコマンドについても、上述の一つ以上の信号に含まれる１の信号である、その余裕度付ライトコマンドのデータ格納完了信号が有効である。データ格納完了信号が有効であるとは、そのデータ格納完了信号により、ライトデータが既に取得されたことが示されることをいう。
【０１１４】
これらの、一つ以上の余裕度付リードコマンド、および、データ格納完了信号が有効な、上述された一つ以上の余裕度付ライトコマンドとが含まれてなる複数のコマンドの中で、余裕度が一番小さいコマンドを選択する。
【０１１５】
コマンド順序判定部１３１にて選択されたコマンドが、リードコマンドの場合には、コマンド順序判定部１３１は、アクセス制御部１４０に、リードコマンドを発行する。アクセス制御部１４０は、メモリ装置１５０に、リードコマンドを発行し、リードデータの転送を要求する。
【０１１６】
選択されたコマンドが、ライトコマンドの場合には、コマンド順序判定部１３１は、アクセス制御部１４０に、ライトコマンドを発行する。アクセス制御部１４０は、ライトコマンドの受け付けと同時に、データバッファ１２２から、ライトデータを引き抜く。アクセス制御部１４０は、メモリ装置１５０に、ライトコマンドを発行し、ライトデータの転送をさせる。
【０１１７】
図４は、図１のデータ処理装置１００の処理フローである。
【０１１８】
ステップＳ３００において、マスタ調停部１１０は、複数のバスマスタ１０２からの複数のアクセス要求から、アクセス要求を選択し、選択されたアクセス要求（バスマスタ１０２）のコマンドを受け取る。そして、マスタ調停部１１０は、アクセス要求を選択した時刻での余裕度を、そのバスマスタ１０２が、当該マスタ調停部１１０へと発行してきたコマンドに付与する。
【０１１９】
ステップＳ３０１において、コマンド順序判定部１３１は、リードコマンドバッファ１２０と、ライトコマンドバッファ１２１から発行されるコマンドについての判定の処理をする。
【０１２０】
ライトコマンドと、リードコマンドが何れも発行された場合には（Ｓ３０１のｙｅｓ）、ステップＳ３０２に移行し、ライトコマンドかリードコマンドのどちらかのみであれば（Ｓ３０１のｎｏ）、ステップＳ３０５に移行する。
【０１２１】
ステップＳ３０２において、コマンド順序判定部１３１は、ライトコマンドに対するライトデータが、データバッファ１２２に格納完了したかどうかを通知する、ライトデータ受付完了通知制御部１３０からの識別子を受け取る。このことで、ライトコマンドのライトデータが格納済で、有効かどうかを判定する。
【０１２２】
ライトコマンドで、有効なコマンドが存在していたら（Ｓ３０２のｙｅｓ）、ステップＳ３０３に移行する。他方、有効なコマンドが存在していない場合には（Ｓ３０２のｎｏ）、ステップＳ３０９に移行し、リードコマンドバッファ１２０の中のリードコマンドにおいて、その時刻での余裕度が一番小さいリードコマンドを選択する。
【０１２３】
ステップＳ３０３において、コマンド順序判定部１３１は、ライトデータ受付完了通知制御部１３０からの識別子から、ライトデータが格納済となっているのが示されるライトコマンドの処理をする。つまり、そのようなライトコマンドに付与された余裕度と、リードコマンドに付与された余裕度とを比較する。
【０１２４】
そして、リードコマンドの余裕度よりも小さい余裕度のライトコマンドのアクセス要求が存在している場合には（Ｓ３０３のｙｅｓ）、ステップＳ３０４にて、その時刻での余裕度が一番小さいライトコマンドを選択する。
【０１２５】
一方、ライトコマンドの余裕度よりも小さい余裕度のリードコマンドが存在している場合（Ｓ３０３のｎｏ）、ステップＳ３１０にて、その時刻での余裕度が一番小さいリードコマンドを選択する。
【０１２６】
なお、ステップＳ３０３、ステップＳ３０４、ステップＳ３１０での、ライトコマンドまたはリードコマンドの選択方法としては、例えば、ライトコマンドバッファ１２１の、有効なライトコマンド、および、リードコマンドの中から、最も余裕度の小さなコマンドを選択する方法もある。
【０１２７】
ステップＳ３０５において、コマンドが、リードコマンドだけの場合には（Ｓ３０５のｙｅｓ）、ステップＳ３０８に移行して、余裕度が一番小さいリードコマンドを選択する。コマンドアクセス要求が、ライトコマンドの要求だけの場合には（Ｓ３０５のｎｏ）、ステップＳ３０６に移行する。
【０１２８】
ステップＳ３０６において、コマンド順序判定部１３１は、ライトコマンドに対するライトデータが、データバッファ１２２に転送完了したかどうかを通知する、ライトデータ受付完了通知制御部１３０からの識別子を受け取ることで、ライトコマンドが有効かどうかを判定する。ライトコマンドの、有効なコマンドが存在していたら（Ｓ３０６のｙｅｓ）、ステップＳ３０７にて、ライトコマンドバッファ１２１の中の各ライトコマンドにおいて、その時刻での、余裕度が一番小さいライトコマンドを選択する。無効であれば（Ｓ３０６のｎｏ）、なにも選択しない。
【０１２９】
図５Ａは、図１と図４による具体的な処理の例を示す図である。
【０１３０】
６００は、マスタ調停部１１０で選択されたマスタのコマンドを、時系列に表示した欄を指す。
【０１３１】
６０１は、リードコマンドバッファ１２０に格納された余裕度付リードコマンドの状態を時系列に示した欄を指す。
【０１３２】
６０２は、ライトコマンドバッファ１２１に格納された余裕度付ライトコマンドの状態を時系列に示した欄を指す。
【０１３３】
６０３は、コマンド順序判定部１３１に選択されて、メモリ装置１５０に発行されるコマンドを時系列に示した欄を指す。
【０１３４】
以下の説明では、本例の、比較的特徴的な時刻での処理についてのみ、詳しく説明する。
【０１３５】
コマンドは、(属性、余裕度、データフラグ)の形式で表現される。
【０１３６】
属性としては、R(リードコマンド)と、W(ライトコマンド)とがある。
【０１３７】
余裕度は、数値である。
【０１３８】
データフラグとしては、０（ライトデータ未格納)と、ｌ(ライトデータ格納済)とがある。
【０１３９】
時刻ｔ1では、リードコマンドバッファ１２０に格納されている余裕度付リードコマンド(R、80)のみがある（時刻ｔ１における、欄６０１の表、および、欄６０２の表を参照）。
【０１４０】
このため、この余裕度付リードコマンド(R、80)がコマンド順序判定部１３１により選択される。
【０１４１】
時刻ｔ3では、リードコマンドバッファ１２０に格納された余裕度付リードコマンド(R、70)と、ライトコマンドバッファ１２１に格納された余裕度付ライトコマンド(W、60、0)とがある。
【０１４２】
このため、余裕度付リードコマンド(R、70)が選択される。
【０１４３】
時刻ｔ5では、リードコマンドバッファ１２０に格納された余裕度付リードコマンド(R、60)と、ライトコマンドバッファ１２１に格納された余裕度付ライトコマンド(W、52、1)、(W、36、0)とがある。
【０１４４】
このため、余裕度付ライトコマンド(W、52、1)が選択される（図５Ｂで示される、余裕度付リードコマンド(R、60)の余裕度９Ｊｒ、図５Ｃで示される、余裕度付ライトコマンド(W、52、1)の余裕度９Ｊｗを参照）。
【０１４５】
時刻ｔ7では、リードコマンドバッファ１２０に格納された余裕度付リードコマンド(R、16)、（R、52）と、ライトコマンドバッファ１２１に格納された余裕度付ライトコマンド(W、28、1)、とがある。
【０１４６】
このため、余裕度付リードコマンド(R、16)が選択される。
【０１４７】
以上のように、コマンド順序判定部１３１は、マスタ調停部１１０が、複数のバスマスタ１０２を選択した情報を考慮しながら、コマンドを選択することができる。つまり、コマンド順序判定部１３１が、コマンドを選択する毎に、マスタ調停部１１０が選択した結果を、随時反映することが可能となり、メモリ装置１５０に、より適切に、コマンドを発行することができる。
【０１４８】
また、データバッファ１２２に、ライトデータを転送している間、発行できないライトコマンドが存在すると（例えば、図５Ａの時刻ｔ３での、余裕度付ライトコマンド(W、60、0)などを参照）、リードコマンド（時刻ｔ３での余裕度付リードコマンド(R、70)）を選択することができ、メモリ装置１５０へのアクセスの質の低下を防ぐことができ、オーバーヘッドの隠蔽も可能となる。
【０１４９】
なお、メモリ装置は、ＬＳＩ上において、内部、外部に構成するのを問わず、ＳＤＲＡＭのような、アドレスとアクセス属性によりデータ転送を行う装置であればよい。
【０１５０】
なお、アクセス要求が何番目に選択されたのか示すＩＤを、さらにコマンドに付与し、コマンド順序判定部１３１がコマンドを選択する際に、余裕度が同一である２つのコマンドが存在した場合においては、ＩＤの小さい方のコマンドを選択してもよい。
【０１５１】
こうして、要するに、次の課題が解決される。すなわち、マスタ調停部１１０が選択した順番通りに、コマンド選択部（コマンド順序判定部１３１）が選択を行った場合には（［…とする課題］の欄の（１）を参照）、次の問題が生じる。つまり、ライトコマンドを選択する際に、ライトデータがデータバッファ１２２に格納されていないと、アクセス制御部１４０にアクセスすることができず、その結果、オーバーヘッドが生じる。それを防ぐために、マスタ調停した後のライトコマンド、リードコマンドについて、固定優先（ライト優先）などで、コマンドを選択し、アクセス制御部にコマンドを発行する方法がある（（２）を参照）。しかし、マスタ調停で選択した選択順番を考慮せずに、ライトコマンド、リードコマンドから、コマンドを選択し、アクセス制御部１４０に、選択されたコマンドを発行すると、例えば、リードコマンドが選択できず、後続のライトコマンドに追い越され続けるということが発生し、マスタ調停部１１０で選択した順序を大幅に崩してしまうことが起きる。そこで、上述のように、マスタ調停部１１０が選択したときの情報をコマンドに付与し、付与されたコマンドの情報と、ライトデータのデータ格納完了信号が、格納完了済であるのを示すという情報で、コマンド順序判定部１３１が、コマンド判断し、コマンドアクセス要求を選択する。
【０１５２】
なお、このように、例えばある局面などで、次の動作がされてもよい。
【０１５３】
すなわち、先述のように、本技術によれば、マスタ調停部１１０で選択した順序を極力守ることができ、かつ、ライトデータ待ちにより発行できないライトコマンドを、リードコマンドが、追い越すことができる。
【０１５４】
例えば、この効果が、以下の動作がされることにより生じてもよい。
【０１５５】
すなわち、上述された、守られるべきであり、極力守られる順序が、情報１１０ｉ（図１）から特定されてもよい。
【０１５６】
この情報１１０ｉは、マスタ調停部１１０により生成される情報であり、具体的には、例えば、先述されたＩＤ、余裕度などである。
【０１５７】
生成された情報１１０ｉは、その情報１１０ｉにより、発行の順序が示されるコマンドに付与された後には、そのコマンドに含まれ、そのコマンドの一部でもよい。
【０１５８】
一方で、コマンド（図１のコマンド１１０ｃを参照）としては、リードコマンド（リードコマンド１１０ｒを参照）と、ライトコマンド（ライトコマンド１１０ｗを参照）とがあってもよい。
【０１５９】
そして、リードコマンドが、リードコマンドバッファ１２０により記憶され、ライトコマンドが、ライトコマンドバッファ１２１により記憶されてもよい。
【０１６０】
そして、ライトコマンドにより、メモリ装置１５０に書き込まれるデータであるライトデータ（図１のデータ１２２ｄ）の、データバッファ１２２への格納が完了したことを示す情報１３０ｉが生成されてもよい。
【０１６１】
ライトコマンドの、メモリ装置１５０への発行は、この情報１３０ｉが生成された後にのみ可能であり、生成される前には、可能でなくてもよい。
【０１６２】
なお、可能であるとは、例えば、その発行が適切に行われることなどをいう。
【０１６３】
そして、ライトコマンドとして、一方のライトコマンド（例えば、図３Ａ、図３Ｃのコマンド１２１ａ）と、他方のライトコマンド（コマンド１２１ｂ）とがあってもよい。
【０１６４】
すなわち、一方のライトコマンドは、そのライトコマンドのライトデータの格納が完了して、その完了を示す情報１３０ｉが生成されたものと判定されたライトコマンド（コマンド１２１ａ）でもよい。
【０１６５】
そして、他方のライトコマンドは、ライトデータの格納が完了していず、その完了を示す情報１３０ｉが生成されてないと判定されたライトコマンド（コマンド１２１ｂ）でもよい。
【０１６６】
そこで、上述された、格納が格納してないことの判定がされた他方のコマンド（コマンド１２１ｂ）は、コマンド順序判定部１３１により選択されず、他のコマンドのみが選択されてもよい。
【０１６７】
すなわち、選択される他のコマンドとしては、上述された、完了したことの判定がされた第１のコマンド（コマンド１２１ａ）と、リードコマンドである第２のコマンド（コマンド１０１ｍ）とがあってもよい。
【０１６８】
そして、第１のコマンドにおける上記の情報１１０ｉから特定される順序が、第２のコマンドにおける上記の情報１１０ｉから特定される順序よりも早い順序である場合には、次の処理がされてもよい。
【０１６９】
つまり、その処理では、第１のコマンド（コマンド１２１ａ）が、第２のコマンド（コマンド１０１ｍ）よりも先に、そのコマンドでの、メモリ装置１５０へのアクセスを実行させるコマンドとして、コマンド順序判定部１３１により選択されてもよい。
【０１７０】
他方、第１のコマンドでの情報１１０ｉから特定される順序が、第２のコマンドでの情報１１０ｉから特定される順序よりも早い順序ではない場合には、次の処理がされてもよい。
【０１７１】
つまり、その処理では、第２のコマンド（コマンド１０１ｍ）が、コマンド順序判定部１３１により選択されてもよい。
【０１７２】
これにより、マスタ調停部１１０で生成された各情報１１０ｉに従って、第１、第２のコマンドからの選択がされて、マスタ調停部１１０で選択された、コマンドの発行の順序が、極力守れる。
【０１７３】
しかも、第１のコマンドでの情報１１０ｉから特定される順序が、より早い順序でなくて、第２のコマンドでの情報１１０ｉから特定される順序の方が、より早い場合などには、次の通りである。
【０１７４】
すなわち、ライトデータの格納が完了してない、上述された他方のコマンド（コマンド１２１ｂ）よりも、第２のコマンド（コマンド１０１ｍ）が早く選択される。これにより、先述された、ライトデータ待ちにより発行できないライトコマンド（コマンド１２１ｂ）の、リードコマンド（コマンド１０１ｍ）による追い越しができる。
【０１７５】
これにより、マスタ調停部１１０で選択した順序を極力守ることと、ライトデータ待ちにより発行できないライトコマンド（コマンド１２１ｂ）を、リードコマンド（コマンド１０１ｍ）が追い越せることとが両立できる。
【０１７６】
本技術は、これらの点で、従来例とは相違する。
【０１７７】
なお、本発明は、装置、集積回路などとして実現できるだけでなく、その装置等を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
【産業上の利用可能性】
【０１７８】
以上説明してきたとおり、本発明に係るデータ処理装置は、複数のバスマスタが共有するメモリ装置にデータ転送することを制御する装置を用いたシステムＬＳＩに適している。
【符号の説明】
【０１７９】
９Ｎｒ、９Ｎｗ  ＩＤ
９Ｊｒ、９Ｊｗ  余裕度
９Ｆｎ、９Ｆｍ  フラグ
１００、４００  データ処理装置
１００ｓ  システム
１０１、４０１  メモリ制御部
１０１ｍ、１２１ａ、１２１ｂ  コマンド
１０１ｒ  リードコマンド
１０１ｗ  ライトコマンド
１０２、４０２  バスマスタ
１１０、４１０  マスタ調停部
１１０ｉ  情報
１２０、４３０  リードコマンドバッファ  
１２１、４３１  ライトコマンドバッファ
１２１ａ、１０１ｍ  コマンド
１２２、４３２  データバッファ
１２２ｄ  ライトデータ
１３０  ライトデータ受付完了通知制御部
１３０ｉ  情報
１３１  コマンド順序判定部
１４０、４４０  アクセス制御部
１５０、４５０  メモリ装置
４２０  コマンド選択部
【図１】
2013014841.tif 000003
【図２】
2013014841.tif 000004
【図３Ａ】
2013014841.tif 000005
【図３Ｂ】
2013014841.tif 000006
【図３Ｃ】
2013014841.tif 000007
【図４】
2013014841.tif 000008
【図５Ａ】
2013014841.tif 000009
【図５Ｂ】
2013014841.tif 000010
【図５Ｃ】
2013014841.tif 000011
【図６】
2013014841.tif 000012
【図７】
2013014841.tif 000013
【国際調査報告】
2013014841.tif 000014
2013014841.tif 000015
2013014841.tif 000016
2013014841.tif 000017