JP2008059565A - バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法 - Google Patents

バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法 Download PDF

Info

Publication number
JP2008059565A
JP2008059565A JP2007190619A JP2007190619A JP2008059565A JP 2008059565 A JP2008059565 A JP 2008059565A JP 2007190619 A JP2007190619 A JP 2007190619A JP 2007190619 A JP2007190619 A JP 2007190619A JP 2008059565 A JP2008059565 A JP 2008059565A
Authority
JP
Japan
Prior art keywords
memory
transfer
burst
address
bus master
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
Application number
JP2007190619A
Other languages
English (en)
Inventor
Yuichi Nakatake
勇一 中武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007190619A priority Critical patent/JP2008059565A/ja
Publication of JP2008059565A publication Critical patent/JP2008059565A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来のメモリインタフェースはメモリ側のアドレッシング機能を考慮していない。またメモリ側もシステム側のアドレッシング機能を考慮していない。この場合、内部アドレスのインクリメント動作のみを実行させることができるメモリとバスマスタ間のバースト転送の場合や、逆に、内部アドレスのラッピング動作のみを実行させることができるメモリとバスマスタ間のバースト転送の場合には、システム側とメモリ側とでアドレッシング機能の不整合が生じる場合がある。
【解決手段】バスマスタからのバースト転送命令を受け、対応するメモリにバースト転送命令に基づく転送命令を発効するメモリインタフェースであって、バスマスタのアドレッシングモードとメモリのアドレッシングモードが異なっている場合に、アドレッシングモードの違いとバースト転送命令とに基づき第1の転送命令を生成してメモリに供給することを特徴とするメモリインタフェース。
【選択図】図1

Description

