JP4153579B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置 Download PDFInfo
- Publication number
- JP4153579B2 JP4153579B2 JP01024298A JP1024298A JP4153579B2 JP 4153579 B2 JP4153579 B2 JP 4153579B2 JP 01024298 A JP01024298 A JP 01024298A JP 1024298 A JP1024298 A JP 1024298A JP 4153579 B2 JP4153579 B2 JP 4153579B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- memory access
- command
- rule
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明はマルチメデイアプロセッサに適するメモリアクセスインターフェースに関する。
【0002】
【従来の技術】
多くのコンピュータ及びマルチメデイアシステムは、メモリへ制御コマンドの送り出しや、メモリへ、またはメモリからデータの送受信をするためメモリアクセスインターフェースを必要とする。このメモリは変数、制御情報、画像収納用のフレームデータを一時的に保持したり、システムの他の要求を保持するために用いられる。そのようなメモリに対する制御コマンドはメモリの初期化、更新、ピンポンとして知られるメモリバンクオーバーラッピングなどに必要である。データ転送の速度及びデータ転送の効率は、ますます開発が望まれる。マルチメデイアシステム及びコンピュータシステムにおいては、メモリに対し、高度な性能のアクセスを必要とする。最低のコストで高度な性能を確保するためには、メモリを限られた用途に限定して作用させることが多い。概して、安価なメモリは性能が低い。開発者は、システムのコストを下げるため安価なメモリを用い、その性能をできるだけ高めることに努力してきたが、限界が有った。
【0003】
この性能を上限に近いところに持ってゆくには、たとえば、複合メモリアクセスインターフェースが用いられる。DRAM半導体メモリアクセスにあっては、行アドレスを設定するのにRASサイクルを必要とし、その後、列アドレスで特定された行にデータが送り込まれる。二つ以上のDRAMのバンクを用いることによって、一つのバンクはRASサイクルを実行し、他のバンクはデータ転送を実行することができる。これは、バンクのピンポンを採用するSDRAMにおいて利用されている。(例えば、16MビットSDRAMのNEC uPD45161561G5-A12-7JFの説明書を参照)
メモリアクセスインターフェースを実現する場合、複雑さの低減と、費用の低減の両方を満足させる最も容易な方法は、内部プロセスのタイミングを、種類または形態が異なる外部メモリのタイミングに合わせることである。例えば、SDRAMをフレームメモリとして用いるMPEG-2(国際標準化機構による「IS13818 - 動画及び関連のオーデイオのジェネリックコーデイング」、ISO MPEG書類、ISO-IEC/JTC1/SC2/WG11, 1994を参照)ビデオデコーダー集積回路では、 SDRAMから動き補償されたマクロブロックの画素情報を読む動き補償プロセスは、SDRAMに必要なタイミングとほぼ同様のタイミングで行及び列のアドレスを生成させることが出来る。こうして、動き補償プロセスにおいて、バンクのピンポンがなされる。内部プロセスのタイミングを外部メモリ型に合わせることは通常内部構造を、外部メモリの形式又は形状に合わせる必要がある。このように、特別の形式または形態の外部メモリに合致したアドレスを、内部プロセスで生成するためには、特別のアドレス生成手段を必要とする。
【0004】
【発明が解決しようとする課題】
本発明が解決する問題は幾つかある。本発明の一つの課題は、メモリアクセスの性能を最大限にするため、メモリアクセスを出来るだけ待ち時間をなくして、継続的に生成できるようにすることである。メモリの種類によっては、メモリアクセスのデータ転送の準備が出来るまでにある種の前プロセッシングを必要とするものがある。例えば、DRAM半導体メモリーはメモリアクセスを開始するのにRASサイクル及びCASサイクルを必要とする。複数のDRAMを備えたシステムでは、一つ又は複数のDRAMのRASサイクルを他のDRAMのCASサイクルと時間的に重複させることが可能である。
【0005】
別の例として、一つのバンクの前処理が別のバンクのデータ転送と重複できる、複数のバンクを含むSDRAMである。この重複した処理のタイミングの制御及び最適化をするためには、複雑なインターフェースや、複雑なメモリアクセス制御を必要とする。
【0006】
本発明の課題の一つは、メモリのアクセスに必要なプロセスを、簡単なインターフェースを備えたメモリアクセス制御装置を提案することである。
【0007】
本発明のもう一つの課題は、メモリ自体のコントロールと、メモリアクセスに必要なプロセスとを独立させることである。
【0008】
本発明の課題の一つは、メモリアクセス制御装置を、新規な又は異なったタイプ又は形状のメモリにも容易に利用することが出来るようにすることである。メモリを必要とする電子製品において、コストや性能により、利用されるメモリのタイプや形態がしばしば変更されることがある。これは、メモリのコストや性能が、メモリ技術の進歩に従い急速に変化するからである。同様に、メモリを用いるアプリケーションもこれらの変化に適合するよう、急速に変化しなければならない。
【0009】
本発明の課題の一つは、あるメモリタイプをサポートするメモリアクセス制御装置であっても、別のメモリタイプでもサポートすることができるメモリアクセス制御装置を提案することである。また、本発明の課題の一つは、異なったメモリタイプ又は異なったメモリシステムのいずれのメモリタイプまたはいずれのメモリシステムであっても動作可能なメモリアクセス制御装置を提案することである。
【0010】
本発明の課題の一つは、異なったメモリアクセスの要求を備えた、異なったアプリケーションに用いることができるメモリアクセス制御装置を提案することである。新規なアプリケーションは以前のアプリケーションとは異なった形式でメモリを用いる場合があり、かかる場合、メモリアクセス制御装置を設計し直していたのでは、安価な装置を作ることができない。かわりに、ほとんど変更を必要としない万能なメモリアクセス制御装置を用いることができれば、コストの低減を図ることができる。本発明の課題の一つは、かかる万能なメモリアクセス装置、すなわち、あるメモリに対するアクセスの要求及び機能に合致したメモリアクセス制御装置を、別の種類のメモリに対するアクセスの要求及び機能をもサポートすることができるメモリアクセス制御装置を提案することである。本発明の課題の一つは異なったメモリアクセスシステムを有する種々のメモリに対しても共通して利用できるメモリアクセス制御装置を提案することである。
【0011】
本発明の課題の一つは性能を低下させることなく、コンパクトなメモリアクセス制御装置を提案することである。これにより、高性能な電子製品を安価に提供することが可能となる。
【0012】
【課題を解決するための手段】
上記の問題点を解決するために、本発明にかかるメモリアクセス制御装置が開発された。該メモリアクセス制御装置はメモリアクセスリクエストをメモリアクセスコマンドに変換するために用いられる。一連のメモリアクセスリクエストはリクエスト入力から入力される。入力論理回路はリクエスト入力から入力されるメモリアクセスリクエストをアクセプトしてメモリアクセスリクエストを一つ又は複数のリクエストにデマルチプレックスし、それらは対応する要求生成器へ送られる。要求生成器は要求を決定するために用いられ、要求はリクエストに対しどのメモリアクセスコマンドが必要であるかを示している。要求は優先順位決定回路によって順位がつけられ、順位つき要求となる。要求選択器は順位つき要求に基づきメモリアクセスコマンドを選択する。要求選択器は、ルールチェッカから成り、各順位つき要求を所定のルールを用いてチェックし、もし所定のルールに適合すれば対応する順位つきコマンドを生成する。ルールチェッカにおいて、順位つきルールチェッカは、ルール論理回路によって生成された所定のルールに順位つき要求の各々が適合しているか否かをチェックする。コマンド出力選択器は順位つきコマンドからメモリアクセスコマンドを選択する。メモリアクセスコマンドの配列はコマンド出力から出力される。
【0013】
一連のメモリアクセスリクエストの入力は、メモリのタイプ又は形態に関わらず動作可能な簡単なインターフェースに送られる。このインターフェースは、メモリへのアクセスを必要とするプロセスとメモリとの間に存在する。多段の要求生成器、優先順位決定回路、及び順位つきルールチェッカを用い、メモリアクセスの前処理と、データ転送又は他の前処理とを適宜、並行処理する。順位つきルールチェッカから得られる順位つきコマンドは、メモリアクセスに対する制御信号として利用される可能性のあるコマンドである。それらはメモリに送り出される最適な瞬間まで、コマンド出力選択器に保持されている。これにより、メモリアクセスコマンドの最適な連続出力が行われ、メモリアクセスの最高の性能が達成できるようになる。メモリアクセスリクエストを生成するプロセスは、メモリアクセス制御コマンドの重複には関わらないので、それらはモリアクセス自体の設計の詳細の多くから独立している。それらは単純に一連のメモリアクセスリクエストを本発明にかかるメモリアクセス制御装置に送るだけであり、それらは本発明にかかるメモリアクセス制御装置により、接続されたメモリに合致したメモリアクセスコマンドを生成する。
【0014】
この分離、独立は、メモリの形式又は形態が変わっても、メモリアクセスリクエストを発するプロセスには大きな変更を要求しないことを意味する。例えば、要求生成器、ルール論理回路、及びルールチェッカを変更することにより、メモリアクセスを要求する内部プロセスの変更をすることなく、異なったメモリ形態をサポートすることも出来る。同様に、プロセスの変更、例えば新規なプロセスが加わったとしても、大局的には同じであるので、メモリアクセス制御装置に大きな変更をする必要はない。例えば、一旦SDRAMアクセス用に設計されれば、 SDRAMアクセスを必要とする多くのアプリケーションに対して同一の設計が適している。それは、一連のメモリアクセスコマンド間のオーバーヘッドを最小にすることは、最大の性能を必要とするすべてのアプリケーションに対して適当であるからである。本発明にかかるメモリアクセス制御装置は、簡単な構成でしかも少ない論理回路で作ることができるので、安価にすることができ、最適なメモリアクセスコマンド出力が可能な、高性能な装置である。
【0015】
【発明の実施の形態】
本発明の実施形態の一例を図1に示す。リクエスト入力100からメモリアクセスリクエスト110が入力論理回路120に送られる。入力論理回路はリクエスト130を、要求生成器140へ送り、要求150を生成する。優先順位決定回路160は要求150を優先順位に従って並び換え、それらに順位をつけ、順位つき要求170として要求選択器180へ送る。要求選択器180は順位つき要求170に基づき、いずれの要求をメモリアクセスコマンド190として選択すべきかを決定し、選択された要求をコマンド出力190を介して出力される。
【0016】
図1の実施態様の動作について記述する。入力論理回路120はリクエスト入力100からメモリアクセスリクエスト110を受け、それらを順次、要求生成器140へデマルチプレックスする。各要求生成器140は、メモリアクセスリクエストを受けると、メモリアクセス制御信号を生成する。要求順位決定回路160は、各要求生成器140から出力される要求150に対し、時間的に早く出されたメモリアクセスリクエストに対応する要求の方が、優先順位が高くなるように、優先順位を決定し、記録する。このようにして、最も高い優先順位つき要求170に対応するメモリアクセスリクエストは、最優先して処理される。要求選択器180は優先順位に従って、順位つき要求170を順次選択し、選択結果をメモリアクセスコマンド190として出力する。一般に、順位つき要求170はメモリ自体に発せられるコマンドを示す。要求選択器180は、順位つき要求170を優先順位に従って選択してもよいし、さらに追加のルールを適用してもよい。例えば、所定の組み合わせで順位つき要求170が要求された場合、要求選択器180は優先順位が低い方の順位つき要求170を選択するかもしれない。例えば、優先順位が低い方の順位つき要求170は、後続のデータを所定の配列でメモリに記憶することができるようにメモリを予め設定する、前処理・コマンドであるかもしれない。要求選択器180は、この前処理・コマンドをまず出力し、優先順位が高いデータの転送が行われている際に、前処理が行われるよう、前処理とデータ転送とを重複させることが出来る。
【0017】
図1の実施形態は要求生成器140、要求150及び順位つき要求170の数を限定するものではない。更に、メモリアクセスリクエスト110が順次デマルチプレックスされて要求生成器140に送られる構成は一例であって、この構成に限られる必要性はない。別の適当な順番でデマルチプレクスしてもよい。
【0018】
図1により記述された本実施形態の効果は、メモリアクセスリクエストのシーケンシャルな順次入力が、最適に重複されたメモリアクセスコマンドに変換されることである。メモリコマンドの生成は、メモリアクセスを必要とする処理からメモリアーキテクチャを独立させ、メモリアクセス制御装置によって行われる。
【0019】
次に本発明の第2の実施形態を図2に示す。リクエスト入力200はメモリアクセスリクエスト210を入力論理回路220へ送る。入力論理回路220はリクエスト230を、要求250を生成する要求生成器240へ分配する。優先順位決定回路260は要求250を優先順位によって編成し、それらを順位つき要求270として要求選択器280へ送る。各順位つき要求270はルールチェッカ281へ送られ、そこで送られてきた順位つき要求270に相当する順位つきコマンド285が生成される。コマンド出力選択器289は、順位つきコマンド285から一つのコマンドを選択し、メモリアクセスコマンド290として、コマンド出力299を介して出力する。
【0020】
次に図2の実施形態の動作について説明する。特に要求選択器280の詳細を説明する。この実施形態の要求選択器280は、順位つき要求270が受け入れ可能なメモリアクセスコマンド290であるかどうかをチェックする多段ルールチェッカ281を有する。もし可能であれば、順位つき要求270は順位つきコマンド285として出力され、コマンド出力選択器289に送り出される。コマンド出力選択器289は、適切なメモリアクセスコマンド290を選択し、出力する。図1の実施形態に対して述べたように、コマンド出力選択器289は優先順位にしたがって順位つきコマンド285を選択してもよいし、追加の基準、たとえば順位つきコマンド285の種類に基づいて選択することも出来る。
【0021】
図1の実施形態と同様に、図2の実施形態も要求生成器240、要求250、順位つき要求270及び順位つきコマンド285の数を限定するものではない。
【0022】
次に本発明の第3の実施形態を図3に示す。リクエスト入力300はメモリアクセスリクエスト310を入力論理回路320へ送る。入力論理回路320はこれらのリクエストをリクエスト0330及びリクエスト1331とし、それぞれ要求生成器0340及び要求生成器1341に送る。要求生成器0340及び要求生成器1341はそれぞれ要求0350及び要求1351を生成する。優先順位決定回路360は要求0350及び要求1351のそれぞれについて優先順位を決定し、それらを順位つき要求0370及び順位つき要求1371として要求選択器380へ送る。優先順位決定器365は要求0350及び要求1351の優先順位を決定し、この結果をprio0363及びprio1364としてそれぞれ優先順位選択器0361及び優先順位選択器1362に送る。優先順位選択器0361はprio0363に基づいて要求0350又は要求1351のいずれかを選択し、順位つき要求0370として出力する。優先順位選択器0362はprio1364に基づいて要求0350又は要求1351のいずれかを選択し、順位つき要求1371として出力する。順位つき要求0370はルールチェッカ382へ送られ、所定の判断がなされ、その判断をパスしたものは、順位つきコマンド0385として出力される。順位つき要求1371はルールチェッカ383へ送られ、所定の判断がなされ、その判断をパスしたものは、順位つきコマンド1386として出力される。ルール論理回路387によって生成されたルール384は順位つきルールチェッカ0382及び順位つきルールチェッカ1383へ送られる。コマンド出力選択器389は順位つきコマンド0385及び順位つきコマンド1386に基づき、メモリアクセスコマンドとしてどちらを選択するべきかを決定し、決定されたコマンドは、コマンド出力399を介して出力される。
【0023】
次に図3の実施形態の動作について述べる。特に、選択器360について詳細を述べる。この実施形態の優先順位決定回路360は、要求0350又は要求1351のいずれかを選択して、順位つき要求0370を決定する優先順位選択器0361と、要求0350又は要求1351のいずれかを選択して、順位つき要求1371を決定する優先順位選択器1362を有する。どちらの要求を選択するかの決定は、優先順位決定回路365によって決定され、この優先順位決定回路365は、選択決定prio0363を優先順位選択器0361へ出力する一方、また選択決定prio1364を優先順位選択器1362へ出力する。この実施形態のルールチェッカ381は、順位つき要求0370をチェックする順位つきルールチェッカ0382と、順位つき要求1371をチェックする順位つきルールチェッカ1381を有する。もし順位つき要求370,371がルール論理回路387によって生成されたルール384により問題なしと判断されれば、それらは順位つきコマンド0385及び順位つきコマンド1386としてコマンド出力選択器389へ送られ、適宜選択され、メモリアクセスコマンド390として出力される。
【0024】
図3の実施形態は二つのリクエスト330,331、二つの要求生成器340,341、二つの優先順位選択器361,362、二つの順位つき要求370,371、二つの順位つきルールチェッカ382,383、及び二つの順位つきコマンド385,386を備えているが、数は問題ではなく、本発明はこれらの部材についてそれぞれ二つに限定されるものではない。これらの部材は1個又はそれ以上であってもよい。また、prio363,364の数も1又はそれ以上であってもよい。例えば、優先順位選択器361,362のいずれか又はすべてに対して同一の信号を用いることもできる。同様に、同一又は異なったルールが、順位つきルールチェッカ382,383によって用いられることも可能である。
【0025】
次に本発明の第4の実施形態を図4に示す。リクエスト入力400はメモリアクセスリクエスト410をリクエスト430及びリクエスト431としてそれぞれ要求生成器0440および要求生成器1441へ送られ、送られてきたリクエスト430,431は、入力論理回路420からのenip0信号423及びenip1信号424を用いてデマルチプレクスされる。この実施形態では、入力論理回路420は、例えば、FIFOインターフェースとして作用し、入力されたメモリアクセスリクエスト410をFIFO形式で読み込み、これらのリクエスト430、431を要求生成器 440、441へ送り出す。空信号421を用い、FIFO形式で入力されたデータが有効なメモリアクセスリクエスト410を含むことを示す。要求生成器0440および要求生成器1441はそれぞれ要求0450及び要求1451を発生する。優先順位決定回路460は要求0450及び要求1451を優先順位にしたがって配列し、それらを順位つき要求0470及び順位つき要求1471として要求選択器480へ送る。優先順位決定器468は要求0450及び要求1451の優先順位を決定し、この結果は、priosel信号467として優先順位選択器0461及び優先順位選択器1462へ伝えられる。優先順位選択器0461はpriosel信号467に基づいて要求0463又は要求1464のいずれかを順位つき要求0470として選択する。優先順位選択器1462はpriosel信号467に基づいて要求0465又は要求1466を順位つき要求1471として選択する。順位つき要求0470は、順位つきルールチェッカ0482へ送られ、所定の判断がなされて順位つきコマンド0485として出力される。順位つき要求1471は、順位つきルールチェッカ1483へ送られ、所定の判断がなされて順位つきコマンド1486として出力される。ルール論理回路487によって生成されたルール484は順位つきルールチェッカ0482及び順位つきルールチェッカ1483へ送られる。コマンド出力選択器489は、順位つきコマンド0485及び順位つきコマンド1486のいずれかを選択し、メモリアクセスコマンド490としてコマンド出力499を介して出力される。
【0026】
次に図4の実施形態の動作について述べる。この実施形態では順次送られてくるメモリアクセスリクエスト(410)を供給するため、FIFO形式をどのように用いることができるかを示す。入力論理回路420はFIFOを読むタイミングを制御する。すなわちenip0423及びenip1424を用い、いずれのリクエスト430,431をいずれの要求生成器0440及び要求生成器1441へ入力するべきかを制御する。この実施形態では、入力論理回路420は交互にそれらを選択する。最初のメモリアクセスリクエスト410は要求生成器0440へ送られ、次のメモリアクセスリクエスト410は要求生成器1441へ送られ、さらに次のメモリアクセスリクエスト410は要求生成器0440へ送られる。
【0027】
この実施形態では、要求生成器440,441は、2つのメモリバンクを持っているSDRAMにアクセスするためのコマンドを生成する。各リクエスト430,431は一連のSDRAMコマンドを生成する。二つのシリーズのコマンドが可能である。即ち、一つはプリチャージコマンド、アクテイベートコマンド、読み出しコマンドのシリーズであり、もう一つは、単純に読み出しコマンドのシリーズである。この実施形態では、メモリアクセスリクエストに相当する一連のコマンドの終了は、コマンド出力選択器489から出力されるdonereq信号425,469,494を用いて示される。入力論理回路420に入力されるdonereq信号425を用い、リクエスト0430及びリクエスト1431がそれぞれ要求生成器440,441に入力されるタイミングを制御する。
【0028】
優先順位決定器468に入力されるdonereq信号469は、優先順位選択器461,462に入力されるpriosel信号467の入力されるタイミングを制御する。この実施形態では、一シリーズ内のコマンドの終了はアクセプト0信号442,491及びアクセプト1信号443,492によって示される。これらのアクセプト信号はコマンド出力選択器489から出力される。要求生成器0440に送られるアクセプト0信号442は、要求生成器0440から出力された要求0に基づく一連のコマンドの内、特定のコマンドがアクセプトされ、続いて新たな要求0を出力してもよいことを要求生成器0440に示す。同様に、要求生成器1441に送られるアクセプト1信号443は、要求生成器1441から出力された要求1に基づく一連のコマンドの内、特定のコマンドがアクセプトされ、続いて新たな要求1を出力してもよいことを要求生成器1441に示す。
【0029】
この実施形態においては、ルール論理回路487は前に選択されたメモリアクセスコマンド出力490に基づいてルールを生成する。ルール論理回路487に入力されるcmd信号493は、どのメモリアクセスコマンドが出力されたかを示す。この実施形態においては、ルール論理回路487はSDRAMに適合したルールに基づいてルールを生成する。例えば、それは、プリチャージコマンドからアクテイベートコマンドに変わるタイミング、及びアクテイベートコマンドから読み出しコマンドに変わるタイミングのように、連続したコマンドの間のタイミングを定める。この実施形態では、論理回路487からの出力は、どのようなSDRAMのコマンドが可能であるかを示すルール484である。例えば、もしバンク0のプリチャージが可能であれば、ルール484はそれを示す。もしバンク1の読み出しが可能であれば、ルール484はそれを示す。順位つきルールチェッカ482,483はルール484に基づき順位つき要求470,471をチェックし、アクセプトできるコマンドが順位つきコマンド485,486として出力される。例えば、もし順位つき要求470の内容が、バンク0にプリチャージコマンドが必要であることを示すとともに、ルール484の内容が、SDRAMにプリチャージコマンドを与えてもよいことを示すならば、順位つきコマンド0485の内容は、バンク0にプリチャージコマンドが必要であることを示す。他方、もしルール484の内容が、SDRAMはプリチャージコマンドをアクセプト出来ないことを示すならば、順位つきコマンド0485の内容は、プリチャージコマンドを必要とするという内容を取ることができない。
【0030】
この実施形態では、コマンド出力選択器489は、一連のSDRAMコマンドにおいて最終コマンドが出れば、donereq信号494を発生させる。本実施形態においては、最終コマンドは読み出しであるので、読み出しコマンドが出れば、コマンド出力選択器489はdonereq信号494を出力する。
【0031】
図5は図4の実施形態の動作のタイミング図で、特にSDRAMメモリアクセス制御装置に用いられる場合について述べている。このタイミング図においては、いくつかの簡略化して書かれた記号が、リクエスト410、分類された要求及びコマンド450,451,470,471,485,486,490、及びルール484に対して用いられる。
【0032】
メモリアクセスリクエスト410の簡略化された記号:
[バンク=0/1] [読み出し=R] [新たな行を示すフラグ=N/-]
例1:0RNは、「バンク0は、新たな行から読み出せ」を意味する。
(読み出しの前にはプリチャージ及びアクテイベートの処理が必要)
【0033】
例2:1R−は、「バンク1は、同じ行(新たな行でない)から読み出せ」を意味する。
(プリチャージ及びアクテイベートの処理は必要なし)
【0034】
要求及びコマンド450,451,470,471,485,486,490の簡略化された記号:
[バンク=0/1] [コマンド=P/A/R]
例1:0Pは、「バンク0をプリチャージせよ」を意味する。
【0035】
例2:1Aは、「バンク1をアクテイベートせよ」を意味する。
【0036】
例3:1Rは、「バンク1を読み出せ」を意味する。
【0037】
例4:−−は、「無」(リクエスト又はコマンド無し)を意味する。
【0038】
ルール484の簡略化された記号:
2進法表示を用いて、[OP][OA][OR] [1P][1A][1R]の有無を表す。項目[0P]が有りであれば1で、無しであれば0となる。他の項目についても同様とする。111 111は、すべての項目[OP][OA][OR] [1P][1A][1R]が有りとなり、111 111を8進法で表示すれば77となる。また、010 000は、項目[0A]のみが有りとなり、010 000を8進法で表示すれば20となる。
【0039】
例1:77は、「バンク0のプリチャージ[0P]、バンク0のアクテイベート[0A]、バンク0の読み出し[0R]、バンク1のプリチャージ[1P]、バンク1のアクテイベート[1A]、バンク1の読み出し[1R]、のいずれも可能であること」を意味する。
【0040】
例2:07は、「バンク1のプリチャージ、バンク1のアクテイベート及びバンク1の読み出しが可能であること」を意味する。
【0041】
例3:00は、「いずれのコマンドも可能でないこと」を意味する。
【0042】
例4:20は、「バンク0のアクテイベート[0A]が可能であること」を意味する。
【0043】
クロック信号は実施形態に対するものとSDRAMに対するものとの両方に対するクロック信号として用いられる。
【0044】
この簡単な例に対して、ルール論理回路487は下記の表に示すルールを含む。
【0045】
図5において、クロック0の間、空信号はローとなり、有効なメモリアクセスリクエスト410が存在することを示す。読み出し信号はハイとなり、このリクエストを読み、そしてenip0はリクエストを要求生成器0440へ送る。最初のリクエストは0RNであって、バンク0の新たな行の読み出しを意味する。新たな行なので、先行してプリチャージ・コマンド及びアクテイベード・コマンドが必要である。要求生成器0440は、クロック0の間、プリチャージが必要であると判断し、クロック1の間、内容がOP、すなわち「バンク0をプリチャージせよ」を意味する要求0450を出力する。この間、ルール484はどのコマンドでも可能という意味の信号77を表しているので、0Pはコマンド出力から出力される。アクセプト0491,442は、ハイになり、要求生成器0440からのコマンドがアクセプトされたことを示す。その結果、要求生成器0440は、クロック2に示すように、内容がOA、すなわち「バンク0をアクテイベートせよ」を意味する要求0450を出力する。しかし、この時点では、ルール484は07を示して、バンク0に対してはコマンドをアクセプトすることは出来ないことを示しているので、OAはアクセプトされない。また、クロック2の間、内容が1P、すなわち、「バンク1をプリチャージせよ」を意味する要求1451はアクセプトされる。
【0046】
このようにして、入力されたリクエストが、クロック0の時0RN、クロック1の時1RN、クロック7の時1R-であれば、SDRAMに最適なコマンドシーケンス0P、1P、0A、0R、1A、1Rを出力することができ、これらのコマンドは、SDRAMのコマンドタイミングの要件を満たしている。
【0047】
図4及び5図に示された実施形態によれば、淡々と直列に送られてくるメモリアクセスリクエストは、メモリアクセスコマンドのシーケンスと最適な関係で重なることが出来るという効果を持つ。上述した簡単なFIFOインターフェースは、メモリアクセスリクエストを作るプロセスにおける簡単なインターフェースの一例である。本発明は簡単な構成で効率のよいメモリアクセスコマンドを生成することができる。出力コマンドのタイミングは、入力リクエストのタイミングとは独立しているので、メモリアクセスリクエストを生成するプロセスをほとんど変えることなく、メモリの形式や構成が変わっても容易に対応することができる。
【0048】
図4の実施形態においては、二つのリクエスト430,431、二つの要求作成器440,441、二つの優先順位選択器461,462、二つの順位つき要求470,471、二つの順位つきルールチェッカ482,483及び二つの順位つきコマンド485,486を示したが、本発明はこれらの部材の数がそれぞれ二つに限定されるものではない。これらの部材の数は、1又はそれ以上で有ってもよい。この実施形態においては、2つのバンクを有するSDRAMを使用する例を示したが、2つのバンクのSDRAMに限定されるものではない。本発明は、1つ又は複数のRAM又は他の形式又は形状のメモリに対応したものを構成することも可能である。
【0049】
また、本発明は、メモリアクセス制御に必要な種々のコマンド、例えば、リフレッシュ・アンド・ライト・コマンドに対するメモリアクセスリクエストにも対応可能である。本発明は実施形態で説明したメモリアクセスリクエストに限定されるものではない。この場合は、ルール論理回路487に種々のコマンドの情報も含めるようにすればよい。このように、ルールは、限定されたものではなく、必要に応じて新たなルールの追加又は既存のルールの削除を行ってもよい。
【0050】
【発明の効果】
本発明によれば、メモリアクセスの待ち時間は少なくなり、メモリアクセスの性能を最大限に発揮させることができる。並行処理が可能なコマンド出力選択器においてアクセプトされたメモリアクセスコマンドが配列されるので、データ伝送とプロセッシングは並行処理され、メモリアクセスの性能を最大限に発揮することができる。多段の要求生成器は、各メモリアクセスに対しコマンドを生成する一方、コマンド出力選択器は、出力すべきコマンドを選択することができるので、最適の順番でコマンドを出力することができ、メモリアクセスの性能を最適にすることができるものである。
【0051】
本発明によれば、メモリアクセスに必要なプロセスと、メモリ自体の制御を並行して行うことができる。これは、簡単なメモリアクセスリクエストインタフェースによりこれらのリクエストを順次受けることができからである。これにより、新規な又は異なった形式又は形状のメモリにも対応することができると共に、異なったプロセスを必要とする複数のメモリが有ってもメモリアクセス制御を容易にすることができるものである。
【図面の簡単な説明】
【図1】 本発明の第1の実施態様を説明するブロック構成図である。
【図2】 本発明の第2の実施態様を説明するブロック構成図である。
【図3】 本発明の第3の実施態様を説明するブロック構成図である。
【図4】 本発明の第4の実施態様を説明するブロック構成図である。
【図5】 図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 コマンド出力
Claims (7)
- メモリアクセスリクエストをメモリアクセスコマンドに変換するメモリアクセス制御装置であって、
一連のメモリアクセスリクエストを入力するリクエスト入力部と;
一連のメモリアクセスコマンドを出力するコマンド出力部と;
該リクエスト入力部から該メモリアクセスリクエストを受け、該メモリアクセスリクエストを一つ又は複数のリクエストにデマルチプレックスする入力論理回路と;
該メモリアクセスリクエストに対応したメモリアクセスコマンドを示す要求を生成する一つ又は複数の要求生成器と;
該要求を優先順位にしたがって順位をつけ、順位つき要求を生成する優先順位決定回路と;
該順位つき要求から該メモリアクセスコマンドを選択する要求選択器とから成るメモリアクセス制御装置。 - 上記要求選択器は、
該順位つき要求が所定のルールを満足している場合、該順位つき要求に対応した順位つきコマンドを生成するルールチェッカと;
該順位つきコマンドの中から一つを選出して、該メモリアクセスコマンドとして出力するコマンド出力選択器とから成る、請求項1に記載のメモリアクセス制御装置。 - 上記ルールチェッカは、
該順位つき要求が所定のルールを満足している場合、該順位つき要求に対応した順位つきコマンドを生成する一つまたは複数の順位つきルールチェッカと;
該所定のルールは、種々有るメモリアクセスコマンドの内、いずれのメモリアクセスコマンドが受け入れ可能かを示すルールであって、かかる所定のルールを生成するルール論理回路とから成る、請求項2に記載のメモリアクセス制御装置。 - 上記ルール論理回路は、SDRAMにアクセスするのに必要なメモリアクセスコマンドに関するルールを生成する、請求項3に記載のメモリアクセス制御装置。
- 上記入力論理回路は、
該メモリアクセスリクエストをFIFO形式で読み取るFIFOインターフェースと;
該メモリアクセスリクエストをデマルチプレックスして一つ又は複数のリクエストにするリクエストデマルチプレックサーとから成る、請求項1、2、3又は4に記載のメモリアクセス制御装置。 - 上記要求生成器は、SDRAMにアクセスするのに必要なコマンドに基づいて要求を生成する生成器から成る、請求項1、2、3、4又は5に記載のメモリアクセス制御装置。
- 上記優先順位決定回路は、
該要求を順位つき要求変換する一つ又は複数の優先順位選択器と;
該要求のどれを優先させるかを該優先順位選択器に指示する優先順位決定器から成る、請求項1、2、3、4、5又は6に記載のメモリアクセス制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01024298A JP4153579B2 (ja) | 1998-01-22 | 1998-01-22 | メモリアクセス制御装置 |
DE69921519T DE69921519T2 (de) | 1998-01-22 | 1999-01-08 | Speicherzugangssteuervorrichtung |
EP99100222A EP0932105B1 (en) | 1998-01-22 | 1999-01-08 | Memory access controller |
US09/231,019 US6295588B1 (en) | 1998-01-22 | 1999-01-14 | Memory access controller that converts memory access requests into memory access commands |
KR1019990001777A KR100327953B1 (ko) | 1998-01-22 | 1999-01-21 | 메모리 액세스 제어기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01024298A JP4153579B2 (ja) | 1998-01-22 | 1998-01-22 | メモリアクセス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11213662A JPH11213662A (ja) | 1999-08-06 |
JP4153579B2 true JP4153579B2 (ja) | 2008-09-24 |
Family
ID=11744848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01024298A Expired - Fee Related JP4153579B2 (ja) | 1998-01-22 | 1998-01-22 | メモリアクセス制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6295588B1 (ja) |
EP (1) | EP0932105B1 (ja) |
JP (1) | JP4153579B2 (ja) |
KR (1) | KR100327953B1 (ja) |
DE (1) | DE69921519T2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910095B2 (en) * | 2001-10-01 | 2005-06-21 | Britestream Networks, Inc. | Memory request handling method for small discontiguous accesses to high-density memory devices |
US20030135552A1 (en) * | 2002-01-14 | 2003-07-17 | Blackstock Michael A. | Method for discovering and discriminating devices on local collaborative networks to facilitate collaboration among users |
US7613772B2 (en) * | 2002-07-25 | 2009-11-03 | Colligo Networks, Inc. | Method for context based discovery and filtering of portable collaborative networks |
US7143264B2 (en) * | 2002-10-10 | 2006-11-28 | Intel Corporation | Apparatus and method for performing data access in accordance with memory access patterns |
US7782954B2 (en) * | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
US20090222537A1 (en) * | 2003-12-04 | 2009-09-03 | Colligo Newworks, Inc., A Canadian Corporation | System And Method For Interactive Instant Networking |
KR20070105761A (ko) * | 2006-04-27 | 2007-10-31 | 엠텍비젼 주식회사 | 데이터 처리 기능을 구비한 메모리 장치 및 그 데이터 처리방법 |
EP2251791A4 (en) * | 2008-01-29 | 2011-06-08 | Panasonic Corp | MEMORY ACCESS TIMEOUT ADJUSTMENT DEVICE AND MEMORY ACCESS TIMEOUT ADJUSTMENT METHOD |
US7613850B1 (en) | 2008-12-23 | 2009-11-03 | International Business Machines Corporation | System and method utilizing programmable ordering relation for direct memory access |
US8867303B2 (en) * | 2011-09-16 | 2014-10-21 | Altera Corporation | Memory arbitration circuitry |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0212541A (ja) * | 1988-04-29 | 1990-01-17 | Internatl Business Mach Corp <Ibm> | コンピユーテイング・システム及びその動作方法 |
JPH0492936A (ja) * | 1990-08-06 | 1992-03-25 | Nec Corp | メモリアクセス制御装置 |
JPH064401A (ja) * | 1992-06-19 | 1994-01-14 | Fujitsu Ltd | メモリアクセス回路 |
US5339442A (en) * | 1992-09-30 | 1994-08-16 | Intel Corporation | Improved system of resolving conflicting data processing memory access requests |
JP3443689B2 (ja) * | 1993-06-28 | 2003-09-08 | 日本テキサス・インスツルメンツ株式会社 | アービタ回路 |
JPH07175714A (ja) * | 1993-12-17 | 1995-07-14 | Toshiba Corp | メモリアクセス調停装置及び方法 |
JPH08249266A (ja) * | 1995-03-10 | 1996-09-27 | Sharp Corp | データ転送回路 |
US6047361A (en) * | 1996-08-21 | 2000-04-04 | International Business Machines Corporation | Memory control device, with a common synchronous interface coupled thereto, for accessing asynchronous memory devices and different synchronous devices |
US5990913A (en) * | 1997-07-30 | 1999-11-23 | Intel Corporation | Method and apparatus for implementing a flush command for an accelerated graphics port device |
-
1998
- 1998-01-22 JP JP01024298A patent/JP4153579B2/ja not_active Expired - Fee Related
-
1999
- 1999-01-08 DE DE69921519T patent/DE69921519T2/de not_active Expired - Lifetime
- 1999-01-08 EP EP99100222A patent/EP0932105B1/en not_active Expired - Lifetime
- 1999-01-14 US US09/231,019 patent/US6295588B1/en not_active Expired - Lifetime
- 1999-01-21 KR KR1019990001777A patent/KR100327953B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69921519T2 (de) | 2005-10-27 |
EP0932105A3 (en) | 2002-05-29 |
EP0932105A2 (en) | 1999-07-28 |
KR19990068048A (ko) | 1999-08-25 |
KR100327953B1 (ko) | 2002-03-16 |
US6295588B1 (en) | 2001-09-25 |
JPH11213662A (ja) | 1999-08-06 |
DE69921519D1 (de) | 2004-12-09 |
EP0932105B1 (en) | 2004-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0649100B1 (en) | Data processing system | |
US5367494A (en) | Randomly accessible memory having time overlapping memory accesses | |
US7093094B2 (en) | Random access memory controller with out of order execution | |
US6219724B1 (en) | Direct memory access controller | |
KR100573256B1 (ko) | 복수어드레스유지기억장치 | |
JP4153579B2 (ja) | メモリアクセス制御装置 | |
US7899940B2 (en) | Servicing commands | |
US20020120709A1 (en) | Shared-memory controller for use in a multimedia processor system | |
US6647439B1 (en) | Arrangement with a plurality of processors sharing a collective memory | |
KR101086417B1 (ko) | 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법 | |
US6008823A (en) | Method and apparatus for enhancing access to a shared memory | |
JP2003186740A (ja) | メモリ制御装置、及びメモリ制御方法 | |
US5581735A (en) | System for supplying unit image data to requesting users from multiple storage devices based on directory information and token queues identifying the requester and data | |
EP1604286B1 (en) | Data processing system with cache optimised for processing dataflow applications | |
US6738840B1 (en) | Arrangement with a plurality of processors having an interface for a collective memory | |
US8581918B2 (en) | Method and system for efficiently organizing data in memory | |
US5748920A (en) | Transaction queue in a graphics controller chip | |
JP2000259494A (ja) | メモリ制御装置 | |
US6785795B1 (en) | Data processing device for use in cooperation with a memory | |
US6847410B1 (en) | Picture data memory device with picture data input channels and picture data output channels | |
JP2007034404A (ja) | 情報処理システム及びメモリ制御装置 | |
JP3012530B2 (ja) | イメージメモリアダプタ | |
US20030204695A1 (en) | Dual processor apparatus capable of burst concurrent writing of data | |
JPH10143489A (ja) | 情報処理システム | |
KR100294639B1 (ko) | 다중억세스캐쉬장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080422 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080610 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080704 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110711 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110711 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130711 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |