トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 メモリコントローラ
【発明者】 【氏名】吉永 稔

【要約】 【課題】CPUアクセスにおける高速転送レートを確保し、かつ転送対象の低速メモリのスペックに合わせたシングルアドレスモードDMA転送を実現する。

【解決手段】外部メモリにアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ11と、外部メモリのうち高速動作用のメモリから低速動作用のメモリへのシングルアドレスDMA転送時のウェイト数があらかじめCPUから設定されるDMA転送用ウェイト設定レジスタ12と、シングルアドレスDMA転送要求DMA_REQおよびメモリアクセス要求M_REQによりウェイト設定レジスタ11およびDMA転送用ウェイト設定レジスタ12のいずれか一方の有するウェイト数を選択的に出力するセレクタ13と、セレクタ13で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生回路14とを備えて構成する。
【特許請求の範囲】
【請求項1】 高速アクセスが可能なCPUから外部メモリをアクセスするときには前記CPUの動作速度に応じた最小ウエイト数でアクセスしてデータの転送レートを確保する高速データ転送手段と、前記CPUを介さずに動作速度の速い外部メモリから動作速度の遅い外部メモリへデータ転送を行うシングルアドレスDMA転送時には動作速度の遅い外部メモリのデータアクセス時間に応じたウエイト数を、前記動作速度の速い外部メモリの動作サイクルに挿入してデータの転送レートを確保する低速データ転送手段とを併せて備えることを特徴とするメモリコントローラ。
【請求項2】 DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるI/Oデバイスと高速動作用の同期系メモリとに対応するメモリコントローラウエイト制御手段として、前記同期系および前記非同期系の外部メモリにアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ手段と、前記外部メモリのうち高速動作用のメモリから低速動作用のメモリへのシングルアドレスDMA転送時のウェイト数があらかじめ前記CPUから設定されるDMA転送用ウェイト設定レジスタと、シングルアドレスDMA転送要求およびメモリアクセス要求により前記ウェイト設定レジスタおよび前記DMA転送用ウェイト設定レジスタのいずれか一方の有するウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト選択手段で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段とを備えて構成することを特徴とするメモリコントローラ。
【請求項3】 前記メモリアクセス制御信号発生手段は、前記高速動作用の同期系メモリをアクセスするアドレス信号とクロックイネーブル信号とを含むあらかじめ定めた所定の制御信号出力手段と前記低速動作用の非同期系メモリをアクセスするアドレス信号とライトストローブ信号とリード信号とを含むあらかじめ定めた所定の制御信号出力手段との他に、前記非同期系メモリ用制御信号生成手段と前記I/Oデバイスと前記同期系メモリ用制御信号生成手段と前記同期系メモリとを共通接続する双方向のデータバス手段をさらに備えて構成する請求項2記載のメモリコントローラ。
【請求項4】 DMA転送対象の前記同期系メモリがシンクロナス・ダイナミック・ランダムアクセス・メモリ(SDRAM)である場合に、前記SDRAMに対する前記クロックイネーブル信号を非活性レベルにして、前記I/Oデバイスの転送速度に合わせた前記SDRAMアクセスを実行する請求項2記載のメモリコントローラ。
【請求項5】 前記メモリアクセス制御信号生成手段は、前記同期系メモリおよび前記I/Oデバイスにアクセスして双方向のDMA転送を実行する場合に、複数のウェイト設定レジスタ手段から選択されたウエイト数によりメモリアクセスサイクルを発生してDMA転送制御をする請求項2記載のメモリコントローラ。
【請求項6】 前記シングルアドレスDMA転送時は、前記DMA転送用ウエイト設定レジスタのウエイト数を前記DMA転送要求に基づき選択してシングルアドレスDMA転送サイクルを発生させる請求項2記載のメモリコントローラ。
【請求項7】 前記シングルアドレスDMA転送時に、DMA転送対象の前記同期系メモリおよび前記I/Oデバイスのうち動作速度の遅い方に合わせたメモリアクセスを実行する請求項2記載のメモリコントローラ。
【請求項8】 前記非同期系メモリ用信号生成手段は、DMAシングルアドレス転送用のライトストローブ信号を生成し、このライトストローブ信号により前記同期系メモリのリードサイクル中にシングルアドレスDMA転送を行う請求項2記載のメモリコントローラ。
【請求項9】 DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるI/Oデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、前記同期系および前記I/Oデバイスにアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ手段と、シングルアドレスDMA転送要求およびメモリアクセス要求により前記ウェイト設定レジスタのウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段とを備えて構成することを特徴とするメモリコントローラ。
【請求項10】 前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記I/Oデバイスをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号供給手段を有し、前記非同期系メモリのアクセス時には、CPUからのアドレスアクセスまたは前記ライトストローブ信号によるアクセスのいずれかを実行する請求項9記載のメモリコントローラ。
【請求項11】 前記同期系メモリは、前記ウェイト設定レジスタ手段を介さず直接CPUからノーウェイトでアクセスする請求項10記載のメモリコントローラ。
【請求項12】 前記同期系メモリと前記非同期系メモリを含め周辺デバイスからなるI/Oデバイスとの間におけるDMA転送時は、前記ウェイト設定レジスタ手段のウェイト数に基づきシングルアドレスDMA転送サイクルを発生させる請求項10記載のメモリコントローラ。
【請求項13】 DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスからなるI/Oデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、所定のウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段を備え、前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記非同期系メモリをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号の供給手段を有するとともに、前記同期系メモリ用信号生成手段が前記I/Oデバイスからウェイト信号を与えられ、かつ同期系メモリをアクセスするアドレス信号およびクロックイネーブル信号を含むあらかじめ定める制御信号出力手段とを有し、前記ウェイト信号に応じて活性、非活性が制御される前記クロックイネーブル信号に基づくウェイトが挿入されたシングルアドレスDMA転送のメモリサイクルを発生することを特徴とするメモリコントローラ。
【請求項14】 前記メモリアクセス制御信号発生手段が前記非同期系メモリ用信号生成手段のみで構成され、前記同期系メモリに代えてスタティック・ランダムアクセス・メモリ(SRAM)が接続される時、シングルアドレスDMA転送は前記I/Oデバイスの転送規格に合わせたウェイト数が挿入されたメモリサイクルを発生し、CPUからのアクセスは前記転送規格に合わせたウェイト数よりも少ないウェイト数でアクセスされる請求項2、9または13記載のメモリコントローラ。
【請求項15】 前記ウェイト数は、前記非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段の組み合わせ、前記非同期系メモリ用信号生成手段単独または前記非同期メモリが接続されたI/Oデバイスからのウェイト信号単独のいずれかに基づき挿入される請求項14記載のメモリコントローラ。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明はメモリコントローラに係わり、特に外部メモリに非同期系メモリおよび同期系メモリがそれぞれ接続される場合のシングルアドレスDMA転送を最小ウェイト数でメモリアクセスサイクルを発生するメモリコントローラに関する。
【0002】
【従来の技術】近年、半導体素子の微細化技術の進展に伴い、その半導体素子で構成するLSIも大規模化しており、特に半導体メモリの分野ではその傾向が顕著である。
【0003】例えば、1チップに256メガビットの容量を有する半導体メモリとしてダイナミック型ランダムアクセスメモリ(DRAM)やシンクロナス・ダイナミック・ランダムアクセス・メモリ(SDRAM)も実用化されている。
【0004】これらの半導体メモリを外部メモリとして接続するシングルチップ・マイクロコンピュータの動作速度の向上も著しく、接続される外部メモリは容量増加とともに動作速度の向上も期待が大きくなる所以である。
【0005】外部メモリを接続する場合、シングルチップ・マイクロコンピュータの中央演算処理部(以下、CPUと称す)を介さずに、メモリとI/O装置間でデータ転送を行うダイレクトメモリアクセス(以下、DMAと称す)が行われている。
【0006】シングルアドレスDMA転送は、外部メモリからI/Oデバイスにデータを転送するとき、メモリにリードストローブ信号を供給する一方、I/Oデバイスにはライトストローブ信号を供給することにより、データバス上にはメモリから読み出したリードデータが出力されてくる。このデータバス上に読み出されてきたデータをI/Oデバイスに書き込んでいる。
【0007】一方、I/Oデバイスから外部メモリにデータを転送するとき、メモリにリードストローブ信号を供給する一方、I/Oデバイスにはライトストローブ信号を供給することにより、データバス上にI/Oデバイスから読み出したリードデータを外部メモリに書き込む。
【0008】この種の従来のウェイト制御の一例が特開平4−241056号公報に記載されている。同公報記載のウェイト信号制御部は、CPUとDMAコントローラとの接続端子2A、ウェイト信号出力端子2B、ウェイト設定レジスタ21、デバイスデコーダ22、ウェイト信号発生部23とを備える。
【0009】ウェイト設定レジスタ21は、I/Oデバイスのアクセススピードに対応したウェイト数を予めCPUから設定される。
【0010】デバイスデコーダ22は、現在のDMA動作中のI/Oデバイスを検出してそのデバイスに対応したウェイト数をレジスタ21より導出する。
【0011】この導出されたウェイト数はウェイト信号発生部23へ入力され、このウェイト数に応じたウェイト信号が発生される。
【0012】このウェイト制御部は、予めプログラムにより各デバイスのDMA時に挿入すべきウェイト数を設定しておくので、アクセススピードに関係なく各デバイスに適切なウェイト数が設定でき、DMAレートを悪化させないというものである。
【0013】この種のシングルアドレスDMA転送を制御するメモリコントローラに対し本発明では後述するように、特に高速アクセスが可能なCPUなどからのアクセスについては最小ウエイト数でアクセスすることでデータの転送レートを確保し、また高速なメモリから低速なメモリへのシングルアドレスDMA転送については、低速なメモリのデータアクセス時間に合わせたウエイト数を、高速メモリの動作サイクルに挿入したい場合の構成を開示するものである。
【0014】一般的に、SDRAMへのアクセスは、そのSDRAMの特性を生かすため、CPUからのアクセスはノーウエイトの高速アクセスを行うのが通常である。
【0015】したがって、通常、メモリコントローラはデータウエイト機能を持たないのであるが、シングルチップ・マイクロコンピュータの応用分野においては、SDRAMから低速なデバイスへのシングルアドレスDMA転送においても、転送先である低速デバイスへ最高速な転送が行えることが要求されている。
【0016】
【発明が解決しようとする課題】上述したように従来の一般的なシングルチップ・マイクロコンピュータに搭載されているメモリコントローラでは、DMA転送に特化したウエイトのコントロールが行われていなかった。その欠点を改善する一例として前述した特開平4−241056号公報の例があるが、いずれもSDRAMアクセスに関しては、データウエイトを行うことも考慮されていなかった。すなわち、通常であれば例えば1クロック期間のみ出力されるデータを、2〜数クロック期間まで出力するようにデータ出力期間延ばすことで、I/Oデバイスへの書込誤動作を避けるためのデータウエイトを行っていないのである。
【0017】そのため、DMA転送対象の一方がSDRAMであった場合、転送先の低速デバイスのスペックを満足することが出来ず、シングルアドレスモードDMA転送は実現できない場合が多かった。
【0018】つまり、一般的なマイクロコンピュータにおいてはSDRAMアクセス時にデータウエイトを行うことが考慮されていないため、SDRAMへのアクセスは常時1CLKピッチで行われている。すなわち、データ出力期間はリード/ライト共1CLK分しか出力されていない。
【0019】そのため、例えばバス動作周波数が100MHzの製品でSDRAMのデータ出力遅延値が5nsであった場合、I/Oデバイスへのライトストローブ信号の有効期間にデータが準備できないことになり転送ができない。
【0020】つまり、1CLKピッチの場合、I/Oデバイスへのライトストローブ信号は半クロックでトグルさせることになるからである。
【0021】また、I/Oデバイスへの書き込みをSDRAMへ供給されているクロックの立ち上がり同期で行うシステムを想定した場合でも、SDRAMのデータ出力遅延が5nsであったとすると、I/Oデバイス書き込みのデータセットアップ時間は5ns以内でなければならず、低速I/Oデバイスでこの5nsのセットアップ時間を実現することは難しく、結局、SDRAM対I/Oのシングルアドレス転送は出来ないということになる。
【0022】本発明の目的は、上述した従来の欠点に鑑みなされたものであり、CPUアクセスにおける転送レートを落とすことなく、転送対象の低速なメモリのスペックに合わせたシングルアドレスモードDMA転送を実現することにある。
【0023】
【課題を解決するための手段】本発明のメモリコントローラの特徴は、高速アクセスが可能なCPUから外部メモリをアクセスするときには前記CPUの動作速度に応じた最小ウエイト数でアクセスしてデータの転送レートを確保する高速データ転送手段と、前記CPUを介さずに動作速度の速い外部メモリから動作速度の遅い外部メモリへデータ転送を行うシングルアドレスDMA転送時には動作速度の遅い外部メモリのデータアクセス時間に応じたウエイト数を、前記動作速度の速い外部メモリの動作サイクルに挿入してデータの転送レートを確保する低速データ転送手段とを併せて備えることにある。
【0024】本発明のメモリコントローラの他の特徴は、DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるI/Oデバイスと高速動作用の同期系メモリとに対応するメモリコントローラウエイト制御手段として、前記同期系および前記非同期系の外部メモリにアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ手段と、前記外部メモリのうち高速動作用のメモリから低速動作用のメモリへのシングルアドレスDMA転送時のウェイト数があらかじめ前記CPUから設定されるDMA転送用ウェイト設定レジスタと、シングルアドレスDMA転送要求およびメモリアクセス要求により前記ウェイト設定レジスタおよび前記DMA転送用ウェイト設定レジスタのいずれか一方の有するウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト選択手段で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段することにある。
【0025】また、 前記メモリアクセス制御信号発生手段は、前記高速動作用の同期系メモリをアクセスするアドレス信号とクロックイネーブル信号とを含むあらかじめ定めた所定の制御信号出力手段と前記低速動作用の非同期系メモリをアクセスするアドレス信号とライトストローブ信号とリード信号とを含むあらかじめ定めた所定の制御信号出力手段との他に、前記非同期系メモリ用制御信号生成手段と前記I/Oデバイスと前記同期系メモリ用制御信号生成手段と前記同期系メモリとを共通接続する双方向のデータバス手段をさらに備えて構成することができる。
【0026】さらに、DMA転送対象の前記同期系メモリがシンクロナス・ダイナミック・ランダムアクセス・メモリ(SDRAM)である場合に、前記SDRAMに対する前記クロックイネーブル信号を非活性レベルにして、前記I/Oデバイスの転送速度に合わせた前記SDRAMアクセスを実行することもできる。
【0027】さらにまた、前記メモリアクセス制御信号生成手段は、前記同期系メモリおよび前記I/Oデバイスにアクセスして双方向のDMA転送を実行する場合に、複数のウェイト設定レジスタ手段から選択されたウエイト数によりメモリアクセスサイクルを発生してDMA転送制御をすることもできる。
【0028】また、前記シングルアドレスDMA転送時は、前記DMA転送用ウエイト設定レジスタのウエイト数を前記DMA転送要求に基づき選択してシングルアドレスDMA転送サイクルを発生させることもできる。
【0029】さらに、前記シングルアドレスDMA転送時に、DMA転送対象の前記同期系メモリおよび前記I/Oデバイスのうち動作速度の遅い方に合わせたメモリアクセスを実行することもできる。
【0030】さらにまた、前記非同期系メモリ用信号生成手段は、DMAシングルアドレス転送用のライトストローブ信号を生成し、このライトストローブ信号により前記同期系メモリのリードサイクル中にシングルアドレスDMA転送を行うこともできる。
【0031】本発明のメモリコントローラのさらに他の特徴は、DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスが接続されるI/Oデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、前記同期系および前記I/Oデバイスにアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ手段と、シングルアドレスDMA転送要求およびメモリアクセス要求により前記ウェイト設定レジスタのウェイト数を選択的に出力するウェイト選択手段と、前記ウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段とを備えて構成することにある。
【0032】また、前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記I/Oデバイスをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号供給手段を有し、前記非同期系メモリのアクセス時には、CPUからのアドレスアクセスまたは前記ライトストローブ信号によるアクセスのいずれかを実行することができる。
【0033】さらに、前記同期系メモリは、前記ウェイト設定レジスタ手段を介さず直接CPUからノーウェイトでアクセスすることもできる。
【0034】さらにまた、前記同期系メモリと前記非同期系メモリを含め周辺デバイスからなるI/Oデバイスとの間におけるDMA転送時は、前記ウェイト設定レジスタ手段のウェイト数に基づきシングルアドレスDMA転送サイクルを発生させることもできる。
【0035】本発明のメモリコントローラの他の特徴は、DMA転送対象となる、低速動作用の非同期系メモリを含め周辺デバイスからなるI/Oデバイスと高速動作用の同期系メモリとに対するメモリコントローラウエイト制御手段として、所定のウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生手段を備え、前記メモリアクセス制御信号発生手段は、非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段から構成され、前記非同期系メモリ用信号生成手段が、前記非同期系メモリをアクセスするアドレス信号およびライトストローブ信号を含むあらかじめ定めた所定の制御信号の供給手段を有するとともに、前記同期系メモリ用信号生成手段が前記I/Oデバイスからウェイト信号を与えられ、かつ同期系メモリをアクセスするアドレス信号およびクロックイネーブル信号を含むあらかじめ定める制御信号出力手段とを有し、前記ウェイト信号に応じて活性、非活性が制御される前記クロックイネーブル信号に基づくウェイトが挿入されたシングルアドレスDMA転送のメモリサイクルを発生することにある。
【0036】また、前記メモリアクセス制御信号発生手段が前記非同期系メモリ用信号生成手段のみで構成され、前記同期系メモリに代えてスタティック・ランダムアクセス・メモリ(SRAM)が接続される時、シングルアドレスDMA転送は前記I/Oデバイスの転送規格に合わせたウェイト数が挿入されたメモリサイクルを発生し、CPUからのアクセスは前記転送規格に合わせたウェイト数よりも少ないウェイト数でアクセスされる。
【0037】さらに、前記ウェイト数は、前記非同期系メモリ用信号生成手段および同期系メモリ用信号生成手段の組み合わせ、前記非同期系メモリ用信号生成手段単独または前記非同期メモリが接続されたI/Oデバイスからのウェイト信号単独のいずれかに基づき挿入される。
【0038】
【発明の実施の形態】まず、本発明の概要を述べると、図1に示すように本発明によるメモリコントローラは、高速アクセスが可能なCPU(図示せず)などからのアクセスについては最小ウエイト数でアクセスすることでデータの転送レートを確保する。また、高速なメモリから低速なメモリへのシングルアドレスDMA転送では、低速なメモリのデータアクセス時間に合わせたウエイト数を、高速メモリの動作サイクルに挿入してデータの転送レートを確保する技術を開示するものである。
【0039】次に、本発明によるメモリコントローラの第1の実施形態のブロック図を示した図1を参照すると、メモリコントローラは、ウェイト設定レジスタ11,DMA転送用ウェイト設定レジスタ12,セレクタ13,メモリアクセス制御信号生成回路14,非同期系メモリ用信号生成回路15,SDRAM用信号生成回路16,I/Oデバイス(低速動作用の非同期系メモリ、I/O)17およびSDRAM(高速動作用の同期系メモリ)18を備える。
【0040】すなわち、DMA転送対象となる、低速動作用の非同期系メモリ等が接続されるI/Oデバイス17と高速動作用の同期系メモリSDRAM18とに対するメモリコントローラウエイト制御手段として、外部メモリのI/Oデバイス17,SDRAM18にアクセスするときのウェイト数があらかじめCPUから設定されるウェイト設定レジスタ11と、I/Oデバイス17,SDRAM18のうち高速動作用のSDRAM18から低速動作用のI/Oデバイス17へのシングルアドレスDMA転送時のウェイト数が、あらかじめCPUから設定されるDMA転送用ウェイト設定レジスタ12とを有する。
【0041】また、シングルアドレスDMA転送要求DMA_ERQおよびメモリアクセス要求M_REQによりウェイト設定レジスタ11およびDMA転送用ウェイト設定レジスタ12のいずれか一方の有するウェイト数を選択的に出力するセレクタ(ウェイト選択手段)13も有する。
【0042】さらに、セレクタ13で選択されたウェイト数を挿入したメモリアクセスサイクルを生成して出力するメモリアクセス制御信号発生回路(メモリアクセス制御信号発生手段)14も有して構成される。
【0043】CPUアクセス用のウエイト設定レジスタ11とDMA転送用ウエイト設定レジスタ12とはプログラマブルなレジスタである。
【0044】セレクタ13は、2つの入力信号、すなわちメモリアクセス要求信号M_REQおよびDMA転送要求DMA_REQにより、上述した2つのウエイト設定レジスタ11,12のうち、どちらの設定値を採用するかを選択する。
【0045】メモリアクセス制御信号生成回路14は、セレクタ13により選択されたウエイト数を挿入したメモリアクセスサイクルを発生させる。
【0046】また、この例では、メモリアクセス制御信号生成回路14の内部に、非同期系メモリ(SRAM、I/O等)のアクセス信号を生成する非同期系メモリ用信号生成回路15を備える。
【0047】また、非同期系メモリ用信号生成回路15は、DMAシングル転送用のライトストローブ信号DMA_WEをI/Oデバイスに出力する出力手段も備えており、SDRAMのリードサイクル中にこのライトストローブ信号DMA_WEを活性化させることにより、シングルアドレスDMA転送を行うことが出来る。
【0048】その他の信号としてアドレスADR、チップセレクト信号CS、リード信号RDおよびライト信号WRをI/Oデバイス側に供給する。
【0049】さらに、メモリアクセス制御信号生成回路14の内部にSDRAMアクセス信号を生成するSDRAM用信号生成回路16も備えている。
【0050】SDRAM用信号生成回路16は、SDRAM18に対し、ADR、CLK、RAS、CAS、WE、CKEおよびDQMのクロックおよび制御信号を出力する。
【0051】ここで、信号CLKはSDRAM18の動作クロックであり、アドレスADRはSDRAM18に対するアドレス、信号RASはSDRAM18に対するロウアドレスストローブ信号である。
【0052】信号CASはSDRAM18に対するカラムアドレスストローブ信号であり、信号WEはSDRAM18に対するライトイネーブル信号であり、信号CKEはSDRAM18に対するクロックイネーブルである。
【0053】信号DQMはSDRAM18に対するデータマスク信号であり、信号DMA_WEはI/Oデバイス17に対するライトストローブ信号である。
【0054】また、非同期系メモリ用信号生成回路15とI/OデバイスとSDRAM用信号生成回路16とI/Oデバイスとの間を共通接続する双方向のデータバスDを設けてある。
【0055】以下、本実施の形態の動作を図1およびその動作説明用のタイミングチャートであって、SDRAMからI/OデバイスへのシングルアドレスDMA転送のタイミングを示す図2を参照しながら動作を説明する。
【0056】まず図2において、SDRAM18へのアクセスは、CASレーテンシが2、バースト長は4、バンク/ページはヒットした状態でアクセスはスタートしたものとする。また、DMA転送用ウエイト設定レジスタ12にはウエイト数1が設定されているものとする。
【0057】ここでいうレーテンシとは、メモリセルのデータの読み出し指示を行ってからデータが読み出されて外部へ出力されるまでの時間を示すものである。したがって、CAS信号を有効化してから実際にデータが出力されるまでのレーテンシをCASレーテンシとしている。
【0058】例えば、ロウアドレスを指定し、RAS信号を有効化し、与えられたロウアドレスに対応するワード線を活性化する。カラムアドレスを指定し、CAS信号を有効化して、与えられたカラムアドレスに対応するディジット線を選択することにより、所望のメモリセルが選択される。
【0059】また、バースト長とは、リードサイクルまたはライトサイクルで出力または入力されるワード数である。
【0060】T1ステートにSDRAM18には、アドレスADRはADmが与えられ、CAS信号がT1ステート期間だけロウレベルでアクティブにされ、RAS信号はハイレベルが与えられ、データマスク信号DQMはロウレベル、I/Oデバイス17にはライトストローブ信号DMA_WEがハイレベルでそれぞれ与えられている状態である。
【0061】まず、メモリコントローラは、DMA転送要求DMA_REQを受け付けると、T1ステートでSDRAM18にリードコマンドを発行する。
【0062】ここで、DMA転送用ウエイト設定レジスタ12にはウエイト数1が設定されているので、本発明に従って、SDRAM18から出力されるデータにウエイトをかけるためT2ステートでクロックイネーブル信号CKEをディセーブルにする。
【0063】このディセーブルにより、通常はT3ステートのみに出力されるデータDが、1CLK分延長され、低速デバイスの書き込み時間をT4ステートまで確保する。
【0064】また、非同期系メモリ用信号生成回路15は、SDRAM18から出力されているデータDを取り込むために、DMA_WEをT3ステートからT4ステートにかけてロウアクティブにし、データを取り込む。
【0065】T5ステートからT10ステートまでは上述した動作の繰り返しである。
【0066】従来のメモリコントローラの場合は、転送先のI/Oデバイスが低速で1CLKピッチでのシングルアドレス転送が実現出来なかった場合、DMA転送をデュアルアドレス転送で行わざるを得なかった。
【0067】例えば、I/Oデバイスのライトに2CLK必要であった場合、SDRAMからの4ワードの転送に15CLK必要であった。しかし、本発明の構成を用いれば、4ワードの転送がT1ステートからT10ステートまでの10CLKで実現でき、1回の転送を2/3に短縮できる。
【0068】また、CPUからSDRAM18へのアクセスは従来通り高速で行えるので、対CPUの転送レートを落とすことも無い。
【0069】次に第2の実施形態を説明する。
【0070】第2の実施形態では、その基本的構成は上述した第1の実施形態と同様であるが、ウエイト設定レジスタ11の構成についてさらに工夫している。
【0071】その構成のブロック図を示した図3を参照すると、第1の実施形態との相違点は、DMA転送用ウェイト設定レジスタ12が削除され、CPUからのウェイト設定が行われるウェイト設定レジスタ11のみが有効である。
【0072】非同期系メモリ用信号生成回路15からI/Oデバイス17に対し、アドレスADR、チップセレクト信号CS、リード信号RD、ライト信号WR、ライトストローブ信号DMA_WE、データバスDは実施形態1と同様に与えられている。
【0073】また、SDRAM用信号生成回路16およびSDRAM18間の信号も第1の実施形態と同様である。
【0074】つまり、I/Oデバイス17はCPUからアドレスアクセスも出来る構成になっていて、さらに、ライトストローブ信号DMA_WEによるアクセスもできることが特徴である。
【0075】CPUからI/Oデバイスに対するアドレスアクセスを行う場合にはウエイト設定レジスタ11のウエイト数を採用し、そのウエイト数にしたっがて非同期系メモリ用信号生成回路15はメモリサイクルを発生させる。
【0076】また、CPUからSDRAM18に対するアドレスサイクルについては高速アクセスできるのでノーウエイトでアクセスし、ウエイト設定用レジスタを設けていない。
【0077】一方、SDRAM18およびI/Oデバイス間のシングルアドレスDMA転送時は、I/Oデバイス17のスペックに対応したウエイト数が設定されたウエイト設定レジスタ11があるので、このレジスタの設定値を採用しシングルアドレスDMA転送サイクルを発生させる。
【0078】上述したように、本実施の形態では、DMA転送用のウエイト設定レジスタ12を設けることなく、I/Oデバイスとして接続された非同期系の低速メモリ、I/Oのスペックを満たすDMA転送を行うことが出来るので、第1の実施形態よりもさらに回路規模を押さえることができる。
【0079】次に第3の実施の形態を説明する。
【0080】上述した第1および第2の実施形態では、シングルアドレスDMA転送におけるウエイト挿入をウェイト設定レジスタ11およびDMA転送用ウェイト設定レジスタ12、またはウェイト設定レジスタ11において行っている。
【0081】しかし、図4に示す第3の実施形態のブロック図を参照すると、上述した第1の実施形態との相違点は、ウェイト設定レジスタ11およびDMA転送用ウェイト設定レジスタ12のいずれのウエイト設定用レジスタも設けていないことがことが相違する。
【0082】一方、第2の実施形態との相違点は、ウェイト設定レジスタ11も削除されていることである。さらに第1および第2の実施形態との共通する相違点は、I/Oデバイス17からSDRA用信号生成回路16にウェイト信号WAITを与えることによって、メモリコントローラにウエイトをかけていることである。
【0083】まず、I/OデバイスにはCLK信号とCKE信号を入力させる。I/OデバイスはCKE信号のアクティブ中はWAIT信号を常にアクティブにする論理にしておく。
【0084】SDRAM用信号生成回路6はDMA転送要求とWAIT信号とCAS信号の反転信号のANDで1回目のCKE信号をディセーブルレベルにする。
【0085】CKE信号がディセーブルレベルになった時点で、I/Oデバイスはウエイトしたいクロック数をカウントし、WAIT信号をディセーブルレベルにする。
【0086】WAIT信号がディセーブルレベルになるので、SDRAM用信号生成回路6はCKE信号をアクティブにする。
【0087】CKE信号のアクティブを受けて、I/Oデバイスは再びWAIT信号をアクティブにする。
【0088】SDRAM用信号生成回路6は、DMA転送要求とWAIT信号のANDでCKEをディセーブルにする。
【0089】DMA転送要求が出続けている間、以上の繰り返しである。
【0090】この実施の形態を用いた場合のシングルアドレスDMA転送のタイミングチャートを示した図5を参照すると、この実施の形態でも、T1ステートにSDRAM18には、アドレスADRはADmが与えられ、CAS信号がT1ステート期間だけロウレベルにアクティブにされる。
【0091】RAS信号はハイレベルが与えられ、ライトイネーブル信号WEはハイレベル、クロックイネーブル信号CKEはハイレベル、データマスク信号DQMはロウレベルが与えられる。
【0092】I/Oデバイス17にはライトストローブ信号DMA_WEがハイレベル、I/Oデバイス17からSDRAM用信号生成回路16にウェイト信号WAITがハイレベルに立ち上がる状態でそれぞれ与えられている。
【0093】まず、メモリコントローラは、DMA転送要求DMA_REQを受け付けると、T1ステートでSDRAM18にリードコマンドを発行する。ここで、ウエイト信号WAITがT1ステートおよびT2ステート間の1クロック期間ハイレベルのアクティブになるので、そのWAIT信号のアクティブに応答してSDRAM用信号生成回路16ではクロックイネーブル信号CKEをT2ステートでロウレベルのディセーブルにする。
【0094】したがって、SDRAM18から出力されるデータにウエイトをかけることができる。
【0095】上述したように、クロックイネーブル信号CKEをディセーブルにすることにより、通常はT3ステートのみに出力されるデータDが、1CLK分延長され、低速デバイスの書き込み時間をT4ステートまで確保する。
【0096】また、非同期系メモリ用信号生成回路15は、SDRAM18から出力されているデータDを取り込むために、DMA_WEをT3ステートからT4ステートにかけてロウアクティブにし、データを取り込むことができる。T5ステートからT10ステートまでは上記動作の繰り返しである。
【0097】上述したように、この実施の形態においても、ウェイト信号WAITでメモリコントローラにウェイトかけることによって、第1および第2の実施形態と同様な効果、すなわち、4ワードの転送がT1ステートからT10ステートまでの10CLKで実現でき、1回の転送を2/3に短縮できる。
【0098】また、CPUからSDRAM18へのアクセスは従来通り高速で行えるので、対CPUの転送レートを落とすことも無い。また、ウェイト設定レジスタ11およびDMA転送用ウェイト設定レジスタ12のいずれのウエイト設定用レジスタも設けていないのでレジスタが削減出来、回路規模削減が可能である。
【0099】次に第4の実施形態を説明する。
【0100】本発明の第4の実施形態の構成をブロック図で示した図6を参照すると、第1の実施形態との相違点は、メモリアクセス制御信号生成回路14からSDRAM用信号生成回路16が削除され、非同期系メモリ用信号生成回路15のみであり、前述した実施形態では同期系の外部メモリとしてSDRAM18を接続した例であったが、ここでは非同期系のSRAM19を備えていることである。
【0101】また、SDRAM用信号生成回路16が削除されたことにより、非同期系メモリ用信号生成回路15からSRAM19へ供給する信号も、データD以外は同期クロックCLK、アドレス信号ADR、チップセレクト信号CS、リード信号RDおよびライトストローブ信号DMA_WEのみとなる。
【0102】この第4の実施の形態は、SRAM19からI/Oへの転送タイミング例であり、転送対象がSDRAMでなくとも、DMA転送用ウエイト設定レジスタを設けることが有効であることを示している。
【0103】この第4の実施形態の動作説明用のタイミングチャートであって、シングルアドレスDMA転送のタイミングを示した図7を参照すると、SRAM対I/Oの転送について示したものであり、DMA転送用ウエイト設定レジスタのデータウェイト数に例えば1が設定されている場合である。
【0104】SRAM19には、T1ステートおよびT3ステート期間はアドレスADRはADmが与えられ、チップセレクト信号CSがT1ステートからT12ステートまでの期間ロウレベルアクティブで与えられている。
【0105】リード信号RDはT1期間でロウレベルとなり、T4ステートでハイレベルが与えられている。
【0106】I/Oデバイス17にはライトストローブ信号DMA_WEがT1およびT3ステート間でロウレベル、T3およびT4ステート間でハイレベルが与えられている。
【0107】この実施例の場合、転送クロック数は12クロックになることがわかる。もしデータウエイト数に0が設定されていれば8クロックで転送可能である。
【0108】まず、メモリコントローラは、DMA転送要求DMA_REQを受け付けると、T1ステートでSRAM19にリードコマンドを発行する。ここで、DMA転送用ウエイト設定レジスタ12にはウエイト数1が設定されているので、このウェイトにより、通常はT1ステートからT2ステートのみに出力されるデータDが、1CLK分延長され、低速デバイスの書き込み時間をT3ステートまで確保する。その他の信号ADR,CS,RDもそれぞれ1CLK分延長される。
【0109】非同期系メモリ用信号生成回路15は、SRAM19から出力されているデータDを取り込むために、DMA_WEをT1ステートからT3ステートにかけてロウアクティブにし、データを取り込む。
【0110】したがって、SRAM19から出力されるデータにウエイトをかけることができる。
【0111】上述したように、DMA転送用ウエイト設定レジスタ12にウエイト数を設定することにより、通常はT1およびT2ステート間に出力されるデータDが、1CLK分延長され、低速デバイスの書き込み時間をT3ステート期間の終了まで確保される。T3ステートからT12ステートまでは上述した動作の繰り返しである。
【0112】本実施の形態では、転送対象がI/Oデバイス17およびSRAM19であるが、高速なメモリと低速なI/Oデバイスという意味では、図6に示す実施形態のようなSRAM19とI/Oデバイス17においても本発明により、CPUアクセスは高速でアクセスし、シングルアドレスDMA転送はI/Oデバイス17のスペックに合わせた転送ができる。
【0113】また、上述した第1、第2および第3の実施の形態のいづれのウエイト挿入手法を用いてもよい。
【0114】上述したように、この実施の形態においては、DMA転送用ウエイト設定レジスタ12にウエイト数を設定することにより、第1、第2および第3の実施形態と同様な効果、すなわち、ウェイト数が1の時4ワードの転送がT1ステートからT12ステートまでの12CLKで実現でき、1回の転送を4/5に短縮できる。
【0115】また、CPUからSRAM19へのアクセスは従来通り高速で行えるので、対CPUの転送レートを落とすことも無い。また、同期系メモリ用信号生成回路を設けていないのでその分回路規模削減が可能である。
【0116】
【発明の効果】上述したように、本発明のメモリコントローラは、高速アクセスが可能なCPUから外部メモリをアクセスするときに、CPUの動作速度に応じた最小ウエイト数でアクセスしてデータの転送レートを確保する高速データ転送手段と、CPUを介さずに動作速度の速い外部メモリから動作速度の遅い外部メモリへデータ転送を行うシングルアドレスDMA転送では、動作速度の遅い外部メモリのデータアクセス時間に応じたウエイト数を、動作速度の速い外部メモリの動作サイクルに挿入してデータの転送レートを確保する低速データ転送手段とを併せて備えるので、従来例の場合、転送先のI/Oデバイスが低速で1CLKピッチでのシングルアドレス転送が実現出来なかった場合、デュアルアドレス転送を行うしかなく、例えば、I/Oデバイスのライトに2CLK必要であった場合、SDRAMからの4ワードの転送に15CLK必要であった。
【0117】しかし本発明によれば、4ワードの転送が10CLKで実現でき、1回の転送を2/3に短縮できる。また、CPUからのSDRAMアクセスは従来通り高速で行えるので対CPUの転送レートを落とすことも無い。
【出願人】 【識別番号】000232036
【氏名又は名称】エヌイーシーマイクロシステム株式会社
【出願日】 平成12年10月30日(2000.10.30)
【代理人】 【識別番号】100082935
【弁理士】
【氏名又は名称】京本 直樹 (外2名)
【公開番号】 特開2002−132711(P2002−132711A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−330155(P2000−330155)