本発明は、メモリインタフェース装置及びその制御方法に関し、特に、バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法に関する。
近年のCPUを含む半導体装置において、CPUの高速化、複雑化に呼応して、大容量で、より高速なバースト・アクセスを行えるメモリが要求されており、その種類も多種多様に開発されてきている。
図1は、一般的なコンピュータシステムの構成の典型例を示す図である。通常、図1のデータプロセッサ1は、CPU(中央処理装置)13とその他の機能ブロックで構成され、DMA転送を制御するDMAC(DMAコントローラ)14や、メモリインターフェース回路12等を備えている。
メモリインターフェース回路12は、CPU13と内部バス(内部アドレスバス及び内部データバス)を介して接続されると共に、アクセスサイクルを制御するステートマシン10と、バスインターフェース11などで構成されるのが一般的である。なお、後述される本発明のステートマシンも、図1のメモリインターフェース回路12内に実装される。
図2は、特許文献1に開示されているメモリインターフェース回路の構成を示す図である。このメモリインターフェース回路は、図1に示す一般的なコンピュータシステム構成に用いられる。図2の構成の特徴は、ステートマシン10にある。
図2のステートマシン10は、メモリインターフェースに内蔵されるシステム内部レジスタ(不図示)から、
ポートサイズ、
I−TYPE(バースト転送条件)、
ACK_EN(後述するTA及びAACKのイネーブル)、
の情報を受け取る。
図2のステートマシン10は、
AACK(アドレスアクノリッジ)信号、及び、
TA(転送アクノリッジ)信号、
を外部メモリ(図1のメモリ21、22等)から受け取る。
更に、このステートマシン10は、CPU(図1の13)から、キャッシュ充填要求信号を含めて制御信号を受け取る。
また、ステートマシン10は、DMAコントローラ(図1の14)から、
DMA要求信号、及び、
BDIPD信号(DMAバーストデータ進行中)、
を含む制御信号を受け取る。
また、ステートマシン10は、
TS(転送開始)、
BURST(バーストサイクル)、
FIX(固定バースト・アクセス)、及び、
BDIP(バーストデータ進行中)/LAST(バーストの最後のビートを示す)、 なる出力信号を有する。
図2のステートマシン10は、伝統的な直列的論理状態マシンであり、図3(固定バーストモード)や図4(可変バーストモード)のタイミング図において示されるように、ステートマシン10により、信号TS、BURST、FIX、及びBDIP/LAST等が制御されている。なお、図3、図4は、特許文献1の図2、図3に対応しており、詳細は、特許文献1の関連説明に記載されているため、説明を省略する。
図5は、図2に示した従来のステートマシンの動作を説明するための図である。従来のステートマシンは、バスマスタ(CPUやDMACなど)から、バースト転送命令、アドレスデータを受取り、さらに、システム内部レジスタに格納されたメモリ情報、バスサイズ、バースト可/不可などの情報を受取る。なお、バースト転送命令には、バースト命令の種類、開始(先頭)アドレス、バスビットサイズの情報が含まれる。
このステートマシンは、伝統的な直列的論理状態マシンであることから、非転送時は、アイドルステートに遷移している。
バスマスタより発行された転送命令が、シングル転送であれば、図5のシングルステートへ遷移する。
また、バスマスタより発行された転送命令はバースト転送であるが、アクセスするメモリがバースト禁止の場合にも、シングルステートへ遷移し、バースト転送を、複数のシングル転送として分割処理する。
一方、アクセスするメモリがバースト可能な場合で、メモリのポートサイズが32bitであれば、図5の32bitバスバースト・ステートへ遷移する。この場合、要求されたワード数分のバースト転送を行う。
アクセスするメモリがバースト可能な場合で、メモリのポートサイズが16bitであれば、図5の16bitバスバースト・ステートへ遷移する。この場合、まずバースト分割判定ステートで、スタートアドレスがダブルワード境界か、あるいはワード境界かを判定する。例えば、ワード単位のアドレッシングの場合、スタートアドレスの最下位ビットが”0”である場合、ダブルワード境界となる。バイト単位のアドレッシングの場合、スタートアドレスの最下位2ビットが”00”である場合、ダブルワード境界となる。
ダブルワード境界アドレスであれば、図5のバースト4ステート(16bit×4)へ遷移し、2n(n=1以上の整数)回の転送を繰り返す。
一方、ワード境界アドレスの場合、まず、1ワード分の転送を行うため、図5のバースト2ステート(16bit×2)へ遷移し、その後、バースト4へ遷移し、ダブルワード境界にある転送を、複数回行う。最後に、残りの1ワード分を端数処理するため、再度、バースト2ステートへ遷移し、1ワード転送し一連の転送が終了する。
整理すると、4ワード転送の場合の転送ビート(サイクル)内訳は次のようになる。
32bitバスであれば、4ビート×1回、
16bitバスで、ダブルワード境界アドレスであれば、4ビート×2回、
16bitバスで、ワード境界アドレスであれば、2ビート×1回、4ビート×1回、
2ビート×1回となる。
周知のごとく、近年の半導体装置に使用されるメモリには、多種多様なものが存在している。例えばバーストメモリの内部アドレッシング機能に着目すると、インクリメンタル・アドレッシング又はラッピング・アドレッシングの、いずれか一方の状態でしか対応できないものもある。
インクリメンタル・アドレッシングとは、メモリ内部アドレス・カウンタが常に昇順で動作することをいう。
ラッピング・アドレッシングとは、メモリ内部アドレス・カウンタが設定最大値までカウントすると、再び0アドレスに戻るような巡回動作(ラップ)になることをいう。
システムにおけるバースト転送命令では、システムに依存してどちらのアドレッシング命令も発行される可能性がある。
なお、特許文献2には、複数ビットの任意の値をプリセット値とし、内部アクセスサイクルに同期してラップアラウンド計数動作を行い、プリセット値を順次更新して出力するラップアラウンドカウンタ回路(RAS*とCAS*の双方がLOWレベルのときの期間、LOWレベルのクロックCKを入力)を備え、ラップアラウンドカウンタ回路から出力されるアドレスビットを、アドレスラッチからのアドレスビットに置き換えてカラムアドレスデコーダに供給し、連続する複数のアドレスのメモリセルを任意の位置からラップアラウンドに選択させるラップアラウンドアクセスモードを有する構成が開示されている。
また、特許文献3には、ラップ・ビットが設定されていた場合、バースト読み取り装置は、データの現在ページをラッチし、データの次のワードを示すワード・ポインタを調整し非シーケンシャル・バースト読み取り順でラッチ、調整する構成が開示されている。
特開平8−77098号公報 特開平5−101644号公報 特開2003−509803号公報
メモリインタフェース12に設けられている従来のステートマシン10は、メモリ側のアドレッシング機能を、考慮していない。また、メモリ側も、例えばラッピング動作することを前提にしており、システム側のアドレッシング機能について考慮していない。すなわち、アドレスラッピングできないインクリメントのみのメモリへの固定長バースト転送の場合や、逆に、アドレスラッピングしか出来ないメモリへの固定長バースト転送時に生じる問題が考慮されていない。そのため、システム側とメモリ側とでアドレッシング機能の不整合が起きる。
ここで、従来例のステートマシンに起こり得る転送時の問題について、その理由を説明する(以下は、本発明者の検討結果による)。
まず、アドレスラッピングできないメモリ(インクリメントのみ)に対して、32bitの4ワード固定長バースト転送で、スタートアドレスがダブルワード境界にアラインされていない場合、図7(A)のように、システムアドレス(データプロセッサ側で期待してるアドレス)は、A2→A3→A0→A1(データプロセッサ側のアドレッシング機能がラッピングのため)のように遷移するが、メモリ内部アドレスは、A2→A3→A4→A5(メモリ側のアドレッシング機能がインクリメントのため)のようにインクリメントしてしまい、2ワード分、無効なデータ(無効なデータD4、D5)が読み出されてしまう。
更に、8ワード固定長バースト転送の場合だと、図7(B)のように、6ワード分、無効なデータ(無効なデータD8−D13)を読み出してしまう。
一方、アドレスインクリメントできないメモリ(ラッピングのみ)に対して、32bitの4ワード固定長バースト転送で、スタートアドレスがダブルワード境界にアラインされていない場合、図8(A)のように、システムアドレスは、A2→A3→A4→A5(システム側のアドレッシング機能がインクリメントのため)のようになるが、メモリ内部アドレスは、A2→A3→A0→A1のようにラッピングしてしまい、2ワード分、無効なデータが読み出されてしまう。
同様に、8ワード固定長バースト転送の場合、図8(B)のように、6ワード分、無効なデータを読み出してしまう。
システムとして予め無効な読み出しデータがあることがわかっていれば、ソフトウェア的に、再度、無効になったアドレスから、2回目のアクセスを行うことで対応可能であるが、最初の無効データを読み出した分の転送サイクルは無駄になっている。
この場合、ソフトウェアで適切な対処が施されなければ、最悪、システムのアボートを招く可能性もある。
本発明において、メモリインターフェースは、メモリのアドレッシング機能についての条件判断も行うようにしている。
本発明に係るメモリインターフェースは、バスマスタからのバースト転送命令を受け、対応するメモリにバースト転送命令に基づく転送命令を発効するメモリインタフェースであって、
バスマスタのアドレッシングモードとメモリのアドレッシングモードが異なっている場合に、アドレッシングモードの違いと前記バースト転送命令とに基づき第1の転送命令を生成してメモリに供給することを特徴とするメモリインタフェースである。
本発明によれば、メモリ側とシステム側とでアドレッシング機能の異なるバーストメモリでも、システム側で発行したバーストアクセス命令をメモリコントローラが分割してメモリに供給しているため、冗長なバスサイクルの無いアクセスを可能にできる。この結果、効率的なバースト転送を実現することが可能となる。
また、システム側とメモリ側とでアドレッシング機能が異なっていても、冗長なバスサイクルを排除できるため、CPUを含んだ半導体装置で使用できるバーストメモリとしてアドレッシングを気にすることが必要無くなり、メモリ又はデータプロセッサの選択肢が広がり、より製品の汎用性を高めることができる。
上記した本発明についてさらに詳細に説明すべく、添付図面を参照して以下に説明する。本発明に係る方法は、メモリインターフェース(図1の12)による、バスマスタ(CPU13又はDMAC14等)とメモリ21,22間のバースト・メモリアクセス制御方法であって、インクリメンタル・アドレス方式でメモリ内部アドレスを生成するメモリに対して、バスマスタからラッピング・アドレス方式によるシステムアドレスでバースト・アクセスが行われた場合、アドレス方式の相違によりメモリ内部アドレスとシステムアドレスとの間に不一致が生じるアドレスの遷移位置で、一旦、バースト・アクセスを終了させた上で、システムアドレスとメモリ内部アドレス間でアドレスを整合させ(例えば図9(A)、図9(B)のメモリ内部アドレスA0参照)、整合がなされたアドレスから、バースト転送を再開して、残りのワード分のアクセスを行うように制御する。
本発明に係る方法は、メモリインターフェース(図1の12)による、バスマスタ(CPU又はDMAC等)とメモリ間のバースト・メモリアクセス制御方法であって、ラッピング・アドレス方式でメモリ内部アドレスを生成するメモリに対して、バスマスタからインクリメンタル・アドレス方式によるシステムアドレスでバースト・アクセスが行われた場合、アドレス方式の相違によりメモリ内部アドレスとシステムアドレスとの間に不一致が生じるアドレスの遷移位置で、一旦、バースト・アクセスを終了させた上で、システムアドレスとメモリ内部アドレス間でアドレスを整合させ(例えば図10(A)のメモリ内部アドレスA4、図10(B)のメモリ内部アドレスA8参照)、整合がなさ
れたアドレスから、バースト転送を再開し、残りのワード分のアクセスを行うように制御する。すなわち、メモリインタフェース12は、バスマスタ(CPU13又はDMAC14)から受け取ったバーストアクセス命令を、メモリのアドレッシング方式及びバスマスタのアドレッシング方式によるアドレス遷移の不一致を検出する場所で分割し、バスマスタからのバーストアクセス命令を複数のバーストアクセス命令に分割することによって、アドレッシング方式の違いを吸収している。以下、実施例に即して詳細に説明する。
図6は、本発明の一実施例のステートマシンを説明するための図である。なお、特に制限されないが、以下では、本発明のステートマシンを、図1に示したメモリインターフェース12に実装した例に即して説明する。
本実施例のステートマシンは、前記した従来例とは相違して、システム内部レジスタから、メモリ側のアドレッシング・モード情報(ラッピングかインクリメンタル)を取得する。
最初に、ステートマシンの状態はアイドルステートにあり、バスマスタからのバーストアクセス命令待ちの状態にあるものとする。アイドルステートにあるとき、バスマスタより発行されたバーストアクセス命令(バースト転送命令)がシングル転送であれば、図6のシングルステート(シングル16bit/32bit)へ遷移する。また、バスマスタより発行された転送命令はバースト転送であるが、アクセスするメモリがバースト禁止の場合にも、シングルステートへ遷移し、バースト転送を、複数のシングル転送として分割処理する。
バースト可能な場合であり、バースト転送の場合、システム内部レジスタの情報から、バスサイズを読み取り、アイドルステートから32bitバスバーストか16bitバスバーストのステートへ遷移する。
次に、システム内部レジスタの情報から、メモリ側のアドレッシング・モード(アドレッシング方式)を読み取り、システム側のアドレッシング・モードと異なる場合、バースト分割判定ステートへ遷移する。
ここで、
スタートアドレスのアライン位置と、
転送命令の種類(ラッピングバーストか、インクリメンタルバーストか)と、
メモリ側のアドレッシング・モードの種類、
によって、転送の分割の回数と割合、例えば8ワードの場合、2−6(2ワードと6ワードに2分割)であるか、あるいは、1−6−1(1ワード、6ワード、1ワードに3分割)であるかなどを決める。
具体的な条件については、使用するバーストメモリの仕様に合わせて適宜最適化するものとする。一例として、32bitバスの場合、n+m+k・・・(ただしn、m、kは整数)のように分割する。
16bitバスの場合も同様に、r+s+t・・(ただし、r、s、tは2のべき乗)のように分割するが、バス幅は、32bitバスの1/2であることから、転送回数は、単純に、32bitの2倍になる。
図9、図10は、本実施例におけるバースト転送リード動作例1、2をそれぞれ示す図であり、インクリメンタル・アドレッシング対応のメモリとラッピング・アドレッシング対応のメモリに対して、バスマスタからバースト・リード転送命令が発行された場合の動作を説明するための図である。
図9には、インクリメンタル・アドレッシングのメモリに対して、バスマスタからラッピング・アドレスでバースト・リード・アクセスを行った場合のタイミング動作の一例を示す。
図9(A)に示すように、4ワード・バースト転送で、A2→A3→A0→A1のアドレスの場合、従来のステートマシンでは図7(A)に示すように不一致が起こるが、本実施例では、A2、A3で2ワード読み出した後、A3→A0のアドレス遷移位置で一度、バースト・リードアクセスを終了し、再度、A0アドレスから、バースト転送を再開後、残り2ワード分(A0及びA1)を読み出すようにしている。すなわち、ステートマシン10を含むメモリインターフェース12は、バスマスタから出力されたA2から始まる4ワードのバースト転送命令を、A2から始まる2ワードのバースト転送命令とA0から始まる2ワードのバースト転送命令とに分割し、メモリに供給している。具体的には、A3→A0のアドレス遷移位置で、メモリインターフェース(図1の12)は、メモリからアクノリッジ信号TAを受け、A2から始まる4ワードのバースト・アクセスを終了させる。メモリインターフェース(図1の12)は、このアクノリッジを受け取ると、バースト・リード長と、すでにリードしたワード長から、アドレスA3で転送を中断したことを認識し、アドレスA0から、残りの2ワード分のバースト・リードアクセスを再開する(A0から始まる2ワードのバースト転送命令を発行する)。また、メモリ側のメモリ内部アドレスは、システムアドレスA0と整合が行われる。
メモリ側では、図9(A)において、メモリ内部アドレスA3と、システムアドレスA0とアドレス整合がなされたアドレスA0の間の1クロックサイクルにおいては、リード・オペレーションは行われない。
システムアドレスは、アドレスA3のあと、見かけ上、アドレスA0にて2サイクル分、リードオペレーションを行ったことになり、あとのサイクルでアドレスA0に対するデータD0が読み出される。なお、アドレス遷移位置のサイクルにて、バースト・アクセスを終了させるために、メモリインターフェースが、メモリから受け取る信号は、転送完了を示すレディ信号等であってもよい。
また、同様に、8ワード・バースト転送では、A6→A7→A0→A1→A2→A3→A4→A5のアドレスの場合、従来のステートマシンでは図7(B)に示すようにA7→A0のアドレス遷移位置不一致が起こるが、本実施例では2ワード(A6,A7)読み出した後、メモリがメモリインタフェースにアクノリッジ信号TAを送って、一旦、バースト・アクセスを終了し(バスマスタには、ウェイトに見える)、再度、A0アドレスから、バースト転送を再開後、残り6ワード分を読み出す。すなわち、メモリインタフェースは、バスマスタから出力されたA6から始まる8ワードのバースト転送命令を、A6から始まる2ワードのバースト転送命令と、A0から始まる6ワードのバースト転送命令とに分割して出力する。
これにより、バスマスタが要求するアドレスの有効データが、バスマスタからの1回のバースト転送命令ですべて読み出せる。なお、図12は図7(A)に示したタイミングチャートをより詳細に示したものであり、図13は図9(A)に示したタイミングチャートをより詳細に示したものである。図13を参照すると、本実施の形態では、バスマスタが発行する一回のバースト転送命令に対して、外部アドレスバスに2度、バースト開始アドレスが出力される。例えば図13の例では、最初にまずバースト開始アドレスA2が外部アドレスバスに出力され、次にバースト開始アドレスA0が外部アドレスバスに出力される。
次に、ラッピング・アドレッシングのメモリに対して、バスマスタからインクリメンタル・アドレスでバースト・リードアクセスを行った場合の動作を説明する。
図10(A)を参照すると、A2から始まる4ワード・バースト転送で、A2→A3→A4→A5のアドレスの場合、従来例ではA3→A4のアドレス遷移位置でアドレスの不一致が起こるが、本実施例では2ワード(A2,A3)読み出した後、一度、バースト・アクセスを終了(バスマスタにはウェイトに見える)し、再度、A4アドレスからバースト転送を再開後、残り2ワード分を読み出すようにしている。A3→A4のアドレス遷移位置で、メモリインターフェース(図1の12)は、メモリからアクノリッジ信号TAを受け最初のバースト・アクセスを終了させる。メモリインターフェース(図1の12)は、メモリから、このアクノリッジTAを受け取ると、バースト・リード長と、すでにリードしたワード長とに基づき、アドレスA4から、残りの2ワード分のバースト・リードアクセスを再開する。すなわち、バスマスタから出力されたA2から始まる4ワードのバースト転送命令は、メモリインタフェースによって、A2から始まる2ワードのバースト転送命令と、A4から始まる2ワードのバースト転送命令とに分割されてメモリに出力される。なお、メモリ側では、図10(A)において、メモリ内部アドレスのA3とA4の間の1クロックサイクルにおいては、リード・オペレーションは行われない。システムアドレスは、アドレスA3のあと、見かけ上、アドレスA4にて2サイクル分、リー
ドオペレーションを行ったことになり、あとのサイクルでアドレスA4に対するデータD4が読み出される。
同様に、図10(B)を参照すると、8ワード・バースト転送ではA6→A7→A8→A9→A10→A11→A12→A13のアドレスの場合、A7→A8のアドレス遷移位置で不一致が発生するが、2ワード(A6,A7)読み出した後、一旦、バースト・アクセスを終了し、再度、A8アドレスからバースト転送を再開後、残り6ワード分を読み出す。すなわち、バスマスタから出力されたA6を開始アドレスとする8ワードのバースト転送命令は、メモリインタフェースによって、A6を開始アドレスとする2ワードのバースト転送命令と、A8を開始アドレスとする6ワードのバースト転送命令とに分割され、メモリに供給される。これにより、バスマスタが要求するアドレスの有効データが、バスマスタから出力された1回のバースト転送命令ですべて読み出せる。
以上の転送動作における、転送制御信号は、本発明が適用される、システムの仕様により、任意に設定される。
一般的なバーストメモリアクセスを行うデータシステムにおいて、バスマスタの要求アドレスにメモリ側が機能的に対応できないような場合でも、本発明のステートマシンを備えるメモリインタフェースであれば、バースト・スタートアドレス値とメモリ側のアドレッシング機能に応じて、バースト・アクセスサイクルを分割処理できるので、冗長な転送サイクル無しでアクセスすることができる。
本発明のステートマシンにおいて、アドレッシング・モード判定を、常に、固定に設定するような内部レジスタを設ければ、従来例と同じステートマシンとしても機能できる。これにより、アドレッシング・モード判定を必要としないようなバーストメモリでも、システムとして接続対応できる。
図11は、本発明のステートマシンの一実施例の構成を示す図である。ステートマシンは、条件判別デコード回路101と、ステートカウンタ102と、サイクルカウンタ103と、32bitバス転送回路104と、16bitバス転送回路105と、転送制御信号出力回路106と、を備えている。これらの要素は概略以下のように動作する。
条件判別デコード回路101は、図2を参照して説明したように、システム内部レジスタ(不図示)から各レジスタ情報(メモリのアドレッシング・モード)、CPU又はDMAC等のバスマスタから転送要求内容、メモリから転送アクノリッジ(TA)を受け取り、デコードして、転送情報デコード信号を生成し、ステートカウンタ102、サイクルカウンタ103に供給する。なお、特に制限されないが、条件判別デコード回路101は、図6のアイドルステートにおいて転送情報デコード信号を生成し、生成された転送情報デコード信号が、ステートカウンタ102、サイクルカウンタ103に入力される。
ステートカウンタ102では、ステートマシンにおいて遷移するステート情報(図6のステート遷移図参照)を、カウンタ値に変換して出力する。サイクルカウンタ103では、転送サイクル数をカウントする。
ステートカウンタ102とサイクルカウンタ103の双方の値に基づき、32bitバス転送回路104又は16bitバス転送回路105で、制御信号のイネーブル/ディセーブルタイミングを決定する。32bitバス転送回路104又は16bitバス転送回路105からの、制御信号のイネーブル/ディセーブルに基づき、転送制御信号出力回路106は、制御信号(転送開始、転送一時停止等)を出力する。
なお、条件判別デコード回路101は、システム内部レジスタの情報から、メモリ側のアドレッシング・モードを読み取り、システム側のアドレッシング・モードと異なる場合、バースト分割判定ステートへ遷移し、バースト分割判定ステートへ移行する制御を行う。ステートカウンタ102、サイクルカウンタ103、32bitバス転送回路104又は16bitバス転送回路105は、32bit×k、32bit×m、32bit×n等の分割の回数と割合(図6(A)参照)、16bit×r、16bit×s、16bit×t等の分割の回数と割合(図6(B)参照)を制御する。
本発明において、バーストメモリアクセス時の冗長なバスサイクルを排除でき、更にCPUを含んだ半導体装置で使用できるバーストメモリの選択肢が広がり、より製品の汎用性を高める効果がある。
なお、上記実施例では、リードバースト動作を例に説明したが、ライトバースト動作についても同様である。また、上記実施例では、システム内部レジスタにアドレッシング方式に関する情報が予め書き込まれているとして説明したが、メモリを接続する際に、ユーザがメモリのアドレッシング方式に基づく情報をシステム内部レジスタに書き込むようにしても良く、また、メモリを接続した際、メモリにアドレッシング方式を示すデータが書き込まれているのであれば、当該データを読み出して、システム内部レジスタに書き込む又は書き込まずに当該データに基づいてアドレッシング方式を判定するように構成しても良い。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
一般的なコンピュータシステムの構成を示す図である。 従来例のメモリインターフェース回路の構成を示す図である。 従来例における固定長バースト・アクセスのタイミング動作を示す図である 。 従来例における可変バースト・アクセスのタイミング動作を示す図である。 従来例のステートマシンを説明する図である。 本発明のステートマシンを説明する図である。 従来例におけるバースト転送リード動作例1を示す図である(インクリメンタル・アドレッシングのメモリに対してCPUからラッピング・アドレッシングアクセスした場合)。 従来例におけるバースト転送リード動作例2を示す図である(ラッピング・アドレッシングのメモリに対してCPUからインクリメンタル・アドレッシングアクセスした場合)。 本実施例におけるバースト転送リード動作例1を示す図である(インクリメンタル・アドレッシングのメモリに対してCPUからラッピング・アドレッシングアクセスした場合)。 本実施例におけるバースト転送リード動作例2である(ラッピング・アドレッシングのメモリに対してCPUからインクリメンタル・アドレッシングアクセスした場合)。 本発明のステートマシンの一実施例の構成を示す図である。 図7(A)のタイミングチャートを詳細に説明した図である。 図9(A)のタイミングチャートを詳細に説明した図である。
符号の説明
1 データプロセッサ
21 メモリ1
22 メモリ2
10 ステートマシン
11 バスインターフェース
12 メモリインターフェース
13 CPU
14 DMAC
101 条件判別デコード回路
102 ステートカウンタ
103 サイクルカウンタ
104 32bitバス転送回路
105 16bitバス転送回路
106 転送制御信号出力回

