明 細 書
コマンド出力制御装置
技術分野
[0001] 本発明は、メモリにアクセスするコマンドの出力を制御するコマンド出力制御装置な どとして、特に、リード、ライト時において使用されるコマンドの出力を制御するコマン ド出力制御装置などに関する。
背景技術
[0002] 従来、 SDRAMなどのようなメモリに効率的にアクセスする技術が色々と提案されて いる。例えば、その中の一つとして、 SDRAMのバンクに対するアクセス特性を利用 して、バンクを交互にアクセスすることで、コマンド間のオーバヘッドを隠蔽する技術 が提案されている (例えば、特許文献 1及び 2参照。 )0
[0003] そして、近年の画像処理のように、複数のロウアドレスを含むコマンドによってメモリ 上にマッピングされたデータを矩形領域の単位でアクセスする場合にお 、ても、効率 よくアクセスすることが要求されて ヽる。
特許文献 1:特開 2001— 256106号公報
特許文献 2 :米国特許第 6819326号明細書
発明の開示
発明が解決しょうとする課題
[0004] し力しながら、従来の技術において、矩形領域の単位でアクセスすることが想定さ れていないので、複数のロウアドレスを含むコマンドを処理することができない。また、 コマンドによってアクセスされる記憶領域を複数の部分記憶領域に分割するにあたつ て、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが小さくなつ てしまう場合がある。
[0005] そこで、本発明は、上記問題に鑑みてなされたものであり、メモリ上にマッピングさ れたデータを矩形領域の単位でアクセスするときの効率を向上させるコマンド出力制 御装置を提供することを目的とする。
課題を解決するための手段
[0006] 上記目的を達成するために、本発明に係わるコマンド出力制御装置は、(a) (al) 第 1の記憶領域にアクセスするコマンドに基づいて生成された第 1のサブコマンド群と 、前記第 1の記憶領域とは異なるバンクに属する第 2の記憶領域にアクセスするコマ ンドに基づいて生成された第 2のサブコマンド群とを保持するサブコマンド保持手段 と、(a2)サブコマンド群に属するサブコマンドの個数を、前記第 1のサブコマンド群と 前記第 2のサブコマンド群との間で比較する個数比較手段と、 (a3)前記個数比較手 段で比較された結果に基づ!、て、前記第 1の記憶領域と前記第 2の記憶領域との 、 ずれかから、個数の少な!/、方を分割対象の記憶領域として選択する記憶領域選択 手段と、(a4)サブコマンドによってアクセスされる部分記憶領域のサイズを、サブコマ ンド群に属するサブコマンド間で比較するサイズ比較手段と、 (a5)前記サイズ比較 手段で比較された結果に基づ!、て、前記分割対象の記憶領域を構成する部分記憶 領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域とし て選択する部分記憶領域選択手段と、 (a6)前記分割対象の部分記憶領域を分割し て得られた部分記憶領域ごとにサブコマンドを生成するサブコマンド生成手段と、 (a 7)前記サブコマンド保持手段で保持されて 、るサブコマンドの中から、前記分割対 象の部分記憶領域にアクセスするサブコマンドを、前記サブコマンド生成手段で生成 されたサブコマンド群で置き換えるサブコマンド置換手段と、 (a8)前記第 1のサブコ マンド群と前記第 2のサブコマンド群とから交互にサブコマンドをメモリへ出力するサ ブコマンド出力手段とを備えることを特徴とする。
[0007] これによつて、複数のロウアドレスを含むコマンドによってメモリ上にマッピングされ たデータを矩形領域の単位でアクセスする場合にぉ 、ても、サブコマンドの個数を合 わせて交互に出力するので、バンクを切り替えながら効率よくアクセスすることができ る。さらに、分割対象の部分記憶領域として所定のサイズ以上の部分記憶領域が選 択される。このため、オーバヘッドを隠蔽することができるサイズに所定のサイズを設 定することで、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが 小さくなることを抑制することができる。
[0008] さらに、(b)前記コマンド出力制御装置は、(bl)サブコマンドによってアクセスされ る部分記憶領域のサイズを特定するサイズ特定手段を備え、 (b2)前記サブコマンド
出力手段は、前記サイズ特定手段で特定された結果に基づいて、前記サブコマンド 保持手段で保持されて!、るサブコマンドの中から、所定のサイズ未満の部分記憶領 域にアクセスするサブコマンドを後に出力するとしてもよい。
[0009] これによつて、部分記憶領域のサイズが小さいサブコマンドが生成されてオーバへ ッドが途中で入ることを防ぐことができる。
[0010] または、(c)前記コマンド出力制御装置は、(cl)前記サブコマンド保持手段で保持 されて!/、るサブコマンドの中から、他種のサブコマンドと依存関係のない同種のサブ コマンドを種別するサブコマンド種別手段を備え、 (c2)前記サブコマンド出力手段は 、前記サブコマンド種別手段で種別された前記同種のサブコマンドを連続して出力 するとしてちょい。
[0011] これによつて、リード'サブコマンドとライト'サブコマンドとの間にオーバヘッドが入る 機会を削減することができる。
[0012] または、(d)前記コマンド出力制御装置は、(dl)前記サブコマンド保持手段で保持 されて 、るサブコマンドの中から、同一の部分記憶領域にアクセスするライト ·サブコ マンド群を検出するライト'サブコマンド依存関係検出手段を備え、(d2)前記サブコ マンド出力手段は、前記ライト'サブコマンド依存関係検出手段で検出された結果に 基づいて、前記ライト'サブコマンド群のうち、出力順番が先のライト'サブコマンドを 廃棄し、出力順番が後のライト'サブコマンドを出力するとしてもよい。
[0013] これによつて、重複するライト ·サブコマンドを省略することができ、アクセス効率を向 上させることができる。
[0014] または、(e)前記コマンド出力制御装置は、(el)前記サブコマンド保持手段で保持 されているサブコマンドの中から、同一の部分記憶領域にアクセスするリード'サブコ マンド群を検出するリード'サブコマンド依存関係検出手段を備え、(e2)前記サブコ マンド出力手段は、前記リード'サブコマンド依存関係検出手段で検出された結果に 基づいて、前記リード'サブコマンド群のうち、出力順番が先のリード'サブコマンドを 出力し、出力順番が後のリード'サブコマンドを廃棄するとしてもよい。
[0015] さらに、(f)前記コマンド出力制御装置は、(fl)前記メモリから読み出されたデータ を一時的に保持するバッファを備え、(f 2)前記サブコマンド出力手段は、出力順番
が先のリード'サブコマンドを出力したときに、前記メモリから読み出したデータを前記 ノ ッファに一時的に保持しておき、出力順番が後のリード'サブコマンドを出力すると きに、前記バッファ力も前記データを読み出すとしてもよい。
[0016] これによつて、重複するリード'サブコマンドを省略することができ、アクセス効率を 向上させることができる。
[0017] または、(g)前記コマンド出力制御装置は、(gl)サブコマンドによってアクセスされ る部分記憶領域のアドレスを、サブコマンド群に属するサブコマンド間で比較するアド レス比較手段と、(g2)前記アドレス比較手段で比較された結果に基づいて、前記サ ブコマンド保持手段で保持されているサブコマンドの中から、先に出力されたサブコ マンドによってアクセスされた部分記憶領域のアドレス力 の遷移が小さいサブコマ ンドを選択するサブコマンド選択手段とを備え、 (g3)前記サブコマンド出力手段は、 前記サブコマンド選択手段で選択されたサブコマンドを出力するとしてもよい。
[0018] これによつて、アクセス効率を下げることなぐアドレスバスの消費電力を下げること ができる。
[0019] なお、本発明は、コマンド出力制御装置として実現される以外に、コマンド出力制 御装置を制御するコマンド出力制御方法、コマンド出力制御装置の機能が組み込ま れた LSI (Large Scale Integration)、その機能を FPGA (Field Programmable Gate Ar ray) CPLD (Complex Programmable Logic Device)などのプログラマブノレ 'ロジック' デバイスに形成する IP (Intellectual Property)コア、その IPコアを記録した記録媒体 などとして実現されるとしてもよ!/、。
発明の効果
[0020] 本発明によれば、複数のロウアドレスを含むコマンドによってメモリ上にマッピングさ れたデータを矩形領域の単位でアクセスする場合にぉ 、ても、サブコマンドの個数を 合わせて交互に出力するので、バンクを切り替えながら効率よくアクセスすることがで きる。
[0021] さらに、分割対象の部分記憶領域として所定のサイズ以上の部分記憶領域が選択 される。このため、オーバヘッドを隠蔽することができるサイズに所定のサイズを設定 することで、オーバヘッドを隠蔽することができないほど、部分記憶領域のサイズが小
さくなることを抑制することができる。また、部分記憶領域のサイズが小さいコマンドが 生成されてオーバヘッドが途中で入ることを防ぐことができる。
[0022] さらに、リード'サブコマンドとライト'サブコマンドとの間にオーバヘッドが入る機会を 削減することができる。また、重複するライト'サブコマンドやリード'サブコマンドを省 略することができ、アクセス効率を向上させることができる。
[0023] そして、アクセス効率を下げることなぐアドレスの遷移を小さくし、アドレスバスの消 費電力を下げることができる。
図面の簡単な説明
[0024] [図 1]図 1は、本発明に係わる実施の形態 1におけるコマンド出力制御装置の構成を 示す図である。
[図 2]図 2は、本発明に係わる実施の形態 1におけるページ境界分割部によってァク セス領域が分割される過程を示す図である。
[図 3]図 3は、本発明に係わる実施の形態 1におけるページ境界分割部とアクセス領 域分割部とによって分割されたアクセス領域の概要を示す図である。
[図 4]図 4は、本発明に係わる実施の形態 1におけるページ境界分割部とアクセス領 域分割部とによって生成された属性情報の概要を示す図である。
[図 5]図 5は、本発明に係わる実施の形態 1における属性情報保持部で保持される属 性情報のデータ構造を示す図である。
[図 6]図 6は、本発明に係わる実施の形態 1におけるコマンド出力制御装置において 実行されるコマンド出力制御処理を示す図である。
[図 7]図 7は、本発明に係わる実施の形態 1におけるコマンド出力制御装置において 実行されるコマンド変換処理を示す図である。
[図 8]図 8は、本発明に係わる実施の形態 1におけるコマンド出力制御装置において 実行されるページ境界分割処理を示す図である。
[図 9]図 9は、本発明に係わる実施の形態 1におけるコマンド出力制御装置において 実行されるアクセス領域分割処理を示す図である。
[図 10]図 10は、本発明に係わる実施の形態 1におけるコマンド出力制御装置におい て実行されるサブコマンド出力処理を示す図である。
[図 11]図 11は、本発明に係わる実施の形態 1におけるコマンド出力制御装置力 メ モリに出力される信号のタイミングチャートを示す図である。
[図 12]図 12は、本発明に係わる実施の形態 1におけるコマンド出力制御装置の比較 対象とする従来の形態におけるコマンド出力制御装置力 メモリに出力される信号の タイミングチャートを示す図である。
[図 13]図 13は、本発明に係わる実施の形態 1におけるコマンド出力制御装置の比較 対象とする従来の形態におけるコマンド出力制御装置力 メモリに出力される信号の タイミングチャートを示す図である。
[図 14]図 14は、本発明に係わる実施の形態 1におけるコマンド出力制御装置の比較 対象とする従来の形態におけるコマンド出力制御装置力 メモリに出力される信号の タイミングチャートを示す図である。
[図 15]図 15は、本発明に係わる実施の形態 2におけるコマンド出力制御装置の構成 を示す図である。
[図 16A]図 16Aは、本発明に係わる実施の形態 2におけるコマンド出力制御装置によ つて出力順が変更される概要例を示す第 1の図である。
[図 16B]図 16Bは、本発明に係わる実施の形態 2におけるコマンド出力制御装置によ つて出力順が変更される概要例を示す第 2の図である。
[図 17]図 17は、本発明に係わる実施の形態 2におけるライト'サブコマンド依存関係 検出部によって依存関係が検出される過程を示す図である。
[図 18]図 18は、本発明に係わる実施の形態 2におけるリード'サブコマンド依存関係 検出部によって依存関係が検出される過程を示す図である。
[図 19]図 19は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい て実行されるコマンド出力制御処理を示す第 1の図である。
[図 20]図 20は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい て実行されるコマンド出力制御処理を示す第 2の図である。
[図 21]図 21は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい て実行されるコマンド変換処理を示す図である。
[図 22]図 22は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい
て実行されるライト'サブコマンド依存関係検出処理を示す図である。
[図 23]図 23は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい て実行されるリード'サブコマンド依存関係検出処理を示す図である。
[図 24]図 24は、本発明に係わる実施の形態 2におけるコマンド出力制御装置におい て実行されるサブコマンド出力処理を示す図である。
符号の説明
100 コマンド出力制御装置
101 コマンド発行部
102 コマンド保持部
102a〜102c レジスタ
102d セレクタ
103 コマンド出力制御部
104 メモリ IZF部
105 メモリ
106 ページ境界分割部
107 サブコマンド保持部
108 属性情報保持部
109 アクセス領域分割部
110 サブコマンド個数比較部
111 サイズ比較部
112 サイズ判定部
113 アドレス比較部
200 コマンド出力制御装置
203 コマンド出力制御部
204 メモリ IZF部
208 属性情報保持部
212 リード/ライト属性判断部
213 ライト'サブコマンド依存関係検出部
214 リード'サブコマンド依存関係検出部
215 ノ ッファ
発明を実施するための最良の形態
[0026] (実施の形態 1)
以下、本発明に係わる実施の形態 1につ 、て図面を参照しながら説明する。
[0027] 本実施の形態におけるコマンド出力制御装置は、下記 (a)〜(c)に示される特徴を 備える。
[0028] (a) (al)第 1の記憶領域にアクセスするコマンドに基づいて生成された第 1のサブ コマンド群と、第 1の記憶領域とは異なるバンクに属する第 2の記憶領域にアクセスす るコマンドに基づいて生成された第 2のサブコマンド群とを保持するサブコマンド保持 機能と、(a2)サブコマンド群に属するサブコマンドの個数を、第 1のサブコマンド群と 第 2のサブコマンド群との間で比較する個数比較機能と、 (a3)個数比較機能で比較 された結果に基づいて、第 1の記憶領域と第 2の記憶領域とのいずれかから、個数の 少な 、方を分割対象の記憶領域として選択する記憶領域選択機能と、 (a4)サブコ マンドによってアクセスされる部分記憶領域のサイズを、サブコマンド群に属するサブ コマンド間で比較するサイズ比較機能と、 (a5)サイズ比較機能で比較された結果に 基づいて、分割対象の記憶領域を構成する部分記憶領域の中から、所定のサイズ 以上の部分記憶領域を分割対象の部分記憶領域として選択する部分記憶領域選択 機能と、 (a6)分割対象の部分記憶領域を分割して得られた部分記憶領域ごとにサ ブコマンドを生成するサブコマンド生成機能と、 (a7)サブコマンド保持機能で保持さ れているサブコマンドの中から、分割対象の部分記憶領域にアクセスするサブコマン ドを、サブコマンド生成機能で生成されたサブコマンド群で置き換えるサブコマンド置 換機能と、(a8)第 1のサブコマンド群と第 2のサブコマンド群とから交互にサブコマン ドをメモリへ出力するサブコマンド出力機能とを備える。
[0029] (b)コマンド出力制御装置は、サブコマンドによってアクセスされる部分記憶領域の サイズを特定するサイズ特定機能を備え、サブコマンド出力機能は、サイズ特定機能 で特定された結果に基づ ヽて、サブコマンド保持機能で保持されて ヽるサブコマンド の中から、所定のサイズ未満の部分記憶領域にアクセスするサブコマンドを後に出
力する。
[0030] (c)コマンド出力制御装置は、(cl)サブコマンドによってアクセスされる部分記憶領 域のアドレスを、サブコマンド群に属するサブコマンド間で比較するアドレス比較機能 と、(c2)アドレス比較機能で比較された結果に基づいて、サブコマンド保持機能で保 持されているサブコマンドの中から、先に出力されたサブコマンドによってアクセスさ れた部分記憶領域のアドレス力 の遷移が小さいサブコマンドを選択するサブコマン ド選択機能とを備え、(c3)サブコマンド出力機能は、サブコマンド選択機能で選択さ れたサブコマンドを出力する。
[0031] 以上の点を踏まえて、本実施の形態におけるコマンド出力制御装置について説明 する。なお、コマンドによってアクセスされる記憶領域を分割して得られた記憶領域の フラグメントを部分記憶領域と呼称する。部分記憶領域ごとに生成されたコマンドをサ ブコマンドと呼称する。サブコマンドの集まりをサブコマンド群と呼称する。また、サブ コマンドによってアクセスされる部分記憶領域を分割して得られた部分記憶領域のフ ラグメントも部分記憶領域と呼称する。コマンドによってアクセスされる記憶領域や、 サブコマンドによってアクセスされる部分記憶領域をアクセス領域と呼称する。
[0032] 先ず、本実施の形態におけるコマンド出力制御装置の構成について説明する。
[0033] 図 1は、本実施の形態におけるコマンド出力制御装置の構成を示す図である。図 1 に示されるように、コマンド出力制御装置 100は、コマンド発行部 101、コマンド保持 部 102、コマンド出力制御部 103、メモリ IZF部 104、メモリ 105、ページ境界分割部 106、サブコマンド保持部 107、属性情報保持部 108、アクセス領域分割部 109、サ ブコマンド個数比較部 110、サイズ比較部 111、サイズ判定部 112、アドレス比較部 1 13などを備える。
[0034] コマンド発行部 101は、メモリ 105にアクセスするコマンドを発行する。発行したコマ ンドをコマンド保持部 102へ出力する。
[0035] コマンド保持部 102は、コマンド発行部 101から出力されたコマンドを保持する。コ マンド出力制御部 103から出力された制御信号に応じて、保持しているコマンドをぺ ージ境界分割部 106へ出力する。ここでは、一例として、レジスタ 102a〜102c、セレ クタ 102dとから構成されているとする。そして、コマンド発行部 101から出力されたコ
マンドがレジスタ 102a〜102cのいずれかに保持される。コマンド出力制御部 103か ら出力された制御信号がセレクタ 102dに入力すると、入力した制御信号に応じて、 レジスタ 102a〜102cのいずれかがセレクタ 102dによって選択される。選択されたレ ジスタに保持されているコマンドがページ境界分割部 106へ出力される。
[0036] コマンド出力制御部 103は、コマンド保持部 102を制御して、コマンド保持部 102で 保持されているコマンドをページ境界分割部 106へ出力させる。また、メモリ IZF部 1 04を制御して、サブコマンド群に属するサブコマンドをメモリ IZF部 104からメモリ 10 5へ出力させる。
[0037] 例えば、コマンド保持部 102で保持されている複数のコマンドの中に、互いに異な るバンクにアクセスする第 1のコマンドと第 2のコマンドとが存在するとする。ここで、第 1のコマンドは、第 1のバンクに属する第 1の記憶領域にアクセスするコマンドである。 第 2のコマンドは、第 2のバンクに属する第 2の記憶領域にアクセスするコマンドであ る。この場合において、コマンド出力制御部 103は、複数のコマンドの中から、第 1の コマンドと第 2のコマンドとを選択する。コマンド保持部 102を制御して、選択した第 1 のコマンドと第 2のコマンドとをページ境界分割部 106へ出力させる。このとき、第 1の コマンドが保持されているレジスタを選択させる制御信号をセレクタ 102dに出力する 。また、第 2のコマンドが保持されているレジスタを選択させる制御信号をセレクタ 10 2dに出力する。
[0038] さらに、第 1のコマンドから第 1のサブコマンド群が生成され、第 2のコマンド力も第 2 のサブコマンド群が生成されたとする。この場合において、コマンド出力制御部 103 は、メモリ IZF部 104を制御して、第 1のサブコマンド群に属するサブコマンドと、第 2 のサブコマンド群に属するサブコマンドとを交互にメモリ IZF部 104からメモリ 105へ 出力させる。これによつて、メモリ 105の第 1のバンクと第 2のバンクとが交互にァクセ スされる。
[0039] また、コマンド出力制御部 103は、サイズ判定部 112で特定された結果に基づいて 、サブコマンド保持部 107で保持されているサブコマンドの中から、所定のサイズ未 満の部分記憶領域にアクセスするサブコマンドを後に出力する。
[0040] また、コマンド出力制御部 103は、アドレス比較部 113で比較された結果に基づい
て、サブコマンド保持部 107で保持されているサブコマンドの中から、先に出力され たサブコマンドによってアクセスされた部分記憶領域のアドレスからの遷移が小さい サブコマンドを選択する。メモリ IZF部 104を制御して、選択したサブコマンドをメモリ 105へ出力させる。
[0041] メモリ IZF部 104は、コマンド出力制御部 103で選択されたサブコマンドをサブコマ ンド保持部 107から取り出し、取り出したサブコマンドをメモリ 105へ出力する。
[0042] メモリ 105は、ここでは、一例として、多バンク構造の SDRAM (Synchronous Dynam ic Random Access Memory)とする。なお、メモリ 105は、コマンド出力制御装置 100 に内蔵されて 、るとしてもよ 、し、外付けされて 、るとしてもよ!/、。
[0043] ページ境界分割部 106は、コマンド保持部 102から出力されたコマンドが入力する と、入力したコマンドによってアクセスされる記憶領域をページ境界で分割する。この とき、その記憶領域を分割して得られた部分記憶領域にアクセスするサブコマンドを 生成する。そして、入力したコマンドからサブコマンド群を生成した場合は、入力した コマンドの代わりに、生成したサブコマンド群をサブコマンド保持部 107に格納する。 一方、生成しな力つた場合は、入力したコマンドをサブコマンドとしてサブコマンド保 持部 107に格納する。
[0044] サブコマンド保持部 107は、ページ境界分割部 106、アクセス領域分割部 109など で生成されたサブコマンド群などを保持する。ここでは、一例として、サブコマンド保 持部 107は、第 1のサブコマンド群と、第 2のサブコマンド群とを保持する。
[0045] 属性情報保持部 108は、サブコマンド群に属するサブコマンドの個数、各サブコマ ンドのアクセス領域のサイズなど、サブコマンド群ごとに登録されて 、る属性情報を保 持する。
[0046] アクセス領域分割部 109は、サブコマンド保持部 107で保持されているサブコマン ドの中力も分割対象のサブコマンドを選択し、選択したサブコマンドのアクセス領域を 分割する。このとき、さらに、そのサブコマンドからサブコマンド群を生成した場合は、 そのサブコマンドの代わりに、生成したサブコマンド群をサブコマンド保持部 107に格 納する。例えば、アクセス領域分割部 109は、サブコマンド個数比較部 110で比較さ れた結果に基づいて、比較対象とする二つのサブコマンド群に対して、サブコマンド
の個数が異なる力否かを判定する。判定した結果、サブコマンドの個数が異なる場合 は、サイズ比較部 111で比較された結果に基づいて、サブコマンドの個数が少ない サブコマンド群の中力もアクセス領域のサイズが最大のサブコマンドを分割対象のサ ブコマンドとして選択する。選択したサブコマンドのアクセス領域が閾値以上であるか 否かを判定する。判定した結果、閾値以上である場合は、選択したサブコマンドのァ クセス領域を分割する。分割して得られた部分記憶領域ごとに、サブコマンドを生成 する。選択したサブコマンドを、生成したサブコマンド群で置き換える。生成したサブ コマンド群に関する属性情報を生成する。生成した属性情報を属性情報保持部 108 に登録する。一方、閾値未満である場合は、アクセス領域を分割しない。ここで、閾 値として、オーバヘッドがでない値とする。
[0047] サブコマンド個数比較部 110は、サブコマンド群に属するサブコマンドの個数を、比 較対象となる二つのサブコマンド群の間で比較する。具体的には、サブコマンド個数 比較部 110は、サブコマンド群に属するサブコマンドの個数を、第 1のサブコマンド群 と第 2のサブコマンド群との間で比較する。比較した結果に基づいて、第 1の記憶領 域と第 2の記憶領域との 、ずれかから、個数の少な 、方を分割対象の記憶領域とし て選択する。
[0048] サイズ比較部 111は、サブコマンドによってアクセスされるアクセス領域のサイズを、 サブコマンド群に属するサブコマンドの間で比較する。具体的には、サイズ比較部 11
1は、サブコマンドのアクセス領域のサイズを、サブコマンド群に属するサブコマンドの 間で比較する。比較した結果に基づいて、分割対象の記憶領域を構成する部分記 憶領域の中から、所定のサイズ以上の部分記憶領域を分割対象の部分記憶領域と して選択する。
[0049] サイズ判定部 112は、サブコマンドによってアクセスされるアクセス領域のサイズを 特定する。例えば、出力対象のサブコマンド群に対して、サブコマンド群に属するサ ブコマンドのアクセス領域のサイズを総当りで比較して、アクセス領域のサイズが最大 のサブコマンドを特定したり、所定のサイズ未満のサブコマンドを特定したりする。
[0050] アドレス比較部 113は、サブコマンドによってアクセスされるアクセス領域のアドレス を、サブコマンド群に属するサブコマンドの間で比較する。例えば、サイズ判定部 11
2で該当すると判定された複数のサブコマンドの間で、ロウアドレスとカラムアドレスと を比較する。該当する複数のサブコマンドの中から、メモリ 105のアドレスバスの遷移 ビット数が小さ 、サブコマンドを選択する。
[0051] 次に、本実施の形態におけるページ境界分割部 106によってアクセス領域が分割 される過程にっ 、て説明する。
[0052] 図 2は、本実施の形態におけるページ境界分割部 106によってアクセス領域が分 割される過程を示す図である。図 2に示されるように、ページ境界分割部 106は、例 えば、コマンド 121のようにページを跨ぐコマンド Aが入力されると、コマンド Aによつ てアクセスされる記憶領域 (以下、アクセス領域 Aと呼称する。)をページ境界で分割 する。
[0053] ここで、図中にお 、て、アクセス領域 Aは、ハッチングされずに太枠で囲まれた矩形 領域であり、ベース Mを基準として、オフセット X (3)から PIXEL (4)分、オフセット Y( 3)力 LINE (4)分で示される記憶領域である。
[0054] そして、ページ境界分割部 106は、アクセス領域 Aをページ境界で分割して得られ たアクセス領域 Al、アクセス領域 A2、アクセス領域 A3、アクセス領域 A4のそれぞれ に対して、個別にサブコマンドを生成する。ここでは、サブコマンド群 122に示される ように、アクセス領域 A1にアクセスするサブコマンド Al、アクセス領域 A2にアクセス するサブコマンド A2、アクセス領域 A3にアクセスするサブコマンド A3、アクセス領域 A4にアクセスするサブコマンド A4が生成される。
[0055] ここで、図中において、アクセス領域 A1は、アクセス領域 Aの左上の部分に該当す る矩形領域であり、ロウ(0)、カラム(15)で示される記憶領域である。アクセス領域 A 2は、アクセス領域 Aの右上の部分に該当する矩形領域であり、ロウ(1)、カラム(12 , 13, 14)で示される記憶領域である。アクセス領域 A3は、アクセス領域 Aの左下の 部分に該当する矩形領域であり、ロウ(3)、カラム(3, 7, 11)で示される記憶領域で ある。アクセス領域 A4は、アクセス領域 Aの右下の部分に該当する矩形領域であり、 ロウ(4)、カラム(0, 1, 2, 4, 5, 6, 8, 9, 10)で示される記憶領域である。
[0056] 次に、本実施の形態におけるページ境界分割部 106とアクセス領域分割部 109と によって分割されたアクセス領域について説明する。
[0057] 図 3は、本実施の形態におけるページ境界分割部 106とアクセス領域分割部 109と によって分割されたアクセス領域の概要を示す図である。図 3に示されるように、ぺー ジ境界分割部 106は、例えば、コマンド 131aのようにページを跨ぐコマンド Aが入力 されると、コマンド Aによってアクセスされる記憶領域 (以下、アクセス領域 Aと呼称す る。)をページ境界で分割する。
[0058] ここで、図中にお!/、て、アクセス領域 Aは、左側に示されて!/、るバンク(0)の記憶領 域において太枠で囲まれた矩形領域であり、ベース Nを基準として、オフセット X (4) 力 PIXEL (3)分、オフセット Y (3)力 LINE (3)分で示されるバンク(0)の記憶領 域である。
[0059] そして、ページ境界分割部 106は、アクセス領域 Aをページ境界で分割して得られ たアクセス領域 Al、アクセス領域 A2のそれぞれに対して、個別にサブコマンドを生 成する。ここでは、サブコマンド群 132aに示されるように、アクセス領域 A1にアクセス するサブコマンド Al、アクセス領域 A2にアクセスするサブコマンド A2が生成される。
[0060] ここで、図中において、アクセス領域 A1は、アクセス領域 Aの上側の部分に該当す る矩形領域であり、ロウ(1)、カラム(12, 13, 14)で示されるバンク (0)の記憶領域で ある。アクセス領域 A2は、アクセス領域 Aの下側の部分に該当する矩形領域であり、 ロウ (4)、カラム (0, 1, 2, 4, 5, 6)で示されるバンク(0)の記憶領域である。
[0061] これとは、別に、ページ境界分割部 106は、例えば、コマンド 131bのようにページ を跨ぐコマンド Bが入力されると、コマンド Bによってアクセスされる記憶領域 (以下、 アクセス領域 Bと呼称する。)をページ境界で分割する。
[0062] ここで、図中において、アクセス領域 Bは、右側に示されているバンク(1)の記憶領 域において太枠で囲まれた矩形領域であり、ベース Mを基準として、オフセット X (3) 力も PIXEL (8)分、オフセット Y (4)力も LINE (1)分で示されるバンク(1)の記憶領 域である。
[0063] そして、ページ境界分割部 106は、アクセス領域 Bをページ境界で分割して得られ たアクセス領域 Bl、アクセス領域 B2、アクセス領域 B3のそれぞれに対して、個別に サブコマンドを生成する。ここでは、サブコマンド群 132bに示されるように、アクセス 領域 B1にアクセスするサブコマンド Bl、アクセス領域 B2にアクセスするサブコマンド
B2、アクセス領域 B3にアクセスするサブコマンド B3が生成される。
[0064] ここで、図中において、アクセス領域 B1は、アクセス領域 Bの左側の部分に該当す る矩形領域であり、ロウ(3)、カラム(3)で示されるバンク(1)の記憶領域である。ァク セス領域 B2は、アクセス領域 Bの中央の部分に該当する矩形領域であり、ロウ (4)、 カラム (0, 1, 2, 3)で示されるバンク(1)の記憶領域である。アクセス領域 B3は、ァク セス領域 Bの右側の部分に該当する矩形領域であり、ロウ(5)、カラム (0, 1, 2)で示 されるバンク(1)の記憶領域である。
[0065] ここで、サブコマンド群 132aとサブコマンド群 132bとから交互にサブコマンドが出 力されると、サブコマンド群 132aの個数(2)とサブコマンド群 132bの個数(3)とが同 じでないため、オーバヘッドが隠蔽されずに表れる場合がある。
[0066] そこで、オーバヘッドを隠蔽するために、サブコマンドの個数を合わせる必要がある 。なお、サブコマンドの個数を合わせるにあたって、サブコマンド群 132aの個数(2) とサブコマンド群 132bの個数(3)とを比較して、個数の少ないサブコマンド群 132a に対して、アクセス領域を分割してサブコマンドを増やす。
[0067] 具体的には、アクセス領域分割部 109は、サブコマンド群 132aの中から、アクセス 領域が最大のサブコマンドを選択する。ここでは、アクセス領域 A2が最大となるので 、サブコマンド A2が選択される。そして、アクセス領域 A2を分割し、アクセス領域 A2 を分割して得られたアクセス領域 A21、アクセス領域 A22のそれぞれに対して、個別 にサブコマンドを生成する。ここでは、サブコマンド群 133aに示されるように、ァクセ ス領域 A21にアクセスするサブコマンド A21、アクセス領域 A22にアクセスするサブ コマンド A22が生成される。
[0068] ここで、図中において、アクセス領域 A21は、アクセス領域 A2の上側の部分に該 当する矩形領域であり、ロウ (4)、カラム (0, 1, 2)で示されるバンク (0)の記憶領域 である。アクセス領域 A22は、アクセス領域 A2の下側の部分に該当する矩形領域で あり、ロウ (4)、カラム (4, 5, 6)で示されるバンク (0)の記憶領域である。
[0069] このようにして生成されたサブコマンド群 133aの個数とサブコマンド群 132bの個数 とが同じであるため、サブコマンド群 133aとサブコマンド群 132bとから交互にサブコ マンドを出力しても、オーバヘッドが表れずに隠蔽される。
[0070] なお、個数を合わせるにあたって、アクセス領域を分割しても、分割して得られたァ クセス領域のサイズが所定のサイズ未満になると、オーバヘッドが隠蔽されずに表れ る。このため、アクセス領域を分割するときは、所定のサイズ以上のアクセス領域を対 象とする。
[0071] 次に、本実施の形態におけるページ境界分割部 106とアクセス領域分割部 109と によって生成された属性情報について説明する。ここでは、図 3に示される場合を例 にする。
[0072] 図 4は、本実施の形態におけるページ境界分割部 106とアクセス領域分割部 109と によって生成された属性情報の概要を示す図である。図 4に示されるように、ページ 境界分割部 106は、例えば、コマンド 131aのようにページを跨ぐコマンド Aが入力さ れると、アクセス領域 Aをページ境界で分割する。このとき、 "コマンド A (2)、サブコマ ンド A1 (3)、サブコマンド A2 (6) "を含む属性情報 141aを生成し、生成した属性情 報 141 aを属性情報保持部 108に登録する。
[0073] ここで、 "コマンド A (2) "とは、コマンド Aに基づいて生成されたサブコマンドの個数 力 S 2であることが示される。また、 "サブコマンド A1 (3) "とは、アクセス領域 A1のサイ ズが 3であることが示される。 "サブコマンド A2 (6) "とは、アクセス領域 A2のサイズが 6であることが示される。
[0074] また、ページ境界分割部 106は、例えば、コマンド 131bのようにページを跨ぐコマ ンド Bが入力されると、アクセス領域 Bをページ境界で分割する。このとき、 "コマンド B (3)、サブコマンド Bl (1)、サブコマンド B2 (4)、サブコマンド B3 (3) "を含む属性情 報 141bを生成し、生成した属性情報 141bを属性情報保持部 108に登録する。
[0075] ここで、 "コマンド B (3) "とは、コマンド Bに基づいて生成されたサブコマンドの個数 力 S3であることが示される。また、 "サブコマンド Bl (l) "とは、アクセス領域 B1のサイズ 力 であることが示される。 "サブコマンド B2 (4) "とは、アクセス領域 B2のサイズが 4 であることが示される。 "サブコマンド B3 (3) "とは、アクセス領域 B3のサイズが 3であ ることが示される。
[0076] さらに、アクセス領域分割部 109は、サブコマンドの個数を合わせるにあたって、サ ブコマンド群 132aの中から、アクセス領域が最大のサブコマンドを選択する。ここで
は、アクセス領域 A2が最大となるので、サブコマンド A2が選択される。そして、ァクセ ス領域 A2を分割し、アクセス領域 A2を分割して得られたアクセス領域 A21、ァクセ ス領域 A22のそれぞれに対して、個別にサブコマンドを生成する。ここでは、サブコ マンド群 134a〖こ示されるよう〖こ、アクセス領域 A21にアクセスするサブコマンド A21、 アクセス領域 A22にアクセスするサブコマンド A22が生成される。このとき、 "サブコマ ンド A2 (2)、サブコマンド A21 (3)、サブコマンド A22 (3) "を含む属性情報 142aを 生成し、生成した属性情報 142aを属性情報保持部 108に登録する。
[0077] ここで、 "サブコマンド A2 (2) "とは、サブコマンド A2に基づいて生成されたサブコ マンドの個数が 2であることが示される。また、 "サブコマンド A21 (3) "とは、アクセス 領域 A21のサイズが 3であることが示される。 "サブコマンド A22 (3) "とは、アクセス 領域 A22のサイズが 3であることが示される。
[0078] 次に、本実施の形態における属性情報保持部 108で保持される属性情報のデータ 構造について説明する。
[0079] 図 5は、本実施の形態における属性情報保持部 108で保持される属性情報のデー タ構造を示す図である。図 5に示されるように、属性情報 150には、コマンドごとに、 " コマンド(サブコマンドの個数)、サブコマンド(アクセス領域のサイズ)、 · · · "(レコード 151)が登録される。
[0080] 例えば、図 4に示される場合では、 "コマンド A (3)、サブコマンド A1 (3)、サブコマ ンド A21 (3)、サブコマンド A22 (3) " (レコード 152)、 "コマンド B (3)、サブコマンド B 1 (1)、サブコマンド B2 (4)、サブコマンド B3 (3) " (レコード 153)が登録される。
[0081] 次に、本実施の形態におけるコマンド出力制御装置 100の動作について説明する
[0082] 図 6は、本実施の形態におけるコマンド出力制御装置 100において実行されるコマ ンド出力制御処理を示す図である。図 6に示されるように、コマンド出力制御装置 10 0は、下記のコマンド出力制御処理 (S101)〜(S109)を繰り返し実行する。
[0083] (S101)コマンド出力制御部 103は、コマンド保持部 102でコマンドが保持されてい る力否かを判定する。判定した結果、コマンドが保持されている場合は(S101 : Yes) 、下記の処理 (S102)を実行する。一方、コマンドが保持されていない場合は(S 101
: No)、再度、処理 (S 101)を実行する。
[0084] (S102)コマンド出力制御部 103は、コマンド保持部 102で複数のコマンドが保持 されている力否かを判定する。判定した結果、複数のコマンドが保持されている場合 は(S 102 : Yes)、下記の処理 (S 103)を実行する。一方、複数のコマンドが保持され て ヽな 、場合は(S 102: No)、下記の処理(S 107)を実行する。
[0085] (S103)コマンド出力制御部 103は、コマンド保持部 102で保持されている複数の コマンドの中に、互 ヽに異なるバンクにアクセスするコマンドが存在するか否かを判定 する。判定した結果、存在する場合は(S 103 : Yes)、下記の処理(S 104)〜(S 106 )を実行する。一方、存在しない場合は(S 103 : No)、下記の処理 (S 108)を実行す る。このとき、レジスタ 102a〜102cに保持されているコマンドの中から、異なるバンク にアクセスするコマンドを見つけ出すに当たって、総当りで探索するとしてもよいし、 発行された順番を保持してお!ヽて、発行された順に探索するとしてもよ!ヽ。
[0086] ここでは、一例として、第 1のコマンドと第 2のコマンドとがコマンド発行部 101から順 に発行されたとする。
[0087] (S104)コマンド出力制御部 103は、複数のコマンドの中から、第 1のコマンドを選 択する。コマンド保持部 102を制御して、選択した第 1のコマンドを出力させる。そし て、出力させた第 1のコマンドに対して、コマンド変換処理 (例えば、図 7参照。)を実 行させる。このとき、第 1のコマンドを保持しているレジスタが選択される制御信号をセ レクタ 102dに出力する。
[0088] ここでは、一例として、コマンド変換処理が実行されて、第 1のコマンド力 第 1のサ ブコマンド群が生成されたとする。
[0089] (S105)コマンド出力制御部 103は、複数のコマンドの中から、第 2のコマンドを選 択する。コマンド保持部 102を制御して、選択した第 2のコマンドを出力させる。そし て、出力させた第 2のコマンドに対して、コマンド変換処理 (例えば、図 7参照。)を実 行させる。このとき、第 2のコマンドを保持しているレジスタが選択される制御信号をセ レクタ 102dに出力する。
[0090] ここでは、一例として、コマンド変換処理が実行されて、第 2のコマンド力 第 2のサ ブコマンド群が生成されるとする。
[0091] (S106)コマンド出力制御部 103は、メモリ iZF部 104を制御して、第 1のサブコマ ンド群と第 2のサブコマンド群とに対して、交互にサブコマンド出力処理 (例えば、図 1 0参照。)を実行させる。これに伴い、第 1のサブコマンド群に属するサブコマンドと、 第 2のサブコマンド群に属するサブコマンドとが交互にメモリ I/F部 104力もメモリ 10 5に出力される。これに伴ってメモリ 105の第 1のバンクと第 2のバンクとが交互にァク セスされる。そして、再度、上記の処理 (S101)を実行する。
[0092] (S107)コマンド出力制御部 103は、コマンド保持部 102を制御して、コマンド保持 部 102で保持されているコマンドを出力させる。そして、出力させたコマンドに対して 、コマンド変換処理 (例えば、図 7参照。)を実行させる。このとき、コマンドが保持され ているレジスタを選択させる制御信号をセレクタ 102dに出力する。そして、下記の処 理 (S 109)を実行する。
[0093] (S108)コマンド出力制御部 103は、コマンド保持部 102で保持されている複数の コマンドの中から、コマンドを選択する。コマンド保持部 102を制御して、選択したコ マンドを出力させる。そして、出力させたコマンドに対して、コマンド変換処理 (例えば 、図 7参照。)を実行させる。このとき、発行された順に選択するとしてもよいし、先に 出力させたコマンドの種類を保持しておいて、先に出力されたコマンドと同種のコマ ンドを優先して選択するとしてもよい。そして、下記の処理 (S 109)を実行する。
[0094] (S109)コマンド出力制御部 103は、メモリ iZF部 104を制御して、サブコマンド群 に対して、サブコマンド出力処理を実行させる。これに伴い、サブコマンド群に属する サブコマンド力 Sメモリ iZF部 104からメモリ 105に出力される。そして、再度、上記の 処理 (S 101)を実行する。
[0095] 図 7は、本実施の形態におけるコマンド出力制御装置 100において実行されるコマ ンド変換処理を示す図である。図 7に示されるように、コマンド出力制御装置 100は、 コマンド保持部 102からコマンドが出力されると、下記のコマンド変換処理 (S111) , ( S 112)を実行し、コマンド変換処理を終了する。
[0096] (S111)ページ境界分割部 106は、コマンド保持部 102から出力されたコマンドが 入力すると、入力したコマンドに対して、ページ境界分割処理 (例えば、図 8参照。 ) を実行する。このとき、入力したコマンドからサブコマンド群が生成された場合は、入
力したコマンドの代わりに、生成されたサブコマンド群をサブコマンド保持部 107に格 納する。一方、生成されない場合は、入力したコマンドをサブコマンドとしてサブコマ ンド保持部 107に格納する。
[0097] (S112)アクセス領域分割部 109は、所定のタイミングで、サブコマンド保持部 107 で保持されているサブコマンドに対して、アクセス領域分割処理 (例えば、図 9参照。 )を実行する。このとき、さらに、サブコマンドからサブコマンド群が生成された場合は 、そのサブコマンドの代わりに、生成されたサブコマンド群をサブコマンド保持部 107 に格納する。
[0098] 図 8は、本実施の形態 1におけるコマンド出力制御装置 100において実行されるぺ ージ境界分割処理を示す図である。図 8に示されるように、コマンド出力制御装置 10 0は、下記のページ境界分割処理 (S 121)〜(S127)を実行する。
[0099] (S121)ページ境界分割部 106は、入力したコマンドのアクセス領域がページを跨 ぐ力否かを判定する。判定した結果、ページを跨ぐ場合は(S121 : Yes)、下記の処 理 122)〜(3126)を実行し、ページ境界分割処理を終了する。一方、ページを 跨がない場合は(S 121 : No)、下記の処理 (S 127)を実行し、ページ境界分割処理 を終了する。
[0100] (S122)ページ境界分割部 106は、入力したコマンドのアクセス領域をページ境界 で分割する。このとき、アクセス領域が複数の領域 (以下、分割後のアクセス領域と呼 称する。 )に分割される。
[0101] (S123)ページ境界分割部 106は、分割後のアクセス領域ごとに、サブコマンドを 生成する。このとき、分割後のアクセス領域にアクセスするサブコマンドが生成される
[0102] (S124)ページ境界分割部 106は、生成したサブコマンド群をサブコマンド保持部 107に格納する。
[0103] (S125)ページ境界分割部 106は、生成したサブコマンド群に関する属性情報を 生成する。このとき、サブコマンド群に属するサブコマンドの個数と、各サブコマンドの アクセス領域のサイズとを含む属性情報が生成される。
[0104] (S126)ページ境界分割部 106は、生成した属性情報を属性情報保持部 108に
登録する。
[0105] (S127)ページ境界分割部 106は、入力したコマンドをサブコマンドとしてサブコマ ンド保持部 107に格納する。
[0106] 図 9は、本実施の形態におけるコマンド出力制御装置 100において実行されるァク セス領域分割処理を示す図である。図 9に示されるように、コマンド出力制御装置 10 0は、下記のアクセス領域分割処理 (S 131)〜(S138)を実行する。
[0107] (S131)アクセス領域分割部 109は、サブコマンド個数比較部 110で比較された結 果に基づいて、比較対象とする二つのサブコマンド群に対して、サブコマンドの個数 が異なる力否かを判定する。判定した結果、サブコマンドの個数が異なる場合は(S1 31 :Yes)、下記の処理(S132) , (S 133)を実行する。一方、サブコマンドの個数が 同じ場合は(S131 :No)、アクセス領域分割処理を終了する。
[0108] このとき、サブコマンド個数比較部 110は、比較対象となる二つのサブコマンド群に 対して、サブコマンド群に属するサブコマンドの個数に関する個数情報を、属性情報 保持部 108で保持されている属性情報カゝらそれぞれ取得する。それぞれ取得した二 つの個数情報を比較し、比較した結果をアクセス領域分割部 109に出力する。
[0109] (S132)アクセス領域分割部 109は、サイズ比較部 111で比較された結果に基づ V、て、サブコマンドの個数が少な!/、サブコマンド群からアクセス領域のサイズが最大 のサブコマンドを選択する。
[0110] (S133)アクセス領域分割部 109は、選択したサブコマンドのアクセス領域が閾値 以上であるか否かを判定する。判定した結果、閾値以上である場合は(S 133 : Yes) 、下記の処理 (SI 34)〜(SI 38)を実行する。一方、閾値未満である場合は(S 133 : No)、アクセス領域分割処理を終了する。
[0111] (S134)アクセス領域分割部 109は、選択したサブコマンドのアクセス領域を分割 する。
[0112] (S135)アクセス領域分割部 109は、分割後のアクセス領域ごとに、サブコマンドを 生成する。
[0113] (S136)アクセス領域分割部 109は、選択したサブコマンドを、生成したサブコマン ド群で置換する。
[0114] (S137)アクセス領域分割部 109は、生成したサブコマンド群に関する属性情報を 生成する。
[0115] (S138)アクセス領域分割部 109は、生成した属性情報を属性情報保持部 108に 登録する。
[0116] 図 10は、本実施の形態におけるコマンド出力制御装置 100において実行されるサ ブコマンド出力処理を示す図である。図 10に示されるように、コマンド出力制御装置 100は、下記のサブコマンド出力処理(S141)〜(S145)を実行する。
[0117] (S141)コマンド出力制御部 103は、サイズ判定部 112で判定された結果に基づ いて、出力対象とするサブコマンド群の中から、アクセス領域のサイズが最大のサブ コマンドを選択する。このとき、下記の処理 (S 142)をサイズ判定部 112に実行させる
[0118] そして、コマンド出力制御部 103は、メモリ IZF部 104を制御して、下記の処理 (S1 45)を実行させて、選択したサブコマンドをメモリ 105に出力させる。
[0119] (S142)サイズ判定部 112は、出力対象のサブコマンド群に対して、サブコマンド群 に属するサブコマンドのアクセス領域のサイズを総当りで比較して、アクセス領域のサ ィズが最大のサブコマンドを特定する。このとき、アクセス領域のサイズが最大のサブ コマンドが複数ある場合は、下記の処理 (S 143) , (S 144)をアドレス比較部 113に 実行させる。一方、アクセス領域のサイズが最大のサブコマンドが一つしかない場合 は、下記の処理 (S 143) , (S 144)を実行させずに、下記の処理 (S 145)をメモリ IZ F部 104に実行させる。
[0120] (S143)アドレス比較部 113は、サイズ判定部 112で該当すると判定された複数の サブコマンドに対して、サブコマンド間で、ロウアドレスとカラムアドレスとを比較する。 そして、下記の処理 (S 144)を実行する。
[0121] (S144)アドレス比較部 113は、該当する複数のサブコマンドの中から、メモリ 105 のアドレスバスの遷移ビット数が小さいサブコマンドを選択する。そして、下記の処理
(S145)をメモリ IZF部 104に実行させる。
[0122] (S145)メモリ IZF部 104は、コマンド出力制御部 103で選択されたサブコマンドを サブコマンド保持部 107から取り出し、取り出したサブコマンドをメモリ 105に出力す
る。
[0123] ここで、本実施の形態におけるコマンド出力制御装置 100からメモリ 105に出力さ れる信号のタイミングチャートを用いながら動作例について説明する。
[0124] 図 11は、本実施の形態におけるコマンド出力制御装置 100からメモリ 105に出力さ れる信号のタイミングチャートを示す図である。図 11に示されるように、ここでは、一例 として、コマンド出力制御部 103は、メモリ IZF部 104を制御して、図 3に示されるサ ブコマンド群 133aとサブコマンド群 132bとを交互に出力する場合について説明する 。なお、サブコマンド Al、サブコマンド B2、サブコマンド A21、サブコマンド B3、サブ コマンド A22、サブコマンド B1の順で、メモリ IZF部 104からメモリ 105へ出力させる
[0125] 先ず、メモリ IZF部 104は、サブコマンド A1をデコードし、バンク(0)、ロウ(1)、カラ ム(12, 13, 14)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、 メモリ IZF部 104は、期間 T1において、ロウ信号 (Lowレベル)とアドレス信号(0Z1 )とをメモリ 105へ出力し、アクセス領域のロウアドレスを、バンク(0)、ロウ(1)に設定 する。期間 T3において、カラム信号 (Lowレベル)とアドレス信号(0Z12)とをメモリ 1 05へ出力し、アクセス領域のカラムアドレスを、バンク(0)、カラム(12)に設定する。 また、ライト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。 そして、期間 T3〜T5において、データ (A, Β, C)をメモリ 105へ出力し、バンク(0) 、ロウ(1)、カラム(12)力も順にデータを書き込む。なお、期間 Τ5において、ロウ信 号 (Lowレベル)、アドレス信号(0Ζ1)、プリチャージ信号をメモリ 105へ出力する。 バンク(0)、ロウ(1)をプリチャージさせる。
[0126] 次に、メモリ IZF部 104は、サブコマンド B2をデコードし、バンク(1)、ロウ(4)、カラ ム(0, 1, 2, 3)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、メ モリ IZF部 104は、期間 T4において、ロウ信号 (Lowレベル)とアドレス信号(1Z4) とをメモリ 105へ出力し、アクセス領域のロウアドレスを、バンク(1)、ロウ(4)に設定す る。期間 T6において、カラム信号 (Lowレベル)とアドレス信号(1Z0)とをメモリ 105 へ出力し、アクセス領域のカラムアドレスを、バンク(1)、カラム (0)に設定する。また、 ライト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。そして
、期間 T6〜T9において、データ(D, E, F, G)をメモリ 105へ出力し、バンク(1)、口 ゥ (4)、カラム (0)から順にデータを書き込む。なお、期間 T7において、ロウ信号 (Lo wレベル)、アドレス信号(1Z4)、プリチャージ信号をメモリ 105へ出力する。ノ ンク( 1)、ロウ(4)をプリチャージさせる。
[0127] 次に、メモリ IZF部 104は、サブコマンド A21をデコードし、バンク(0)、ロウ(4)、力 ラム (0, 1, 2)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、メ モリ IZF部 104は、期間 T8において、ロウ信号 (Lowレベル)とアドレス信号(0Z4) とをメモリ 105へ出力し、アクセス領域のロウアドレスを、バンク(0)、ロウ(4)に設定す る。期間 T10において、カラム信号 (Lowレベル)とアドレス信号(0Z0)とをメモリ 10 5へ出力し、アクセス領域のカラムアドレスを、バンク(0)、カラム (0)に設定する。また 、ライト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。そし て、期間 T10〜T12において、データ(Η, I, J)をメモリ 105へ出力し、バンク(0)、口 ゥ (4)、カラム (0)から順にデータを書き込む。なお、期間 T12において、ロウ信号 (L owレベル)、アドレス信号(0Z4)、プリチャージ信号をメモリ 105へ出力する。バンク (0)、ロウ(4)をプリチャージさせる。
[0128] 次に、メモリ IZF部 104は、サブコマンド B3をデコードし、バンク(1)、ロウ(5)、カラ ム(0, 1, 2)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、メモリ IZF部 104は、期間 T11において、ロウ信号 (Lowレベル)とアドレス信号(1Z5)と をメモリ 105へ出力し、アクセス領域のロウアドレスを、バンク(1)、ロウ(5)に設定する 。期間 T13において、カラム信号 (Lowレベル)とアドレス信号(1Z0)とをメモリ 105 へ出力し、アクセス領域のカラムアドレスを、バンク(1)、カラム (0)に設定する。また、 ライト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。そして 、期間 T13〜T15において、データ(K, L, Μ)をメモリ 105へ出力し、バンク(1)、口 ゥ(5)、カラム (0)から順にデータを書き込む。なお、期間 T15において、ロウ信号 (L owレベル)、アドレス信号(1Ζ5)、プリチャージをメモリ 105へ出力する。バンク(1) 、ロウ(5)をプリチャージさせる。
[0129] 次に、メモリ IZF部 104は、サブコマンド A22をデコードし、バンク(0)、ロウ(4)、力 ラム (4, 5, 6)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、メ
モリ IZF部 104は、期間 T14において、ロウ信号 (Lowレベル)とアドレス信号(0Z4 )とをメモリ 105へ出力し、アクセス領域のロウアドレスを、バンク(0)、ロウ(4)に設定 する。期間 T16において、カラム信号 (Lowレベル)とアドレス信号(0Z4)とをメモリ 1 05へ出力し、アクセス領域のカラムアドレスを、バンク(0)、カラム (4)に設定する。ま た、ライト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。そ して、期間 T16〜T18において、データ(Ν, Ο, Ρ)をメモリ 105へ出力し、バンク(0) 、ロウ (4)、カラム (4)から順にデータを書き込む。なお、期間 T18において、ロウ信 号(Lowレベル)、アドレス信号(0Ζ4)、プリチャージをメモリ 105へ出力する。バンク (0)、ロウ(4)をプリチャージさせる。
[0130] 次に、メモリ IZF部 104は、サブコマンド B1をデコードし、バンク(1)、ロウ(3)、カラ ム(3)にデータを書き込む制御信号群をメモリ 105へ出力する。このとき、メモリ IZF 部 104は、期間 T17において、ロウ信号 (Lowレベル)とアドレス信号(1Z3)とをメモ リ 105へ出力し、アクセス領域のロウアドレスを、バンク(1)、ロウ(3)に設定する。期 間 T19にお!/、て、カラム信号 (Lowレベル)とアドレス信号( 1Z3)とをメモリ 105へ出 力し、アクセス領域のカラムアドレスを、バンク(1)、カラム(3)に設定する。また、ライ ト信号 (Lowレベル)をメモリ 105へ出力し、データの書き込みを開始する。そして、期 間 T19において、データ (Q)をメモリ 105へ出力し、バンク(1)、ロウ(3)、カラム(3) にデータを書き込む。なお、期間 T18において、ロウ信号 (Lowレベル)、アドレス信 号 (0Z4)、プリチャージをメモリ 105へ出力する。バンク(0)、ロウ(4)をプリチャージ させる。
[0131] ここで、従来のコマンド出力制御装置 100によるタイミングチャートと比べながら、本 実施の形態におけるコマンド出力制御装置 100の利点について説明する。
[0132] 図 12〜図 14は、本実施の形態におけるコマンド出力制御装置 100の比較対象と する従来の形態におけるコマンド出力制御装置 100からメモリ 105に出力される信号 のタイミングチャートを示す図である。
[0133] 例えば、同じバンクの異なるロウアドレスにアクセスする場合において、従来のコマ ンド出力制御装置では、期間 Τ9〜Τ12において、異なるバンクに対してアクセスが なければ、オーバヘッドが隠蔽されずに表れる (例えば、図 12参照。 ) 0また、期間 Τ
9〜T10において、異なるバンクに対してアクセスしても、期間 Τ11〜Τ12において、 アクセスがなければ、オーバヘッドが隠蔽されずに表れる(例えば、図 13参照。 )0な お、期間 Τ9〜Τ12において、異なるバンクに対してアクセスがあれば、オーバヘッド が隠蔽されて表れない (例えば、図 14参照。 )0
[0134] これは、同じバンクの異なるロウアドレスにアクセスするときは、プリチャージをした後 でなければ、同じバンクの異なるロウにアクセスすることができないためである。
[0135] これに対して、本実施の形態におけるコマンド出力制御装置 100によれば、ァクセ ス領域を分割してアクセスすることができるので、オーバヘッドが入る期間に、異なる バンクに対するアクセスを挿入してオーバヘッドを隠蔽することができる。
[0136] 以上、本実施の形態におけるコマンド出力制御装置 100によれば、複数のロウアド レスを含むコマンドを処理することができ、メモリ上にマッピングされたデータを矩形単 位でアクセスする場合においても、効率よくアクセスすることができる。さら〖こ、コマン ドによってアクセスされる領域を複数の部分領域に分割するにあたって、閾値未満の アクセス領域を分割しないので、オーバヘッドを隠蔽することができないほど、部分領 域のサイズが小さくなることを抑制することができる。また、部分領域のサイズが小さい コマンドが生成されてオーバヘッドが途中で入ることを防ぐことができる。さらに、ァク セス効率を下げることなぐアドレスバスの消費電力を下げることができる。
[0137] (実施の形態 2)
次に、本発明に係わる実施の形態 2について図面を参照しながら説明する。
[0138] 本実施の形態におけるコマンド出力制御装置は、下記 (d)〜 (g)に示される特徴を 備える。
[0139] (d)コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブ コマンドの中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別 するサブコマンド種別機能を備え、サブコマンド出力機能は、コマンド種別機能で種 別された同種のサブコマンドを連続して出力する。
[0140] (e)コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブ コマンドの中から、同一の部分記憶領域にアクセスするライト'サブコマンド群を検出 するライト'サブコマンド依存関係検出機能を備え、サブコマンド出力機能は、ライト'
サブコマンド依存関係検出機能で検出された結果に基づいて、ライト ·サブコマンド 群のうち、出力順番が先のライト'サブコマンドを廃棄し、出力順番が後のライト'サブ コマンドを出力する。
[0141] (f)コマンド出力制御装置は、さらに、サブコマンド保持機能で保持されているサブ コマンドの中から、同一の部分記憶領域にアクセスするリード'サブコマンド群を検出 するリード'サブコマンド依存関係検出機能を備え、サブコマンド出力機能は、リード' サブコマンド依存関係検出機能で検出された結果に基づいて、リード ·サブコマンド 群のうち、出力順番が先のリード'サブコマンドを出力し、出力順番が後のリード'サブ コマンドを廃棄する。
[0142] (g)コマンド出力制御装置は、さらに、メモリから読み出されたデータを一時的に保 持するノ ッファ 215を備え、サブコマンド出力機能は、出力順番が先のリード'サブコ マンドを出力したときに、メモリから読み出したデータをバッファに一時的に保持して おき、出力順番が後のリード'サブコマンドを出力するときに、ノ ッファカもデータを読 み出す。
[0143] 以上の点を踏まえて本実施の形態におけるコマンド出力制御装置について説明す る。なお、実施の形態 1における構成要素と同一の構成要素については、同一の参 照符号を付して説明を省略する。また、部分記憶領域にデータを書き込むサブコマ ンドをライト'サブコマンドとする。部分記憶領域力もデータを読み出すサブコマンドを リード ·サブコマンドとする。
[0144] 先ず、本実施の形態におけるコマンド出力制御装置の構成について説明する。
[0145] 図 15は、本実施の形態におけるコマンド出力制御装置の構成を示す図である。図 15に示されるように、コマンド出力制御装置 200は、実施の形態 1におけるコマンド 出力制御装置 100と比べて、下記(1)〜(8)の点が異なる。
[0146] (1)コマンド出力制御部 103の代わりに、コマンド出力制御部 203を備える。
[0147] 例えば、リード'サブコマンド依存関係検出部 214で検出された結果、同一のァクセ ス領域にアクセスするリード'サブコマンド群がサブコマンド保持部 107で保持されて いるとする。この場合において、コマンド出力制御部 203は、メモリ IZF部 204を制御 して、そのリード'サブコマンド群のうち、出力順番が先のサブコマンドを出力させ、出
力順番が後のサブコマンドを廃棄させる。このとき、出力順番が先のサブコマンドを出 力させたときに、メモリ 105から読み出したデータをバッファ 215に一時的に保持して おき、出力順番が後のサブコマンドを出力させるときに、ノ ッファ 215からデータを読 み出す。
[0148] また、ライト'サブコマンド依存関係検出部 213で検出された結果、同一のアクセス 領域にアクセスするライト'サブコマンド群がサブコマンド保持部 107で保持されてい るとする。この場合において、コマンド出力制御部 203は、メモリ IZF部 204を制御し て、そのライト'サブコマンド群のうち、出力順番が先のサブコマンドを廃棄させ、出力 順番が後のサブコマンドを出力させる。
[0149] さらに、コマンド出力制御部 203は、メモリ IZF部 204を制御して、リード Zライト属 性判断部 212で種別された同種のサブコマンドを連続して出力させる。
[0150] (2)メモリ IZF部 104の代わりに、メモリ IZF部 204を備える。
[0151] メモリ IZF部 204は、コマンド出力制御部 203から入力される制御信号に応じて、 サブコマンド保持部 107で保持されているリード'サブコマンド群のうち、出力順番が 先のリード ·サブコマンドを出力し、出力順番が後のリード ·サブコマンドを廃棄する。 このとき、出力順番が先のリード'サブコマンドを出力するときに、メモリ 105から読み 出したデータをバッファ 215に一時的に保持しておき、出力順番が後のリード'サブコ マンドを出力するときに、ノ ッファ 215からデータを読み出す。
[0152] また、メモリ IZF部 204は、コマンド出力制御部 203から出力される制御信号に応じ て、ライト'サブコマンド群のうち、出力順番が先のライト'サブコマンドを廃棄し、出力 順番が後のライト'サブコマンドを出力する。
[0153] (3)属性情報保持部 108の代わりに、属性情報保持部 208を備える。
[0154] 属性情報保持部 208は、実施の形態 1における属性情報の内容に加えて、ここで は、一例として、下記 (a) , (b)に示される内容も含む属性情報を保持する。
[0155] (a) "コマンド (アクセス領域)、サブコマンド (アクセス領域) {重複フラグ }、サブコマ ンド (アクセス領域) {重複フラグ }、 · · · "のように、コマンドから生成されたサブコマンド 群をコマンドごとに対応付けたレコードが登録されている。
[0156] (b)サブコマンドごとに、重複フラグを設定することができる。なお、重複フラグの初
期値は 0とする。
[0157] (4)新たにリード Zライト属性判断部 212を備える。
[0158] リード Zライト属性判断部 212は、サブコマンド保持部 107で保持されているサブコ マンドの中から、他種のサブコマンドと依存関係のない同種のサブコマンドを種別す る。
[0159] (5)新たにライト'サブコマンド依存関係検出部 213を備える。
[0160] ライト'サブコマンド依存関係検出部 213は、サブコマンド保持部 107で保持されて いるサブコマンドの中から、同一のアクセス領域にアクセスするライト'サブコマンド群 を検出する。
[0161] (6)新たにリード'サブコマンド依存関係検出部 214を備える。
[0162] リード'サブコマンド依存関係検出部 214は、サブコマンド保持部 107で保持されて いるサブコマンドの中から、同一のアクセス領域にアクセスするリード'サブコマンド群 を検出する。
[0163] (7)新たにバッファ 215を備える。
[0164] ノッファ 215は、メモリ 105とメモリ IZF部 204との間に設けられており、メモリ 105力 ら読み出されたデータを一時的に保持する。
[0165] (8)サイズ判定部 112、アドレス比較部 113を備えない。
[0166] 次に、本実施の形態におけるコマンド出力制御装置 200によって出力順が変更さ れる過程につ!、て説明する。
[0167] 図 16A、図 16Bは、本実施の形態におけるコマンド出力制御装置 200によって出 力順が変更される概要例を示す図である。図 16Aに示されるように、リード [1]、リー ド [2]、ライト [1]、リード [3]、ライト [2]、ライト [3]の順で、コマンド群 221aがコマンド 発行部 101から発行されたとする。ここで、ライト [1]のアクセス領域とリード [3]のァク セス領域とが重ならな 、として、ライト [ 1]とリード [3]との間に依存関係がな 、とする。 そして、コマンド群 221aがコマンド発行時の順番でメモリ 105へ出力されると、リード [ 2]とライト [1]との間、ライト [1]とリード [3]との間、リード [3]とライト [2]との間のそれ ぞれにオーバヘッドが入る。
[0168] そこで、コマンド出力制御部 203は、リード Zライト属性判断部 212で判断された結
果に基づいて、コマンド群 221aのライト [1]とリード [3]との順番を入れ替える。そして 、順番を入れ替えたコマンド群 221a、すなわち、コマンド群 222aがコマンド出力時の 順番でメモリ 105へ出力されるとする。この場合において、リード [1]、リード [2]、リー ド [3]、ライト [1]、ライト [2]、ライト [3]の順に出力される。このとき、リード [3]とライト[ 1]との間にオーバヘッドが入る。
[0169] この例から、入れ替えを行わずに、コマンド発行時の順番でメモリ 105へ出力すれ ば、オーバヘッドが入る機会が 4回になる。一方、入れ替えを行い、コマンド出力時の 順番でメモリ 105へ出力すれば、オーバヘッドが入る機会が 1回になる。すなわち、 入れ替えを行うことによって、オーバヘッドが入る機会が 3回も削減される。
[0170] 同様に、図 16Bに示されるように、リード [4]、リード [5]、ライト [4]、リード [6]、ライ ト [5]、リード [7]の順で、コマンド群 221bがコマンド発行部 101から発行されたとす る。ここで、ライト [4]のアクセス領域とリード [6]のアクセス領域とが重なるとして、ライ ト [4]とリード [6]との間に依存関係があるとする。さらに、リード [6]のアクセス領域と ライト [5]のアクセス領域とが重ならな 、として、リード [6]とライト [5]との間に依存関 係がないとする。そして、コマンド群 221bがコマンド発行時の順番でメモリに出力さ れると、リード [5]とライト [4]との間、ライト [4]とリード [6]との間、リード [6]とライト [5] との間、ライト [5]とリード [7]との間のそれぞれにオーバヘッドが入る。
[0171] これに対して、コマンド出力制御部 203は、リード Zライト属性判断部 212で判断さ れた結果に基づいて、コマンド群 221bのリード [6]とライト [5]との順番を入れ替える 。そして、順番を入れ替えたコマンド群 221b、すなわち、コマンド群 222bがコマンド 出力時の順番でメモリ 105へ出力されるとする。この場合において、リード [4]、リード [5]、ライト [4]、ライト [5]、リード [6]、リード [7]の順に出力される。このとき、リード [ 5]とライト [4]との間、ライト [5]とリード [6]との間のそれぞれにオーバヘッドが入る。
[0172] この例から、入れ替えを行わずに、コマンド発行時の順番でメモリ 105に出力すれ ば、オーバヘッドが入る機会が 4回になる。一方、入れ替えを行い、コマンド出力時の 順番でメモリ 105へ出力すれば、オーバヘッドが入る機会が 2回になる。すなわち、 入れ替えを行うことによって、オーバヘッドが入る機会が 2回も削減される。
[0173] 次に、本実施の形態におけるライト'サブコマンド依存関係検出部 213によって依
存関係が検出される過程について説明する。
[0174] 図 17は、本実施の形態におけるライト'サブコマンド依存関係検出部 213によって 依存関係が検出される過程を示す図である。図 17に示されるように、ライト'サブコマ ンド依存関係検出部 213は、属性情報を参照し、属性情報に登録されているサブコ マンドの中から、アクセス領域が重複するサブコマンドを探す。重複するサブコマンド が見つ力ると、出力順番が先のサブコマンドの重複フラグを 1に設定して属性情報を 更新する。
[0175] 例えば、図 16Aに示されるライト [1]のコマンドをアクセス領域 A3にデータを書き込 むライト ·コマンド(以下、ライト'コマンド (A3)と呼称する。)とする。そして、アクセス領 域 A3が、アクセス領域 A31, A32, A33, A34に分割されて、ライト'サブコマンド( A31)、ライト'サブコマンド (A32)、ライト'サブコマンド (A33)、ライト'サブコマンド( A34)が生成されたとする。このとき、 "ライト'コマンド (A3)、ライト'サブコマンド (A3 1) {0}、ライト'サブコマンド (A32) {0}、ライト'サブコマンド (A33) {0}、ライト'サブ コマンド (A34) {0} "が属性情報 231に登録される。
[0176] また、図 16Aに示されるライト [3]のコマンドをアクセス領域 A4にデータを書き込む ライト ·コマンド(以下、ライト'コマンド (A4)と呼称する。)とする。そして、アクセス領域 A4が、アクセス領域 A41, A33に分割されて、ライト'サブコマンド (A41)、ライト'サ ブコマンド (A33)が生成されたとする。このとき、 "ライト'コマンド (A4)、ライト'サブコ マンド (A41) {0}、ライト'サブコマンド (A33) {0} "が属性情報 231に登録される。
[0177] そして、ライト'サブコマンド依存関係検出部 213は、重複するサブコマンドとして、 ライト,コマンド (A3)と対応付けられて 、るライト ·サブコマンド (A33)と、ライト 'コマン ド (A4)と対応付けられているライト'サブコマンド (A33)とを見つける。これに伴い、 属性情報 232に示されるように、先に出力されるライト'コマンド (A3)と対応付けられ て 、るライト ·サブコマンド (A33)の重複フラグに 1を設定する。
[0178] 次に、本実施の形態におけるリード'サブコマンド依存関係検出部 214によって依 存関係が検出される過程について説明する。
[0179] 図 18は、本実施の形態におけるリード'サブコマンド依存関係検出部 214によって 依存関係が検出される過程を示す図である。図 18に示されるように、リード'サブコマ
ンド依存関係検出部 214は、属性情報を参照し、属性情報に登録されているサブコ マンドの中から、アクセス領域が重複するサブコマンドを探す。重複するサブコマンド が見つ力ると、出力順番が先のサブコマンドの重複フラグを 1に設定して属性情報を 更新する。
[0180] 例えば、図 16Aに示されるリード [1]のコマンドをアクセス領域 A1にデータを書き 込むリード ·コマンド (以下、リード'コマンド (A1)と呼称する。)とする。そして、ァクセ ス領域 A1が、アクセス領域 Al l, A12, A13, A14に分割されて、リード'サブコマ ンド (Al l)、リード'サブコマンド (A12)、リード'サブコマンド(A13)、リード'サブコ マンド (A14)が生成されたとする。このとき、 "リード'コマンド (A1)、リード'サブコマ ンド (Al l) {0}、リード'サブコマンド (A12) {0}、リード'サブコマンド (A13) {0}、リ ード ·サブコマンド (A14) {0} "が属性情報 241に登録される。
[0181] また、図 16Aに示されるリード [3]のコマンドをアクセス領域 A2にデータを書き込む リード ·コマンド (以下、リード'コマンド (A2)と呼称する。)とする。そして、アクセス領 域 A2が、アクセス領域 A21、 A13に分割されて、リード'サブコマンド (A21)、リード •サブコマンド (A13)が生成されたとする。このとき、 "リード'コマンド (A2)、リード'サ ブコマンド (A21) {0}、リード'サブコマンド (A13) {0} "が属性情報 241に登録され る。
[0182] そして、リード'サブコマンド依存関係検出部 214は、重複するサブコマンドとして、 リード ·コマンド (A1)と対応付けられているリード'サブコマンド (A13)と、リード'コマ ンド (A2)と対応付けられて 、るリード ·サブコマンド (A13)とを見つける。これに伴!ヽ 、属性情報 242に示されるように、後に出力されるリード'コマンド (A2)と対応付けら れているリード'サブコマンド (A13)の重複フラグに 1を設定する。
[0183] 次に、本実施の形態におけるコマンド出力制御装置 200の動作について説明する
[0184] 図 19、図 20は、本実施の形態におけるコマンド出力制御装置 200において実行さ れるコマンド出力制御処理を示す図である。図 19、図 20に示されるように、コマンド 出力制御装置 200は、下記のコマンド出力制御処理 (S101) , (S102) , (S201)〜 (S218)を実行する。なお、処理 (S101)については、実施の形態 1におけるコマンド
出力制御処理 (例えば、図 6参照。)に含まれる処理 (S101)と同一の動作により、こ こでは説明を省略する。
[0185] (S102)コマンド出力制御部 203は、コマンド保持部 102で複数のコマンドが保持 されている力否かを判定する。判定した結果、複数のコマンドが保持されている場合 は(S102 :Yes)、下記の処理 (S201)を実行する。一方、複数のコマンドが保持され て ヽな 、場合は(S 102: No)、下記の処理(S211)を実行する。
[0186] (S201)コマンド出力制御部 203は、コマンド保持部 102で保持されている複数の コマンドの中から、コマンドを選択する。コマンド保持部 102を制御して、選択したコ マンドを出力させる。出力させたコマンドに対して、コマンド変換処理 (例えば、図 21 参照。)を実行させる。このとき、発行された順に選択するとしてもよいし、先に出力さ せたコマンドの種類を保持しておいて、先に出力されたコマンドと同種のコマンドを優 先して選択するとしてもよい。そして、下記の処理 (S202)を実行する。
[0187] (S202)コマンド出力制御部 203は、メモリ iZF部 204を制御して、サブコマンド群 に対して、サブコマンド出力処理 (例えば、図 24参照。)を実行させる。これに伴い、 サブコマンド群に属するサブコマンド力 Sメモリ iZF部 204力もメモリ 105へ出力される 。そして、再度、処理 (S 101)を実行する。
[0188] (S211)コマンド出力制御部 203は、発行された順に、リード'コマンドとライト'コマ ンドとに出力順番を割り当てる。そして、下記の処理 (S212)を実行する。
[0189] (S212)コマンド出力制御部 203は、リード'コマンドとライト'コマンドとの全ての組 合せに対して、下記の処理 (S213)〜(S217)を実行する。そして、全ての組合せに 対して、下記の処理 (S213)〜(S217)を実行すると、下記の処理 (S218)を実行す る。
[0190] (S213)コマンド出力制御部 203は、リード'コマンドがページ境界分割部 106へ先 に出力されたカゝ否かを判定する。判定した結果、先に出力された場合は(S213 : Ye s)、下記の処理 (S214)を実行する。一方、先に出力されていない場合は(S213 :N o)、下記の処理 (S217)を実行する。
[0191] (S214)コマンド出力制御部 203は、ライト'コマンドの方がリード'コマンドよりもコマ ンド発行部 101から先に発行されたか否かを判定する。判定した結果、先に発行さ
れた場合は(S214 :Yes)、下記の処理 (S215)を実行する。一方、後に発行された 場合は(S214 :No)、再度、上記の処理 (S212)を実行する。
[0192] (S215)コマンド出力制御部 203は、ライト'コマンドとリード'コマンドとの組合せに 対して、アクセス領域が重複しないか否かを判定する。判定した結果、重複しない場 合は(S215 :Yes)、下記の処理 (S216)を実行する。一方、重複する場合は(S215 : No)、再度、上記の処理 (S212)を実行する。
[0193] (S216)コマンド出力制御部 203は、リード'コマンドとライト'コマンドの組合せに対 して、出力順番を入れ替える。そして、再度、処理 (S212)を実行する。
[0194] (S217)コマンド出力制御部 203は、リード'コマンドの方がライト'コマンドよりもコマ ンド発行部 101から先に発行されたか否かを判定する。判定した結果、先に発行さ れた場合は(S217 :Yes)、上記の処理 (S215)を実行する。一方、後に発行された 場合は(S217 :No)、再度、上記の処理 (S212)を実行する。
[0195] (S218)コマンド出力制御部 203は、出力順番に従って、コマンドを選択し、コマン ド保持部 102を制御して、選択したコマンドを出力させる。そして、出力させたコマン ドに対して、コマンド変換処理 (例えば、図 21参照。)を実行させる。そして、上記の 処理 (S 202)を実行する。
[0196] 図 21は、本実施の形態におけるコマンド出力制御装置 200において実行されるコ マンド変換処理を示す図である。図 21に示されるように、コマンド出力制御装置 200 は、下記のコマンド変換処理 (S 111) , (S112) , (S221) , (S222)を実行する。な お、処理 (Si l l) , (S112)については、実施の形態 1におけるコマンド変換処理 (例 えば、図 7参照。)に含まれる処理 (S 111) , (S112)と同一の動作により、ここでは説 明を省略する。
[0197] (S221)ライト'サブコマンド依存関係検出部 213は、サブコマンド保持部 107で保 持されて!、るサブコマンドに対して、ライト ·サブコマンド依存関係検出処理 (例えば、 図 22参照。)を実行し、重複しているライト'サブコマンドを検出する。
[0198] (S222)リード'サブコマンド依存関係検出部 214は、サブコマンド保持部 107で保 持されているサブコマンドに対して、リード'サブコマンド依存関係検出処理 (例えば、 図 23参照。)を実行し、重複しているリード'サブコマンドを検出する。
[0199] 図 22は、本実施の形態におけるコマンド出力制御装置 200において実行されるラ イト'サブコマンド依存関係検出処理を示す図である。図 22に示されるように、コマン ド出力制御装置 200は、下記のライト'サブコマンド依存関係検出処理 (S231)〜(S 233)を実行する。
[0200] (S231)ライト'サブコマンド依存関係検出部 213は、全てのライト'サブコマンドの 組合せに対して、下記の処理(S232) , (S233)を実行する。そして、全ての組合せ に対して、下記の処理 (S232) , (S233)を実行すると、ライト'サブコマンド依存関係 検出処理を終了する。
[0201] (S232)ライト'サブコマンド依存関係検出部 213は、ライト'サブコマンドの組合せ に対して、同一のアクセス領域にアクセスするか否かを判定する。判定した結果、同 一のアクセス領域にアクセスする場合は(S232: Yes)、下記の処理(S233)を実行 する。一方、同一のアクセス領域にアクセスしない場合は(S232 : No)、次の組合せ に対して、処理 (S231)を実行する。
[0202] (S233)ライト'サブコマンド依存関係検出部 213は、属性情報保持部 208で保持 されている属性情報のうち、同一のアクセス領域にアクセスするライト'サブコマンド群 において出力順番が先のライト'サブコマンドについては、重複フラグを 1に設定する
[0203] 図 23は、本実施の形態におけるコマンド出力制御装置 200において実行されるリ ード 'サブコマンド依存関係検出処理を示す図である。図 23に示されるように、コマン ド出力制御装置 200は、下記のリード'サブコマンド依存関係検出処理 (S241)〜(S 243)を実行する。
[0204] (S241)リード'サブコマンド依存関係検出部 214は、全てのリード'サブコマンドの 組合せに対して、下記の処理(S242) , (S243)を実行する。そして、全ての組合せ に対して、下記の処理 (S242) , (S243)を実行すると、リード'サブコマンド依存関 係検出処理を終了する。
[0205] (S242)リード'サブコマンド依存関係検出部 214は、リード'サブコマンドの組合せ に対して、同一のアクセス領域にアクセスするか否かを判定する。判定した結果、同 一のアクセス領域にアクセスする場合は(S242: Yes)、下記の処理 (S243)を実行
する。一方、同一のアクセス領域にアクセスしない場合は(S242 : No)、次の組合せ に対して、処理 (S241)を実行する。
[0206] (S243)リード'サブコマンド依存関係検出部 214は、属性情報保持部 208で保持 されている属性情報のうち、同一のアクセス領域にアクセスするリード'サブコマンド 群において出力順番が後のリード'サブコマンドについては、重複フラグを 1に設定 する。
[0207] 図 24は、本実施の形態におけるコマンド出力制御装置 200において実行されるサ ブコマンド出力処理を示す図である。図 24に示されるように、コマンド出力制御装置 200は、下記のサブコマンド出力処理(S251)〜(S259) , (S145)を実行する。な お、処理 (S145)については、実施の形態 1におけるサブコマンド出力処理 (例えば 、図 10参照。)に含まれる処理 (S145)と同一の動作により、ここでは説明を省略する
[0208] (S251)コマンド出力制御部 203は、出力対象とするサブコマンド群の中から、サブ コマンドを選択する。そして、下記の処理 (S252)を実行する。
[0209] (S252)コマンド出力制御部 203は、リード Zライト属性判断部 212で判断された結 果に基づいて、選択したサブコマンドがリード'サブコマンドであるか否かを判定する 。判定した結果、リード'サブコマンドである場合は(S252 : Yes)、下記の処理(S25 3)を実行する。一方、リード'サブコマンドでない場合は(S252 :No)、下記の処理( S256)を実行する。このとき、リード Zライト属性判断部 212は、属性情報保持部 20 8で保持されて 、る属性情報を参照し、コマンド出力制御部 203で選択されたサブコ マンドの種類を特定し、特定した種類に関する情報をコマンド出力制御部 203へ出 力する。
[0210] (S253)コマンド出力制御部 203は、属性情報保持部 208で保持されている属性 情報を参照し、選択したサブコマンドの重複フラグが 0に設定されているか否かを判 定する。判定した結果、重複フラグが 0に設定されている場合は(S253 : Yes)、下記 の処理 (S254)をメモリ IZF部 204に実行させる。一方、重複フラグが 1に設定されて V、る場合は(S253: No)、下記の処理 (S255)をメモリ IZF部 204に実行させる。
[0211] (S254)メモリ IZF部 204は、コマンド出力制御部 203で選択されたサブコマンドを
サブコマンド保持部 107から取り出す。取り出したサブコマンドをメモリ 105へ出力す る。出力したサブコマンドによって特定されるアクセス領域力もデータを読み出す。そ して、サブコマンド出力処理を終了する。
[0212] (S255)メモリ IZF部 204は、コマンド出力制御部 203で選択されたサブコマンドを サブコマンド保持部 107から取り出す。取り出したサブコマンドをメモリ 105へ出力せ ずに廃棄する。廃棄したサブコマンドによって特定されるアクセス領域から予め読み 出されてバッファ 215に格納されているデータをバッファ 215から読み出す。そして、 サブコマンド出力処理を終了する。
[0213] (S256)コマンド出力制御部 203は、リード Zライト属性判断部 212で判断された結 果に基づいて、選択したサブコマンドがライト'サブコマンドである力否かを判定する。 判定した結果、ライト'サブコマンドである場合は(S256 : Yes)、下記の処理(S257) を実行する。一方、ライト'サブコマンドでない場合は(S256 : No)、下記の処理 (S1 45)を実行する。このとき、リード/ライト属性判断部 212は、属性情報保持部 208で 保持されている属性情報を参照し、コマンド出力制御部 203で選択されたサブコマン ドの種類を特定し、特定した種類に関する情報をコマンド出力制御部 203へ出力す る。
[0214] (S257)コマンド出力制御部 203は、属性情報保持部 208で保持されている属性 情報を参照し、選択したサブコマンドの重複フラグが 0に設定されているか否かを判 定する。判定した結果、重複フラグが 0に設定されている場合は(S257: Yes)、下記 の処理 (S258)をメモリ IZF部 204に実行させる。一方、重複フラグが 1に設定されて V、る場合は(S257: No)、下記の処理 (S259)をメモリ IZF部 204に実行させる。
[0215] (S258)メモリ IZF部 204は、コマンド出力制御部 203で選択されたサブコマンドを サブコマンド保持部 107から取り出す。取り出したサブコマンドをメモリ 105へ出力す る。出力したサブコマンドによって特定されるアクセス領域にデータを書き込む。そし て、サブコマンド出力処理を終了する。
[0216] (S259)メモリ IZF部 204は、コマンド出力制御部 203で選択されたサブコマンドを サブコマンド保持部 107から取り出す。取り出したサブコマンドをメモリ 105へ出力せ ずに廃棄する。そして、サブコマンド出力処理を終了する。
[0217] 以上、本実施の形態におけるコマンド出力制御装置 200によれば、リード'コマンド とライト'コマンドとの間にオーバヘッドが入る機会を削減することができる。また、重複 するライト'コマンドを省略することができ、アクセス効率を向上させることができる。さ らに、重複するリード'コマンドを省略することができ、アクセス効率を向上させることが できる。
[0218] (その他)
なお、コマンド出力制御装置は、コマンド出力制御装置の各機能が組み込まれた L SIによって実現されるとしてもょ 、。
[0219] なお、 LSIは、フノレカスタム LSI (Large Scale Integration)、 ASIC (Application Spec ific Integrated Circuit)などのようなセミカスタム LSI、 FPGA (Field Programmable Ga te Array)や CPLD (Complex Programmable Logic Device)などのようなプログラマブ ル ·ロジック ·デバイス、動的に回路構成が書き換え可能なダイナミック ·リコンフィギュ ラブル'デバイスに形成されるとしてもよい。
[0220] さらに、コマンド出力制御装置の各機能を LSIに形成する設計データは、ハードウ エア記述言語によって記述されたプログラム(以下、 HDLプログラムと呼称する。)とし てもよい。さらに、 HDLプログラムを論理合成して得られるゲート'レベルのネットリスト としてもよい。また、ゲート'レベルのネットリストに、配置情報、プロセス条件等を付カロ したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータ としてもよい。ここで、ハードウェア記述言語として、 VHDL (Very high speed integrat ed circuit Hardware Description Language)、 Verilog— HDL、 systemCaめる。
[0221] さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハード ウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記 録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そ して、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計デー タが、ダウンロードケーブルを介して、プログラマブル 'ロジック'デバイスにダウンロー ドされるとしてもよい。ここで、コンピュータシステム読み取り可能な記録媒体として、 光学記録媒体 (例えば、 CD— ROMなど。)、磁気記録媒体 (例えば、ハードディスク など。 )、光磁気記録媒体 (例えば、 MOなど。 )、半導体メモリ(例えば、メモリカード
など。)などがある。
[0222] または、設計データは、インターネット、ローカルエリアネットワークなどのようなネット ワークに接続されて 、るハードウェアシステムに保持されて!、るとしてもよ!/、。さらに、 ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとして もよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された 設計データが、ダウンロードケーブルを介して、プログラマブル'ロジック 'デバイスに ダウンロードされるとしてよい。ここで、ネットワークとして、地上放送網、衛星放送網、 PLC (Power Line Communication)、移動電話網、有線通信網(例えば、 IEEE802. 3など。)、無線通信網(例えば、 IEEE802. 11など。)がある。
[0223] または、設計データは、通電時に FPGAに転送され得るように、シリアル ROMに記 録しておくとしてもよい。そして、シリアル ROMに記録された設計データは、通電時 に、直接、 FPGAにダウンロードされるとしてもよい。
[0224] または、設計データは、通電時に、マイクロプロセッサによって生成されて、 FPGA にダウンロードされるとしてもよい。 産業上の利用可能性
[0225] 本発明は、メモリを制御するコマンドの出力を制御するコマンド出力制御装置などと して、特に、リード、ライト時において使用されるコマンドの出力を制御するコマンド出 力制御装置などとして、禾 IJ用することができる。