JPH11345165A - アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ - Google Patents

アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ

Info

Publication number
JPH11345165A
JPH11345165A JP10377030A JP37703098A JPH11345165A JP H11345165 A JPH11345165 A JP H11345165A JP 10377030 A JP10377030 A JP 10377030A JP 37703098 A JP37703098 A JP 37703098A JP H11345165 A JPH11345165 A JP H11345165A
Authority
JP
Japan
Prior art keywords
access
request
priority
requests
memory
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.)
Pending
Application number
JP10377030A
Other languages
English (en)
Inventor
Gerard Chauvel
ショベル ジェラール
Serge Lasserre
ラッセール セルジ
Inverno Dominique D
ダンベルノ ドミニク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from FR9805423A external-priority patent/FR2778258A1/fr
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH11345165A publication Critical patent/JPH11345165A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 メモリ・アクセス待ち時間を減少するための
メモリ制御とアクセス・トラフィック制御を提供する。 【解決手段】 メモリをアクセスする複数個の要求に応
答するメモリ・トラフィック・コントローラ(18)で
あって、コントローラは、複数個の要求の各々に対し
て、要求に対応する初期優先度値を関係付ける回路(1
8d)を含む。コントローラはさらに、複数個の要求の
内の選択したものに対する初期優先度値を異なる優先度
値に変更する回路(18b、18d、18e、18f)
を含む。最後に、コントローラは、複数個の要求の内の
最高の優先度値を有する要求に応答して、メモリのアク
セスを生じさせる信号を出力する回路(18d)を含
む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ制御とダイレ
クト・メモリ・アクセス(「DMA」)を実装する環境に
関係し、特にアクセス待ち時間を減少するためこれらの
環境下での回路、システム、及び方法に向けられる。
【0002】
【従来の技術】メモリ制御は、メモリ・コントローラ、
すなわちダイナミック・ランダム・アクセス・メモリ
(「DRAM」)がしばしば制御されるメモリの型式である
ため、DRAMコントローラと呼ばれる機構によりコンピュ
ータ技術において標準的に実施されている。DRAMコント
ローラは大規模回路内に含まれる別の回路又はモジュー
ルでも良く、標準的には対応するメモリの1つ以上のメ
モリ位置をアクセスする要求を受け取る。各要求に応答
するため、メモリ・コントローラは十分な回路(例え
ば、アドレス・デコーダ及び論理デコーダ)を実装して
メモリへ適切な制御信号を与え、メモリを適切に制御し
てその記憶回路を加勢減勢する。
【0003】
【発明が解決しようとする課題】ある種のDRAMコントロ
ーラはメモリ・アクセスの効率が上がるよう設計されて
いるが、本発明の実施例と関連して現在の技術下ではあ
る種の制限が生じることが分かった。これらの制限のい
くつかは、多数のオーバーヘッド・サイクルを発生させ
るDRAMコントローラにより発生され、ここでオーバーヘ
ッド・サイクルとはDRAMがビジィであるが現在データを
送受信していないサイクルを表す。オーバーヘッドによ
り生じる全体的な不利益を減少させる1つの一般的な解
決方法は、バースト操作を使用することである。標準的
には、バースト・サイズと共に単一のアドレスのみが必
要であり、各データ単位当り余分のオーバーヘッドなし
にその後連続するデータ単位(すなわち、バースト)が
読取り又は書込みできるため、バースト操作は全体のオ
ーバーヘッドを減少させる。しかしながら、バースト技
術をもっても、特定のバースト・サイズに対して必要と
されるオーバーヘッド・サイクルの量を調べることは依
然として重要である。この点に関しては、現在の技術で
は、全体のアクセス長に対するバースト長の比率が効率
の1つの尺度を与える。この尺度を与えると、バースト
長を増大することにより、すなわち中断されない長いバ
ースト・アクセスを与えることにより効率は改良可能で
ある。言換えると、同数のオーバーヘッド・サイクルに
対してオーバーヘッド・サイクルに対するデータ・アク
セス・サイクル数の増加があるため、効率が良くなった
と考えられる。しかしながら、このような方式も障害を
与えることが本発明者により確認された。1つの欠点と
しては、多数のサイクルのバーストは、バースト時に異
なる要求回路によるメモリへのアクセスが禁止される、
又は異なる要求回路がバーストに割込みを許可された場
合、これは現在のバーストを停止させるオーバヘッド・
サイクルと、異なる要求回路のアクセスが完了してから
バーストを再開する余分なオーバーヘッドを追加する、
割込みにより標準的には達成される。これらの欠点は、
同じDRAMへのアクセスを有する1つ以上のプロセッサ
(例えば汎用、特殊プロセッサ、MPU、SCP、ビデオ・コ
ントローラ、等)を含むシステムでは特に顕著である。
【0004】上記の制限をさらに図示し、更なる追加説
明とするため、図1はDRAMコントローラを介した主メモ
リへの4回のアクセスのタイミング図を図示し、このア
クセスを一般的にA1からA4と名づける。説明の都合上、
アクセスA1とA3は第1のリソースR1(例えばCPU)と仮定
し、アクセスA2とA4は第2のリソースR2(例えば外部周
辺装置)と仮定する。アクセスA1からA4は以下で詳細に
調べるが、この時点で第1図はこれらのアクセスで費や
される標準的なクロック・サイクル数の例を各々が表し
ていていることに注意されたい。アクセスのこれらの数
とタイミングを以後使用して本発明実施例の各種の利点
を図示する。
【0005】アクセスA1は主メモリへの読取りバースト
・アクセスで、ここでバーストは8データ語である。ア
クセスA1の第1の部分はオーバーヘッド期間で、この図1
の例では6サイクルを要する。このオーバーヘッドは本
文書ではリーディング・オーバーヘッドと呼び、当該技
術において公知のように、読取るべきアドレスを含む制
御信号を主メモリへ与え、これらに信号に応答する主メ
モリの動作を待機するような操作を含む。アクセスA1の
第2部分は主メモリからのデータのバーストの提供であ
る。本例では、バースト・サイズは8で、各バースト量
(例えば、16ビット)は単一のクロックを消費する。
従って、8個の16ビット量のバーストは全体で8サイ
クルを要する。アクセスA1の説明をまとめると、当業者
はこれが全体で14サイクルを要するものと認められ
る。
【0006】アクセスA2、A3、A4は各々単一データ読取
り、書込みバースト、単一データ書込みを表す。アクセ
スA1と同様に、アクセスA2、A3、A4の各々はいくつかの
数のリーディング・オーバーヘッド・サイクルから開始
される。特に、アクセスA2の読取り操作は6サイクルの
リーディング・オーバーヘッドを使用するが、アクセス
A3とA4の書込み操作の各々は3サイクルのリーディング
・オーバーヘッドを使用する。加えて、アクセスA2、A
3、A4の各々はデータ量当り単一のサイクルを消費する
のが示されている。従って、アクセスA2とA4の単一デー
タ操作は対応する単一サイクルを各々消費し、一方アク
セスA3のバースト操作は8サイクルを消費して、この8
サイクルの各々は書込みデータの8バーストの一つに対
応する。最後に、アクセスA2、A3、A4の各々はデータ・
アクセス後のオーバーヘッドも含むことに注意された
い、このオーバーヘッドは本文書では終了オーバーヘッ
ドと呼ばれる。このようなオーバーヘッドは、メモリ行
及び/又はバンクのプリチャージと共にアクセスの終了
を指示する信号の受信のような各種の制御操作からも生
じる。図1の本例では、アクセスA2の読取り操作は2サ
イクルの終了オーバーヘッドを使用し、アクセスA3の書
込み操作は4サイクルの終了オーバーヘッドを使用し、
アクセスA4の書込み操作は5サイクルの終了オーバーヘ
ッドを使用する。
【0007】図1の説明に関する結果をまとめて、その
各種の欠点を調べることがここで役に立つ。第1の欠点
として、18データ量のみをアクセスするのに全体で47
サイクルが消費されていることに注意されたい。それ
故、29サイクルがオーバーヘッド操作から起因し、従
って、サイクルの62パーセント(すなわち29/47=0.6
2)がオーバーヘッドに関係し、実際のデータ・アクセ
スにはサイクルの38パーセント(すなわち18/47=0.3
8)を残している。図1の方式のその他の考察として、ア
クセスA3とA4との間にギャップが発生することに注意さ
れたい、これは例えばアクセスA3とA4とを生じた要求間
に十分なギャップがある時に生じる。このようなギャッ
プが生じると、図1で1例として8サイクルとして示され
ているように、さらに余分な待ち時間クロック・サイク
ルが単なる待機時間として消費される。この時間の間、
データをアクセスするために帯域は使用されない。加え
て、待機時間の後、DRAMコントローラがA4をアクセスす
るためのリーティング・オーバーヘッドを再び発行する
時、アクセスA4の開始に余分な待ち時間がある。以上か
ら、これらの要因とともにほかの要因がデータをアクセ
スする平均時間(すなわち、待ち時間)に寄与し、増大
させ、全体のシステム性能を劣化させることが当業者に
は認められる。
【0008】更なる背景として、DMAを使用することに
より当該技術に何らかのシステム待ち時間が与えられ
る。DMAにより、データ転送を実行するためプロセッサ
のリソースの大量使用なしに周辺機器又はコプロセッサ
がメモリをアクセス可能である。トラフィック・コント
ローラが直接のプロセッサ・アクセスとともにDMAアクセ
スをグループ化し、順序付ける。特に、他の周辺機器が
トラフィック・コントローラへのアクセス要求を発行
し、コントローラによりアクセスが許可された場合、DM
Aチャネルを介して主メモリへのアクセスが与えられ
る。加えて、CPUもDMAとは別にトラフィック・コントロ
ーラを介して与えられるチャネルを介して主メモリへの
アクセスを有する。いずれの場合でも、複数の装置がDM
Aを介してメモリアクセスするようDMA方式はメモリへの
アクセス・チャネルを標準的に提供する。
【0009】DMAは従って色々な点で改良された性能を
提供するが、本発明者は図1に関連して前述したメモリ・
コントローラの欠点を解決するものではないことも認め
た。加えて、本発明の範囲は、DMAとトラフィック制御
に関連して使用され、かつ単独でも又改良されたメモリ
・コントローラと組み合わされても両方でシステム性能
を改良する優先度の考察を含む。
【0010】上記の点を考慮して、従来技術の欠点を解
決し、メモリ・アクセス待ち時間を減少するための改良
されたメモリ制御とアクセス・トラフィック制御を提供
する必要が生じている。
【0011】
【課題を解決するための手段】1実施例では、メモリを
アクセスする複数個の要求に応答するメモリ・トラフィ
ック・コントローラである。コントローラは、複数個の
要求の各々に対して、要求に対応する初期優先度値を関
係付ける回路を含む。コントローラはさらに、複数個の
要求の内の選択したものに対する初期優先度値を異なる
優先度値に変更する回路を含む。最後に、コントローラ
は、複数個の要求の内の最高の優先度値を有する要求に
応答して、メモリのアクセスを生じさせる信号を出力す
る回路を含む。その他の回路、システム、及び方法も開
示され、特許請求される。
【0012】
【発明の実施の形態】図2は、本文書で説明する各種の
DRAM制御およびトラフィック制御実施例を実装し、
例えばスマートフォン(smartphone)又は携
帯用計算装置の実装に使用可能な汎用無線データ・プラ
ットフォーム10の望ましい実施例である。無線データ
・プラットフォーム10は、各々が対応する命令メモリ
管理装置(「MMU」)12cと12dを有する、命令キ
ャッシュ12aとデータ・キャッシュ12bを有する汎
用(ホスト)プロセッサ12を含み、さらにバッファ回
路12eと動作コア12fとを図示し、その全てがシス
テムバスSBUSにより通信している。SBUSはデータSBU
Sd、アドレスSBUSa、制御SBUSc導体を含む。自分自身の
内部キャッシュ(図示せず)を有するディジタル信号プ
ロセッサ(「DSP」)14aおよび周辺インターフェー
ス14bはSBUSに結合されている。図示してはいない
が、ディジタル対アナログ変換器(「DAC」)又はネッ
トワーク・インターフェースを含む各種の周辺装置はそ
れゆえ周辺インターフェース14bに結合されている。
DSP14aと周辺インターフェース14bは、以下に詳
細に記述するトラフィック・コントローラ18にさらに
結合されているDMAインターフェース16に結合され
る。トラフィック・コントローラ18も、LCD又はビデオ
表示22と通信するビデオ又はLCDコントローラ20と
同様にSBUSに結合されている。トラフィック・コントロ
ーラ18は、望ましい実施例では同期ダイナミック・ラ
ンダム・アクセス・メモリ(「SDRAM」)24である主メ
モリへのアドレス24a、データ24d、制御24cのバ
スを介して結合される。実際には、以後の説明のため
に、トラフィック・コントローラ18はトラフィック・コ
ントローラ18とSDRAM24との間の接続のインターフ
ェースとしてDRAMコントローラ18aを含んでいること
に注意されたい。又この点に関しては、本実施例では、
DRAMコントローラ18aはトラフィック・コントローラ
18を形成する回路内のモジュールであるが、DRAMコン
トローラ18aに関連して本文書で説明する各種の回路
と機能は別個の装置で構成可能であり、実際、各種のそ
の他の例で使用されることに注意されたい。トラフィッ
ク・コントローラ18一般に戻ると、これはアドレス2
a、データ26d、制御26cバスを介してフラッシュ
メモリ26(又は複数のメモリ)に結合されていること
を最後に注意しておく。
【0013】無線データ・プラットフォーム10の一般
的な動作面は、汎用プロセッサ12とDSP14aの両方
を利用していることに注意することにより認められる。
DSPが特殊な固定の機能に割当てられている現在の装置
と異なり、望ましい実施例のDSP14aは多数の機能に
も使用可能である。これによりユーザーはDSP14aの
全ての恩恵をこうむることが出来る。例えば、DSP14
aが使用可能なある分野は、音声認識、画像およびビデ
オの圧縮と解凍、データ暗号化、文書対音声変換等の機
能に関係している。本アーキテクチャは新たな機能と強
化を無線データ・プラットフォーム10に容易に追加可
能である。
【0014】ここでトラフィック・コントローラ18に
焦点を当てると、その一般動作と共にこれに結合された
各種の回路は、DMAアクセス要求とホスト・プロセッサ1
2からの直接のアクセス要求を受取ることを可能とし、
これら両者の要求に応答して以下から/以下への転送を
可能とする: ・ホスト・プロセッサ12からSDRAM24、又はその逆 ・ホスト・プロセッサ12からフラッシュメモリ26又
はその逆 ・フラッシュメモリ26からSDRAM24 ・周辺インターフェース14bに接続された周辺機器か
らSDRAM24又はその逆 ・SDRAM24からビデオ又はLCDコントローラ20 加えて、望ましい実施例では、コンフリクトを生じない
アクセスは同時に実行可能である。例えば、SDRAM24
からビデオ又はLCDコントローラ20へのDMA転送と同時
にホスト・プロセッサ12はフラッシュメモリ26から
の読取を実行しても良い。その他の点として、トラフィ
ック・コントローラ18はSDRAM24からビデオ又はLCD
コントローラ20へのDMA転送を可能とするよう動作し
ているため、望ましい実施例では先入れ先出し(「FIF
O」)18bから構成される回路を含み、SDRAM24から
のデータのバーストを取ってこれをビデオ又はLCDコン
トローラ20に与えるべきピクセル・データを必要とす
るような連続流を与える。
【0015】図解の都合上、トラフィック・コントロー
ラ18は要求スタック18cを含むのが図示され、重な
り合った時間の間に異なる回路がDMA転送を要求したこ
とを論理的に表現し、従って、これらの異なる要求のDM
A転送は共通した時間の間未決のままである。望ましい
実施例では、要求スタック18cのような別の物理記憶
装置は実際には存在せず、代わりに、異なる要求が1本
以上の導線に到達する。例えば、周辺装置からの要求は
このような要求用に予約された導線上に到着する。より
複雑な方式では、しかしながら、要求スタック18cは
実際の物理記憶装置を表しても良い。またアクセス要求
を受取る面では、望ましい実施例では要求源あたり1つ
の要求のみを一時にトラフィック・コントローラ18で
未決にする(以後詳述する自動リフレッシュ要求以
外)。アクセス要求を発行する前に全ての要求源はDMA
コントローラ18からの認可を受取らなければならない
事を必要とするため、この制限が確認できる。例えば、
同じ要求源により発行された前の要求がサービスを受け
たたことを認可は示してもよい。しかしながら、より複
雑な実施例では、同じ要求源からの複数要求をDMAコン
トローラ18で未決にしておくことも考えられる。スタ
ック18cに戻ると、同じもの又は異なる要求源のどち
らであれ、多数の要求が同時に未決となっている場合を
説明することを意図し、これらの要求は以下に詳述する
ように解析処理される。さらにこの点に関して、トラフ
ィック・コントローラ18は以後詳述する優先度ハンド
ラを含むため、これらの未決要求の各々は各種の優先度
考慮により定義される順序に従って選択される。言換え
ると、ある実施例では未決要求は受信した順序でサービ
スされるが、一方別の実施例では、以後認められるよう
に受取ったものとは異なる順序で未決要求はアクセスを
認可される。最後に、トラフィック・コントローラ18
は、直接又はDMAアクセスを提供する上述した各種の回
路への接続を支持するための回路を含む。例えば、トラ
フィック・コントローラ18は、フラッシュ・デバイスが
必要とする適当な信号を発生するフラッシュメモリ・イ
ンターフェースを含むことが望ましい。その他の例とし
て、トラフィック・コントローラ18は上記したDRAMコ
ントローラ18aを含み、これはステートマシンの制御
を実装し、SDRAM24が必要とする適当な信号を発生す
る。この後者のインターフェースは、本発明の範囲内で
各種の利点を生じるため、それに関連する各種の機能と
共に、以下で詳細に説明する。
【0016】トラフィック・コントローラ18を紹介し
たが、各種の発明の方法論が以下で詳述する望ましい実
施例に含まれていることに注意されたい。順番に説明を
提供するために、最初に説明するDRAMコントローラ18
aに関するものと、2番目に説明するトラフィック・コ
ントローラ18内ではあるがDRAMコントローラ18
aの外側で処理されるある種の優先度考察に関係するも
のに方法論を分割する。最後に、しかしながら、これら
の方法論を組み合わせて、こうしないと従来技術で発生
する待ち時間をさらに減少させることを説明する。
【0017】望ましい実施例では、DRAMコントローラ1
8aは3種の異なるメモリを支持するよう指定される。
1例として、これらのメモリのうちの2つは、各々がテ
キサス・インスツルメンツ社から市販されている、16
MビットTMS626162(512k x16ビットI/O x 2バンク)と
64MビットTMS664164(1M x 16ビットI/O x 4バン
ク)である。これらのメモリの第3のものは、2バンク
で構成された64Mビット・メモリである。DRAMコント
ローラ18aからの要求に応答するSDRAM24からのバ
ースト長は1から8の16ビット・データ量で完全にプ
ログラム可能であり、以後詳述するようにREQで指示さ
れる第1の要求に続けてSREQで指示される1つ以上の連
続要求を送り、これにより余分なオーバーヘッドなしに
1から256の間の全てのバースト長を可能とすること
により、トラフィック・コントローラを介して256
(ページ長)まで拡張可能である。望ましい実施例で
は、このプログラム性は、SDRAMメモリ制御レジスタの
バースト・サイズではなく、DRAMコントローラ18aか
らSDRAM24への制御を介して実行される。
【0018】DRAMコントローラ18aの望ましい実施例
に実装された1つの魅力的な利点は、SDRAM24の状態
情報の解析を基にして入力メモリ・アクセス要求に応答
することにより、待ち時間減少を達成できる点である。
この機能は図4の流れ図により図示され以後説明される
が、ここで最初に図3のブロック線図に目を向けて紹介
する。図3は図2よりもSDRAM24とDRAMコントローラ
18aの両方を詳細に図示しているが、ここでも再び図
解を簡略化しDRAM制御面の説明に焦点を当てるため選択
した要素のみを図示してある。
【0019】図3のSDRAM24に目を向けると、これは
バンクB0からB3と指示した複数個のメモリ・バンクを含
む。ここでは4バンクであるバンク数は、SDRAM24が
前述したテキサス・インスツルメンツ社の64メガビッ
ト・メモリである例から生じている。異なったメモリを
使用した場合、バンク数も異なる(例えば前述した16
メガビット・メモリを使用した場合は2バンクである)
SDRAM技術において公知のように、複数バンク・メモリ
の各バンクは、対応するバンクで現在アクティブである
行アドレスを指示する対応する行レジスタを有する。図
3で、これらの行レジスタは各々バンクB0からB3に対応
するB0_ROWからB3_ROWと名づけられる。
【0020】ここで図3のDRAMコントローラ18aを見
ると、望ましい実施例では、SDRAM24の現在の動作を
識別する各種の状態情報を指示するのに十分な回路を含
み、この情報を使用していかに待ち時間を減少するかを
後述する。望ましくは、この状態情報は行レジスタB0_R
OWからB3_ROWに記憶された同情報のコピーを含むことが
望ましい。従って、DRAMコントローラ18aはAC_B0_RO
WからAC_B3_ROWと名づけた4個のレジスタを含み、ここ
で各々は対応するバンクB0からB3のアクティブな行アド
レス(もしあれば)を指示する。別の言い方をすると、
DRAMコントローラ18aのレジスタAC_B0_ROWからAC_B3
_ROWの情報はSDRAM24の行レジスタB0_ROWからB3_ROW
と同じ情報を鏡像で有する。加えて、レジスタAC_B0_RO
WからAC_B3_ROWの各々に対して、DRAMコントローラ18
aは、対応する行が現在アクセスされているかどうかを
指示する対応するビット・レジスタC_B_R0からC_B_R3を
含む。例えば、ビット・レジスタC_B_R0がセットされて
いる場合(例えば1に等しい値)、これはAC_B0_ROWの
アドレスにより識別される行は現在アクセスされている
ことを示し、反対にこのビットがクリアされている場
合、AC_B0_ROWのアドレスにより識別される行は、存在
するとしても、現在アクセスされていないことを示す。
またレジスタAC_B0_ROWからAC_B3_ROWの各々に対して、
DRAMコントローラ18aは、AC_Bn_ROWの内容が正当でS
DRAM24は対応バンクnのこの行をアクティブにしてい
ることを指示する対応するビット・レジスタRAnを含
む。各レジスタRAn(すなわち、RA0からRA3)は同時に
1に設定可能であることにも注意されたい。このこと
は、各AC_Bn_ROWレジスタにその値が含まれている行を
各バンクはアクティブにすることを意味する。しかしな
がら、反対に、1つのC_B_Rnのみが一時に1に設定され
る、何故ならこれはどのバンクが現在アクセスされてい
るかを指示し、1つのバンクのみが一時にアクセス可能
であるからである。
【0021】DRAMコントローラ18aは又以下で説明す
るSDRAM24への各種の指令を発生する付加回路も含
む。この点に関して、DRAMコントローラ18aは、SDRA
M24へのアクセスを与えた最新の(又は現在の)要求
に関する情報を記憶するCURR_ACCESSレジスタを含むこ
とが望ましい。この情報は現在のアクセスのアドレスの
残りの部分(すなわち、列アドレス)、その方向、及び
サイズを含む。加えて、DRAMコントローラ18aは次の
(すなわち、未決の)アクセス要求を受取る入力28を
含む。入力18で受取ったアクセス要求情報は比較論理
およびステート・マシン30に与えられ、これはビット
・レジスタRA0からRA3とC_B_R0からC_B_R3に記憶した状
態情報と、レジスタAC_B0_ROWからAC_B3_ROWの行アドレ
スと、CURR_ACCESSレジスタに記憶した情報へのアクセ
スを有する。比較論理及びステート・マシン30を実装
するために使用する回路は各種の例から当業者により選
択されるが、いずれにせよ図4と関連して以下に詳説す
る機能を実行する。その説明に進む前の紹介として、比
較論理及びスレート・マシン30はDRAMコントローラ1
8aとSDRAM24との間でアドレスバス24aにアドレス
を与え、DRAMコントローラ18aとSDRAM24との間で
制御バス24cに制御信号を与えるよう接続されている
ことにも注意されたい。後者に関しては、説明用に、制
御信号は各種の方法で組み合わされ各種の指令として識
別され、その各々が単一のサイクル当り発行され、かつ
各種の型式の所要アクセス(すなわち、単一読取り、バ
ースト読取り、単一書込み、バースト書込み、自動リフ
レッシュ、電力停止)を実行するために使用される。こ
れらの指令を実行するために通信される実際の制御信号
は以下の信号を含む:RAS、CAS、DQML、DQMU、W、CKE、
CS、CLK、及びアドレス信号である。しかしながら、す
ぐ下の表1に記載した機能を実行するためのこれらの制
御信号の組合せは、各種の制御信号の各々の値を詳説す
るよりも、各機能に対応する機能によって容易に参照す
ることができる。
【表1】
【0022】図4は全体を40で指示する方法の流れ図
を図示し、これはSDRAM24のメモリ・アクセスに関す
るDRAMコントローラ18aの望ましい動作を図示し、こ
の方法は比較論理及びステート・マシン30全体の動作
により実施される。方法40は、次のメモリ・アクセス
要求(「RQ」と省略)を解析用に選択する段階42から
開始する。図3の実施例では、RQは入力28から受取ら
れる。しかしながら、要求はバス等から直接でもよいこ
とを別に注意しておく。加えて、簡単のため、方法40
の本説明は、前回のRQの操作が既に処理され、SDRAM2
4のバンクB0からB3の各々にそのアクセスが行なわれた
ものを図示している。従って、レジスタAC_B0_ROWからA
C_B3_ROWの各々には対応する行アドレスがロードされ、
残りのビット・レジスタはどの行及び/又はバンクがア
クティブかを基にした適当な状態に設定されているもの
と仮定している。その他の仮定として、前回の認可は現
在のメモリ・アクセスで生じたものである、すなわち、
データバス24d上で(SDRAM24への書込み、又は読取
り)通信している情報が現存していることを仮定してい
る。これらの仮定を与えて、方法40は段階42から段
階44へ進む。しかしながら、段階44に進む前に、前
述の仮定事象(すなわち、既にアクティブな行がある)
が発生していないとしても、以下の説明は当業者に望ま
しい実施例の理解を更に提供するものであることに注意
すべきである。
【0023】段階44は、段階42からRQによりアクセ
スされたバンク(以後ターゲット・バンクと呼ぶ)が現
在アクセスしているものと同じバンクであるものかどう
かを決定する。RQのアドレスのバンク部分をCURR_ACCES
Sレジスタに記憶されたアドレスのバンク部分と比較す
ることにより比較論理及びステート・マシン30はこの
決定を行なう。RQのターゲット・バンクが現在アクセス
しているものと同じバンクである場合、方法40は以下
で説明するように段階44から46へ進む。反対に、RQ
のターゲット・バンクが現在アクセスしているものと異
なるバンクにある場合、方法40は段階44から58に
進み、この段階は段階46に続いて利点のより直接的な
説明を提供するため以下に詳説される。
【0024】段階46は、RQのターゲット・バンクが現
在アクセスしているものと同じバンクにあることが分か
っているため、RQによりアクセスされるページ(以下タ
ーゲット・ページと呼ぶ)がターゲット・バンクで既に
アクティブな同じ行にあるかどうかを決定する。この点
に関して、「ページ」と「行」という用語は同じものを
指すものと考えて良いことに注意されたい、何故ならDR
AM又はSDRAMの場合、これらのメモリの行はページ情報
に対応するからである。従って、段階46は、ターゲッ
ト・ページ(又は行)がターゲット・バンクで既にアク
ティブである同じページ(又は行)にあるかどうかを決
定する。RQのアドレスのページ・アドレス部分をターゲ
ット・バンクの適当なレジスタに記憶されたアクティブ
な行アドレスの対応するビットと比較することにより、
比較論理及びステート・マシン30はこの決定を行う。
例えば、バンクB0がターゲット・バンクである場合、段
階46はRQのページ・アドレスをレジスタAC_B0_ROWに
記憶したアクティブな行値の対応するビットと比較す
る。同じ行のターゲット・ページがターゲット・バンク
で既にアクティブな場合、方法40は段階46から段階
48へ進む。逆に、ターゲット・ページがターゲット・
バンクの既にアクティブな行とは異なる行にある場合、
方法40は段階46から52へ進む。
【0025】以上から、RQのターゲット・バンクが現在
アクセスしているバンクと同じであり、かつターゲット
・ページがターゲット・バンクの現在アクティブな行に
ある時に段階48に達することに注意されたい。結果と
して、かつ以下で説明する待ち時間の相当な改良を提供
する、段階48はRQのアクセス指令(例えば、READまた
はWRITE)を整合させ、現在のアクセスの間又は最終デ
ータ転送サイクルの近くで発生させる。この点を更に図
解するため、図5は、現在のアクセスCAとRQ(例えば、
読取り)から生じるアクセスに関する段階48の動作の
両方のタイミング図を図示する。特に、一例として、現
在のアクセスCAは対応する8サイクルで8データ単位の
バーストを発生しているものと仮定している。この例に
よると、段階48は、現在のアクセスCAの間又は終了時
の近くでアクセス指令を整合させ発生させる。望ましい
実施例では、段階48の特定の整合は、RQが書込み又は
読取りであるかを基にしている。従って、これらの状況
の各々が以下で別々に説明してある。
【0026】RQが書込みの時にアクセス指令を整合する
段階48に対しては、現在のアクセスCAの最後のデータ
・アクセスに続くクロック・サイクルで書込みアクセス
指令が整合されて発行される。言換えると、書き込みで
あるRQに対しては、現在のアクセスCAの最後のデータ・
アクセスがサイクルNで発生する場合、RQの書込みアク
セス指令はサイクルN+1で整合されて発行される。さ
らに、書込み指令が制御バスに発行されるのと同じサイ
クルの間に、書込まれるデータがデータバスに配置され
ることに注意されたい。従って、書込まれるデータはサ
イクルN+1でもデータバス上に有り、従ってサイクル
Nにデータバス上にあった現在のアクセスCAからの最
後のデータに直ちに追随する。
【0027】RQが読取りである時にアクセス指令を整
合する段階48に対しては、現在のアクセスCAの最後の
データ・サイクルに続く最初のサイクル、引くことの読
取りに対するCAS待ち時間に、読取りアクセス指令が整
合されて発行される。特に、大部分のシステムでは、ア
クセスしているメモリとクロック周波数に応じてCAS待
ち時間は1、2、3、又は4サイクルであることを考慮
されたい。従って、望ましい実施例で読取りRQのアクセ
ス指令を整合するために、CAS待ち時間サイクル数が現
在のアクセスCAの最後のデータ・サイクルに続く最初の
サイクルから減算される。実際、望ましい実施例では、
比較論理及びステート・マシン30は現在のバス周波数
の指示子を含み、この周波数から対応するCAS待ち時間
を選択する。一般的に、バス周波数が低ければ低いほ
ど、CAS待ち時間も低い。例えば、所要のMIPSが低いア
イドル・モードでは、バス周波数も比較的低く、CAS待
ち時間も1に等しく決定される。読取りRQの例で、CAS
待ち時間が1サイクルに等しい例に対して段階48を進
めると、段階48は現在のアクセスCAの最後のデータ・
サイクルに続く最初のサイクルの前の1サイクルに読取
りアクセス指令を整合させて発生させる。言換えると、
読取りであるRQに対して、現在のアクセスCAの最後のデ
ータ・アクセスがサイクルNで発生した場合、CAS待ち時
間が1に等しい時、RQの読取りアクセス指令は整合され
て、サイクルNで発生される。それ故、この整合によ
り、現在のアクセスCAの最後のデータ・サイクルの間に
読取りアクセス指令が発行され、この指令に応答して読
み取られたデータがサイクルN+1の間にデータバス上
に現れる。1以上の各余分なサイクルのCAS待ち時間を
有する例に対しては、現在のアクセスCAの最後のデータ
・サイクルの前の1以上の余分なサイクルにより読取り
アクセスが対応して整合される。
【0028】RQのアクセス指令が段階48により整合さ
れると、段階49はRQにサービスするためDRAMコントロ
ーラ18aによるSDRAM24へのこの指令の発行を表現
する。この動作のその他の利点はこのすぐ直後に説明す
るように方法48が段階50に進むときに次に認められ
る。
【0029】段階48と49に続いて段階50に達する
と、この段階50は段階48により整合されたアクセス
指令に応答してアクセスを実行する。従って、図5の例
を進めると、段階50は、読取るべきデータ単位バース
トの最初のデータ単位を発生させる読取り、及びバース
ト・アクセスが完了するまで続行する読取りを実行す
る。現在の例をまとめると、残りの7データ単位は連続
する7クロック・サイクルの間に読取られる。以上によ
り、記載した操作の多数の利点に注意されたい。最初
に、段階48の整合により、アクセスRQの最初のデータ
単位はアクセスCAの最後のデータ・サイクルの直後のク
ロック・サイクルで読取られる。第2に、段階48と5
0の操作は、アクティブな行をアクティブに保持し、第
1のそして全ての連続アクセスが同じメモリ・バンクの
同じ行に向けられるようになっていることに注意された
い。言換えると、これらのアクセスの発生の間に行をプ
リチャージする余分な段階はない。さらに、この点を実
装するのに、行レジスタ(すなわち、AC_Bn_ROW)の内
容をCURR_ACCESSレジスタの列アドレスと連鎖結合する
ことにより、前アドレスが既にDRAMコントローラ18a
に含まれているため、望ましい実施例は、連続アクセス
のためRQのアドレスをSDRAM24に再送する必要はな
い。それ故、再び、望ましい実施例は単に以前にアクテ
ィブな行をアクティブなままにしてアクセスを実行す
る。行をアクティブなままにするこの利点は、後述する
ようにDMAバースト制御の所でも生じているが、この時
点では、DRAMコントローラ18aはSREQで指示される要
求を受取る説明により、このような要求は、要求がちょ
うど要求したデータの後の順番に続くデータに対してい
ることを、従って直前の先行する要求と同じ行アドレス
に向けられていることを示すことに注意されたい。いず
れにせよ、ある行をアクセスし、プリチャージし、以後
のアクセスに対して再アドレスし再アクティブ化する従
来技術で、こうしないと生じる待ち時間が減少する。第
3に、図4は、方法40の流れが段階50から段階42
に戻ることを図示し、これは段階50のアクセスが発生
している間に生じることを理解すべきである。従って、
現在のRQのアクセスが発生している間、段階42は次の
RQの処理を開始してもよい。それ故、この点に関して
は、複数バースト要求が同じバンクかつバンクの同じペ
ージに向けられている場合、方法40はアクセス指令を
繰返し整合させ、図5に示したものと同じ方法でデータ
・アクセスを実行し、各連続事象の発生に対して上述し
た待ち時間減少を繰返すことが当業者には認められる。
従って、各連続アクセスに対するこの減少の集合が、そ
れ故従来技術と比較して連続アクセスに対してはるかに
少ない待ち時間を発生する。
【0030】図4の段階46に戻ると、方法40が段階
46から段階52へ進んだ場合の例を説明する、これは
ターゲット・バンクが現在アクセスしているバンクと整
合しているが、ターゲット・ページがターゲット・バン
クで既にアクティブな行とは異なる行にある時に生じる
ことを想起されたい。段階52で、方法40は現在のア
クセスの完了を待機する。望ましい実施例では、この完
了は、「アクセス・オン」又は「アクセス・オンなし」
のどちらかを示すアクセス信号の状態を調べるDRAMコン
トローラ18aにより検出される。特に、アクセス・オ
ンからアクセス・オンなしへの変化がある場合、DRAMコ
ントローラ18aには現在のアクセスが完了し、従って
段階52を終了できることが分かる。次いで、段階54
は今完了したアクセスによりアクセスされた行をプリチ
ャージし、これはSDRAM24へDEAC_x指令を送出するDR
AMコントローラ18aにより実行される。それ以後、段
階56はACTV_x指令を送ることによりターゲット・ペー
ジを含む行をアクティブにし、再び方法は段階49に進
んで、アクセス指令(例えば、READまたはWRITEのどち
らかによる)を発行し、段階50で行をアクセスするよ
うにする。最後に、段階54と56の非アクティブ化と
以後のアクティブ化は、望ましい実施例の下ではサイク
ル使用に関しては最悪の筋書きであるが、この筋書きの
確率は、大部分のシステムの局所性と空間性の性質を考
えると相対的に小さい。
【0031】段階44に戻り、方法40が段階44から
段階58へ進む例を説明する、この例は、ターゲット・
バンクが現在アクセスしているバンクとは異なる時に発
生することを想起されたい。これ以上進む前に、ここで
段階58に到達した時、現在アクセスしているバンク
(すなわち、段階44から評価したような)上の現在ア
クティブな行は、方法40のこの流れからは乱されない
ことに注意されたい。言換えると、この別の流れは現在
アクセスしているバンクの行を非アクティブにはせず、
従って、連続するアクセスの間に行が非アクティブにさ
れなかった以後のアクセスにより再びアクセス可能であ
る。ここで段階58に戻ると、これはターゲット・バン
クにアクティブな行があるかどうかを決定する。そうで
ある場合、方法40は段階58から60へ進む。ターゲ
ット・バンクにアクティブな行がない場合、方法40は
段階58から70へ進む。段階58の操作は、ターゲッ
ト・バンクに対応し、その現在の状態を指示するビット
・レジスタを最初に調べる比較論理及びステート・マシ
ン30により実行されることが望ましい。例えば、バン
クB1がターゲット・バンクである場合、比較論路及びス
テート・マシン30はビット・レジスタRA1がアクティ
ブ状態を指示するよう設定されているかどうかを評価す
る。この点に関して、次のアクセス用にバンクをアクテ
ィブにすることに向けて何らかのオーバーヘッド操作を
開始する前に現在のアクセスを完了するまで待機するシ
ステムと比較して、この待ち時間が減少していることを
再び注意しておく。次に、方法40は段階58から段階
60へ進む。
【0032】段階60は上述した段階46と大体同様に
動作するが、段階60ではターゲット・バンクが現在ア
クセスしているバンクとは異なっている点が異なる。従
って、段階60はターゲット・ページがターゲット・バ
ンク中の同じ行にあるかどうかを決定する。ターゲット
・ページがターゲット・バンク中の同じ行にある場合、
方法40は段階60から段階62へ進む。ターゲット・
ページがターゲット・バンクのアクティブな行とは異な
る行にある場合、方法40は段階60から段階68に進
む。段階62と68から開始する別の路は以下に説明す
る。
【0033】段階62はRQのアクセス指令を整合し、現
在のアクセスの終了を待機する。この整合は段階62に
続く段階64への引用にも認められる。特に、段階62
では比較論理及びステート・マシン30はSDRAM24へ
発行するためのアクセス指令(例えば、READ又はWRITE
指令のどちらか)を整合して、これによりターゲット・
バンクを現在アクセスしているバンクにする。加えて、
段階62のこの操作は一般的に段階48に関連して上述
したものと同様である。従って、読者はこれ以上の詳細
については、段階62が現在のアクセスの最後のデータ
・サイクルの前又はその間にアクセス指令を整合させる
ことが望ましいことを示している段階48の上記の説明
を参照されたい。このように、この方法は段階64へ進
み、ここでSDRAM24へREAD又はWRITE指令を発行し、こ
れに続いて段階66によりRQに対応するアクセスが実行
される。以後、方法40は段階66から段階42に戻っ
て、次のメモリ・アクセス要求を処理する。
【0034】段階60に戻ると、この流れは、RQがター
ゲット・バンクで既にアクティブなものと異なるページ
に有るときの段階68へ向けられるものであることを想
起されたい。この例では、段階68はターゲット・バン
クの現在アクティブな行をプレチャージする。再び、望
ましい実施例では、これはSDRAM24へDEAC_x指令を発
行することにより実施される。それ以後、段階70はタ
ーゲット・ページを含む行をアクティブにし、本方法は
段階62へ進む。段階62の前述の説明から、それ故段
階62はRQへのアクセス指令を整合し、さらにアクセス
指令を発行し、RQに対応するアクセスを実行する段階6
4と66が続くことが当業者には認められる。以後、方
法40は再び段階66から段階42へ戻って、次のメモ
リ・アクセス要求を処理する。
【0035】以上の説明とその利点を更に明確にするた
め、図6は再び図1からのアクセスA1からA4を図示する
が、ここで図4の方法40を実装して、かつ各アクセス
がSDRAM24のバンクのどれかで既にアクティブである
行へアクセスするよう動作するメモリ・アクセス要求を
表しているものと仮定して、変更したこれらのアクセス
のタイミングを表示する。この仮定に従って、当業者は
容易に方法40の段階を追跡し、アクセスA2のオーバー
ヘッドのリーディング・サイクルはアクセスA1の最後の
データ・アクセス・サイクルと同じ時間(すなわち重な
り合う)に発生するよう配置できると結論できる。従っ
て、アクセスA2からの単一のデータ単位はアクセスA1の
バーストの最後のデータ単位の読取りの直後のクロック
・サイクルで読取られる。同様に、アクセスA3に関して
は、そのリーディング・オーバーヘッドはアクセスA2か
らのデータの単一読取りと部分的に同じ時に、かつアク
セスA2の終了オーバーヘッドの時間の一部の間に重なり
合うよう進められる。従って、実際のデータ・アクセス
(バースト書込み)は、アクセスA2の終了オーバーヘッ
ドが完了するまでアクセスA3のリーディング・オーバー
ヘッドが開始できない場合よりも早期に開始できる。最
後に、アクセスA4に関しては、これは8サイクルのギャ
ップの後で受取られることを想起されたい。しかしなが
ら、アクセスA4は既にアクティブである行に向けられて
いるという仮定であるため、アクセスの間にこの行をプ
リチャージし、次いで再アクティブ化する必要がないた
め、そのリーディング・オーバーヘッドのサイクル数は
減少される(又は削除される)ことに注意されたい。従
って、ギャップとリーディング・オーバーオールの両方
の全サイクル数が減少され、これによってもアクセス待
ち時間が減少される。それ故、結論として、連続したSD
RAMアクセスに対して行をアクティブに保持する能力
は、クロック周波数を増加することなく帯域を増大さ
せ、かつ携帯用システムではしばしば重要となる電力消
費を減少させることが当業者には認められる。従って、
全体の待ち時間は減少し、システム性能は劇的に改良さ
れる。最終的な事項として、多数のシステムで生じる局
所性と空間性により先述した改良が生じ、またはこれら
のシステムに実装されたある種のプログラムから生じて
いることに注意されたい。この点に関して、望ましい実
施例では、DRAMコントローラ18aは、そのビットの状
態が図4の機能を付勢する又は減勢するようなプログラ
ム可能なビットを更に含む。従って、何らかの理由でこ
のような方式が望ましくないと決定された場合(例え
ば、局所性又は空間性に関する仮定に問題がある場合、
又はプログラムがランダムな又は非常に予測不能なメモ
リ・アクセスを生じることが分かっている場合)、この
ビットを適当な状態に設定して図4の機能を減勢し、こ
れによりDRAMコントローラ18aが従来技術のコントロ
ーラの方法で動作するようにできる。反対に、このビッ
トを設定して上記の機能を付勢することにより、メモリ
の同じ行への連続アクセスが生じるであろうプログラム
に対しては、上記に詳述した利点が達成される。
【0036】DRAMコントローラ18aを図3の構造、図
4の方法、及び図5と図6の結果を介して説明してきた
が、図7は上述した各種の詳細を実装する方法をさらに
詳細に図示する。さらに進む前に、それ故図7は本発明
を実施する1例であり、前述した各種の詳細はここでは
再度説明しないが、当業者にはさらに追加の情報が確認
でき、本文書の教示を提供できる。それ故、図7の入力
は以上の説明から理解すべきであり、現在のアクセス要
求を指示する信号、16Mビット又は64Mビット・メ
モリのどちらかを選択する制御信号、DRAMコントローラ
18aにより制御されているメモリが2又は4バンクの
どちらを有しているかを選択する制御信号、及びCAS待
ち時間を決定するために使用される周波数信号を含む。
ある種の追加の接続とこれらの信号に関する詳細は以下
に説明されている。
【0037】図7から、アクセス要求の行及びバンク・
アドレス部分はマルチプレクサ72の第1の入力に接続
される。マルチプレクサ72の第2入力はDRAMコントロ
ーラ18aから内部アドレスを受取るように接続され、
ここでその内部アドレスは最も最近にアクセスした行と
バンク・アドレスを表す(AC_Bn_ROWとRAnレジスタのど
れかから読取り可能)。マルチプレクサ72の制御入力
は、連続要求信号SREQを受取った時に付勢される信号SR
EQ、又はDRAMコントローラ18aによりページ交差を検
出した時の、どちらかの論理ORに接続される。従っ
て、これらに事象のどちらも発生しない時、マルチプレ
クサ72はアクセス要求からのアドレスをDRAMコントロ
ーラ18aに渡すように接続し、一方これらの事象のう
ちの一方が発生した場合、マルチプレクサ72は内部要
求からのアドレスをDRAMコントローラ18aへ渡すよう
接続する。マルチプレクサ72による行アドレス出力は
4個のAC_Bn_ROWレジスタに接続され、従って以後アド
レスは以後の比較用にこれら4個のレジスタの適当なも
のに記憶される。加えて、マルチプレクサ72の出力は
4個の比較器740から743の各々の入力に接続され、
ここでこれらの比較器の各々の第2の入力は、対応する
レジスタAC_B0_ROWからAC_B3_ROWからの前に記憶した行
アドレスを受取るように接続されている。従って、各比
較器は、現在のアドレスの行アドレスを対応するバンク
の最後の行アドレス(レジスタAC_Bn_ROWに記憶されて
いる)と比較可能である。比較器740の出力はANDゲー
ト76a0の第1入力と、出力をANDゲート76b0の第
1入力に接続したインバータINV0の入力と、に接続され
る。同様に、比較器741から743の出力は同等の方法
で対のANDゲートに接続される。ANDゲート76a0
から76b3の各々の第2入力は2対4デコーダ78の出
力に接続され、このデコーダはマルチプレクサ72によ
るアドレス出力から2ビット・バンク・アドレスを受取
り、4バンクの内のどれがアドレスされているかを基に
してデコーダ78の4出力のどれかが高状態となる出力
信号S_BANKにデコードされる(又は2バンク・メモリを
使用している場合は2バンクの内である)。最後に、A
NDゲート76a0から76b3の各々の第3入力は対応す
るRAnレジスタの出力に接続される。
【0038】ANDゲート76a0から76b3の各々の出
力は比較論理及びステート・マシン30への入力を与え
る。特に、識別子に「a」を有する各ANDゲートは、
そのバンクでアドレスされた最新の(又は現在の)行と
同じバンクで同じ行(従ってSB_SRと略称する)がアド
レスされている場合、高信号を出力する。同様に、識別
子に「b」を有する各ANDゲートは、そのバンクでア
ドレスされた最新の(又は現在の)行と同じバンクであ
るが異なる行(従ってSB_DRと略称する)がアドレスさ
れている場合、高信号を出力する。
【0039】最後に、比較論理及びステート・マシン3
0への別の入力として、ANDゲートの各対には、C_B_
Rnレジスタと共に、ここで初めて紹介する待ち時間信号
LAT_Rnを添えていることに注意されたい。後者に関して
は、比較論理及びステート・マシン30のステート・マ
シンは、SDRAM24へ発行される指令(例えば、ACTV_
x、READ、WRITE等)の各種の異なる組合せにより生じ
る待ち時間要件を収めるのに十分な状態を含むことが望
ましい。例えば、2つの連続読取りに対しては、これら
の読取りに対してデータをアクセスする間に最小で9サ
イクルの待ち時間がある。従って、指令間のこの種の待
ち時間と共にその他の待ち時間要件が、比較論理及びス
テート・マシン30の状態に対応し、これらの状態が待
ち時間信号LAT_Rnの各行にコード化される。このよう
に、比較論理及びステート・マシン30はその次の指令
を発行する前に、これらの行の各々の待ち時間を考慮す
る。
【0040】単なるDRAMコントローラ18aを越えたト
ラフィック・コントローラ18の機能に対する説明に戻
ると、この機能は、図8のハードウェア・ブロック線図
にまず戻ることにより初めて紹介される。図8は図2に
示したようなトラフィック・コントローラ18のブロッ
クを図示し、さらに別の追加機能を図示している。その
機能を見ると、トラフィック・コントローラ18は共に
上述したFIFO18bと要求スタック18cとを含み、こ
こでFIFO18bはビデオ又はLCDコントローラ20との
通信用のバースト・ピクセル・データを記憶し、要求ス
タック18cはこれらの異なる未決要求を解析して後述
するように作用できるよう複数アクセス要求を記憶する
ことを一時的に想起されたい。
【0041】図8の説明を続行すると、望ましい実施例
では、要求スタック18cの各アクセス要求はそれに関
係する優先度も有し、この優先度も対応する要求と関係
する導線上に到達することが望ましい。しかしながら、
より複雑な方式では、優先度も要求と共に要求スタック
18cにコード化され記憶される。以下で詳述するよう
に、優先度は以後初期値と異なる値に変更してもよい。
このように、導線上の信号として優先度が存在する望ま
しい実施例では、この信号をその導体上で変更してもよ
い(例えば、ある2進数状態からその他への変更は低優
先度から高優先度への変更を表す)。一般的に見て、か
つ以下でさらに明らかとなるように、低い優先度は、DR
AMコントローラ18aへ対応する要求を発行することに
より対応するアクセス要求がサービスされる前に遅延を
発生し、一方その逆に、より高い優先度は、その他の効
率の考慮が現在のサービスが待ち時間を増大させること
を示しているとしても、対応するアクセス要求をDRAMコ
ントローラ18aに直ちに通信させる。これらの別例は
以下でさらに説明される。
【0042】トラフィック・コントローラ18も優先度
ハンドラ及びステート・マシン18dを含む。優先度ハ
ンドラ及びステート・マシン18dは各種の別例から当
業者により構築され、いずれにせよ本文書で詳述する機
能を達成する。優先度解析の紹介事例として、優先度ハ
ンドラ及びステート・マシン18dは図8で優先度表1
8dTを含んでいるのが図示されていることに注意され
たい。優先度表18dTは、対応する要求をDRAMコント
ローラ18aに発行することによりアクセス要求をサー
ビスする順序を列挙している。優先度は、要求を発行す
る回路の型式を基にしており、さらに特定の回路に対し
てその要求がその通常の優先度に対抗して高優先度を割
当てられているかどうかを基にしており、優先度の動的
変更は後述する。説明の都合上、かつ図8に示すよう
に、優先度ハンドラ及びステート・マシン18dによる
優先度の順序はここで表2に示されている。
【表2】 表2の情報を説明するための1例として、第1の未決要
求がホスト・プロセッサ12からのもの(すなわち、優
先度4)で、第2の要求が周辺インターフェース14b
からの高い優先度(すなわち、優先度3)である場合、
優先度ハンドラ及びステート・マシン18dによりDRAM
コントローラ18aへ発行される次の要求は、その高い
優先度値のため周辺インターフェース14bからの高優
先度要求に対応するものである。その他の例は、表2か
ら、また図9の以下の説明から明らかである。
【0043】以上の優先度の考えの説明をさらに図解す
るため、図9は全体を80で指示し、図8に示した関連
要素の望ましい動作を説明する方法の流れ図を図示す
る。方法80は段階82から開始し、ここで要求スタッ
ク18cのアクセス要求を優先度ハンドラ及びステート
・マシン18dにより解析する。図9の説明の結論から
認められるように、いつでも段階82の発生時は、単一
の又は複数の要求が要求スタック18cで未決となって
いるような状態である。いずれの場合でも、要求スタッ
ク18cのアクセス要求に関しては、方法80は段階8
2から段階84へ進む。
【0044】段階84で、優先度ハンドラ及びステート
・マシン18dは優先度スタック18cに1つ以上の未
決要求があるかどうかを決定する。そうである場合、方
法80は段階84から段階86へ進み、そうでない場
合、方法80は段階84から段階88へ進む。段階86
で、優先度ハンドラ及びステート・マシン18dは、最
高の優先度を有する要求スタック18c中のアクセス要
求に対応するDRAMコントローラ18aへのメモリ・アク
セス要求を発行する。それ故、上記の表2は、このよう
にしてサービスに選択された要求を示す。また、図9は
破線で段階86‘を図示し、この段階は後述する各種の
方法のどれかで優先度がいつでも変化することを示すた
めに含まれていることに注意されたい。いずれにせよ、
段階86はDRAMコントローラ18aへメモリ・アクセス
要求を発行し、このコントローラは望ましい実施例では
前述した方法でSDRAM24へのアクセスを与えるべきで
ある。最後に、望ましい実施例では、一般に単一の要求
源は1時に1つだけの未決要求を有し、従って、このよ
うな場合同じ優先度の2つの未決要求はないことを想起
されたい。しかしながら、同一の要求源から同じ優先度
の複数要求が未決となる実施例を実装した場合、段階8
6に対しては、段階86は最長の期間未決となっている
アクセス要求に対してメモリ要求を発行することが望ま
しいと考えられる。DRAMコントローラ18aに要求が発
行されると、方法80は段階86から段階84へ戻り、
単一の未決アクセス要求のみとなるまで上記過程が繰返
され、1つとなった時点で方法80は段階88へ進む。
【0045】段階88では、優先度ハンドラ及びステー
ト・マシン18dは要求スタック18cの単一のアクセ
ス要求に対応するメモリ・アクセス要求をDRAMコントロ
ーラ18aへ発行する。以後、方法80は段階88から
段階82へ戻り、この場合、システムは要求スタック1
8cに1つの要求がある場合は次の未決アクセス要求を
処理するか、または次の要求を待機して上述のように進
むか、のどちらかである。
【0046】以上紹介したように、要求スタック18c
中の未決要求のある種の型式に関係する優先度は、初期
値から動的に変化してもよい。特に、望ましい実施例で
は、以下の3つの要求源、すなわち(1)ビデオ及びLC
Dコントローラ20、(2)周辺インターフェース14
b、(3)SDRAM24自動リフレッシュ、の各々からの
アクセス要求に関連する優先度は変更してもよい。これ
ら3つの異なる要求源に対する優先度の変更をさらに詳
しく説明するため、各々を以下に別々に説明し、トラフ
ィック・コントローラ18の別の利点の以下の説明のた
め読者の注意を再び図8へ向けられたい。
【0047】ビデオ及びLCDコントローラ20からの要
求に対応する優先度は、FIFO18b(これはビデオ又は
LCDコントローラ20へビデオ・データを提供する)に
どれだけのデータが残っているかという状態に基づいて
割当てられる。特に、ある特定の時間にFIFO18bが殆
ど空の場合、その間ビデオ又はLCDコントローラ20か
ら発行される要求は相対的に高い優先度を割当てられ、
逆に、FIFO18bが特定の時間に殆ど空でない場合、そ
の間ビデオ又はLCDコントローラ20からの要求は通常
の(すなわち、相対的に低い)優先度を割当てられる。
この指示を達成するため、FIFO18bは優先度ハンドラ
及びステート・マシン18dに制御信号を与えるよう結
合されている。さらにFIFO18bの空き具合から生じる
優先度に関連して、既にビデオ及びLCDコントローラ2
0からの要求が未決となっており、かつ最初通常の優先
度を割当てられている場合、FIFO18bがある程度の空
き具合に達した場合はその優先度は高優先度に切替えら
れる。FIFO18bの空き具合の定義は当業者により選択
できる。例えば、表2から、ビデオ及びLCDコントロー
ラ20からのアクセス要求は1の優先度(高優先度)又
は7の優先度(通常優先度)のどちらかを割当てられる
ことを認めるべきである。望ましい実施例ではどちらの
優先度を割当てるかを決定するため、FIFO18bに単一
の閾値の記憶が選択され、FIFO18bにこの閾値よりビ
デオ・データが少ない場合、ビデオ及びLCDコントロー
ラ20からの発行された又は未決の要求は高優先度を割
当てられ、一方FIFO18bのデータ量がこの閾値と同じ
か又は大きい場合は、ビデオ及びLCDコントローラ20
からの発行又は未決要求は通常優先度を割当てられる。
しかしながら、当業者は優先度の選択に異なる方法を選
択可能で、また優先度を2つの分類に限定する必要はな
い。例えば、別の方式として、1から5の段階のよう
な、1からある大きな数までの線形段階を使用してもよ
い。この場合、FIFO18bが1/5又はそれ以下の場
合、ビデオ及びLCDコントローラ20からのアクセス要
求には1の優先度値が割当てられる。その他の例とし
て、FIFO18bが4/5又はそれ以上の場合、ビデオ又
はLCDコントローラ20からのアクセス要求に5の優先
度値が割当てられる。
【0048】周辺インターフェース14bからのアクセ
ス要求に対応する優先度は最初通常値を割当てられる
が、どれだけ要求が未決であるかを基に動的に高い値に
変更される。この点に関して、トラフィック・コントロ
ーラ18は、8ビット・カウント閾値を記憶するための
プログラム可能なレジスタ18eRを含むタイマ回路1
8eを含む。従って、周辺インターフェース14bから
のアクセス要求が要求スタック18cに最初に記憶され
る時、これは通常の優先度を割当てられ、表2から、他
の優先度に対するこの通常優先度は5の値であることが
認められる。しかしながら、この要求の記憶時に、タイ
マ回路18eがカウントを開始する。未決要求がサービ
スされる前に、タイマ回路18eのカウントがプログラ
ム可能レジスタ18eRに記憶した値に到達した場合、
タイマ回路18eは優先度ハンドラ及びステート・マシ
ン18dに制御信号を発行して、アクセス要求を通常か
ら高状態へ変更する。再度表2を参照すると、その他の
優先度に対するこの高優先度は3の値である。タイマ回
路18eがそのプログラムした限界に到達する前に要求
がサービスされた場合、カウントはリセットされて、次
の未決の周辺要求を解析する。加えて、以上の説明は単
一の周辺要求のみを参照しているが、別の実施例は、一
つ以上の周辺要求が要求スタック18cで未決の場合に
別々のカウントを保持し、ここで各別々のカウントはそ
の対応する要求を記憶した時に開始する。
【0049】自動リフレッシュに対応する優先度は最初
通常の優先度を割当てられるが、どれだけ要求が未決の
ままであるかを基にしてより高い値へ動的に変更され
る。この処理の詳細に入る前に、最初にSDRAMメモリの
背景として、リフレッシュ間隔内に全バンクをリフレッ
シュしなければならないことに注意する。現在市販され
ている大部分のSDRAMでは、通常この時間は標準化さ
れ、64ミリ秒である。この64ミリ秒の間に、全ての
バンクをリフレッシュしなければならない、このこと
は、一定数の所要自動リフレッシュ要求(例えば、4
k)をSDRAMへ送らなければならないことを意味する。
当該技術において公知のように、自動リフレッシュ要求
はアドレスを含まず、代わりに要求の受け取りに応答し
てメモリのある区域へのポインタをSDRAMに増分させ
る。標準的には、この区域は複数行であり、複数バンク
・メモリに対しては、単一の自動リフレッシュ要求に応
答して複数バンクの各々の同じ行をリフレッシュさせ
る。最後に自動リフレッシュの背景として、従来技術で
はSDRAMへ自動リフレッシュ要求を発行するには一般的
に2つの方式があり、ここで第1の方式は、リフレッシ
ュ期間の間の等間隔の時間間隔で自動リフレッシュ要求
を発行し、第2の方式は単一の指令によりその指令に応
答して全てのバンクの全てのラインを順番にリフレッシ
ュするものである。しかしながら、本発明の実施例で
は、これらの従来技術の方式の各々に欠点があることに
注意している。例えば、自動リフレッシュ要求が等間隔
の場合、要求の一つを受取りSDRAM24に作用するたび
に、これはメモリの全てのバンクをプリチャージさせ
る。しかしながら、このような結果は本発明により実施
されたような相当時間の間、行をアクティブに保持する
利点を減少させる。その他の例として、単一の指令を発
行して全てのバンクの全ての行をリフレッシュする場
合、このリフレッシュ期間の間メモリは全ての要求源に
対して利用不能であり、これは複雑なシステムでは有害
である。従って、望ましい実施例はすぐ下に説明するよ
うにこれらの欠点を克服している。
【0050】望ましい実施例では、自動リフレッシュ
は、DRAMコントローラ18aへ自動リフレッシュ要求の
バーストを送出する優先度ハンドラ及びステート・マシ
ン18dにより実施される。一般的にかつ以下で示すよ
うに、4、8、又は16自動リフレッシュ要求のバース
トのように、バーストは相対的に小さい。従って、これ
らの要求に応答して、自動リフレッシュ操作のためSDRA
M24がプリチャージされる期間があるが、この期間
は、4096要求を連続して発行し、単一の時間フレー
ム内でこれらの要求の全てに応答してプリチャージを発
生させる場合よりもはるかに短い。加えて、これらのバ
ーストの時間の間に、優先度ハンドラ及びステート・マ
シン18dによりその他の要求(高い優先度の)をサー
ビスできる。実際、これらのその他の要求の多くは既に
アクティブな行に向けられ、それ故この時間の間これら
の行はリフレッシュ操作により乱されない(すなわち、
プリチャージされない)。ここでこれらの操作の実装の
詳細に入ると、トラフィック・コントローラ18は、自
動リフレッシュ・バースト・サイズ(例えば、4、8、
16)を記憶するためのプログラム可能レジスタ18f
Rを含むタイマ回路18fを含む。タイマ回路18fの
リセットに応答して、プログラム可能レジスタ18fR
で数字を指示する多数のバースト要求が要求スタック1
8cに通常優先度で(例えば、表2では6)追加され
る。この時点で、自動リフレッシュ要求のバーストが未
決である間は、タイマ回路18fは時間切れ値(例え
ば、256マイクロ秒)へ向けて進行を開始する。図9
と関連して以上に詳述したように、優先度ハンドラ及び
ステート・マシン18dは、スタック18c中の未決要
求の相対優先度に応じてDRAMコントローラ18aへ要求
を発行することにより進行する。このように、優先度レ
ベル6の要求が到達した場合、これらの未決の自動リフ
レッシュ要求がDRAMコントローラ18aへ発行される。
従って、タイマ回路18cがその時間切れ値に向けて進
行している間に、2つの事象の内の1つが最初に発生す
る。1つの事象は、未決の自動リフレッシュ要求の全て
がDRAMコントローラ18aへ発行されることであり、他
の事象は、タイマ回路18fがその時間切れ値に到達す
る場合である。未決の自動リフレッシュ要求の全てをDR
AMコントローラ18aに発行した場合、タイマ回路18
fはゼロにリセットされ、自動リフレッシュ要求のその
他のバーストが要求スタック18cに追加される。反対
に、前のバーストの1つ以上の自動リフレッシュ要求が
未決の間に、タイマ回路18fがその時間切れ値に到達
した場合、優先度ハンドラ及びステート・マシン18d
は未決の自動リフレッシュ要求の通常優先度を高優先度
(例えば、表2の2)に動的に増加する。加えて、タイ
マ回路18fが再びゼロにリセットされ、通常優先度の
自動リフレッシュ要求の他のバーストが要求スタック1
8cに追加される。しかしながら、方法80が未決要求
を処理し続けている時、優先度の相当な変更(例えば6
から2)を与えると、優先度をあげた自動リフレッシュ
要求にサービスする機会は相当増加する。
【0051】以上から、当業者には望ましい実施例にお
ける自動リフレッシュ方法論の多数の利点が認められ
る。例えば、自動リフレッシュ要求のバーストは一般的
にバンクをあまりに頻繁にプレチャージすることを避け
ている。対照的に、自動リフレッシュ指令を最大リフレ
ッシュ間隔内で均等に浴びせるよう選択した場合、自動
リフレッシュ指令が各15.62マイクロ秒(すなわ
ち、64ミリ秒/4096ライン=15.62マイクロ
秒)毎にSDRAM24へ送られる。このようにすると、全
てのバンクが各15.62マイクロ秒ごとにプリチャー
ジされる。自動リフレッシュ要求指令をバーストに集団
化する望ましい実施例と対比して、かつこれを見ると、
優先度能力により自動リフレッシュ要求を未決のままに
しておき、多くの場合より高い優先度の要求の間のギャ
ップ時にサービスすることを可能とする。これは2つの
全体プリチャージ間の時間を増大させる。例えば、16
回の自動リフレッシュ要求が集団化された場合、2つの
全体プリチャージ(DCAB指令)間のギャップは250マ
イクロ秒である。このことはこの自動リフレッシュ・バ
ースト機構をDRAMコントローラ18aと関係させる利点
を明瞭に示す。自動リフレッシュのこのバーストは、も
ちろんより高い優先度の要求により割込み可能である。
【0052】優先度のこの説明を終了するに当り、表2
から、変更できない優先度を有する2種類のアクセス要
求があることに注意されたい。これらのアクセス要求の
最初のものは、SBUSから受取るアクセス要求、最も特筆
すべきは、ホスト・プロセッサ12からのアクセス要求
を含むものである。この点に関して、それ故通常の動作
時、すなわち、他の要求が高優先度を有するよう変更さ
れていない時には、ホスト・プロセッサ12が最高の優
先度を有していることに注意されたい。このように、通
常は、ホスト・プロセッサ12がメモリへのアクセスを
必要とする時間の間に十分なギャップがあり、これらの
ギャップの間に通常の優先度を与えられたその他の要求
源からのアクセス要求をサービスできることが期待でき
る。しかしながら、これらのギャップが十分でない程度
になると、望ましい実施例の優先度方式がこれらのその
他のアクセス要求の優先度を上げてさらにサービスし、
従ってシステムへのロック問題を生じることなくこれら
がサービスされる。表2に示したような望ましい実施例
の優先度に関連する最後の事項として、フラッシュメモ
リ26からSDRAM24への転送のアクセス要求は常に最
低の優先度(優先度8)を与えられていることに注意さ
れたい。
【0053】トラフィック・コントローラ18内に含ま
れることが望ましいその他の発明の利点を説明するた
め、図10はこれも優先度ハンドラ及びステート・マシ
ン18dにより実行され、バースト要求に向けられる方
法90を図示する。最初に、方法90は、図9と関連し
て説明した方法80と並列に発生することに注意すべき
である。方法90は段階92から開始し、ここで要求ス
タック18cに記憶されたアクセス要求が優先度ハンド
ラ及びステート・マシン18dにより解析用に選択され
る。次いで段階94で、優先度ハンドラ及びステート・
マシン18dは、未決アクセス要求がバースト要求であ
るかどうかを決定し、そうである場合、要求バイト数の
サイズSが所定の基底サイズ・バイト数Bより大きいかど
うかを決定する。1例として、Bが8に等しいものと仮
定する。SがBより大きい場合、方法90は段階96へ進
むが、一方SがBに等しいか又は小さい場合、方法90は
段階92へ戻り、次の未決アクセス要求を解析する段階
へ進む。
【0054】段階96で、優先度ハンドラ及びステート
・マシン18dは段階94からのバースト要求を複数バ
ースト要求に有効に分割する。この操作の利点は後述す
るが、最初に要求分割の望ましい実施例の技術の説明を
提示する。望ましくは、この操作は、段階94からのバ
ースト要求をS/Bバースト要求に置換えることにより
実施され、ここで各置換えバースト要求はBバイトのバ
ーストである。例えば、段階94が32バイトに等しい
サイズSを有するバースト要求サイズに対して実行され
るものと仮定する。この場合、SはBを超えており(す
なわち、32>8)、本方法は段階96へ進む。段階9
6でこの例では、優先度ハンドラ及びステート・マシン
18dは32バイトのアクセス要求を4つのアクセス・
バースト要求(すなわち、S/B=32/8=4)に置
換え、ここで新たな各要求は8バイトのバースト(すな
わち、B=8)である。
【0055】トラフィック・コントローラ18が上述の
DRAMコントローラ18aを含む望ましい実施例では、分
割要求はDRAMコントローラ18aにより連続したバース
ト要求として見なされるような方法で指示され、これに
よりアドレス伝送に関してさらなる効率を可能としてい
ることに注意されたい。特に、バースト要求が複数要求
に分割された時、第1の要求はDRAMコントローラ18a
への要求REQとして指示され、以後表5に示すようにコ
ード化される。一般に、残りの複数要求の各々に対して
は、各々がDRAMコントローラ18aへの連続要求SREQと
して指示される。このように、要求源S1からのバースト
要求が4つの要求に分割される例に対しては、トラフィ
ック・コントローラ18によりDRAMコントローラ18a
へ発行される要求は:(1)REQ[s1];(2)SREQ[s
1];(3)SREQ[s1];(4)SREQ[s1]である。ここでこ
の相違の利点に戻ると、DRAMコントローラ18aは一般
的にある場合には連続したアクセスに対してSDRAM24
の行をアクティブに保持するよう動作することを想起さ
れたい。現在の例では、DRAMコントローラ18aがSREQ
要求を受取った時に、その指示により直前の先行する要
求に順番に続くデータ群へ要求が向けられることが知ら
れている。それ故これから2つの利点が生じる。第1
に、望ましい実施例では、SREQ要求に対してはトラフィ
ック・コントローラ18によりDRAMコントローラ18a
へ余分なアドレスが伝送されず、従ってオーバーヘッド
を減少する。第2に、現在アクセスしているアドレスの
増分を使用することにより、DRAMコントローラ18a
は、SREQ要求により検索されるデータが現在アクティブ
であるものと同じ行にあるかどうかを決定可能であり、
そうである場合、前のアクセスの時間とSREQアクセスに
対応するアクセスの時間との間に行をプリチャージする
ことなくそのデータのアクセスを生じさせる。しかしな
がら、最後に、望ましい実施例では、DRAMコントローラ
18aは、現在アクセスしているアドレスと共に、連続
SREQアクセスの数とバースト・サイズから、ページ交差
が生じているかどうかも決定し、ページ交差が発生して
いる場合、DRAMコントローラ18aにより現在アクセス
している行をプリチャージさせ、SREQ要求に対応する次
の行をアクティブにする。
【0056】また、望ましい実施例で、優先度ハンドラ
及びステート・マシン18dの優先度能力を与えると、
さらに、分割要求が依然として未決の間に、要求源から
より高い優先度の要求をトラフィック・コントローラ1
8が受取った場合、分割バースト要求から生じた複数要
求はREQとSREQ指定に関して異なって処理されることに
注意されたい。特に、このような場合、REQ指示が再び
複数要求の最初のものに与えられるが、挿入されたより
高い優先度の要求に続く最初の要求にも与えられる。例
えば、再び、要求源s1からの最初のバースト要求が4
つの要求に分割されたと仮定するが、さらに4つの分割
要求のうちの第2番をDRAMコントローラ18aに送った
後により高い優先度要求を受取ったものと仮定する。こ
の場合、DRAMコントローラ18aへの要求の順序は:
(1)REQ[s1];(2)SREQ[s1];(3)REQ[s2];
(4)REQ[s1];(5)SREQ[s1]である。このように、
要求(2)は要求(1)と同じ行アドレスへの連続要求
であり、要求(5)は要求(4)と同じ行アドレスへの
連続要求である。しかしながら、要求(2)と(4)の
間には、より高い優先度要求(3)が挿入される。それ
故、再び、各SREQは前述した方法で処理され、従って、
DRAMコントローラ18aへのアドレスの伝送は必要な
く、先行する要求と同じ行がアクセスされることにな
る。
【0057】方法90の終わりとして、段階96の後こ
れは段階92へ戻って次の未決アクセス要求を解析す
る。最後に、段階96と関連して、以上の例はBがSで
均等に割算できることを仮定していることに注意された
い。しかしながら、そうではない場合には、段階96は
単一のアクセス要求を、S/Bの整数部分加える1に等
しいバースト要求整数に置換え、ここでS/B要求の各
々はBバイトのバーストであり、かつ追加の要求は残り
のバイト数であることが望ましい。例えば、Sが35に
等しい、未決のDMAバースト要求に対しては、段階96
は、その要求を、各々8バイトのバーストを検索する4
つのアクセス要求と3バイトのバーストの第5アクセス
要求とに置換える。
【0058】方法90を説明したが、上記のDRAMコント
ローラ18aと関連して説明したような、行をアクティ
ブに保持する能力と組み合わされた時、さらに図7及び
図8と関連して記述した優先度の面と組合せると、他に
ない利点を提供できることに注意されたい。これを認め
るには、バースト・サイズが如何に効率に影響するかを
記載した、本文書の発明の背景説明部分を思い出された
い。特に、ある従来技術の方式はオーバーヘッドの不利
益を避けるためバースト・サイズを増加したことが記載
されていたが、この方式は、長いバーストが他の回路が
バースト中にメモリ・アクセスすることを妨害するとい
う問題も生じている。対照的に、方法90は長いバース
ト要求を多数の小さなバーストに切断することを可能と
している。しかしながら、より高い未決優先度要求がな
い場合、本発明の教示下で、これらの小さなバーストが
DMAコントローラによりDRAMコントローラへ連続して発
行される。加えて、バーストは連続したメモリ位置をア
クセスしているため、連続した小さな各バーストはアク
ティブに保持されているSDRAM24の行をアクセスし、
従って各連続バーストに対応する連続アクセスの間には
オーバーヘッドがない。加えて、DMAコントローラがよ
り高い優先度要求を受取った時点で、本発明はかって長
いバーストであったものの有効な割込みを有効に提供で
きる。特に、長いバーストが複数の小さなバーストに切
断されたため、高い優先度要求は2つの小さなバースト
の発生の間に生じるよう挿入され、その高い優先度要求
をサービスすると、小さなバーストの全てが完了するま
で連続した小さなバーストが再びサービスされる。この
ようにして、元々は長いバースト要求であったものの実
質的に真中に、高優先度要求が挿入され、最小のオーバ
ーヘッドでバーストが再始動可能であると考えられる。
結論として、それ故、本発明は多くの場合に大きな有効
バーストを可能とし、かつ他の場合に長いバーストの完
了を待機することなくより高い優先度要求をサービス可
能とする。
【0059】SDRAM24に関連してトラフィック・コン
トローラ18の各種の一般的及び特殊機能を詳述してき
たが、各種の前述の動作を達成する一つの方法を当業者
に図示するため、本文書はここで各種のポートと信号の
以下の提示により終わりとする。この点に関して、以下
の表3はトラフィック・コントローラ18からSDRAM2
4への一般的なインターフェース・ポートを列挙する。
【表3】
【0060】加えて、表4の以下の信号は、DMAアクセ
ス又は直接アクセスを要求する各種の回路から(例え
ば、ホスト・プロセッサ12、DSP14a、周辺インタ
ーフェース14bからの周辺機器、ビデオ又はLCDコン
トローラ20)トラフィック・コントローラ18へ出さ
れたアクセス要求に応答して、SDRAM24へのアクセス
要求を与えるためのトラフィック・コントローラ18の
望ましい実施例の方法を図示し、直ぐこれに続く表5は
異なるアクセス型式を実行するこれらの信号の状態を図
示する。
【表4】
【表5】
【0061】* アクセスはトラフィック・コントローラ
18により発生される。トラフィック・コントローラ1
8による2つの要求は同時には発生されず、従って、同
時には1ビットのみがアクティブであり、これは要求を
デコードしなければならないことを避けられる。トラフ
ィック・コントローラ18が連続要求を送る前に、これ
は最初に/SDRAM_Req_grant信号を受信しなければならな
い。この認可は、要求が取りこまれ、現在処理されてい
ることを示す。** MRS指令が実行されてSDRAM内部制御レジスタをプロ
グラムしている時、DMAデータバスがSDRAMアドレスバス
上に載せられる。*** SET_MODE_SDRAMが読取られた時、SDRAMコントロー
ラ・モジュール(SDRAM内部レジスタではない)からの
局所レジスタが読取られる。
【0062】最後に、以下の表6はトラフィック・コン
トローラ18とSDRAM24との間の制御バス24c上のさ
らに他の制御信号を図示する。
【表6】
【0063】以上の説明から、上記実施例はメモリ・ア
クセス待ち時間を減少させ、DRAMコントローラ、DMAシ
ステム、又はその両者で実装でき、いずれにせよ従来技
術に対して様々な改良を提供できる。上記教示に加え
て、本実施例を詳細に説明してきたが、発明の範囲から
逸脱することなく各種の置換え、修正又は変更を上記の
説明に加えることが可能であることに注意すべきであ
る。例えば、記載の機能を達成するため異なる制御信号
を使用しても良く、特に異なった型式のメモリがDRAM制
御に関連している場合はそうである。その他の例とし
て、図4、図8、図9は流れ図により一般的に連続的な
方法を図示したが、望ましい実施例はステート・マシン
を実装してこれらの段階を実行し、従って流れは流れ図
に示したような連続的なものではなく、各ステートから
別のステートへ流れるものであることを理解すべきであ
る。さらに他の例として、各種の優先度の考えを説明し
たが、上記要求源のいくつかの優先度の順序を再配置し
たり、又はさらに他のものを(例えば、DSP14a)優
先度方式から除いたり含めたりするようにして、待ち時
間を減少するためさらに他を実装してもよい。さらにそ
の他の例として、無線データ・プラットフォーム10は
一般的なブロック線図である。従って、別の機能を含め
たり、変更も出来るが、このようなものはDRAM及びDMA
制御面の図解を簡単化し説明に注力するため示していな
い。図示していないが考えられる機能の簡単なメモとし
て、プラットフォーム10はI/OコントローラとRA
M/ROMのようなメモリを含む。さらに、I/Oコン
トローラを介して又は周辺インターフェース14bを介
した周辺機器として複数個の装置が無線データ・プラッ
トフォーム10に結合可能である。このような装置は、
スマートカード、キーボード、マウス、又はユニバーサ
ル・シリアルバス(「USB」)ポート又はRS232
シリアルポートのような1つ以上のシリアルポートを含
む。プラットフォーム10への特定の変更の例として、
プロセッサ12とDSP14aの別々のキャッシュを統合
キャッシュに組合せ可能である。さらに、JAVAのような
言語の実行を加速するためハードウェア加速回路もオプ
ションの項目であるが、この回路は装置の操作には必ず
しも必要ない。最後に、図示実施例は単一のDSPを示し
ているが、複数DSP(又は他のコプロセッサ)もバスに
結合可能である。最後の例として、プラットフォーム1
0は単なる1例であり、DRAM制御及びDMA制御のどちら
か又は両方を有するその他のシステムに本発明の多数の
概念を実装できることを理解すべきである。従って、本
教示を与えられた当業者によって確認可能な以上の説
明、これらの例示、及びその他の事項が、添付の特許請
求の範囲に定める発明の範囲を図解する助けとなるはず
である。
【図面の簡単な説明】
【図1】4回の連続メモリ要求に応答してDRAMコントロ
ーラによりアクセス信号を発行する従来技術のタイミン
グ図。
【図2】本実施例を実装する無線データ・プラットフォ
ームのブロック線図。
【図3】図2のSDRAM24とDRAMコントローラ18dの詳
細を図示するブロック線図。
【図4】システム待ち時間を減少するためDRAMコントロ
ーラ18dによるメモリ・アクセス要求を処理する実施
例の流れ図。
【図5】図4の流れ図の方法によるアクセス信号発行の
タイミング図。
【図6】図4の流れ図の方法による4つの連続するメモリ
要求に応答して発生されたアクセス信号発行のタイミン
グ図。
【図7】図3で図示し、図4から図6の図解でさらに説明
したDRAMコントローラ18aのより詳細な図。
【図8】各種の優先度面と関連した図2のトラフィック
・コントローラ18の詳細を図示するブロック線図。
【図9】各種の優先度考慮を使用してシステム待ち時間
を減少するためトラフィック・コントローラ18による
メモリ・アクセス要求を処理する実施例の流れ図。
【図10】相対的に大きなバースト・アクセス要求を2
つ以上のより小さなマースと・アクセス要求に分割する
ことによりシステム待ち時間を減少するためトラフィッ
ク・コントローラ18によるメモリ・アクセス要求を処理
する実施例の流れ図。
【符号の説明】
10 汎用データ・プラットフォーム 12 ホスト・プロセッサ 14b 周辺インターフェース 16 DMAインターフェース 18 トラフィック・コントローラ 18a DRAMコントローラ 18b FIFO 18c 要求スタック 18d 優先度ハンドラ及びステート・マシン 20 ビデオ又はLCDコントローラ 24 SDRAM 30 比較論理及びステート・マシン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ドミニク ダンベルノ フランス国 ビュヌーブ ルブ,レ ラ リバル バチマン ベー,シュマン バッ セ ジネスティエール 47

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリをアクセスする複数個の要求に応
    答するメモリ・トラフィック・アクセス・コントローラ
    において、 複数個の要求の各々に対して、要求に対応する初期優先
    度値を関係付ける回路と、 複数個の要求の内の選択したものに対する初期優先度を
    異なる優先度値に変更する回路と、 複数個の要求の内の最高の優先度値を有する要求に応答
    してメモリのアクセスを生じさせる信号を出力する回路
    と、を含むメモリ・トラフィック・アクセス・コントロ
    ーラ。
  2. 【請求項2】 計算システムにおいて、 メモリと、 メモリをアクセスする複数個の要求に応答するメモリ・
    トラフィック・アクセス・コントローラであって、 複数個の要求の各々に対して、要求に対応する初期優先
    度値を関係付ける回路と、 複数個の要求の内の選択したものに対する初期優先値を
    異なる優先度値に変更する回路と、 複数個の要求の内の最高の優先度値を有する要求に応答
    してメモリのアクセスを生じさせる信号を出力する回路
    と、を含む前記メモリ・トラフィック・アクセス・コン
    トローラと、を含む計算システム。