Claims (12)

  1. バスマスタからのバースト転送命令を受け、対応するメモリに前記バースト転送命令に基づく転送命令を発効するメモリインタフェースであって、
    前記バスマスタのアドレッシングモードと前記メモリのアドレッシングモードが異なっている場合に、アドレッシングモードの違いと前記バースト転送命令とに基づき第1の転送命令を生成して前記メモリに供給することを特徴とするメモリインタフェース。
  2. 前記第1の転送命令のバースト開始アドレスとバースト転送回数とを、前記アドレッシングモードの違いと前記バースト転送命令とに基づいて設定することを特徴とする請求項1記載のメモリインタフェース。
  3. 前記バースト転送命令を前記第1の転送命令として複数の転送命令に分割することを特徴とする請求項1記載のメモリインタフェース。
  4. 前記複数の転送命令の一つの実行が完了したことによって前記メモリから出力される制御信号に応答して前記複数の転送命令のうち次に実行されるべき転送命令を前記メモリに供給することを特徴とする請求項3記載のメモリインタフェース。
  5. 前記バースト転送命令を、前記バスマスタと前記メモリのデータ幅の違い、前記バスマスタと前記メモリのバースト回数の違い、及び前記バースト転送命令の転送開始アドレスがメモリの所定のワード境界に有るか否かの、少なくとも一つと前記アドレッシングモードの違いとに基づいて前記第1の転送命令として複数の転送命令に分割することを特徴とする請求項3記載のメモリインタフェース。
  6. 前記メモリのアドレッシングモードを示す情報を保持するレジスタを備えることを特徴とする請求項1乃至6記載のメモリインタフェース。
  7. 前記複数の転送命令の転送開始アドレスが異なっていることを特徴とする請求項3乃至6記載のメモリインタフェース。
  8. 前記1乃至6に記載されたメモリインタフェースと、前記バスマスタとを備えることを特徴とするデータプロセッサ。
  9. 前記1乃至6に記載されたメモリインタフェースと、前記バスマスタ、及び前記メモリを備えることを特徴とするデータ処理システム。
  10. バスマスタから出力されたバースト転送命令をメモリに供給するメモリ制御方法であって、
    前記バスマスタと前記メモリのアドレッシングモードとが異なっているか否かを判定する判定ステップと、
    異なっている場合に前記バースト転送命令を複数の転送命令に分割する分割ステップと、
    前記分割された複数の転送命令を順次前記メモリに出力する出力ステップと、を備えることを特徴とするメモリ制御方法。
  11. 前記出力ステップは、前記メモリに出力された複数の転送命令の内の一つの転送命令の実行が完了したことに応答して、前記一つの転送命令に後続する前記複数の転送命令の内の転送命令を前記メモリに出力するステップを備えることを特徴とする請求項10記載のメモリ制御方法。
  12. 前記分割ステップは、前記バスマスタと前記メモリのデータ幅の違い、前記バスマスタと前記メモリのバースト回数の違い、及び、前記バースト転送命令の転送開始アドレスが前記メモリの所定のワード境界に有るか否か、少なくとも一つと前記アドレッシングモードの違いとに基づいて前記バースト転送命令を分割するステップを備えることを特徴とする請求項10記載のメモリ制御方法。
