(57)【特許請求の範囲】
【請求項１】
ＣＰＵと同期系メモリとの間のデータ転送を行うときには前記同期系メモリにアクセスするときのウェイトに基づく第１の動作サイクルを発生し、前記ＣＰＵと非同期系メモリとの間のデータ転送を行うときには前記非同期系メモリにアクセスするときのウェイトに基づく第２の動作サイクルを発生し、前記同期系メモリと前記非同期系メモリとの間のシングルアドレスＤＭＡ転送を行うときには前記シングルアドレスＤＭＡ転送時のウェイトに基づく第３の動作サイクルを発生し前記同期系メモリに供給するメモリアクセス制御信号生成回路を備えることを特徴とするメモリコントローラ。
【請求項２】
前記シングルアドレスＤＭＡ転送において、前記シングルアドレスＤＭＡ転送時のウェイトによって生成されるクロックイネーブル信号に基づいたウェイトが前記同期系メモリの前記第３の動作サイクルに挿入されることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記同期メモリは、シンクロナス・ダイナミック・ランダムアクセス・メモリ（ＳＤＲＡＭ）であることを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記メモリアクセス制御信号生成回路は、前記同期系メモリのリードサイクル中に、前記同期系メモリから読み出したデータを前記非同期系メモリに書き込む、前記同期系メモリから前記非同期系メモリへの前記シングルアドレスＤＭＡ転送を行うことを特徴とする請求項１乃至３に記載のメモリコントローラ。
【請求項５】
前記メモリアクセス制御信号生成回路は、前記同期系メモリに対する前記第１又は第３の動作サイクルを出力する同期系メモリ用信号生成回路と、前記非同期系メモリに対する前記第２又は第３の動作サイクルを出力する非同期系メモリ用信号生成回路と、前記同期系メモリ用信号生成回路と前記非同期系メモリ用信号生成回路と前記同期系メモリと前記非同期系メモリとを共通接続する双方向のデータバス手段と、を備えることを特徴とする請求項１乃至４に記載のメモリコントローラ。
【請求項６】
前記同期系メモリにアクセスするときのウェイト及び前記非同期系メモリにアクセスするときのウェイトの少なくとも一方を前記ＣＰＵが設定するＣＰＵ用ウェイト設定レジスタと、前記シングルアドレスＤＭＡ転送時のウェイトを前記ＣＰＵが設定するＤＭＡ用ウェイト設定レジスタと、データ転送要求により前記ＣＰＵ用及び前記ＤＭＡ用ウェイト設定レジスタのいずれか一方の有する値を前記メモリアクセス制御信号生成回路へ選択的に出力するウェイト選択手段と、を備えることを特徴とする請求項１乃至５に記載のメモリコントローラ。
【請求項７】
前記ＤＭＡ用ウェイト設定レジスタが複数あり、前記複数のＤＭＡウェイト設定レジスタから前記データ転送要求により選択することができることを特徴とする請求項６に記載のメモリコントローラ。
【請求項８】
前記非同期系メモリにアクセスするときのウェイト又は前記シングルアドレスＤＭＡ転送時のウェイトを前記ＣＰＵが設定する共有ウェイト設定レジスタと、前記共用ウェイト設定レジスタに設定されたウェイトを前記メモリアクセス制御信号生成回路へ選択的に出力するウェイト選択手段とを備え、前記ＣＰＵと同期系メモリとの間のデータ転送においては、データ転送要求により、前記第１の動作サイクルはノーウェイトで、前記ＣＰＵと非同期系メモリとの間のデータ転送又は前記シングルアドレスＤＭＡ転送においては、前記データ転送要求により、前記共有ウェイト設定レジスタのウェイトが挿入された第２又は第３の動作サイクルで制御されることを特徴とする請求項１乃至５に記載のメモリコントローラ。
【請求項９】
前記シングルアドレスＤＭＡ転送時のウェイトは、前記非同期系メモリからのウェイト信号によって与えられ、前記クロックイネーブル信号は前記ウェイト信号に応答して生成されることを特徴とする請求項２乃至５に記載のメモリコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリコントローラに係わり、特に外部メモリに非同期系メモリおよび同期系メモリがそれぞれ接続される場合のシングルアドレスＤＭＡ転送を最小ウェイト数でメモリアクセスサイクルを発生するメモリコントローラに関する。
【０００２】
【従来の技術】
近年、半導体素子の微細化技術の進展に伴い、その半導体素子で構成するＬＳＩも大規模化しており、特に半導体メモリの分野ではその傾向が顕著である。
【０００３】
例えば、１チップに２５６メガビットの容量を有する半導体メモリとしてダイナミック型ランダムアクセスメモリ（ＤＲＡＭ）やシンクロナス・ダイナミック・ランダムアクセス・メモリ（ＳＤＲＡＭ）も実用化されている。
【０００４】
これらの半導体メモリを外部メモリとして接続するシングルチップ・マイクロコンピュータの動作速度の向上も著しく、接続される外部メモリは容量増加とともに動作速度の向上も期待が大きくなる所以である。
【０００５】
外部メモリを接続する場合、シングルチップ・マイクロコンピュータの中央演算処理部（以下、ＣＰＵと称す）を介さずに、メモリとＩ／Ｏ装置間でデータ転送を行うダイレクトメモリアクセス（以下、ＤＭＡと称す）が行われている。
【０００６】
シングルアドレスＤＭＡ転送は、外部メモリからＩ／Ｏデバイスにデータを転送するとき、メモリにリードストローブ信号を供給する一方、Ｉ／Ｏデバイスにはライトストローブ信号を供給することにより、データバス上にはメモリから読み出したリードデータが出力されてくる。このデータバス上に読み出されてきたデータをＩ／Ｏデバイスに書き込んでいる。
【０００７】
一方、Ｉ／Ｏデバイスから外部メモリにデータを転送するとき、メモリにリードストローブ信号を供給する一方、Ｉ／Ｏデバイスにはライトストローブ信号を供給することにより、データバス上にＩ／Ｏデバイスから読み出したリードデータを外部メモリに書き込む。
【０００８】
この種の従来のウェイト制御の一例が特開平４−２４１０５６号公報に記載されている。同公報記載のウェイト信号制御部は、ＣＰＵとＤＭＡコントローラとの接続端子２Ａ、ウェイト信号出力端子２Ｂ、ウェイト設定レジスタ２１、デバイスデコーダ２２、ウェイト信号発生部２３とを備える。
【０００９】
ウェイト設定レジスタ２１は、Ｉ／Ｏデバイスのアクセススピードに対応したウェイト数を予めＣＰＵから設定される。
【００１０】
デバイスデコーダ２２は、現在のＤＭＡ動作中のＩ／Ｏデバイスを検出してそのデバイスに対応したウェイト数をレジスタ２１より導出する。
【００１１】
この導出されたウェイト数はウェイト信号発生部２３へ入力され、このウェイト数に応じたウェイト信号が発生される。
【００１２】
このウェイト制御部は、予めプログラムにより各デバイスのＤＭＡ時に挿入すべきウェイト数を設定しておくので、アクセススピードに関係なく各デバイスに適切なウェイト数が設定でき、ＤＭＡレートを悪化させないというものである。
【００１３】
この種のシングルアドレスＤＭＡ転送を制御するメモリコントローラに対し本発明では後述するように、特に高速アクセスが可能なＣＰＵなどからのアクセスについては最小ウエイト数でアクセスすることでデータの転送レートを確保し、また高速なメモリから低速なメモリへのシングルアドレスＤＭＡ転送については、低速なメモリのデータアクセス時間に合わせたウエイト数を、高速メモリの動作サイクルに挿入したい場合の構成を開示するものである。
【００１４】
一般的に、ＳＤＲＡＭへのアクセスは、そのＳＤＲＡＭの特性を生かすため、ＣＰＵからのアクセスはノーウエイトの高速アクセスを行うのが通常である。
【００１５】
したがって、通常、メモリコントローラはデータウエイト機能を持たないのであるが、シングルチップ・マイクロコンピュータの応用分野においては、ＳＤＲＡＭから低速なデバイスへのシングルアドレスＤＭＡ転送においても、転送先である低速デバイスへ最高速な転送が行えることが要求されている。
【００１６】
【発明が解決しようとする課題】
上述したように従来の一般的なシングルチップ・マイクロコンピュータに搭載されているメモリコントローラでは、ＤＭＡ転送に特化したウエイトのコントロールが行われていなかった。その欠点を改善する一例として前述した特開平４−２４１０５６号公報の例があるが、いずれもＳＤＲＡＭアクセスに関しては、データウエイトを行うことも考慮されていなかった。すなわち、通常であれば例えば１クロック期間のみ出力されるデータを、２〜数クロック期間まで出力するようにデータ出力期間延ばすことで、Ｉ／Ｏデバイスへの書込誤動作を避けるためのデータウエイトを行っていないのである。
【００１７】
そのため、ＤＭＡ転送対象の一方がＳＤＲＡＭであった場合、転送先の低速デバイスのスペックを満足することが出来ず、シングルアドレスモードＤＭＡ転送は実現できない場合が多かった。
【００１８】
つまり、一般的なマイクロコンピュータにおいてはＳＤＲＡＭアクセス時にデータウエイトを行うことが考慮されていないため、ＳＤＲＡＭへのアクセスは常時１ＣＬＫピッチで行われている。すなわち、データ出力期間はリード／ライト共１ＣＬＫ分しか出力されていない。
【００１９】
そのため、例えばバス動作周波数が１００ＭＨｚの製品でＳＤＲＡＭのデータ出力遅延値が５ｎｓであった場合、Ｉ／Ｏデバイスへのライトストローブ信号の有効期間にデータが準備できないことになり転送ができない。
【００２０】
つまり、１ＣＬＫピッチの場合、Ｉ／Ｏデバイスへのライトストローブ信号は半クロックでトグルさせることになるからである。
【００２１】
また、Ｉ／Ｏデバイスへの書き込みをＳＤＲＡＭへ供給されているクロックの立ち上がり同期で行うシステムを想定した場合でも、ＳＤＲＡＭのデータ出力遅延が５ｎｓであったとすると、Ｉ／Ｏデバイス書き込みのデータセットアップ時間は５ｎｓ以内でなければならず、低速Ｉ／Ｏデバイスでこの５ｎｓのセットアップ時間を実現することは難しく、結局、ＳＤＲＡＭ対Ｉ／Ｏのシングルアドレス転送は出来ないということになる。
【００２２】
本発明の目的は、上述した従来の欠点に鑑みなされたものであり、ＣＰＵアクセスにおける転送レートを落とすことなく、転送対象の低速なメモリのスペックに合わせたシングルアドレスモードＤＭＡ転送を実現することにある。
【００２３】
【課題を解決するための手段】
本発明のメモリコントローラの特徴は、ＣＰＵと同期系メモリとの間のデータ転送を行うときには前記同期系メモリにアクセスするときのウェイトに基づく第１の動作サイクルを発生し、前記ＣＰＵと非同期系メモリとの間のデータ転送を行うときには前記非同期系メモリにアクセスするときのウェイトに基づく第２の動作サイクルを発生し、前記同期系メモリと前記非同期系メモリとの間のシングルアドレスＤＭＡ転送を行うときには前記シングルアドレスＤＭＡ転送時のウェイトに基づく第３の動作サイクルを発生し前記同期系メモリに供給するメモリアクセス制御信号生成回路を備えることにある。
【００２４】
本発明のメモリコントローラの他の特徴は、ＤＭＡ転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるＩ／Ｏデバイスと高速動作用の同期系メモリとに対応するメモリコントローラウエイト制御手段として、前記同期系および前記非同期系の外部メモリにアクセスするときのウェイト数があらかじめＣＰＵから設定されるウェイト設定レジスタ手段と、前記外部メモリのうち高速動作用のメモリから低速動作用のメモリへのシングルアドレスＤＭＡ転送時のウェイト数があらかじめ前記ＣＰＵから設定されるＤＭＡ転送用ウェイト設定レジスタと、シングルアドレスＤＭＡ転送要求およびメモリアクセス要求により前記ウェイト設定レジスタおよび前記ＤＭＡ転送用ウェイト設定レジスタのいずれか一方の有するウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト選択手段で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段することにある。
【００２５】
また、  前記メモリアクセス制御信号発生手段は、前記高速動作用の同期系メモリをアクセスするアドレス信号とクロックイネーブル信号とを含むあらかじめ定めた所定の制御信号出力手段と前記低速動作用の非同期系メモリをアクセスするアドレス信号とライトストローブ信号とリード信号とを含むあらかじめ定めた所定の制御信号出力手段との他に、前記非同期系メモリ用制御信号生成手段と前記Ｉ／Ｏデバイスと前記同期系メモリ用制御信号生成手段と前記同期系メモリとを共通接続する双方向のデータバス手段をさらに備えて構成することができる。
【００２６】
さらに、ＤＭＡ転送対象の前記同期系メモリがシンクロナス・ダイナミック・ランダムアクセス・メモリ（ＳＤＲＡＭ）である場合に、前記ＳＤＲＡＭに対する前記クロックイネーブル信号を非活性レベルにして、前記Ｉ／Ｏデバイスの転送速度に合わせた前記ＳＤＲＡＭアクセスを実行することもできる。
【００２７】
さらにまた、前記メモリアクセス制御信号生成手段は、前記同期系メモリおよび前記Ｉ／Ｏデバイスにアクセスして双方向のＤＭＡ転送を実行する場合に、複数のウェイト設定レジスタ手段から選択されたウエイト数によりメモリアクセスサイクルを発生してＤＭＡ転送制御をすることもできる。
【００２８】
また、前記シングルアドレスＤＭＡ転送時は、前記ＤＭＡ転送用ウエイト設定レジスタのウエイト数を前記ＤＭＡ転送要求に基づき選択してシングルアドレスＤＭＡ転送サイクルを発生させることもできる。
【００２９】
さらに、前記シングルアドレスＤＭＡ転送時に、ＤＭＡ転送対象の前記同期系メモリおよび前記Ｉ／Ｏデバイスのうち動作速度の遅い方に合わせたメモリアクセスを実行することもできる。
【００３０】
さらにまた、前記非同期系メモリ用信号生成手段は、ＤＭＡシングルアドレス転送用のライトストローブ信号を生成し、このライトストローブ信号により前記同期系メモリのリードサイクル中にシングルアドレスＤＭＡ転送を行うこともできる。
【００３１】
本発明のメモリコントローラのさらに他の特徴は、ＤＭＡ転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるＩ／Ｏデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、前記同期系および前記Ｉ／Ｏデバイスにアクセスするときのウェイト数があらかじめＣＰＵから設定されるウェイト設定レジスタ手段と、シングルアドレスＤＭＡ転送要求およびメモリアクセス要求により前記ウェイト設定レジスタのウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段とを備えて構成することにある。
【００３２】
また、前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記Ｉ／Ｏデバイスをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号供給手段を有し、前記非同期系メモリのアクセス時には、ＣＰＵからのアドレスアクセスまたは前記ライトストローブ信号によるアクセスのいずれかを実行することができる。
【００３３】
さらに、前記同期系メモリは、前記ウェイト設定レジスタ手段を介さず直接ＣＰＵからノーウェイトでアクセスすることもできる。
【００３４】
さらにまた、前記同期系メモリと前記非同期系メモリを含め周辺デバイスからなるＩ／Ｏデバイスとの間におけるＤＭＡ転送時は、前記ウェイト設定レジスタ手段のウェイト数に基づきシングルアドレスＤＭＡ転送サイクルを発生させることもできる。
【００３５】
本発明のメモリコントローラの他の特徴は、ＤＭＡ転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスからなるＩ／Ｏデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、所定のウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段を備え、前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記非同期系メモリをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号の供給手段を有するとともに、前記同期系メモリ用信号生成手段が前記Ｉ／Ｏデバイスからウェイト信号を与えられ、かつ同期系メモリをアクセスするアドレス信号およびクロックイネーブル信号を含むあらかじめ定める制御信号出力手段とを有し、前記ウェイト信号に応じて活性、非活性が制御される前記クロックイネーブル信号に基づくウェイトが挿入されたシングルアドレスＤＭＡ転送のメモリサイクルを発生することにある。
【００３８】
【発明の実施の形態】
まず、本発明の概要を述べると、図１に示すように本発明によるメモリコントローラは、高速アクセスが可能なＣＰＵ（図示せず）などからのアクセスについては最小ウエイト数でアクセスすることでデータの転送レートを確保する。また、高速なメモリから低速なメモリへのシングルアドレスＤＭＡ転送では、低速なメモリのデータアクセス時間に合わせたウエイト数を、高速メモリの動作サイクルに挿入してデータの転送レートを確保する技術を開示するものである。
【００３９】
次に、本発明によるメモリコントローラの第１の実施形態のブロック図を示した図１を参照すると、メモリコントローラは、ウェイト設定レジスタ１１，ＤＭＡ転送用ウェイト設定レジスタ１２，セレクタ１３，メモリアクセス制御信号生成回路１４，非同期系メモリ用信号生成回路１５，ＳＤＲＡＭ用信号生成回路１６，Ｉ／Ｏデバイス（低速動作用の非同期系メモリ、Ｉ／Ｏ）１７およびＳＤＲＡＭ（高速動作用の同期系メモリ）１８を備える。
【００４０】
すなわち、ＤＭＡ転送対象となる、低速動作用の非同期系メモリ等が接続されるＩ／Ｏデバイス１７と高速動作用の同期系メモリＳＤＲＡＭ１８とに対するメモリコントローラウエイト制御手段として、外部メモリのＩ／Ｏデバイス１７，ＳＤＲＡＭ１８にアクセスするときのウェイト数があらかじめＣＰＵから設定されるウェイト設定レジスタ１１と、Ｉ／Ｏデバイス１７，ＳＤＲＡＭ１８のうち高速動作用のＳＤＲＡＭ１８から低速動作用のＩ／Ｏデバイス１７へのシングルアドレスＤＭＡ転送時のウェイト数が、あらかじめＣＰＵから設定されるＤＭＡ転送用ウェイト設定レジスタ１２とを有する。
【００４１】
また、シングルアドレスＤＭＡ転送要求ＤＭＡ＿ＥＲＱおよびメモリアクセス要求Ｍ＿ＲＥＱによりウェイト設定レジスタ１１およびＤＭＡ転送用ウェイト設定レジスタ１２のいずれか一方の有するウェイト数を選択的に出力するセレクタ（ウェイト選択手段）１３も有する。
【００４２】
さらに、セレクタ１３で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生回路（メモリアクセス制御信号発生手段）１４も有して構成される。
【００４３】
ＣＰＵアクセス用のウエイト設定レジスタ１１とＤＭＡ転送用ウエイト設定レジスタ１２とはプログラマブルなレジスタである。
【００４４】
セレクタ１３は、２つの入力信号、すなわちメモリアクセス要求信号Ｍ＿ＲＥＱおよびＤＭＡ転送要求ＤＭＡ＿ＲＥＱにより、上述した２つのウエイト設定レジスタ１１，１２のうち、どちらの設定値を採用するかを選択する。
【００４５】
メモリアクセス制御信号生成回路１４は、セレクタ１３により選択されたウエイト数を挿入したメモリアクセスサイクルを発生させる。
【００４６】
また、この例では、メモリアクセス制御信号生成回路１４の内部に、非同期系メモリ（ＳＲＡＭ、Ｉ／Ｏ等）のアクセス信号を生成する非同期系メモリ用信号生成回路１５を備える。
【００４７】
また、非同期系メモリ用信号生成回路１５は、ＤＭＡシングル転送用のライトストローブ信号ＤＭＡ＿ＷＥをＩ／Ｏデバイスに出力する出力手段も備えており、ＳＤＲＡＭのリードサイクル中にこのライトストローブ信号ＤＭＡ＿ＷＥを活性化させることにより、シングルアドレスＤＭＡ転送を行うことが出来る。
【００４８】
その他の信号としてアドレスＡＤＲ、チップセレクト信号ＣＳ、リード信号ＲＤおよびライト信号ＷＲをＩ／Ｏデバイス側に供給する。
【００４９】
さらに、メモリアクセス制御信号生成回路１４の内部にＳＤＲＡＭアクセス信号を生成するＳＤＲＡＭ用信号生成回路１６も備えている。
【００５０】
ＳＤＲＡＭ用信号生成回路１６は、ＳＤＲＡＭ１８に対し、ＡＤＲ、ＣＬＫ、ＲＡＳ、ＣＡＳ、ＷＥ、ＣＫＥおよびＤＱＭのクロックおよび制御信号を出力する。
【００５１】
ここで、信号ＣＬＫはＳＤＲＡＭ１８の動作クロックであり、アドレスＡＤＲはＳＤＲＡＭ１８に対するアドレス、信号ＲＡＳはＳＤＲＡＭ１８に対するロウアドレスストローブ信号である。
【００５２】
信号ＣＡＳはＳＤＲＡＭ１８に対するカラムアドレスストローブ信号であり、信号ＷＥはＳＤＲＡＭ１８に対するライトイネーブル信号であり、信号ＣＫＥはＳＤＲＡＭ１８に対するクロックイネーブルである。
【００５３】
信号ＤＱＭはＳＤＲＡＭ１８に対するデータマスク信号であり、信号ＤＭＡ＿ＷＥはＩ／Ｏデバイス１７に対するライトストローブ信号である。
【００５４】
また、非同期系メモリ用信号生成回路１５とＩ／ＯデバイスとＳＤＲＡＭ用信号生成回路１６とＩ／Ｏデバイスとの間を共通接続する双方向のデータバスＤを設けてある。
【００５５】
以下、本実施の形態の動作を図１およびその動作説明用のタイミングチャートであって、ＳＤＲＡＭからＩ／ＯデバイスへのシングルアドレスＤＭＡ転送のタイミングを示す図２を参照しながら動作を説明する。
【００５６】
まず図２において、ＳＤＲＡＭ１８へのアクセスは、ＣＡＳレーテンシが２、バースト長は４、バンク／ページはヒットした状態でアクセスはスタートしたものとする。また、ＤＭＡ転送用ウエイト設定レジスタ１２にはウエイト数１が設定されているものとする。
【００５７】
ここでいうレーテンシとは、メモリセルのデータの読み出し指示を行ってからデータが読み出されて外部へ出力されるまでの時間を示すものである。したがって、ＣＡＳ信号を有効化してから実際にデータが出力されるまでのレーテンシをＣＡＳレーテンシとしている。
【００５８】
例えば、ロウアドレスを指定し、ＲＡＳ信号を有効化し、与えられたロウアドレスに対応するワード線を活性化する。カラムアドレスを指定し、ＣＡＳ信号を有効化して、与えられたカラムアドレスに対応するディジット線を選択することにより、所望のメモリセルが選択される。
【００５９】
また、バースト長とは、リードサイクルまたはライトサイクルで出力または入力されるワード数である。
【００６０】
Ｔ１ステートにＳＤＲＡＭ１８には、アドレスＡＤＲはＡＤｍが与えられ、ＣＡＳ信号がＴ１ステート期間だけロウレベルでアクティブにされ、ＲＡＳ信号はハイレベルが与えられ、データマスク信号ＤＱＭはロウレベル、Ｉ／Ｏデバイス１７にはライトストローブ信号ＤＭＡ＿ＷＥがハイレベルでそれぞれ与えられている状態である。
【００６１】
まず、メモリコントローラは、ＤＭＡ転送要求ＤＭＡ＿ＲＥＱを受け付けると、Ｔ１ステートでＳＤＲＡＭ１８にリードコマンドを発行する。
【００６２】
ここで、ＤＭＡ転送用ウエイト設定レジスタ１２にはウエイト数１が設定されているので、本発明に従って、ＳＤＲＡＭ１８から出力されるデータにウエイトをかけるためＴ２ステートでクロックイネーブル信号ＣＫＥをディセーブルにする。
【００６３】
このディセーブルにより、通常はＴ３ステートのみに出力されるデータＤが、１ＣＬＫ分延長され、低速デバイスの書き込み時間をＴ４ステートまで確保する。
【００６４】
また、非同期系メモリ用信号生成回路１５は、ＳＤＲＡＭ１８から出力されているデータＤを取り込むために、ＤＭＡ＿ＷＥをＴ３ステートからＴ４ステートにかけてロウアクティブにし、データを取り込む。
【００６５】
Ｔ５ステートからＴ１０ステートまでは上述した動作の繰り返しである。
【００６６】
従来のメモリコントローラの場合は、転送先のＩ／Ｏデバイスが低速で１ＣＬＫピッチでのシングルアドレス転送が実現出来なかった場合、ＤＭＡ転送をデュアルアドレス転送で行わざるを得なかった。
【００６７】
例えば、Ｉ／Ｏデバイスのライトに２ＣＬＫ必要であった場合、ＳＤＲＡＭからの４ワードの転送に１５ＣＬＫ必要であった。しかし、本発明の構成を用いれば、４ワードの転送がＴ１ステートからＴ１０ステートまでの１０ＣＬＫで実現でき、１回の転送を２／３に短縮できる。
【００６８】
また、ＣＰＵからＳＤＲＡＭ１８へのアクセスは従来通り高速で行えるので、対ＣＰＵの転送レートを落とすことも無い。
【００６９】
次に第２の実施形態を説明する。
【００７０】
第２の実施形態では、その基本的構成は上述した第１の実施形態と同様であるが、ウエイト設定レジスタ１１の構成についてさらに工夫している。
【００７１】
その構成のブロック図を示した図３を参照すると、第１の実施形態との相違点は、ＤＭＡ転送用ウェイト設定レジスタ１２が削除され、ＣＰＵからのウェイト設定が行われるウェイト設定レジスタ１１のみが有効である。
【００７２】
非同期系メモリ用信号生成回路１５からＩ／Ｏデバイス１７に対し、アドレスＡＤＲ、チップセレクト信号ＣＳ、リード信号ＲＤ、ライト信号ＷＲ、ライトストローブ信号ＤＭＡ＿ＷＥ、データバスＤは実施形態１と同様に与えられている。
【００７３】
また、ＳＤＲＡＭ用信号生成回路１６およびＳＤＲＡＭ１８間の信号も第１の実施形態と同様である。
【００７４】
つまり、Ｉ／Ｏデバイス１７はＣＰＵからアドレスアクセスも出来る構成になっていて、さらに、ライトストローブ信号ＤＭＡ＿ＷＥによるアクセスもできることが特徴である。
【００７５】
ＣＰＵからＩ／Ｏデバイスに対するアドレスアクセスを行う場合にはウエイト設定レジスタ１１のウエイト数を採用し、そのウエイト数にしたっがて非同期系メモリ用信号生成回路１５はメモリサイクルを発生させる。
【００７６】
また、ＣＰＵからＳＤＲＡＭ１８に対するアドレスサイクルについては高速アクセスできるのでノーウエイトでアクセスし、ウエイト設定用レジスタを設けていない。
【００７７】
一方、ＳＤＲＡＭ１８およびＩ／Ｏデバイス間のシングルアドレスＤＭＡ転送時は、Ｉ／Ｏデバイス１７のスペックに対応したウエイト数が設定されたウエイト設定レジスタ１１があるので、このレジスタの設定値を採用しシングルアドレスＤＭＡ転送サイクルを発生させる。
【００７８】
上述したように、本実施の形態では、ＤＭＡ転送用のウエイト設定レジスタ１２を設けることなく、Ｉ／Ｏデバイスとして接続された非同期系の低速メモリ、Ｉ／Ｏのスペックを満たすＤＭＡ転送を行うことが出来るので、第１の実施形態よりもさらに回路規模を押さえることができる。
【００７９】
次に第３の実施の形態を説明する。
【００８０】
上述した第１および第２の実施形態では、シングルアドレスＤＭＡ転送におけるウエイト挿入をウェイト設定レジスタ１１およびＤＭＡ転送用ウェイト設定レジスタ１２、またはウェイト設定レジスタ１１において行っている。
【００８１】
しかし、図４に示す第３の実施形態のブロック図を参照すると、上述した第１の実施形態との相違点は、ウェイト設定レジスタ１１およびＤＭＡ転送用ウェイト設定レジスタ１２のいずれのウエイト設定用レジスタも設けていないことがことが相違する。
【００８２】
一方、第２の実施形態との相違点は、ウェイト設定レジスタ１１も削除されていることである。さらに第１および第２の実施形態との共通する相違点は、Ｉ／Ｏデバイス１７からＳＤＲＡ用信号生成回路１６にウェイト信号ＷＡＩＴを与えることによって、メモリコントローラにウエイトをかけていることである。
【００８３】
まず、Ｉ／ＯデバイスにはＣＬＫ信号とＣＫＥ信号を入力させる。Ｉ／ＯデバイスはＣＫＥ信号のアクティブ中はＷＡＩＴ信号を常にアクティブにする論理にしておく。
【００８４】
ＳＤＲＡＭ用信号生成回路６はＤＭＡ転送要求とＷＡＩＴ信号とＣＡＳ信号の反転信号のＡＮＤで１回目のＣＫＥ信号をディセーブルレベルにする。
【００８５】
ＣＫＥ信号がディセーブルレベルになった時点で、Ｉ／Ｏデバイスはウエイトしたいクロック数をカウントし、ＷＡＩＴ信号をディセーブルレベルにする。
【００８６】
ＷＡＩＴ信号がディセーブルレベルになるので、ＳＤＲＡＭ用信号生成回路６はＣＫＥ信号をアクティブにする。
【００８７】
ＣＫＥ信号のアクティブを受けて、Ｉ／Ｏデバイスは再びＷＡＩＴ信号をアクティブにする。
【００８８】
ＳＤＲＡＭ用信号生成回路６は、ＤＭＡ転送要求とＷＡＩＴ信号のＡＮＤでＣＫＥをディセーブルにする。
【００８９】
ＤＭＡ転送要求が出続けている間、以上の繰り返しである。
【００９０】
この実施の形態を用いた場合のシングルアドレスＤＭＡ転送のタイミングチャートを示した図５を参照すると、この実施の形態でも、Ｔ１ステートにＳＤＲＡＭ１８には、アドレスＡＤＲはＡＤｍが与えられ、ＣＡＳ信号がＴ１ステート期間だけロウレベルにアクティブにされる。
【００９１】
ＲＡＳ信号はハイレベルが与えられ、ライトイネーブル信号ＷＥはハイレベル、クロックイネーブル信号ＣＫＥはハイレベル、データマスク信号ＤＱＭはロウレベルが与えられる。
【００９２】
Ｉ／Ｏデバイス１７にはライトストローブ信号ＤＭＡ＿ＷＥがハイレベル、Ｉ／Ｏデバイス１７からＳＤＲＡＭ用信号生成回路１６にウェイト信号ＷＡＩＴがハイレベルに立ち上がる状態でそれぞれ与えられている。
【００９３】
まず、メモリコントローラは、ＤＭＡ転送要求ＤＭＡ＿ＲＥＱを受け付けると、Ｔ１ステートでＳＤＲＡＭ１８にリードコマンドを発行する。ここで、ウエイト信号ＷＡＩＴがＴ１ステートおよびＴ２ステート間の１クロック期間ハイレベルのアクティブになるので、そのＷＡＩＴ信号のアクティブに応答してＳＤＲＡＭ用信号生成回路１６ではクロックイネーブル信号ＣＫＥをＴ２ステートでロウレベルのディセーブルにする。
【００９４】
したがって、ＳＤＲＡＭ１８から出力されるデータにウエイトをかけることができる。
【００９５】
上述したように、クロックイネーブル信号ＣＫＥをディセーブルにすることにより、通常はＴ３ステートのみに出力されるデータＤが、１ＣＬＫ分延長され、低速デバイスの書き込み時間をＴ４ステートまで確保する。
【００９６】
また、非同期系メモリ用信号生成回路１５は、ＳＤＲＡＭ１８から出力されているデータＤを取り込むために、ＤＭＡ＿ＷＥをＴ３ステートからＴ４ステートにかけてロウアクティブにし、データを取り込むことができる。Ｔ５ステートからＴ１０ステートまでは上記動作の繰り返しである。
【００９７】
上述したように、この実施の形態においても、ウェイト信号ＷＡＩＴでメモリコントローラにウェイトかけることによって、第１および第２の実施形態と同様な効果、すなわち、４ワードの転送がＴ１ステートからＴ１０ステートまでの１０ＣＬＫで実現でき、１回の転送を２／３に短縮できる。
【００９８】
また、ＣＰＵからＳＤＲＡＭ１８へのアクセスは従来通り高速で行えるので、対ＣＰＵの転送レートを落とすことも無い。また、ウェイト設定レジスタ１１およびＤＭＡ転送用ウェイト設定レジスタ１２のいずれのウエイト設定用レジスタも設けていないのでレジスタが削減出来、回路規模削減が可能である。
【００９９】
次に第４の実施形態を説明する。
【０１００】
本発明の第４の実施形態の構成をブロック図で示した図６を参照すると、第１の実施形態との相違点は、メモリアクセス制御信号生成回路１４からＳＤＲＡＭ用信号生成回路１６が削除され、非同期系メモリ用信号生成回路１５のみであり、前述した実施形態では同期系の外部メモリとしてＳＤＲＡＭ１８を接続した例であったが、ここでは非同期系のＳＲＡＭ１９を備えていることである。
【０１０１】
また、ＳＤＲＡＭ用信号生成回路１６が削除されたことにより、非同期系メモリ用信号生成回路１５からＳＲＡＭ１９へ供給する信号も、データＤ以外は同期クロックＣＬＫ、アドレス信号ＡＤＲ、チップセレクト信号ＣＳ、リード信号ＲＤおよびライトストローブ信号ＤＭＡ＿ＷＥのみとなる。
【０１０２】
この第４の実施の形態は、ＳＲＡＭ１９からＩ／Ｏへの転送タイミング例であり、転送対象がＳＤＲＡＭでなくとも、ＤＭＡ転送用ウエイト設定レジスタを設けることが有効であることを示している。
【０１０３】
この第４の実施形態の動作説明用のタイミングチャートであって、シングルアドレスＤＭＡ転送のタイミングを示した図７を参照すると、ＳＲＡＭ対Ｉ／Ｏの転送について示したものであり、ＤＭＡ転送用ウエイト設定レジスタのデータウェイト数に例えば１が設定されている場合である。
【０１０４】
ＳＲＡＭ１９には、Ｔ１ステートおよびＴ３ステート期間はアドレスＡＤＲはＡＤｍが与えられ、チップセレクト信号ＣＳがＴ１ステートからＴ１２ステートまでの期間ロウレベルアクティブで与えられている。
【０１０５】
リード信号ＲＤはＴ１期間でロウレベルとなり、Ｔ４ステートでハイレベルが与えられている。
【０１０６】
Ｉ／Ｏデバイス１７にはライトストローブ信号ＤＭＡ＿ＷＥがＴ１およびＴ３ステート間でロウレベル、Ｔ３およびＴ４ステート間でハイレベルが与えられている。
【０１０７】
この実施例の場合、転送クロック数は１２クロックになることがわかる。もしデータウエイト数に０が設定されていれば８クロックで転送可能である。
【０１０８】
まず、メモリコントローラは、ＤＭＡ転送要求ＤＭＡ＿ＲＥＱを受け付けると、Ｔ１ステートでＳＲＡＭ１９にリードコマンドを発行する。ここで、ＤＭＡ転送用ウエイト設定レジスタ１２にはウエイト数１が設定されているので、このウェイトにより、通常はＴ１ステートからＴ２ステートのみに出力されるデータＤが、１ＣＬＫ分延長され、低速デバイスの書き込み時間をＴ３ステートまで確保する。その他の信号ＡＤＲ，ＣＳ，ＲＤもそれぞれ１ＣＬＫ分延長される。
【０１０９】
非同期系メモリ用信号生成回路１５は、ＳＲＡＭ１９から出力されているデータＤを取り込むために、ＤＭＡ＿ＷＥをＴ１ステートからＴ３ステートにかけてロウアクティブにし、データを取り込む。
【０１１０】
したがって、ＳＲＡＭ１９から出力されるデータにウエイトをかけることができる。
【０１１１】
上述したように、ＤＭＡ転送用ウエイト設定レジスタ１２にウエイト数を設定することにより、通常はＴ１およびＴ２ステート間に出力されるデータＤが、１ＣＬＫ分延長され、低速デバイスの書き込み時間をＴ３ステート期間の終了まで確保される。Ｔ３ステートからＴ１２ステートまでは上述した動作の繰り返しである。
【０１１２】
本実施の形態では、転送対象がＩ／Ｏデバイス１７およびＳＲＡＭ１９であるが、高速なメモリと低速なＩ／Ｏデバイスという意味では、図６に示す実施形態のようなＳＲＡＭ１９とＩ／Ｏデバイス１７においても本発明により、ＣＰＵアクセスは高速でアクセスし、シングルアドレスＤＭＡ転送はＩ／Ｏデバイス１７のスペックに合わせた転送ができる。
【０１１３】
また、上述した第１、第２および第３の実施の形態のいづれのウエイト挿入手法を用いてもよい。
【０１１４】
上述したように、この実施の形態においては、ＤＭＡ転送用ウエイト設定レジスタ１２にウエイト数を設定することにより、第１、第２および第３の実施形態と同様な効果、すなわち、ウェイト数が１の時４ワードの転送がＴ１ステートからＴ１２ステートまでの１２ＣＬＫで実現でき、１回の転送を４／５に短縮できる。
【０１１５】
また、ＣＰＵからＳＲＡＭ１９へのアクセスは従来通り高速で行えるので、対ＣＰＵの転送レートを落とすことも無い。また、同期系メモリ用信号生成回路を設けていないのでその分回路規模削減が可能である。
【０１１６】
【発明の効果】
上述したように、本発明のメモリコントローラは、高速アクセスが可能なＣＰＵから外部メモリをアクセスするときに、ＣＰＵの動作速度に応じた最小ウエイト数でアクセスしてデータの転送レートを確保する高速データ転送手段と、ＣＰＵを介さずに動作速度の速い外部メモリから動作速度の遅い外部メモリへデータ転送を行うシングルアドレスＤＭＡ転送では、動作速度の遅い外部メモリのデータアクセス時間に応じたウエイト数を、動作速度の速い外部メモリの動作サイクルに挿入してデータの転送レートを確保する低速データ転送手段とを併せて備えるので、従来例の場合、転送先のＩ／Ｏデバイスが低速で１ＣＬＫピッチでのシングルアドレス転送が実現出来なかった場合、デュアルアドレス転送を行うしかなく、例えば、Ｉ／Ｏデバイスのライトに２ＣＬＫ必要であった場合、ＳＤＲＡＭからの４ワードの転送に１５ＣＬＫ必要であった。
【０１１７】
しかし本発明によれば、４ワードの転送が１０ＣＬＫで実現でき、１回の転送を２／３に短縮できる。また、ＣＰＵからのＳＤＲＡＭアクセスは従来通り高速で行えるので対ＣＰＵの転送レートを落とすことも無い。
【図面の簡単な説明】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態の動作説明用タイミングチャートである。
【図３】本発明の第２の実施形態のブロック図である。
【図４】本発明の第３の実施形態のブロック図である。
【図５】本発明の第３の実施形態の動作説明用タイミングチャートである。
【図６】本発明の第４の実施形態のブロック図である。
【図７】本発明の第４の実施形態の動作説明用タイミングチャートである。
【図８】従来のウェイト制御回路の一例を示すブロック図である。
【符号の説明】
１１    ウェイト設定レジスタ
１２    ＤＭＡ転送用ウェイト設定レジスタ
１３    セレクタ
１４    メモリアクセス制御信号生成回路
１５    非同期系メモリ用信号生成回路
１６    ＳＤＲＡＭ用信号生成回路
１７    Ｉ／Ｏデバイス
１８    ＳＤＲＡＭ
１９    ＳＲＡＭ
ＡＤＲ    アドレス
ＣＡＳ    カラムアドレスストローブ信号
ＣＫＥ    クロックイネーブル信号
ＣＬＫ    動作クロック
Ｄ    データバス
ＤＭＡ＿ＲＥＱ    シングルアドレスＤＭＡ転送要求
ＤＭＡ＿ＷＥ    ライトストローブ信号
ＤＱＭ    データマスク信号
Ｍ＿ＲＥＱ    メモリアクセス要求
ＲＡＳ    ロウアドレスストローブ信号
ＷＥ    ライトイネーブル信号
【図１】
0003563340.tif 000002
【図２】
0003563340.tif 000003
【図３】
0003563340.tif 000004
【図４】
0003563340.tif 000005
【図５】
0003563340.tif 000006
【図６】
0003563340.tif 000007
【図７】
0003563340.tif 000008
【図８】
0003563340.tif 000009