JP2008269348A - メモリ制御装置およびメモリ制御方法 - Google Patents
メモリ制御装置およびメモリ制御方法 Download PDFInfo
- Publication number
- JP2008269348A JP2008269348A JP2007112220A JP2007112220A JP2008269348A JP 2008269348 A JP2008269348 A JP 2008269348A JP 2007112220 A JP2007112220 A JP 2007112220A JP 2007112220 A JP2007112220 A JP 2007112220A JP 2008269348 A JP2008269348 A JP 2008269348A
- Authority
- JP
- Japan
- Prior art keywords
- access
- bank
- access request
- memory
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
【課題】連続処理ユニットと非連続処理ユニットを含む複数のアクセスユニットからのアクセス要求があった場合において、メモリバンド幅をあげることができるようにする。
【解決手段】メモリ制御装置は複数のバンクを有するメモリを制御する。メモリ制御装置は、第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御するアクセス制御手段を有する。このアクセス制御手段は、第2のアクセス要求のうち、第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の少ない非アクセスバンクへのアクセス要求を受け付けるように制御する。
【選択図】図1
【解決手段】メモリ制御装置は複数のバンクを有するメモリを制御する。メモリ制御装置は、第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御するアクセス制御手段を有する。このアクセス制御手段は、第2のアクセス要求のうち、第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の少ない非アクセスバンクへのアクセス要求を受け付けるように制御する。
【選択図】図1
Description
本発明は、複数のバンクを有するメモリを制御するメモリ制御装置およびメモリ制御方法に関する。
従来、パーソナルコンピュータ等の情報処理装置のメインメモリとして、シンクロナスダイナミックランダムアクセスメモリ(以下、SDRAMという)が使用されている。SDRAMは、キャッシュメモリのバースト転送をクロックに同期して高速に行えるようにした同期式メモリである。
このSDRAMは、連続したアドレスを指定して、データの読み書きを行うバーストアクセスでは、連続したクロック毎にデータの読み書きを行える。この場合、メモリバンド幅(1秒間に読み出しできるデータの量)の最大値はクロック周波数×ビット幅として求められる。
ところが、2つのバーストアクセスの間の期間は、SDRAMにアクセスすることできない。そのため、2つのバーストアクセスの間に時間が空くと、メモリバンド幅を低下させてしまう。
そこで、従来、SDRAMの内部を複数(2つないし4つ)のバンクに分割して行う連続アクセスモードがあった。この連続アクセスモードでは、クロック制御によりアクセスするバンクを切り替えながら各バンクに連続してアクセスするようにしている。
また、このバンク分割による連続アクセスモードでは、同じバンクへのアクセス要求が連続すると、そのバンクへのプリチャージ動作が終了するまでの無駄な時間が生じる。そのため、同じバンクへのアクセス要求が連続しないようにアクセス要求の順序を入れ替える技術がすでに知られていた。
これによると、バーストアクセスの実行中にそのバーストアクセスでアクセスされているバンクとは別のバンクへのアクセス要求を受け付け、先のバーストアクセスの直後から連続して次のバーストアクセスを実行することができる。
そして、SDRAMにアクセス要求を出すアクセスユニットが単一の場合は上記の技術で対応できる。
しかし、複数のアクセスユニットがSDRAMにアクセスするときは各アクセスユニットがアクセス要求を出すバンクを相互に制御することが困難であるため、同じバンクに連続してアクセスする可能性が生じる。
そこで、従来、特許文献1に次のようなメモリ制御装置が開示されていた。このメモリ制御装置は、複数のアクセスユニットがSDRAMにアクセス要求を出す場合において、異なるバンクに対するアクセス要求を出力するアクセスユニットの優先順位を上げることによって、異なるバンクに連続してアクセスできるようにしている。
特許第3819004号公報
ところで、複数のアクセスユニットが異なるバンクを対象として交互にアクセス要求が出すのであれば、メモリバンド幅の低下(バンド効率の低下)はない。
一般に、SDRAMにアクセスする場合において、バースト長(クロック数)を長くするとメモリバンド幅を高くすることができるが、その反面、バーストアクセス中に他のモジュール(例えばCPU)がSDRAMにアクセスすることができなくなってしまう。そのため、バースト長は使用するSDRAMの仕様に従った最も短いデータサイズに設定される。
しかし、バースト長を単に短くするだけでは、データの転送されない時間が増えるだけになってしまい、メモリバンド幅が低下してしまう。
一方、映像処理モジュールのように、連続したアドレスを指定してデータを読み出すことが予め決まっているアクセスユニット(連続処理ユニットともいう)については、アクセスの対象となるバンクが交互になるようにアクセス要求の優先順位を変更するなどしてメモリバンド幅をあげることができる。
しかし、連続処理ユニットに加えて、連続したアドレスを指定してデータを読み出すことが予め決まっていないアクセスユニット(非連続処理ユニットといい、例えばCPU)がSDRAMにアクセスする場合があり、このような場合には次のような問題を生じる。
例えば、A、B、C、Dの4つのバンクがあった場合において、ある連続処理ユニットからバンクAへのアクセス要求があったとする。この場合、従来技術によると、他の連続処理ユニットからのアクセス要求がバンクA以外のバンク(例えばバンクB)を対象としているときは、そのアクセス要求の優先順位を上げることになるので、異なるバンクに連続してアクセスできるようになる。
ところが、上記の場合において、非連続処理ユニットがバンクBへのアクセス要求を出すことが考えられる。つまり、優先順位を上げたアクセス要求でアクセスされるバンクと、非連続処理ユニットがアクセスしようとしているバンクとが同じになることが考えられる。そうすると、非連続処理ユニットからのアクセス要求があることによって、メモリバンド幅をあげることができなくなってしまう。
そのため、特許文献1に示した従来技術のように、異なるバンクへのアクセス要求を出すアクセスユニットの優先順位を上げるだけでは、メモリバンド幅をあげることができない場合があった。
そこで、本発明は上記課題を解決するためになされたもので、連続処理ユニットと非連続処理ユニットを含む複数のアクセスユニットからのアクセス要求があった場合において、メモリバンド幅をあげることができるようにしたメモリ制御装置およびメモリ制御方法を提供することを目的とする。
上記課題を解決するため、本発明は、複数のバンクを有するメモリを制御するメモリ制御装置であって、第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御するアクセス制御手段を有し、そのアクセス制御手段は、第2のアクセス要求のうち、第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の低い非アクセスバンクへのアクセス要求を受け付けるように制御するメモリ制御装置を特徴とする。
また、本発明は複数のバンクを有するメモリを制御するメモリ制御方法であって、第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御し、第2のアクセス要求のうち、第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の低い非アクセスバンクへのアクセス要求を受け付けるように制御するメモリ制御方法を提供する。
以上詳述したように、本発明によれば、連続処理ユニットと非連続処理ユニットを含む複数のアクセスユニットからのアクセス要求があった場合において、メモリバンド幅をあげることができるようにしたメモリ制御装置およびメモリ制御方法が得られる。
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
図1は、本発明の実施の形態に係るメモリ制御システム1の構成を示すブロック図である。メモリ制御システム1は、SDRAM100と、SDRAM100へのアクセスを制御するメモリ制御装置101と、メモリ制御装置101で制御された信号を用いて映像を表示する表示パネル115とを有している。
また、メモリ制御システム1はCPU(Central Processing Unit)102と、MPEG(Moving Picture Experts Group)デコーダ103と、複数(n個)の映像処理モジュール104a,104b・・・104cとを有している。
そして、メモリ制御システム1では、非連続処理モジュールとしてのCPU102およびMPEGデコーダ103が出すアクセス要求と、連続処理モジュールとしての映像処理モジュール104a,104b・・・104cが出すアクセス要求とをメモリ制御装置101が制御して異なるバンクへのアクセスが連続するようにしている。
なお、非連続処理モジュールは第1のアクセスユニットであり、ここから出されるアクセス要求が第1のアクセス要求である。また、連続処理モジュールは第2のアクセスユニットであり、ここから出されるアクセス要求は第2のアクセス要求である。
SDRAM100は同期式メモリであって、内部がA,B,C,Dの4つのバンクに分けられている。SDRAM100は図2に示すように、256byte毎に1バンクとなるようにバンクA,B,C,Dとアドレスとの関係が定義されている。
なお、このバンクA,B,C,Dとアドレスとの関係は、上記のように256byte毎に限定されるものではない。また、SDRAM100はA,B,C,Dの4つのバンクに分けられているが、少なくとも4つに分けられていればよく、4つより多くてもよい。
メモリ制御装置101は、アクセス制御部110と、バンク予測部111と、書込制御部112とを有している。また、メモリ制御装置101は、制御した信号を用いた表示パネル115による映像表示を制御する。
アクセス制御部110は、CPU102、MPEGデコーダ103および映像処理モジュール104a,104b・・・104cからのアクセス要求の順序を異なるバンクへのアクセス要求が連続するように制御する。
この場合、アクセス制御部110は、非連続処理モジュール(例えば、CPU102)からのアクセス要求を受け付けた後に連続処理モジュール(例えば、映像処理モジュール104a)からのアクセス要求を受け付けつけるようにしてアクセス要求の順序を制御する。
バンク予測部111は、非連続処理モジュール(例えば、CPU102)がアクセス要求をした後のアクセス要求によって続けてアクセスしようとするバンクを予測する。
書込制御部112は、映像処理モジュール104a,104b・・・104cからのアクセス要求によって、SDRAM100から読み出したデータの後述するバッファメモリ105a,105b・・・105cへの書き込みを制御する。
CPU102はSDRAM100に記憶されたプログラムを実行する装置で、図示しない入力装置や記憶装置からデータを受け取り、演算・加工した上で、出力装置や記憶装置に出力する。また、CPU102はこれらの動作を実行する際にメモリ制御装置101を通じてSDRAM100にアクセス要求を出力する。
MPEGデコーダ103は、MPEG方式で符号化されているデータの復号化処理を施して映像信号を再生する。また、MPEGデコーダ103は復号化処理を実行する際にメモリ制御装置101を通じてSDRAM100にアクセス要求を出力する。
映像処理モジュール104a,104b・・・104cは同じ構成を有しているので、映像処理モジュール104aについて図4を参照して説明する。図4に示すように、映像処理モジュール104aはバッファメモリ105aと、グラフィックス回路106を有している。バッファメモリ105aはSDRAM100の各バンクに割り当てられた4つの記憶部MA,MB,MC,MDを有している。
バッファメモリ105aにはSDRAM100から読み出したデータが記憶される。グラフィックス回路106はバッファメモリ105のMA,MB,MC,MDからこの順にデータを読み出して所定の映像信号処理を行い、映像データを出力する。
次に、メモリ制御システム1の動作内容について、メモリ制御装置101の動作内容を中心に説明する。
以下の説明では、CPU102と、映像処理モジュール104aとがともにSDRAM100にアクセス要求を出す場合を想定している。
メモリ制御装置101は、複数のバンクにアクセスしようとするアクセス要求をCPU102および映像処理モジュール104aのそれぞれから受け付ける。その場合、アクセス制御部110がCPU102からのアクセス要求の後に、映像処理モジュール104aからのアクセス要求を受け付けるようにしてアクセス要求の順序を入れ替える。
ここで、仮に、メモリ制御装置101が映像処理モジュール104aからのアクセス要求のうち、CPU102がアクセスしたバンクと異なるバンクへのアクセス要求であればいずれでもよいとし、そのようなアクセス要求を受け付けるとする。すると、CPU102が再びアクセス要求を出したときに映像処理モジュール104aからのアクセス要求とバンクが同じになることがある。
例えば、CPU102のアクセス要求がバンクAへのアクセス要求であったため、映像処理モジュール104aのアクセス要求はバンクAとは異なるバンクB,C,Dへのアクセス要求ならどれでもよいとする。すると、CPU102が次にアクセスする可能性の高いバンク(例えばバンクB)へのアクセス要求までも受け付けてしまうことがある。そうすると、映像処理モジュール104aのアクセス要求とバンクが同じになってしまう。
そこで、アクセス制御部110はCPU102からのアクセス要求を受け付けた後に、映像処理モジュール104aからのアクセス要求のうち、CPU102がアクセスしそうもないバンク(CPU102が続けてアクセスする可能性の低い(少ない)バンク、以下「非アクセスバンク」という)にアクセスしようとするアクセス要求を受け付ける。
その際、メモリ制御装置101では、バンク予測部111によってCPU102がアクセス要求を出した後の事後アクセス要求でアクセスしようとするバンクを予測している。バンク予測部111が予測するバンクを予測バンクという。
そして、アクセス制御部110はバンク予測部111の予測結果に基づいて、CPU102のアクセス要求の後に映像処理モジュール104aからのアクセス要求のうち、どのバンクへのアクセス要求を受け付けるかを決定する。
この場合、アクセス制御部110は映像処理モジュール104aからのアクセス要求のうち、バンク予測部111が予測した予測バンクとは異なるバンクを非アクセスバンクとみなし、そのバンクにアクセスしようとするアクセス要求をCPU102のアクセス要求の後に受け付ける。
CPU102は非連続処理ユニットであるため、映像処理モジュール104aとは異なり、SDRAM100にアクセスする際に、連続したバンクにアクセスすることが予め決まっているとはいえない。そのため、CPU102が連続したアクセス要求でアクセスしようとする一連のバンクに映像処理モジュール104aのアクセス要求のような規則性が現われることは少ない。
しかしながら、CPU102の連続したアクセス要求では、一度アクセスされたバンクから、CPU102が次にアクセスする可能性の高いバンクを予測することが可能である。
また、この予測したバンクをはずせば、同じバンクへのアクセス要求が連続する事態を少なくすることができる。
さらに、CPU102が続けてアクセスしようとするバンクは、CPU102からのアクセス要求を一旦受け付けてみないと明確にならない。
そのため、メモリ制御装置101では、一旦CPU102のアクセス要求を受け付けて、そのアクセス要求に基づき、バンク予測部111によって次にCPU102がアクセスしそうなバンクを予測し、その予測したバンク(予測バンク)とは異なるバンクを非アクセスバンクとみなしている。
こうすることで、CPU102が再びアクセス要求をしたときに映像処理モジュール104aのアクセス要求とバンクが同じになる事態を回避することができる。
そして、CPU102が連続してアクセスするときは同じバンクか、その両隣のバンクに再びアクセスすることが多いと考えられる。したがって、例えば、CPU102がバンクAへのアクセス要求を出したとき、バンク予測部111では、CPU102がその後の事後アクセス要求で同じバンクAか、その両隣のバンクB,Dに再びアクセスするであろうと予測して、バンクA,B,Dを予測バンクとする。この場合、バンクAが第1のバンクになる。
すると、アクセス制御部110はCPU102からのバンクAへのアクセス要求を受け付けた後、映像処理モジュール104aからのアクセス要求のうち、バンクA,B,Dとは異なるバンクCへのアクセス要求を受け付けることになる。
ここで、このようなバンク予測部111におけるバンクの予測と、アクセス制御部110におけるアクセス要求の決定とを模式的に図示すると、図6(a)のようになる。図6(a)は正方形の領域の4隅にバンクA,B,C,Dが配置された様子が描かれている。
映像処理モジュール104aは連続処理ユニットであるため、時計回りの指定ラインLに沿って、アクセスしようとするバンクをバンクA,B,C,Dと順次切り替えながらアクセス要求を出すとする。
これに対し、CPU102からのアクセス要求にはこのような規則性が現われることが少ない。そこで、CPU102が再びアクセスしそうなバンク(CPU102がアクセスしやすいバンク)をバンク予測部111が予測して、アクセス制御部110がその予測で決まったバンクを避ける形を取っている。
つまり、アクセス制御部110はCPU102の次回のアクセス要求を先取りして、そのアクセス要求でアクセスされるであろうバンクを避ける形で、映像処理モジュール104aからのアクセス要求を受け付ける。
具体的には、バンク予測部111がバンクAを予測バンクとする予測P1またはバンクB、Dをそれぞれ予測バンクとする予測P2、P3を実行し、アクセス制御部110は映像処理モジュール104aからのアクセス要求のうち、バンクCへのアクセス要求を受け付けるための決定D1を実行する。したがって、アクセス制御部110はCPU102がアクセスしようとしたバンクの対角位置に配置されるバンクへのアクセスを受け付けている。
また、SDRAM100がバンクA、B、C、D、Eの5つのバンクを有するとした場合は図6(b)に示すようになる。この場合、バンク予測部111は上記予測P1、予測P2を実行するとともに、バンクEを予測バンクとする予測P4を実行する。アクセス制御部110が決定D1に加えて、バンクDへのアクセス要求を受け付けるための決定D2を実行する。
次に、以上の動作について、図3,5を参照して具体的に説明する。ここで、CPU102は、バンクAに2回、バンクBに2回、バンクCに2回、バンクDに1回、というようにアクセスするとする。すなわち、CPU102は図3に示すアクセス要求r11、r12,r13、r14、r15、r16、r17を出すとする。
また、映像処理モジュール104aはアクセス要求r21、r22,r23、r24およびアクセス要求r31、r32,r33、r34を出すとする。アクセス要求r21、r22,r23、r24と、アクセス要求r31、r32,r33、r34とは、それぞれアクセスしようとするバンクがバンクA、B、C、Dの順に切り替えられている。
そして、アクセス制御部110はCPU102からのアクセス要求r11を受け付けた後に、映像処理モジュール104aからのアクセス要求r21、r22,r23、r24のいずれかを受け付ける。
この場合、CPU102が続けてアクセスしようとするバンクは、アクセス要求r21でアクセスしようとしたバンクと同じバンクおよびその両隣のバンクである。そのため、バンク予測部111はバンクA,B,Dを予測バンクとし、その予測結果をアクセス制御部110に通知する。
すると、アクセス制御部110は、映像処理モジュール104aからのアクセス要求のうち、バンクA,B,Dへのアクセス要求を除いたバンクCへのアクセス要求r23を受け付ける。そうすると、CPU102からのアクセス要求r21と、映像処理モジュール104aからのアクセス要求r23とが連続する。しかもこれらのアクセス要求は異なるバンクへのアクセス要求となる。
次に、アクセス制御部110はCPU102からのアクセス要求r12を受け付けた、その後に、映像処理モジュール104aからのアクセス要求r21,r22,r24、r31、r32,r33、r34のいずれかを受け付ける。この場合も、予測バンクはバンクA,B,Dである。
そのため、アクセス制御部110はCPU102からのアクセス要求r12を受け付けた後に、映像処理モジュール104aからのアクセス要求r33を受け付ける。そうすると、この場合も、異なるバンクへのアクセス要求が連続する。
さらに、アクセス制御部110はCPU102からのアクセス要求r13を受け付け、その後に、映像処理モジュール104aからのアクセス要求r21,r22,r24、r31、r32、r34のいずれかを受け付ける。この場合、アクセス要求r13はバンクB1へのアクセス要求なので、予測バンクはバンクB,A,Cである。
そのため、アクセス制御部110はCPU102からのアクセス要求r13を受け付けた後に、映像処理モジュール104aからのアクセス要求r24を受け付ける。そうすると、この場合も、異なるバンクへのアクセス要求が連続する。
以下同様に、アクセス制御部110はCPU102からのアクセス要求r13、r14、r15、r16、r17を受け付け、その後に、映像処理モジュール104aからのアクセス要求のうち、アクセス要求r13、r14、r15、r16、r17でCPU102がアクセスしたバンクと同じバンクおよびその両隣のバンク以外のバンクへのアクセス要求を受け付ける。なお、映像処理モジュール104aからのそのほかのアクセス要求はCPU102からのアクセス要求に続けて他のユニットからのアクセスを挟まずに連続して受け付ける。
以上のようにすることによって、CPU102からのアクセス要求と、映像処理モジュール104aからのアクセス要求とが連続する。しかも、双方からのアクセス要求は異なるバンクへのアクセス要求となる。
CPU102は非連続処理ユニットであるため、連続したアクセス要求で連続したアドレスを指定することが少なく、アクセスしようとするバンクがランダムになりやすい。したがって、映像処理モジュール104aからのアクセス要求に加えてCPU102からのアクセス要求が出されることによって、異なるバンクへのアクセス要求を連続して処理し難くなる。
そこで、メモリ制御装置101は先にCPU102からのアクセス要求を受け付けた上で、その後に映像処理モジュール104aからのアクセス要求を受け付けるように、アクセス要求の順序を制御する。しかも、CPU102からのアクセス要求を受け付けた後に、CPU102が再びアクセスしそうなバンクを予測して、その予測した予測バンクとは異なるバンクへのアクセス要求を受け付けている。
こうして、メモリ制御装置101はCPU102からのアクセス要求と、映像処理モジュール104aからのアクセス要求の双方のバンクが同じにならないようにしている。
これに対し、CPU102のバンクAへのアクセス要求を受け付けたあと、映像処理モジュール104aのアクセス要求はバンクAとは異なるバンクB,C,Dのどれでもよいとしてしまうと、図5のようになる。
図5に示すように、CPU102からのアクセス要求r11、r12の後にそれぞれ映像処理モジュール104aからのアクセス要求r22、r32を受け付ける。すると、各アクセス要求では、アクセスしようとするバンクがバンクA1、B、A2、Bとなるため、異なるバンクへのアクセス要求が連続する。
しかし、映像処理モジュール104aからのアクセス要求r32を受け付けた時点でCPU102がアクセス要求r13を出すと、バンクがどちらもバンクBになり同じになってしまう。
そうなると、異なるバンクへのアクセス要求が連続しなくなり、メモリバンド幅をあげることができなくなってしまう。この場合は映像処理モジュール104aからのアクセス要求r21を受け付ける格好になり、その後にCPU102のアクセス要求r13が受け付けられる。そのため、CPU102の処理速度が遅くなり、CPU102のレーテンシが悪化する。
以上のように、メモリ制御装置101はCPU102が続けてアクセスしそうなバンク(このバンクが予測バンクである)をCPU102からのアクセス要求に先回りして空けるようにして、映像処理モジュール104aからのアクセス要求を受け付けるようにしている。
そのため、CPU102からみると、自らがアクセスしようとしたバンクが他のユニット(例えば映像処理モジュール104a)によってアクセスされずにいつも空いているようにみえることになる。
一方、メモリ制御装置101では、アクセス制御部110によって、CPU102からのアクセス要求にしたがい映像処理モジュール104aからのアクセス要求の順序を変更している。そのため、映像処理モジュール104aからの連続したアクセス要求はバンクが連続しなくなる。映像処理モジュール104aがバンクA,B,C,Dから順にデータを読み出せるとは限られなくなる。
そこで、メモリ制御装置101では、映像処理モジュール104aからのアクセス要求で読み出されたデータの書き込みを書込制御部112が次のように制御している。
バッファ105aはSDRAM100の各バンクに対応した割り当てがなされている。そのため、書込制御部112は各バンクから読み出したデータをバッファ105の対応する記憶部(MA,MB,MC,MDのいずれか)に記憶させる。
そうすると、映像処理モジュール104aでは、グラフィックス処理回路106がバッファ105aの対応する記憶部(MA,MB,MC,MDのいずれか)から順次データを読み出すことによって、連続したアドレスを指定した場合と同じようにして処理を行える。
なお、以上の実施の形態では、SDRAM100を例にとって説明したが、本発明はSDRAMに限らず他の同期式メモリについても適用することができ、SDRAM100の場合と同様の効果が得られる。
また、CPU102が連続してアクセスしようとするバンクを予測するにあたって、次のようにしてもよい。CPU102の過去のアクセス実績を保持しておき、そのアクセス実績に基づき、バンク予測部111によってCPU102が次にアクセスしそうなバンクを予測する。アクセス実績は各バンクの累計したアクセス回数でもよいし、単位時間当たりのアクセス頻度でもよい。こうしたアクセス実績に基づいて次にアクセスしそうなバンクを予測すると、予測の精度を高めることができる。
さらに、予測バンクは、アクセスしようとしたバンクと同じバンクおよびその両隣のバンクとしなくてもよい。例えば、予測バンクは、アクセスしようとしたバンクと同じバンクおよび片側隣のバンクとしてもよい。
さらにまた、CPU102が連続してアクセスしようとするバンクを予測せずに決めておき、そのバンクへのアクセス要求をはずして映像処理モジュール104aからのアクセス要求を受け付けてもよい。例えば、CPU102が続けてアクセスしようとするバンクは、アクセス要求でアクセスしようとしたバンクと同じバンクおよびその両隣のバンクと決めておき、これらのバンクへのアクセス要求をはずして映像処理モジュール104aからのアクセス要求を受け付けてもよい。
以上の説明は、本発明の実施の形態についての説明であって、この発明の装置及び方法を限定するものではなく、様々な変形例を容易に実施することができる。又、各実施形態における構成要素、機能、特徴あるいは方法ステップを適宜組み合わせて構成される装置又は方法も本発明に含まれるものである。
1…メモリ制御システム、100…SDRAM、101…メモリ制御装置、102…CPU、103…MPEGデコーダ、104a,104b,104…映像処理モジュール、105…バッファメモリ、110…アクセス制御部、111…バンク予測部、112…書込制御部
Claims (10)
- 複数のバンクを有するメモリを制御するメモリ制御装置であって、
第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御するアクセス制御手段を有し、
該アクセス制御手段は、前記第2のアクセス要求のうち、前記第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の低い非アクセスバンクへのアクセス要求を受け付けるように制御するメモリ制御装置。 - 前記第1のアクセスユニットが前記第1のアクセス要求後に続けてアクセスしようとするバンクを予測するバンク予測手段を更に有し、
該アクセス制御手段は、前記バンク予測手段が予測した予測バンクと異なるバンクを前記非アクセスバンクとみなして前記アクセス要求を受け付けるように制御する請求項1記載のメモリ制御装置。 - 前記バンク予測手段は、前記第1のアクセスユニットが前記第1のアクセス要求でアクセスした第1のバンクを前記予測バンクとする請求項2記載のメモリ制御装置。
- 前記バンク予測手段は、前記第1のアクセスユニットが前記第1のアクセス要求でアクセスした第1のバンクおよび該第1のバンクの隣のバンクを前記予測バンクとする請求項2記載のメモリ制御装置。
- 前記第2のアクセス要求によって、前記メモリから読み出したデータの前記第2のアクセスユニットに備えられたバッファメモリへの書き込みを制御する書込制御手段を更に有する請求項1〜4のいずれか一項記載のメモリ制御装置。
- 中央処理装置を前記第1のアクセスユニットとし、連続したアドレスを指定して前記メモリからデータを読み出す連続処理モジュールを前記第2のアクセスユニットとして作動する請求項1〜5のいずれか一項記載のメモリ制御装置。
- 前記複数のバンクとして少なくとも4つのバンクを有するメモリを制御する請求項1〜6のいずれか一項記載のメモリ制御装置。
- 前記メモリは、同期式メモリである請求項1〜7のいずれか一項記載のメモリ制御装置。
- 表示パネルにおける映像表示を制御する請求項1〜8のいずれか一項記載のメモリ制御装置。
- 複数のバンクを有するメモリを制御するメモリ制御方法であって、
第1のアクセスユニットから出される第1のアクセス要求を受け付けた後に第2のアクセスユニットから出される第2のアクセス要求を受け付けるように制御し、
前記第2のアクセス要求のうち、前記第1のアクセス要求でアクセスされたバンクと相違し、かつ第1のアクセスユニットが続けてアクセスする可能性の低い非アクセスバンクへのアクセス要求を受け付けるように制御するメモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007112220A JP2008269348A (ja) | 2007-04-20 | 2007-04-20 | メモリ制御装置およびメモリ制御方法 |
US12/104,052 US20080263290A1 (en) | 2007-04-20 | 2008-04-16 | Memory control apparatus and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007112220A JP2008269348A (ja) | 2007-04-20 | 2007-04-20 | メモリ制御装置およびメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008269348A true JP2008269348A (ja) | 2008-11-06 |
Family
ID=39873389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007112220A Pending JP2008269348A (ja) | 2007-04-20 | 2007-04-20 | メモリ制御装置およびメモリ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080263290A1 (ja) |
JP (1) | JP2008269348A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011003160A (ja) * | 2009-06-22 | 2011-01-06 | Olympus Imaging Corp | データアクセス制御装置およびデータアクセス制御方法 |
JP2014191621A (ja) * | 2013-03-27 | 2014-10-06 | Canon Inc | 情報処理装置およびメモリアクセス制御方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272703B2 (en) * | 1997-08-01 | 2007-09-18 | Micron Technology, Inc. | Program controlled embedded-DRAM-DSP architecture and methods |
US6694421B2 (en) * | 1999-12-29 | 2004-02-17 | Intel Corporation | Cache memory bank access prediction |
US7263587B1 (en) * | 2003-06-27 | 2007-08-28 | Zoran Corporation | Unified memory controller |
JP5147102B2 (ja) * | 2005-05-30 | 2013-02-20 | 株式会社メガチップス | メモリアクセス方法 |
US7668040B2 (en) * | 2006-12-22 | 2010-02-23 | Fujitsu Microelectronics Limited | Memory device, memory controller and memory system |
-
2007
- 2007-04-20 JP JP2007112220A patent/JP2008269348A/ja active Pending
-
2008
- 2008-04-16 US US12/104,052 patent/US20080263290A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011003160A (ja) * | 2009-06-22 | 2011-01-06 | Olympus Imaging Corp | データアクセス制御装置およびデータアクセス制御方法 |
JP2014191621A (ja) * | 2013-03-27 | 2014-10-06 | Canon Inc | 情報処理装置およびメモリアクセス制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080263290A1 (en) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5351145B2 (ja) | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 | |
US6340973B1 (en) | Memory control unit and memory control method and medium containing program for realizing the same | |
US8661180B2 (en) | Memory controlling device and memory controlling method | |
KR101664486B1 (ko) | 메모리 제어 장치 | |
JP5396169B2 (ja) | データアクセス制御装置 | |
JP2010157130A (ja) | メモリシステム | |
JP4820566B2 (ja) | メモリアクセス制御回路 | |
JP5428687B2 (ja) | メモリ制御装置 | |
US20140344512A1 (en) | Data Processing Apparatus and Memory Apparatus | |
US20160110286A1 (en) | Data writing method and memory system | |
JP2003114827A (ja) | 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置 | |
JP4234829B2 (ja) | メモリ制御装置 | |
JP2008269348A (ja) | メモリ制御装置およびメモリ制御方法 | |
CN101903868B (zh) | 存储装置以及其控制方法 | |
JP2001256106A (ja) | メモリアクセスシステム | |
KR100726101B1 (ko) | 메모리 제어 시스템 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP2007018222A (ja) | メモリアクセス制御回路 | |
JP2006251923A (ja) | 先読み制御方法 | |
JP4769936B2 (ja) | メモリコントローラを備えた情報処理システム | |
JP2005063358A (ja) | 命令供給制御装置および半導体装置 | |
JP4549001B2 (ja) | 情報処理装置及び半導体集積回路 | |
JP2010061498A (ja) | メモリ制御装置、半導体試験装置およびメモリ制御方法 | |
US20070121398A1 (en) | Memory controller capable of handling precharge-to-precharge restrictions | |
WO2023189358A1 (ja) | メモリ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080806 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080718 |