JP2007190619A 2006-08-01 2007-07-23 バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法 Pending JP2008059565A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007190619A JP2008059565A (ja) 2006-08-01 2007-07-23 バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006209765 2006-08-01
JP2007190619A JP2008059565A (ja) 2006-08-01 2007-07-23 バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2008059565A true JP2008059565A (ja) 2008-03-13

Family

ID=39242165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007190619A Pending JP2008059565A (ja) 2006-08-01 2007-07-23 バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2008059565A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070247A1 (ja) * 2010-11-26 2012-05-31 パナソニック株式会社 メモリ装置、メモリ制御回路およびメモリ制御システム
US8230138B2 (en) 2008-11-28 2012-07-24 Panasonic Corporation Memory control device, data processor, and data read method
JP2015158910A (ja) * 2014-02-24 2015-09-03 スパンション エルエルシー ラップ読出しから連続読出しを行うメモリサブシステム
US9465691B2 (en) 2012-06-28 2016-10-11 Mitsubishi Electric Corporation Read request processing apparatus
US9715427B2 (en) 2012-11-05 2017-07-25 Mitsubishi Electric Corporation Memory control apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230138B2 (en) 2008-11-28 2012-07-24 Panasonic Corporation Memory control device, data processor, and data read method
WO2012070247A1 (ja) * 2010-11-26 2012-05-31 パナソニック株式会社 メモリ装置、メモリ制御回路およびメモリ制御システム
US9465691B2 (en) 2012-06-28 2016-10-11 Mitsubishi Electric Corporation Read request processing apparatus
US9715427B2 (en) 2012-11-05 2017-07-25 Mitsubishi Electric Corporation Memory control apparatus
JP2015158910A (ja) * 2014-02-24 2015-09-03 スパンション エルエルシー ラップ読出しから連続読出しを行うメモリサブシステム

