(57)【特許請求の範囲】
【請求項１】
複数チャンネルからの別々のリクエストに基づいて複数種類のメモリへのアクセスを制御する多チャンネル型メモリ・コントローラにおいて、
各チャンネルに対して指示されるアドレス値を記憶する複数の記憶手段と、
前記複数の記憶手段から読み出される各チャンネル毎のアドレス値に対する加算値を指示するとともに、前記加算値と任意のアドレス値または前記読み出されたアドレス値を加算する加算手段と、
前記複数チャンネルからの指示アドレスまたは前記加算手段が出力するアドレス値を選択的に出力する選択手段と、
前記複数チャンネルからのリクエストに応じてアドレス発行許可信号を出力して、制御手段に前記複数種類のメモリへのアドレス発行を許可する許可手段と、
前記制御手段から前記複数チャンネルに返されるアクノリッジ信号を用いて前記選択手段から前記複数の記憶手段への書きこみを制御して、前記リクエストに従って前記複数の記憶手段のアドレス値を更新するアドレス更新手段と、を備え、
前記制御手段として、
前記複数種類のメモリに接続でき、前記許可手段からの前記アドレス発行許可信号を入力すると前記加算手段からの出力アドレス値を前記複数種類のメモリに発行して異なるタイミングを制御するとともに、当該発行に従い前記複数チャンネルに返すべき前記アクノリッジ信号を出力するメモリ・コントロール手段を備えたことを特徴とする多チャンネル型メモリ・コントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は多チャンネル型メモリ・コントローラに関し、特に、複数デバイスの処理とは独立して複数種類のメモリ・デバイスへのアクセスをコントロールする多チャンネル型メモリ・コントローラに関する。
【０００２】
【従来の技術】
今日では、産業の発展に従ってメモリ制御に関する要求が多様化、複雑化してきており、同時に回路規模も増大してきている。例えば、高速なメモリ制御要求により、ＣＰＵを通さずにＤＭＡコントローラに対し複数デバイス（複数チャンネル）が直接メモリアクセスを要求したり、ＤＭＡコントローラに直接割り込み要求がなされたりすることが増大している。また、使用するメモリ・デバイスの種類も多様化し、複数種類のメモリ・デバイスに同時並列的にアクセス・コントロールする必要が生じている。
【０００３】
この様なＤＭＡコントローラの従来例として、特開平２−２８０２５９号公報（発明の名称「多チャンネル型メモリ・コントローラ」）に記載されたものが知られている。
【０００４】
当該公報の多チャンネル型メモリ・コントローラは、ＤＭＡコントローラ内に開始アドレスを記憶するアドレス・レジスタと転送数を記憶するカウンタ・レジスタをそれぞれ複数備え、ＣＰＵからの命令に従って、特定種類のメモリに対するタイミングで所定のデータ数のみアドレス生成を繰り返す方式とされている。すなわち、固定的なアドレス更新カウント指示機構により一定量のアドレス生成を行う、シンプルなＤＭＡ制御を行うものであった。
【０００５】
【発明が解決しようとする課題】
従って上記従来のＤＭＡコントローラは、複数デバイスの各チャンネルがＤＭＡタイミング制御部と直接、要求（リクエスト）および確認（アクノリッジ）を行うのには適していない。また、ＤＭＡタイミング制御部においてメモリが実際にアクセスされたタイミングでレジスタ更新信号を生成してレジスタを更新するには、使用するメモリの全種別について予め制御回路を設ける必要があり、これにより回路が複雑化し、回路規模が増大してしまう。
【０００６】
具体的には、直接のメモリ割り込み要求に対する場合や、メモリ・リフレッシュ期間などアドレス更新期間のタイミング生成や、例えばＤＲＡＭ，ＳＲＡＭ，その他の複数種類のメモリ・デバイスに対するアドレス更新タイミングなど、様々な場合について個別にＤＭＡタイミング制御部でタイミングを生成する、複雑で大規模の構成が必要になる。さらに、ＣＰＵからの指示によって効率良い制御を行うことには困難を伴う。
【０００７】
そこで、本発明は上記の課題に鑑みてなされたものであって、複数チャンネルから複数種類のメモリ・デバイスへのアクセスを上記要求に従って制御することのできる、シンプルかつロー・コストな構成の多チャンネル型メモリ・コントローラを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の課題を解決するために本発明は、複数チャンネルからの別々のリクエストに基づいて複数種類のメモリへのアクセスを制御する多チャンネル型メモリ・コントローラにおいて、各チャンネルに対して指示されるアドレス値を記憶する複数の記憶手段と、前記複数の記憶手段から読み出される各チャンネル毎のアドレス値に対する加算値を指示するとともに、前記加算値と任意のアドレス値または前記読み出されたアドレス値を加算する加算手段と、前記複数チャンネルからの指示アドレスまたは前記加算手段が出力するアドレス値を選択的に出力する選択手段と、前記複数チャンネルからのリクエストに応じてアドレス発行許可信号を出力して、制御手段に前記複数種類のメモリへのアドレス発行を許可する許可手段と、前記制御手段から前記複数チャンネルに返されるアクノリッジ信号を用いて前記選択手段から前記複数の記憶手段への書きこみを制御して、前記リクエストに従って前記複数の記憶手段のアドレス値を更新するアドレス更新手段とを備え、前記制御手段として、前記複数種類のメモリに接続でき、前記許可手段からの前記アドレス発行許可信号を入力すると前記加算手段からの出力アドレス値を前記複数種類のメモリに発行して異なるタイミングを制御するとともに、当該発行に従い前記複数チャンネルに返すべき前記アクノリッジ信号を出力するメモリ・コントロール手段を備えたことを特徴とする。
【００１０】
【作用】
上記構成の本発明によれば、許可手段が複数チャンネルからのリクエストに応じてアドレス発行許可信号を出力して制御手段に複数種類のメモリへのアドレス発行を許可すると、制御手段から複数チャンネルに返すべきアクノリッジ信号が返され、このアクノリッジ信号を用いて複数の記憶手段への書きこみが制御されるように作用する。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１２】
図１は本発明に係る多チャンネル型メモリ・コントローラの一実施形態の回路図である。
【００１３】
まず、図１の構成における複数チャンネルのダイレクト・メモリ・アクセス動作を概略的に説明する。ここではチャンネル数を３としたが、３チャンネルに限らず本発明を適用することができる。
【００１４】
ＤＭＡアドレス発生回路１１８は参照符号１２１〜１２３を付した複数のチャンネルＣＨ１，ＣＨ２，ＣＨ３からのリクエスト信号ＲＥＱ１，ＲＥＱ２，ＲＥＱ３に応じて、各チャンネルのＣＰＵ（図示せず）等の処理とは独立して後述の通りアドレス・データＡＤＲを発生する。このアドレス・データＡＤＲはメモリ・コントローラ１３０に出力される。ＤＭＡアドレス発生回路１１８に設けたＤＭＡタイミング制御回路１０８からのアドレス発行許可信号ＡＶＡＲＩＤが当該コントローラ１３０に供給されてアドレス発行が許可されると、当該コントローラ１３０に接続されるＤＲＡＭ１３１，ＳＲＡＭ１３２に対し別々にアドレス・データＤＡＤＲ，ＳＡＤＲを発行するように当該コントローラ１３０がメモリ・アクセスを制御する。
【００１５】
メモリ・コントローラ１３０は、当該アドレス・データを発行すると要求元チャンネルに返すべきアクノリッジ信号ＡＣＫを出力し、ＤＭＡアドレス発生回路１１８を介していずれかのチャンネルにこれを返す。
【００１６】
ＤＭＡアドレス発生回路１１８は前述のＤＭＡタイミング制御回路１０８の他に、セレクタ１００，アドレス・レジスタ１０１，１０２，１０３，カウント・レジスタ１１１，１１２，１１３，加算器１０４，加算値コントロール部１０５，コンパレータ１０６，アドレス・ラッチ部１０７，及び、本発明装置に特徴的な機能を実現するアドレス・レジスタ更新制御部１１５を備えている。各レジスタは各チャンネルに対応して設けられており、アドレス・レジスタ１０１〜１０３は各チャンネルに対して指示されるアドレスを記憶するもので、カウント・レジスタ１１１〜１１３は各チャンネルに対応するカウント値を記憶するものである。
【００１７】
セレクタ１００は、ＤＭＡタイミング制御回路１０８からのバス・セレクト信号５に応じて制御線１またはアドレス／カウント・バス２を選択する。制御線１はＤＭＡアドレス発生回路１１８と各チャンネルとのインターフェイスを司り、初期データ入力、ＤＭＡモード設定等を行う。セレクタ１００が制御線１を選択すると、選択バス３を介して各チャンネルからの初期データ（任意設定される先頭の転送アドレス、転送回数）を対応する各レジスタに出力する。
【００１８】
アドレス／カウント・バス２は加算器１０４の出力に接続され、加算器１０４によるアドレス／カウント値の計算結果を転送する。セレクタ１００がアドレス／カウント・バス２を選択すると、加算器１０４で計算した現在の転送アドレス／残り転送回数を対応する各レジスタに選択バス３を介して出力する。
【００１９】
各レジスタへの書きこみタイミングは、後述の通りアドレス・レジスタ更新制御部１１５により制御される。
【００２０】
各レジスタが保持しているデータはＤＭＡバス４を介して加算器１０４へ転送され、ここで、加算値コントロール部１０５から指示される加算値７と加算される。すなわち、加算値コントロール部１０５はＤＭＡタイミング制御回路１０８からのモード信号８に従って加算値７を生成出力し、この加算値７が出力されると加算器１０４は、転送モードやアドレス計算時間、カウント計算時間に応じてアドレス値およびカウント値を加算してアドレス／カウント・バス２へ出力する。
【００２１】
加算器１０４は、アドレス・レジスタ１０１〜１０３が保持しているデータ（任意アドレス値または前回転送におけるアドレス値）に対しては転送毎に現在の転送アドレスを計算し、カウント・レジスタ１１１〜１１３が保持しているデータ（任意の転送回数または前回転送における残り回数）に対しては転送毎に残りの転送回数を計算する。加算器１０４において加算値７に従い決定されたこれら転送アドレスと残り転送回数は、次回転送データとしてアドレス／カウント・バス２を介してセレクタ１００に選択され、各レジスタの更新データとして用いられる。
【００２２】
加算出力はコンパレータ１０６に供給され、ここで転送終了か否をＤＭＡタイミング制御回路１０８に知らせるための比較が行われる。すなわち、残り転送回数を“０”と比較して、“０”であれば終了信号９により転送終了を知らせる。終了信号９に応じて、アドレス・レジスタ更新制御部１１５は後述の通りに異なった態様で動作する。
【００２３】
ＤＭＡタイミング制御回路１０８はさらにアドレス・ラッチ部１０７にラッチ信号１１を所定タイミングで送出する。アドレス・ラッチ部１０７は加算器１０４からの加算出力をこのラッチ信号１１に従ったタイミングでラッチ保持し、保持しているデータをＤＭＡアドレス（ＡＤＲ）として前述の通りメモリ・コントローラ１３０に出力する。
【００２４】
メモリ・コントローラ１３０がこのＤＭＡアドレスを発行して要求元チャンネルに返すべきアクノリッジ信号ＡＣＫを前述の通り出力すると、アドレス・レジスタ更新制御部１１５は当該アクノリッジ信号を受けて各要求元チャンネルおよび対応する各レジスタに、別々の伝送線を介してアクノリッジ信号ＡＣＫ１，ＡＣＫ２，ＡＣＫ３を出力する。例えば要求元がチャンネルＣＨ１（１２１）のときはアクノリッジ信号ＡＣＫ１が当該チャンネルに返され、さらにこれを書き込み制御のために兼用してアドレス・レジスタ１０１とカウント・レジスタ１１１に供給される。
【００２５】
なお、図１の構成において要求元チャンネルにアクノリッジ信号を返さなくともダイレクト・メモリ・アクセスは成立する。
【００２６】
アドレス・レジスタ更新制御部１１５はＤＭＡタイミング制御回路１０８からのＡＣＫ中継制御信号１２に従い動作し、メモリ・コントローラ１３０から要求元チャンネルへのアクノリッジ信号ＡＣＫを、要求元チャンネルおよび要求元チャンネルに対応するレジスタに所定タイミングでＡＣＫ１〜ＡＣＫ３として返す。このように、アドレス更新時にはアクノリッジ信号ＡＣＫを基に各レジスタの値を更新するように書き込みを制御し、他の場合には、各チャンネル要求やコンパレータ１０６の比較結果に応じて任意のアドレス値またはカウント値を各レジスタに記憶させるように書き込みを制御する。
【００２７】
上記した本実施形態によれば、メモリ・コントローラ１３０がアドレス発行許可信号ＡＶＡＲＩＤを受けてアドレス発行を行って要求元チャンネルに返すアクノリッジ信号ＡＣＫをレジスタ更新のタイミング制御に兼用するようにしたシンプルでローコストな構成により要求元チャンネルでのアドレス発生の確認を容易にし、従来のようにレジスタ更新信号を生成するための複雑な構成の必要がない汎用的な構成により、使用するメモリ・デバイスの種類によらず、メモリ割り込みや停止に応じたアドレス更新の制御を効率良く行って多チャンネルＤＭＡにおけるアドレス生成を成し得るという効果がある。
【００２８】
図２は本発明に係る多チャンネル型メモリ・コントローラの他の実施形態の回路図である。図２において、図１中の構成要素と同一のものには同一符号を付し、その説明をここでは省略する。
【００２９】
図２に示すＤＭＡアドレス発生回路１２８は内部にカウント・レジスタを備えておらず、参照符号１２１ａ〜１２３ａを付した複数のチャンネルＣＨ１，ＣＨ２，ＣＨ３がカウント・レジスタ２１１〜２１３をそれぞれ備えている。アドレス・レジスタ更新制御部１１５は、メモリ・コントローラ１３０からアクノリッジ信号ＡＣＫを受けて各要求元チャンネル１２１ａ〜１２３ａおよび対応するアドレス・レジスタ１０１〜１０３に、別々の伝送線を介してアクノリッジ信号ＡＣＫ１，ＡＣＫ２，ＡＣＫ３を出力する。
【００３０】
すなわち、各チャンネル１２１ａ〜１２３ａからのリクエスト信号ＲＥＱ１，ＲＥＱ２，ＲＥＱ３に対してＤＭＡアドレス発生回路１２８がアクノリッジ信号ＡＣＫ１，ＡＣＫ２，ＡＣＫ３を返すことで、各チャンネルとＤＭＡアドレス発生回路１２８とのインターフェースがとられる構成である。この構成においても、アクノリッジ信号ＡＣＫ１，ＡＣＫ２，ＡＣＫ３をアドレス・レジスタ１０１〜１０３の書き込みタイミング制御に用いるように、前述の通りアドレス・レジスタ更新制御部１１５による制御が行われる。
【００３１】
本実施の形態においても、よりシンプルな構成により、上述実施形態と同様の効果を奏することができる。
【００３２】
【発明の効果】
以上説明した通り本発明によれば、許可手段が複数チャンネルからのリクエストに応じてアドレス発行許可信号を出力して制御手段に複数種類のメモリへのアドレス発行を許可すると、制御手段から複数チャンネルに返すべきアクノリッジ信号が返され、このアクノリッジ信号を用いて複数の記憶手段への書きこみが制御されるので、書きこみ制御のための信号生成を行う構成を必要とすることなく、複数種類のメモリに対して複数チャンネルによるダイレクト・メモリ・アクセスを行うことができる効果がある。
【図面の簡単な説明】
【図１】本発明に係る多チャンネル型メモリ・コントローラの一実施形態の回路図である。
【図２】本発明に係る多チャンネル型メモリ・コントローラの他の実施形態の回路図である。
【符号の説明】
１０１〜１０３  アドレス・レジスタ
１０８  ＤＭＡタイミング制御回路
１１１〜１１３，２１１〜２１３  カウント・レジスタ
１１５  アドレス・レジスタ更新制御部
１１８，１２８  ＤＭＡアドレス発生回路
１２１〜１２３，１２１ａ〜１２３ａ  チャンネル
１３０  メモリ・コントローラ
ＡＣＫ，ＡＣＫ１〜ＡＣＫ３  アクノリッジ信号
ＲＥＱ１〜ＲＥＱ３  リクエスト信号
【図１】
0004181268.tif 000002
【図２】
0004181268.tif 000003