(57)【要約】【課題】  個別にメモリ等を用意しなくとも、性能を落とさずに転送効率及び応答性の両立を図ったメモリアクセス装置を提供する。【解決手段】  コーデック及びＣＰＵ（Central Processing Unit）等のようなマスターデバイスからのメモリに対するアクセスを制御するコマンドに基づいてＤＲＡＭ（Dynamic Random Access Memory）等のようなメモリに対するアクセスを行うＤＲＡＭインターフェース部７０と、コーデック等のような転送効率を重視するマスターデバイスからのメモリに対するアクセスを制御するコマンドよりも、ＣＰＵ等のような応答性を重視するマスターデバイスからのメモリに対するアクセスを制御するコマンドを優先してＤＲＡＭインターフェース部７０に出力するか否かを選択する選択部５０とを備える。【選択図】  図２
2006031124.tif 000002
【特許請求の範囲】
【請求項１】
マスターデバイスとメモリとの間において生じるデータ転送を仲介するメモリアクセス装置であって、
マスターデバイスからのメモリに対するアクセスを制御するコマンドに基づいて前記メモリに対するアクセスを行うメモリアクセス制御手段と、
前記メモリに対するアクセスを制御するコマンドである第１のコマンドよりも、前記メモリに対するアクセスを制御するコマンドであり前記第１のコマンドとは異なる第２のコマンドを優先して前記メモリアクセス制御手段に出力するか否かを選択する選択手段と
を備えることを特徴とするメモリアクセス装置。
【請求項２】
前記メモリアクセス装置は、前記コマンドに対して最適化処理を施し、前記メモリに対するアクセスが前記メモリアクセス制御手段によって最適に行われる１ないし２以上のコマンドを生成する最適化手段を備え、
前記選択手段は、（ａ）前記メモリアクセス制御手段によって最適に行われる１ないし２以上のコマンドを前記第２のコマンドから生成し、前記第１のコマンドよりも前記第２のコマンドから生成した１ないし２以上のコマンドを優先して前記メモリアクセス制御手段に出力するか、（ｂ）前記最適化処理が施されることによって生成された１ないし２以上のコマンドを前記メモリアクセス制御手段に出力するかを選択する
ことを特徴とする請求項１に記載のメモリアクセス装置。
【請求項３】
前記選択手段は、（ａ）前記第１のコマンドよりも前記第２のコマンドから生成した１ないし２以上のコマンドを優先して前記メモリアクセス制御手段に出力する場合には、前記第１のコマンドを前記最適化手段に出力し、（ｂ）前記最適化処理が施されることによって生成された１ないし２以上のコマンドを前記メモリアクセス制御手段に出力する場合には、前記第２のコマンドを前記最適化手段に出力する
ことを特徴とする請求項２に記載のメモリアクセス装置。
【請求項４】
前記最適化処理は、複数のステージを介して最適化する処理であり、
前記選択手段は、前記第２のコマンドを前記最適化手段に出力する場合には、前記最適化処理において最適化されるにあたっての開始ステージを選択する
ことを特徴とする請求項３に記載のメモリアクセス装置。
【請求項５】
前記最適化手段は、
前記最適化処理から前記メモリに対するアクセスが行われるまでに要する総転送サイクルをコマンドバースト数情報として前記選択手段に出力し、
前記選択手段は、
前記コマンドバースト数情報から算出したレイテンシーに基づいて、前記開始ステージを選択する
ことを特徴とする請求項４に記載のメモリアクセス装置。
【請求項６】
前記最適化手段は、
前記最適化処理から前記メモリに対するアクセスが行われるまでに要する総転送サイクルをコマンドバースト数情報として前記選択手段に出力し、
前記選択手段は、
前記コマンドバースト数情報から算出したレイテンシーに基づいて、前記第１のコマンドよりも前記第２のコマンドから生成した１ないし２以上のコマンドを優先して前記メモリアクセス制御手段に出力するか否かを選択する
ことを特徴とする請求項２に記載のメモリアクセス装置。
【請求項７】
前記メモリアクセス装置は、
前記コマンドを保持する第１一時記憶手段と、
前記第１一時記憶手段とは独立して前記コマンドを保持する第２一時記憶手段と
を備え、
前記第１のコマンドは、前記第１一時記憶手段に保持されているコマンドであり、
前記第２のコマンドは、前記第２一時記憶手段に保持されているコマンドである
ことを特徴とする請求項１に記載のメモリアクセス装置。
【請求項８】
前記メモリアクセス装置は、前記第１一時記憶手段及び前記第２一時記憶手段とは独立して、前記メモリに対するアクセスを制御するコマンドであり前記第１のコマンド及び前記第２のコマンドとは異なる第３のコマンドを保持する第３一時記憶手段を備え、
前記選択手段は、
前記第３一時記憶手段に保持されているコマンドを前記第２のコマンドよりも優先して前記メモリアクセス制御手段に出力するか否かを選択する
ことを特徴とする請求項７に記載のメモリアクセス装置。
【請求項９】
前記メモリアクセス装置は、
マスターデバイスからメモリに対するアクセスリクエストが発生すると、（ａ）アクセスリクエストを発生したマスターデバイスに割り当てられた識別情報が含まれ、（ｂ）アクセスリクエストの内容に応じたコマンドを発行するコマンド発行手段と、
前記コマンド発行手段において発行されたコマンドを受け取ると、（ａ）受け取ったコマンドに含まれる識別情報が、第１のマスターデバイスに割り当てられた識別情報の場合には、受け取ったコマンドを前記第１一時記憶手段に格納し、（ｂ）第２のマスターデバイスに割り当てられた識別情報の場合には、受け取ったコマンドを前記第２一時記憶手段に格納する調停手段と
を備えることを特徴とする請求項７に記載のメモリアクセス装置。
【請求項１０】
前記メモリアクセス装置は、メモリを構成する記憶素子に電荷を再補充するリフレッシュコマンドを発行するリフレッシュコマンド発行手段を備え、
前記選択手段は、
前記第２のコマンドよりも前記リフレッシュコマンドを優先して前記メモリアクセス制御手段に出力するか否かを選択する
ことを特徴とする請求項１に記載のメモリアクセス装置。
【請求項１１】
マスターデバイスとメモリとの間において生じるデータ転送を仲介するメモリアクセス方法であって、
マスターデバイスからのメモリに対するアクセスを制御するコマンドに基づいて前記メモリに対するアクセスを行うメモリアクセス制御ステップと、
前記メモリに対するアクセスを制御するコマンドである第１のコマンドよりも、前記メモリに対するアクセスを制御するコマンドであり前記第１のコマンドとは異なる第２のコマンドを優先して前記メモリアクセス制御ステップに渡すか否かを選択する選択ステップと
を含むことを特徴とするメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスターデバイスからのアクセスリクエストに応じてメモリにアクセスする装置等に関し、特に、コーデック及びプロセッサ等のようなマスターデバイスとメモリとの間において生じるデータ転送を仲介するメモリアクセス装置に関する。
【背景技術】
【０００２】
近年、画像やストリームデータを扱う処理にＤＲＡＭ（Dynamic Random Access Memory）等のようなメモリは欠くことができないものである。これに伴い、コーデック及びＣＰＵ（Central Processing Unit）等のようなマスターデバイスと、メモリとの間において効率良くデータ転送が行われるようにするために、これらのインターフェースとしてメモリアクセス装置が用いられている。
【０００３】
一般的に、メモリアクセス装置は、ＤＲＡＭに対してアクセスする時に発生するオーバーヘッドを軽減する方法が採用されている（例えば、特許文献１及び特許文献２を参照。）。これらは、ＤＲＡＭに対してアクセス要求が複数発生すると、同一バンクの異なるページへのアクセスが連続しないように、アクセス順の入れ換え（以下、バンクインターリーブと呼称する。）を行う。これにより、同一バンクの異なるページへのアクセス切換時に発生するオーバーヘッドが隠蔽されてメモリアクセスの効率が最大になる。
【０００４】
また、プロセッサが含まれるシステムにＤＲＡＭを適応する場合においては、（ａ）ＤＲＡＭからＳＲＡＭ等のようなキャッシュメモリへ一旦転送してＤＲＡＭからの見かけ上のアクセス応答速度を上げる、（ｂ）ＤＲＡＭバス上において発生するオーバーヘッドをある程度許容してもＤＲＡＭに対するアクセス処理が最短になるようにしてアクセス応答速度を上げる等の手法を用いて、プロセッサの性能が維持されている。
【特許文献１】特開平１０−２２８４１７号公報
【特許文献２】特開平１１−３５３８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の技術においては、バンクインターリーブを行うにあたって、アクセスリクエストを保持し、その前後のコマンドとバンク、バースト長を比較する必要があり、さらに、転送効率を上げようとすると、アクセス順の入れ換え処理に伴うレイテンシーが長くなる。また、プロセッサが含まれるシステムにＤＲＡＭを適用する場合においては、ＤＲＡＭバス上において発生するオーバーヘッドをある程度許容することによって転送効率が低下する。
【０００６】
これに対して、転送効率を重視してメモリアクセス装置に含まれる最適化回路のパイプラインを設計すると、ＤＲＡＭに対するアクセスリクエストが発生してからプロセッサにレスポンスが返ってくるまでのレイテンシーが長くなるため、応答性が低下する。これに伴い、プロセッサにおける処理待ち時間が長くなり、性能が低下するという問題がある。
【０００７】
「最適化回路」とは、ＤＲＡＭ上のオーバーヘッドを隠蔽することができる回路をいう。
逆に、応答性を重視してメモリアクセス装置に含まれる最適化回路のパイプラインを設計すると、ＤＲＡＭバス上においてオーバーヘッドが発生するため、転送効率が低下する。このため、バンド幅に、ある程度の余裕が必要になり、使用が制限されるという問題もある。
【０００８】
さらに、これらの問題から、同じパイプラインを用いてメモリアクセスする際に、性能を落とさずに転送効率及び応答性を両立することは困難であり、システムＬＳＩにする場合等において、性能を落とさずに転送効率及び応答性の両立を図るためには、高い転送効率が求められるメモリアクセスに特化したパイプラインとメモリ、及び高い応答性が求められるメモリアクセスに特化したパイプラインとメモリのように、個別に用意する必要があり、システムのコストアップ及び消費電力の増加を招くという問題もある。
【０００９】
そこで、本発明は、前記問題に鑑みてなされたものであり、個別にメモリ等を用意しなくとも、性能を落とさずに転送効率及び応答性の両立を図ったメモリアクセス装置等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明に係るメモリアクセス装置は、マスターデバイスとメモリとの間において生じるデータ転送を仲介するメモリアクセス装置であって、マスターデバイスからのメモリに対するアクセスを制御するコマンドに基づいて前記メモリに対するアクセスを行うメモリアクセス制御手段と、前記メモリに対するアクセスを制御するコマンドである第１のコマンドよりも、前記メモリに対するアクセスを制御するコマンドであり前記第１のコマンドとは異なる第２のコマンドを優先して前記メモリアクセス制御手段に出力するか否かを選択する選択手段とを備えることとする。
【００１１】
これによって、第１のコマンド及び第２のコマンドが同時に発生しても、又は第１のコマンドよりも少し遅れて第２のコマンドが発生しても、第２のコマンドについては、第１のコマンドよりも先にメモリアクセス制御手段に出力され得るという効果がある。
【００１２】
さらに、前記メモリアクセス装置は、前記コマンドに対して最適化処理を施し、前記メモリに対するアクセスが前記メモリアクセス制御手段によって最適に行われる１ないし２以上のコマンドを生成する最適化手段を備え、前記選択手段は、（ａ）前記メモリアクセス制御手段によって最適に行われる１ないし２以上のコマンドを前記第２のコマンドから生成し、前記第１のコマンドよりも前記第２のコマンドから生成した１ないし２以上のコマンドを優先して前記メモリアクセス制御手段に出力するか、（ｂ）前記最適化処理が施されることによって生成された１ないし２以上のコマンドを前記メモリアクセス制御手段に出力するかを選択することとしてもよい。
【００１３】
これによって、ＤＲＡＭに対するアクセスリクエストが発生してからレスポンスが返ってくるまでのレイテンシーが、最適化手段において最適化処理が施されることにより、長くなっても、第２のコマンドについては、メモリアクセス制御手段に直接出力されるため、不要に長くならないという効果がある。また、ＤＲＡＭ上のオーバーヘッドを隠蔽することができる最適化手段を経由させることが適応的に選択できるため、応答性を重視するマスターデバイスからのアクセスリクエストが発生することによって生じていたオーバーヘッドも低減することができ、バンド幅の低下を防ぐことができる。
【００１４】
さらに、前記選択手段は、（ａ）前記第１のコマンドよりも前記第２のコマンドから生成した１ないし２以上のコマンドを優先して前記メモリアクセス制御手段に出力する場合には、前記第１のコマンドを前記最適化手段に出力し、（ｂ）前記最適化処理が施されることによって生成された１ないし２以上のコマンドを前記メモリアクセス制御手段に出力する場合には、前記第２のコマンドを前記最適化手段に出力することとしてもよい。
【００１５】
これによって、第１のコマンド及び第２のコマンドが並行して処理されるため、不要にレイテンシーが長くなることが回避される。また、転送効率を重視して最適化されたコマンドの一群に第２のコマンドの割り込みが回避され、第２のコマンドの割り込みによって発生するオーバーヘッドが回避される。
【００１６】
さらに、前記最適化処理は、複数のステージを介して最適化する処理であり、前記選択手段は、前記第２のコマンドを前記最適化手段に出力する場合には、前記最適化処理において最適化されるにあたっての開始ステージを選択することとしてもよい。
【００１７】
これによって、第２のコマンドについては、先行するコマンドを最適化処理において追越すことができ、第１のコマンドよりも先にメモリアクセス制御手段に出力されるという効果がある。
【００１８】
または、前記メモリアクセス装置は、前記コマンドを保持する第１一時記憶手段と、前記第１一時記憶手段とは独立して前記コマンドを保持する第２一時記憶手段とを備え、前記第１のコマンドは、前記第１一時記憶手段に保持されているコマンドであり、前記第２のコマンドは、前記第２一時記憶手段に保持されているコマンドであることとしてもよい。
【００１９】
これによって、第２一時記憶手段に格納されたコマンドについては、第１一時記憶手段に先に格納されたコマンドよりもメモリアクセス制御手段に先に出力され得るという効果がある。
【００２０】
さらに、前記メモリアクセス装置は、前記第１一時記憶手段及び前記第２一時記憶手段とは独立して、前記メモリに対するアクセスを制御するコマンドであり前記第１のコマンド及び前記第２のコマンドとは異なる第３のコマンドを保持する第３一時記憶手段を備え、前記選択手段は、前記第３一時記憶手段に保持されているコマンドを前記第２のコマンドよりも優先して前記メモリアクセス制御手段に出力するか否かを選択することとしてもよい。
【００２１】
これによって、高い応答性が必要なアクセスが競合した場合には、それらのアクセスの間で優先順位をつけることができ、優先順位に応じてレイテンシーが固定化されるため、バンド幅の設計が容易にできるという効果がある。
【００２２】
さらに、前記メモリアクセス装置は、マスターデバイスからメモリに対するアクセスリクエストが発生すると、（ａ）アクセスリクエストを発生したマスターデバイスに割り当てられた識別情報が含まれ、（ｂ）アクセスリクエストの内容に応じたコマンドを発行するコマンド発行手段と、前記コマンド発行手段において発行されたコマンドを受け取ると、（ａ）受け取ったコマンドに含まれる識別情報が、第１のマスターデバイスに割り当てられた識別情報の場合には、受け取ったコマンドを前記第１一時記憶手段に格納し、（ｂ）第２のマスターデバイスに割り当てられた識別情報の場合には、受け取ったコマンドを前記第２一時記憶手段に格納する調停手段とを備えることとしてもよい。
【００２３】
これによって、転送効率を重視するコーデック等を第１のマスターデバイスとし、応答性を重視するＣＰＵ等を第２のマスターデバイスとすれば、個別にメモリ等を用意しなくとも、コーデック及びＣＰＵ等に対して、性能を落とさずに転送効率及び応答性の両立を図ることができる。これに伴い、システムのコストアップ及び消費電力の増加を招くことを回避することができる。
【００２４】
または、前記メモリアクセス装置は、メモリを構成する記憶素子に電荷を再補充するリフレッシュコマンドを発行するリフレッシュコマンド発行手段を備え、前記選択手段は、前記第２のコマンドよりも前記リフレッシュコマンドを優先して前記メモリアクセス制御手段に出力するか否かを選択することとしてもよい。
【００２５】
これによって、リフレッシュコマンドが定期的に発行されることによって生じる待ちを隠蔽することができる。
なお、本発明は、メモリアクセス装置として実現することができるだけではなく、マスターデバイスとメモリとの間において生じるデータ転送を仲介するメモリアクセス方法としても実現することもできる。
【発明の効果】
【００２６】
以上、本発明に係るメモリアクセス装置によれば、後から発行されたコマンドであっても、先に発行されたコマンドを追越すことができるため、転送効率が求められるコマンドが実行されるまで待たなくとも、応答性が求められるコマンドを間に挿入して実行することができる。
【００２７】
また、その際に、ＤＲＡＭ上のオーバーヘッドを隠蔽することができる最適化処理を施すことが適応的にできるため、高い応答性を求めるアクセスが発生しても、オーバーヘッドが発生し難く、バンド幅の低下を回避することができる。これによって、個別にメモリ等を用意しなくとも、性能を落とさずに転送効率及び応答性の両立を図ることができる。そして、個別にメモリを用意しない分、システムのコストアップ及び消費電力の増加を招くことを回避することができる。
【００２８】
さらに、高い応答性が必要なアクセスが競合した場合には、それらのアクセスの間で優先順位をつけることができ、優先順位に応じてレイテンシーが固定化されるため、バンド幅の設計が容易にできるという効果がある。
【００２９】
また、リフレッシュコマンドが定期的に発行されることによって生じていた待ちを隠蔽することができる。
【発明を実施するための最良の形態】
【００３０】
（実施の形態１）
以下、本発明の実施の形態１について、図面を参照しながら説明する。
図１は、本発明の実施の形態１におけるメモリアクセス装置を含むシステム構成を示すブロック図である。
【００３１】
同図に示されるように、メモリアクセス装置１は、ＤＲＡＭ（Dynamic Random Access Memory）等のようなメモリ（以下、単に、ＤＲＡＭと呼称する。）２と、コーデック及びＣＰＵ（Central Processing Unit）等のようなマスターデバイス（以下、単に、マスターデバイスと呼称する。）３〜４との間において生じするデータ転送を仲介する。さらに、マスターデバイス３〜５に対しては、ｎバイト（図中においてはｎＢと示す。）のデータを転送する入出力ポートを複数設け、ＤＲＡＭに対しては、ｍ（ここでは、ｍ≧ｎとする。）バイト（図中においてはｍＢと示す。）のデータを転送する入出力ポートを１つ設け、ＤＲＡＭを制御する信号を出力する制御ポートを１つ設けている。すなわち、個別にメモリを設けずとも、メモリアクセス装置１を介することによって、マスターデバイス３〜５が１つのＤＲＡＭ２を共有して使用することができる。
【００３２】
なお、マスターデバイス３〜５に対して設けられた入出力ポートのバンド幅を同一としてもよいし、ポート毎に異なるとしてもよい。
なお、メモリアクセス装置１は、マスターデバイス毎に応じた転送レートでデータ転送を行うものとする。
【００３３】
なお、（ａ）１のマスターデバイスに対して１の入出力ポートが、（ａ１）静的に割り当てられるとしてもよいし、（ａ２）動的に割り当てられるとしてもよいし、（ｂ）１のマスターデバイスに対して複数の入出力ポートが、（ｂ１）静的に割り当てられるとしてもよいし、（ｂ２）動的に割り当てられるとしてもよいし、これら（ａ１）、（ａ２）、（ｂ１）、（ｂ２）を組み合わせてもよい。
【００３４】
図２は、本発明の実施の形態１におけるメモリアクセス装置の構成を示すブロック図である。
同図に示されるように、メモリアクセス装置１は、マスターデバイス３〜５からのアクセスリクエストに応じてＤＲＡＭ２にアクセスする装置であり、コマンド発行部１０〜１４、調停部２０、第１一時記憶部３０、第２一時記憶部４０、選択部５０、最適化部６０、ＤＲＡＭインターフェース部７０、及びＦＩＦＯ８０を備える。
【００３５】
コマンド発行部１０〜１４は、マスターデバイス３〜５のいずれかからＤＲＡＭ２に対するアクセスリクエストが発生すると、アクセスリクエストに応じて論理コマンドを調停部２０に発行する。
【００３６】
「論理コマンド」とは、種別ＩＤ、論理アドレス、転送サイズ、アクセス種別等が含まれるコマンドをいう。
「種別ＩＤ」とは、コーデック、ＣＰＵ等のマスターデバイスごとに割り当てられた識別情報をいう。
【００３７】
「論理アドレス」とは、ＤＲＡＭに対して仮に想定したアドレス空間における相対アドレスをいう。
「転送サイズ」とは、データが連続して転送される長さを示すバースト数情報をいう。
【００３８】
「アクセス種別」とは、リード／ライト等のようにＤＲＡＭに対するアクセスの種別を示す情報をいう。
調停部２０は、コマンド発行部１０〜１４において発行された論理コマンドを受け取ると、受け取った論理コマンドに対して各コマンド発行部が必要とする転送レートに基づいたアクセス調停を行い、ＤＲＡＭにアクセスする順位を決定する。また、図には示されてはいないが、転送効率を重視するマスターデバイスと、応答性を重視するマスターデバイスとを、種別ＩＤで識別できるテーブルを保持している。さらに、予め保持しているテーブルを参照し、（ａ）受け取った論理コマンドの種別ＩＤに基づいて、（ａ１）受け取った論理コマンドが転送効率を重視するマスターデバイスからの要求に応じて発行されたものであるか、又は（ａ２）応答性を重視するマスターデバイスからの要求に応じて発行されたものであるかを判断する。（ｂ）判断した結果、（ｂ１）転送効率を重視するマスターデバイスからの要求に応じて発行されたものである場合には、第１一時記憶部３０に、（ｂ２）応答性を重視するマスターデバイスからの要求に応じて発行されたものである場合には、第２一時記憶部４０に、受け取った論理コマンドを格納する。
【００３９】
なお、調停部２０における調停方式としては、プライオリティベース方式及びラウンドロビン方式のいずれでもよい。また、転送レートに基づいて調停できれば、これら以外の調停方式でもよい。
【００４０】
「プライオリティベース方式」とは、転送レートが高い順或いはレイテンシーを必要とする順に優先順位をつける調停方式をいう。
「ラウンドロビン方式」とは、転送レートに比例した頻度で優先権を与える調停方式をいう。
【００４１】
第１一時記憶部３０及び第２一時記憶部４０は、調停部２０から格納された論理コマンドをキューで一時的に保持する。主として、第１一時記憶部３０には、転送効率を重視する論理コマンドが格納され、第２一時記憶部４０には、応答性を重視する論理コマンドが格納される。
【００４２】
選択部５０は、（ａ）第１一時記憶部３０及び第２一時記憶部４０のいずれかを入力源として選択する。また、（ｂ）選択した入力源から出力された論理コマンドに対して、（ｂ１）最適化部６０を経由してからＤＲＡＭインターフェース部７０に出力するか、（ｂ２）最適化部６０を経由せずに、直接、ＤＲＡＭインターフェース部７０に出力するかを選択する。
【００４３】
最適化部６０は、選択部５０において選択された入力源から論理コマンドを取り出し、取り出した論理コマンドに対して最適化処理を施す。
ここでは、一例として、最適化部６０において施される最適化処理として、予め保持されているメモリマップに従ってＤＲＡＭのバンクとページに応じた物理コマンドに論理コマンドを変換するものとする。また、ＤＲＡＭに対するアクセスを最適化して転送効率の向上に寄与する処理でもある。さらに、論理コマンドを物理コマンドに変換する際に、同一バンクで複数のページに跨る場合には、バンクインターリーブを行う。
【００４４】
「物理コマンド」とは、ＤＲＡＭのアドレス、バンク、バースト長等が含まれるコマンドをいう。
「バンクインターリーブ」とは、同一バンクの異なるページへのアクセスが連続しないようにアクセス順を入れ換えることをいう。
【００４５】
例えば、第１の論理コマンドに対して第１のバンクの第１のページをアクセスする第１の物理コマンド、第１のバンクの第２のページをアクセスする第２の物理コマンド、第２のバンクの第１のページをアクセスする第３の物理コマンド、及び第２のバンクの第２のページをアクセスする第４の物理コマンドに分割されて変換される場合を想定する。この場合においては、ＤＲＡＭに対して第１の物理コマンド、第２の物理コマンド、第３の物理コマンド、第４の物理コマンドの順にアクセスする代わりに、第２の物理コマンド及び第３の物理コマンドを入れ換えて第１の物理コマンド、第３の物理コマンド、第２の物理コマンド、第４の物理コマンドの順にアクセスする。これにより、同一バンクの異なるページにアクセスする際に生じるページ切換時のオーバーヘッド、つまり、異なるページをオープンする前に、既にオープンしている同一バンクのページをクローズする際に生じる遅れを隠蔽することができる。
【００４６】
そして、最適化部６０は、変換した物理コマンドに基づいてＤＲＡＭコマンドをＤＲＡＭインターフェース部７０に出力する。
「ＤＲＡＭコマンド」とは、ＤＲＡＭアクセスに必要な制御コマンド（BankActive、PreCharge、Read、Write等。）をいう。
【００４７】
ＤＲＡＭインターフェース部７０は、選択部５０から出力された物理コマンドを受け付け、受け付けた物理コマンドをＤＲＡＭ特有のアクセス制御信号へ変換してＤＲＡＭに対するアクセスを実施する。
【００４８】
ＦＩＦＯ（First In First Out）８０は、コマンド発行部１０〜１４のそれぞれに割り当てられたブロックから構成され、コマンド発行部１０〜１４が個別に格納したデータが先入れ先出し方式によって他のコマンド発行部とは独立して取り出される。
【００４９】
図３は、本発明の実施の形態１におけるメモリアクセス装置の選択部を中心とした詳細な構成を示すブロック図である。
同図に示されるように、選択部５０は、第１セレクタ５１、レイテンシー判別部５２、及び第２セレクタ５３を有する。また、最適化部６０は、レイテンシー検出部６５を有する。
【００５０】
第１セレクタ５１は、２入力１出力のセレクタであり、レイテンシー判別部５２から第１制御信号線５５を経由して入力される第１制御信号のレベル（Ｈｉｇｈ，Ｌｏｗ）に応じて、第１一時記憶部３０及び第２一時記憶部４０のいずれかを入力源として選択する。そして、選択した入力源から出力された論理コマンドを最適化部６０に出力する。
【００５１】
レイテンシー判別部５２は、最適化部６０に含まれるレイテンシー検出部６５からコマンドバースト数情報出力線６６を経由して入力されるコマンドバースト数情報を受け取り、受け取ったコマンドバースト情報に基づいて最適化部６０におけるレイテンシーを算出する。さらに、算出したレイテンシーに応じて第１制御信号及び第２制御信号のレベル（Ｈｉｇｈ，Ｌｏｗ）を組み合わせ、第１制御信号線５５を経由して第１セレクタに第１制御信号を出力し、第２制御信号線５６を経由して第２セレクタに第１制御信号を出力する。また、第２一時記憶部４０から論理コマンドを取り出し、取り出した論理コマンドを物理コマンドに変換して、取り出した論理コマンドから変換されることによって生成された１ないし２以上の物理コマンドを、第２セレクタ５３を経由してＤＲＡＭインターフェース部７０に出力する。
【００５２】
第２セレクタ５３は、２入力１出力のセレクタであり、レイテンシー判別部５２から第２制御信号線５６を経由して入力される第２制御信号のレベルに応じて、最適化部６０及びレイテンシー判別部５２のいずれかを入力源として選択する。そして、選択した入力源から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する。
【００５３】
レイテンシー検出部６５は、最適化部６０において保持されている各コマンドのＤＲＡＭ上での総転送サイクルを算出し、算出した総転送サイクルをコマンドバースト数情報としてコマンドバースト情報出力線６０を経由してレイテンシー判別部５２に出力する。
【００５４】
ここでは、一例として、第１セレクタ５１は、（ａ）第１制御信号が［Ｌｏｗ］である場合には、入力源として第１一時記憶部３０を選択し、（ｂ）第１制御信号が［Ｈｉｇｈ］である場合には、入力源として第２一時記憶部４０を選択するものとする。第２セレクタ５３は、（ａ）第２制御信号が［Ｌｏｗ］である場合には、入力源として最適化部６０を選択し、（ｂ）第２制御信号が［Ｈｉｇｈ］である場合には、入力源としてレイテンシー判別部５２を選択するものとする。
【００５５】
なお、第２一時記憶部４０において保持されている論理コマンドについては、最適化部６０以外に、レイテンシー判別部５２によっても取り出される。
図４は、本発明の実施の形態１におけるメモリアクセス装置の全体の概要構成を示すブロック図である。
【００５６】
同図に示されるように、（ａ）第１セレクタ５１は、第１一時記憶部３０及び第２一時記憶部４０のいずれかを入力源として選択する。これによって、後から調停部２０を通過して第２一時記憶部４０に入力された論理コマンドが、先に調停部２０を通過して第１一時記憶部３０に入力された論理コマンドを追越すことができる。
【００５７】
また、（ｂ）第２セレクタ５３は、選択した入力源から出力された論理コマンドに対して、（ｂ１）最適化部６０を経由してからＤＲＡＭインターフェース部７０に出力するか、（ｂ２）最適化部６０を経由せずに直接、すなわち、レイテンシー判別部５２を経由してからＤＲＡＭインターフェース部７０に出力するかを選択する。これによって、レイテンシー判別部５２から出力された物理コマンドを受け付けた場合には、レイテンシー判別部５２から第１ショートカット線５７を経由して入力されるため、最適化部６０において最適化処理が施された物理コマンドを待つ必要がない分、レイテンシーが大幅に短縮される。
【００５８】
しかし、論理コマンドが第１ショートカット線５７を経由してＤＲＡＭインターフェース部７０に直接入力されると、最適化部６０において最適化処理が施されている物理コマンドの間に挿入される場合がある。挿入された場合においては、（ａ）先行してＤＲＡＭインターフェース部７０に入力されている物理コマンドと、第１ショートカット線５７を経由して挿入される物理コマンドとの間、及び（ｂ）第１ショートカット線５７を経由して挿入された物理コマンドと、その挿入された物理コマンドの後に続いて最適化部６０から入力される物理コマンドとの間で、バンクとページにおいて競合する可能性がある。そして、競合する場合には、これらの物理コマンドに基づいてアクセスする際に、ＤＲＡＭアクセスルールに従ったオーバーヘッドが発生する。
【００５９】
これに対して、ＤＲＡＭインターフェース部７０においても、最適化部６０において採用される最適化回路を用いることによってオーバーヘッドを回避することができる。しかし、そのためにはＤＲＡＭインターフェース部７０においても、パイプライン処理が必要になり回路の増大とレイテンシーの増加を招くことになる。
【００６０】
そこで、レイテンシー判別部５２は、最適化部６０に含まれるレイテンシー検出部６５からコマンドバースト数情報出力線６０を経由して入力されるコマンドバースト数情報を受け取り、受け取ったコマンドバースト情報に基づいてコマンド分割最適化部８０におけるレイテンシーを算出し、算出したレイテンシーに応じてコマンド分割最適化部８０を経由するかショートカットするかを決定し、第１制御信号及び第２制御信号を用いて第１セレクタ５１及び第２セレクタ５３を制御する。
【００６１】
例えば、レイテンシー判別部５２は、短レイテンシーを要求する論理コマンドについては、算出したレイテンシーが第１基準値以上の場合には、第１制御信号及び第２制御信号を用いて第１セレクタ５１及び第２セレクタ５３を制御し、第１ショートカット線５７を経由して最適化部６０をショートカットする。これによって、最適化部６０において最適化処理を施すことによって生じるレイテンシーを省略することができる。一方、第１基準値未満の場合には、最適化部６０において最適化処理を施す。これによって、ショートカットすることによって起き得るオーバーヘッドの発生を防げることができる。
【００６２】
ここで、短レイテンシーを要求するアクセスリクエストとして、ＣＰＵから発行されるコマンド、特に、キャッシュをミスヒットしたときに発行するリファイルコマンド等が該当する。また、これら以外においても、特に、応答性を重視する場合に発行されるコマンドも該当する。
【００６３】
以上のように構成されたメモリアクセス装置１について、その動作を説明する。
図５〜図８は、本発明の実施の形態１における選択処理を示すフローチャートである。
なお、第２基準値は、第１基準値未満とする。
【００６４】
図５に示されるように、レイテンシー判別部５２は、第２一時記憶部４０に論理コマンドが保持されているか否かを判定する（ステップＳ１０１）。判定した結果、第２一時記憶部４０に格納されている場合には、レイテンシー検出部６５からコマンドバースト数情報を受け取り（ステップＳ１０２）、受け取ったコマンドバースト数情報に基づいて、レイテンシーを算出し（ステップＳ１０３）、算出したレイテンシーが第１基準値以上か否かを判定する（ステップＳ１０４）。判定した結果、第１基準値以上の場合には、第１制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第１制御信号を第１セレクタ５１に出力する（ステップＳ１０５）。第２制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１０６）。さらに、第２一時記憶部４０に格納されている論理コマンドを取り出し（ステップＳ１０７）、取り出した論理コマンドを物理コマンドに変換する（ステップＳ１０８）。そして、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第２セレクタ５３に出力する（ステップＳ１０９）。
【００６５】
図６に示されるように、第１セレクタ５１は、レイテンシー判別部５２から出力された第１制御信号を受け取り（ステップＳ１１０）、受け取った第１制御信号のレベルを判定する（ステップＳ１１１）。判定した結果、第１制御信号が［Ｌｏｗ］であることにより、入力源として第１一時記憶部３０を選択し、入力源として選択した第１一時記憶部３０から、最適化部６０によって取り出されることによって出力された論理コマンドを受け取り（ステップＳ１１２）、受け取った論理コマンドを最適化部６０に出力する（ステップＳ１１４）。
【００６６】
図７に示されるように、第２セレクタ５３は、レイテンシー判別部５２から出力された第２制御信号を受け取り（ステップＳ１１５）、受け取った第２制御信号のレベルを判定する（ステップＳ１１６）。判定した結果、第２制御信号が［Ｈｉｇｈ］であることにより、入力源としてレイテンシー判別部５２を選択し、入力源として選択したレイテンシー判別部５２から出力された物理コマンドを受け取り（ステップＳ１１８）、受け取った物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１９）。そして、最初に戻り、処理を繰り返し実行する。
【００６７】
なお、レイテンシー判別部５２は、図５に示されるように、算出したレイテンシーが第１基準値以上か否かを判定し（ステップＳ１０４）、第１基準値未満の場合には、図８（ａ）に示されるように、第１制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第１制御信号を第１セレクタ５１に出力する（ステップＳ１２０）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１２１）。さらに、図５に示されるように、第２一時記憶部４０に格納されている論理コマンドを取り出し、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第２セレクタ５３に出力する（ステップＳ１０７、Ｓ１０８、Ｓ１０９）。
【００６８】
これに伴い、第１セレクタ５１は、図６に示されるように、第１制御信号が［Ｈｉｇｈ］であることにより、入力源として選択した第２一時記憶部４０から出力された論理コマンドを最適化部６０に出力する（ステップＳ１１０、Ｓ１１１、Ｓ１１３、Ｓ１１４）。第２セレクタ５３は、図７に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した最適化部６０から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ１１７，Ｓ１１９）。そして、最初に戻り、処理を繰り返し実行する。
【００６９】
なお、レイテンシー判別部５２は、図５に示されるように、論理コマンドが第２一時記憶部４０に格納されているか否かを判定し（ステップＳ１０１）、第２一時記憶部４０に格納されていない場合には、図８（ｂ）に示されるように、第１制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第１制御信号を第１セレクタ５１に出力する（ステップＳ１２２）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１２３）。
【００７０】
これに伴い、第１セレクタ５１は、図６に示されるように、第１制御信号が［Ｌｏｗ］であることにより、入力源として選択した第１一時記憶部３０から出力された論理コマンドを最適化部６０に出力する（ステップＳ１１０、Ｓ１１１、Ｓ１１２、Ｓ１１４）。第２セレクタ５３は、図７に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した最適化部６０から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ１１７、Ｓ１１９）。そして、最初に戻り、処理を繰り返し実行する。
【００７１】
以上、説明したように、実施の形態１におけるアクセス装置１によれば、回路規模を増大することなく、さらに、ＤＲＡＭインターフェース部７０におけるレイテンシーを増加することなく、レイテンシーを短縮し、かつオーバーヘッドの発生を低減して有効バンド幅を増加させる効果を同時に得る事ができる。
【００７２】
なお、前記において説明した制御は一例であり、対象となるコマンドによって、レイテンシーが短縮でき、かつ有効バンド幅を増加させることができる制御であれば、制御信号が固定化されていても、又は適応的な制御であっても、その方法は規定しない。
【００７３】
（実施の形態２）
次に、本発明の実施の形態２について、図面を参照しながら説明する。なお、実施の形態１と同一の構成要素については、同一の符号を付して説明を省略する。
【００７４】
図９は、本発明の実施の形態２におけるメモリアクセス装置の構成を示すブロック図である。
同図に示されるように、メモリアクセス装置１ａは、実施の形態１におけるメモリアクセス装置１と比べると、調停部２０、第２一時記憶部４０、選択部５０、及び最適化部６０の代わりに、調停部２０ａ、第２一時記憶部４０ａ、選択部５０ａ、及び最適化部６０ａを備える点が異なる。さらに、新たに、第３一時記憶部９０を備える点が異なる。
【００７５】
調停部２０ａは、調停部２０と比べると、受け取った論理コマンドに含まれる種別ＩＤに基づいて、第１一時記憶部３０、第２一時記憶部４０ａ、及び第３一時記憶部９０のいずれかに、受け取った論理コマンドを格納する点が異なる。
【００７６】
例えば、調停部２０ａは、（ａ）転送効率を重視するマスターデバイスからの要求に応じて発行された論理コマンドについては、第１一時記憶部３０に格納する。（ｂ）応答性を重視するマスターデバイスからの要求に応じて発行された論理コマンドについては、第３一時記憶部９０に格納する。（ｃ）転送効率に支障を来さない範囲において応答性を重視するマスターデバイスからの要求に応じて発行された論理コマンドについては、第２一時記憶部４０ａに格納する。
【００７７】
第２一時記憶部４０ａは、第２一時記憶部４０と比べると、調停部２０ａから出力された論理コマンドをキューで一時的に保持する。主として、転送効率に支障を来さない範囲において応答性を重視する論理コマンドが格納される点が異なる。
【００７８】
第３一時記憶部９０は、調停部２０ａから出力された論理コマンドをキューで一時的に保持する。主として、第３一時記憶部９０には、特に応答性を重視する論理コマンドが保持される。
【００７９】
なお、第３一時記憶部９０において、それぞれ保持されている論理コマンドは、最適化部６０ａの要求に従い、格納された順に取り出される。
選択部５０ａは、選択部５０と比べると、（ａ）第１一時記憶部３０、第２一時記憶部４０ａ、及び第３一時記憶部９０のいずれかを入力源として選択する。また、（ｂ）選択した入力源から出力された論理コマンドに対して、（ｂ１）最適化部６０ａにおいて最適化処理を施してからＤＲＡＭインターフェース部７０に出力すること、（ｂ２）最適化部６０において最適化処理を施さずに、直接、ＤＲＡＭインターフェース部７０に出力することのいずれかを選択する。（ｃ）最適化処理を施す場合において、最適化処理のステージを選択する点が異なる。
【００８０】
最適化部６０ａは、最適化部６０と比べると、選択部５０ａにおいて選択された入力源から論理コマンドを取り出す。そして、選択部５０ａを介して取り出した論理コマンドに対して、ＤＲＡＭをアクセスするにあたっての最適化処理を施す。そして、最適化処理を施すにあたっては、選択部５０ａからの選択に応じてステージが決定される。
【００８１】
図１０は、本発明の実施の形態２におけるメモリアクセス装置の選択部を中心とした詳細な構成を示すブロック図である。
同図に示されるように、選択部５０ａは、選択部５０と比べると、第１セレクタ５１及びレイテンシー判別部５２の代わりに、第１セレクタ５１ａ及びレイテンシー判別部５２ａを有する点が異なる。また、最適化部６０ａは、最適化部６０と比べると、レイテンシー検出部６５の代わりに、レイテンシー検出部６５ａを有し、新たに、第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３、及び第３セレクタ６４を有する点が異なる。
【００８２】
第１セレクタ５１ａは、３入力１出力のセレクタであり、レイテンシー判別部５２ａから第１制御信号線５５を経由して入力される２ビットの第１制御信号のレベル（Ｈｉｇｈ，Ｌｏｗの組み合わせ）に応じて、第１一時記憶部３０、第２一時記憶部４０ａ、及び第３一時記憶部９０のいずれかを入力源として選択する。そして、選択した入力源から取り出された論理コマンドを最適化部６０ａに出力する。
【００８３】
レイテンシー判別部５２ａは、最適化部６０ａに含まれるレイテンシー検出部６５ａからコマンドバースト数情報出力線６６を経由して入力されるコマンドバースト数情報を受け取り、受け取ったコマンドバースト情報に基づいて最適化部６０ａにおけるレイテンシー、すなわち、第１ステージ最適化部６１、第２ステージ最適化部６２、及び第３ステージ最適化部６３におけるレイテンシーを算出する。さらに、算出したレイテンシーに応じて、（ａ）第１ステージ最適化部６１を経由する、（ｂ）第１ステージ最適化部６１を経由せずに、第２ステージ最適化部６２を経由する、（ｃ）第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３を経由しない等のいずれかを決定し、第１制御信号、第２制御信号及び第３制御信号を用いて第１セレクタ５１ａ、第２セレクタ５３、及び第３セレクタ６４を制御する。また、第２一時記憶部４０ａ及び第３一時記憶部９０のいずれかから論理コマンドを取り出し、取り出した論理コマンドを物理コマンドに変換して、取り出した論理コマンドから変換されることによって生成された１ないし２以上の物理コマンドを、第２セレクタ５３を経由してＤＲＡＭインターフェース部７０に出力する。
【００８４】
第１ステージ最適化部６１は、第１一時記憶部３０、第２一時記憶部４０ａ、及び第３一時記憶部９０のいずれかから取り出した論理コマンドを、第１セレクタ５１を経由して受け取り、受け取った論理コマンドに対して第１ステージ最適化処理を施し、第１ステージ最適化処理が施されることによって生成された１ないし２以上の物理コマンド（以下、物理コマンド群と呼称する。）を、第３セレクタ６４を経由して第２ステージ最適化部６２に出力する。
【００８５】
「第１ステージ最適化処理」とは、予め格納されているメモリマップに従ってＤＲＡＭのバンク・ページに応じた物理コマンドに論理コマンドを変換する処理をいう。
第２ステージ最適化部６２は、第１ステージ最適化部６１及びレイテンシー判別部５２ａのいずれかから出力された物理コマンド群を第３セレクタ６４を介して受け取り、受け取った物理コマンド群に対して第２ステージ最適化処理を施し、第２ステージ最適化処理が施されることによって更新された物理コマンド群（以下、アクセス最適化物理コマンド群と呼称する。）を第３ステージ最適化部６３に出力する。
【００８６】
「第２ステージ最適化処理」とは、同一バンクの異なるページへのアクセスが連続しないように、アクセス順を入れ換え、バンクインターリーブを行い、同一バンクの異なるページへのアクセス切換時に発生するオーバーヘッドを隠蔽する処理をいう。
【００８７】
第３ステージ最適化部６３は、第２ステージ最適化部６２から出力されたアクセス最適化物理コマンド群を受け取り、受け取ったアクセス最適化物理コマンド群に対して第３ステージ最適化処理を施し、第３ステージ最適化処理が施されることによって生成された１ないし２以上の制御コマンド（以下、制御コマンド群と呼称する。）を、第２セレクタ５３を経由してＤＲＡＭインターフェース７０に出力する。
【００８８】
「第３ステージ最適化処理」とは、物理コマンドからＤＲＡＭへのアクセスに対する制御コマンドを生成する処理をいう。
第３セレクタ６４は、２入力１出力のセレクタであり、レイテンシー判別部５２から第３制御信号線５８を経由して入力される第３制御信号のレベル（Ｈｉｇｈ，Ｌｏｗ）に応じて、第１ステージ最適化部６１及びレイテンシー判別部５２ａのいずれかを入力源として選択する。そして、選択した入力源から出力された物理コマンドを第２ステージ最適化部６２に出力する。
【００８９】
レイテンシー検出部６５ａは、第１ステージ最適化部６１、第２ステージ最適化部６２、及び第３ステージ最適化部６３のそれぞれにおいて、各コマンドがＤＲＡＭ上で必要とする総転送サイクルを算出し、算出した総転送サイクルをコマンドバースト数情報として、コマンドバースト数情報出力線６０を経由してレイテンシー判別部５２ａに出力する。
【００９０】
ここでは、一例として、第１セレクタ５１ａは、（ａ）第１制御信号が［Ｌｏｗ，Ｌｏｗ］である場合には、入力源として第１一時記憶部３０を選択し、（ｂ）第１制御信号が［Ｈｉｇｈ，Ｌｏｗ］である場合には、入力源として第２一時記憶部４０ａを選択し、（ｃ）第１制御信号が［Ｈｉｇｈ，Ｈｉｇｈ］である場合には、入力源として第３一時記憶部９０を選択するものとする。第３セレクタ６４は、（ａ）第３制御信号が［Ｌｏｗ］である場合には、入力源として第１ステージ最適化部６１を選択し、（ｂ）第３制御信号が［Ｈｉｇｈ］である場合には、入力源としてレイテンシー判別部５２ａを選択するものとする。
【００９１】
図１１は、本発明の実施の形態２におけるメモリアクセス装置の全体の概要構成を示すブロック図である。
同図に示されるように、（ａ）第１セレクタ５１ａは、第１一時記憶部３０、第２一時記憶部４０ａ、及び第３一時記憶部９０のいずれかを入力源として選択する。これによって、後から調停部２０ａから出力されて第２一時記憶部４０ａ及び第３一時記憶部９０のいずれかに格納された論理コマンドが、先に調停部２０ａから出力されて第１一時記憶部３０に格納された論理コマンドを追越すことができる。
【００９２】
また、（ｂ）第２セレクタ５３は、選択した入力源から出力された論理コマンドに対して、（ｂ１）最適化部６０ａにおいて最適化処理を施してからＤＲＡＭインターフェース部７０に出力すること、（ｂ２）最適化部６０において最適化処理を施さずに、直接、ＤＲＡＭインターフェース部７０に出力することのいずれかを選択する。これによって、第１ショートカット線５７を経由することにより、第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３において費やされるレイテンシーを省略することができる。
【００９３】
さらに、（ｃ）第３セレクタ６４は、最適化処理を施す場合において、第２ショートカット線５９を経由するか否かを選択することによって最適化処理のステージを選択する。これによって、第１ステージ最適化部６１において要するレイテンシーを省略することができる。
【００９４】
このような構成を採ることにより、最適化部６０ａに入力されて通過するレイテンシーとして、第１ショートカット線５７を経由することによって生じるレイテンシーと最適化部６０ａを経由することによって生じるレイテンシーとの間に差ができ、第１ステージ最適化部６１を経由してパイプラインで最適化処理をしない分、第１のショートカット線５７を経由することによってレイテンシーを短縮することができる。また、第２ショートカット線５９を経由することによって、第１ステージ最適化部６１をショートカットして第２ステージ最適化部６２に入るため、回路の増大をさせずともバンクアクセスの最適化が図られる。
【００９５】
例えば、レイテンシー判別部５２ａは、短レイテンシーを要求する論理コマンドについては、算出したレイテンシーが第１基準値以上の場合には、第１制御信号、第２制御信号、及び第３制御信号を用いて第１セレクタ５１ａ、第２セレクタ５３、及び第３セレクタ６４を制御し、第１ショートカット線５７を経由して最適化部６０ａにおける第１ステージ最適化部６１、第２ステージ最適化部６２、及び第３ステージ最適化部６３をショートカットする。これによって最適化部６０ａにおいて最適化処理を施すことによって生じるレイテンシーを省略することができる。一方、第１基準値未満の場合には、最適化部６０ａにおける第１ステージ最適化部６１を経由する。これによって、ショートカットすることによって起き得るオーバーヘッドの発生を防げることができる。
【００９６】
以上のように構成されたメモリアクセス装置１ａについて、その動作を説明する。ここでは、特に、選択部５０ａについて説明する。
図１２〜図２０は、本発明の実施の形態２における選択処理を示すフローチャートである。
【００９７】
なお、第２基準値は、第１基準値未満とし、第４基準値は、第３基準値未満とする。また、第３基準値及び第４基準値は、第１基準値及び第２基準値とは、独立したものとする。さらに、第１基準値より第３基準値の方が高目に設定されているとする。
【００９８】
図１２に示されるように、レイテンシー判別部５２ａは、第３一時記憶部９０に論理コマンドが保持されているか否かを判定する（ステップＳ２０１）。判定した結果、第３一時記憶部９０に格納されている場合には、レイテンシー検出部６５ａからコマンドバースト数情報を受け取り（ステップＳ１０２）、受け取ったコマンドバースト数情報に基づいて、レイテンシーを算出する（ステップＳ１０３）。そして、算出したレイテンシーが第１基準値以上か否かを判定する（ステップＳ１０４）。判定した結果、第１基準値以上の場合には、第１制御信号を［Ｌｏｗ，Ｌｏｗ］にし、［Ｌｏｗ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２０５）。第２制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１０６）。第３制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２０７）。さらに、第３一時記憶部９０に格納されている論理コマンドを取り出し（ステップＳ１０７）、取り出した論理コマンドを物理コマンドに変換する（ステップＳ１０８）。そして、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第２セレクタ５３に出力する（ステップＳ１０９）。
【００９９】
図１３に示されるように、第１セレクタ５１ａは、レイテンシー判別部５２ａから出力された第１制御信号を受け取り（ステップＳ１１０）、受け取った第１制御信号のレベルを判定する（ステップＳ２１２）。判定した結果、第１制御信号が［Ｌｏｗ，Ｌｏｗ］であることにより、入力源として第１一時記憶部３０を選択し、入力源として選択した第１一時記憶部３０から、第１ステージ最適化部６１において取り出されることによって出力された論理コマンドを受け取り（ステップＳ１１２）、受け取った論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ２１７）。
【０１００】
図１４に示されるように、第２セレクタ５３は、レイテンシー判別部５２ａから出力された第２制御信号を受け取り（ステップＳ１１５）、受け取った第２制御信号のレベルを判定する（ステップＳ１１６）。判定した結果、第２制御信号が［Ｈｉｇｈ］であることにより、入力源としてレイテンシー判別部５２ａを選択し、入力源として選択したレイテンシー判別部５２ａから出力された物理コマンドを受け取り（ステップＳ１１８）、受け取った物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１９）。
【０１０１】
図１５に示されるように、第３セレクタ６４は、レイテンシー判別部５２ａから出力された第３制御信号を受け取り（ステップＳ２２３）、受け取った第３制御信号のレベルを判定する（ステップＳ２２４）。判定した結果、第３制御信号が［Ｌｏｗ］であることにより、入力源として第１ステージ最適化部６１を選択し、入力源として選択した第１ステージ最適化部６１から出力された物理コマンドを受け取り（ステップＳ２２５）、受け取った物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１０２】
なお、レイテンシー判別部５２ａは、図１２に示されるように、算出したレイテンシーが第１基準値以上か否かを判定し（ステップＳ１０４）、第１基準値未満の場合には、図１６に示されるように、算出したレイテンシーが第２基準値以上か否かを判定する（ステップＳ２２８）。判定した結果、第２基準値以上の場合には、第１制御信号を［Ｌｏｗ，Ｌｏｗ］にし、［Ｌｏｗ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２２９）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ２３０）。第３制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２３１）。さらに、第３一時記憶部９０に格納されている論理コマンドを取り出し（ステップＳ２３２）、取り出した論理コマンドを物理コマンドに変換する（ステップＳ２３３）。そして、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第３セレクタ６４に出力する（ステップＳ２３４）。
【０１０３】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｌｏｗ，Ｌｏｗ］であることにより、入力源として選択した第１一時記憶部３０から出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ１１２、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した第３ステージ最適化部６３から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ２２０、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｈｉｇｈ］であることにより、入力源として選択したレイテンシー判別部５２ａから出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２６，Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１０４】
なお、レイテンシー判別部５２ａは、図１６に示されるように、算出したレイテンシーが第２基準値以上か否かを判定し（ステップＳ２２８）、第２基準値未満の場合には、図１７に示されるように、第１制御信号を［Ｈｉｇｈ，Ｈｉｇｈ］にし、［Ｈｉｇｈ，Ｈｉｇｈ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２３５）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１２１）。そして、第３制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２３７）。
【０１０５】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｈｉｇｈ，Ｈｉｇｈ］であることにより、入力源として選択した第３一時記憶部９０から出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ２１４、Ｓ２１６、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した第３ステージ最適化部６３から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ２２０、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｌｏｗ］であることにより、入力源として選択した第１ステージ最適化部６１から出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２５、Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１０６】
なお、レイテンシー判別部５２ａは、図１２に示されるように、論理コマンドが第３一時記憶部９０に格納されているか否かを判定し（ステップＳ２０１）、第３一時記憶部９０に格納されていない場合には、図１８に示されるように、第２一時記憶部４０ａに論理コマンドが保持されているか否かを判定する（ステップＳ１０１）。判定した結果、第２一時記憶部４０ａに格納されている場合には、レイテンシー検出部６５ａからコマンドバースト数情報を受け取り（ステップＳ１０２）、受け取ったコマンドバースト数情報に基づいて、レイテンシーを算出し（ステップＳ１０３）、算出したレイテンシーが第３基準値以上か否かを判定する（ステップＳ２４１）。判定した結果、第３基準値以上の場合には、第１制御信号を［Ｌｏｗ，Ｌｏｗ］にし、［Ｌｏｗ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２４２）。第２制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１０６）。第３制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２４４）。さらに、第２一時記憶部４０ａに格納されている論理コマンドを取り出し（ステップＳ１０７）、取り出した論理コマンドを物理コマンドに変換する（ステップＳ１０８）。そして、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第２セレクタ５３に出力する（ステップＳ１０９）。
【０１０７】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｌｏｗ，Ｌｏｗ］であることにより、入力源として選択した第１一時記憶部３０から出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ１１２、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｈｉｇｈ］であることにより、入力源として選択したレイテンシー判別部５２ａから出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ１１８、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｌｏｗ］であることにより、入力源として選択した第１ステージ最適化部６１から出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２５、Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１０８】
なお、レイテンシー判別部５２ａは、図１８に示されるように、算出したレイテンシーが第３基準値以上か否かを判定し（ステップＳ２４１）、第３基準値未満の場合には、図１９（ａ）に示されるように、算出したレイテンシーが第４基準値以上か否かを判定する（ステップＳ２４５）。判定した結果、第４基準値以上の場合には、第１制御信号を［Ｌｏｗ，Ｌｏｗ］にし、［Ｌｏｗ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２４６）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ２４７）。第３制御信号を［Ｈｉｇｈ］にし、［Ｈｉｇｈ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２４８）。さらに、図１６に示されるように、第２一時記憶部４０ａに格納されている論理コマンドを取り出し、取り出した論理コマンドから変換することによって生成された１ないし２以上の物理コマンドを第３セレクタ６４に出力する（ステップＳ２３２、Ｓ２３３、Ｓ２３４）。
【０１０９】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｌｏｗ，Ｌｏｗ］であることにより、入力源として選択した第１一時記憶部３０から出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ１１２、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した第３ステージ最適化部６３から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ２２０、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｈｉｇｈ］であることにより、入力源として選択したレイテンシー判別部５２ａから出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２６、Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１１０】
なお、レイテンシー判別部５２ａは、図１９（ａ）に示されるように、算出したレイテンシーが第４基準値以上か否かを判定し（ステップＳ２４５）、第４基準値未満の場合には、図１９（ｂ）に示されるように、第１制御信号を［Ｈｉｇｈ，Ｌｏｗ］にし、［Ｈｉｇｈ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２４９）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ２５０）。第３制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２５１）。
【０１１１】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｈｉｇｈ，Ｌｏｗ］であることにより、入力源として選択した第２一時記憶部４０ａから出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ２１４、Ｓ１１３、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した第３ステージ最適化部６３から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ２２０、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｌｏｗ］であることにより、入力源として選択した第１ステージ最適化部６１から出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２５、Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１１２】
なお、レイテンシー判別部５２ａは、図１８に示されるように、第２一時記憶部４０ａに論理コマンドが保持されているか否かを判定し（ステップＳ１０１）、第２一時記憶部４０ａに格納されていない場合には、図２０に示されるように、第１制御信号を［Ｌｏｗ，Ｌｏｗ］にし、［Ｌｏｗ，Ｌｏｗ］にした第１制御信号を第１セレクタ５１ａに出力する（ステップＳ２５２）。第２制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第２制御信号を第２セレクタ５３に出力する（ステップＳ１２３）。第３制御信号を［Ｌｏｗ］にし、［Ｌｏｗ］にした第３制御信号を第３セレクタ６４に出力する（ステップＳ２５４）。
【０１１３】
これに伴い、第１セレクタ５１ａは、図１３に示されるように、第１制御信号が［Ｌｏｗ，Ｌｏｗ］であることにより、入力源として選択した第１一時記憶部３０から出力された論理コマンドを第１ステージ最適化部６１に出力する（ステップＳ１１０、Ｓ２１２、Ｓ１１２、Ｓ２１７）。第２セレクタ５３は、図１４に示されるように、第２制御信号が［Ｌｏｗ］であることにより、入力源として選択した第３ステージ最適化部６３から出力された物理コマンドをＤＲＡＭインターフェース部７０に出力する（ステップＳ１１５、Ｓ１１６、Ｓ２２０、Ｓ１１９）。第３セレクタ６４は、図１５に示されるように、第３制御信号が［Ｌｏｗ］であることにより、入力源として選択した第１ステージ最適化部６１から出力された物理コマンドを第２ステージ最適化部６２に出力する（ステップＳ２２３、Ｓ２２４、Ｓ２２５、Ｓ２２７）。そして、最初に戻り、処理を繰り返し実行する。
【０１１４】
ここで、ＤＲＡＭからデータを読み出す場合について説明する。以下、（ａ）コマンド発行部１０において発行された論理コマンドを第０論理コマンドとし、（ｂ）コマンド発行部１１において発行された論理コマンドを第１論理コマンドとし、（ｃ）コマンド発行部１２において発行された論理コマンドを第２論理コマンドとし、（ｄ）コマンド発行部１３において発行された論理コマンドを第３論理コマンドとし、（ｅ）コマンド発行部１４において発行された論理コマンドを第４論理コマンドとする。また、コマンド発行部１０〜１４において同時にコマンドが発行されると、調停部２０ａは、コマンド発行部１０、コマンド発行部１１、コマンド発行部１２、コマンド発行部１３、コマンド発行部１４の順に、発行された論理コマンドを優先して出力する。さらに、ＤＲＡＭから読み出されるデータのサイズは全て同じとする。
【０１１５】
図２１〜図２４は、本発明の実施の形態２におけるメモリアクセス装置のタイミング図である。
図２１に示されるように、
コマンド発行部１０〜１４は、ＤＲＡＭにアクセスするコマンドを同時に発行する。調停部２０ａは、第０論理コマンド、第１論理コマンド、第２論理コマンド、第３論理コマンド、第４論理コマンドの順に第１一時記憶部３０に格納する。第１一時記憶部３０は、各コマンド発行部において発行された論理コマンドを順次保持する。さらに、優先順位が最上位の第０論理コマンドが、最初に、第１一時記憶部３０から出力されて第１ステージ最適化部６１に入力される。そして、全ての論理コマンドが、第１一時記憶部３０から出力されるものとする。
【０１１６】
なお、コマンド発行部１０〜１４がＤＲＡＭにアクセスする論理コマンドを同時に発行してから、調停部２０ａがコマンド発行部１０〜１４において発行された論理コマンドを優先順位に従って第１一時記憶部３０に格納し、第１ステージ最適化部６１が第１セレクタ５１を経由して第１一時記憶部３０から取り出した論理コマンドを受け取り終わるまで、時間Ｔとする。
【０１１７】
ここで、第０論理コマンドが第１セレクタ５１を経由して第１ステージ最適化部６１に入力されてから、第０物理コマンド群が第１ステージ最適化部６１から出力されるまで、時間Ｔ１を要する。その間、第１一時記憶部３０から第１論理コマンドを取り出さないこととする。すなわち、第０論理コマンドに対する第１ステージ最適化処理が終了しない限り、次に処理する予定のコマンド、すなわち、第１論理コマンドは第１一時記憶部３０から取り出されないこととする。これに伴い、第１論理コマンドは、時間ｔ０〜ｔ２、つまり、Ｔ〜Ｔ１を加算した時間だけ、第１一時記憶部３０において保持される。
【０１１８】
「第０物理コマンド群」とは、第０論理コマンドに対して第１ステージ最適化処理が施されることによって生成される物理コマンド群をいう。同様に、第１論理コマンドに対しては、第０物理コマンド群とし、第２論理コマンドに対しては、第１物理コマンド群とし、第３論理コマンドに対しては、第３物理コマンド群とし、第４論理コマンドに対しては、第４物理コマンド群とする。
【０１１９】
次に、第０物理コマンド群が第３セレクタ６４を経由して第２ステージ最適化部６２に入力されてから、第０アクセス最適化物理コマンド群が第２ステージ最適化部６２から出力されるまで、時間Ｔ２を要する。その間、第１論理コマンドに対する第１ステージ最適化処理が終了しても、第１物理コマンド群は第１ステージ最適化部６１において保持される。これに伴い、第２論理コマンドは、時間ｔ０〜ｔ３、すなわち、Ｔ〜Ｔ２を加算した時間だけ、第１一時記憶部３０に保持される。
【０１２０】
「第０アクセス最適化物理コマンド群」とは、第０物理コマンド群に対して第２ステージ最適化処理が施されることによって生成されるアクセス最適化物理コマンド群をいう。同様に、第１物理コマンド群に対しては、第１アクセス最適化物理コマンド群とし、第２物理コマンド群に対しては、第２アクセス最適化物理コマンド群とし、第３物理コマンド群に対しては、第３アクセス最適化物理コマンド群とし、第４物理コマンド群に対しては、第４アクセス最適化物理コマンド群とする。
【０１２１】
さらに、第０アクセス最適化物理コマンド群が第３ステージ最適化部６３に入力されてから、第０制御コマンド群が第３ステージ最適化部６３から出力されるまで、時間Ｔ３を要する。その間、（ｂ１）第１物理コマンド群に対する第２ステージ最適化処理が終了しても、第１アクセス最適化物理コマンド群は第２ステージ最適化部６２において保持され、（ｂ２）第２論理コマンドに対する第１ステージ最適化処理が終了しても、第２物理コマンド群は第１ステージ最適化部６１において保持される。これに伴い、第３論理コマンドは、時間ｔ０〜ｔ４、すなわち、Ｔ〜Ｔ３を加算した時間だけ、第１一時記憶部３０に保持される。
【０１２２】
「第０制御コマンド群」とは、第０アクセス最適化物理コマンド群に対して第３ステージ最適化処理が施されることによって生成される制御コマンド群をいう。同様に、第１アクセス最適化物理コマンド群に対しては、第１制御コマンド群とし、第２アクセス最適化物理コマンド群に対しては、第２制御コマンド群とし、第３アクセス最適化物理コマンド群に対しては、第３制御コマンド群とし、第４アクセス最適化物理コマンド群に対しては、第４制御コマンド群とする。
【０１２３】
そして、第０制御コマンド群が第２セレクタ５３を介してＤＲＡＭインターフェース部７０に入力されてから、第０制御コマンド群に基づいてＤＲＡＭに対するアクセスが完了するまで、時間Ｔ４を要する。その間、（ｃ１）第１アクセス最適化物理コマンド群に対する第３ステージ最適化処理が終了しても、第１制御コマンド群は第３ステージ最適化部６３において保持され、（ｃ２）第２物理コマンド群に対する第２ステージ最適化処理が終了しても、第２アクセス最適化物理コマンド群は第２ステージ最適化部６２において保持され、（ｃ３）第３論理コマンドに対する第１ステージ最適化処理が終了しても、第３物理コマンド群は第１ステージ最適化部６１において保持される。これに伴い、第４論理コマンドは、時間ｔ０〜ｔ５、つまり、Ｔ〜Ｔ４を加算した時間だけ、第１一時記憶部３０において保持される。
【０１２４】
なお、ＤＲＡＭインターフェース部７０を経由して、それぞれのコマンド発行部から各マスターデバイス、例えば、コーデック、ＣＰＵ等にデータが転送し終わるまで、時間Ｔ５を要する。
【０１２５】
以上のように、レイテンシー判別部５２による制御がなければ、各コマンドはパイプライン的に処理されていくものとする。
図２１に示されるように、第０論理コマンド〜第４論理コマンドが同時に発行され、調停部２０ａによって、第０論理コマンド、第１論理コマンド、・・・、第４論理コマンドの順に第１一時記憶部３０に出力され、第１一時記憶部３０を経由して第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３を経由し、ＤＲＡＭインターフェース部７０に出力されることが示されている。
【０１２６】
例えば、第０論理コマンドは、時間ｔ０〜ｔ１に第１一時記憶部３０から出力され、時間ｔ１〜ｔ２に第１ステージ最適化部６１において処理され、時間ｔ２〜ｔ３に第２ステージ最適化部６２において処理され、時間ｔ３〜ｔ４に第３ステージ最適化部６３において処理され、時間ｔ４〜ｔ５にＤＲＡＭインターフェース部７０に出力される。
【０１２７】
ここで、第４論理コマンドに注目すると、第４論理コマンドは、時間ｔ０〜ｔ４まで第１一時記憶部３０に保持され、時間ｔ４〜ｔ５に第１一時記憶部３０から出力され、時間ｔ５〜ｔ６に第１ステージ最適化部６１において処理され、時間ｔ６〜ｔ７に第２ステージ最適化部６２において処理され、時間ｔ７〜ｔ８に第３ステージ最適化部６３において処理され、時間ｔ８〜ｔ９にＤＲＡＭインターフェース部７０に出力される。
【０１２８】
ここで、第４論理コマンドのトータル処理時間に注目すると、図２１に示されるように、何も制御しない場合においては、第４論理コマンドが発行されてからデータが内部バス上に出力されるまで、時間ｔ０〜ｔ９かかる。
【０１２９】
これに対して、第４論理コマンドだけを第２一時記憶部４０ａに入力し、図２に示される第１制御信号線１１０を経由して第４論理コマンドを第１一時記憶部３０に保持されているコマンドを追越すような設定（以下、第０設定と呼称する。）をした場合には、図２２に示されるように、時間ｔ１’に、コマンド発行部１４が第４論理コマンドを発行すると、第１論理コマンドを追越して先に第１ステージ最適化部６１に入力される。その分、先行して発行された第１論理コマンド以降のコマンドは、第１一時記憶部３０に保持される。図２１に示されるように、パイプラインを通過して内部バス上に第４論理コマンドのデータが出力されるのが時間ｔ３となり、時間ｔ３〜ｔ９短縮されることになる。
【０１３０】
図２２に示されるように、第０論理コマンド〜第３論理コマンドが同時に発行され、調停部２０ａによって、第０論理コマンド、第１論理コマンド、・・・、第３論理コマンドの順に第１一時記憶部３０に出力される。その後、これに遅れて、第４論理コマンドが発行され、調停部２０ａによって第２一時記憶部４０ａに出力される。
【０１３１】
ここで、調停部２０ａは、発行されたコマンドを解析して伝送効率に支障を来さない範囲において応答性を重視するコマンドについては、第２一時記憶部４０ａに出力し、伝送効率を重視するコマンドについては、第１一時記憶部３０に出力する。
【０１３２】
そして、第４論理コマンドは、第２一時記憶部４０ａを経由して第４論理コマンドよりも先に発行され第１一時記憶部３０に保持されている第１論理コマンドを追越し、第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３を経由し、ＤＲＡＭインターフェース部７０に出力される。
【０１３３】
例えば、第４論理コマンドは、時間ｔ１’〜ｔ２にコマンド発行部１４において発行されて第２一時記憶部４０ａから出力され、時間ｔ２〜ｔ３に第１ステージ最適化部６１において処理され、時間ｔ３〜ｔ４に第２ステージ最適化部６２において処理され、時間ｔ４〜ｔ５に第３ステージ最適化部６３において処理され、時間ｔ５〜ｔ６にＤＲＡＭインターフェース部７０に出力される。
【０１３４】
これに対して、第１論理コマンドは、時間ｔ１〜ｔ２まで第１一時記憶部３０に保持され、時間ｔ２〜ｔ３に第１一時記憶部３０から出力される。
次に、第０設定の内容に加え、第２制御信号を用いて第１ショートカット線５７を経由してダイレクトにＤＲＡＭインターフェース部７０へ送る設定（以下、第１設定と呼称する。）をした場合には、図２３に示されるように、先行する全てのコマンドと処理を追越し、時間ｔ０〜ｔ５となり、時間ｔ５〜ｔ９短縮される。
【０１３５】
図２３に示されるように、第０論理コマンド〜第３論理コマンドが同時に発行され、調停部２０ａによって、第０論理コマンド、第１論理コマンド、・・・、第３論理コマンドの順に第１一時記憶部３０に出力される。その後、これに遅れて、第４論理コマンドが発行され、調停部２０ａによって第３一時記憶部９０に出力される。
【０１３６】
ここで、調停部２０ａは、発行された論理コマンドを解析して特に応答性を重視するコマンドについては、第３一時記憶部９０に出力する。
そして、第４論理コマンドは、第３一時記憶部９０、第１ショートカット線５７を経由して第４論理コマンドよりも先に発行され第１一時記憶部３０に保持されている第１論理コマンド、第２論理コマンド、及び第３論理コマンドを追越し、第１ステージ最適化部６１に保持されている第０論理コマンドも追越し、第１ステージ最適化部６１、第２ステージ最適化部６２、及び第３ステージ最適化部６３をショートカットし、ＤＲＡＭインターフェース部７０に出力される。
【０１３７】
例えば、第４論理コマンドは、時間ｔ１’〜ｔ２にコマンド発行部１４において発行されて第３一時記憶部９０から出力され、時間ｔ２〜ｔ３にＤＲＡＭインターフェース部７０に出力される。
【０１３８】
これに対して、第１論理コマンドは、時間ｔ１〜ｔ２に第１ステージ最適化部６１において処理され、時間ｔ２〜ｔ３に第２ステージ最適化部６２において処理される。
第２論理コマンドは、時間ｔ１〜ｔ２に第１一時記憶部３０から出力され、時間ｔ２〜ｔ３に第１ステージ最適化部６１において処理される。
【０１３９】
第３論理コマンドは、時間ｔ１〜ｔ２に第１一時記憶部３０に保持され、時間ｔ２〜ｔ３に第１一時記憶部３０から出力される。
次に、第３制御信号を用いて第２ショートカット線２００を経由して第２ステージ最適化部６２へ送ることにより、図２３に示されるように、第４論理コマンドが、第０論理コマンド〜第３論理コマンド全てのコマンドを追越す。さらに、図２１に示される場合と比べると、本来、第０論理コマンドが入る位置まで追越すことができる。結果、内部バス上に、第４論理コマンドのデータが出力されるまで時間ｔ０〜ｔ５となり、時間ｔ５〜ｔ９短縮されることになる。
【０１４０】
図２３に示されるように、第０論理コマンド〜第３論理コマンドが同時に発行され、調停部２０ａによって、第０論理コマンド、第１論理コマンド、・・・、第３論理コマンドの順に、第１一時記憶部３０に出力される。その後、これに遅れて、第４論理コマンドが発行され、調停部２０ａによって、第３一時記憶部９０に出力される。このとき、調停部２０ａは、第４論理コマンドを解析した結果、第４論理コマンドが短レイテンシーを要求するコマンドであると判断して第１一時記憶部３０ではなく第３一時記憶部９０に出力する。
【０１４１】
そして、第４論理コマンドは、第３一時記憶部９０を経由して第４論理コマンドよりも先に発行されて第１一時記憶部３０に格納されている第１論理コマンド〜第３論理コマンドを追越し、第２ショートカット線２００を経由して第１ステージ最適化部６１をショートカットし、第４論理コマンドよりも先に発行されて第１一時記憶部３０を経由して第１ステージ最適化部６１に格納されている第０論理コマンドを追越し、第２ステージ最適化部６２、第３ステージ最適化部６３を経由してＤＲＡＭインターフェース部７０に出力される。
【０１４２】
具体的には、第４論理コマンドは、時間ｔ１’〜ｔ２にコマンド発行部１４において発行されてスーパ第２一時記憶部１９０から出力され、ｔ２〜ｔ３時間に第２ステージ最適化部６２から出力され、時間ｔ３〜ｔ４に第３ステージ最適化部６３から出力され、時間ｔ４〜ｔ５にＤＲＡＭインターフェース部７０に出力されてＤＲＡＭから第４論理コマンドによって特定されるデータが読み出される。
【０１４３】
これに対して、第０論理コマンドは、時間ｔ１〜ｔ３に第１ステージ最適化部６１において処理され、時間ｔ３〜ｔ４に第２ステージ最適化部６２において処理され、時間ｔ４〜ｔ５に第３ステージ最適化部６３に処理される。
【０１４４】
第１論理コマンドは、時間ｔ１〜ｔ３に第１一時記憶部３０に保持されて出力され、時間ｔ３〜ｔ４に第１ステージ最適化部６１に処理されて出力され、時間ｔ４〜ｔ５に第２ステージ最適化部６２に処理されて出力される。
【０１４５】
なお、第１論理コマンドは、時間ｔ１〜ｔ３に第１ステージ最適化部６１に第１論理コマンドが格納されていることから、時間ｔ３〜ｔ４に第１ステージ最適化部６１に受け付けられる。
【０１４６】
ここで、第１ステージ最適化部６１は、第０論理コマンドの最適化処理及び出力処理が終了するまでは、第１論理コマンドを受け付けない。これに伴い、第１論理コマンドは第１一時記憶部３０に保持され続ける。そして、第０論理コマンドに対する第１ステージ最適化部６１の処理が終了すると、第１一時記憶部３０に保持されている第１論理コマンドを受け付ける。
【０１４７】
次に、第０設定の内容に加え、第２制御信号を用いて第１ショートカット線５７を経由してダイレクトにＤＲＡＭインターフェース部７０へ送った設定（以下、第２設定と呼称する。）をした場合には、図２４に示されるように、先行する全てのコマンドと処理を追越し、時間ｔ０〜ｔ３となり、時間ｔ３〜ｔ９が短縮される。
【０１４８】
図２４に示されるように、第０論理コマンド〜第３論理コマンドが同時に発行され、調停部２０ａによって、第０論理コマンド、第１論理コマンド、・・・、第３論理コマンドの順に第１一時記憶部３０に出力される。その後、これに遅れて、第４論理コマンドが発行され、調停部２０ａによって第２一時記憶部１９０に出力される。
【０１４９】
ここで、調停部２０ａは、発行された論理コマンドを解析して特に応答性を重視するコマンドについては、第３一時記憶部９０に出力する。
そして、第４論理コマンドは、第３一時記憶部９０、第１ショートカット線５７を経由して第４論理コマンドよりも先に発行され第１一時記憶部３０に保持されている第２論理コマンド及び第３論理コマンドを追越し、第１ステージ最適化部６１に保持されている第１論理コマンドも追越し、第１ステージ最適化部６１、第２ステージ最適化部６２、及び第３ステージ最適化部６３をショートカットし、ＤＲＡＭインターフェース部７０に出力される。
【０１５０】
例えば、第４論理コマンドは、時間ｔ１’〜ｔ２にコマンド発行部１４において発行され第３一時記憶部９０から出力され、時間ｔ２〜ｔ３にＤＲＡＭインターフェース部７０に出力される。
【０１５１】
これに対して、第１論理コマンドは、時間ｔ１〜ｔ２に第１ステージ最適化部６１において処理され、時間ｔ２〜ｔ３に第２ステージ最適化部６２において処理される。
第２論理コマンドは、時間ｔ１〜ｔ２に第１一時記憶部３０から出力され、時間ｔ２〜ｔ３に第１ステージ最適化部６１において処理される。
【０１５２】
第３論理コマンドは、時間ｔ１〜ｔ２に第１一時記憶部３０に保持され、時間ｔ２〜ｔ３に第１一時記憶部３０から出力される。
以上、説明したように、本発明に係るメモリアクセス装置により、第０設定、第１設定、及び第２設定により、コマンドと処理を追越すレベルを変えることが可能である。
【０１５３】
また、本発明においては、第４論理コマンドが発行され、第２一時記憶部４０ａを通過するタイミングにより、ＤＲＡＭ上で第１ステージ最適化部６１、第２ステージ最適化部６２、第３ステージ最適化部６３の各処理内にあるコマンドのバースト長を集め、レイテンシー判別部５２ａにおいて、第０設定及び第１設定のいずれを選択するかを判断する。
【０１５４】
例えば、第１ショートカット線５７を経由してアクセスのオーバーヘッドが必ず一定量＋αで発生すると仮定した場合には、効率の低下量と、第０設定及び第１設定によるレイテンシー短縮量を比較してレイテンシーの短縮量が大きく変わらない場合には、第１設定を選択する。ＤＲＡＭのアクセスに対してオーバーヘッドを低減する。
【０１５５】
また、先行するＤＲＡＭアクセスが多くレイテンシーがかかる場合には、第２設定を用い、ＤＲＡＭ上のバスが十分空く場合には、第０設定を用いる。このように、適応的に設定を切替えてバンド幅の使用効率を上げ、レイテンシーを短縮するという要求を両立することができる。
【０１５６】
ここで、変形例として、図２５に示されるように、実施の形態２におけるメモリアクセス装置１ａに対して、さらに、リフレッシュコマンド発行部１００を備えるとしてもよい。
【０１５７】
図２５は、変形例として、メモリアクセス装置の構成を示す図である。
同図に示されるように、メモリアクセス装置１ｂは、図１１に示されるメモリアクセス装置１ａと比べると、レイテンシー判別部５２ａの代わりに、レイテンシー判別部５２ｂを備え、新たに、リフレッシュコマンド発行部１００を備える点が異なる。
【０１５８】
ＤＲＡＭを構成する記憶素子は、放っておくと電荷が電流として漏れ出し、一定時間後には電荷がなくなる。そのため、定期的に電荷を再補充してデータの損失を防ぐという作業（以下、リフレッシュと呼称する。）が必要になる。
【０１５９】
なお、リフレッシュ中は、記憶素子に対してアクセスできないため、リフレッシュはＤＲＡＭのアクセス速度を低下させる要因となる。
そこで、レイテンシー判別部５２ｂは、図２４に示されるように、リフレッシュコマンドがｔ３〜ｔ４時間にＤＲＡＭインターフェース部７０からＤＲＡＭに発行されるようにリフレッシュコマンド発行部１００を制御してリフレッシュコマンドを発行させる。そして、リフレッシュコマンド発行部１００から発行されたリフレッシュコマンドを受け取り、第２制御信号を用いて第３セレクタ６４を制御して、受け取ったリフレッシュコマンドをＤＲＡＭインターフェース部７０に出力する。
【０１６０】
「リフレッシュコマンド」とは、ＤＲＡＭ２を構成する記憶素子に電荷を再補充するコマンドをいう。
リフレッシュコマンド発行部１００は、レイテンシー判別部５２ｂにおける制御に応じてリフレッシュコマンドを発行し、発行したリフレッシュコマンドをレイテンシー判別部５２に出力する。
【０１６１】
これによって、ｔ３〜ｔ４時間に、リフレッシュコマンドが発行されることで、リフレッシュコマンドが定期的に発行されることによって生じる待ちを隠蔽することができる。
なお、前記において説明した制御については、一例であり、異なる判断基準による設定としてもよい。例えば、図２６に示されるように、選択部において第１制御信号、第２制御信号、及び第３制御信号のそれぞれのレベルを組み合わせて制御されるとしてもよい。
【０１６２】
図２６は、選択部において制御される第１制御信号、第２制御信号、及び第３制御信号の組み合わせの一覧表を示す図である。
同図に示されるように、一覧表１１０は、（ａ）カラム１１１に、”ＬＬ，ＨＬ，ＨＨ”のいずれかによって、第１制御信号のレベルが示され、（ｂ）カラム１１２に、”Ｌ，Ｈ”のいずれかによって、第２制御信号のレベルが示され、（ｃ）カラム１１３に、”Ｌ，Ｈ”のいずれかによって、第３制御信号のレベルが示され、（ｄ）カラム１１４に、”○，△，×”のいずれかによって、組み合わせの可否が示され、（ｅ）カラム１１５に、組み合わせに係る備考が示されている。
【０１６３】
なお、”Ｌ”は［Ｌｏｗ］を表し、”Ｈ”は［Ｈｉｇｈ］を表し、”ＬＬ”は［Ｌｏｗ，Ｌｏｗ］を表し、”ＨＬ”は［Ｈｉｇｈ，Ｌｏｗ］を表し、”ＨＨ”は［Ｈｉｇｈ，Ｈｉｇｈ］を表している。また、”○”は、組み合わせが可であることを表し、”△”は、条件付で、組み合わせが可であることを表し、”×”は、組み合わせが否であることを表している。
【０１６４】
例えば、カラム１１４において”○”で表された組み合わせは、図１２〜図２０に示されるように、選択処理において用いられている。また、カラム１１４において”×”で表された組み合わせは、カラム１１５において記されている備考、”コマンドの重複となるため”、”アクセスする順番が逆転するため”等によって、選択処理において用いられていない。これらに対して、カラム１１４において”△”で表された組み合わせは、条件付で、用いられるとしてもよい。
【０１６５】
例えば、第１制御信号が［Ｌｏｗ，Ｌｏｗ］、第２制御信号が［Ｈｉｇｈ］、第３制御信号が［Ｈｉｇｈ］の組み合わせについては、第２一時記憶部４０ａ及び第１一時記憶部９０のそれぞれに格納されている論理コマンドがレイテンシー判別部５２ａによって同時に取り出されたとしても、第２一時記憶部４０ａに格納されている論理コマンドに対する物理コマンド群が第３セレクタ６４に出力され、第３一時記憶部９０に格納されている論理コマンドに対する物理コマンド群が第２セレクタ５３に出力される場合に用いられるとしてもよい。
【０１６６】
また、第１制御信号が［Ｈｉｇｈ，Ｌｏｗ］、第２制御信号が［Ｌｏｗ］、第３制御信号が［Ｈｉｇｈ］の組み合わせについては、第２一時記憶部４０ａ及び第１一時記憶部９０のそれぞれに格納されている論理コマンドがレイテンシー判別部５２ａによって同時に取り出されたとしても、レイテンシー判別部５２ａにおいて、第２一時記憶部４０ａに格納されている論理コマンドが廃棄され、第３一時記憶部９０に格納されている論理コマンドに対する物理コマンド群が第２セレクタ５３に出力される場合に用いられるとしてもよい。
【０１６７】
さらに、第１制御信号が［Ｈｉｇｈ，Ｌｏｗ］、第２制御信号が［Ｈｉｇｈ］、第３制御信号が［Ｌｏｗ］の組み合わせについては、第２一時記憶部４０ａ及び第１一時記憶部９０のそれぞれに格納されている論理コマンドがレイテンシー判別部５２ａによって取り出されたとしても、レイテンシー判別部５２ａにおいて、第２一時記憶部４０ａに格納されている論理コマンドが廃棄され、第３一時記憶部９０に格納されている論理コマンドに対する物理コマンド群が第２セレクタ５３に出力される場合に用いられるとしてもよい。
【０１６８】
以上、説明したように、実施の形態２におけるアクセス装置１ａによれば、回路規模を増大することなく、さらに、ＤＲＡＭインターフェース部７０におけるレイテンシーを増加することなく、レイテンシーを短縮し、かつオーバーヘッドの発生を低減して有効バンド幅を増加させる効果を同時に得る事ができる。
【０１６９】
なお、応答性をさらに重視すれば、第１基準値を低目に設定すればよい。すなわち、第１基準値を低目に設定することによって、第３一時記憶部９０に格納されている論理コマンドが最適化部６０ａを経由せずに、直接、ＤＲＡＭインターフェース部７０に出力されやすくなる。一方、転送効率をさらに重視すれば、第１基準値を高目に設定すればよい。すなわち、第１基準値を高目に設定することによって、第３一時記憶部９０に格納されている論理コマンドが、最適化部６０ａを経由してからＤＲＡＭインターフェース部７０に出力されやすくなる。
【０１７０】
なお、レイテンシー判別部５２ａは、図１２に示されるように、算出したレイテンシーが第１基準値以上か否かを判定する（ステップＳ１０４）代わりに、第３一時記憶部９０に最上位で格納されている論理コマンドが所定の論理コマンド群に属する論理コマンドであるか否かを判定するとしてもよい。
【０１７１】
なお、レイテンシー判別部５２ａは、図１６に示されるように、算出したレイテンシーが第２基準値以上か否かを判定する（ステップＳ２２８）代わりに、第３一時記憶部９０に最上位で格納されている論理コマンドが所定の論理コマンド群に属する論理コマンドであるか否かを判定するとしてもよい。
【０１７２】
なお、レイテンシー判別部５２ａは、図１８に示されるように、算出したレイテンシーが第３基準値以上か否かを判定する（ステップＳ２１４）代わりに、第２一時記憶部４０ａに最上位で格納されている論理コマンドが所定の論理コマンド群に属する論理コマンドであるか否かを判定するとしてもよい。
【０１７３】
なお、レイテンシー判別部５２ａは、図１９に示されるように、算出したレイテンシーが第４基準値以上か否かを判定する（ステップＳ２４５）代わりに、第２一時記憶部４０ａに最上位で格納されている論理コマンドが所定の論理コマンド群に属する論理コマンドであるか否かを判定するとしてもよい。
【０１７４】
なお、メモリアクセス装置 は、フルカスタムＬＳＩ（Large Scale Integration）として実現されるとしてもよいし、ＡＳＩＣ（Application Specific Integrated Circuit）のようなセミカスタムＬＳＩとして実現されるとしてもよい。また、ＶＨＤＬ（Very high speed integrated circuit Hardware Description Language）／Ｖｅｒｉｌｏｇ−ＨＤＬ／ＳｙｓｔｅｍＣ等のハードウェア記述言語によって記述されたプログラム（以下、ＨＤＬプログラムと呼称する。）から論理合成されて配置配線された回路情報、又はＩＰ（Intellectual Property）コアに基づいたＦＰＧＡ（Field Programmable Gate Array）／ＣＰＬＤ（Complex Programmable Logic Device）等のプログラマブル・ロジック・デバイス又は動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスとして実現されるとしてもよい。また、ＨＤＬプログラム、回路情報、又はＩＰコアを、光学記録媒体（例えば、ＣＤ−ＲＯＭ等。）、磁気記録媒体（例えば、ハードディスク等。）、光磁気記録媒体（例えば、ＭＯ等。）、半導体メモリ（例えば、ＲＯＭ等。）等のコンピュータ読み取り可能な記録媒体に記録しておき、他のコンピュータにおいて、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。または、ＨＤＬプログラム、回路情報、又はＩＰコアを、ネットワークを介して接続されているコンピュータ等の一般のハードウェアシステムに設けられたハードディスク等のコンピュータ読み取り可能な記録媒体に記録しておき、ネットワーク等の伝送路を経由して読み取った他のコンピュータにおいて、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。または、ＨＤＬプログラムから論理合成されて配置配線された回路情報、又はＩＰコアをシリアルＲＯＭに記録しておき、直接、ＦＰＧＡにダウンロードされるとしてもよい。
【産業上の利用可能性】
【０１７５】
本発明は、コーデック及びＣＰＵ等のようなマスターデバイスと、ＤＲＡＭ等のようなメモリとの間において生じするデータ転送を仲介するメモリアクセス装置等として、特に、メモリに対して、高い応答性が求められるアクセスと、高い転送効率が求められるアクセスとの両立が図られるメモリアクセス装置等として、利用することができる。
【図面の簡単な説明】
【０１７６】
【図１】本発明の実施の形態１におけるメモリアクセス装置を含むシステム構成を示すブロック図である。
【図２】本発明の実施の形態１におけるメモリアクセス装置の構成を示すブロック図である。
【図３】本発明の実施の形態１におけるメモリアクセス装置の選択部を中心とした詳細な構成を示すブロック図である。
【図４】本発明の実施の形態１におけるメモリアクセス装置の全体の概要構成を示すブロック図である。
【図５】本発明の実施の形態１における選択処理を示す第１のフローチャートである。
【図６】本発明の実施の形態１における選択処理を示す第２のフローチャートである。
【図７】本発明の実施の形態１における選択処理を示す第３のフローチャートである。
【図８】本発明の実施の形態１における選択処理を示す第４のフローチャートである。
【図９】本発明の実施の形態２におけるメモリアクセス装置の構成を示すブロック図である。
【図１０】本発明の実施の形態２におけるメモリアクセス装置の選択部を中心とした詳細な構成を示すブロック図である。
【図１１】本発明の実施の形態２におけるメモリアクセス装置の全体の概要構成を示すブロック図である。
【図１２】本発明の実施の形態２における選択処理を示す第１のフローチャートである。
【図１３】本発明の実施の形態２における選択処理を示す第２のフローチャートである。
【図１４】本発明の実施の形態２における選択処理を示す第３のフローチャートである。
【図１５】本発明の実施の形態２における選択処理を示す第４のフローチャートである。
【図１６】本発明の実施の形態２における選択処理を示す第５のフローチャートである。
【図１７】本発明の実施の形態２における選択処理を示す第６のフローチャートである。
【図１８】本発明の実施の形態２における選択処理を示す第７のフローチャートである。
【図１９】本発明の実施の形態２における選択処理を示す第８のフローチャートである。
【図２０】本発明の実施の形態２における選択処理を示す第９のフローチャートである。
【図２１】本発明の実施の形態２におけるメモリアクセス装置の第１のタイミング図である。
【図２２】本発明の実施の形態２におけるメモリアクセス装置の第２のタイミング図である。
【図２３】本発明の実施の形態２におけるメモリアクセス装置の第３のタイミング図である。
【図２４】本発明の実施の形態２におけるメモリアクセス装置の第４のタイミング図である。
【図２５】変形例としてメモリアクセス装置の全体の概要構成を示すブロック図である。
【図２６】選択部において制御される第１制御信号、第２制御信号、及び第３制御信号の組み合わせの一覧表を示す図である。
【符号の説明】
【０１７７】
１，１ａ，１ｂ  メモリアクセス装置
２  ＤＲＡＭ
３〜５  マスターデバイス
１０〜１４  コマンド発行部  
２０，２０ａ  調停部
３０  第１一時記憶部
４０，４０ａ  第２一時記憶部
５０，５０ａ  選択部
５１，５１ａ  第１セレクタ
５２，５２ａ，５２ｂ  レイテンシー判別部
５３  第２セレクタ
５４  コマンドデータ出力線
５５  第１制御信号線
５６  第２制御信号線
５７  第１ショートカット線
５８  第３制御信号線
５９  第２ショートカット線
６０，６０ａ  最適化部
６１  第１ステージ最適化部
６２  第２ステージ最適化部
６３  第３ステージ最適化部
６４  第３セレクタ
６５，６５ａ  レイテンシー検出部
６６  コマンドバースト数情報出力線
７０  ＤＲＡＭインターフェース部
８０  ＦＩＦＯ
９０  第３一時記憶部
１００  リフレッシュコマンド発行部
【図１】
2006031124.tif 000003
【図２】
2006031124.tif 000004
【図３】
2006031124.tif 000005
【図４】
2006031124.tif 000006
【図５】
2006031124.tif 000007
【図６】
2006031124.tif 000008
【図７】
2006031124.tif 000009
【図８】
2006031124.tif 000010
【図９】
2006031124.tif 000011
【図１０】
2006031124.tif 000012
【図１１】
2006031124.tif 000013
【図１２】
2006031124.tif 000014
【図１３】
2006031124.tif 000015
【図１４】
2006031124.tif 000016
【図１５】
2006031124.tif 000017
【図１６】
2006031124.tif 000018
【図１７】
2006031124.tif 000019
【図１８】
2006031124.tif 000020
【図１９】
2006031124.tif 000021
【図２０】
2006031124.tif 000022
【図２１】
2006031124.tif 000023
【図２２】
2006031124.tif 000024
【図２３】
2006031124.tif 000025
【図２４】
2006031124.tif 000026
【図２５】
2006031124.tif 000027
【図２６】
2006031124.tif 000028