(57)【特許請求の範囲】
【請求項１】
メモリアクセスリクエストをメモリアクセスコマンドに変換するメモリアクセス制御装置であって、
一連のメモリアクセスリクエストを入力するリクエスト入力部と；
一連のメモリアクセスコマンドを出力するコマンド出力部と；
該リクエスト入力部から該メモリアクセスリクエストを受け、該メモリアクセスリクエストを一つ又は複数のリクエストにデマルチプレックスする入力論理回路と；
該メモリアクセスリクエストに対応したメモリアクセスコマンドを示す要求を生成する一つ又は複数の要求生成器と；
該要求を優先順位にしたがって順位をつけ、順位つき要求を生成する優先順位決定回路と；
該順位つき要求から該メモリアクセスコマンドを選択する要求選択器とから成るメモリアクセス制御装置。
【請求項２】
上記要求選択器は、
該順位つき要求が所定のルールを満足している場合、該順位つき要求に対応した順位つきコマンドを生成するルールチェッカと；
該順位つきコマンドの中から一つを選出して、該メモリアクセスコマンドとして出力するコマンド出力選択器とから成る、請求項１に記載のメモリアクセス制御装置。
【請求項３】
上記ルールチェッカは、
該順位つき要求が所定のルールを満足している場合、該順位つき要求に対応した順位つきコマンドを生成する一つまたは複数の順位つきルールチェッカと；
該所定のルールは、種々有るメモリアクセスコマンドの内、いずれのメモリアクセスコマンドが受け入れ可能かを示すルールであって、かかる所定のルールを生成するルール論理回路とから成る、請求項２に記載のメモリアクセス制御装置。
【請求項４】
上記ルール論理回路は、ＳＤＲＡＭにアクセスするのに必要なメモリアクセスコマンドに関するルールを生成する、請求項３に記載のメモリアクセス制御装置。
【請求項５】
上記入力論理回路は、
該メモリアクセスリクエストをＦＩＦＯ形式で読み取るＦＩＦＯインターフェースと；
該メモリアクセスリクエストをデマルチプレックスして一つ又は複数のリクエストにするリクエストデマルチプレックサーとから成る、請求項1、2、3又は4に記載のメモリアクセス制御装置。
【請求項６】
上記要求生成器は、ＳＤＲＡＭにアクセスするのに必要なコマンドに基づいて要求を生成する生成器から成る、請求項1、2、3、4又は5に記載のメモリアクセス制御装置。
【請求項７】
上記優先順位決定回路は、
該要求を順位つき要求変換する一つ又は複数の優先順位選択器と；
該要求のどれを優先させるかを該優先順位選択器に指示する優先順位決定器から成る、請求項1、2、3、4、5又は6に記載のメモリアクセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマルチメデイアプロセッサに適するメモリアクセスインターフェースに関する。
【０００２】
【従来の技術】
多くのコンピュータ及びマルチメデイアシステムは、メモリへ制御コマンドの送り出しや、メモリへ、またはメモリからデータの送受信をするためメモリアクセスインターフェースを必要とする。このメモリは変数、制御情報、画像収納用のフレームデータを一時的に保持したり、システムの他の要求を保持するために用いられる。そのようなメモリに対する制御コマンドはメモリの初期化、更新、ピンポンとして知られるメモリバンクオーバーラッピングなどに必要である。データ転送の速度及びデータ転送の効率は、ますます開発が望まれる。マルチメデイアシステム及びコンピュータシステムにおいては、メモリに対し、高度な性能のアクセスを必要とする。最低のコストで高度な性能を確保するためには、メモリを限られた用途に限定して作用させることが多い。概して、安価なメモリは性能が低い。開発者は、システムのコストを下げるため安価なメモリを用い、その性能をできるだけ高めることに努力してきたが、限界が有った。
【０００３】
この性能を上限に近いところに持ってゆくには、たとえば、複合メモリアクセスインターフェースが用いられる。ＤＲＡＭ半導体メモリアクセスにあっては、行アドレスを設定するのにＲＡＳサイクルを必要とし、その後、列アドレスで特定された行にデータが送り込まれる。二つ以上のＤＲＡＭのバンクを用いることによって、一つのバンクはＲＡＳサイクルを実行し、他のバンクはデータ転送を実行することができる。これは、バンクのピンポンを採用するＳＤＲＡＭにおいて利用されている。（例えば、16ＭビットＳＤＲＡＭのNEC uPD45161561G5-A12-7JFの説明書を参照）
メモリアクセスインターフェースを実現する場合、複雑さの低減と、費用の低減の両方を満足させる最も容易な方法は、内部プロセスのタイミングを、種類または形態が異なる外部メモリのタイミングに合わせることである。例えば、ＳＤＲＡＭをフレームメモリとして用いるMPEG-2（国際標準化機構による「IS13818 - 動画及び関連のオーデイオのジェネリックコーデイング」、ISO MPEG書類、ISO-IEC/JTC1/SC2/WG11, 1994を参照）ビデオデコーダー集積回路では、 ＳＤＲＡＭから動き補償されたマクロブロックの画素情報を読む動き補償プロセスは、ＳＤＲＡＭに必要なタイミングとほぼ同様のタイミングで行及び列のアドレスを生成させることが出来る。こうして、動き補償プロセスにおいて、バンクのピンポンがなされる。内部プロセスのタイミングを外部メモリ型に合わせることは通常内部構造を、外部メモリの形式又は形状に合わせる必要がある。このように、特別の形式または形態の外部メモリに合致したアドレスを、内部プロセスで生成するためには、特別のアドレス生成手段を必要とする。
【０００４】
【発明が解決しようとする課題】
本発明が解決する問題は幾つかある。本発明の一つの課題は、メモリアクセスの性能を最大限にするため、メモリアクセスを出来るだけ待ち時間をなくして、継続的に生成できるようにすることである。メモリの種類によっては、メモリアクセスのデータ転送の準備が出来るまでにある種の前プロセッシングを必要とするものがある。例えば、ＤＲＡＭ半導体メモリーはメモリアクセスを開始するのにＲＡＳサイクル及びＣＡＳサイクルを必要とする。複数のＤＲＡＭを備えたシステムでは、一つ又は複数のＤＲＡＭのＲＡＳサイクルを他のＤＲＡＭのＣＡＳサイクルと時間的に重複させることが可能である。
【０００５】
別の例として、一つのバンクの前処理が別のバンクのデータ転送と重複できる、複数のバンクを含むＳＤＲＡＭである。この重複した処理のタイミングの制御及び最適化をするためには、複雑なインターフェースや、複雑なメモリアクセス制御を必要とする。
【０００６】
本発明の課題の一つは、メモリのアクセスに必要なプロセスを、簡単なインターフェースを備えたメモリアクセス制御装置を提案することである。
【０００７】
本発明のもう一つの課題は、メモリ自体のコントロールと、メモリアクセスに必要なプロセスとを独立させることである。
【０００８】
本発明の課題の一つは、メモリアクセス制御装置を、新規な又は異なったタイプ又は形状のメモリにも容易に利用することが出来るようにすることである。メモリを必要とする電子製品において、コストや性能により、利用されるメモリのタイプや形態がしばしば変更されることがある。これは、メモリのコストや性能が、メモリ技術の進歩に従い急速に変化するからである。同様に、メモリを用いるアプリケーションもこれらの変化に適合するよう、急速に変化しなければならない。
【０００９】
本発明の課題の一つは、あるメモリタイプをサポートするメモリアクセス制御装置であっても、別のメモリタイプでもサポートすることができるメモリアクセス制御装置を提案することである。また、本発明の課題の一つは、異なったメモリタイプ又は異なったメモリシステムのいずれのメモリタイプまたはいずれのメモリシステムであっても動作可能なメモリアクセス制御装置を提案することである。
【００１０】
本発明の課題の一つは、異なったメモリアクセスの要求を備えた、異なったアプリケーションに用いることができるメモリアクセス制御装置を提案することである。新規なアプリケーションは以前のアプリケーションとは異なった形式でメモリを用いる場合があり、かかる場合、メモリアクセス制御装置を設計し直していたのでは、安価な装置を作ることができない。かわりに、ほとんど変更を必要としない万能なメモリアクセス制御装置を用いることができれば、コストの低減を図ることができる。本発明の課題の一つは、かかる万能なメモリアクセス装置、すなわち、あるメモリに対するアクセスの要求及び機能に合致したメモリアクセス制御装置を、別の種類のメモリに対するアクセスの要求及び機能をもサポートすることができるメモリアクセス制御装置を提案することである。本発明の課題の一つは異なったメモリアクセスシステムを有する種々のメモリに対しても共通して利用できるメモリアクセス制御装置を提案することである。
【００１１】
本発明の課題の一つは性能を低下させることなく、コンパクトなメモリアクセス制御装置を提案することである。これにより、高性能な電子製品を安価に提供することが可能となる。
【００１２】
【課題を解決するための手段】
上記の問題点を解決するために、本発明にかかるメモリアクセス制御装置が開発された。該メモリアクセス制御装置はメモリアクセスリクエストをメモリアクセスコマンドに変換するために用いられる。一連のメモリアクセスリクエストはリクエスト入力から入力される。入力論理回路はリクエスト入力から入力されるメモリアクセスリクエストをアクセプトしてメモリアクセスリクエストを一つ又は複数のリクエストにデマルチプレックスし、それらは対応する要求生成器へ送られる。要求生成器は要求を決定するために用いられ、要求はリクエストに対しどのメモリアクセスコマンドが必要であるかを示している。要求は優先順位決定回路によって順位がつけられ、順位つき要求となる。要求選択器は順位つき要求に基づきメモリアクセスコマンドを選択する。要求選択器は、ルールチェッカから成り、各順位つき要求を所定のルールを用いてチェックし、もし所定のルールに適合すれば対応する順位つきコマンドを生成する。ルールチェッカにおいて、順位つきルールチェッカは、ルール論理回路によって生成された所定のルールに順位つき要求の各々が適合しているか否かをチェックする。コマンド出力選択器は順位つきコマンドからメモリアクセスコマンドを選択する。メモリアクセスコマンドの配列はコマンド出力から出力される。
【００１３】
一連のメモリアクセスリクエストの入力は、メモリのタイプ又は形態に関わらず動作可能な簡単なインターフェースに送られる。このインターフェースは、メモリへのアクセスを必要とするプロセスとメモリとの間に存在する。多段の要求生成器、優先順位決定回路、及び順位つきルールチェッカを用い、メモリアクセスの前処理と、データ転送又は他の前処理とを適宜、並行処理する。順位つきルールチェッカから得られる順位つきコマンドは、メモリアクセスに対する制御信号として利用される可能性のあるコマンドである。それらはメモリに送り出される最適な瞬間まで、コマンド出力選択器に保持されている。これにより、メモリアクセスコマンドの最適な連続出力が行われ、メモリアクセスの最高の性能が達成できるようになる。メモリアクセスリクエストを生成するプロセスは、メモリアクセス制御コマンドの重複には関わらないので、それらはモリアクセス自体の設計の詳細の多くから独立している。それらは単純に一連のメモリアクセスリクエストを本発明にかかるメモリアクセス制御装置に送るだけであり、それらは本発明にかかるメモリアクセス制御装置により、接続されたメモリに合致したメモリアクセスコマンドを生成する。
【００１４】
この分離、独立は、メモリの形式又は形態が変わっても、メモリアクセスリクエストを発するプロセスには大きな変更を要求しないことを意味する。例えば、要求生成器、ルール論理回路、及びルールチェッカを変更することにより、メモリアクセスを要求する内部プロセスの変更をすることなく、異なったメモリ形態をサポートすることも出来る。同様に、プロセスの変更、例えば新規なプロセスが加わったとしても、大局的には同じであるので、メモリアクセス制御装置に大きな変更をする必要はない。例えば、一旦ＳＤＲＡＭアクセス用に設計されれば、 ＳＤＲＡＭアクセスを必要とする多くのアプリケーションに対して同一の設計が適している。それは、一連のメモリアクセスコマンド間のオーバーヘッドを最小にすることは、最大の性能を必要とするすべてのアプリケーションに対して適当であるからである。本発明にかかるメモリアクセス制御装置は、簡単な構成でしかも少ない論理回路で作ることができるので、安価にすることができ、最適なメモリアクセスコマンド出力が可能な、高性能な装置である。
【００１５】
【発明の実施の形態】
本発明の実施形態の一例を図１に示す。リクエスト入力100からメモリアクセスリクエスト110が入力論理回路120に送られる。入力論理回路はリクエスト130を、要求生成器140へ送り、要求150を生成する。優先順位決定回路160は要求150を優先順位に従って並び換え、それらに順位をつけ、順位つき要求170として要求選択器180へ送る。要求選択器180は順位つき要求170に基づき、いずれの要求をメモリアクセスコマンド190として選択すべきかを決定し、選択された要求をコマンド出力190を介して出力される。
【００１６】
図１の実施態様の動作について記述する。入力論理回路120はリクエスト入力100からメモリアクセスリクエスト110を受け、それらを順次、要求生成器140へデマルチプレックスする。各要求生成器140は、メモリアクセスリクエストを受けると、メモリアクセス制御信号を生成する。要求順位決定回路160は、各要求生成器140から出力される要求150に対し、時間的に早く出されたメモリアクセスリクエストに対応する要求の方が、優先順位が高くなるように、優先順位を決定し、記録する。このようにして、最も高い優先順位つき要求170に対応するメモリアクセスリクエストは、最優先して処理される。要求選択器180は優先順位に従って、順位つき要求170を順次選択し、選択結果をメモリアクセスコマンド190として出力する。一般に、順位つき要求170はメモリ自体に発せられるコマンドを示す。要求選択器180は、順位つき要求170を優先順位に従って選択してもよいし、さらに追加のルールを適用してもよい。例えば、所定の組み合わせで順位つき要求170が要求された場合、要求選択器180は優先順位が低い方の順位つき要求170を選択するかもしれない。例えば、優先順位が低い方の順位つき要求170は、後続のデータを所定の配列でメモリに記憶することができるようにメモリを予め設定する、前処理・コマンドであるかもしれない。要求選択器180は、この前処理・コマンドをまず出力し、優先順位が高いデータの転送が行われている際に、前処理が行われるよう、前処理とデータ転送とを重複させることが出来る。
【００１７】
図１の実施形態は要求生成器140、要求150及び順位つき要求170の数を限定するものではない。更に、メモリアクセスリクエスト110が順次デマルチプレックスされて要求生成器140に送られる構成は一例であって、この構成に限られる必要性はない。別の適当な順番でデマルチプレクスしてもよい。
【００１８】
図１により記述された本実施形態の効果は、メモリアクセスリクエストのシーケンシャルな順次入力が、最適に重複されたメモリアクセスコマンドに変換されることである。メモリコマンドの生成は、メモリアクセスを必要とする処理からメモリアーキテクチャを独立させ、メモリアクセス制御装置によって行われる。
【００１９】
次に本発明の第2の実施形態を図２に示す。リクエスト入力200はメモリアクセスリクエスト210を入力論理回路220へ送る。入力論理回路220はリクエスト230を、要求250を生成する要求生成器240へ分配する。優先順位決定回路260は要求250を優先順位によって編成し、それらを順位つき要求270として要求選択器280へ送る。各順位つき要求270はルールチェッカ281へ送られ、そこで送られてきた順位つき要求270に相当する順位つきコマンド285が生成される。コマンド出力選択器289は、順位つきコマンド285から一つのコマンドを選択し、メモリアクセスコマンド290として、コマンド出力299を介して出力する。
【００２０】
次に図２の実施形態の動作について説明する。特に要求選択器280の詳細を説明する。この実施形態の要求選択器280は、順位つき要求270が受け入れ可能なメモリアクセスコマンド290であるかどうかをチェックする多段ルールチェッカ281を有する。もし可能であれば、順位つき要求270は順位つきコマンド285として出力され、コマンド出力選択器289に送り出される。コマンド出力選択器289は、適切なメモリアクセスコマンド290を選択し、出力する。図１の実施形態に対して述べたように、コマンド出力選択器289は優先順位にしたがって順位つきコマンド285を選択してもよいし、追加の基準、たとえば順位つきコマンド285の種類に基づいて選択することも出来る。
【００２１】
図１の実施形態と同様に、図２の実施形態も要求生成器240、要求250、順位つき要求270及び順位つきコマンド285の数を限定するものではない。
【００２２】
次に本発明の第3の実施形態を図３に示す。リクエスト入力300はメモリアクセスリクエスト310を入力論理回路320へ送る。入力論理回路320はこれらのリクエストをリクエスト０330及びリクエスト１331とし、それぞれ要求生成器０340及び要求生成器１341に送る。要求生成器０340及び要求生成器１341はそれぞれ要求０350及び要求１351を生成する。優先順位決定回路360は要求０350及び要求１351のそれぞれについて優先順位を決定し、それらを順位つき要求０370及び順位つき要求１371として要求選択器380へ送る。優先順位決定器365は要求０350及び要求１351の優先順位を決定し、この結果をprio０363及びprio１364としてそれぞれ優先順位選択器０361及び優先順位選択器１362に送る。優先順位選択器０361はprio０363に基づいて要求０350又は要求１351のいずれかを選択し、順位つき要求０370として出力する。優先順位選択器０362はprio１364に基づいて要求０350又は要求１351のいずれかを選択し、順位つき要求１371として出力する。順位つき要求０370はルールチェッカ382へ送られ、所定の判断がなされ、その判断をパスしたものは、順位つきコマンド０385として出力される。順位つき要求１371はルールチェッカ383へ送られ、所定の判断がなされ、その判断をパスしたものは、順位つきコマンド１386として出力される。ルール論理回路387によって生成されたルール384は順位つきルールチェッカ０382及び順位つきルールチェッカ１383へ送られる。コマンド出力選択器389は順位つきコマンド０385及び順位つきコマンド１386に基づき、メモリアクセスコマンドとしてどちらを選択するべきかを決定し、決定されたコマンドは、コマンド出力399を介して出力される。
【００２３】
次に図３の実施形態の動作について述べる。特に、選択器360について詳細を述べる。この実施形態の優先順位決定回路360は、要求０350又は要求１351のいずれかを選択して、順位つき要求０370を決定する優先順位選択器０361と、要求０350又は要求１351のいずれかを選択して、順位つき要求１371を決定する優先順位選択器１362を有する。どちらの要求を選択するかの決定は、優先順位決定回路365によって決定され、この優先順位決定回路365は、選択決定prio０363を優先順位選択器０361へ出力する一方、また選択決定prio１364を優先順位選択器１362へ出力する。この実施形態のルールチェッカ381は、順位つき要求０370をチェックする順位つきルールチェッカ０382と、順位つき要求１371をチェックする順位つきルールチェッカ１381を有する。もし順位つき要求370,371がルール論理回路387によって生成されたルール384により問題なしと判断されれば、それらは順位つきコマンド０385及び順位つきコマンド１386としてコマンド出力選択器389へ送られ、適宜選択され、メモリアクセスコマンド390として出力される。
【００２４】
図３の実施形態は二つのリクエスト330,331、二つの要求生成器340,341、二つの優先順位選択器361,362、二つの順位つき要求370,371、二つの順位つきルールチェッカ382,383、及び二つの順位つきコマンド385,386を備えているが、数は問題ではなく、本発明はこれらの部材についてそれぞれ二つに限定されるものではない。これらの部材は１個又はそれ以上であってもよい。また、prio363,364の数も１又はそれ以上であってもよい。例えば、優先順位選択器361,362のいずれか又はすべてに対して同一の信号を用いることもできる。同様に、同一又は異なったルールが、順位つきルールチェッカ382,383によって用いられることも可能である。
【００２５】
次に本発明の第4の実施形態を図４に示す。リクエスト入力400はメモリアクセスリクエスト410をリクエスト430及びリクエスト431としてそれぞれ要求生成器０440および要求生成器１441へ送られ、送られてきたリクエスト430,431は、入力論理回路420からのenip０信号423及びenip１信号424を用いてデマルチプレクスされる。この実施形態では、入力論理回路420は、例えば、ＦＩＦＯインターフェースとして作用し、入力されたメモリアクセスリクエスト410をＦＩＦＯ形式で読み込み、これらのリクエスト430、431を要求生成器  440、441へ送り出す。空信号421を用い、ＦＩＦＯ形式で入力されたデータが有効なメモリアクセスリクエスト410を含むことを示す。要求生成器０440および要求生成器１441はそれぞれ要求０450及び要求１451を発生する。優先順位決定回路460は要求０450及び要求１451を優先順位にしたがって配列し、それらを順位つき要求０470及び順位つき要求１471として要求選択器480へ送る。優先順位決定器468は要求０450及び要求１451の優先順位を決定し、この結果は、priosel信号467として優先順位選択器０461及び優先順位選択器１462へ伝えられる。優先順位選択器０461はpriosel信号467に基づいて要求０463又は要求１464のいずれかを順位つき要求０470として選択する。優先順位選択器１462はpriosel信号467に基づいて要求０465又は要求１466を順位つき要求１471として選択する。順位つき要求０470は、順位つきルールチェッカ０482へ送られ、所定の判断がなされて順位つきコマンド０485として出力される。順位つき要求１471は、順位つきルールチェッカ１483へ送られ、所定の判断がなされて順位つきコマンド１486として出力される。ルール論理回路487によって生成されたルール484は順位つきルールチェッカ０482及び順位つきルールチェッカ１483へ送られる。コマンド出力選択器489は、順位つきコマンド０485及び順位つきコマンド１486のいずれかを選択し、メモリアクセスコマンド490としてコマンド出力499を介して出力される。
【００２６】
次に図４の実施形態の動作について述べる。この実施形態では順次送られてくるメモリアクセスリクエスト(410)を供給するため、ＦＩＦＯ形式をどのように用いることができるかを示す。入力論理回路420はＦＩＦＯを読むタイミングを制御する。すなわちenip０423及びenip１424を用い、いずれのリクエスト430,431をいずれの要求生成器０440及び要求生成器１441へ入力するべきかを制御する。この実施形態では、入力論理回路420は交互にそれらを選択する。最初のメモリアクセスリクエスト410は要求生成器０440へ送られ、次のメモリアクセスリクエスト410は要求生成器１441へ送られ、さらに次のメモリアクセスリクエスト410は要求生成器０440へ送られる。
【００２７】
この実施形態では、要求生成器440,441は、２つのメモリバンクを持っているＳＤＲＡＭにアクセスするためのコマンドを生成する。各リクエスト430,431は一連のＳＤＲＡＭコマンドを生成する。二つのシリーズのコマンドが可能である。即ち、一つはプリチャージコマンド、アクテイベートコマンド、読み出しコマンドのシリーズであり、もう一つは、単純に読み出しコマンドのシリーズである。この実施形態では、メモリアクセスリクエストに相当する一連のコマンドの終了は、コマンド出力選択器489から出力されるdonereq信号425,469,494を用いて示される。入力論理回路420に入力されるdonereq信号425を用い、リクエスト０430及びリクエスト１431がそれぞれ要求生成器440,441に入力されるタイミングを制御する。
【００２８】
優先順位決定器468に入力されるdonereq信号469は、優先順位選択器461,462に入力されるpriosel信号467の入力されるタイミングを制御する。この実施形態では、一シリーズ内のコマンドの終了はアクセプト０信号442,491及びアクセプト１信号443,492によって示される。これらのアクセプト信号はコマンド出力選択器489から出力される。要求生成器０440に送られるアクセプト０信号442は、要求生成器０440から出力された要求０に基づく一連のコマンドの内、特定のコマンドがアクセプトされ、続いて新たな要求０を出力してもよいことを要求生成器０440に示す。同様に、要求生成器１441に送られるアクセプト１信号443は、要求生成器１441から出力された要求１に基づく一連のコマンドの内、特定のコマンドがアクセプトされ、続いて新たな要求１を出力してもよいことを要求生成器１441に示す。
【００２９】
この実施形態においては、ルール論理回路487は前に選択されたメモリアクセスコマンド出力490に基づいてルールを生成する。ルール論理回路487に入力されるcmd信号493は、どのメモリアクセスコマンドが出力されたかを示す。この実施形態においては、ルール論理回路487はＳＤＲＡＭに適合したルールに基づいてルールを生成する。例えば、それは、プリチャージコマンドからアクテイベートコマンドに変わるタイミング、及びアクテイベートコマンドから読み出しコマンドに変わるタイミングのように、連続したコマンドの間のタイミングを定める。この実施形態では、論理回路487からの出力は、どのようなＳＤＲＡＭのコマンドが可能であるかを示すルール484である。例えば、もしバンク０のプリチャージが可能であれば、ルール484はそれを示す。もしバンク１の読み出しが可能であれば、ルール484はそれを示す。順位つきルールチェッカ482,483はルール484に基づき順位つき要求470,471をチェックし、アクセプトできるコマンドが順位つきコマンド485,486として出力される。例えば、もし順位つき要求470の内容が、バンク０にプリチャージコマンドが必要であることを示すとともに、ルール484の内容が、ＳＤＲＡＭにプリチャージコマンドを与えてもよいことを示すならば、順位つきコマンド０485の内容は、バンク０にプリチャージコマンドが必要であることを示す。他方、もしルール484の内容が、ＳＤＲＡＭはプリチャージコマンドをアクセプト出来ないことを示すならば、順位つきコマンド０485の内容は、プリチャージコマンドを必要とするという内容を取ることができない。
【００３０】
この実施形態では、コマンド出力選択器489は、一連のＳＤＲＡＭコマンドにおいて最終コマンドが出れば、donereq信号494を発生させる。本実施形態においては、最終コマンドは読み出しであるので、読み出しコマンドが出れば、コマンド出力選択器489はdonereq信号494を出力する。
【００３１】
図５は図４の実施形態の動作のタイミング図で、特にＳＤＲＡＭメモリアクセス制御装置に用いられる場合について述べている。このタイミング図においては、いくつかの簡略化して書かれた記号が、リクエスト410、分類された要求及びコマンド450,451,470,471,485,486,490、及びルール484に対して用いられる。
【００３２】
メモリアクセスリクエスト410の簡略化された記号：
[バンク=０/１]  [読み出し=R]  [新たな行を示すフラグ=N/-]
例1：０RNは、「バンク０は、新たな行から読み出せ」を意味する。
（読み出しの前にはプリチャージ及びアクテイベートの処理が必要）
【００３３】
例２：１Ｒ−は、「バンク1は、同じ行（新たな行でない）から読み出せ」を意味する。
（プリチャージ及びアクテイベートの処理は必要なし）
【００３４】
要求及びコマンド450,451,470,471,485,486,490の簡略化された記号：
[バンク＝０/１]  [コマンド=Ｐ/Ａ/Ｒ]
例１：０Ｐは、「バンク０をプリチャージせよ」を意味する。
【００３５】
例２：１Ａは、「バンク１をアクテイベートせよ」を意味する。
【００３６】
例３：１Ｒは、「バンク1を読み出せ」を意味する。
【００３７】
例４：−−は、「無」（リクエスト又はコマンド無し）を意味する。
【００３８】
ルール484の簡略化された記号：
２進法表示を用いて、[OP][OA][OR]  [1P][1A][1R]の有無を表す。項目[0P]が有りであれば１で、無しであれば0となる。他の項目についても同様とする。111  111は、すべての項目[OP][OA][OR]  [1P][1A][1R]が有りとなり、111  111を8進法で表示すれば77となる。また、010  000は、項目[0A]のみが有りとなり、010  000を８進法で表示すれば20となる。
【００３９】
例１：77は、「バンク0のプリチャージ[0P]、バンク0のアクテイベート[0A]、バンク0の読み出し[0R]、バンク１のプリチャージ[1P]、バンク１のアクテイベート[1A]、バンク1の読み出し[1R]、のいずれも可能であること」を意味する。
【００４０】
例２：07は、「バンク１のプリチャージ、バンク１のアクテイベート及びバンク１の読み出しが可能であること」を意味する。
【００４１】
例３：00は、「いずれのコマンドも可能でないこと」を意味する。
【００４２】
例４：20は、「バンク0のアクテイベート[0A]が可能であること」を意味する。
【００４３】
クロック信号は実施形態に対するものとＳＤＲＡＭに対するものとの両方に対するクロック信号として用いられる。
【００４４】
この簡単な例に対して、ルール論理回路487は下記の表に示すルールを含む。
【００４５】
0004153579.tif 000002
図5において、クロック0の間、空信号はローとなり、有効なメモリアクセスリクエスト410が存在することを示す。読み出し信号はハイとなり、このリクエストを読み、そしてenip0はリクエストを要求生成器０440へ送る。最初のリクエストは0RNであって、バンク0の新たな行の読み出しを意味する。新たな行なので、先行してプリチャージ・コマンド及びアクテイベード・コマンドが必要である。要求生成器０440は、クロック0の間、プリチャージが必要であると判断し、クロック1の間、内容がOP、すなわち「バンク０をプリチャージせよ」を意味する要求０450を出力する。この間、ルール484はどのコマンドでも可能という意味の信号77を表しているので、0Pはコマンド出力から出力される。アクセプト０491,442は、ハイになり、要求生成器０440からのコマンドがアクセプトされたことを示す。その結果、要求生成器０440は、クロック2に示すように、内容がOA、すなわち「バンク０をアクテイベートせよ」を意味する要求０450を出力する。しかし、この時点では、ルール484は07を示して、バンク０に対してはコマンドをアクセプトすることは出来ないことを示しているので、OAはアクセプトされない。また、クロック２の間、内容が1P、すなわち、「バンク１をプリチャージせよ」を意味する要求１451はアクセプトされる。
【００４６】
このようにして、入力されたリクエストが、クロック０の時0RN、クロック１の時1RN、クロック７の時1R-であれば、ＳＤＲＡＭに最適なコマンドシーケンス0P、1P、0A、0R、1A、1Rを出力することができ、これらのコマンドは、ＳＤＲＡＭのコマンドタイミングの要件を満たしている。
【００４７】
図４及び５図に示された実施形態によれば、淡々と直列に送られてくるメモリアクセスリクエストは、メモリアクセスコマンドのシーケンスと最適な関係で重なることが出来るという効果を持つ。上述した簡単なＦＩＦＯインターフェースは、メモリアクセスリクエストを作るプロセスにおける簡単なインターフェースの一例である。本発明は簡単な構成で効率のよいメモリアクセスコマンドを生成することができる。出力コマンドのタイミングは、入力リクエストのタイミングとは独立しているので、メモリアクセスリクエストを生成するプロセスをほとんど変えることなく、メモリの形式や構成が変わっても容易に対応することができる。
【００４８】
図４の実施形態においては、二つのリクエスト430,431、二つの要求作成器440,441、二つの優先順位選択器461,462、二つの順位つき要求470,471、二つの順位つきルールチェッカ482,483及び二つの順位つきコマンド485,486を示したが、本発明はこれらの部材の数がそれぞれ二つに限定されるものではない。これらの部材の数は、１又はそれ以上で有ってもよい。この実施形態においては、２つのバンクを有するＳＤＲＡＭを使用する例を示したが、２つのバンクのＳＤＲＡＭに限定されるものではない。本発明は、１つ又は複数のＲＡＭ又は他の形式又は形状のメモリに対応したものを構成することも可能である。
【００４９】
また、本発明は、メモリアクセス制御に必要な種々のコマンド、例えば、リフレッシュ・アンド・ライト・コマンドに対するメモリアクセスリクエストにも対応可能である。本発明は実施形態で説明したメモリアクセスリクエストに限定されるものではない。この場合は、ルール論理回路487に種々のコマンドの情報も含めるようにすればよい。このように、ルールは、限定されたものではなく、必要に応じて新たなルールの追加又は既存のルールの削除を行ってもよい。
【００５０】
【発明の効果】
本発明によれば、メモリアクセスの待ち時間は少なくなり、メモリアクセスの性能を最大限に発揮させることができる。並行処理が可能なコマンド出力選択器においてアクセプトされたメモリアクセスコマンドが配列されるので、データ伝送とプロセッシングは並行処理され、メモリアクセスの性能を最大限に発揮することができる。多段の要求生成器は、各メモリアクセスに対しコマンドを生成する一方、コマンド出力選択器は、出力すべきコマンドを選択することができるので、最適の順番でコマンドを出力することができ、メモリアクセスの性能を最適にすることができるものである。
【００５１】
本発明によれば、メモリアクセスに必要なプロセスと、メモリ自体の制御を並行して行うことができる。これは、簡単なメモリアクセスリクエストインタフェースによりこれらのリクエストを順次受けることができからである。これにより、新規な又は異なった形式又は形状のメモリにも対応することができると共に、異なったプロセスを必要とする複数のメモリが有ってもメモリアクセス制御を容易にすることができるものである。
【図面の簡単な説明】
【図１】  本発明の第1の実施態様を説明するブロック構成図である。
【図２】  本発明の第2の実施態様を説明するブロック構成図である。
【図３】  本発明の第3の実施態様を説明するブロック構成図である。
【図４】  本発明の第4の実施態様を説明するブロック構成図である。
【図５】  図４に示した実施態様における動作を説明するタイミング図である。
【符号の説明】
100，200，300，400    リクエスト入力
110，210，310，410    メモリアクセスリクエスト
120，220，320，420    入力論理回路
140，240，340，440    要求生成器
160，260，360，460    優先順位決定回路
180，280，380，480    要求選択器
190，290，390，490    メモリアクセスコマンド
199，299，399，499    コマンド出力
【図１】
0004153579.tif 000003
【図２】
0004153579.tif 000004
【図３】
0004153579.tif 000005
【図４】
0004153579.tif 000006
【図５】
0004153579.tif 000007