JP10377030A 1997-12-05 1998-12-07 アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ Pending JPH11345165A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP97402958 1997-12-05
FR9805423A FR2778258A1 (fr) 1998-04-29 1998-04-29 Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
FR97402958.9 1998-04-29
FR9805423 1998-04-29

Publications (1)

Publication Number Publication Date
JPH11345165A true JPH11345165A (ja) 1999-12-14

Family

ID=26147931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10377030A Pending JPH11345165A (ja) 1997-12-05 1998-12-07 アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ

Country Status (1)

Country Link
JP (1) JPH11345165A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131937A (ja) * 2001-08-31 2003-05-09 Koninkl Philips Electronics Nv 集合的リソースに対する機能のダイナミック・アクセス制御
JP2007157029A (ja) * 2005-12-08 2007-06-21 Nec Electronics Corp メモリ制御回路及びメモリ制御方法
JP2009015832A (ja) * 2007-06-07 2009-01-22 Renesas Technology Corp アクセス間調停回路、半導体装置およびアクセス間調停方法
JP2009205601A (ja) * 2008-02-29 2009-09-10 Yokogawa Electric Corp メモリアクセス制御装置
JP4549001B2 (ja) * 2000-02-07 2010-09-22 ルネサスエレクトロニクス株式会社 情報処理装置及び半導体集積回路
JP2014035628A (ja) * 2012-08-08 2014-02-24 Canon Inc 情報処理装置、メモリ制御装置およびその制御方法
JP2015187874A (ja) * 2009-09-15 2015-10-29 アーム・リミテッド トランザクションの優先レベルを設定するデータ処理装置および方法
JP2021029337A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029336A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029338A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239660A (ja) * 1988-03-19 1989-09-25 Fujitsu Ltd バス制御方式
JPH01290192A (ja) * 1988-05-18 1989-11-22 Kyocera Corp D−ramのリフレッシュ制御方式
JPH05188892A (ja) * 1991-06-10 1993-07-30 Internatl Business Mach Corp <Ibm> コンピユータビデオグラフイツクシステム
JPH05250253A (ja) * 1986-01-23 1993-09-28 Texas Instr Inc <Ti> メモリアクセス制御システム
JPH06501123A (ja) * 1991-07-08 1994-01-27 セイコーエプソン株式会社 複数の異種プロセッサをサポートすることのできるマイクロプロセッサ・アーキテクチャ
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
JPH0863587A (ja) * 1994-03-08 1996-03-08 Texas Instr Inc <Ti> 透過性検出データ転送制御装置を有するデータプロセッサおよびその操作方法
WO1996041325A1 (en) * 1995-06-07 1996-12-19 Seiko Epson Corporation Computer system with display controller including arbitration of display memory access according to a multi-tiered priority scheme
WO1996041326A1 (en) * 1995-06-07 1996-12-19 Silicon Light Machines Binary time modulation with dead periods for matrix display systems
JPH09259031A (ja) * 1996-03-27 1997-10-03 Hitachi Ltd フレームメモリアクセス制御方法
JPH09305527A (ja) * 1996-05-13 1997-11-28 Brother Ind Ltd Dmaコントローラ
JP2001508183A (ja) * 1995-06-07 2001-06-19 セイコーエプソン株式会社 Dramアクセスを求める要求の発行並びに取り消しを行なうメカニズムを備える表示fifoモジュール

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250253A (ja) * 1986-01-23 1993-09-28 Texas Instr Inc <Ti> メモリアクセス制御システム
JPH01239660A (ja) * 1988-03-19 1989-09-25 Fujitsu Ltd バス制御方式
JPH01290192A (ja) * 1988-05-18 1989-11-22 Kyocera Corp D−ramのリフレッシュ制御方式
JPH05188892A (ja) * 1991-06-10 1993-07-30 Internatl Business Mach Corp <Ibm> コンピユータビデオグラフイツクシステム
JPH06501123A (ja) * 1991-07-08 1994-01-27 セイコーエプソン株式会社 複数の異種プロセッサをサポートすることのできるマイクロプロセッサ・アーキテクチャ
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
JPH0863587A (ja) * 1994-03-08 1996-03-08 Texas Instr Inc <Ti> 透過性検出データ転送制御装置を有するデータプロセッサおよびその操作方法
WO1996041325A1 (en) * 1995-06-07 1996-12-19 Seiko Epson Corporation Computer system with display controller including arbitration of display memory access according to a multi-tiered priority scheme
WO1996041326A1 (en) * 1995-06-07 1996-12-19 Silicon Light Machines Binary time modulation with dead periods for matrix display systems
JPH11511263A (ja) * 1995-06-07 1999-09-28 セイコーエプソン株式会社 ディスプレイを有するコンピュータシステム
JP2001508183A (ja) * 1995-06-07 2001-06-19 セイコーエプソン株式会社 Dramアクセスを求める要求の発行並びに取り消しを行なうメカニズムを備える表示fifoモジュール
JPH09259031A (ja) * 1996-03-27 1997-10-03 Hitachi Ltd フレームメモリアクセス制御方法
JPH09305527A (ja) * 1996-05-13 1997-11-28 Brother Ind Ltd Dmaコントローラ

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549001B2 (ja) * 2000-02-07 2010-09-22 ルネサスエレクトロニクス株式会社 情報処理装置及び半導体集積回路
JP2003131937A (ja) * 2001-08-31 2003-05-09 Koninkl Philips Electronics Nv 集合的リソースに対する機能のダイナミック・アクセス制御
JP2007157029A (ja) * 2005-12-08 2007-06-21 Nec Electronics Corp メモリ制御回路及びメモリ制御方法
JP2009015832A (ja) * 2007-06-07 2009-01-22 Renesas Technology Corp アクセス間調停回路、半導体装置およびアクセス間調停方法
JP2009205601A (ja) * 2008-02-29 2009-09-10 Yokogawa Electric Corp メモリアクセス制御装置
JP2015187874A (ja) * 2009-09-15 2015-10-29 アーム・リミテッド トランザクションの優先レベルを設定するデータ処理装置および方法
JP2014035628A (ja) * 2012-08-08 2014-02-24 Canon Inc 情報処理装置、メモリ制御装置およびその制御方法
JP2021029337A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029336A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029338A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機

