JP3417473B2 - メモリアクセスシステム - Google Patents
メモリアクセスシステムInfo
- Publication number
- JP3417473B2 JP3417473B2 JP37301499A JP37301499A JP3417473B2 JP 3417473 B2 JP3417473 B2 JP 3417473B2 JP 37301499 A JP37301499 A JP 37301499A JP 37301499 A JP37301499 A JP 37301499A JP 3417473 B2 JP3417473 B2 JP 3417473B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bank
- row address
- data
- certain data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Input (AREA)
Description
ステム、アドレス変換装置及び方法に関し、特に複数の
バンクに分割されているメモリへアクセスする場合のア
ドレス変換に関するものである。
CPU(Central Processing Unit)による命令の実行
速度のみならず、CPUからメモリにアクセスする際の
アクセス時間によっても影響される。従って、メモリへ
のアクセス時間を短縮することは、コンピュータによる
計算処理の高速化に大きく寄与する。
ンクに分割し、そのうちの幾つかのバンクを同時に活性
化することができるようにしてランダムアクセスを行う
場合の平均的な速度を向上させたメモリが知られてい
る。各バンクは、複数のローアドレスと、少なくとも一
つのカラムアドレスを有する。このようなメモリとして
は、例えば、SDRAM(Synchronous Dynamic Random
Access Memory)や、Direct Rambus DRAM(Dynami
c Random Access Memory)などがある。
することができるが、同一バンク内の異なるローアドレ
スへの連続アクセスは、禁止(あるいは制限)されてい
る。すなわち、同一のバンクの異なるローアドレスへ続
けてアクセスしようとする場合には、メモリを一旦非活
性化する必要があり、メモリアクセスに遅延が生じる。
同時に活性化することができるが、一般に隣接したバン
ク間でセンスアンプを共有しているため、同一バンクの
異なるローアドレスへの連続アクセスだけでなく、隣接
するバンクへの連続アクセスも禁止(あるいは制限)さ
れている。これは、同一のバンクの異なるローアドレス
または隣接するバンクへ続けてアクセスしようとする場
合には、メモリを一旦非活性化する必要があり、メモリ
アクセスに遅延が生じるからである。
用した場合に、完全にランダムなアドレスに対して連続
してアクセスする場合には、メモリを一旦非活性化する
必要が生じる確率が単一バンク構成のメモリよりも低く
なり、平行したアクセスが可能となる確率が高くなるこ
とによる平均的なアクセス速度の向上が図られる。しか
しながら、アクセスするアドレスに偏った傾向があり、
同一バンクの同一ローアドレスに、または隣接するバン
クのローアドレスへのアクセスを連続して行う場合に
は、実質的に並行アクセスを行うことができず、平均的
なアクセス速度を向上させることができない。
ンプログラムでは、2次元の領域をメモリに割り当て、
画像データの水平方向に連続した領域に対するアクセス
と、矩形領域に対するアクセスが連続して行われる傾向
がある。従って、このようなアプリケーションプログラ
ムを実行する場合には、同一のバンクの異なるローアド
レスへのまたは隣接するバンクへのアクセスが連続して
行われる確率が高くなり、メモリアクセスの平均的な速
度を効率的に向上させることが不可能であった。
るためになされたものであり、同一のバンクの異なるロ
ーアドレスへの連続アクセスあるいは隣接するバンクへ
の連続アクセスが禁止(あるいは制限)されている複数
のバンクからなるメモリに、効率的にアクセスすること
を可能とするメモリアクセスシステム、アドレス変換装
置及び方法を提供することを目的とする。
め、本発明の第1の態様によるメモリアクセスシステム
は、2n(nは2以上の整数)個のバンクに分割され、
これらバンクの各々は、バンク番号B(Bは0≦B≦2
n−1を満足する整数)を与えられると共に、ローアド
レス番号A(AはA≧0を満足する整数)で識別される
ローアドレスを有し、同一のバンク内の異なるローアド
レスへの連続アクセスが禁止されており、各データが座
標(X,Y)で表される2次元配置のデータを記憶する
のに使用されるメモリと、前記2次元配置のデータを前
記メモリに格納すべく、前記メモリにアクセスする手段
であって、前記2次元配置のデータの或るデータを前記
メモリに格納すべく、前記メモリにアクセスするとき、
前記或るデータに対応する座標(X,Y)を出力するメ
モリアクセス手段と、前記或るデータに対応する座標
(X,Y)に応答して、下記の数式(1)を実行するこ
とにより、前記或るデータが記憶されるべき前記メモリ
の特定のバンクのバンク番号Bを算出するバンク番号算
出手段と、前記或るデータに対応する座標(X,Y)に
応答して、下記の数式(2)を実行することにより、前
記或るデータが記憶されるべき前記特定のバンクの特定
のローアドレスのローアドレス番号Aを算出するローア
ドレス番号算出手段とを有し、前記バンク番号算出手段
および前記ローアドレス番号算出手段によって算出され
たバンク番号Bおよびローアドレス番号Aを前記メモリ
に供給するアドレス変換手段とを備えることを特徴とす
る。
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。
アクセス手段が2次元配置のデータの水平方向に連続す
る領域に対するアクセスや、矩形領域へのアクセスを行
う場合、これらの領域が所定サイズ以下であれば、アド
レス変換手段によって変換されるメモリのバンク番号B
は、同一のバンクのものとならない。従って、画像デー
タのような2次元配置のデータにアクセスする場合、メ
モリの同一バンク内の異なるローアドレスへの連続アク
セスが禁止(あるいは制限)されていても、平均的なア
クセス時間を速くすることができる。
態様によるメモリアクセスシステムは、2n(nは3以
上の整数)個のバンクに分割され、これらバンクの各々
は、バンク番号B(Bは0≦B≦2n−1を満足する整
数)を与えられると共に、ローアドレス番号A(AはA
≧0を満足する整数)で識別されるローアドレスを有
し、同一のバンク内の異なるローアドレスへの連続アク
セスが禁止されていると共に、隣接するバンク同士への
連続アクセスが禁止されており、各データが座標(X,
Y)で表される2次元配置のデータを記憶するのに使用
されるメモリと、前記2次元配置のデータを前記メモリ
に格納すべく、前記メモリにアクセスする手段であっ
て、前記2次元配置のデータの或るデータを前記メモリ
に格納すべく、前記メモリにアクセスするとき、前記或
るデータに対応する座標(X,Y)を出力するメモリア
クセス手段と、前記或るデータに対応する座標(X,
Y)に応答して、下記の数式(3)を実行することによ
り、前記或るデータが記憶されるべき前記メモリの特定
のバンクのバンク番号Bを算出するバンク番号算出手段
と、前記或るデータに対応する座標(X,Y)に応答し
て、下記の数式(4)を実行することにより、前記或る
データが記憶されるべき前記特定のバンクの特定のロー
アドレスのローアドレス番号Aを算出するローアドレス
番号算出手段とを有し、前記バンク番号算出手段および
前記ローアドレス番号算出手段によって算出されたバン
ク番号Bおよびローアドレス番号Aを前記メモリに供給
するアドレス変換手段とを備えることを特徴とする。
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。
アクセス手段が2次元配置のデータの水平方向に連続す
る領域に対するアクセスや、矩形領域へのアクセスを行
う場合、これらの領域が所定サイズ以下であれば、アド
レス変換手段によって変換されるメモリのバンク番号B
は、同一または隣接するバンクのものとならない。従っ
て、画像データのような2次元配置のデータにアクセス
する場合、メモリの同一バンクの異なるローアドレスへ
の連続アクセスまたは隣接するバンクへの連続アクセス
が禁止(あるいは制限)されていても、平均的なアクセ
ス時間を速くすることができる。
メモリアクセスシステムにおいて、好ましくは、前記ア
ドレス変換手段は、n、m、kの値を、前記メモリアク
セス手段から供給される。
態様によるアドレス変換装置は、2n(nは2以上の整
数)個のバンクに分割され、これらバンクの各々は、バ
ンク番号B(Bは0≦B≦2n−1を満足する整数)を
与えられると共に、ローアドレス番号A(AはA≧0を
満足する整数)で識別されるローアドレスを有し、同一
のバンク内の異なるローアドレスへの連続アクセスが禁
止されており、各データが座標(X,Y)で表される2
次元配置のデータを記憶するのに使用されるメモリと、
前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置であって、前
記或るデータに対応する座標(X,Y)に応答して、下
記の数式(1)を実行することにより、前記或るデータ
が記憶されるべき前記メモリの特定のバンクのバンク番
号Bを算出するバンク番号算出手段と、前記或るデータ
に対応する座標(X,Y)に応答して、下記の数式
(2)を実行することにより、前記或るデータが記憶さ
れるべき前記特定のバンクの特定のローアドレスのロー
アドレス番号Aを算出するローアドレス番号算出手段と
を有し、前記バンク番号算出手段および前記ローアドレ
ス番号算出手段によって算出されたバンク番号Bおよび
ローアドレス番号Aを前記メモリに供給することを特徴
とする。
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。
態様によるアドレス変換装置は、2n(nは3以上の整
数)個のバンクに分割され、これらバンクの各々は、バ
ンク番号B(Bは0≦B≦2n−1を満足する整数)を
与えられると共に、ローアドレス番号A(AはA≧0を
満足する整数)で識別されるローアドレスを有し、同一
のバンク内の異なるローアドレスへの連続アクセスが禁
止されていると共に、隣接するバンク同士への連続アク
セスが禁止されており、各データが座標(X,Y)で表
される2次元配置のデータを記憶するのに使用されるメ
モリと、前記2次元配置のデータを前記メモリに格納す
べく、前記メモリにアクセスする手段であって、前記2
次元配置のデータの或るデータを前記メモリに格納すべ
く、前記メモリにアクセスするとき、前記或るデータに
対応する座標(X,Y)を出力するメモリアクセス手段
とに、組み合わされて使用されるアドレス変換装置であ
って、前記或るデータに対応する座標(X,Y)に応答
して、下記の数式(3)を実行することにより、前記或
るデータが記憶されるべき前記メモリの特定のバンクの
バンク番号Bを算出するバンク番号算出手段と、前記或
るデータに対応する座標(X,Y)に応答して、下記の
数式(4)を実行することにより、前記或るデータが記
憶されるべき前記特定のバンクの特定のローアドレスの
ローアドレス番号Aを算出するローアドレス番号算出手
段とを有し、前記バンク番号算出手段および前記ローア
ドレス番号算出手段によって算出されたバンク番号Bお
よびローアドレス番号Aを前記メモリに供給することを
特徴とする。
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。
ス変換装置において、好ましくは、n、m、kの値を、
前記メモリアクセス手段から供給される。
態様によるアドレス変換方法は、2n(nは2以上の整
数)個のバンクに分割され、これらバンクの各々は、バ
ンク番号B(Bは0≦B≦2n−1を満足する整数)を
与えられると共に、ローアドレス番号A(AはA≧0を
満足する整数)で識別されるローアドレスを有し、同一
のバンク内の異なるローアドレスへの連続アクセスが禁
止されており、各データが座標(X,Y)で表される2
次元配置のデータを記憶するのに使用されるメモリと、
前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置において、行
われるアドレス変換方法であって、前記或るデータに対
応する座標(X,Y)に応答して、下記の数式(1)を
実行することにより、前記或るデータが記憶されるべき
前記メモリの特定のバンクのバンク番号Bを算出するバ
ンク番号算出ステップと、前記或るデータに対応する座
標(X,Y)に応答して、下記の数式(2)を実行する
ことにより、前記或るデータが記憶されるべき前記特定
のバンクの特定のローアドレスのローアドレス番号Aを
算出するローアドレス番号算出ステップとを有し、前記
バンク番号算出ステップおよび前記ローアドレス番号算
出ステップによって算出されたバンク番号Bおよびロー
アドレス番号Aを前記メモリに供給することを特徴とす
る。
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。
態様によるアドレス変換方法は、2n(nは3以上の整
数)個のバンクに分割され、これらバンクの各々は、バ
ンク番号B(Bは0≦B≦2n−1を満足する整数)を
与えられると共に、ローアドレス番号A(AはA≧0を
満足する整数)で識別されるローアドレスを有し、同一
のバンク内の異なるローアドレスへの連続アクセスが禁
止されていると共に、隣接するバンク同士への連続アク
セスが禁止されており、各データが座標(X,Y)で表
される2次元配置のデータを記憶するのに使用されるメ
モリと、前記2次元配置のデータを前記メモリに格納す
べく、前記メモリにアクセスする手段であって、前記2
次元配置のデータの或るデータを前記メモリに格納すべ
く、前記メモリにアクセスするとき、前記或るデータに
対応する座標(X,Y)を出力するメモリアクセス手段
とに、組み合わされて使用されるアドレス変換装置にお
いて、行われるアドレス変換方法であって、前記或るデ
ータに対応する座標(X,Y)に応答して、下記の数式
(3)を実行することにより、前記或るデータが記憶さ
れるべき前記メモリの特定のバンクのバンク番号Bを算
出するバンク番号算出ステップと、前記或るデータに対
応する座標(X,Y)に応答して、下記の数式(4)を
実行することにより、前記或るデータが記憶されるべき
前記特定のバンクの特定のローアドレスのローアドレス
番号Aを算出するローアドレス番号算出ステップとを有
し、前記バンク番号算出手段および前記ローアドレス番
号算出手段によって算出されたバンク番号Bおよびロー
アドレス番号Aを前記メモリに供給することを特徴とす
る。
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。
実施の形態について説明する。
および図3を参照して、本発明の第1の実施の形態にか
かるメモリアクセスシステムについて説明する。
にかかるメモリアクセスシステムは、メモリ1と、CP
U(あるいは、メモリアクセスユニット)2と、アドレ
ス変換装置3とを有する。
のバンクに分割され、これらバンクの各々は、バンク番
号B(Bは0≦B≦2n−1を満足する整数)を与えら
れている。
も一つのカラムアドレスと、ローアドレス番号A(Aは
A≧0を満足する整数)で識別されるローアドレスを有
する。図示の例は、カラムサイズが1の場合(カラムア
ドレスが1つの場合)であるので、メモリ1にアクセス
する際にカラムアドレスの指定は必要ない。
内の異なるローアドレスへの連続アクセスが禁止(ある
いは制限)されている。メモリ1は、各データが座標
(X,Y)で表される2次元配置のデータを記憶するの
に使用される。
ト)2は、2次元配置のデータをメモリ1に格納すべ
く、メモリ1にアクセスする。CPU(あるいは、メモ
リアクセスユニット)2は、2次元配置のデータの或る
データをメモリ1に格納すべく、メモリ1にアクセスす
るとき、前記或るデータに対応する座標(X,Y)を出
力する。
ニット31と、ローアドレス番号算出ユニット32とを
有する。
データに対応する座標(X,Y)に応答して、下記の数
式(1)を実行することにより、前記或るデータが記憶
されるべきメモリ1の特定のバンクのバンク番号Bを算
出する。
記或るデータに対応する座標(X,Y)に応答して、下
記の数式(2)を実行することにより、前記或るデータ
が記憶されるべき前記特定のバンクの特定のローアドレ
スのローアドレス番号Aを算出する。
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。
ドレス番号算出ユニット32によって算出されたバンク
番号Bおよびローアドレス番号Aはメモリ1に供給され
る。
詳細に説明する。
れ、2n個のバンクを有するが、同一のバンク内の異な
るローアドレスへ対する連続アクセスが禁止(あるいは
制限)されている(同一のバンク内の異なるローアドレ
スへ対する連続アクセスができないことを意味する)。
なお、メモリ1には、2n個のバンクが所定の方向(水
平方向とする)に配置されており、各バンクには順番に
0,1,2,・・・,2 n−1のバンク番号が付されて
いるものとする。
には、ビットマップの画像データなどの2次元配置のデ
ータが記憶されるものとし、該2次元配置の各データの
座標を(X,Y)で表すものとする。
コードを順次実行し、当該プログラムで記述されている
処理を行う。CPU2は、メモリ1に記憶されている2
次元配置の座標(X,Y)にアクセスする命令コードを
実行した場合に、アドレス変換装置3にその座標(X,
Y)を送り、アドレス変換装置3は座標(X,Y)から
バンクB及びローアドレス番号Aを算出し、メモリ1に
アクセスを行う。
1にアクセスする場合にアドレス変換を行うものであ
り、上述の数式(1)および(2)の演算を実行するよ
うに論理結線されたハードウェアによって構成される。
アドレス変換を行うため、アドレス変換装置3には、メ
モリ1のバンク数の指数n、m、kの各データがCPU
2から常時供給されている。また、アドレス変換装置3
は、CPU2がメモリ1にアクセスする場合に、メモリ
1に記憶されている2次元領域の座標(X,Y)をCP
U2から受け取る。
番号をB、ローアドレス番号をAとした場合に、CPU
2から供給されたデータn、m、k、X、Yを用い、上
述の数式(1)および(2)に示す演算を行って、アド
レス変換を行う。
アドレス変換を行うと、その結果であるバンク番号B及
びローアドレス番号Aに従って、メモリ1にアクセスす
る。なお、CPU1は、メモリ1に記憶されている2次
元領域に含まれる複数のデータにアクセスする場合に、
同一のバンク内の異なるローアドレスにアクセスする場
合以外は、連続してアクセスすることができる。
セスシステムの動作について、説明する。ここで、CP
U2からアドレス変換装置3には、n、m、kの値が常
時供給されている。
タを読み出そうとする命令コードを実行する場合、或い
はメモリ1にデータを書き込もうとする命令コードを実
行したする場合には、CPU2は、まず、その読み出し
または書き込みを行おうとするデータの2次元配置の座
標(X,Y)をアドレス変換装置3に送る。
元配置の座標(X,Y)を受け取ると、これらX、Yの
値と、常時供給されているn、m、kの値とに従って、
上記の数式(1)および(2)の演算を行って、メモリ
1のバンク番号Bとローアドレス番号Aとを算出する。
ーアドレス番号Aとに従ってメモリ1にアクセス、すな
わち、CPU2が実行する命令コードがデータの読み出
しの場合には、メモリ1の当該バンク及びローアドレス
に記憶されているデータを読み出し、実行する命令コー
ドがデータの書き込みの場合には、メモリ1の当該バン
ク及びローアドレスにデータを書き込む。
領域、例えば、所定の座標から水平方向に連続するデー
タ、或いは所定の座標を基点とする矩形領域に含まれる
データの読み出しまたは書き込みを行おうとする場合に
は、同一のバンクへアクセスする場合以外は、メモリ1
へのアクセスを含めて上記の動作を並行して連続的に行
う。
セスシステムにおけるアドレス変換の例について、図3
を参照して説明する。図3は、n=3、m=1、k=2
とし、10×8の2次元領域を配置したものであり、2
次元配置のデータ(X,Y)のそれぞれに対応して、上
記の数式(1)および(2)に従って算出されたバンク
番号Bとローアドレス番号Aとを示している。
1),(2,1),(3,1),(4,1)の4の大き
さの水平領域にアクセスする場合には、この領域の各座
標のデータが格納されているメモリ1のバンク番号は、
それぞれ3、4、5、6となる。従って、CPU2は、
メモリ1の同一のバンクに対して連続してアクセスする
ことはない。
1),(1,2),(2,2)の2×2の矩形領域にア
クセスする場合には、この領域の各データが格納されて
いるメモリ1のバンク番号は3、4、5、6となる。従
って、CPU2は、メモリ1の同一のバンクに連続して
アクセスすることはない。なお、2×2よりも大きな領
域にアクセスする場合は、同一バンクが領域内に複数個
含まれる場合があるが、同一バンクへのアクセスを連続
して行わないようにアクセスの順番を調整すればよい。
れば、水平方向に連続する領域に対するアクセスや、矩
形領域(但し、所定サイズ以下)へのアクセスを行う場
合、それら領域内の各データは、メモリ1のそれぞれ異
なるバンクに記憶されることとなる。このため、メモリ
1の同一のバンク内で異なるローアドレスに連続してア
クセスするために、メモリ1を非活性化する必要がな
く、遅延が生じない。従って、画像データのような2次
元配置のデータにアクセスする場合、メモリ1がSDR
AMのように同一のバンク内の異なるローアドレスへの
アクセスが制限されているものであっても、メモリ1へ
の平均的なアクセス速度を速くすることができる。
および図4を参照して、本発明の第2の実施の形態にか
かるメモリアクセスシステムについて説明する。
施の形態にかかるメモリアクセスシステムの構成は、第
1の実施の形態のものとほぼ同一である。但し、メモリ
1は、Direct Rambus DRAMによって構成され、同一
のバンク内の異なるローアドレスへ対する連続アクセス
が禁止(あるいは制限)されているだけでなく、隣接す
るバンクへのアクセスも禁止(あるいは制限)されてい
る点で第1の実施の形態のものと異なる。また、アドレ
ス変換装置3によるアドレス変換の方法が、第1の実施
の形態のものと異なる。なお、この第2の実施の形態に
おいても、メモリ1は2n個のバンクを有するが、この
第2の実施の形態においては、nは3以上の整数と定義
される。
置3は、メモリ1のバンク番号をB、ローアドレス番号
をAとした場合に、次の数式(3)および(4)により
アドレス変換を行う。
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。
ステムの動作は、アドレス変換装置3のバンク番号算出
ユニット31が数式(3)によりバンク番号Bを算出す
る他は、第1の実施の形態のものと実質的に同一であ
る。
セスシステムにおけるアドレス変換の例について、図4
を参照して説明する。図4は、n=3、m=1、k=2
とし、10×8の2次元領域を配置したものであり、2
次元配置のデータ(X,Y)のそれぞれに対応して、上
記の数式(3)および(4)に従って算出されたバンク
番号Bとローアドレス番号Aとを示している。
1),(2,1),(3,1),(4,1)の4の大き
さの水平領域にアクセスする場合には、この領域の各座
標のデータが格納されているメモリ1のバンク番号は、
それぞれ6、1、3、5となる。従って、CPU2は、
メモリ1の同一のバンクに対して連続してアクセスする
ことはない。
1),(1,2),(2,2)の2×2の矩形領域にア
クセスする場合には、、それぞれ6、1、3、5とな
り、同一のバンクに連続してアクセスすることはない。
従って、CPU2は、メモリ1の同一のバンクに連続し
てアクセスすることはない。なお、2×2よりも大きな
領域にアクセスする場合は、同一バンクが領域内に複数
個含まれる場合があるが、同一バンクへのアクセスを連
続して行わないようにアクセスの順番を調整すればよ
い。
れば、水平方向に連続する領域に対するアクセスや、矩
形領域へのアクセスを行う場合、それら領域内の各デー
タは、メモリ1のそれぞれ同一でもなく、隣接もしない
バンクに記憶されることとなる。このため、メモリ1の
同一バンクの異なるローアドレスに連続してアクセスす
る必要がなく、または隣接するバンクに連続してアクセ
スする必要もなく、メモリ1の同一バンクの異なるロー
アドレスに連続してアクセスするために、または隣接す
るバンクに連続してアクセスするために、メモリ1を非
活性化する必要がなく、遅延が生じない。従って、画像
データのような2次元配置のデータにアクセスする場
合、メモリ1がDirect Rambus DRAMのように同一バ
ンク内の異なるローアドレスへのアクセスや隣接するバ
ンクへのアクセスが制限されているものであっても、メ
モリ1への平均的なアクセス速度を速くすることができ
る。
1、第2の実施の形態に限られず、種々の変形、応用が
可能である。以下、本発明に適用可能な上記の実施の形
態の変形態様について、説明する。
SDRAMによって構成されるものとし、上記の第2の
実施の形態では、メモリ2はDirect Rambus DRAMに
よって構成されるものとしていた。しかしながら、本発
明で適用可能なメモリは、これらに限られるものでな
く、2n個のバンクに分割され、同一のバンク内での異
なるローアドレスへのアクセスあるいは隣接するバンク
の連続アクセスが禁止(あるいは制限)されているもの
であれば、どのようなタイプのものであっても適用する
ことができる。
レス変換装置3は、数式(1)および(2)あるいは数
式(3)および(4)の演算を行うよう論理結線された
ハードウェアによって構成されるものとしていた。しか
しながら、アドレス変換装置3は、ソフトウェアやファ
ームウェアでアドレス変換を行うものとしてもよい。ま
た、このような独立したアドレス変換装置を設けず、C
PU2でアドレス変換を行ってメモリ1にアクセスする
ものとしてもよい。
同一のバンク内での異なるローアドレスへのアクセスあ
るいは隣接するバンクの連続アクセスに制限が付されて
いる、複数のバンクからなるメモリに、効率的にアクセ
スすることが可能となる。
ック図である。
クを示す図である。
セスシステムにおけるアドレス変換の例を示す図であ
る。
セスシステムにおけるアドレス変換の例を示す図であ
る。
Claims (10)
- 【請求項1】 2n(nは2以上の整数)個のバンクに
分割され、これらバンクの各々は、バンク番号B(Bは
0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されており、
各データが座標(X,Y)で表される2次元配置のデー
タを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段と、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(1)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出手段と、前記或るデー
タに対応する座標(X,Y)に応答して、下記の数式
(2)を実行することにより、前記或るデータが記憶さ
れるべき前記特定のバンクの特定のローアドレスのロー
アドレス番号Aを算出するローアドレス番号算出手段と
を有し、前記バンク番号算出手段および前記ローアドレ
ス番号算出手段によって算出されたバンク番号Bおよび
ローアドレス番号Aを前記メモリに供給するアドレス変
換手段とを備えることを特徴とするメモリアクセスシス
テム。 B={Y×(2n×m+k)+X}mod2n (1) A=INT[{Y×(2n×m+k)+X}/2n] (2) 但し、mは正の整数であり、kは1以外で、2nよりも
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。 - 【請求項2】 請求項1に記載のメモリアクセスシステ
ムにおいて、 前記アドレス変換手段は、n、m、kの値を、前記メモ
リアクセス手段から供給されることを特徴とするメモリ
アクセスシステム。 - 【請求項3】 2n(nは3以上の整数)個のバンクに
分割され、これらバンクの各々は、バンク番号B(Bは
0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されていると
共に、隣接するバンク同士への連続アクセスが禁止され
ており、各データが座標(X,Y)で表される2次元配
置のデータを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段と、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(3)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出手段と、前記或るデー
タに対応する座標(X,Y)に応答して、下記の数式
(4)を実行することにより、前記或るデータが記憶さ
れるべき前記特定のバンクの特定のローアドレスのロー
アドレス番号Aを算出するローアドレス番号算出手段と
を有し、前記バンク番号算出手段および前記ローアドレ
ス番号算出手段によって算出されたバンク番号Bおよび
ローアドレス番号Aを前記メモリに供給するアドレス変
換手段とを備えることを特徴とするメモリアクセスシス
テム。 B=[{Y×(2n×m+k)+X}mod2n−1]×2+INT([{ Y×(2n×m+k)+X}mod2n]/2n−1) (3) A=INT[{Y×(2n×m+k)+X}/2n] (4) 但し、mは正の整数であり、kは1、2n−1−1、2
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。 - 【請求項4】 請求項3に記載のメモリアクセスシステ
ムにおいて、 前記アドレス変換手段は、n、m、kの値を、前記メモ
リアクセス手段から供給されることを特徴とするメモリ
アクセスシステム。 - 【請求項5】 2n(nは2以上の整数)個のバンクに
分割され、これらバンクの各々は、バンク番号B(Bは
0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されており、
各データが座標(X,Y)で表される2次元配置のデー
タを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置であって、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(1)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出手段と、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(2)を実行することにより、前記或るデー
タが記憶されるべき前記特定のバンクの特定のローアド
レスのローアドレス番号Aを算出するローアドレス番号
算出手段とを有し、 前記バンク番号算出手段および前記ローアドレス番号算
出手段によって算出されたバンク番号Bおよびローアド
レス番号Aを前記メモリに供給することを特徴とするア
ドレス変換装置。 B={Y×(2n×m+k)+X}mod2n (1) A=INT[{Y×(2n×m+k)+X}/2n] (2) 但し、mは正の整数であり、kは1以外で、2nよりも
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。 - 【請求項6】 請求項5に記載のアドレス変換装置にお
いて、 n、m、kの値を、前記メモリアクセス手段から供給さ
れることを特徴とするアドレス変換装置。 - 【請求項7】 2n(nは3以上の整数)個のバンクに
分割され、これらバンクの各々は、バンク番号B(Bは
0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されていると
共に、隣接するバンク同士への連続アクセスが禁止され
ており、各データが座標(X,Y)で表される2次元配
置のデータを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置であって、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(3)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出手段と、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(4)を実行することにより、前記或るデー
タが記憶されるべき前記特定のバンクの特定のローアド
レスのローアドレス番号Aを算出するローアドレス番号
算出手段とを有し、 前記バンク番号算出手段および前記ローアドレス番号算
出手段によって算出されたバンク番号Bおよびローアド
レス番号Aを前記メモリに供給することを特徴とするア
ドレス変換装置。 B=[{Y×(2n×m+k)+X}mod2n−1]×2+INT([{ Y×(2n×m+k)+X}mod2n]/2n−1) (3) A=INT[{Y×(2n×m+k)+X}/2n] (4) 但し、mは正の整数であり、kは1、2n−1−1、2
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。 - 【請求項8】 請求項7に記載のアドレス変換装置にお
いて、 n、m、kの値を、前記メモリアクセス手段から供給さ
れることを特徴とするアドレス変換装置。 - 【請求項9】 2n(nは2以上の整数)個のバンクに
分割され、これらバンクの各々は、バンク番号B(Bは
0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されており、
各データが座標(X,Y)で表される2次元配置のデー
タを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置において、行
われるアドレス変換方法であって、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(1)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出ステップと、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(2)を実行することにより、前記或るデー
タが記憶されるべき前記特定のバンクの特定のローアド
レスのローアドレス番号Aを算出するローアドレス番号
算出ステップとを有し、 前記バンク番号算出ステップおよび前記ローアドレス番
号算出ステップによって算出されたバンク番号Bおよび
ローアドレス番号Aを前記メモリに供給することを特徴
とするアドレス変換方法。 B={Y×(2n×m+k)+X}mod2n (1) A=INT[{Y×(2n×m+k)+X}/2n] (2) 但し、mは正の整数であり、kは1以外で、2nよりも
小さい正の整数であり、modは剰余を求める演算子で
あり、INTは商の整数部を求める演算子である。 - 【請求項10】 2n(nは3以上の整数)個のバンク
に分割され、これらバンクの各々は、バンク番号B(B
は0≦B≦2n−1を満足する整数)を与えられると共
に、ローアドレス番号A(AはA≧0を満足する整数)
で識別されるローアドレスを有し、同一のバンク内の異
なるローアドレスへの連続アクセスが禁止されていると
共に、隣接するバンク同士への連続アクセスが禁止され
ており、各データが座標(X,Y)で表される2次元配
置のデータを記憶するのに使用されるメモリと、 前記2次元配置のデータを前記メモリに格納すべく、前
記メモリにアクセスする手段であって、前記2次元配置
のデータの或るデータを前記メモリに格納すべく、前記
メモリにアクセスするとき、前記或るデータに対応する
座標(X,Y)を出力するメモリアクセス手段とに、組
み合わされて使用されるアドレス変換装置において、行
われるアドレス変換方法であって、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(3)を実行することにより、前記或るデー
タが記憶されるべき前記メモリの特定のバンクのバンク
番号Bを算出するバンク番号算出ステップと、 前記或るデータに対応する座標(X,Y)に応答して、
下記の数式(4)を実行することにより、前記或るデー
タが記憶されるべき前記特定のバンクの特定のローアド
レスのローアドレス番号Aを算出するローアドレス番号
算出ステップとを有し、 前記バンク番号算出手段および前記ローアドレス番号算
出手段によって算出されたバンク番号Bおよびローアド
レス番号Aを前記メモリに供給することを特徴とするア
ドレス変換方法。 B=[{Y×(2n×m+k)+X}mod2n−1]×2+INT([{ Y×(2n×m+k)+X}mod2n]/2n−1) (3) A=INT[{Y×(2n×m+k)+X}/2n] (4) 但し、mは正の整数であり、kは1、2n−1−1、2
n−1、2n−1+1以外で、2nよりも小さい正の整
数であり、modは剰余を求める演算子であり、INT
は商の整数部を求める演算子である。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37301499A JP3417473B2 (ja) | 1999-01-07 | 1999-12-28 | メモリアクセスシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP167999 | 1999-01-07 | ||
JP11-1679 | 1999-01-07 | ||
JP37301499A JP3417473B2 (ja) | 1999-01-07 | 1999-12-28 | メモリアクセスシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259493A JP2000259493A (ja) | 2000-09-22 |
JP3417473B2 true JP3417473B2 (ja) | 2003-06-16 |
Family
ID=26334950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37301499A Expired - Fee Related JP3417473B2 (ja) | 1999-01-07 | 1999-12-28 | メモリアクセスシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3417473B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4682384B2 (ja) * | 2006-07-11 | 2011-05-11 | 株式会社メガチップス | 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構 |
JP4982907B2 (ja) * | 2010-12-07 | 2012-07-25 | 株式会社メガチップス | 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構 |
KR102042196B1 (ko) * | 2012-01-26 | 2019-11-28 | 삼성디스플레이 주식회사 | 저장장치 및 그의 제어방법 |
-
1999
- 1999-12-28 JP JP37301499A patent/JP3417473B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
直野典彦,Direct Rambus 1999年のパソコン主記憶をねらう(上),日経エレクトロニクス,日本,日経BP社,1998年 1月26日,no.708,p139−p152 |
Also Published As
Publication number | Publication date |
---|---|
JP2000259493A (ja) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7707328B2 (en) | Memory access control circuit | |
US8918589B2 (en) | Memory controller, memory system, semiconductor integrated circuit, and memory control method | |
JPH04343151A (ja) | メモリアクセス装置 | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
WO2020135209A1 (zh) | 减少存储体冲突的方法 | |
US20070022261A1 (en) | Method of interleaving asymmetric memory arrays | |
US6760830B2 (en) | Modulo addressing | |
US6667930B1 (en) | System and method for optimizing performance in a four-bank SDRAM | |
JP3417473B2 (ja) | メモリアクセスシステム | |
KR102202575B1 (ko) | 메모리 관리 방법 및 장치 | |
US6356988B1 (en) | Memory access system, address converter, and address conversion method capable of reducing a memory access time | |
KR950014176B1 (ko) | 메모리 콘트롤라 및 데이타 처리 시스템 | |
CN110018847A (zh) | 可配置寄存器及基于可配置寄存器的数据存取方法 | |
CN109635236B (zh) | 对称矩阵的下三角部分存储装置和并行读取方法 | |
US8812813B2 (en) | Storage apparatus and data access method thereof for reducing utilized storage space | |
JPH04153753A (ja) | キャッシュメモリ制御方式 | |
JP2024004543A (ja) | メモリシステム | |
JP4150888B2 (ja) | アドレス変換装置 | |
JP3109816B2 (ja) | アドレス生成装置 | |
WO1996005598A1 (en) | Method and system for storing data blocks in a memory device | |
TW200415515A (en) | System for allowing only a partial value prediction field/cache size | |
WO1996006394A1 (en) | Method and system for identifying common data element in data blocks for storage | |
JPH04245346A (ja) | マイクロコンピュータシステム | |
JP2684752B2 (ja) | 拡張記憶制御方式 | |
CN118469795A (zh) | 地址数据的写入方法及装置、电子设备与存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090411 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100411 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140411 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |