(57)【特許請求の範囲】
【請求項１】
第１の記憶領域にアクセスするコマンドに基づいて生成された第１のサブコマンド群と、前記第１の記憶領域とは異なるバンクに属する第２の記憶領域にアクセスするコマンドに基づいて生成された第２のサブコマンド群とを保持するサブコマンド保持手段と、
サブコマンド群に属するサブコマンドの個数を、前記第１のサブコマンド群と前記第２のサブコマンド群との間で比較する個数比較手段と、
前記個数比較手段で比較された結果に基づいて、前記第１の記憶領域と前記第２の記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する記憶領域選択手段と、
サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブコマンド間で比較するサイズ比較手段と、
前記サイズ比較手段で比較された結果に基づいて、前記分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択手段と、
前記分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成手段と、
前記サブコマンド保持手段で保持されているサブコマンド群の中から、前記分割対象の部分記憶領域にアクセスするサブコマンドを、前記サブコマンド生成手段で生成されたサブコマンド群で置き換えるサブコマンド置換手段と、
前記第１のサブコマンド群と前記第２のサブコマンド群とから交互にサブコマンドをメモリへ出力するサブコマンド出力手段と
を備えることを特徴とするコマンド出力制御装置。
【請求項２】
前記コマンド出力制御装置は、さらに、サブコマンドによってアクセスされる部分記憶領域のサイズを特定するサイズ特定手段を備え、
前記サブコマンド出力手段は、前記サイズ特定手段で特定された結果に基づいて、前記サブコマンド保持手段で保持されているサブコマンド群の中から、所定のサイズ未満の部分記憶領域にアクセスするサブコマンドを後に出力する
ことを特徴とする請求項１に記載のコマンド出力制御装置。
【請求項３】
前記コマンド出力制御装置は、さらに、前記サブコマンド保持手段で保持されているサブコマンド群の中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別するサブコマンド種別手段を備え、
前記サブコマンド出力手段は、前記サブコマンド種別手段で種別された前記同種のサブコマンドを連続して出力する
ことを特徴とする請求項１に記載のコマンド出力制御装置。
【請求項４】
前記コマンド出力制御装置は、さらに、前記サブコマンド保持手段で保持されているサブコマンド群の中から、同一の部分記憶領域にアクセスするライト・サブコマンド群を検出するライト・サブコマンド依存関係検出手段を備え、
前記サブコマンド出力手段は、前記ライト・サブコマンド依存関係検出手段で検出された結果に基づいて、前記ライト・サブコマンド群のうち、出力順番が先のライト・サブコマンドを廃棄し、出力順番が後のライト・サブコマンドを出力する
ことを特徴とする請求項１に記載のコマンド出力制御装置。
【請求項５】
前記コマンド出力制御装置は、さらに、前記サブコマンド保持手段で保持されているサブコマンド群の中から、同一の部分記憶領域にアクセスするリード・サブコマンド群を検出するリード・サブコマンド依存関係検出手段を備え、
前記サブコマンド出力手段は、前記リード・サブコマンド依存関係検出手段で検出された結果に基づいて、前記リード・サブコマンド群のうち、出力順番が先のリード・サブコマンドを出力し、出力順番が後のリード・サブコマンドを廃棄する
ことを特徴とする請求項１に記載のコマンド出力制御装置。
【請求項６】
前記コマンド出力制御装置は、さらに、前記メモリから読み出されたデータを一時的に保持するバッファを備え、
前記サブコマンド出力手段は、出力順番が先のリード・サブコマンドを出力したときに、前記メモリから読み出したデータを前記バッファに一時的に保持しておき、出力順番が後のリード・サブコマンドを廃棄するときに、前記バッファから前記データを読み出す
ことを特徴とする請求項５に記載のコマンド出力制御装置。
【請求項７】
前記コマンド出力制御装置は、さらに、
サブコマンドによってアクセスされる部分記憶領域のアドレスを、サブコマンド群に属するサブコマンド間で比較するアドレス比較手段と、
前記アドレス比較手段で比較された結果に基づいて、前記サブコマンド保持手段で保持されているサブコマンド群の中から、先に出力されたサブコマンドによってアクセスされた部分記憶領域のアドレスからの遷移が小さいサブコマンドを選択するサブコマンド選択手段と
を備え、
前記サブコマンド出力手段は、前記サブコマンド選択手段で選択されたサブコマンドを出力する
ことを特徴とする請求項１に記載のコマンド出力制御装置。
【請求項８】
コンピュータ読み取り可能なプログラムであって、
第１の記憶領域にアクセスするコマンドに基づいて生成された第１のサブコマンド群と、前記第１の記憶領域とは異なるバンクに属する第２の記憶領域にアクセスするコマンドに基づいて生成された第２のサブコマンド群とを保持するサブコマンド保持手段と、
サブコマンド群に属するサブコマンドの個数を、前記第１のサブコマンド群と前記第２のサブコマンド群との間で比較する個数比較手段と、
前記個数比較手段で比較された結果に基づいて、前記第１の記憶領域と前記第２の
記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する記憶領域選択手段と、
サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブコマンド間で比較するサイズ比較手段と、
前記サイズ比較手段で比較された結果に基づいて、前記分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択手段と、
前記分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成手段と、
前記サブコマンド保持手段で保持されているサブコマンド群の中から、前記分割対象の部分記憶領域にアクセスするサブコマンドを、前記サブコマンド生成手段で生成されたサブコマンド群で置き換えるサブコマンド置換手段と、
前記第１のサブコマンド群と前記第２のサブコマンド群とから交互にサブコマンドをメモリへ出力するサブコマンド出力手段と
を含む各手段の機能をコンピュータに組み込み、
前記コンピュータは、フルカスタムＬＳＩ（Large Scale Integration）、セミカスタムＬＳＩ、プログラマブル・ロジック・デバイス、および、ダイナミック・リコンフィギュラブル・デバイスの何れかである
プログラム。
【請求項９】
第１の記憶領域にアクセスするコマンドに基づいて生成された第１のサブコマンド群と、前記第１の記憶領域とは異なるバンクに属する第２の記憶領域にアクセスするコマンドに基づいて生成された第２のサブコマンド群とを保持するサブコマンド保持手段を備えるコマンド出力制御装置を制御するコマンド出力制御方法であって、
個数比較手段によって、サブコマンド群に属するサブコマンドの個数を、前記第１のサブコマンド群と前記第２のサブコマンド群との間で比較する個数比較ステップと、
記憶領域選択手段によって、前記個数比較ステップで比較された結果に基づいて、前記第１の記憶領域と前記第２の記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する記憶領域選択ステップと、
サイズ比較手段によって、サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブコマンド間で比較するサイズ比較ステップと、
部分記憶領域選択手段によって、前記サイズ比較ステップで比較された結果に基づいて、前記分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択ステップと、
サブコマンド生成手段によって、前記分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成ステップと、
サブコマンド置換手段によって、前記サブコマンド保持手段で保持されているサブコマンドの中から、前記分割対象の部分記憶領域にアクセスするサブコマンドを、前記サブコマンド生成ステップで生成されたサブコマンド群で置き換えるサブコマンド置換ステップと、
サブコマンド出力手段によって、前記第１のサブコマンド群と前記第２のサブコマンド群とから交互にサブコマンドをメモリへ出力するサブコマンド出力ステップと
を含むことを特徴とするコマンド出力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリにアクセスするコマンドの出力を制御するコマンド出力制御装置などとして、特に、リード、ライト時において使用されるコマンドの出力を制御するコマンド出力制御装置などに関する。
【背景技術】
【０００２】
従来、ＳＤＲＡＭなどのようなメモリに効率的にアクセスする技術が色々と提案されている。例えば、その中の一つとして、ＳＤＲＡＭのバンクに対するアクセス特性を利用して、バンクを交互にアクセスすることで、コマンド間のオーバヘッドを隠蔽する技術が提案されている（例えば、特許文献１及び２参照。）。
【０００３】
そして、近年の画像処理のように、複数のロウアドレスを含むコマンドによってメモリ上にマッピングされたデータを矩形領域の単位でアクセスする場合においても、効率よくアクセスすることが要求されている。
【特許文献１】特開２００１−２５６１０６号公報
【特許文献２】米国特許第６８１９３２６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術において、矩形領域の単位でアクセスすることが想定されていないので、複数のロウアドレスを含むコマンドを処理することができない。また、コマンドによってアクセスされる記憶領域を複数の部分記憶領域に分割するにあたって、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが小さくなってしまう場合がある。
【０００５】
そこで、本発明は、上記問題に鑑みてなされたものであり、メモリ上にマッピングされたデータを矩形領域の単位でアクセスするときの効率を向上させるコマンド出力制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係わるコマンド出力制御装置は、（ａ）（ａ１）第１の記憶領域にアクセスするコマンドに基づいて生成された第１のサブコマンド群と、前記第１の記憶領域とは異なるバンクに属する第２の記憶領域にアクセスするコマンドに基づいて生成された第２のサブコマンド群とを保持するサブコマンド保持手段と、（ａ２）サブコマンド群に属するサブコマンドの個数を、前記第１のサブコマンド群と前記第２のサブコマンド群との間で比較する個数比較手段と、（ａ３）前記個数比較手段で比較された結果に基づいて、前記第１の記憶領域と前記第２の記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する記憶領域選択手段と、（ａ４）サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブコマンド間で比較するサイズ比較手段と、（ａ５）前記サイズ比較手段で比較された結果に基づいて、前記分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択手段と、（ａ６）前記分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成手段と、（ａ７）前記サブコマンド保持手段で保持されているサブコマンドの中から、前記分割対象の部分記憶領域にアクセスするサブコマンドを、前記サブコマンド生成手段で生成されたサブコマンド群で置き換えるサブコマンド置換手段と、（ａ８）前記第１のサブコマンド群と前記第２のサブコマンド群とから交互にサブコマンドをメモリへ出力するサブコマンド出力手段とを備えることを特徴とする。
【０００７】
これによって、複数のロウアドレスを含むコマンドによってメモリ上にマッピングされたデータを矩形領域の単位でアクセスする場合においても、サブコマンドの個数を合わせて交互に出力するので、バンクを切り替えながら効率よくアクセスすることができる。さらに、分割対象の部分記憶領域として所定のサイズ以上の部分記憶領域が選択される。このため、オーバヘッドを隠蔽することができるサイズに所定のサイズを設定することで、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが小さくなることを抑制することができる。
【０００８】
さらに、（ｂ）前記コマンド出力制御装置は、（ｂ１）サブコマンドによってアクセスされる部分記憶領域のサイズを特定するサイズ特定手段を備え、（ｂ２）前記サブコマンド出力手段は、前記サイズ特定手段で特定された結果に基づいて、前記サブコマンド保持手段で保持されているサブコマンドの中から、所定のサイズ未満の部分記憶領域にアクセスするサブコマンドを後に出力するとしてもよい。
【０００９】
これによって、部分記憶領域のサイズが小さいサブコマンドが生成されてオーバヘッドが途中で入ることを防ぐことができる。
【００１０】
または、（ｃ）前記コマンド出力制御装置は、（ｃ１）前記サブコマンド保持手段で保持されているサブコマンドの中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別するサブコマンド種別手段を備え、（ｃ２）前記サブコマンド出力手段は、前記サブコマンド種別手段で種別された前記同種のサブコマンドを連続して出力するとしてもよい。
【００１１】
これによって、リード・サブコマンドとライト・サブコマンドとの間にオーバヘッドが入る機会を削減することができる。
【００１２】
または、（ｄ）前記コマンド出力制御装置は、（ｄ１）前記サブコマンド保持手段で保持されているサブコマンドの中から、同一の部分記憶領域にアクセスするライト・サブコマンド群を検出するライト・サブコマンド依存関係検出手段を備え、（ｄ２）前記サブコマンド出力手段は、前記ライト・サブコマンド依存関係検出手段で検出された結果に基づいて、前記ライト・サブコマンド群のうち、出力順番が先のライト・サブコマンドを廃棄し、出力順番が後のライト・サブコマンドを出力するとしてもよい。
【００１３】
これによって、重複するライト・サブコマンドを省略することができ、アクセス効率を向上させることができる。
【００１４】
または、（ｅ）前記コマンド出力制御装置は、（ｅ１）前記サブコマンド保持手段で保持されているサブコマンドの中から、同一の部分記憶領域にアクセスするリード・サブコマンド群を検出するリード・サブコマンド依存関係検出手段を備え、（ｅ２）前記サブコマンド出力手段は、前記リード・サブコマンド依存関係検出手段で検出された結果に基づいて、前記リード・サブコマンド群のうち、出力順番が先のリード・サブコマンドを出力し、出力順番が後のリード・サブコマンドを廃棄するとしてもよい。
【００１５】
さらに、（ｆ）前記コマンド出力制御装置は、（ｆ１）前記メモリから読み出されたデータを一時的に保持するバッファを備え、（ｆ２）前記サブコマンド出力手段は、出力順番が先のリード・サブコマンドを出力したときに、前記メモリから読み出したデータを前記バッファに一時的に保持しておき、出力順番が後のリード・サブコマンドを出力するときに、前記バッファから前記データを読み出すとしてもよい。
【００１６】
これによって、重複するリード・サブコマンドを省略することができ、アクセス効率を向上させることができる。
【００１７】
または、（ｇ）前記コマンド出力制御装置は、（ｇ１）サブコマンドによってアクセスされる部分記憶領域のアドレスを、サブコマンド群に属するサブコマンド間で比較するアドレス比較手段と、（ｇ２）前記アドレス比較手段で比較された結果に基づいて、前記サブコマンド保持手段で保持されているサブコマンドの中から、先に出力されたサブコマンドによってアクセスされた部分記憶領域のアドレスからの遷移が小さいサブコマンドを選択するサブコマンド選択手段とを備え、（ｇ３）前記サブコマンド出力手段は、前記サブコマンド選択手段で選択されたサブコマンドを出力するとしてもよい。
【００１８】
これによって、アクセス効率を下げることなく、アドレスバスの消費電力を下げることができる。
【００１９】
なお、本発明は、コマンド出力制御装置として実現される以外に、コマンド出力制御装置を制御するコマンド出力制御方法、コマンド出力制御装置の機能が組み込まれたＬＳＩ（Large Scale Integration）、その機能をＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）などのプログラマブル・ロジック・デバイスに形成するＩＰ（Intellectual Property）コア、そのＩＰコアを記録した記録媒体などとして実現されるとしてもよい。
【発明の効果】
【００２０】
本発明によれば、複数のロウアドレスを含むコマンドによってメモリ上にマッピングされたデータを矩形領域の単位でアクセスする場合においても、サブコマンドの個数を合わせて交互に出力するので、バンクを切り替えながら効率よくアクセスすることができる。
【００２１】
さらに、分割対象の部分記憶領域として所定のサイズ以上の部分記憶領域が選択される。このため、オーバヘッドを隠蔽することができるサイズに所定のサイズを設定することで、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが小さくなることを抑制することができる。また、部分記憶領域のサイズが小さいコマンドが生成されてオーバヘッドが途中で入ることを防ぐことができる。
【００２２】
さらに、リード・サブコマンドとライト・サブコマンドとの間にオーバヘッドが入る機会を削減することができる。また、重複するライト・サブコマンドやリード・サブコマンドを省略することができ、アクセス効率を向上させることができる。
【００２３】
そして、アクセス効率を下げることなく、アドレスの遷移を小さくし、アドレスバスの消費電力を下げることができる。
【発明を実施するための最良の形態】
【００２４】
（実施の形態１）
以下、本発明に係わる実施の形態１について図面を参照しながら説明する。
【００２５】
本実施の形態におけるコマンド出力制御装置は、下記（ａ）〜（ｃ）に示される特徴を備える。
【００２６】
（ａ）（ａ１）第１の記憶領域にアクセスするコマンドに基づいて生成された第１のサブコマンド群と、第１の記憶領域とは異なるバンクに属する第２の記憶領域にアクセスするコマンドに基づいて生成された第２のサブコマンド群とを保持するサブコマンド保持機能と、（ａ２）サブコマンド群に属するサブコマンドの個数を、第１のサブコマンド群と第２のサブコマンド群との間で比較する個数比較機能と、（ａ３）個数比較機能で比較された結果に基づいて、第１の記憶領域と第２の記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する記憶領域選択機能と、（ａ４）サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブコマンド間で比較するサイズ比較機能と、（ａ５）サイズ比較機能で比較された結果に基づいて、分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択機能と、（ａ６）分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成機能と、（ａ７）サブコマンド保持機能で保持されているサブコマンドの中から、分割対象の部分記憶領域にアクセスするサブコマンドを、サブコマンド生成機能で生成されたサブコマンド群で置き換えるサブコマンド置換機能と、（ａ８）第１のサブコマンド群と第２のサブコマンド群とから交互にサブコマンドをメモリへ出力するサブコマンド出力機能とを備える。
【００２７】
（ｂ）コマンド出力制御装置は、サブコマンドによってアクセスされる部分記憶領域のサイズを特定するサイズ特定機能を備え、サブコマンド出力機能は、サイズ特定機能で特定された結果に基づいて、サブコマンド保持機能で保持されているサブコマンドの中から、所定のサイズ未満の部分記憶領域にアクセスするサブコマンドを後に出力する。
【００２８】
（ｃ）コマンド出力制御装置は、（ｃ１）サブコマンドによってアクセスされる部分記憶領域のアドレスを、サブコマンド群に属するサブコマンド間で比較するアドレス比較機能と、（ｃ２）アドレス比較機能で比較された結果に基づいて、サブコマンド保持機能で保持されているサブコマンドの中から、先に出力されたサブコマンドによってアクセスされた部分記憶領域のアドレスからの遷移が小さいサブコマンドを選択するサブコマンド選択機能とを備え、（ｃ３）サブコマンド出力機能は、サブコマンド選択機能で選択されたサブコマンドを出力する。
【００２９】
以上の点を踏まえて、本実施の形態におけるコマンド出力制御装置について説明する。なお、コマンドによってアクセスされる記憶領域を分割して得られた記憶領域のフラグメントを部分記憶領域と呼称する。部分記憶領域ごとに生成されたコマンドをサブコマンドと呼称する。サブコマンドの集まりをサブコマンド群と呼称する。また、サブコマンドによってアクセスされる部分記憶領域を分割して得られた部分記憶領域のフラグメントも部分記憶領域と呼称する。コマンドによってアクセスされる記憶領域や、サブコマンドによってアクセスされる部分記憶領域をアクセス領域と呼称する。
【００３０】
先ず、本実施の形態におけるコマンド出力制御装置の構成について説明する。
【００３１】
図１は、本実施の形態におけるコマンド出力制御装置の構成を示す図である。図１に示されるように、コマンド出力制御装置１００は、コマンド発行部１０１、コマンド保持部１０２、コマンド出力制御部１０３、メモリＩ／Ｆ部１０４、メモリ１０５、ページ境界分割部１０６、サブコマンド保持部１０７、属性情報保持部１０８、アクセス領域分割部１０９、サブコマンド個数比較部１１０、サイズ比較部１１１、サイズ判定部１１２、アドレス比較部１１３などを備える。
【００３２】
コマンド発行部１０１は、メモリ１０５にアクセスするコマンドを発行する。発行したコマンドをコマンド保持部１０２へ出力する。
【００３３】
コマンド保持部１０２は、コマンド発行部１０１から出力されたコマンドを保持する。コマンド出力制御部１０３から出力された制御信号に応じて、保持しているコマンドをページ境界分割部１０６へ出力する。ここでは、一例として、レジスタ１０２ａ〜１０２ｃ、セレクタ１０２ｄとから構成されているとする。そして、コマンド発行部１０１から出力されたコマンドがレジスタ１０２ａ〜１０２ｃのいずれかに保持される。コマンド出力制御部１０３から出力された制御信号がセレクタ１０２ｄに入力すると、入力した制御信号に応じて、レジスタ１０２ａ〜１０２ｃのいずれかがセレクタ１０２ｄによって選択される。選択されたレジスタに保持されているコマンドがページ境界分割部１０６へ出力される。
【００３４】
コマンド出力制御部１０３は、コマンド保持部１０２を制御して、コマンド保持部１０２で保持されているコマンドをページ境界分割部１０６へ出力させる。また、メモリＩ／Ｆ部１０４を制御して、サブコマンド群に属するサブコマンドをメモリＩ／Ｆ部１０４からメモリ１０５へ出力させる。
【００３５】
例えば、コマンド保持部１０２で保持されている複数のコマンドの中に、互いに異なるバンクにアクセスする第１のコマンドと第２のコマンドとが存在するとする。ここで、第１のコマンドは、第１のバンクに属する第１の記憶領域にアクセスするコマンドである。第２のコマンドは、第２のバンクに属する第２の記憶領域にアクセスするコマンドである。この場合において、コマンド出力制御部１０３は、複数のコマンドの中から、第１のコマンドと第２のコマンドとを選択する。コマンド保持部１０２を制御して、選択した第１のコマンドと第２のコマンドとをページ境界分割部１０６へ出力させる。このとき、第１のコマンドが保持されているレジスタを選択させる制御信号をセレクタ１０２ｄに出力する。また、第２のコマンドが保持されているレジスタを選択させる制御信号をセレクタ１０２ｄに出力する。
【００３６】
さらに、第１のコマンドから第１のサブコマンド群が生成され、第２のコマンドから第２のサブコマンド群が生成されたとする。この場合において、コマンド出力制御部１０３は、メモリＩ／Ｆ部１０４を制御して、第１のサブコマンド群に属するサブコマンドと、第２のサブコマンド群に属するサブコマンドとを交互にメモリＩ／Ｆ部１０４からメモリ１０５へ出力させる。これによって、メモリ１０５の第１のバンクと第２のバンクとが交互にアクセスされる。
【００３７】
また、コマンド出力制御部１０３は、サイズ判定部１１２で特定された結果に基づいて、サブコマンド保持部１０７で保持されているサブコマンドの中から、所定のサイズ未満の部分記憶領域にアクセスするサブコマンドを後に出力する。
【００３８】
また、コマンド出力制御部１０３は、アドレス比較部１１３で比較された結果に基づいて、サブコマンド保持部１０７で保持されているサブコマンドの中から、先に出力されたサブコマンドによってアクセスされた部分記憶領域のアドレスからの遷移が小さいサブコマンドを選択する。メモリＩ／Ｆ部１０４を制御して、選択したサブコマンドをメモリ１０５へ出力させる。
【００３９】
メモリＩ／Ｆ部１０４は、コマンド出力制御部１０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出し、取り出したサブコマンドをメモリ１０５へ出力する。
【００４０】
メモリ１０５は、ここでは、一例として、多バンク構造のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）とする。なお、メモリ１０５は、コマンド出力制御装置１００に内蔵されているとしてもよいし、外付けされているとしてもよい。
【００４１】
ページ境界分割部１０６は、コマンド保持部１０２から出力されたコマンドが入力すると、入力したコマンドによってアクセスされる記憶領域をページ境界で分割する。このとき、その記憶領域を分割して得られた部分記憶領域にアクセスするサブコマンドを生成する。そして、入力したコマンドからサブコマンド群を生成した場合は、入力したコマンドの代わりに、生成したサブコマンド群をサブコマンド保持部１０７に格納する。一方、生成しなかった場合は、入力したコマンドをサブコマンドとしてサブコマンド保持部１０７に格納する。
【００４２】
サブコマンド保持部１０７は、ページ境界分割部１０６、アクセス領域分割部１０９などで生成されたサブコマンド群などを保持する。ここでは、一例として、サブコマンド保持部１０７は、第１のサブコマンド群と、第２のサブコマンド群とを保持する。
【００４３】
属性情報保持部１０８は、サブコマンド群に属するサブコマンドの個数、各サブコマンドのアクセス領域のサイズなど、サブコマンド群ごとに登録されている属性情報を保持する。
【００４４】
アクセス領域分割部１０９は、サブコマンド保持部１０７で保持されているサブコマンドの中から分割対象のサブコマンドを選択し、選択したサブコマンドのアクセス領域を分割する。このとき、さらに、そのサブコマンドからサブコマンド群を生成した場合は、そのサブコマンドの代わりに、生成したサブコマンド群をサブコマンド保持部１０７に格納する。例えば、アクセス領域分割部１０９は、サブコマンド個数比較部１１０で比較された結果に基づいて、比較対象とする二つのサブコマンド群に対して、サブコマンドの個数が異なるか否かを判定する。判定した結果、サブコマンドの個数が異なる場合は、サイズ比較部１１１で比較された結果に基づいて、サブコマンドの個数が少ないサブコマンド群の中からアクセス領域のサイズが最大のサブコマンドを分割対象のサブコマンドとして選択する。選択したサブコマンドのアクセス領域が閾値以上であるか否かを判定する。判定した結果、閾値以上である場合は、選択したサブコマンドのアクセス領域を分割する。分割して得られた部分記憶領域ごとに、サブコマンドを生成する。選択したサブコマンドを、生成したサブコマンド群で置き換える。生成したサブコマンド群に関する属性情報を生成する。生成した属性情報を属性情報保持部１０８に登録する。一方、閾値未満である場合は、アクセス領域を分割しない。ここで、閾値として、オーバヘッドがでない値とする。
【００４５】
サブコマンド個数比較部１１０は、サブコマンド群に属するサブコマンドの個数を、比較対象となる二つのサブコマンド群の間で比較する。具体的には、サブコマンド個数比較部１１０は、サブコマンド群に属するサブコマンドの個数を、第１のサブコマンド群と第２のサブコマンド群との間で比較する。比較した結果に基づいて、第１の記憶領域と第２の記憶領域とのいずれかから、個数の少ない方を分割対象の記憶領域として選択する。
【００４６】
サイズ比較部１１１は、サブコマンドによってアクセスされるアクセス領域のサイズを、サブコマンド群に属するサブコマンドの間で比較する。具体的には、サイズ比較部１１１は、サブコマンドのアクセス領域のサイズを、サブコマンド群に属するサブコマンドの間で比較する。比較した結果に基づいて、分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域として選択する。
【００４７】
サイズ判定部１１２は、サブコマンドによってアクセスされるアクセス領域のサイズを特定する。例えば、出力対象のサブコマンド群に対して、サブコマンド群に属するサブコマンドのアクセス領域のサイズを総当りで比較して、アクセス領域のサイズが最大のサブコマンドを特定したり、所定のサイズ未満のサブコマンドを特定したりする。
【００４８】
アドレス比較部１１３は、サブコマンドによってアクセスされるアクセス領域のアドレスを、サブコマンド群に属するサブコマンドの間で比較する。例えば、サイズ判定部１１２で該当すると判定された複数のサブコマンドの間で、ロウアドレスとカラムアドレスとを比較する。該当する複数のサブコマンドの中から、メモリ１０５のアドレスバスの遷移ビット数が小さいサブコマンドを選択する。
【００４９】
次に、本実施の形態におけるページ境界分割部１０６によってアクセス領域が分割される過程について説明する。
【００５０】
図２は、本実施の形態におけるページ境界分割部１０６によってアクセス領域が分割される過程を示す図である。図２に示されるように、ページ境界分割部１０６は、例えば、コマンド１２１のようにページを跨ぐコマンドＡが入力されると、コマンドＡによってアクセスされる記憶領域（以下、アクセス領域Ａと呼称する。）をページ境界で分割する。
【００５１】
ここで、図中において、アクセス領域Ａは、ハッチングされずに太枠で囲まれた矩形領域であり、ベースＭを基準として、オフセットＸ（３）からＰＩＸＥＬ（４）分、オフセットＹ（３）からＬＩＮＥ（４）分で示される記憶領域である。
【００５２】
そして、ページ境界分割部１０６は、アクセス領域Ａをページ境界で分割して得られたアクセス領域Ａ１、アクセス領域Ａ２、アクセス領域Ａ３、アクセス領域Ａ４のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコマンド群１２２に示されるように、アクセス領域Ａ１にアクセスするサブコマンドＡ１、アクセス領域Ａ２にアクセスするサブコマンドＡ２、アクセス領域Ａ３にアクセスするサブコマンドＡ３、アクセス領域Ａ４にアクセスするサブコマンドＡ４が生成される。
【００５３】
ここで、図中において、アクセス領域Ａ１は、アクセス領域Ａの左上の部分に該当する矩形領域であり、ロウ（０）、カラム（１５）で示される記憶領域である。アクセス領域Ａ２は、アクセス領域Ａの右上の部分に該当する矩形領域であり、ロウ（１）、カラム（１２，１３，１４）で示される記憶領域である。アクセス領域Ａ３は、アクセス領域Ａの左下の部分に該当する矩形領域であり、ロウ（３）、カラム（３，７，１１）で示される記憶領域である。アクセス領域Ａ４は、アクセス領域Ａの右下の部分に該当する矩形領域であり、ロウ（４）、カラム（０，１，２，４，５，６，８，９，１０）で示される記憶領域である。
【００５４】
次に、本実施の形態におけるページ境界分割部１０６とアクセス領域分割部１０９とによって分割されたアクセス領域について説明する。
【００５５】
図３は、本実施の形態におけるページ境界分割部１０６とアクセス領域分割部１０９とによって分割されたアクセス領域の概要を示す図である。図３に示されるように、ページ境界分割部１０６は、例えば、コマンド１３１ａのようにページを跨ぐコマンドＡが入力されると、コマンドＡによってアクセスされる記憶領域（以下、アクセス領域Ａと呼称する。）をページ境界で分割する。
【００５６】
ここで、図中において、アクセス領域Ａは、左側に示されているバンク（０）の記憶領域において太枠で囲まれた矩形領域であり、ベースＮを基準として、オフセットＸ（４）からＰＩＸＥＬ（３）分、オフセットＹ（３）からＬＩＮＥ（３）分で示されるバンク（０）の記憶領域である。
【００５７】
そして、ページ境界分割部１０６は、アクセス領域Ａをページ境界で分割して得られたアクセス領域Ａ１、アクセス領域Ａ２のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコマンド群１３２ａに示されるように、アクセス領域Ａ１にアクセスするサブコマンドＡ１、アクセス領域Ａ２にアクセスするサブコマンドＡ２が生成される。
【００５８】
ここで、図中において、アクセス領域Ａ１は、アクセス領域Ａの上側の部分に該当する矩形領域であり、ロウ（１）、カラム（１２，１３，１４）で示されるバンク（０）の記憶領域である。アクセス領域Ａ２は、アクセス領域Ａの下側の部分に該当する矩形領域であり、ロウ（４）、カラム（０，１，２，４，５，６）で示されるバンク（０）の記憶領域である。
【００５９】
これとは、別に、ページ境界分割部１０６は、例えば、コマンド１３１ｂのようにページを跨ぐコマンドＢが入力されると、コマンドＢによってアクセスされる記憶領域（以下、アクセス領域Ｂと呼称する。）をページ境界で分割する。
【００６０】
ここで、図中において、アクセス領域Ｂは、右側に示されているバンク（１）の記憶領域において太枠で囲まれた矩形領域であり、ベースＭを基準として、オフセットＸ（３）からＰＩＸＥＬ（８）分、オフセットＹ（４）からＬＩＮＥ（１）分で示されるバンク（１）の記憶領域である。
【００６１】
そして、ページ境界分割部１０６は、アクセス領域Ｂをページ境界で分割して得られたアクセス領域Ｂ１、アクセス領域Ｂ２、アクセス領域Ｂ３のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコマンド群１３２ｂに示されるように、アクセス領域Ｂ１にアクセスするサブコマンドＢ１、アクセス領域Ｂ２にアクセスするサブコマンドＢ２、アクセス領域Ｂ３にアクセスするサブコマンドＢ３が生成される。
【００６２】
ここで、図中において、アクセス領域Ｂ１は、アクセス領域Ｂの左側の部分に該当する矩形領域であり、ロウ（３）、カラム（３）で示されるバンク（１）の記憶領域である。アクセス領域Ｂ２は、アクセス領域Ｂの中央の部分に該当する矩形領域であり、ロウ（４）、カラム（０，１，２，３）で示されるバンク（１）の記憶領域である。アクセス領域Ｂ３は、アクセス領域Ｂの右側の部分に該当する矩形領域であり、ロウ（５）、カラム（０，１，２）で示されるバンク（１）の記憶領域である。
【００６３】
ここで、サブコマンド群１３２ａとサブコマンド群１３２ｂとから交互にサブコマンドが出力されると、サブコマンド群１３２ａの個数（２）とサブコマンド群１３２ｂの個数（３）とが同じでないため、オーバヘッドが隠蔽されずに表れる場合がある。
【００６４】
そこで、オーバヘッドを隠蔽するために、サブコマンドの個数を合わせる必要がある。なお、サブコマンドの個数を合わせるにあたって、サブコマンド群１３２ａの個数（２）とサブコマンド群１３２ｂの個数（３）とを比較して、個数の少ないサブコマンド群１３２ａに対して、アクセス領域を分割してサブコマンドを増やす。
【００６５】
具体的には、アクセス領域分割部１０９は、サブコマンド群１３２ａの中から、アクセス領域が最大のサブコマンドを選択する。ここでは、アクセス領域Ａ２が最大となるので、サブコマンドＡ２が選択される。そして、アクセス領域Ａ２を分割し、アクセス領域Ａ２を分割して得られたアクセス領域Ａ２１、アクセス領域Ａ２２のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコマンド群１３３ａに示されるように、アクセス領域Ａ２１にアクセスするサブコマンドＡ２１、アクセス領域Ａ２２にアクセスするサブコマンドＡ２２が生成される。
【００６６】
ここで、図中において、アクセス領域Ａ２１は、アクセス領域Ａ２の上側の部分に該当する矩形領域であり、ロウ（４）、カラム（０，１，２）で示されるバンク（０）の記憶領域である。アクセス領域Ａ２２は、アクセス領域Ａ２の下側の部分に該当する矩形領域であり、ロウ（４）、カラム（４，５，６）で示されるバンク（０）の記憶領域である。
【００６７】
このようにして生成されたサブコマンド群１３３ａの個数とサブコマンド群１３２ｂの個数とが同じであるため、サブコマンド群１３３ａとサブコマンド群１３２ｂとから交互にサブコマンドを出力しても、オーバヘッドが表れずに隠蔽される。
【００６８】
なお、個数を合わせるにあたって、アクセス領域を分割しても、分割して得られたアクセス領域のサイズが所定のサイズ未満になると、オーバヘッドが隠蔽されずに表れる。このため、アクセス領域を分割するときは、所定のサイズ以上のアクセス領域を対象とする。
【００６９】
次に、本実施の形態におけるページ境界分割部１０６とアクセス領域分割部１０９とによって生成された属性情報について説明する。ここでは、図３に示される場合を例にする。
【００７０】
図４は、本実施の形態におけるページ境界分割部１０６とアクセス領域分割部１０９とによって生成された属性情報の概要を示す図である。図４に示されるように、ページ境界分割部１０６は、例えば、コマンド１３１ａのようにページを跨ぐコマンドＡが入力されると、アクセス領域Ａをページ境界で分割する。このとき、“コマンドＡ（２）、サブコマンドＡ１（３）、サブコマンドＡ２（６）”を含む属性情報１４１ａを生成し、生成した属性情報１４１ａを属性情報保持部１０８に登録する。
【００７１】
ここで、“コマンドＡ（２）”とは、コマンドＡに基づいて生成されたサブコマンドの個数が２であることが示される。また、“サブコマンドＡ１（３）”とは、アクセス領域Ａ１のサイズが３であることが示される。“サブコマンドＡ２（６）”とは、アクセス領域Ａ２のサイズが６であることが示される。
【００７２】
また、ページ境界分割部１０６は、例えば、コマンド１３１ｂのようにページを跨ぐコマンドＢが入力されると、アクセス領域Ｂをページ境界で分割する。このとき、“コマンドＢ（３）、サブコマンドＢ１（１）、サブコマンドＢ２（４）、サブコマンドＢ３（３）” を含む属性情報１４１ｂを生成し、生成した属性情報１４１ｂを属性情報保持部１０８に登録する。
【００７３】
ここで、“コマンドＢ（３）”とは、コマンドＢに基づいて生成されたサブコマンドの個数が３であることが示される。また、“サブコマンドＢ１（１）”とは、アクセス領域Ｂ１のサイズが１であることが示される。“サブコマンドＢ２（４）”とは、アクセス領域Ｂ２のサイズが４であることが示される。“サブコマンドＢ３（３）”とは、アクセス領域Ｂ３のサイズが３であることが示される。
【００７４】
さらに、アクセス領域分割部１０９は、サブコマンドの個数を合わせるにあたって、サブコマンド群１３２ａの中から、アクセス領域が最大のサブコマンドを選択する。ここでは、アクセス領域Ａ２が最大となるので、サブコマンドＡ２が選択される。そして、アクセス領域Ａ２を分割し、アクセス領域Ａ２を分割して得られたアクセス領域Ａ２１、アクセス領域Ａ２２のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコマンド群１３４ａに示されるように、アクセス領域Ａ２１にアクセスするサブコマンドＡ２１、アクセス領域Ａ２２にアクセスするサブコマンドＡ２２が生成される。このとき、“サブコマンドＡ２（２）、サブコマンドＡ２１（３）、サブコマンドＡ２２（３）”を含む属性情報１４２ａを生成し、生成した属性情報１４２ａを属性情報保持部１０８に登録する。
【００７５】
ここで、“サブコマンドＡ２（２）”とは、サブコマンドＡ２に基づいて生成されたサブコマンドの個数が２であることが示される。また、“サブコマンドＡ２１（３）”とは、アクセス領域Ａ２１のサイズが３であることが示される。“サブコマンドＡ２２（３）”とは、アクセス領域Ａ２２のサイズが３であることが示される。
【００７６】
次に、本実施の形態における属性情報保持部１０８で保持される属性情報のデータ構造について説明する。
【００７７】
図５は、本実施の形態における属性情報保持部１０８で保持される属性情報のデータ構造を示す図である。図５に示されるように、属性情報１５０には、コマンドごとに、“コマンド（サブコマンドの個数）、サブコマンド（アクセス領域のサイズ）、・・・”（レコード１５１）が登録される。
【００７８】
例えば、図４に示される場合では、“コマンドＡ（３）、サブコマンドＡ１（３）、サブコマンドＡ２１（３）、サブコマンドＡ２２（３）”（レコード１５２）、“コマンドＢ（３）、サブコマンドＢ１（１）、サブコマンドＢ２（４）、サブコマンドＢ３（３）”（レコード１５３）が登録される。
【００７９】
次に、本実施の形態におけるコマンド出力制御装置１００の動作について説明する。
【００８０】
図６は、本実施の形態におけるコマンド出力制御装置１００において実行されるコマンド出力制御処理を示す図である。図６に示されるように、コマンド出力制御装置１００は、下記のコマンド出力制御処理（Ｓ１０１）〜（Ｓ１０９）を繰り返し実行する。
【００８１】
（Ｓ１０１）コマンド出力制御部１０３は、コマンド保持部１０２でコマンドが保持されているか否かを判定する。判定した結果、コマンドが保持されている場合は（Ｓ１０１：Ｙｅｓ）、下記の処理（Ｓ１０２）を実行する。一方、コマンドが保持されていない場合は（Ｓ１０１：Ｎｏ）、再度、処理（Ｓ１０１）を実行する。
【００８２】
（Ｓ１０２）コマンド出力制御部１０３は、コマンド保持部１０２で複数のコマンドが保持されているか否かを判定する。判定した結果、複数のコマンドが保持されている場合は（Ｓ１０２：Ｙｅｓ）、下記の処理（Ｓ１０３）を実行する。一方、複数のコマンドが保持されていない場合は（Ｓ１０２：Ｎｏ）、下記の処理（Ｓ１０７）を実行する。
【００８３】
（Ｓ１０３）コマンド出力制御部１０３は、コマンド保持部１０２で保持されている複数のコマンドの中に、互いに異なるバンクにアクセスするコマンドが存在するか否かを判定する。判定した結果、存在する場合は（Ｓ１０３：Ｙｅｓ）、下記の処理（Ｓ１０４）〜（Ｓ１０６）を実行する。一方、存在しない場合は（Ｓ１０３：Ｎｏ）、下記の処理（Ｓ１０８）を実行する。このとき、レジスタ１０２ａ〜１０２ｃに保持されているコマンドの中から、異なるバンクにアクセスするコマンドを見つけ出すに当たって、総当りで探索するとしてもよいし、発行された順番を保持しておいて、発行された順に探索するとしてもよい。
【００８４】
ここでは、一例として、第１のコマンドと第２のコマンドとがコマンド発行部１０１から順に発行されたとする。
【００８５】
（Ｓ１０４）コマンド出力制御部１０３は、複数のコマンドの中から、第１のコマンドを選択する。コマンド保持部１０２を制御して、選択した第１のコマンドを出力させる。そして、出力させた第１のコマンドに対して、コマンド変換処理（例えば、図７参照。）を実行させる。このとき、第１のコマンドを保持しているレジスタが選択される制御信号をセレクタ１０２ｄに出力する。
【００８６】
ここでは、一例として、コマンド変換処理が実行されて、第１のコマンドから第１のサブコマンド群が生成されたとする。
【００８７】
（Ｓ１０５）コマンド出力制御部１０３は、複数のコマンドの中から、第２のコマンドを選択する。コマンド保持部１０２を制御して、選択した第２のコマンドを出力させる。そして、出力させた第２のコマンドに対して、コマンド変換処理（例えば、図７参照。）を実行させる。このとき、第２のコマンドを保持しているレジスタが選択される制御信号をセレクタ１０２ｄに出力する。
【００８８】
ここでは、一例として、コマンド変換処理が実行されて、第２のコマンドから第２のサブコマンド群が生成されるとする。
【００８９】
（Ｓ１０６）コマンド出力制御部１０３は、メモリＩ／Ｆ部１０４を制御して、第１のサブコマンド群と第２のサブコマンド群とに対して、交互にサブコマンド出力処理（例えば、図１０参照。）を実行させる。これに伴い、第１のサブコマンド群に属するサブコマンドと、第２のサブコマンド群に属するサブコマンドとが交互にメモリＩ／Ｆ部１０４からメモリ１０５に出力される。これに伴ってメモリ１０５の第１のバンクと第２のバンクとが交互にアクセスされる。そして、再度、上記の処理（Ｓ１０１）を実行する。
【００９０】
（Ｓ１０７）コマンド出力制御部１０３は、コマンド保持部１０２を制御して、コマンド保持部１０２で保持されているコマンドを出力させる。そして、出力させたコマンドに対して、コマンド変換処理（例えば、図７参照。）を実行させる。このとき、コマンドが保持されているレジスタを選択させる制御信号をセレクタ１０２ｄに出力する。そして、下記の処理（Ｓ１０９）を実行する。
【００９１】
（Ｓ１０８）コマンド出力制御部１０３は、コマンド保持部１０２で保持されている複数のコマンドの中から、コマンドを選択する。コマンド保持部１０２を制御して、選択したコマンドを出力させる。そして、出力させたコマンドに対して、コマンド変換処理（例えば、図７参照。）を実行させる。このとき、発行された順に選択するとしてもよいし、先に出力させたコマンドの種類を保持しておいて、先に出力されたコマンドと同種のコマンドを優先して選択するとしてもよい。そして、下記の処理（Ｓ１０９）を実行する。
【００９２】
（Ｓ１０９）コマンド出力制御部１０３は、メモリＩ／Ｆ部１０４を制御して、サブコマンド群に対して、サブコマンド出力処理を実行させる。これに伴い、サブコマンド群に属するサブコマンドがメモリＩ／Ｆ部１０４からメモリ１０５に出力される。そして、再度、上記の処理（Ｓ１０１）を実行する。
【００９３】
図７は、本実施の形態におけるコマンド出力制御装置１００において実行されるコマンド変換処理を示す図である。図７に示されるように、コマンド出力制御装置１００は、コマンド保持部１０２からコマンドが出力されると、下記のコマンド変換処理（Ｓ１１１），（Ｓ１１２）を実行し、コマンド変換処理を終了する。
【００９４】
（Ｓ１１１）ページ境界分割部１０６は、コマンド保持部１０２から出力されたコマンドが入力すると、入力したコマンドに対して、ページ境界分割処理（例えば、図８参照。）を実行する。このとき、入力したコマンドからサブコマンド群が生成された場合は、入力したコマンドの代わりに、生成されたサブコマンド群をサブコマンド保持部１０７に格納する。一方、生成されない場合は、入力したコマンドをサブコマンドとしてサブコマンド保持部１０７に格納する。
【００９５】
（Ｓ１１２）アクセス領域分割部１０９は、所定のタイミングで、サブコマンド保持部１０７で保持されているサブコマンドに対して、アクセス領域分割処理（例えば、図９参照。）を実行する。このとき、さらに、サブコマンドからサブコマンド群が生成された場合は、そのサブコマンドの代わりに、生成されたサブコマンド群をサブコマンド保持部１０７に格納する。
【００９６】
図８は、本実施の形態１におけるコマンド出力制御装置１００において実行されるページ境界分割処理を示す図である。図８に示されるように、コマンド出力制御装置１００は、下記のページ境界分割処理（Ｓ１２１）〜（Ｓ１２７）を実行する。
【００９７】
（Ｓ１２１）ページ境界分割部１０６は、入力したコマンドのアクセス領域がページを跨ぐか否かを判定する。判定した結果、ページを跨ぐ場合は（Ｓ１２１：Ｙｅｓ）、下記の処理（Ｓ１２２）〜（Ｓ１２６）を実行し、ページ境界分割処理を終了する。一方、ページを跨がない場合は（Ｓ１２１：Ｎｏ）、下記の処理（Ｓ１２７）を実行し、ページ境界分割処理を終了する。
【００９８】
（Ｓ１２２）ページ境界分割部１０６は、入力したコマンドのアクセス領域をページ境界で分割する。このとき、アクセス領域が複数の領域（以下、分割後のアクセス領域と呼称する。）に分割される。
【００９９】
（Ｓ１２３）ページ境界分割部１０６は、分割後のアクセス領域ごとに、サブコマンドを生成する。このとき、分割後のアクセス領域にアクセスするサブコマンドが生成される。
【０１００】
（Ｓ１２４）ページ境界分割部１０６は、生成したサブコマンド群をサブコマンド保持部１０７に格納する。
【０１０１】
（Ｓ１２５）ページ境界分割部１０６は、生成したサブコマンド群に関する属性情報を生成する。このとき、サブコマンド群に属するサブコマンドの個数と、各サブコマンドのアクセス領域のサイズとを含む属性情報が生成される。
【０１０２】
（Ｓ１２６）ページ境界分割部１０６は、生成した属性情報を属性情報保持部１０８に登録する。
【０１０３】
（Ｓ１２７）ページ境界分割部１０６は、入力したコマンドをサブコマンドとしてサブコマンド保持部１０７に格納する。
【０１０４】
図９は、本実施の形態におけるコマンド出力制御装置１００において実行されるアクセス領域分割処理を示す図である。図９に示されるように、コマンド出力制御装置１００は、下記のアクセス領域分割処理（Ｓ１３１）〜（Ｓ１３８）を実行する。
【０１０５】
（Ｓ１３１）アクセス領域分割部１０９は、サブコマンド個数比較部１１０で比較された結果に基づいて、比較対象とする二つのサブコマンド群に対して、サブコマンドの個数が異なるか否かを判定する。判定した結果、サブコマンドの個数が異なる場合は（Ｓ１３１：Ｙｅｓ）、下記の処理（Ｓ１３２），（Ｓ１３３）を実行する。一方、サブコマンドの個数が同じ場合は（Ｓ１３１：Ｎｏ）、アクセス領域分割処理を終了する。
【０１０６】
このとき、サブコマンド個数比較部１１０は、比較対象となる二つのサブコマンド群に対して、サブコマンド群に属するサブコマンドの個数に関する個数情報を、属性情報保持部１０８で保持されている属性情報からそれぞれ取得する。それぞれ取得した二つの個数情報を比較し、比較した結果をアクセス領域分割部１０９に出力する。
【０１０７】
（Ｓ１３２）アクセス領域分割部１０９は、サイズ比較部１１１で比較された結果に基づいて、サブコマンドの個数が少ないサブコマンド群からアクセス領域のサイズが最大のサブコマンドを選択する。
【０１０８】
（Ｓ１３３）アクセス領域分割部１０９は、選択したサブコマンドのアクセス領域が閾値以上であるか否かを判定する。判定した結果、閾値以上である場合は（Ｓ１３３：Ｙｅｓ）、下記の処理（Ｓ１３４）〜（Ｓ１３８）を実行する。一方、閾値未満である場合は（Ｓ１３３：Ｎｏ）、アクセス領域分割処理を終了する。
【０１０９】
（Ｓ１３４）アクセス領域分割部１０９は、選択したサブコマンドのアクセス領域を分割する。
【０１１０】
（Ｓ１３５）アクセス領域分割部１０９は、分割後のアクセス領域ごとに、サブコマンドを生成する。
【０１１１】
（Ｓ１３６）アクセス領域分割部１０９は、選択したサブコマンドを、生成したサブコマンド群で置換する。
【０１１２】
（Ｓ１３７）アクセス領域分割部１０９は、生成したサブコマンド群に関する属性情報を生成する。
【０１１３】
（Ｓ１３８）アクセス領域分割部１０９は、生成した属性情報を属性情報保持部１０８に登録する。
【０１１４】
図１０は、本実施の形態におけるコマンド出力制御装置１００において実行されるサブコマンド出力処理を示す図である。図１０に示されるように、コマンド出力制御装置１００は、下記のサブコマンド出力処理（Ｓ１４１）〜（Ｓ１４５）を実行する。
【０１１５】
（Ｓ１４１）コマンド出力制御部１０３は、サイズ判定部１１２で判定された結果に基づいて、出力対象とするサブコマンド群の中から、アクセス領域のサイズが最大のサブコマンドを選択する。このとき、下記の処理（Ｓ１４２）をサイズ判定部１１２に実行させる。
【０１１６】
そして、コマンド出力制御部１０３は、メモリＩ／Ｆ部１０４を制御して、下記の処理（Ｓ１４５）を実行させて、選択したサブコマンドをメモリ１０５に出力させる。
【０１１７】
（Ｓ１４２）サイズ判定部１１２は、出力対象のサブコマンド群に対して、サブコマンド群に属するサブコマンドのアクセス領域のサイズを総当りで比較して、アクセス領域のサイズが最大のサブコマンドを特定する。このとき、アクセス領域のサイズが最大のサブコマンドが複数ある場合は、下記の処理（Ｓ１４３），（Ｓ１４４）をアドレス比較部１１３に実行させる。一方、アクセス領域のサイズが最大のサブコマンドが一つしかない場合は、下記の処理（Ｓ１４３），（Ｓ１４４）を実行させずに、下記の処理（Ｓ１４５）をメモリＩ／Ｆ部１０４に実行させる。
【０１１８】
（Ｓ１４３）アドレス比較部１１３は、サイズ判定部１１２で該当すると判定された複数のサブコマンドに対して、サブコマンド間で、ロウアドレスとカラムアドレスとを比較する。そして、下記の処理（Ｓ１４４）を実行する。
【０１１９】
（Ｓ１４４）アドレス比較部１１３は、該当する複数のサブコマンドの中から、メモリ１０５のアドレスバスの遷移ビット数が小さいサブコマンドを選択する。そして、下記の処理（Ｓ１４５）をメモリＩ／Ｆ部１０４に実行させる。
【０１２０】
（Ｓ１４５）メモリＩ／Ｆ部１０４は、コマンド出力制御部１０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出し、取り出したサブコマンドをメモリ１０５に出力する。
【０１２１】
ここで、本実施の形態におけるコマンド出力制御装置１００からメモリ１０５に出力される信号のタイミングチャートを用いながら動作例について説明する。
【０１２２】
図１１は、本実施の形態におけるコマンド出力制御装置１００からメモリ１０５に出力される信号のタイミングチャートを示す図である。図１１に示されるように、ここでは、一例として、コマンド出力制御部１０３は、メモリＩ／Ｆ部１０４を制御して、図３に示されるサブコマンド群１３３ａとサブコマンド群１３２ｂとを交互に出力する場合について説明する。なお、サブコマンドＡ１、サブコマンドＢ２、サブコマンドＡ２１、サブコマンドＢ３、サブコマンドＡ２２、サブコマンドＢ１の順で、メモリＩ／Ｆ部１０４からメモリ１０５へ出力させる。
【０１２３】
先ず、メモリＩ／Ｆ部１０４は、サブコマンドＡ１をデコードし、バンク（０）、ロウ（１）、カラム（１２，１３，１４）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ１において、ロウ信号（Ｌｏｗレベル）とアドレス信号（０／１）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（０）、ロウ（１）に設定する。期間Ｔ３において、カラム信号（Ｌｏｗレベル）とアドレス信号（０／１２）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（０）、カラム（１２）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ３〜Ｔ５において、データ（Ａ，Ｂ，Ｃ）をメモリ１０５へ出力し、バンク（０）、ロウ（１）、カラム（１２）から順にデータを書き込む。なお、期間Ｔ５において、ロウ信号（Ｌｏｗレベル）、アドレス信号（０／１）、プリチャージ信号をメモリ１０５へ出力する。バンク（０）、ロウ（１）をプリチャージさせる。
【０１２４】
次に、メモリＩ／Ｆ部１０４は、サブコマンドＢ２をデコードし、バンク（１）、ロウ（４）、カラム（０，１，２，３）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ４において、ロウ信号（Ｌｏｗレベル）とアドレス信号（１／４）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（１）、ロウ（４）に設定する。期間Ｔ６において、カラム信号（Ｌｏｗレベル）とアドレス信号（１／０）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（１）、カラム（０）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ６〜Ｔ９において、データ（Ｄ，Ｅ，Ｆ，Ｇ）をメモリ１０５へ出力し、バンク（１）、ロウ（４）、カラム（０）から順にデータを書き込む。なお、期間Ｔ７において、ロウ信号（Ｌｏｗレベル）、アドレス信号（１／４）、プリチャージ信号をメモリ１０５へ出力する。バンク（１）、ロウ（４）をプリチャージさせる。
【０１２５】
次に、メモリＩ／Ｆ部１０４は、サブコマンドＡ２１をデコードし、バンク（０）、ロウ（４）、カラム（０，１，２）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ８において、ロウ信号（Ｌｏｗレベル）とアドレス信号（０／４）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（０）、ロウ（４）に設定する。期間Ｔ１０において、カラム信号（Ｌｏｗレベル）とアドレス信号（０／０）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（０）、カラム（０）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ１０〜Ｔ１２において、データ（Ｈ，Ｉ，Ｊ）をメモリ１０５へ出力し、バンク（０）、ロウ（４）、カラム（０）から順にデータを書き込む。なお、期間Ｔ１２において、ロウ信号（Ｌｏｗレベル）、アドレス信号（０／４）、プリチャージ信号をメモリ１０５へ出力する。バンク（０）、ロウ（４）をプリチャージさせる。
【０１２６】
次に、メモリＩ／Ｆ部１０４は、サブコマンドＢ３をデコードし、バンク（１）、ロウ（５）、カラム（０，１，２）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ１１において、ロウ信号（Ｌｏｗレベル）とアドレス信号（１／５）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（１）、ロウ（５）に設定する。期間Ｔ１３において、カラム信号（Ｌｏｗレベル）とアドレス信号（１／０）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（１）、カラム（０）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ１３〜Ｔ１５において、データ（Ｋ，Ｌ，Ｍ）をメモリ１０５へ出力し、バンク（１）、ロウ（５）、カラム（０）から順にデータを書き込む。なお、期間Ｔ１５において、ロウ信号（Ｌｏｗレベル）、アドレス信号（１／５）、プリチャージをメモリ１０５へ出力する。バンク（１）、ロウ（５）をプリチャージさせる。
【０１２７】
次に、メモリＩ／Ｆ部１０４は、サブコマンドＡ２２をデコードし、バンク（０）、ロウ（４）、カラム（４，５，６）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ１４において、ロウ信号（Ｌｏｗレベル）とアドレス信号（０／４）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（０）、ロウ（４）に設定する。期間Ｔ１６において、カラム信号（Ｌｏｗレベル）とアドレス信号（０／４）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（０）、カラム（４）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ１６〜Ｔ１８において、データ（Ｎ，Ｏ，Ｐ）をメモリ１０５へ出力し、バンク（０）、ロウ（４）、カラム（４）から順にデータを書き込む。なお、期間Ｔ１８において、ロウ信号（Ｌｏｗレベル）、アドレス信号（０／４）、プリチャージをメモリ１０５へ出力する。バンク（０）、ロウ（４）をプリチャージさせる。
【０１２８】
次に、メモリＩ／Ｆ部１０４は、サブコマンドＢ１をデコードし、バンク（１）、ロウ（３）、カラム（３）にデータを書き込む制御信号群をメモリ１０５へ出力する。このとき、メモリＩ／Ｆ部１０４は、期間Ｔ１７において、ロウ信号（Ｌｏｗレベル）とアドレス信号（１／３）とをメモリ１０５へ出力し、アクセス領域のロウアドレスを、バンク（１）、ロウ（３）に設定する。期間Ｔ１９において、カラム信号（Ｌｏｗレベル）とアドレス信号（１／３）とをメモリ１０５へ出力し、アクセス領域のカラムアドレスを、バンク（１）、カラム（３）に設定する。また、ライト信号（Ｌｏｗレベル）をメモリ１０５へ出力し、データの書き込みを開始する。そして、期間Ｔ１９において、データ（Ｑ）をメモリ１０５へ出力し、バンク（１）、ロウ（３）、カラム（３）にデータを書き込む。なお、期間Ｔ１８において、ロウ信号（Ｌｏｗレベル）、アドレス信号（０／４）、プリチャージをメモリ１０５へ出力する。バンク（０）、ロウ（４）をプリチャージさせる。
【０１２９】
ここで、従来のコマンド出力制御装置１００によるタイミングチャートと比べながら、本実施の形態におけるコマンド出力制御装置１００の利点について説明する。
【０１３０】
図１２〜図１４は、本実施の形態におけるコマンド出力制御装置１００の比較対象とする従来の形態におけるコマンド出力制御装置１００からメモリ１０５に出力される信号のタイミングチャートを示す図である。
【０１３１】
例えば、同じバンクの異なるロウアドレスにアクセスする場合において、従来のコマンド出力制御装置では、期間Ｔ９〜Ｔ１２において、異なるバンクに対してアクセスがなければ、オーバヘッドが隠蔽されずに表れる（例えば、図１２参照。）。また、期間Ｔ９〜Ｔ１０において、異なるバンクに対してアクセスしても、期間Ｔ１１〜Ｔ１２において、アクセスがなければ、オーバヘッドが隠蔽されずに表れる（例えば、図１３参照。）。なお、期間Ｔ９〜Ｔ１２において、異なるバンクに対してアクセスがあれば、オーバヘッドが隠蔽されて表れない（例えば、図１４参照。）。
【０１３２】
これは、同じバンクの異なるロウアドレスにアクセスするときは、プリチャージをした後でなければ、同じバンクの異なるロウにアクセスすることができないためである。
【０１３３】
これに対して、本実施の形態におけるコマンド出力制御装置１００によれば、アクセス領域を分割してアクセスすることができるので、オーバヘッドが入る期間に、異なるバンクに対するアクセスを挿入してオーバヘッドを隠蔽することができる。
【０１３４】
以上、本実施の形態におけるコマンド出力制御装置１００によれば、複数のロウアドレスを含むコマンドを処理することができ、メモリ上にマッピングされたデータを矩形単位でアクセスする場合においても、効率よくアクセスすることができる。さらに、コマンドによってアクセスされる領域を複数の部分領域に分割するにあたって、閾値未満のアクセス領域を分割しないので、オーバヘッドを隠蔽することができないほど、部分領域のサイズが小さくなることを抑制することができる。また、部分領域のサイズが小さいコマンドが生成されてオーバヘッドが途中で入ることを防ぐことができる。さらに、アクセス効率を下げることなく、アドレスバスの消費電力を下げることができる。
【０１３５】
（実施の形態２）
次に、本発明に係わる実施の形態２について図面を参照しながら説明する。
【０１３６】
本実施の形態におけるコマンド出力制御装置は、下記（ｄ）〜（ｇ）に示される特徴を備える。
【０１３７】
（ｄ）コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブコマンドの中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別するサブコマンド種別機能を備え、サブコマンド出力機能は、コマンド種別機能で種別された同種のサブコマンドを連続して出力する。
【０１３８】
（ｅ）コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブコマンドの中から、同一の部分記憶領域にアクセスするライト・サブコマンド群を検出するライト・サブコマンド依存関係検出機能を備え、サブコマンド出力機能は、ライト・サブコマンド依存関係検出機能で検出された結果に基づいて、ライト・サブコマンド群のうち、出力順番が先のライト・サブコマンドを廃棄し、出力順番が後のライト・サブコマンドを出力する。
【０１３９】
（ｆ）コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブコマンドの中から、同一の部分記憶領域にアクセスするリード・サブコマンド群を検出するリード・サブコマンド依存関係検出機能を備え、サブコマンド出力機能は、リード・サブコマンド依存関係検出機能で検出された結果に基づいて、リード・サブコマンド群のうち、出力順番が先のリード・サブコマンドを出力し、出力順番が後のリード・サブコマンドを廃棄する。
【０１４０】
（ｇ）コマンド出力制御装置は、さらに、メモリから読み出されたデータを一時的に保持するバッファ２１５を備え、サブコマンド出力機能は、出力順番が先のリード・サブコマンドを出力したときに、メモリから読み出したデータをバッファに一時的に保持しておき、出力順番が後のリード・サブコマンドを出力するときに、バッファからデータを読み出す。
【０１４１】
以上の点を踏まえて本実施の形態におけるコマンド出力制御装置について説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の参照符号を付して説明を省略する。また、部分記憶領域にデータを書き込むサブコマンドをライト・サブコマンドとする。部分記憶領域からデータを読み出すサブコマンドをリード・サブコマンドとする。
【０１４２】
先ず、本実施の形態におけるコマンド出力制御装置の構成について説明する。
【０１４３】
図１５は、本実施の形態におけるコマンド出力制御装置の構成を示す図である。図１５に示されるように、コマンド出力制御装置２００は、実施の形態１におけるコマンド出力制御装置１００と比べて、下記（１）〜（８）の点が異なる。
【０１４４】
（１）コマンド出力制御部１０３の代わりに、コマンド出力制御部２０３を備える。
【０１４５】
例えば、リード・サブコマンド依存関係検出部２１４で検出された結果、同一のアクセス領域にアクセスするリード・サブコマンド群がサブコマンド保持部１０７で保持されているとする。この場合において、コマンド出力制御部２０３は、メモリＩ／Ｆ部２０４を制御して、そのリード・サブコマンド群のうち、出力順番が先のサブコマンドを出力させ、出力順番が後のサブコマンドを廃棄させる。このとき、出力順番が先のサブコマンドを出力させたときに、メモリ１０５から読み出したデータをバッファ２１５に一時的に保持しておき、出力順番が後のサブコマンドを出力させるときに、バッファ２１５からデータを読み出す。
【０１４６】
また、ライト・サブコマンド依存関係検出部２１３で検出された結果、同一のアクセス領域にアクセスするライト・サブコマンド群がサブコマンド保持部１０７で保持されているとする。この場合において、コマンド出力制御部２０３は、メモリＩ／Ｆ部２０４を制御して、そのライト・サブコマンド群のうち、出力順番が先のサブコマンドを廃棄させ、出力順番が後のサブコマンドを出力させる。
【０１４７】
さらに、コマンド出力制御部２０３は、メモリＩ／Ｆ部２０４を制御して、リード／ライト属性判断部２１２で種別された同種のサブコマンドを連続して出力させる。
【０１４８】
（２）メモリＩ／Ｆ部１０４の代わりに、メモリＩ／Ｆ部２０４を備える。
【０１４９】
メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３から入力される制御信号に応じて、サブコマンド保持部１０７で保持されているリード・サブコマンド群のうち、出力順番が先のリード・サブコマンドを出力し、出力順番が後のリード・サブコマンドを廃棄する。このとき、出力順番が先のリード・サブコマンドを出力するときに、メモリ１０５から読み出したデータをバッファ２１５に一時的に保持しておき、出力順番が後のリード・サブコマンドを出力するときに、バッファ２１５からデータを読み出す。
【０１５０】
また、メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３から出力される制御信号に応じて、ライト・サブコマンド群のうち、出力順番が先のライト・サブコマンドを廃棄し、出力順番が後のライト・サブコマンドを出力する。
【０１５１】
（３）属性情報保持部１０８の代わりに、属性情報保持部２０８を備える。
【０１５２】
属性情報保持部２０８は、実施の形態１における属性情報の内容に加えて、ここでは、一例として、下記（ａ），（ｂ）に示される内容も含む属性情報を保持する。
【０１５３】
（ａ）“コマンド（アクセス領域）、サブコマンド（アクセス領域）｛重複フラグ｝、サブコマンド（アクセス領域）｛重複フラグ｝、・・・”のように、コマンドから生成されたサブコマンド群をコマンドごとに対応付けたレコードが登録されている。
【０１５４】
（ｂ）サブコマンドごとに、重複フラグを設定することができる。なお、重複フラグの初期値は０とする。
【０１５５】
（４）新たにリード／ライト属性判断部２１２を備える。
【０１５６】
リード／ライト属性判断部２１２は、サブコマンド保持部１０７で保持されているサブコマンドの中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別する。
【０１５７】
（５）新たにライト・サブコマンド依存関係検出部２１３を備える。
【０１５８】
ライト・サブコマンド依存関係検出部２１３は、サブコマンド保持部１０７で保持されているサブコマンドの中から、同一のアクセス領域にアクセスするライト・サブコマンド群を検出する。
【０１５９】
（６）新たにリード・サブコマンド依存関係検出部２１４を備える。
【０１６０】
リード・サブコマンド依存関係検出部２１４は、サブコマンド保持部１０７で保持されているサブコマンドの中から、同一のアクセス領域にアクセスするリード・サブコマンド群を検出する。
【０１６１】
（７）新たにバッファ２１５を備える。
【０１６２】
バッファ２１５は、メモリ１０５とメモリＩ／Ｆ部２０４との間に設けられており、メモリ１０５から読み出されたデータを一時的に保持する。
【０１６３】
（８）サイズ判定部１１２、アドレス比較部１１３を備えない。
【０１６４】
次に、本実施の形態におけるコマンド出力制御装置２００によって出力順が変更される過程について説明する。
【０１６５】
図１６Ａ、図１６Ｂは、本実施の形態におけるコマンド出力制御装置２００によって出力順が変更される概要例を示す図である。図１６Ａに示されるように、リード［１］、リード［２］、ライト［１］、リード［３］、ライト［２］、ライト［３］の順で、コマンド群２２１ａがコマンド発行部１０１から発行されたとする。ここで、ライト［１］のアクセス領域とリード［３］のアクセス領域とが重ならないとして、ライト［１］とリード［３］との間に依存関係がないとする。そして、コマンド群２２１ａがコマンド発行時の順番でメモリ１０５へ出力されると、リード［２］とライト［１］との間、ライト［１］とリード［３］との間、リード［３］とライト［２］との間のそれぞれにオーバヘッドが入る。
【０１６６】
そこで、コマンド出力制御部２０３は、リード／ライト属性判断部２１２で判断された結果に基づいて、コマンド群２２１ａのライト［１］とリード［３］との順番を入れ替える。そして、順番を入れ替えたコマンド群２２１ａ、すなわち、コマンド群２２２ａがコマンド出力時の順番でメモリ１０５へ出力されるとする。この場合において、リード［１］、リード［２］、リード［３］、ライト［１］、ライト［２］、ライト［３］の順に出力される。このとき、リード［３］とライト［１］との間にオーバヘッドが入る。
【０１６７】
この例から、入れ替えを行わずに、コマンド発行時の順番でメモリ１０５へ出力すれば、オーバヘッドが入る機会が４回になる。一方、入れ替えを行い、コマンド出力時の順番でメモリ１０５へ出力すれば、オーバヘッドが入る機会が１回になる。すなわち、入れ替えを行うことによって、オーバヘッドが入る機会が３回も削減される。
【０１６８】
同様に、図１６Ｂに示されるように、リード［４］、リード［５］、ライト［４］、リード［６］、ライト［５］、リード［７］の順で、コマンド群２２１ｂがコマンド発行部１０１から発行されたとする。ここで、ライト［４］のアクセス領域とリード［６］のアクセス領域とが重なるとして、ライト［４］とリード［６］との間に依存関係があるとする。さらに、リード［６］のアクセス領域とライト［５］のアクセス領域とが重ならないとして、リード［６］とライト［５］との間に依存関係がないとする。そして、コマンド群２２１ｂがコマンド発行時の順番でメモリに出力されると、リード［５］とライト［４］との間、ライト［４］とリード［６］との間、リード［６］とライト［５］との間、ライト［５］とリード［７］との間のそれぞれにオーバヘッドが入る。
【０１６９】
これに対して、コマンド出力制御部２０３は、リード／ライト属性判断部２１２で判断された結果に基づいて、コマンド群２２１ｂのリード［６］とライト［５］との順番を入れ替える。そして、順番を入れ替えたコマンド群２２１ｂ、すなわち、コマンド群２２２ｂがコマンド出力時の順番でメモリ１０５へ出力されるとする。この場合において、リード［４］、リード［５］、ライト［４］、ライト［５］、リード［６］、リード［７］の順に出力される。このとき、リード［５］とライト［４］との間、ライト［５］とリード［６］との間のそれぞれにオーバヘッドが入る。
【０１７０】
この例から、入れ替えを行わずに、コマンド発行時の順番でメモリ１０５に出力すれば、オーバヘッドが入る機会が４回になる。一方、入れ替えを行い、コマンド出力時の順番でメモリ１０５へ出力すれば、オーバヘッドが入る機会が２回になる。すなわち、入れ替えを行うことによって、オーバヘッドが入る機会が２回も削減される。
【０１７１】
次に、本実施の形態におけるライト・サブコマンド依存関係検出部２１３によって依存関係が検出される過程について説明する。
【０１７２】
図１７は、本実施の形態におけるライト・サブコマンド依存関係検出部２１３によって依存関係が検出される過程を示す図である。図１７に示されるように、ライト・サブコマンド依存関係検出部２１３は、属性情報を参照し、属性情報に登録されているサブコマンドの中から、アクセス領域が重複するサブコマンドを探す。重複するサブコマンドが見つかると、出力順番が先のサブコマンドの重複フラグを１に設定して属性情報を更新する。
【０１７３】
例えば、図１６Ａに示されるライト［１］のコマンドをアクセス領域Ａ３にデータを書き込むライト・コマンド（以下、ライト・コマンド（Ａ３）と呼称する。）とする。そして、アクセス領域Ａ３が、アクセス領域Ａ３１，Ａ３２，Ａ３３，Ａ３４に分割されて、ライト・サブコマンド（Ａ３１）、ライト・サブコマンド（Ａ３２）、ライト・サブコマンド（Ａ３３）、ライト・サブコマンド（Ａ３４）が生成されたとする。このとき、“ライト・コマンド（Ａ３）、ライト・サブコマンド（Ａ３１）｛０｝、ライト・サブコマンド（Ａ３２）｛０｝、ライト・サブコマンド（Ａ３３）｛０｝、ライト・サブコマンド（Ａ３４）｛０｝”が属性情報２３１に登録される。
【０１７４】
また、図１６Ａに示されるライト［３］のコマンドをアクセス領域Ａ４にデータを書き込むライト・コマンド（以下、ライト・コマンド（Ａ４）と呼称する。）とする。そして、アクセス領域Ａ４が、アクセス領域Ａ４１，Ａ３３に分割されて、ライト・サブコマンド（Ａ４１）、ライト・サブコマンド（Ａ３３）が生成されたとする。このとき、“ライト・コマンド（Ａ４）、ライト・サブコマンド（Ａ４１）｛０｝、ライト・サブコマンド（Ａ３３）｛０｝”が属性情報２３１に登録される。
【０１７５】
そして、ライト・サブコマンド依存関係検出部２１３は、重複するサブコマンドとして、ライト・コマンド（Ａ３）と対応付けられているライト・サブコマンド（Ａ３３）と、ライト・コマンド（Ａ４）と対応付けられているライト・サブコマンド（Ａ３３）とを見つける。これに伴い、属性情報２３２に示されるように、先に出力されるライト・コマンド（Ａ３）と対応付けられているライト・サブコマンド（Ａ３３）の重複フラグに１を設定する。
【０１７６】
次に、本実施の形態におけるリード・サブコマンド依存関係検出部２１４によって依存関係が検出される過程について説明する。
【０１７７】
図１８は、本実施の形態におけるリード・サブコマンド依存関係検出部２１４によって依存関係が検出される過程を示す図である。図１８に示されるように、リード・サブコマンド依存関係検出部２１４は、属性情報を参照し、属性情報に登録されているサブコマンドの中から、アクセス領域が重複するサブコマンドを探す。重複するサブコマンドが見つかると、出力順番が先のサブコマンドの重複フラグを１に設定して属性情報を更新する。
【０１７８】
例えば、図１６Ａに示されるリード［１］のコマンドをアクセス領域Ａ１にデータを書き込むリード・コマンド（以下、リード・コマンド（Ａ１）と呼称する。）とする。そして、アクセス領域Ａ１が、アクセス領域Ａ１１，Ａ１２，Ａ１３，Ａ１４に分割されて、リード・サブコマンド（Ａ１１）、リード・サブコマンド（Ａ１２）、リード・サブコマンド（Ａ１３）、リード・サブコマンド（Ａ１４）が生成されたとする。このとき、“リード・コマンド（Ａ１）、リード・サブコマンド（Ａ１１）｛０｝、リード・サブコマンド（Ａ１２）｛０｝、リード・サブコマンド（Ａ１３）｛０｝、リード・サブコマンド（Ａ１４）｛０｝”が属性情報２４１に登録される。
【０１７９】
また、図１６Ａに示されるリード［３］のコマンドをアクセス領域Ａ２にデータを書き込むリード・コマンド（以下、リード・コマンド（Ａ２）と呼称する。）とする。そして、アクセス領域Ａ２が、アクセス領域Ａ２１、Ａ１３に分割されて、リード・サブコマンド（Ａ２１）、リード・サブコマンド（Ａ１３）が生成されたとする。このとき、“リード・コマンド（Ａ２）、リード・サブコマンド（Ａ２１）｛０｝、リード・サブコマンド（Ａ１３）｛０｝”が属性情報２４１に登録される。
【０１８０】
そして、リード・サブコマンド依存関係検出部２１４は、重複するサブコマンドとして、リード・コマンド（Ａ１）と対応付けられているリード・サブコマンド（Ａ１３）と、リード・コマンド（Ａ２）と対応付けられているリード・サブコマンド（Ａ１３）とを見つける。これに伴い、属性情報２４２に示されるように、後に出力されるリード・コマンド（Ａ２）と対応付けられているリード・サブコマンド（Ａ１３）の重複フラグに１を設定する。
【０１８１】
次に、本実施の形態におけるコマンド出力制御装置２００の動作について説明する。
【０１８２】
図１９、図２０は、本実施の形態におけるコマンド出力制御装置２００において実行されるコマンド出力制御処理を示す図である。図１９、図２０に示されるように、コマンド出力制御装置２００は、下記のコマンド出力制御処理（Ｓ１０１），（Ｓ１０２），（Ｓ２０１）〜（Ｓ２１８）を実行する。なお、処理（Ｓ１０１）については、実施の形態１におけるコマンド出力制御処理（例えば、図６参照。）に含まれる処理（Ｓ１０１）と同一の動作により、ここでは説明を省略する。
【０１８３】
（Ｓ１０２）コマンド出力制御部２０３は、コマンド保持部１０２で複数のコマンドが保持されているか否かを判定する。判定した結果、複数のコマンドが保持されている場合は（Ｓ１０２：Ｙｅｓ）、下記の処理（Ｓ２０１）を実行する。一方、複数のコマンドが保持されていない場合は（Ｓ１０２：Ｎｏ）、下記の処理（Ｓ２１１）を実行する。
【０１８４】
（Ｓ２０１）コマンド出力制御部２０３は、コマンド保持部１０２で保持されている複数のコマンドの中から、コマンドを選択する。コマンド保持部１０２を制御して、選択したコマンドを出力させる。出力させたコマンドに対して、コマンド変換処理（例えば、図２１参照。）を実行させる。このとき、発行された順に選択するとしてもよいし、先に出力させたコマンドの種類を保持しておいて、先に出力されたコマンドと同種のコマンドを優先して選択するとしてもよい。そして、下記の処理（Ｓ２０２）を実行する。
【０１８５】
（Ｓ２０２）コマンド出力制御部２０３は、メモリＩ／Ｆ部２０４を制御して、サブコマンド群に対して、サブコマンド出力処理（例えば、図２４参照。）を実行させる。これに伴い、サブコマンド群に属するサブコマンドがメモリＩ／Ｆ部２０４からメモリ１０５へ出力される。そして、再度、処理（Ｓ１０１）を実行する。
【０１８６】
（Ｓ２１１）コマンド出力制御部２０３は、発行された順に、リード・コマンドとライト・コマンドとに出力順番を割り当てる。そして、下記の処理（Ｓ２１２）を実行する。
【０１８７】
（Ｓ２１２）コマンド出力制御部２０３は、リード・コマンドとライト・コマンドとの全ての組合せに対して、下記の処理（Ｓ２１３）〜（Ｓ２１７）を実行する。そして、全ての組合せに対して、下記の処理（Ｓ２１３）〜（Ｓ２１７）を実行すると、下記の処理（Ｓ２１８）を実行する。
【０１８８】
（Ｓ２１３）コマンド出力制御部２０３は、リード・コマンドがページ境界分割部１０６へ先に出力されたか否かを判定する。判定した結果、先に出力された場合は（Ｓ２１３：Ｙｅｓ）、下記の処理（Ｓ２１４）を実行する。一方、先に出力されていない場合は（Ｓ２１３：Ｎｏ）、下記の処理（Ｓ２１７）を実行する。
【０１８９】
（Ｓ２１４）コマンド出力制御部２０３は、ライト・コマンドの方がリード・コマンドよりもコマンド発行部１０１から先に発行されたか否かを判定する。判定した結果、先に発行された場合は（Ｓ２１４：Ｙｅｓ）、下記の処理（Ｓ２１５）を実行する。一方、後に発行された場合は（Ｓ２１４：Ｎｏ）、再度、上記の処理（Ｓ２１２）を実行する。
【０１９０】
（Ｓ２１５）コマンド出力制御部２０３は、ライト・コマンドとリード・コマンドとの組合せに対して、アクセス領域が重複しないか否かを判定する。判定した結果、重複しない場合は（Ｓ２１５：Ｙｅｓ）、下記の処理（Ｓ２１６）を実行する。一方、重複する場合は（Ｓ２１５：Ｎｏ）、再度、上記の処理（Ｓ２１２）を実行する。
【０１９１】
（Ｓ２１６）コマンド出力制御部２０３は、リード・コマンドとライト・コマンドの組合せに対して、出力順番を入れ替える。そして、再度、処理（Ｓ２１２）を実行する。
【０１９２】
（Ｓ２１７）コマンド出力制御部２０３は、リード・コマンドの方がライト・コマンドよりもコマンド発行部１０１から先に発行されたか否かを判定する。判定した結果、先に発行された場合は（Ｓ２１７：Ｙｅｓ）、上記の処理（Ｓ２１５）を実行する。一方、後に発行された場合は（Ｓ２１７：Ｎｏ）、再度、上記の処理（Ｓ２１２）を実行する。
【０１９３】
（Ｓ２１８）コマンド出力制御部２０３は、出力順番に従って、コマンドを選択し、コマンド保持部１０２を制御して、選択したコマンドを出力させる。そして、出力させたコマンドに対して、コマンド変換処理（例えば、図２１参照。）を実行させる。そして、上記の処理（Ｓ２０２）を実行する。
【０１９４】
図２１は、本実施の形態におけるコマンド出力制御装置２００において実行されるコマンド変換処理を示す図である。図２１に示されるように、コマンド出力制御装置２００は、下記のコマンド変換処理（Ｓ１１１），（Ｓ１１２），（Ｓ２２１），（Ｓ２２２）を実行する。なお、処理（Ｓ１１１），（Ｓ１１２）については、実施の形態１におけるコマンド変換処理（例えば、図７参照。）に含まれる処理（Ｓ１１１），（Ｓ１１２）と同一の動作により、ここでは説明を省略する。
【０１９５】
（Ｓ２２１）ライト・サブコマンド依存関係検出部２１３は、サブコマンド保持部１０７で保持されているサブコマンドに対して、ライト・サブコマンド依存関係検出処理（例えば、図２２参照。）を実行し、重複しているライト・サブコマンドを検出する。
【０１９６】
（Ｓ２２２）リード・サブコマンド依存関係検出部２１４は、サブコマンド保持部１０７で保持されているサブコマンドに対して、リード・サブコマンド依存関係検出処理（例えば、図２３参照。）を実行し、重複しているリード・サブコマンドを検出する。
【０１９７】
図２２は、本実施の形態におけるコマンド出力制御装置２００において実行されるライト・サブコマンド依存関係検出処理を示す図である。図２２に示されるように、コマンド出力制御装置２００は、下記のライト・サブコマンド依存関係検出処理（Ｓ２３１）〜（Ｓ２３３）を実行する。
【０１９８】
（Ｓ２３１）ライト・サブコマンド依存関係検出部２１３は、全てのライト・サブコマンドの組合せに対して、下記の処理（Ｓ２３２），（Ｓ２３３）を実行する。そして、全ての組合せに対して、下記の処理（Ｓ２３２），（Ｓ２３３）を実行すると、ライト・サブコマンド依存関係検出処理を終了する。
【０１９９】
（Ｓ２３２）ライト・サブコマンド依存関係検出部２１３は、ライト・サブコマンドの組合せに対して、同一のアクセス領域にアクセスするか否かを判定する。判定した結果、同一のアクセス領域にアクセスする場合は（Ｓ２３２：Ｙｅｓ）、下記の処理（Ｓ２３３）を実行する。一方、同一のアクセス領域にアクセスしない場合は（Ｓ２３２：Ｎｏ）、次の組合せに対して、処理（Ｓ２３１）を実行する。
【０２００】
（Ｓ２３３）ライト・サブコマンド依存関係検出部２１３は、属性情報保持部２０８で保持されている属性情報のうち、同一のアクセス領域にアクセスするライト・サブコマンド群において出力順番が先のライト・サブコマンドについては、重複フラグを１に設定する。
【０２０１】
図２３は、本実施の形態におけるコマンド出力制御装置２００において実行されるリード・サブコマンド依存関係検出処理を示す図である。図２３に示されるように、コマンド出力制御装置２００は、下記のリード・サブコマンド依存関係検出処理（Ｓ２４１）〜（Ｓ２４３）を実行する。
【０２０２】
（Ｓ２４１）リード・サブコマンド依存関係検出部２１４は、全てのリード・サブコマンドの組合せに対して、下記の処理（Ｓ２４２），（Ｓ２４３）を実行する。そして、全ての組合せに対して、下記の処理（Ｓ２４２），（Ｓ２４３）を実行すると、リード・サブコマンド依存関係検出処理を終了する。
【０２０３】
（Ｓ２４２）リード・サブコマンド依存関係検出部２１４は、リード・サブコマンドの組合せに対して、同一のアクセス領域にアクセスするか否かを判定する。判定した結果、同一のアクセス領域にアクセスする場合は（Ｓ２４２：Ｙｅｓ）、下記の処理（Ｓ２４３）を実行する。一方、同一のアクセス領域にアクセスしない場合は（Ｓ２４２：Ｎｏ）、次の組合せに対して、処理（Ｓ２４１）を実行する。
【０２０４】
（Ｓ２４３）リード・サブコマンド依存関係検出部２１４は、属性情報保持部２０８で保持されている属性情報のうち、同一のアクセス領域にアクセスするリード・サブコマンド群において出力順番が後のリード・サブコマンドについては、重複フラグを１に設定する。
【０２０５】
図２４は、本実施の形態におけるコマンド出力制御装置２００において実行されるサブコマンド出力処理を示す図である。図２４に示されるように、コマンド出力制御装置２００は、下記のサブコマンド出力処理（Ｓ２５１）〜（Ｓ２５９），（Ｓ１４５）を実行する。なお、処理（Ｓ１４５）については、実施の形態１におけるサブコマンド出力処理（例えば、図１０参照。）に含まれる処理（Ｓ１４５）と同一の動作により、ここでは説明を省略する。
【０２０６】
（Ｓ２５１）コマンド出力制御部２０３は、出力対象とするサブコマンド群の中から、サブコマンドを選択する。そして、下記の処理（Ｓ２５２）を実行する。
【０２０７】
（Ｓ２５２）コマンド出力制御部２０３は、リード／ライト属性判断部２１２で判断された結果に基づいて、選択したサブコマンドがリード・サブコマンドであるか否かを判定する。判定した結果、リード・サブコマンドである場合は（Ｓ２５２：Ｙｅｓ）、下記の処理（Ｓ２５３）を実行する。一方、リード・サブコマンドでない場合は（Ｓ２５２：Ｎｏ）、下記の処理（Ｓ２５６）を実行する。このとき、リード／ライト属性判断部２１２は、属性情報保持部２０８で保持されている属性情報を参照し、コマンド出力制御部２０３で選択されたサブコマンドの種類を特定し、特定した種類に関する情報をコマンド出力制御部２０３へ出力する。
【０２０８】
（Ｓ２５３）コマンド出力制御部２０３は、属性情報保持部２０８で保持されている属性情報を参照し、選択したサブコマンドの重複フラグが０に設定されているか否かを判定する。判定した結果、重複フラグが０に設定されている場合は（Ｓ２５３：Ｙｅｓ）、下記の処理（Ｓ２５４）をメモリＩ／Ｆ部２０４に実行させる。一方、重複フラグが１に設定されている場合は（Ｓ２５３：Ｎｏ）、下記の処理（Ｓ２５５）をメモリＩ／Ｆ部２０４に実行させる。
【０２０９】
（Ｓ２５４）メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出す。取り出したサブコマンドをメモリ１０５へ出力する。出力したサブコマンドによって特定されるアクセス領域からデータを読み出す。そして、サブコマンド出力処理を終了する。
【０２１０】
（Ｓ２５５）メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出す。取り出したサブコマンドをメモリ１０５へ出力せずに廃棄する。廃棄したサブコマンドによって特定されるアクセス領域から予め読み出されてバッファ２１５に格納されているデータをバッファ２１５から読み出す。そして、サブコマンド出力処理を終了する。
【０２１１】
（Ｓ２５６）コマンド出力制御部２０３は、リード／ライト属性判断部２１２で判断された結果に基づいて、選択したサブコマンドがライト・サブコマンドであるか否かを判定する。判定した結果、ライト・サブコマンドである場合は（Ｓ２５６：Ｙｅｓ）、下記の処理（Ｓ２５７）を実行する。一方、ライト・サブコマンドでない場合は（Ｓ２５６：Ｎｏ）、下記の処理（Ｓ１４５）を実行する。このとき、リード／ライト属性判断部２１２は、属性情報保持部２０８で保持されている属性情報を参照し、コマンド出力制御部２０３で選択されたサブコマンドの種類を特定し、特定した種類に関する情報をコマンド出力制御部２０３へ出力する。
【０２１２】
（Ｓ２５７）コマンド出力制御部２０３は、属性情報保持部２０８で保持されている属性情報を参照し、選択したサブコマンドの重複フラグが０に設定されているか否かを判定する。判定した結果、重複フラグが０に設定されている場合は（Ｓ２５７：Ｙｅｓ）、下記の処理（Ｓ２５８）をメモリＩ／Ｆ部２０４に実行させる。一方、重複フラグが１に設定されている場合は（Ｓ２５７：Ｎｏ）、下記の処理（Ｓ２５９）をメモリＩ／Ｆ部２０４に実行させる。
【０２１３】
（Ｓ２５８）メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出す。取り出したサブコマンドをメモリ１０５へ出力する。出力したサブコマンドによって特定されるアクセス領域にデータを書き込む。そして、サブコマンド出力処理を終了する。
【０２１４】
（Ｓ２５９）メモリＩ／Ｆ部２０４は、コマンド出力制御部２０３で選択されたサブコマンドをサブコマンド保持部１０７から取り出す。取り出したサブコマンドをメモリ１０５へ出力せずに廃棄する。そして、サブコマンド出力処理を終了する。
【０２１５】
以上、本実施の形態におけるコマンド出力制御装置２００によれば、リード・コマンドとライト・コマンドとの間にオーバヘッドが入る機会を削減することができる。また、重複するライト・コマンドを省略することができ、アクセス効率を向上させることができる。さらに、重複するリード・コマンドを省略することができ、アクセス効率を向上させることができる。
【０２１６】
（その他）
なお、コマンド出力制御装置は、コマンド出力制御装置の各機能が組み込まれたＬＳＩによって実現されるとしてもよい。
【０２１７】
なお、ＬＳＩは、フルカスタムＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）などのようなセミカスタムＬＳＩ、ＦＰＧＡ（Field Programmable Gate Array）やＣＰＬＤ（Complex Programmable Logic Device）などのようなプログラマブル・ロジック・デバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスに形成されるとしてもよい。
【０２１８】
さらに、コマンド出力制御装置の各機能をＬＳＩに形成する設計データは、ハードウェア記述言語によって記述されたプログラム（以下、ＨＤＬプログラムと呼称する。）としてもよい。さらに、ＨＤＬプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語として、ＶＨＤＬ（Very high speed integrated circuit Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ、ＳｙｓｔｅｍＣがある。
【０２１９】
さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。
【０２２０】
または、設計データは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてよい。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ（Power Line Communication）、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）がある。
【０２２１】
または、設計データは、通電時にＦＰＧＡに転送され得るように、シリアルＲＯＭに記録しておくとしてもよい。そして、シリアルＲＯＭに記録された設計データは、通電時に、直接、ＦＰＧＡにダウンロードされるとしてもよい。
【０２２２】
または、設計データは、通電時に、マイクロプロセッサによって生成されて、ＦＰＧＡにダウンロードされるとしてもよい。
【産業上の利用可能性】
【０２２３】
本発明は、メモリを制御するコマンドの出力を制御するコマンド出力制御装置などとして、特に、リード、ライト時において使用されるコマンドの出力を制御するコマンド出力制御装置などとして、利用することができる。
【図面の簡単な説明】
【０２２４】
【図１】図１は、本発明に係わる実施の形態１におけるコマンド出力制御装置の構成を示す図である。
【図２】図２は、本発明に係わる実施の形態１におけるページ境界分割部によってアクセス領域が分割される過程を示す図である。
【図３】図３は、本発明に係わる実施の形態１におけるページ境界分割部とアクセス領域分割部とによって分割されたアクセス領域の概要を示す図である。
【図４】図４は、本発明に係わる実施の形態１におけるページ境界分割部とアクセス領域分割部とによって生成された属性情報の概要を示す図である。
【図５】図５は、本発明に係わる実施の形態１における属性情報保持部で保持される属性情報のデータ構造を示す図である。
【図６】図６は、本発明に係わる実施の形態１におけるコマンド出力制御装置において実行されるコマンド出力制御処理を示す図である。
【図７】図７は、本発明に係わる実施の形態１におけるコマンド出力制御装置において実行されるコマンド変換処理を示す図である。
【図８】図８は、本発明に係わる実施の形態１におけるコマンド出力制御装置において実行されるページ境界分割処理を示す図である。
【図９】図９は、本発明に係わる実施の形態１におけるコマンド出力制御装置において実行されるアクセス領域分割処理を示す図である。
【図１０】図１０は、本発明に係わる実施の形態１におけるコマンド出力制御装置において実行されるサブコマンド出力処理を示す図である。
【図１１】図１１は、本発明に係わる実施の形態１におけるコマンド出力制御装置からメモリに出力される信号のタイミングチャートを示す図である。
【図１２】図１２は、本発明に係わる実施の形態１におけるコマンド出力制御装置の比較対象とする従来の形態におけるコマンド出力制御装置からメモリに出力される信号のタイミングチャートを示す図である。
【図１３】図１３は、本発明に係わる実施の形態１におけるコマンド出力制御装置の比較対象とする従来の形態におけるコマンド出力制御装置からメモリに出力される信号のタイミングチャートを示す図である。
【図１４】図１４は、本発明に係わる実施の形態１におけるコマンド出力制御装置の比較対象とする従来の形態におけるコマンド出力制御装置からメモリに出力される信号のタイミングチャートを示す図である。
【図１５】図１５は、本発明に係わる実施の形態２におけるコマンド出力制御装置の構成を示す図である。
【図１６Ａ】図１６Ａは、本発明に係わる実施の形態２におけるコマンド出力制御装置によって出力順が変更される概要例を示す第１の図である。
【図１６Ｂ】図１６Ｂは、本発明に係わる実施の形態２におけるコマンド出力制御装置によって出力順が変更される概要例を示す第２の図である。
【図１７】図１７は、本発明に係わる実施の形態２におけるライト・サブコマンド依存関係検出部によって依存関係が検出される過程を示す図である。
【図１８】図１８は、本発明に係わる実施の形態２におけるリード・サブコマンド依存関係検出部によって依存関係が検出される過程を示す図である。
【図１９】図１９は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるコマンド出力制御処理を示す第１の図である。
【図２０】図２０は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるコマンド出力制御処理を示す第２の図である。
【図２１】図２１は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるコマンド変換処理を示す図である。
【図２２】図２２は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるライト・サブコマンド依存関係検出処理を示す図である。
【図２３】図２３は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるリード・サブコマンド依存関係検出処理を示す図である。
【図２４】図２４は、本発明に係わる実施の形態２におけるコマンド出力制御装置において実行されるサブコマンド出力処理を示す図である。
【符号の説明】
【０２２５】
１００  コマンド出力制御装置
１０１  コマンド発行部
１０２  コマンド保持部
１０２ａ〜１０２ｃ  レジスタ
１０２ｄ  セレクタ
１０３  コマンド出力制御部
１０４  メモリＩ／Ｆ部
１０５  メモリ
１０６  ページ境界分割部
１０７  サブコマンド保持部
１０８  属性情報保持部
１０９  アクセス領域分割部
１１０  サブコマンド個数比較部
１１１  サイズ比較部
１１２  サイズ判定部
１１３  アドレス比較部
２００  コマンド出力制御装置
２０３  コマンド出力制御部
２０４  メモリＩ／Ｆ部
２０８  属性情報保持部
２１２  リード／ライト属性判断部
２１３  ライト・サブコマンド依存関係検出部
２１４  リード・サブコマンド依存関係検出部
２１５  バッファ
【図１】
0004733138.tif 000002
【図２】
0004733138.tif 000003
【図３】
0004733138.tif 000004
【図４】
0004733138.tif 000005
【図５】
0004733138.tif 000006
【図６】
0004733138.tif 000007
【図７】
0004733138.tif 000008
【図８】
0004733138.tif 000009
【図９】
0004733138.tif 000010
【図１０】
0004733138.tif 000011
【図１１】
0004733138.tif 000012
【図１２】
0004733138.tif 000013
【図１３】
0004733138.tif 000014
【図１４】
0004733138.tif 000015
【図１５】
0004733138.tif 000016
【図１６Ａ】
0004733138.tif 000017
【図１６Ｂ】
0004733138.tif 000018
【図１７】
0004733138.tif 000019
【図１８】
0004733138.tif 000020
【図１９】
0004733138.tif 000021
【図２０】
0004733138.tif 000022
【図２１】
0004733138.tif 000023
【図２２】
0004733138.tif 000024
【図２３】
0004733138.tif 000025
【図２４】
0004733138.tif 000026