Similar Documents

Publication Publication Date Title
US6253297B1 (en) Memory control using memory state information for reducing access latency
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US6393506B1 (en) Virtual channel bus and system architecture
US6604180B2 (en) Pipelined memory controller
KR100898710B1 (ko) Dram 기반의 랜덤 액세스 메모리 서브시스템에서 트리메모리 액세스에 대한 퍼포먼스를 향상시키기 위한다중-뱅크 스케쥴링
US6622228B2 (en) System and method of processing memory requests in a pipelined memory controller
KR100422781B1 (ko) 통합 메모리 아키텍처에서 중재하기 위한 방법 및 장치
US6477598B1 (en) Memory controller arbitrating RAS, CAS and bank precharge signals
US6006307A (en) Computer system employing a mirrored memory system for providing prefetch bandwidth
KR20050005481A (ko) 아웃 오브 오더 dram 시퀀서
KR20040037187A (ko) 메모리 액세스 대기시간을 감소시키기 위한 메모리 액세스스케쥴링 방법 및 장치
US6385692B2 (en) Methods and apparatus for variable length SDRAM transfers
US6836831B2 (en) Independent sequencers in a DRAM control structure
JPH11345165A (ja) アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ
KR20030029030A (ko) 메모리 제어 방법, 그 제어 방법을 이용한 메모리 제어회로 및 그 메모리 제어 회로를 탑재하는 집적 회로 장치
US7076627B2 (en) Memory control for multiple read requests
US6008823A (en) Method and apparatus for enhancing access to a shared memory
US7716442B2 (en) Interfacing processors with external memory supporting burst mode
US7165128B2 (en) Multifunctional I/O organizer unit for multiprocessor multimedia chips
JP2000315172A (ja) アクセス待ち時間を減少するためにメモリ状態情報を使用するメモリ制御
EP1704487B1 (en) Dmac issue mechanism via streaming id method
EP0921468B1 (en) Memory control using memory state information for reducing access latency
EP0940757A2 (en) Traffic controller using priority and burst control for reducing access latency
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
US20070260803A1 (en) Data processing system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101125

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111101

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120104