(57)【特許請求の範囲】
【請求項１】
指定された数のデータを連続的に入出力するためのバーストアクセスを行う高速メモリのアクセスを制御する高速メモリアクセス制御装置であって、
ページへのアクセスを開始するための開始カラムアドレスが奇数であるか否かを判定する奇数判定手段と、
前記カラムアドレスが奇数であると判定されたときに前記開始カラムアドレスを１つ前の偶数に変更するアドレス変更手段と、
奇数の前記カラムアドレスから指定されたバーストアクセスのワード数のアクセスのみ有効とするようにアクセスのタイミングを制御するタイミング制御手段とを備えていることを特徴とする高速メモリアクセス制御装置。
【請求項２】
前記タイミング制御手段は、前記奇数判定手段により奇数と判定された前記開始カラムアドレス以降の指定された前記ワード数のアクセスをマスクしない一方、それ以外の、奇数から偶数に変更された前記開始カラムアドレスを含むカラムアドレスについてのアクセスをマスクすることを特徴とする請求項１に記載の高速メモリアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置として利用されるＳＤＲＡＭなどの高速メモリへのアクセス制御を行う高速メモリアクセス制御装置に関するものである。
【背景技術】
【０００２】
ＳＤＲＡＭ（Synchronous Dynamic Random Accsess Memory）などの高速型のＲＡＭは、従来の非同期のＤＲＡＭでは高速動作に限界があることから、ＤＲＡＭとは異なる仕様を用いることによって、より高速動作を可能にしている。また、一般に、ＳＤＲＡＭは、ＣＰＵ（プロセッサ）と制御信号の機能やデータ処理の方法が異なるため、直接ＣＰＵに接続することができないことから、コントローラ（制御装置）を介してＣＰＵと接続される。
【０００３】
このようなコントローラを用いたＳＤＲＡＭのアクセス制御については、例えば特許文献１に開示されているように行われる。具体的には、ＳＤＲＡＭに入力されるアドレスをロウ（行）アドレスとカラム（列）アドレスとに分離し、その各々を制御することにより、ＳＤＲＡＭへのアクセスアドレスの最終的な制御を実現している。また、特許文献２には、メモリを構成する複数のバンクにおいて、同一バンク内で異なるページを連続してアクセスする場合の制御について開示している。
【０００４】
一般に、ＳＤＲＡＭは、連続した領域へのアクセスを効率的に行うため、連続してデータの入出力を行うバーストモードを動作モードとして備えている。ＳＤＲＡＭのバーストモードでは、複数ワードの連続するアクセスが同一のページだけで完結せずに次のページにまたがる場合、アクセスに用いられるカラムアドレスがページを越えることになる。従来、ＳＤＲＡＭのコントローラでは、ページ毎のアクセスを実行するために、カラムアドレスのページ越え（境界越え）の判定、そのためのアドレス計算、ページ越え前およびページ越え後のアクセスワード数などの決定を加減算器で行っていた。
【特許文献１】特開２００２−２４０８３号公報（２００２年１月２５日公開）
【特許文献２】特開２０００−１７２５６０号公報（２０００年６月２３日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のようなコントローラでは、カラムアドレスのページ越えの判定をＳＤＲＡＭのアクセス中に行うと、動作クロックの周期内での演算やデータを確定するためのタイミングマージンを確保することが難しくなる。また、ページ越えの判定やページ越え前およびページ越え後のアクセスワード数の決定するなどの演算を加減算器で行うと、アドレスのｂｉｔ幅が大きいほど、演算に要する時間が多くなるため、周波数の高い動作のクロックに対応できなくなるという不都合が生じるだけでなく、比較判定回路やアドレス算出のための演算回路の規模が大きくなる。パイプライン処理をすることによって、周波数の高い動作クロックに対応することは可能であるが、そのためにハードウエアの規模が増大するという問題がある。
【０００６】
また、バーストアクセスにおいては、開始アドレスが奇数アドレスである場合、ＳＤＲＡＭ内部に設定されるカラムアドレスは、上位ビットが固定され、最下位ｂｉｔがバーストアクセス用に“１”から“０”へトグル動作により変化するために、上位アドレスから下位アドレスという順でメモリアクセスが発生する。このような動作に対して、連続してメモリ空間にアクセスするには、カラムアドレスの最下位ｂｉｔが“０”から“１”へと変化するためのデータ整列用のバッファがコントローラに必要になる。このため、バッファにおける処理時間によって、バーストアクセスに要する時間が長引くという不都合がある。
【０００７】
具体的には、図４（ｂ）に示すように、開始アドレスとなるカラムアドレスの最下位ｂｉｔが“１”（または“３”）であり、それに続くカラムアドレスの最下位ｂｉｔが“０”（または“２”）となる場合に次のように動作する。この場合、バースト長が１ワードであれば、開始アドレスの最下位ｂｉｔが“１”（または“３”）であっても、ＤＱＭ（データマスク）動作が非アクティブ（Ｌレベル）となる期間に開始アドレスにのみアクセスする。これにより、期待有効アクセス通りのアクセスが可能であり、上記のようなアクセス順の逆転は生じない。しかしながら、バースト長が２ワードであれば、開始アドレスの最下位ｂｉｔが“１”（または“３”）であることから、期待有効アクセスが“１，２”（または“３，４”）の順で行われるべきであるのに、実際には、ＤＱＭ動作が非アクティブ（Ｌレベル）となる２ワード分の期間にアクセスすることにより、“１，０”（または“３，２”）の順でアクセスが行われて、上記のようなアクセス順の逆転が生じる。これは、バースト長が３ワードや４ワードの場合でも同様であり、２ワード以上で生じる。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、高速で動作するＳＤＲＡＭなどの高速メモリのバーストアクセスにおける処理時間の短縮を図り、さらにはバーストアクセスに起因するハードウエア規模の増大を回避することを目的としている。
【課題を解決するための手段】
【０００９】
本発明に係る第１の高速メモリ制御装置は、指定された数のワードを連続的に入出力するためのバーストアクセスを行う高速メモリのアクセスを制御する高速メモリアクセス制御装置であって、上記の課題を解決するために、外部から供給されるバーストワード数およびアクセス開始アドレスに基づいてバーストアクセスが連続する２ページにまたがる例外アクセスであることを判定するとともに、各ページにバーストアクセスするアクセスワード数を決定する例外アクセス情報決定手段と、前記高速メモリにバーストアクセスを開始するための開始アドレスを発生するとともに、バーストアクセスを開始するページから次のページにアクセスするために開始アドレスを切り替えるアドレス発生手段と、バーストアクセスが連続する２ページにまたがると判定されたときに、決定された前記バースト数に基づいて前記アドレス発生手段によるアドレスの切替タイミングを制御する切替制御手段と、前記例外アクセス情報決定手段によって例外アクセスの判定およびバーストアクセスのワード数決定が行なわれた後に前記高速メモリへのアクセスを開始するようにアクセスのタイミングを制御するタイミング制御手段とを備えていることを特徴としている。
【００１０】
前記高速メモリアクセス制御装置において、前記例外アクセス情報決定手段は、前記アクセス開始アドレスから特定される開始カラムアドレスと前記バーストワード数とで前記アクセスワード数を特定するテーブルを有していることが好ましい。
【００１１】
あるいは、前記高速メモリアクセス制御装置は、ページへのアクセスを開始するための開始カラムアドレスが奇数であるか否かを判定する奇数判定手段と、前記カラムアドレスが奇数であると判定されたときに前記開始カラムアドレスを１つ前の偶数に変更するアドレス変更手段とを備え、前記タイミング制御手段が、奇数の前記カラムアドレスから指定されたバーストアクセスのワード数のアクセスのみ有効とするようにアクセスのタイミングを制御することが好ましい。
【００１２】
本発明に係る第２の高速メモリアクセス制御装置は、指定された数のデータを連続的に入出力するためのバーストアクセスを行う高速メモリのアクセスを制御する高速メモリアクセス制御装置であって、上記の課題を解決するために、ページへのアクセスを開始するための開始カラムアドレスが奇数であるか否かを判定する奇数判定手段と、前記カラムアドレスが奇数であると判定されたときに前記開始カラムアドレスを１つ前の偶数に変更するアドレス変更手段と、奇数の前記カラムアドレスから指定されたバーストアクセスのワード数のアクセスのみ有効とするようにアクセスのタイミングを制御するタイミング制御手段とを備えていることを特徴としている。
【発明の効果】
【００１３】
第１の高速メモリアクセス制御装置では、アドレス発生手段により、高速メモリにバーストアクセスを開始するための開始アドレスを発生する。高速メモリは、この開始アドレスが与えられると、内部のアドレスカウンタにより、１つずつ内部アドレスをインクリメントしていく。また、例外アクセス情報決定手段により、バーストアクセスが例外アクセスであると判定されるとともに、各ページにバーストアクセスするアクセスワード数が決定される。例えば、４ワードのバーストアクセスが要求されている場合、開始アドレスが１ページの最終アドレスから３つ手前であれば、アクセスを開始したページでは３ワードのアクセスを行い、次のページでは残余の１ワードのアクセスを行うことになる。
【００１４】
すると、切替制御手段により、そのアクセスワード数に基づいて、開始アドレスの切替タイミングが制御される。アドレス発生手段では、その切替タイミングにしたがって開始アドレスが切り替えられる。これにより、開始アドレスのページ越えが生じた場合には、アクセスを開始したページに続いて、次のページの先頭で新たな開始アドレス発行されるので、ページ越えのアクセスが可能となる。また、タイミング制御手段により、上記の例外アクセス情報決定手段による処理が行われた後に高速メモリへのアクセスが開始するので、高速メモリのアクセス中に例外アクセスの判定をすることが回避され、その結果、タイミングマージンに余裕を持たせることができる。したがって、演算のための回路規模を増大させることなく、メモリアクセスの速度低下を防止することができるという効果を奏する。
【００１５】
また、例外アクセス情報決定手段が前記テーブルを有することにより、各ページにおけるアクセス開始位置を決定するための開始カラムアドレスとバーストワード数とでアクセスワード数を特定するので、加減算器などの演算回路が不要になり、高速メモリアクセス制御装置算の回路規模を縮小することが可能になる。
【００１６】
第２の高速メモリアクセス制御装置では、奇数判定手段により開始アドレスが奇数であると判定されると、アドレス変更手段により、開始カラムアドレスが１つ前の偶数に変更される。実際の高速メモリへのアクセスは、タイミング制御手段により、変更した偶数の開始カラムアドレスではなく、本来の奇数の開始カラムアドレスから指定されたバーストアクセスのワード数のアクセスのみ有効とするようにアクセスのタイミングが制御される。このタイミング制御は、例えば、高速メモリ内部では、偶数の開始カラムアドレスから指定されたワード数に応じてアクセスが行われるが、ＳＤＲＡＭなどにおいては、奇数の開始カラムアドレスから上記のワード数だけアクセスするように、高速メモリアクセス制御装置から高速メモリに与えるデータマスクイネーブル信号をアクティブにする。
【００１７】
これにより、開始カラムアドレスの最下位ビットが“０”から“１”に変化する下位アドレスから上位アドレスの順でのアクセスが実現される。それゆえ、アクセスしたデータを整列するためのバッファを設ける必要がなくなり、高速メモリアクセス制御装置の回路規模の増大を防止することができるとともに、データ整列のための処理時間を削減して、メモリアクセスの速度低下を防止することができるという効果を奏する。
【００１８】
この第２の高速メモリアクセス制御装置の構成は、第１の高速メモリアクセス制御装置にも適用が可能であり、このような構成によれば、高速メモリアクセス制御装置の回路規模をより一層縮小することができるだけでなく、ＳＤＲＡＭなどの高速メモリの高速アクセス性を損なうことなく、アクセス制御を行うことができる。
【発明を実施するための最良の形態】
【００１９】
本発明の一実施形態について図１ないし図４に基づいて説明すると、以下の通りである。
【００２０】
図１に示すように、本実施形態のＳＤＲＡＭコントローラ１は、マスタ回路２からの各種の信号に基づいてＳＤＲＡＭ３へのアクセスを制御する回路である。
【００２１】
マスタ回路２は、周辺デバイスがＳＤＲＡＭ３を使用するときに、ＳＤＲＡＭコントローラ１にメモリリクエストなどの指示を与えたり、データを入出力したりする回路であり、ＣＰＵやＤＭＡ（Direct Memory Access）コントローラなどであってもよい。マスタ回路２とＳＤＲＡＭコントローラ１との間、およびＳＤＲＡＭコントローラ１とＳＤＲＡＭ３との間のデータや各種制御信号の授受は、３２ｂｉｔ幅のインターフェースを介して行われる。また、ＳＤＲＡＭコントローラ１からＳＤＲＡＭ３へのアドレスおよび各種制御信号の転送は、３ステートバッファ４を介して行われる。また、ＳＤＲＡＭコントローラ１とＳＤＲＡＭ３との間のデータの授受は、Ｉ／Ｏバッファ５を介して行われる。
【００２２】
マスタ回路２は、ＳＤＲＡＭ３にアクセスするときの開始アドレスとして２３ｂｉｔのアクセス開始アドレスＢＭＡ［２４：２］を出力する。以降、各データおよび各信号の符号に付記する［ａ：ｂ］（ａ，ｂは自然数）については、３２ｂｉｔ幅のインターフェースにおける転送に使用される最上位ｂｉｔ番号（ａ）および最下位ｂｉｔ番号（ｂ）を表すものとする。また、マスタ回路２は、バースト転送を行うときのアクセスデータ数を表すバースト長信号ＢＲＳＴ［１：０］を出力する。また、マスタ回路２は、チップセレクト信号ＳＤＣＳ＿Ｌ、リード信号ＲＤ＿Ｌ、ライト信号ＷＲ＿Ｌ、データバイトイネーブル信号ＢＥ＿Ｌ［３：０］を制御信号発生回路１３に出力するとともに、書込制御回路１５へ書込データＤＩ［３１：０］を出力する。さらに、マスタ回路２は、制御信号発生回路１３から出力されるデータインターフェース信号ＳＤＲＤＹ＿Ｌおよび読出制御回路１６から出力される読出データＤＯ［３１：０］が入力される。
【００２３】
ＳＤＲＡＭ３は複数のバンク（例えば４バンク）によって構成されており、各バンクはｍカラム（列）×ｎロウ（行）（ｍ，ｎは自然数）個のマトリクス状に配されたメモリセルからなるメモリアレイを有している。各ワード線に接続されるｍ個のメモリセルから形成される各ロウはページを構成しており、各ページにおけるメモリセルのデータは、ロウアドレスによって選択されたロウにおいてカラムアドレスによりアクセスされる。バンクを指定するためのアドレスは、例えば４バンクを有する場合、ＳＤＲＡＭ３にＳＤＲＡＭコントローラ１から与えられるアドレスＡ［１４：０］のうちの下位２ｂｉｔで与えられる（バンクアドレスＢＡ［１：０］）。
【００２４】
ＳＤＲＡＭ３においては、制御信号発生回路１３から供給されるクロック信号ＣＬＫの立上がりエッジで、同じく制御信号発生回路１３からのロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号（書込許可信号）／ＷＥおよびアドレス［１４：０］が取り込まれる。アドレスＡ［１４：０］は、ロウアドレスとカラムアドレスとが時分割的に多重化されて与えられる。ロウアドレスストローブ信号／ＲＡＳがクロック信号ＣＬＫの立上がりエッジにおいて活性状態の"Ｌ"にあればそのときのアドレスＡ［１４：０］がロウアドレスとして取り込まれる。続いて、コラムアドレスストローブ信号／ＣＡＳがクロック信号ＣＬＫの立上がりエッジにおいて活性状態の“Ｌ”にあれば、そのときのアドレスＡ［１４：０］がカラムアドレスとして取り込まれる。この取り込まれたロウアドレスおよびカラムアドレスにしたがってＳＤＲＡＭ３内においてロウおよびカラムの選択動作が行われる。
【００２５】
ＳＤＲＡＭコントローラ１は、高速メモリアクセス制御装置として機能するために、例外アクセス判定回路１１と、アドレス発生回路１２と、制御信号発生回路１３と、アドレス制御回路１４と、書込制御回路１５と、読出制御回路１６とを備えている。
【００２６】
図２にも示すように、例外アクセス判定回路１１は、マスタ回路２から出力される２ｂｉｔのバースト長信号ＢＲＳＴ［１：０］およびアクセス開始アドレスＢＭＡ［２４：２］の下位８ｂｉｔ［９：２］からなる下位アドレスＬＡ［７：０］に基づいて、ＳＤＲＡＭ３へのアクセスが例外アクセスであるか通常アクセスであるかを判定する回路である。本実施形態では、バーストワード数（１ワードは３２ｂｉｔ）が１，２，３，４に設定可能であるので、バースト長信号ＢＲＳＴ［１：０］＝１，２，３，４となる。
【００２７】
例外アクセスは、バーストアクセスにおいてデータのアクセスがあるページから次のページにわたって行われるアクセスである。例外アクセス判定回路１１は、上記の判定を行うために、アクセスバースト数判定回路１１１を有している。このアクセスバースト数判定回路１１は、アドレス比較回路１１１ａおよびアクセス動作情報決定回路１１１ｂを含んでいる。
【００２８】
アドレス比較回路１１１ａは、下位アドレスＬＡ［７：０］を、後述するカラムアドレスＣＯＬＡ［１４：０］の下位８ｂｉｔを構成するＣＯＬＡ［７：０］のうち１ページの最終アドレスであるＣＯＬＡ［７：０］＝０ｘＦＦ、最終アドレスの１つ前のアドレスであるＣＯＬＡ［７：０］＝０ｘＦＥ、最終アドレスの２つ前のアドレスであるＣＯＬＡ［７：０］＝０ｘＦＤとそれぞれ比較し、下位アドレスＬＡ［７：０］が、最終アドレス、最終アドレスの１つ前のアドレス、最終アドレスの２つ前のアドレスのいずれかと一致する場合に、それぞれ最終アドレスデータＬ１，Ｌ２，Ｌ３を出力する。また、アドレス比較回路１１１ａは、下位アドレスＬＡ［７：０］が上記の３つのアドレスのいずれにも一致しない場合は、非最終アドレスデータＬ４を出力する。
【００２９】
アクセス動作情報決定回路１１１ｂは、最終アドレスデータＬ１〜Ｌ３とバースト長信号ＢＲＳＴ［１：０］とをデコードすることにより、これから行われるアクセスが例外アクセスであるか通常アクセスであるかを判定し、その結果を例外アクセス判定フラグｅｘｔ＿ａｃｓのアクティブ（例外アクセス＝１）／非アクティブ（通常アクセス＝０）として出力する。また、アクセス動作情報決定回路１１１ｂは、上記のデコードにより、アクセスを開始したアクセス開始ページでのアクセスデータ数（ページ越え前のアクセスデータ数）である開始ページアクセスデータ数ＰＲＥ１〜ＰＲＥ３をプリバースト信号ＰＲＥＢＲＳＴ［２：０］として出力するとともに、アクセス開始ページの次のページでのアクセスデータ数（ページ越え後のアクセスデータ数）である次ページアクセスデータ数ＰＯＳＴ１〜ＰＯＳＴ３をポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］として出力する。
【００３０】
バースト長信号ＢＲＳＴ［１：０］は、表１に示すように表記される。
【００３１】
【表１】
0004606725.tif 000002
【００３２】
アクセス動作情報決定回路１１１ｂは、具体的には、例えば図３に示すような、最終アドレスデータＬ１〜Ｌ３を行とし、バースト長信号ＢＲＳＴ［１：０］を列とするアクセスバースト数判定テーブルを用いて、上記のプリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］を出力する。例えば、最終アドレスデータＬ１およびバースト長信号ＢＲＳＴ［１：０］＝２の場合、アクセス動作情報決定回路１１１ｂは、例外アクセスと判定して、プリバースト信号ＰＲＥＢＲＳＴ［２：０］＝１およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］＝１を出力する。また、最終アドレスデータＬ１およびバースト長信号ＢＲＳＴ［１：０］＝１の場合のように、アクセスのページ越えが生じないような場合、アクセス動作情報決定回路１１１ｂは、通常アクセスと判定して、プリバースト信号ＰＲＥＢＲＳＴ［２：０］＝０およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］＝０を出力する。
【００３３】
一方、アクセス動作情報決定回路１１１ｂは、非最終アドレスデータＬ４が入力されると、これから行われるアクセスを通常アクセスと判断して、プリバースト信号ＰＲＥＢＲＳＴ［２：０］＝０およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］＝０を出力するとともに、例外アクセス判定フラグｅｘｔ＿ａｃｓを非アクティブにする。また、アクセス動作情報決定回路１１１ｂは、これから行われるアクセスを通常アクセスと判断した場合にはバースト長信号ＢＲＳＴ［１：０］をそのまま出力する。
【００３４】
なお、アクセス動作情報決定回路１１１ｂは、図３に示すアクセスバースト数判定テーブルを備える代わりに、最終アドレスデータＬ１〜Ｌ３とバースト長信号ＢＲＳＴ［１：０］とを組み合わせたデータをデコードするデコーダを備えていてもよい。
【００３５】
制御信号発生回路１３は、例外アクセス制御回路１３１を有している。この例外アクセス制御回路１３１は、上記のアクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓが入力されると、プリバースト信号ＰＲＥＢＲＳＴ［２：０］で定まるアクセス開始ページでのアクセスワード数およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］で定まる次のページでのアクセスワード数に応じて、アクセスを次のページに切り換えるタイミングでアドレス選択信号ＡＤＳＥＬを“０”から“１”に切り替える。また、例外アクセス制御回路１３１は、上記の非アクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓが入力されると、“０”のアドレス選択信号ＡＤＳＥＬを出力する。
【００３６】
また、例外アクセス制御回路１３１は、アドレス選択信号ＡＤＳＥＬに基づくアドレス発生回路１２でのアドレスが、ＳＤＲＡＭ３へのアクセス動作の開始、すなわちアクセスのための各種の制御信号の出力よりも前に確定するように、アドレス選択信号ＡＤＳＥＬの出力タイミングをタイミングカウンタによって管理している。例えば、例外アクセス時には、アクセスのページ越えが生じるときに、アドレス発生回路１２で１つインクリメントされた後述の開始ロウアドレスＲＯＷＡ［１４：０］を出力できるタイミングでアドレス選択信号ＡＤＳＥＬが出力される。
【００３７】
なお、制御信号発生回路１３のその他の機能については、後に詳しく説明する。
【００３８】
アドレス発生回路１２は、アクセス開始アドレスＢＭＡ［２４：２］に基づいて開始ロウアドレスＲＯＷＡ［１４：０］および開始カラムアドレス［１４：０］を発生する回路であり、マルチプレクサ（図中、ＭＵＸ）１２１，１２２および加算器１２３を有している。開始カラムアドレスＣＯＬＡ［１４：０］は、下位８ｂｉｔＣＯＬＡ［７：０］がアクセス開始アドレスＢＭＡ［２４：２］のＢＭＡ［９：２］からなり、上位７ｂｉｔＣＯＬＡ［１４：８］が０データからなる。
【００３９】
マルチプレクサ１２１には、アクセス開始アドレスＢＭＡ［２４：２］のうちの下位８ｂｉｔＢＭＡ［９：２］からなる下位アドレスＬＡ［７：０］、および８ｂｉｔの０データ“０ｘ００”が入力される。このマルチプレクサ１２１は、アドレス選択信号ＡＤＳＥＬが“１”であるとき（例外アクセス時）に０データ“０ｘ００”を出力し、アドレス選択信号ＡＤＳＥＬが“０”であるとき（通常アクセス時）に下位アドレス［７：０］を出力する選択回路である。
【００４０】
加算器１２３は、アクセス開始アドレスＢＭＡ［２４：２］のうちの上位１５ｂｉｔＢＭＡ［２４：１０］からなる上位アドレスＵＡ［１４：０］に１を加算する回路である。マルチプレクサ１２２は、アドレス選択信号ＡＤＳＥＬが“１”であるときに加算器１２３からの上位アドレスＵＡ［１４：０］を出力し、アドレス選択信号ＡＤＳＥＬが“０”であるときにマスタ回路２から直接入力された下位アドレスＬＡ［７：０］を出力する選択回路である。
【００４１】
なお、アドレス発生回路１２は、アドレス選択信号ＡＤＳＥＬが“０”から“１”に変化するタイミングで加算器１２３からの上位アドレスＵＡ［１４：０］を出力できるように、加算器１２３以降にラッチを有している。
【００４２】
制御信号発生回路１３は、外部から供給されるシステムクロックとしてのクロック信号ＣＬＫを、ＳＤＲＡＭ３に出力するとともに、回路内部の各部の動作クロックとして利用している。また、制御信号発生回路１３は、前述のロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥや、ＳＤＲＡＭ３に与えるチップセレクト信号／ＣＳ、クロックイネーブル信号ＣＫＥおよびデータマスクイネーブル信号ＤＱＭ［３：０］の他、３ステートバッファ４の出力の有効／無効を制御するための出力イネーブル信号ＳＤＣＯＥ＿ＬおよびＩ／Ｏバッファ５の出力の有効／無効を制御するための出力イネーブル信号ＤＱＯＥ＿Ｌを、マスタ回路２から供給されるチップセレクト信号ＳＤＣＳ＿Ｌ、リード信号ＲＤ＿Ｌ、ライト信号ＷＲ＿Ｌ、データバイトイネーブル信号ＢＥ＿Ｌ［３：０］を基に発生する。また、制御信号発生回路１３は、書込制御回路１５に与える書き込みのタイミングや読出制御回路１６に与える読み出しのタイミングを発生する。また、制御信号発生回路１３は、バーストアクセスを２ワード単位で行うようにアクセスを制御する。これに対し、ＳＤＲＡＭ３の内部アドレスカウンタは、２ワードのアクセス毎に開始カラムアドレスからアドレスを２つずつインクリメントする。
【００４３】
制御信号発生回路１３は、例外アクセス制御回路１３１以外に、開始アドレス判定回路１３２、基本バーストアクセスタイミング規定回路１３３および変則バーストタイミング規定回路１３４を有している。
【００４４】
開始アドレス判定回路１３２は、マスタ回路２から出力された下位アドレスＬＡ［７：０］に基づいて開始カラムアドレス［１４：０］が偶数であるか奇数であるかを判定する回路である。この判定は、例えば、下位アドレスＬＡ［７：０］の最下位ｂｉｔの値が“１”であるか否かを判定するコンパレータによって行われるが、それ以外の方法で行ってもよい。
【００４５】
基本バーストアクセスタイミング規定回路１３３は、開始アドレス判定回路１３２により開始カラムアドレス［１４：０］が偶数であると判定されたときに、通常アクセス（通常バーストアクセス）のためのＳＤＲＡＭ３の制御コマンドを発生するタイミングを規定する回路である。この基本バーストアクセスタイミング規定回路１３３は、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥ、チップセレクト信号／ＣＳ、クロックイネーブル信号ＣＫＥ、データマスクイネーブル信号ＤＱＭ［３：０］などの論理状態の組み合わせによって定まる制御コマンドを定義したコマンドテーブルを備えている。また、基本バーストアクセスタイミング規定回路１３３は、例外アクセス判定回路１１からのバースト長信号ＢＲＳＴ［１：０］、プリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］によって要求されるバースト数の通常アクセスを行うために、例外アクセス制御回路１３１からのアドレス選択信号ＡＤＳＥＬが確定してから、所定時間後に上記のテーブルから各信号／ＲＡＳ，／ＣＡＳ，／ＷＥ，／ＣＳ，ＣＫＥ，ＤＱＭなどを出力するとともに、アドレス制御回路１４にアドレスの出力を指示する。
【００４６】
変則バーストアクセスタイミング規定回路１３４は、開始アドレス判定回路１３２により開始カラムアドレス［１４：０］が奇数であると判定されたときに、変則アクセス時（変則バーストアクセス）のためのＳＤＲＡＭ３の制御コマンドを発生するタイミングを規定する回路である。この変則バーストアクセスタイミング規定回路１３４は、基本バーストアクセスタイミング規定回路１３３と同様な制御コマンドを定義したコマンドテーブルを備えている。また、変則バーストアクセスタイミング規定回路１３４は、例外アクセス判定回路１１からのバースト長信号ＢＲＳＴ［１：０］、プリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］によって要求されるバースト数の変則アクセスを行うために、例外アクセス制御回路１３１からのアドレス選択信号ＡＤＳＥＬが確定してから、所定時間後に上記の各信号／ＲＡＳ，／ＣＡＳ，／ＷＥ，／ＣＳ，ＣＫＥ，ＤＱＭなどを出力するとともに、アドレス制御回路１４にアドレスの出力する。
【００４７】
変則バーストアクセスタイミング規定回路１３４は、次の２点（１）および（２）において、基本バーストアクセスタイミング規定回路１３３と異なる。
（１）アドレス制御回路１４にアドレスの出力を指示するときに、併せて開始カラムアドレス［１４：０］を奇数から１つ前の偶数へ変更することを指示する。
（２）データマスクイネーブル信号ＤＱＭ［３：０］が、本来指定された奇数の開始カラムアドレス［１４：０］のデータ以降の指定されたアクセスワード数のデータへのアクセスをマスクしない一方、それ以外の、奇数から偶数に変更された開始カラムアドレス［１４：０］を含むカラムアドレスについてのアクセスをマスクするように、上記のコマンドテーブルに設定されている。
【００４８】
アドレス制御回路１４は、アドレス発生回路１２で発生した開始ロウアドレスＲＯＷＡ［１４：０］および開始コラムアドレスＣＯＬＡ［１４：０］をロードしており、基本バーストアクセスタイミング規定回路１３３または変則バーストアクセスタイミング規定回路１３４のアドレス出力指示に基づいて、上記の各信号／ＲＡＳ，／ＣＡＳ，／ＷＥ，／ＣＳ，ＣＫＥ，ＤＱＭなどの出力と同期して出力する。また、アドレス制御回路１４は、変則バーストアクセスタイミング規定回路１３４からのアドレス変更指示に基づいて奇数の開始カラムアドレス［１４：０］を１つデクリメントして出力する。
【００４９】
続いて、上記のように構成されるＳＤＲＡＭコントローラ１によるＳＤＲＡＭ３のアクセス制御の動作を説明する。まず、例外アクセスにおける動作について説明し、それに続いて変則アクセスにおける動作について説明する。
【００５０】
マスタ回路２からアクセス開始アドレスＢＭＡ［２４：２］が出力されると、アクセスバースト数判定回路１１１により下位アドレスＬＡ［７：０］に基づいて、これから行うアクセスが通常アクセスであるか例外アクセスであるかが判定されるとともに、プリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］が決定される。このとき、通常アクセスと判定されると、アクセスバースト数判定回路１１１から、非アクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓと、無効とされたプリバースト信号ＰＲＥＢＲＳＴ［２：０］＝０およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］＝０とが出力される。一方、例外アクセスと判定されると、アクセスバースト数判定回路１１１から、アクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓと、有効とされたプリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］とが出力される。
【００５１】
制御信号発生回路１３の例外アクセス制御回路１３１は、非アクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓが入力されると、通常アクセスと判定して、“０”のアドレス選択信号ＡＤＳＥＬを出力する。このとき、アドレス発生回路１２においては、通常アクセスと判定されたときに、マルチプレクサ１２１から出力された下位アドレスＬＡ［７：０］（下位ｂｉｔＣＯＬＡ［７：０］）と上位７ｂｉｔＣＯＬＡ［１４：８］とにより、開始カラムアドレスＣＯＬＡ［１４：０］が決定されるとともに、マルチプレクサ１２２から出力される上位アドレスＵＡ［１４：０］により開始ロウアドレスＲＯＷＡ［１４：０］が決定される。
【００５２】
また、例外アクセス制御回路１３１は、アクティブの例外アクセス判定フラグｅｘｔ＿ａｃｓが入力されると、アクセスを開始ページから次のページに切り替えるタイミングでアドレス選択信号ＡＤＳＥＬを“０”から“１”に切り替える。このとき、下位ｂｉｔＣＯＬＡ［７：０］＝“０ｘ００”が、マルチプレクサ１２１から出力されるとともに、加算器１２３により１が加算された開始ロウアドレスＲＯＷＡ［１４：０］が、マルチプレクサ１２２から出力される。このように開始ロウアドレスＲＯＷＡ［１４：０］および開始カラムアドレスＣＯＬＡ［１４：０］が更新されることにより、次のページにおける先頭のカラムへのアクセスが可能となる。
【００５３】
例えば、アクセス開始アドレスＢＭＡ［２４：２］が“０ｘ００００ＦＥ”である場合、下位ｂｉｔＣＯＬＡ［７：０］は“０ｘＦＥ”となり偶数である。また、マスタ回路２により要求されるバーストアクセスワード数が４である場合、表１に示すように、バイナリ表記で“１１”と表されるバースト長信号ＢＲＳＴ［１：０］が、アドレス制御回路１４から３ステートバッファ４を経てＳＤＲＡＭ３に入力される。したがって、この場合は、アクセス開始アドレスＢＭＡ［２４：２］＝“０ｘ００００ＦＥ”から、“０ｘ００００ＦＦ”，“０ｘ０００１００”，“０ｘ０００１０１”で定まるアドレスで４ワードをアクセスする必要がある。
【００５４】
このとき、アクセス動作情報決定回路１１１ｂにより、図３に示すアクセスバースト数判定テーブルから、ＰＲＥＢＲＳＴ［２：０］＝２，ＰＯＳＴＢＲＳＴ［２：０］＝２が出力されるとともに、例外アクセス判定フラグｅｘｔ＿ａｃｓ＝１が出力される。また、開始アドレス判定回路１３２により、開始カラムアドレスＣＯＬＡ［１４：０］が偶数であると判定されるので、基本バーストアクセスタイミング規定回路１３３で規定されたタイミングで、開始ロウアドレスＲＯＷＡ［１４：０］および開始カラムアドレスＣＯＬＡ［１４：０］がアドレス制御回路１４から出力されるとともに、各種の制御信号が制御信号発生回路１３から出力される。
【００５５】
これにより、ＳＤＲＡＭ３では、開始ロウアドレスＲＯＷＡ［１４：０］で指定されたアクセス開始ページにおいて開始カラムアドレスＣＯＬＡ［１４：０］で指定されたカラムから２ワードがアクセスされ、次のページにおける先頭のカラムから残余の２ワードがアクセスされる。４ワードのアクセス時には、データマスクイネーブル信号ＤＱＭ［３：０］が“０”となって、アクセスがマスクされない。このように、ページ越えが発生する場合は、２つのページにわたって２回のアクセス（２回の開始カラムアドレスＣＯＬＡ［１４：０］の発行）が実行される。
【００５６】
一方、ページ越えが発生しない場合は、前述のように通常アドレスと判定されると、プリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］の値が無効（＝０）となる。したがって、開始ロウアドレスＲＯＷＡ［１４：０］で指定されたアクセス開始ページにおいて開始カラムアドレスＣＯＬＡ［１４：０］で指定されたカラムから、バースト長信号ＢＲＳＴ［１：０］で指定された数のワードがアクセスされる。このように、ページ越えが発生しない場合は、１つのページで１回のみのアクセスが実行される。
【００５７】
開始カラムアドレスＣＯＬＡ［１４：０］が偶数であるときは、図４（ａ）に示すように、開始アドレスとなるカラムアドレスの最下位ｂｉｔが“０”（または“２”）であり、それに続くカラムアドレスの最下位ｂｉｔが“１”（または“３”）となる場合に次のように動作する。この場合、バースト長が１ワードであれば、開始アドレスの最下位ｂｉｔが“０”（または“２”）であっても、ＤＱＭ（データマスク）動作が非アクティブ（Ｌレベル）となる期間に開始アドレスにのみアクセスする。これにより、期待有効アクセス通りのアクセスが可能であり、上記のようなアクセス順の逆転は生じない。また、バースト長が２ワードであれば、同様に開始アドレスの最下位ｂｉｔが“０”（または“２”）であることから、期待有効アクセスが“０，１”（または“２，３”）の順で行われるべきであり、実際にも、ＤＱＭ動作が非アクティブ（“Ｌ”）となる２ワード分の期間にアクセスすることにより、“０，１”（または“２，３”）の順でアクセスが行われる。これは、バースト長が３ワードや４ワードの場合でも同様であり、開始アドレスとなるカラムアドレスの最下位ｂｉｔが増加していき、アクセスが正常に行なわれる。
【００５８】
ところで、開始カラムアドレスＣＯＬＡ［１４：０］が奇数である場合は、通常アクセスおよび例外アクセスにおける開始ページのアクセスについて、変則バーストアクセスのシーケンスが実行される。また、例外アクセスにおける次ページのアクセスについては、ページの先頭のカラム（カラムアドレス＝０）からアクセスが行われるので、変則バーストアクセスのシーケンスは実行されない。
【００５９】
例えば、アクセス開始アドレスＢＭＡ［２４：２］が“０ｘ００００ＦＤ”である場合、下位ｂｉｔＣＯＬＡ［７：０］は“０ｘＦＤ”となり奇数である。また、マスタ回路２により要求されるバーストアクセスワード数が４である場合、表１に示すように、バイナリ表記で“１１”と表されるバースト長信号ＢＲＳＴ［１：０］が、アドレス制御回路１４から３ステートバッファ４を経てＳＤＲＡＭ３に入力される。したがって、この場合は、アクセス開始アドレスＢＭＡ［２４：２］＝“０ｘ００００ＦＤ”から、“０ｘ００００ＦＥ”，“０ｘ００００ＦＦ”，“０ｘ０００１００”で定まるアドレスで４ワードをアクセスする必要がある。
【００６０】
このとき、アクセス動作情報決定回路１１１ｂにより、図３に示すアクセスバースト数判定テーブルから、ＰＲＥＢＲＳＴ［２：０］＝３，ＰＯＳＴＢＲＳＴ［２：０］＝１が出力されるとともに、例外アクセス判定フラグｅｘｔ＿ａｃｓ＝１が出力される。また、開始アドレス判定回路１３２により、開始カラムアドレスＣＯＬＡ［１４：０］が奇数であると判定されるので、変則バーストアクセスタイミング規定回路１３４で規定されたタイミングで、開始ロウアドレスＲＯＷＡ［１４：０］および１つ前の偶数に変更された開始カラムアドレスＣＯＬＡ［１４：０］がアドレス制御回路１４から出力されるとともに、各種の制御信号が制御信号発生回路１３から出力される。
【００６１】
このとき、ＳＤＲＡＭ３では、偶数の開始ロウアドレスＲＯＷＡ［１４：０］で指定されたアクセス開始ページにおいて指定されたカラム（アクセス開始アドレスＢＭＡ［２４：２］＝“０ｘ００００ＦＣ”）から３ワードがアクセスされ、次のページにおける先頭のカラムから残余の１ワードがアクセスされる。また、本来の奇数の開始カラムアドレスＣＯＬＡ［１４：０］から指定された４ワード数のアクセスは、データマスクイネーブル信号ＤＱＭ［３：０］が“Ｌ”となってマスクされないが、それ以外のカラムアドレスでのアクセスは、データマスクイネーブル信号ＤＱＭ［３：０］が“Ｈ”となってマスクされる。
【００６２】
変則アクセスを行なう場合、図４（ｃ）に示すように、開始カラムアドレスＣＯＬＡ［１４：０］が奇数から１つ前の偶数に変更されるので、開始アドレスとなるカラムアドレスの最下位ｂｉｔが“０”（または“２”）であり、それに続くカラムアドレスの最下位ｂｉｔが“１”（または“３”）となる。この場合、バースト長が１ワードであれば、開始アドレスの最下位ｂｉｔが“０”（または“２”）であっても、ＤＱＭ動作が非アクティブとなって無効となるが、本来の開始カラムアドレスである次の最下位ｂｉｔ“１”（または“３”）でＤＱＭ動作がアクティブとなる期間にアクセスが可能になる。このとき、変則バーストアクセスタイミング規定回路１３４で規定されたように、ＳＤＲＡＭ３に対して２バースト長のアクセスが指示されるが、上記のように、奇数の開始カラムアドレスＣＯＬＡ［１４：０］の１ワードのみバーストアクセスが実行される。
【００６３】
なお、１ワードのバーストアクセスでは、図４（ｂ）に示すように、開始カラムアドレスＣＯＬＡ［１４：０］が奇数であっても問題なくアクセス可能であるが、変則バーストアクセスタイミング規定回路１３４で規定された変則バーストアクセスのタイミングにしたがってアクセスが行なわれる。
【００６４】
また、バースト長が２ワードであれば、同様に次の奇数アドレスから２ワード分がアクティブとなるＤＱＭ動作によってアクセス可能となるが、それ以外の偶数に変換された開始アドレスを含むアドレスに対するアクセスは、ＤＱＭ動作が非アクティブとなって無効となる。このとき、制御信号発生回路１３により２バースト単位でアクセスが制御されるため、２ワードのバーストアクセスが要求された場合には、ＳＤＲＡＭ３においては４バースト長のアクセスが行われることになり、奇数アドレスから２ワード分がアクティブ（“Ｌ”）となるＤＱＭ動作によって奇数の開始カラムアドレスＣＯＬＡ［１４：０］から、“１，２”（または“２，３”）のように２ワードのみバーストアクセスが実行される。
【００６５】
また、バースト長が３ワードの場合、２ワードアクセスの場合と同様、４バースト長のアクセスが行われるが、奇数アドレスから３ワード分がアクティブとなるＤＱＭ動作によって“１，２，３”（または“２，３，４”）のようにアクセス可能となる。さらに、バースト長が４ワードの場合、６バースト長のアクセスが行われるが、奇数アドレスから４ワード分がアクティブとなるＤＱＭ動作によって“１，２，３，４”（または“２，３，４，５”）のようにアクセス可能となる。
【００６６】
以上のように、本実施形態のＳＤＲＡＭコントローラ１は、変則バーストアクセスタイミング規定回路１３４で規定されたタイミングにしたがってメモリアクセスシーケンスが開始されるまでに、バーストアクセスが２つのページにまたがるカラムアドレスのページ越えが生じる場合、例外アクセス判定回路１１のアクセスバースト数判定回路１１１により、ページ越えが必要な例外アクセスと判定するとともに、バースト長信号ＢＲＳＴ［１：０］によるバースト長の情報に基づいてページ越え前後のアクセスバースト数をプリバースト信号ＰＲＥＢＲＳＴ［２：０］およびポストバースト信号ＰＯＳＴＢＲＳＴ［２：０］の値によってページ越え前後のアクセスバースト数を特定する。これにより、ＳＤＲＡＭ３のアクセス中にページ越えの判定をすることが回避されるので、クロック信号ＣＬＫに対してタイミングマージンに余裕を持たせることができる。したがって、演算のためのハードウェアの規模を増大させることなく、メモリアクセスの速度低下を防止することができる。
【００６７】
また、本実施形態のＳＤＲＡＭコントローラ１は、基本バーストアクセスタイミング規定回路１３３または変則バーストアクセスタイミング規定回路１３４で規定されたタイミングにしたがってメモリアクセスシーケンスが開始されるまでに、開始アドレス判定回路１３２により開始カラムアドレスＣＯＬＡ［１４：０］が奇数であると判定されたときには、開始カラムアドレスＣＯＬＡ［１４：０］を１つ前の偶数に変更するとともに、奇数の開始カラムアドレスＣＯＬＡ［１４：０］からのアクセスを有効とするように、データマクスイネーブル信号ＤＱＭ［３：０］をアクティブにするタイミングを制御する。これにより、開始カラムアドレスＣＯＬＡ［１４：０］の最下位ｂｉｔが“０”から“１”に変化する下位アドレスから上位アドレスの順でのアクセスが実現される。それゆえ、ＳＤＲＡＭコントローラ１において、データ整列のためのバッファを設ける必要がなくなり、ハードウェア規模の増大を防止することができるとともに、データ整列のための処理時間を削減して、メモリアクセスの速度低下を防止することができる。
【００６８】
なお、上述の説明では、高速メモリがＳＤＲＡＭ３である場合について説明したが、高速メモリは、バーストアクセス可能であり、バーストアクセス時に隣り合う２ページにわたってデータをアクセスできる構造を有するメモリであれば、ＳＤＲＡＭ３には限定されない。例えば、高速メモリとしては、Ｒ（Rambus(R)）ＤＲＡＭ、ＳＤＲＡＭを画像データの記憶用に特化したＳＧＲＡＭ（Synchronous Graphics RAM ）であってもよく、これらのＲＡＭの制御に対しても、ＳＤＲＡＭコントローラ１と同等の制御装置によってアクセスを制御することにより、本実施形態と略同様の効果が得られる。
【００６９】
また、本実施形態では、バースト長が最大で４ワードに設定されているが、これに限らず、例えば最大バースト長を８ワードとしてもよい。
【産業上の利用可能性】
【００７０】
本発明の高速メモリアクセス制御装置は、２ページにまたがるページ越えのバーストアクセスを判定するための演算処理をメモリアクセスシーケンスに先立って行なうことによって、タイミングマージンを確保することができるとともに、ページ越えの判定をメモリアクセスシーケンスに行なうための演算回路を削減してハードウェア規模を縮小することができる、また、奇数の開始カラムアドレスを偶数に変更し、かつ本来の奇数の開始カラムアドレスからバーストアクセスを行なうようにアクセスのタイミングを制御することによって、データ整列用のバッファを不要にするとともに、そのための処理時間を削減することができるので、ＳＤＲＡＭなどの高速メモリのアクセス制御に適用できる。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態に係るＳＤＲＡＭコントローラを含むＳＤＲＡＭ制御システムの構成を示すブロック図である。
【図２】上記ＳＤＲＡＭコントローラの要部の構成を示すブロック図である。
【図３】上記ＳＤＲＡＭコントローラにおける例外アクセス判定回路のアドレスバースト数判定回路に設けられるアクセスバースト数判定テーブルを示す図である。
【図４】（ａ）ないし（ｃ）はそれぞれ、開始カラムアドレスが偶数である場合、開始カラムアドレスが奇数である場合、開始カラムアドレスを奇数から偶数に変更した場合のＳＤＲＡＭ内部でのアドレス動作およびデータマスク動作を示す図である。
【符号の説明】
【００７２】
１    ＳＤＲＡＭコントローラ（高速メモリアクセス制御装置）
２    マスタ回路
３    ＳＤＲＡＭ（高速メモリ）
１１    例外アクセス判定回路（例外アクセス情報決定手段）
１２    アドレス発生回路（アドレス発生手段）
１３    制御信号発生回路
１４    アドレス制御回路（アドレス変更手段）
１１１    アドレスバースト数判定回路
１３１    例外アクセス制御回路（切替制御手段）
１３２    開始アドレス判定回路（奇数判定手段）
１３３    基本バーストアクセスタイミング規定回路（タイミング制御手段）
１３４    変則バーストアクセスタイミング規定回路（タイミング制御手段）
【図１】
0004606725.tif 000003
【図２】
0004606725.tif 000004
【図３】
0004606725.tif 000005
【図４】
0004606725.tif 000006