Similar Documents

Publication Publication Date Title
JP6029923B2 (ja) Nand型フラッシュメモリの読み込み方法及び装置
TWI246648B (en) Memory system with burst length shorter than prefetch length
US7299323B2 (en) Memory controller having a read-modify-write function
US11640308B2 (en) Serial NAND flash with XiP capability
KR20080012233A (ko) 버스트 메모리 액세스를 제어하는 메모리 인터페이스, 및그를 제어하는 방법
JP2007157029A (ja) メモリ制御回路及びメモリ制御方法
WO2010051623A1 (en) A bridging device having a configurable virtual page size
US5386579A (en) Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
JP2718292B2 (ja) マイクロプロセッサ
JP2008059565A (ja) バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法
EP1486877B1 (en) Semiconductor memory device and information processing unit
JP2013092852A (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
TW201403605A (zh) 用於讀取nand快閃記憶體的方法和設備
JP2004029898A (ja) データプロセッサ
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
US11366774B2 (en) Memory latency reduction in XIP mode
JPH0212358A (ja) データ転送方式
US7065669B2 (en) System and method for providing a write strobe signal to a receiving element before both an address and data signal
JP2001297056A (ja) 調停回路及びdmaコントローラ
KR940009427B1 (ko) 어드레스공간 변경방법 및 장치
JP2006011593A (ja) メモリ制御装置
JP2004246678A (ja) データ記憶処理装置およびこれを備えたデータ記憶装置
JP2000172554A (ja) Sdram使用の画像形成装置
JPS5862725A (ja) デ−タ転送制御装置
KR19990031016A (ko) 데이터 처리 시스템의 데이터 연속 전송 제어 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080924

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20081009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A02 Decision of refusal

Effective date: 20090303

Free format text: JAPANESE INTERMEDIATE CODE: A02