JP2000315172A - Memory control using memory state information to shorten access latency time - Google Patents
Memory control using memory state information to shorten access latency timeInfo
- Publication number
- JP2000315172A JP2000315172A JP10377031A JP37703198A JP2000315172A JP 2000315172 A JP2000315172 A JP 2000315172A JP 10377031 A JP10377031 A JP 10377031A JP 37703198 A JP37703198 A JP 37703198A JP 2000315172 A JP2000315172 A JP 2000315172A
- Authority
- JP
- Japan
- Prior art keywords
- access
- memory
- request
- address
- circuit
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はメモリ制御とダイレ
クト・メモリ・アクセス(「DMA」)を実装する環境に
関係し、特にアクセス待ち時間を減少するためこれらの
環境下での回路、システム、及び方法に向けられる。FIELD OF THE INVENTION The present invention relates to environments implementing memory control and direct memory access ("DMA"), and particularly to circuits, systems, and systems in these environments to reduce access latency. Aimed at the way.
【0002】[0002]
【従来の技術】メモリ制御は、メモリ・コントローラ、
すなわちダイナミック・ランダム・アクセス・メモリ
(「DRAM」)がしばしば制御されるメモリの型式である
ため、DRAMコントローラと呼ばれる機構によりコンピュ
ータ技術において標準的に実施されている。DRAMコント
ローラは大規模回路内に含まれる別の回路又はモジュー
ルでも良く、標準的には対応するメモリの1つ以上のメ
モリ位置をアクセスする要求を受け取る。各要求に応答
するため、メモリ・コントローラは十分な回路(例え
ば、アドレス・デコーダ及び論理デコーダ)を実装して
メモリへ適切な制御信号を与え、メモリを適切に制御し
てその記憶回路を加勢減勢する。2. Description of the Related Art Memory control includes a memory controller,
That is, because dynamic random access memory ("DRAM") is a type of memory that is often controlled, it is standard practice in computer technology by a mechanism called a DRAM controller. A DRAM controller may be another circuit or module contained within a larger circuit and typically receives a request to access one or more memory locations of a corresponding memory. To respond to each request, the memory controller implements sufficient circuitry (e.g., address and logic decoders) to provide appropriate control signals to the memory, appropriately controlling the memory and deactivating its storage circuitry. Energize.
【0003】[0003]
【発明が解決しようとする課題】ある種のDRAMコントロ
ーラはメモリ・アクセスの効率が上がるよう設計されて
いるが、本発明の実施例と関連して現在の技術下ではあ
る種の制限が生じることが分かった。これらの制限のい
くつかは、多数のオーバーヘッド・サイクルを発生させ
るDRAMコントローラにより発生され、ここでオーバーヘ
ッド・サイクルとはDRAMがビジィであるが現在データを
送受信していないサイクルを表す。オーバーヘッドによ
り生じる全体的な不利益を減少させる1つの一般的な解
決方法は、バースト操作を使用することである。標準的
には、バースト・サイズと共に単一のアドレスのみが必
要であり、各データ単位当り余分のオーバーヘッドなし
にその後連続するデータ単位(すなわち、バースト)が
読取り又は書込みできるため、バースト操作は全体のオ
ーバーヘッドを減少させる。しかしながら、バースト技
術をもっても、特定のバースト・サイズに対して必要と
されるオーバーヘッド・サイクルの量を調べることは依
然として重要である。この点に関しては、現在の技術で
は、全体のアクセス長に対するバースト長の比率が効率
の1つの尺度を与える。この尺度を与えると、バースト
長を増大することにより、すなわち中断されない長いバ
ースト・アクセスを与えることにより効率は改良可能で
ある。言換えると、同数のオーバーヘッド・サイクルに
対してオーバーヘッド・サイクルに対するデータ・アク
セス・サイクル数の増加があるため、効率が良くなった
と考えられる。しかしながら、このような方式も障害を
与えることが本発明者により確認された。1つの欠点と
しては、多数のサイクルのバーストは、バースト時に異
なる要求回路によるメモリへのアクセスが禁止される、
又は異なる要求回路がバーストに割込みを許可された場
合、これは現在のバーストを停止させるオーバヘッド・
サイクルと、異なる要求回路のアクセスが完了してから
バーストを再開する余分なオーバーヘッドを追加する、
割込みにより標準的には達成される。これらの欠点は、
同じDRAMへのアクセスを有する1つ以上のプロセッサ
(例えば汎用、特殊プロセッサ、MPU、SCP、ビデオ・コ
ントローラ、等)を含むシステムでは特に顕著である。While certain DRAM controllers are designed to increase the efficiency of memory access, certain limitations are imposed under current technology in connection with embodiments of the present invention. I understood. Some of these limitations are generated by the DRAM controller, which generates a number of overhead cycles, where overhead cycles represent cycles where the DRAM is busy but is not currently transmitting or receiving data. One common solution to reduce the overall penalty caused by overhead is to use burst operations. Typically, only a single address is required with the burst size, and subsequent data units (ie, bursts) can be read or written without additional overhead for each data unit, so the burst operation is a whole operation. Reduce overhead. However, even with burst techniques, it is still important to determine the amount of overhead cycles required for a particular burst size. In this regard, with current technology, the ratio of burst length to total access length provides one measure of efficiency. Given this measure, efficiency can be improved by increasing the burst length, ie, by providing long uninterrupted burst accesses. In other words, it is considered that the efficiency is improved because the number of data access cycles with respect to the overhead cycle is increased for the same number of overhead cycles. However, it has been confirmed by the present inventor that such a method also causes an obstacle. One disadvantage is that bursts of multiple cycles prohibit access to memory by different request circuits during the burst,
Or if a different request circuit is allowed to interrupt the burst, this may be an overhead that stops the current burst.
Add the cycle and the extra overhead of restarting the burst after the access of the different request circuits is completed,
Typically achieved by interrupts. These disadvantages are:
This is especially true for systems that include one or more processors with access to the same DRAM (eg, general purpose, special purpose processors, MPUs, SCPs, video controllers, etc.).
【0004】上記の制限をさらに図示し、更なる追加説
明とするため、図1はDRAMコントローラを介した主メモ
リへの4回のアクセスのタイミング図を図示し、このア
クセスを一般的にA1からA4と名づける。説明の都合上、
アクセスA1とA3は第1のリソースR1(例えばCPU)と仮定
し、アクセスA2とA4は第2のリソースR2(例えば外部周
辺装置)と仮定する。アクセスA1からA4は以下で詳細に
調べるが、この時点で第1図はこれらのアクセスで費や
される標準的なクロック・サイクル数の例を各々が表し
ていていることに注意されたい。アクセスのこれらの数
とタイミングを以後使用して本発明実施例の各種の利点
を図示する。[0004] To further illustrate the above limitations and provide additional explanation, FIG. 1 illustrates a timing diagram of four accesses to main memory via a DRAM controller, which access is generally referred to as A1. Name it A4. For the sake of explanation,
Assume that accesses A1 and A3 are first resources R1 (eg, CPU) and accesses A2 and A4 are second resources R2 (eg, external peripherals). Accesses A1 through A4 will be discussed in detail below, but note that at this point in FIG. 1 each represents an example of the typical number of clock cycles spent in these accesses. These numbers and timing of accesses will be used hereinafter to illustrate various advantages of embodiments of the present invention.
【0005】アクセスA1は主メモリへの読取りバースト
・アクセスで、ここでバーストは8データ語である。ア
クセスA1の第1の部分はオーバーヘッド期間で、この図1
の例では6サイクルを要する。このオーバーヘッドは本
文書ではリーディング・オーバーヘッドと呼び、当該技
術において公知のように、読取るべきアドレスを含む制
御信号を主メモリへ与え、これらに信号に応答する主メ
モリの動作を待機するような操作を含む。アクセスA1の
第2部分は主メモリからのデータのバーストの提供であ
る。本例では、バースト・サイズは8で、各バースト量
(例えば、16ビット)は単一のクロックを消費する。
従って、8個の16ビット量のバーストは全体で8サイ
クルを要する。アクセスA1の説明をまとめると、当業者
はこれが全体で14サイクルを要するものと認められ
る。Access A1 is a read burst access to main memory, where the burst is eight data words. The first part of access A1 is the overhead period,
Example requires 6 cycles. This overhead is referred to in this document as the reading overhead, and as is known in the art, operations such as providing control signals to the main memory containing the address to be read and waiting for main memory operation to respond to these signals. Including. The second part of access A1 is the provision of a burst of data from main memory. In this example, the burst size is 8, and each burst amount (eg, 16 bits) consumes a single clock.
Accordingly, eight 16-bit bursts require eight cycles in total. To summarize the description of access A1, those skilled in the art will recognize that this requires a total of 14 cycles.
【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サイクルの終了オーバーヘ
ッドを使用する。Accesses A2, A3, and A4 represent a single data read, a write burst, and a single data write, respectively. Like access A1, each of accesses A2, A3, A4 starts with some number of reading overhead cycles. In particular, the read operation of access A2 uses a reading overhead of 6 cycles,
Each of the A3 and A4 write operations uses three cycles of reading overhead. In addition, access A2, A
3, each of A4 is shown to consume a single cycle per data amount. Thus, a single data operation for accesses A2 and A4 each consumes a corresponding single cycle, while a burst operation for access A3 consumes eight cycles,
Each of the cycles corresponds to one of eight bursts of write data. Finally, each of accesses A2, A3, and A4 is
Note that this also includes post-access overhead, which is referred to in this document as termination overhead. Such overhead also results from various control operations, such as receiving a signal indicating the end of the access along with precharging the memory rows and / or banks. In the example of FIG. 1, the read operation of access A2 uses a 2-cycle termination overhead, the write operation of access A3 uses a 4-cycle termination overhead,
The write operation for access A4 uses a 5-cycle termination overhead.
【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の開始に余分な待ち時間がある。以上か
ら、これらの要因とともにほかの要因がデータをアクセ
スする平均時間(すなわち、待ち時間)に寄与し、増大
させ、全体のシステム性能を劣化させることが当業者に
は認められる。It is helpful here to summarize the results relating to the description of FIG. 1 and to examine its various disadvantages. The first disadvantage is that accessing only 18 data volumes requires a total of 47
Note that the cycle is being consumed. Therefore, 29 cycles result from overhead operations, and therefore 62% of the cycles (ie 29/47 = 0.6
2) is associated with overhead, and actual data access requires 38 percent of the cycle (ie, 18/47 = 0.3
8) has left. As another consideration of the scheme of FIG. 1, note that a gap occurs between accesses A3 and A4, which occurs, for example, when there is a sufficient gap between the requests that resulted in accesses A3 and A4. When such a gap occurs, an additional extra latency clock cycle is consumed as mere latency, as shown by way of example in FIG. 1 as eight cycles. During this time,
No bandwidth is used to access data. In addition, after the waiting time, when the DRAM controller reissues the reading overhead for accessing A4, there is extra latency at the start of access A4. From the foregoing, it will be appreciated by those skilled in the art that these factors along with other factors contribute to, increase, and degrade overall system performance the average time to access data (ie, latency).
【0008】更なる背景として、DMAを使用することに
より当該技術に何らかのシステム待ち時間が与えられ
る。DMAにより、データ転送を実行するためプロセッサ
のリソースの大量使用なしに周辺機器又はコプロセッサ
がメモリをアクセス可能である。トラフィック・コント
ローラが直接のプロセッサ・アクセスとともにDMAアクセ
スをグループ化し、順序付ける。特に、他の周辺機器が
トラフィック・コントローラへのアクセス要求を発行
し、コントローラによりアクセスが許可された場合、DM
Aチャネルを介して主メモリへのアクセスが与えられ
る。加えて、CPUもDMAとは別にトラフィック・コントロ
ーラを介して与えられるチャネルを介して主メモリへの
アクセスを有する。いずれの場合でも、複数の装置がDM
Aを介してメモリアクセスするようDMA方式はメモリへの
アクセス・チャネルを標準的に提供する。As a further background, the use of DMA provides the system with some system latency. DMA allows a peripheral device or a coprocessor to access memory without using a large amount of processor resources to perform data transfers. A traffic controller groups and orders DMA accesses along with direct processor accesses. In particular, if another peripheral issues an access request to the traffic controller and access is granted by the controller, the DM
Access to main memory is provided via the A channel. In addition, the CPU also has access to main memory via a channel provided via a traffic controller separately from the DMA. In each case, multiple devices
The DMA scheme typically provides an access channel to memory for memory access via A.
【0009】DMAは従って色々な点で改良された性能を
提供するが、本発明者は図1に関連して前述したメモリ・
コントローラの欠点を解決するものではないことも認め
た。加えて、本発明の範囲は、DMAとトラフィック制御
に関連して使用され、かつ単独でも又改良されたメモリ
・コントローラと組み合わされても両方でシステム性能
を改良する優先度の考察を含む。While DMA thus provides improved performance in various respects, the inventor has noted that the memory memory described above in connection with FIG.
He acknowledged that it did not solve the shortcomings of the controller. In addition, the scope of the present invention includes a consideration of the priorities used in connection with DMA and traffic control and improving system performance, both alone and in combination with an improved memory controller.
【0010】上記の点を考慮して、従来技術の欠点を解
決し、メモリ・アクセス待ち時間を減少するための改良
されたメモリ制御とアクセス・トラフィック制御を提供
する必要が生じている。In view of the above, a need has arisen to overcome the disadvantages of the prior art and provide improved memory control and access traffic control to reduce memory access latency.
【0011】[0011]
【課題を解決するための手段】1実施例では、メモリに
結合されたメモリ・コントローラ回路があり、ここでメ
モリは複数行を有している。メモリ・コントローラ回路
は、メモリをアクセスする要求を表す信号を受け取る回
路を含む。これらの信号については、メモリをアクセス
する第1要求を表す前記第1信号は受取り回路により受取
られ、かつメモリの第1アドレスを含み、メモリをアク
セスする第2要求を表す前記第2信号は第1信号を受取
った後に受取り回路により受取られ、メモリの第2アド
レスを含む。メモリ・コントローラ回路も、第2アドレス
が第1アドレスと同じ複数行のうちの同じ行に向けられ
ているかどうかを決定するための決定回路を含む。さら
に、メモリ・コントローラ回路は、メモリをアクセスす
る要求を表す信号の受取りに応答してメモリへ制御信号
を発行する回路を含む。これらの制御信号により、第1
要求に応答して第1メモリ・アクセスが発生し、第2要求
に応答して第2メモリ・アクセスが発生する。最後に、第
2アドレスが第1アドレスと同じ複数行のうちの行に向け
られていることを決定する決定回路に応答して、第1及
び第2アクセス間で複数行のうちの同じ行がアクティブ
に保持されるよう制御信号の発行回路がメモリへ制御信
号を発行する。その他の回路、システム、及び方法も開
示され特許請求される。In one embodiment, there is a memory controller circuit coupled to a memory, where the memory has a plurality of rows. The memory controller circuit includes a circuit that receives a signal representing a request to access the memory. For these signals, the first signal representing the first request to access the memory is received by the receiving circuit and includes a first address of the memory, and the second signal representing the second request to access the memory is the second signal. One signal is received by the receiving circuit after receiving the signal and includes the second address of the memory. The memory controller circuit also includes a determination circuit for determining whether the second address is directed to the same row of the same plurality of rows as the first address. Further, the memory controller circuit includes a circuit that issues a control signal to the memory in response to receiving a signal indicating a request to access the memory. By these control signals, the first
A first memory access occurs in response to the request, and a second memory access occurs in response to the second request. Finally,
In response to a decision circuit that determines that the two addresses are directed to the same row of the plurality of rows as the first address, the same row of the plurality of rows is actively held between the first and second accesses. The control signal issuing circuit issues a control signal to the memory in such a manner. Other circuits, systems, and methods are also disclosed and claimed.
【0012】[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
6a、データ26d、制御26cバスを介してフラッシュ
メモリ26(又は複数のメモリ)に結合されていること
を最後に注意しておく。FIG. 2 illustrates various DRAM control and traffic control embodiments described in this document,
For example, a preferred embodiment of a general purpose wireless data platform 10 that can be used to implement a smart phone or portable computing device. Wireless data platform 10 includes a general purpose (host) processor 12 having an instruction cache 12a and a data cache 12b, each having a corresponding instruction memory management unit ("MMU") 12c and 12d, and a buffer circuit 12e. The operating core 12f is illustrated, and all of them communicate with each other via a system bus SBUS. SBUS is data SBU
Includes S d , address SBUS a and control SBUS c conductors. A digital signal processor ("DSP") 14a having its own internal cache (not shown) and a peripheral interface 14b are coupled to the SBUS. Although not shown, various peripherals, including digital-to-analog converters ("DACs") or network interfaces, are therefore coupled to peripheral interface 14b.
DSP 14a and peripheral interface 14b are coupled to a DMA interface 16 which is further coupled to a traffic controller 18, which is described in more detail below. The traffic controller 18 is also coupled to the SBUS, as is the video or LCD controller 20 in communication with the LCD or video display 22. Traffic controller 18, an address 24 a in the preferred embodiment the main memory synchronous dynamic random access memory ( "SDRAM") is 24, the data 24 d, are coupled via a bus control 24 c. In fact, it should be noted that for the following description, the traffic controller 18 includes a DRAM controller 18a as an interface for the connection between the traffic controller 18 and the SDRAM 24. Regarding this point, in this embodiment,
Although the DRAM controller 18a is a module within the circuits forming the traffic controller 18, the various circuits and functions described in this document in connection with the DRAM controller 18a can be implemented in separate devices and, in fact, Note that it is used in other examples. Returning to traffic controller 18 in general, this is address 2
6 a, data 26 d, It is noted finally that it is coupled to the flash memory 26 (or memories) via control 26 c bus.
【0013】無線データ・プラットフォーム10の一般
的な動作面は、汎用プロセッサ12とDSP14aの両方
を利用していることに注意することにより認められる。
DSPが特殊な固定の機能に割当てられている現在の装置
と異なり、望ましい実施例のDSP14aは多数の機能に
も使用可能である。これによりユーザーはDSP14aの
全ての恩恵をこうむることが出来る。例えば、DSP14
aが使用可能なある分野は、音声認識、画像およびビデ
オの圧縮と解凍、データ暗号化、文書対音声変換等の機
能に関係している。本アーキテクチャは新たな機能と強
化を無線データ・プラットフォーム10に容易に追加可
能である。The general operational aspects of wireless data platform 10 are appreciated by noting that it utilizes both general purpose processor 12 and DSP 14a.
Unlike current devices where DSPs are assigned to special fixed functions, the DSP 14a of the preferred embodiment can be used for multiple functions. This allows the user to take full advantage of the DSP 14a. For example, DSP14
Certain areas where a can be used relate to functions such as speech recognition, image and video compression and decompression, data encryption, document-to-speech conversion, and the like. The architecture can easily add new features and enhancements to the wireless data platform 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に与えるべきピクセル・データを必要とす
るような連続流を与える。Turning now to the traffic controller 18, its general operation, as well as the various circuits coupled to it, include DMA access requests and host processor 1
2 can receive direct access requests from
In response to both of these requests, a transfer from / to the following is enabled: from the host processor 12 to the SDRAM 24 or vice versa; from the host processor 12 to the flash memory 26 or vice versa; SDRAM 24 or vice versa from peripheral devices connected to peripheral interface 14b. Video or LCD controller 20 from SDRAM 24. In addition, in a preferred embodiment, conflict-free accesses can be performed simultaneously. For example, SDRAM24
The host processor 12 may execute the reading from the flash memory 26 simultaneously with the DMA transfer from the flash memory 26 to the video or LCD controller 20. Otherwise, the traffic controller 18 can read video or LCD from SDRAM 24.
The preferred embodiment is operating on a first-in first-out basis ("FIF
O ") including a circuit consisting of 18b to take a burst of data from SDRAM 24 and provide it in a continuous stream such as requiring pixel data to be provided to video or LCD controller 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が必要とする適当な信号を発生す
る。この後者のインターフェースは、本発明の範囲内で
各種の利点を生じるため、それに関連する各種の機能と
共に、以下で詳細に説明する。For convenience of illustration, the traffic controller 18 is shown to include a request stack 18c, which logically represents that different circuits have requested a DMA transfer during the overlapped time, and thus these different Request DM
A transfers remain pending for a common time. In the preferred embodiment, another physical storage device, such as request stack 18c, does not actually exist; instead, different requests reach one or more conductors. For example, a request from a peripheral device arrives on a conductor reserved for such a request. In a more complex scheme, however, the request stack 18c may represent actual physical storage. Also, in terms of receiving access requests, in the preferred embodiment only one request per request source is pending at one time by the traffic controller 18 (other than the auto-refresh request detailed below). Before issuing access requests, all request sources must be DMA
This restriction can be ascertained by requiring that authorization be received from the controller 18. For example,
The authorization may indicate that a previous request issued by the same request source has been serviced. However, in more complex embodiments, multiple requests from the same request source could be pending by the DMA controller 18. Returning to stack 18c, the intention is to explain the case where multiple requests are pending at the same time, whether from the same or different request sources, and these requests are analyzed and processed as described in detail below. You. Further in this regard, each of these pending requests is selected according to an order defined by various priority considerations, since traffic controller 18 includes a priority handler, which will be described in more detail below. In other words, in one embodiment, pending requests are serviced in the order in which they were received, while in other embodiments, pending requests are granted access in a different order than received as will be subsequently acknowledged. Finally, the traffic controller 18
Includes circuitry for supporting connections to the various circuits described above that provide direct or DMA access. For example, traffic controller 18 preferably includes a flash memory interface that generates the appropriate signals required by the flash device. As another example, traffic controller 18 includes DRAM controller 18a as described above, which implements the control of the state machine and generates the appropriate signals required by SDRAM 24. This latter interface provides various advantages within the scope of the present invention, and is described in detail below, along with the various functions associated therewith.
【0016】トラフィック・コントローラ18を紹介し
たが、各種の発明の方法論が以下で詳述する望ましい実
施例に含まれていることに注意されたい。順番に説明を
提供するために、最初に説明するDRAMコントローラ18
aに関するものと、2番目に説明するトラフィック・コ
ントローラ18内ではあるがDRAMコントローラ18
aの外側で処理されるある種の優先度考察に関係するも
のに方法論を分割する。最後に、しかしながら、これら
の方法論を組み合わせて、こうしないと従来技術で発生
する待ち時間をさらに減少させることを説明する。Although the traffic controller 18 has been introduced, it should be noted that various inventive methodologies are included in the preferred embodiment detailed below. To provide a description in order, the DRAM controller 18 described first will be described.
a and the DRAM controller 18 within the traffic controller 18 described second.
Divide the methodology into those that pertain to some sort of priority consideration being processed outside of a. Finally, however, we describe how these methodologies can be combined to further reduce the latency that would otherwise occur in the prior art.
【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への制御を介して実行される。In the preferred embodiment, the DRAM controller 1
8a is designated to support three different memories.
As an example, two of these memories are available from Texas Instruments, 16
M-bit TMS626162 (512k x 16-bit I / O x 2 banks) and 64-Mbit TMS664164 (1M x 16-bit I / O x 4 banks). The third of these memories is a 64 Mbit memory made up of two banks. The burst length from the SDRAM 24 in response to a request from the DRAM controller 18a is fully programmable with a 16-bit data amount of 1 to 8 and follows the first request indicated by REQ as described in more detail below. By sending one or more consecutive requests, indicated by the SREQ, thereby allowing all burst lengths between 1 and 256 without extra overhead, 256
(Page length). In the preferred embodiment, this programmability is implemented via control from the DRAM controller 18a to the SDRAM 24, rather than the burst size of the SDRAM memory control register.
【0018】DRAMコントローラ18aの望ましい実施例
に実装された1つの魅力的な利点は、SDRAM24の状態
情報の解析を基にして入力メモリ・アクセス要求に応答
することにより、待ち時間減少を達成できる点である。
この機能は図4の流れ図により図示され以後説明される
が、ここで最初に図3のブロック線図に目を向けて紹介
する。図3は図2よりもSDRAM24とDRAMコントローラ
18aの両方を詳細に図示しているが、ここでも再び図
解を簡略化しDRAM制御面の説明に焦点を当てるため選択
した要素のみを図示してある。One attractive advantage implemented in the preferred embodiment of DRAM controller 18a is that latency reduction can be achieved by responding to input memory access requests based on an analysis of SDRAM 24 state information. It is.
This function is illustrated and described below with reference to the flow chart of FIG. 4, which will first be introduced with reference to the block diagram of FIG. FIG. 3 illustrates both the SDRAM 24 and the DRAM controller 18a in more detail than FIG. 2, but again, only the selected elements are illustrated to simplify the illustration again and focus on the description of the DRAM control surface.
【0019】図3のSDRAM24に目を向けると、これは
バンクB0からB3と指示した複数個のメモリ・バンクを含
む。ここでは4バンクであるバンク数は、SDRAM24が
前述したテキサス・インスツルメンツ社の64メガビッ
ト・メモリである例から生じている。異なったメモリを
使用した場合、バンク数も異なる(例えば前述した16
メガビット・メモリを使用した場合は2バンクである)
SDRAM技術において公知のように、複数バンク・メモリ
の各バンクは、対応するバンクで現在アクティブである
行アドレスを指示する対応する行レジスタを有する。図
3で、これらの行レジスタは各々バンクB0からB3に対応
するB0_ROWからB3_ROWと名づけられる。Turning to the SDRAM 24 of FIG. 3, it includes a plurality of memory banks designated banks B0 through B3. The number of banks, here four, comes from the example in which the SDRAM 24 is a Texas Instruments 64-megabit memory as described above. When different memories are used, the number of banks is also different (for example, the aforementioned 16
(2 banks when using megabit memory)
As is known in SDRAM technology, each bank of a multi-bank memory has a corresponding row register that indicates the currently active row address in the corresponding bank. In FIG. 3, these row registers are named B0_ROW to B3_ROW corresponding to banks B0 to B3, respectively.
【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つのバンクのみが一時にアクセス可能
であるからである。Turning now to the DRAM controller 18a of FIG. 3, the preferred embodiment includes sufficient circuitry to indicate various state information identifying the current operation of the SDRAM 24, and how this information is used. Whether to reduce the waiting time will be described later. Preferably, this status information is stored in row register B0_R
It is desirable to include a copy of the same information stored in B3_ROW from OW. Therefore, the DRAM controller 18a sets AC_B0_RO
It contains four registers, named W_AC_B3_ROW, where each indicates the active row address (if any) of the corresponding bank B0-B3. In other words,
The registers AC_B0_ROW to AC_B3 of the DRAM controller 18a
_ROW information is obtained from the row registers B0_ROW to B3_ROW of the SDRAM 24.
Has the same information as a mirror image. In addition, register AC_B0_RO
For each of W to AC_B3_ROW, DRAM controller 18
a includes corresponding bit registers C_B_R0 through C_B_R3 that indicate whether the corresponding row is currently being accessed. For example, if bit register C_B_R0 is set (e.g., a value equal to 1), this indicates that the row identified by the address of AC_B0_ROW is currently being accessed, and conversely if this bit is clear , AC_B0_ROW indicates that the row, if any, is not currently accessed.
Also, for each of the registers AC_B0_ROW to AC_B3_ROW,
The DRAM controller 18a determines that the content of AC_Bn_ROW is
DRAM 24 includes a corresponding bit register RAn indicating that this row of corresponding bank n is active. Note also that each register RAn (ie, RA0 through RA3) can be set to 1 at the same time. This means that each bank activates the row whose value is contained in each AC_Bn_ROW register. However, conversely, only one C_B_Rn is set to one at a time because it indicates which bank is currently being accessed and only one bank is accessible at a time.
【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に記載した機能を実行するためのこれらの制
御信号の組合せは、各種の制御信号の各々の値を詳説す
るよりも、各機能に対応する機能によって容易に参照す
ることができる。The DRAM controller 18a also includes an additional circuit for generating various commands to the SDRAM 24 described below. In this regard, the DRAM controller 18a uses the SDRA
Preferably, it includes a CURR_ACCESS register that stores information about the most recent (or current) request that gave access to M24. This information includes the remainder of the address of the current access (ie, the column address), its direction, and size. In addition, DRAM controller 18a includes an input 28 for receiving the next (ie, pending) access request. The access request information received at input 18 is provided to comparison logic and state machine 30, which includes the state information stored in bit registers RA0-RA3 and C_B_R0-C_B_R3, the row addresses of registers AC_B0_ROW to AC_B3_ROW, and the CURR_ACCESS register. Have access to information stored in The circuitry used to implement the comparison logic and state machine 30 may be selected by one of ordinary skill in the art from various examples, but in any event performs the functions detailed below in connection with FIG. As an introduction before proceeding, the comparison logic and slate machine 30 is a DRAM controller 1
It gives an address to the address bus 24 a between 8a and SDRAM 24, should also be noted that it is connected to provide a control signal to the control bus 24 c between the DRAM controller 18a and SDRAM 24. For the latter, for purposes of illustration, the control signals are combined in various ways and identified as various commands, each of which is issued per single cycle, and for each type of required access (i.e., single read, burst). Read, single write, burst write, auto refresh, power down). The actual control signals communicated to execute these commands include the following signals: RAS, CAS, DQML, DQMU, W, CKE,
CS, CLK, and address signals. However, the combination of these control signals to perform the functions described in Table 1 immediately below is more easily referred to by the function corresponding to each function than by elaborating on the value of each of the various control signals. Can be.
【表1】 [Table 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に進む前に、前
述の仮定事象(すなわち、既にアクティブな行がある)
が発生していないとしても、以下の説明は当業者に望ま
しい実施例の理解を更に提供するものであることに注意
すべきである。FIG. 4 illustrates a flow chart of a method, generally designated at 40, which illustrates the desired operation of the DRAM controller 18a with respect to memory access of the SDRAM 24, which method includes a comparison logic and operation of the entire state machine 30. It is implemented by. Method 40 begins by selecting 42 the next memory access request (abbreviated as "RQ") for analysis. In the embodiment of FIG. 3, RQ is received from input 28. However, it should be noted that the request may be directly from a bus or the like. In addition, for simplicity, method 40
This explanation shows that the operation of the previous RQ has already been
4 shows that each of the banks B0 to B3 is accessed. Therefore, register AC_B0_ROW
Each of C_B3_ROW is loaded with the corresponding row address,
It is assumed that the remaining bit registers are set to the appropriate state based on which row and / or bank is active. Another assumption is that the previous authorization was at the current memory access, ie
It is assumed that information communicating on (writing to or reading from SDRAM 24 ) on data bus 24d is present. Given these assumptions, method 40 proceeds from step 42 to step 44. However, before proceeding to step 44, the aforementioned hypothetical event (ie, there is already an active row)
It should be noted that the following description will further provide those skilled in the art with an understanding of the preferred embodiment, even though no occurrences have occurred.
【0023】段階44は、段階42からRQによりアクセ
スされたバンク(以後ターゲット・バンクと呼ぶ)が現
在アクセスしているものと同じバンクであるものかどう
かを決定する。RQのアドレスのバンク部分をCURR_ACCES
Sレジスタに記憶されたアドレスのバンク部分と比較す
ることにより比較論理及びステート・マシン30はこの
決定を行なう。RQのターゲット・バンクが現在アクセス
しているものと同じバンクである場合、方法40は以下
で説明するように段階44から46へ進む。反対に、RQ
のターゲット・バンクが現在アクセスしているものと異
なるバンクにある場合、方法40は段階44から58に
進み、この段階は段階46に続いて利点のより直接的な
説明を提供するため以下に詳説される。Step 44 determines whether the bank accessed by RQ from step 42 (hereinafter referred to as the target bank) is the same bank that is currently being accessed. CURR_ACCES the bank part of the address of RQ
The comparison logic and state machine 30 makes this determination by comparing to the bank portion of the address stored in the S register. If the target bank of the RQ is the same bank that is currently being accessed, the method 40 proceeds to steps 44 to 46 as described below. Conversely, RQ
If the target bank of is in a different bank than the one currently being accessed, the method 40 proceeds from step 44 to step 58, which follows step 46 to provide a more direct description of the benefits as detailed below. Is done.
【0024】段階46は、RQのターゲット・バンクが現
在アクセスしているものと同じバンクにあることが分か
っているため、RQによりアクセスされるページ(以下タ
ーゲット・ページと呼ぶ)がターゲット・バンクで既に
アクティブな同じ行にあるかどうかを決定する。この点
に関して、「ページ」と「行」という用語は同じものを
指すものと考えて良いことに注意されたい、何故ならDR
AM又はSDRAMの場合、これらのメモリの行はページ情報
に対応するからである。従って、段階46は、ターゲッ
ト・ページ(又は行)がターゲット・バンクで既にアク
ティブである同じページ(又は行)にあるかどうかを決
定する。RQのアドレスのページ・アドレス部分をターゲ
ット・バンクの適当なレジスタに記憶されたアクティブ
な行アドレスの対応するビットと比較することにより、
比較論理及びステート・マシン30はこの決定を行う。
例えば、バンクB0がターゲット・バンクである場合、段
階46はRQのページ・アドレスをレジスタAC_B0_ROWに
記憶したアクティブな行値の対応するビットと比較す
る。同じ行のターゲット・ページがターゲット・バンク
で既にアクティブな場合、方法40は段階46から段階
48へ進む。逆に、ターゲット・ページがターゲット・
バンクの既にアクティブな行とは異なる行にある場合、
方法40は段階46から52へ進む。In step 46, since the target bank of the RQ is known to be in the same bank as the one currently being accessed, the page accessed by the RQ (hereinafter referred to as the target page) is the target bank. Determines if it is already on the same active row. In this regard, it should be noted that the terms "page" and "row" can be considered to refer to the same thing, because DR
This is because in the case of AM or SDRAM, these memory rows correspond to page information. Thus, step 46 determines whether the target page (or row) is on the same page (or row) that is already active in the target bank. By comparing the page address portion of the address of the RQ with the corresponding bit of the active row address stored in the appropriate register of the target bank,
The comparison logic and state machine 30 makes this determination.
For example, if bank B0 is the target bank, step 46 compares the page address of RQ with the corresponding bit of the active row value stored in register AC_B0_ROW. If the target page of the same row is already active in the target bank, method 40 proceeds from step 46 to step 48. Conversely, if the target page is
If the bank is on a different row than the already active row,
Method 40 proceeds from step 46 to step 52.
【0025】以上から、RQのターゲット・バンクが現在
アクセスしているバンクと同じであり、かつターゲット
・ページがターゲット・バンクの現在アクティブな行に
ある時に段階48に達することに注意されたい。結果と
して、かつ以下で説明する待ち時間の相当な改良を提供
する、段階48はRQのアクセス指令(例えば、READまた
はWRITE)を整合させ、現在のアクセスの間又は最終デ
ータ転送サイクルの近くで発生させる。この点を更に図
解するため、図5は、現在のアクセスCAとRQ(例えば、
読取り)から生じるアクセスに関する段階48の動作の
両方のタイミング図を図示する。特に、一例として、現
在のアクセスCAは対応する8サイクルで8データ単位の
バーストを発生しているものと仮定している。この例に
よると、段階48は、現在のアクセスCAの間又は終了時
の近くでアクセス指令を整合させ発生させる。望ましい
実施例では、段階48の特定の整合は、RQが書込み又は
読取りであるかを基にしている。従って、これらの状況
の各々が以下で別々に説明してある。From the above, note that step 48 is reached when the target bank of the RQ is the same as the bank currently being accessed, and the target page is on the currently active row of the target bank. As a result, and providing a substantial improvement in latency described below, step 48 matches the access command of the RQ (eg, READ or WRITE) and occurs during the current access or near the last data transfer cycle. Let it. To further illustrate this point, FIG. 5 illustrates the current access CA and RQ (eg,
FIG. 8 illustrates both timing diagrams of the operation of step 48 for an access resulting from a read). In particular, as an example, it is assumed that the current access CA generates a burst of 8 data units in the corresponding 8 cycles. According to this example, step 48 matches and generates access commands during or near the end of the current access CA. In the preferred embodiment, the particular match in step 48 is based on whether the RQ is a write or a read. Accordingly, each of these situations is described separately below.
【0026】RQが書込みの時にアクセス指令を整合する
段階48に対しては、現在のアクセスCAの最後のデータ
・アクセスに続くクロック・サイクルで書込みアクセス
指令が整合されて発行される。言換えると、書き込みで
あるRQに対しては、現在のアクセスCAの最後のデータ・
アクセスがサイクルNで発生する場合、RQの書込みアク
セス指令はサイクルN+1で整合されて発行される。さ
らに、書込み指令が制御バスに発行されるのと同じサイ
クルの間に、書込まれるデータがデータバスに配置され
ることに注意されたい。従って、書込まれるデータはサ
イクルN+1でもデータバス上に有り、従ってサイクル
Nにデータバス上にあった現在のアクセスCAからの最
後のデータに直ちに追随する。For step 48 where the RQ matches the access command when writing, the write access command is matched and issued in the clock cycle following the last data access of the current access CA. In other words, for the RQ that is a write, the last data of the current access CA is
If the access occurs in cycle N, the write access command for RQ is issued aligned in cycle N + 1. Further, note that during the same cycle that a write command is issued on the control bus, the data to be written is placed on the data bus. Thus, the data to be written is also on the data bus in cycle N + 1, and thus immediately follows the last data from the current access CA on the data bus in cycle N.
【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以上の余分なサイクルにより読取り
アクセスが対応して整合される。For the step 48 of matching the access command when RQ is read, the first cycle following the last data cycle of the current access CA, the CAS latency for a draw read, the read access command Will be issued consistently. In particular, consider that in most systems, the CAS latency is 1, 2, 3, or 4 cycles, depending on the memory being accessed and the clock frequency. Thus, in order to match read RQ access commands in the preferred embodiment, the CAS latency cycle number is subtracted from the first cycle following the last data cycle of the current access CA. In fact, in the preferred embodiment,
The comparison logic and state machine 30 includes an indicator of the current bus frequency from which to select the corresponding CAS latency. In general, the lower the bus frequency, the lower the CAS latency. For example, in idle mode where the required MIPS is low, the bus frequency is relatively low and the CAS latency is determined to be equal to one. Read RQ example, CAS
Proceeding to step 48 for an example where the latency is equal to one cycle, step 48 proceeds to the last data of the current access CA.
Align and generate read access commands one cycle before the first cycle following the cycle. In other words,
If the last data access of the current access CA occurs in cycle N for a RQ that is a read, the read access command of the RQ is aligned and generated in cycle N when the CAS latency is equal to one. You. Therefore, due to this alignment, a read access command is issued during the last data cycle of the current access CA, and the data read in response to this command appears on the data bus during cycle N + 1. For an example having one or more extra cycle CAS latencies, one or more extra cycles before the last data cycle of the current access CA will result in a corresponding alignment of the read access.
【0028】RQのアクセス指令が段階48により整合さ
れると、段階49はRQにサービスするためDRAMコントロ
ーラ18aによるSDRAM24へのこの指令の発行を表現
する。この動作のその他の利点はこのすぐ直後に説明す
るように方法48が段階50に進むときに次に認められ
る。Once the RQ access command has been matched by step 48, step 49 represents the issuance of this command to SDRAM 24 by DRAM controller 18a to service the RQ. Other advantages of this operation will now be recognized as method 48 proceeds to step 50, as described immediately below.
【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に示したものと同じ方法でデータ
・アクセスを実行し、各連続事象の発生に対して上述し
た待ち時間減少を繰返すことが当業者には認められる。
従って、各連続アクセスに対するこの減少の集合が、そ
れ故従来技術と比較して連続アクセスに対してはるかに
少ない待ち時間を発生する。Upon reaching step 50 following steps 48 and 49, step 50 performs an access in response to the access command matched by step 48. Thus, proceeding with the example of FIG. 5, step 50 performs a read that generates the first data unit of the data unit burst to be read, and a read that continues until the burst access is completed. To summarize the current example, the remaining seven data units are read during seven consecutive clock cycles. Thus, note the numerous advantages of the described operation. First, due to the matching of step 48, the first data unit of the access RQ is read in the clock cycle immediately after the last data cycle of the access CA. Second, steps 48 and 5
Note that the zero operation keeps the active row active so that the first and all consecutive accesses are directed to the same row in the same memory bank. In other words, there is no extra step of precharging the row during the occurrence of these accesses. Further, to implement this point, by chaining the contents of the row register (ie, AC_Bn_ROW) with the column address of the CURR_ACCESS register, the previous address is already in the DRAM controller 18a.
, The preferred embodiment does not need to retransmit the address of the RQ to SDRAM 24 for continuous access. Thus, again, the preferred embodiment simply performs the access while leaving the previously active row active. This advantage of keeping the row active also occurs in DMA burst control, as described below, but at this point, the DRAM controller 18a, by virtue of the description of receiving the request indicated by SREQ, indicates that , Indicating that the request is for data that follows the sequence of data just requested, and thus is directed to the same row address as the immediately preceding request. In any case, the prior art technique of accessing, precharging, re-addressing and re-activating a row will reduce the latency otherwise created. Third, FIG. 4 shows that the flow of the method 40 is from step 50 to step 42.
It should be understood that this occurs while the access of step 50 occurs. Therefore,
While the access of the current RQ is occurring, step 42 proceeds to the next
RQ processing may be started. Thus, in this regard, if the multiple burst requests are directed to the same bank and the same page of the bank, method 40 will repeatedly align the access commands and provide data access in the same manner as shown in FIG. It will be appreciated by those skilled in the art to execute and repeat the latency reduction described above for each successive event occurrence.
Thus, this set of reductions for each successive access therefore generates much less latency for successive accesses compared to the prior art.
【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の非アクティブ化と
以後のアクティブ化は、望ましい実施例の下ではサイク
ル使用に関しては最悪の筋書きであるが、この筋書きの
確率は、大部分のシステムの局所性と空間性の性質を考
えると相対的に小さい。Returning to step 46 of FIG. 4, an example is described where the method 40 proceeds from step 46 to step 52, which is consistent with the bank that the target bank is currently accessing, Recall what happens when a page is on a different row than the row already active in the target bank. At step 52, method 40 waits for completion of the current access. In the preferred embodiment, this completion is "access on" or "no access on"
Is detected by the DRAM controller 18a which checks the state of the access signal indicating either of the above. In particular, if there is a change from access on to no access on, the DRAM controller 18a knows that the current access has been completed, and thus step 52 can be completed. Then step 54
Precharges the row accessed by the just completed access, which sends a DEAC_x command to SDRAM 24
This is executed by the AM controller 18a. Thereafter, step 56 activates the row containing the target page by sending an ACTV_x command, and again the method proceeds to step 49 to issue an access command (eg, by either READ or WRITE), and step 50. To access the row with Finally, while the deactivation and subsequent activation of steps 54 and 56 is the worst scenario for cycle use under the preferred embodiment, the probability of this scenario is due to the locality and spatial Considering the nature of sex, it is relatively small.
【0031】段階44に戻り、方法40が段階44から
段階58へ進む例を説明する、この例は、ターゲット・
バンクが現在アクセスしているバンクとは異なる時に発
生することを想起されたい。これ以上進む前に、ここで
段階58に到達した時、現在アクセスしているバンク
(すなわち、段階44から評価したような)上の現在ア
クティブな行は、方法40のこの流れからは乱されない
ことに注意されたい。言換えると、この別の流れは現在
アクセスしているバンクの行を非アクティブにはせず、
従って、連続するアクセスの間に行が非アクティブにさ
れなかった以後のアクセスにより再びアクセス可能であ
る。ここで段階58に戻ると、これはターゲット・バン
クにアクティブな行があるかどうかを決定する。そうで
ある場合、方法40は段階58から60へ進む。ターゲ
ット・バンクにアクティブな行がない場合、方法40は
段階58から70へ進む。段階58の操作は、ターゲッ
ト・バンクに対応し、その現在の状態を指示するビット
・レジスタを最初に調べる比較論理及びステート・マシ
ン30により実行されることが望ましい。例えば、バン
クB1がターゲット・バンクである場合、比較論路及びス
テート・マシン30はビット・レジスタRA1がアクティ
ブ状態を指示するよう設定されているかどうかを評価す
る。この点に関して、次のアクセス用にバンクをアクテ
ィブにすることに向けて何らかのオーバーヘッド操作を
開始する前に現在のアクセスを完了するまで待機するシ
ステムと比較して、この待ち時間が減少していることを
再び注意しておく。次に、方法40は段階58から段階
60へ進む。Returning to step 44, an example where the method 40 proceeds from step 44 to step 58 will be described.
Recall that this occurs when the bank is different from the bank currently being accessed. Before proceeding further, when step 58 is reached, the currently active row on the currently accessed bank (ie, as evaluated from step 44) is not disturbed from this flow of method 40. Please be careful. In other words, this alternative flow does not deactivate the row of the currently accessed bank,
Thus, subsequent accesses where the row was not deactivated between successive accesses are accessible again. Returning now to step 58, this determines if there is an active row in the target bank. If so, the method 40 proceeds to steps 58-60. If there is no active row in the target bank, the method 40 proceeds from step 58 to 70. The operation of step 58 is preferably performed by comparison logic and state machine 30 which first consults a bit register corresponding to the target bank and indicating its current state. For example, if bank B1 is the target bank, comparison logic and state machine 30 evaluates whether bit register RA1 is set to indicate an active state. In this regard, reduced latency compared to systems that wait for the current access to complete before initiating any overhead operations towards activating the bank for the next access Note again. Next, the method 40 proceeds from step 58 to step 60.
【0032】段階60は上述した段階46と大体同様に
動作するが、段階60ではターゲット・バンクが現在ア
クセスしているバンクとは異なっている点が異なる。従
って、段階60はターゲット・ページがターゲット・バ
ンク中の同じ行にあるかどうかを決定する。ターゲット
・ページがターゲット・バンク中の同じ行にある場合、
方法40は段階60から段階62へ進む。ターゲット・
ページがターゲット・バンクのアクティブな行とは異な
る行にある場合、方法40は段階60から段階68に進
む。段階62と68から開始する別の路は以下に説明す
る。Step 60 operates in much the same way as step 46 described above, except that in step 60 the target bank is different from the bank currently being accessed. Thus, step 60 determines whether the target page is on the same row in the target bank. If the target page is on the same line in the target bank,
The method 40 proceeds from step 60 to step 62. target·
If the page is on a different row than the active row in the target bank, the method 40 proceeds from step 60 to step 68. Alternative paths starting from steps 62 and 68 are described below.
【0033】段階62はRQのアクセス指令を整合し、現
在のアクセスの終了を待機する。この整合は段階62に
続く段階64への引用にも認められる。特に、段階62
では比較論理及びステート・マシン30はSDRAM24へ
発行するためのアクセス指令(例えば、READ又はWRITE
指令のどちらか)を整合して、これによりターゲット・
バンクを現在アクセスしているバンクにする。加えて、
段階62のこの操作は一般的に段階48に関連して上述
したものと同様である。従って、読者はこれ以上の詳細
については、段階62が現在のアクセスの最後のデータ
・サイクルの前又はその間にアクセス指令を整合させる
ことが望ましいことを示している段階48の上記の説明
を参照されたい。このように、この方法は段階64へ進
み、ここでSDRAM24へREAD又はWRITE指令を発行し、こ
れに続いて段階66によりRQに対応するアクセスが実行
される。以後、方法40は段階66から段階42に戻っ
て、次のメモリ・アクセス要求を処理する。Step 62 matches the access command of the RQ and waits for the end of the current access. This alignment is also found in the reference to step 64 following step 62. In particular, step 62
Then, the comparison logic and the state machine 30 issue an access command (for example, READ or WRITE) for issuing to the SDRAM 24.
Directive), so that the target
Make the bank the currently accessed bank. in addition,
This operation of step 62 is generally similar to that described above in connection with step 48. Therefore, the reader is referred to the above description of step 48 for further details indicating that step 62 preferably matches the access command before or during the last data cycle of the current access. I want to. Thus, the method proceeds to step 64, where it issues a READ or WRITE command to SDRAM 24, followed by step 66, where an access corresponding to RQ is performed. Thereafter, method 40 returns from step 66 to step 42 to process the next memory access request.
【0034】段階60に戻ると、この流れは、RQがター
ゲット・バンクで既にアクティブなものと異なるページ
に有るときの段階68へ向けられるものであることを想
起されたい。この例では、段階68はターゲット・バン
クの現在アクティブな行をプレチャージする。再び、望
ましい実施例では、これはSDRAM24へDEAC_x指令を発
行することにより実施される。それ以後、段階70はタ
ーゲット・ページを含む行をアクティブにし、本方法は
段階62へ進む。段階62の前述の説明から、それ故段
階62はRQへのアクセス指令を整合し、さらにアクセス
指令を発行し、RQに対応するアクセスを実行する段階6
4と66が続くことが当業者には認められる。以後、方
法40は再び段階66から段階42へ戻って、次のメモ
リ・アクセス要求を処理する。Returning to step 60, recall that this flow is directed to step 68 when the RQ is on a different page than the one already active in the target bank. In this example, step 68 precharges the currently active row of the target bank. Again, in the preferred embodiment, this is accomplished by issuing a DEAC_x command to SDRAM 24. Thereafter, step 70 activates the row containing the target page, and the method proceeds to step 62. From the foregoing description of step 62, step 62 therefore matches the access command to the RQ, issues an access command, and performs the access corresponding to the RQ step 6
One skilled in the art will recognize that 4 and 66 follow. Thereafter, method 40 again returns from step 66 to step 42 to process the next memory access request.
【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が従来技術のコントロ
ーラの方法で動作するようにできる。反対に、このビッ
トを設定して上記の機能を付勢することにより、メモリ
の同じ行への連続アクセスが生じるであろうプログラム
に対しては、上記に詳述した利点が達成される。To further clarify the above description and its advantages, FIG. 6 again illustrates accesses A1 through A4 from FIG. 1, but now implements the method 40 of FIG. The timing of these modified accesses is indicated, assuming that they represent a memory access request that operates to access a row that is already active in any of the banks. Following this assumption, those skilled in the art can easily track the steps of method 40 and arrange that the leading cycle of the overhead of access A2 occurs at the same time (ie, overlaps) as the last data access cycle of access A1. Can conclude. Thus, a single data unit from access A2 is read in the clock cycle immediately after reading the last data unit of the burst of access A1. Similarly, for access A3, its reading overhead is advanced at a time that is partially the same as a single read of data from access A2, and overlaps during a portion of the time of access A2's termination overhead. Therefore, the actual data access (burst write) can be started earlier than when the reading overhead of access A3 cannot be started until the termination overhead of access A2 is completed. Finally, recall that for access A4, this is received after an eight cycle gap. However, since the assumption is that access A4 is already directed to a row that is already active, there is no need to precharge and then reactivate this row during the access, so the number of cycles in its reading overhead is Note that it is reduced (or eliminated). Thus, the total number of cycles, both gap and reading overall, is reduced, which also reduces access latency. Therefore, in conclusion, continuous SD
Those skilled in the art will recognize that the ability to keep a row active for RAM access increases bandwidth without increasing the clock frequency and reduces power consumption, which is often important in portable systems. Therefore,
Overall latency is reduced and system performance is dramatically improved. It should be noted that, as a final matter, the localization and spatiality that occurs in many systems has resulted in the aforementioned improvements or has resulted from certain programs implemented in these systems. In this regard, in a preferred embodiment, the DRAM controller 18a further includes a programmable bit whose state is to activate or deactivate the functions of FIG. Thus, if for some reason such a scheme is determined to be undesirable (eg, if there is a problem with locality or spatial assumptions,
Or if the program is known to produce random or very unpredictable memory accesses), setting this bit to the appropriate state deactivates the function of FIG. The technology can be operated in the manner of a controller. Conversely, setting this bit to activate the above function achieves the advantages detailed above for programs that will result in consecutive accesses to the same row of memory.
【0036】DRAMコントローラ18aを図3の構造、図
4の方法、及び図5と図6の結果を介して説明してきた
が、図7は上述した各種の詳細を実装する方法をさらに
詳細に図示する。さらに進む前に、それ故図7は本発明
を実施する1例であり、前述した各種の詳細はここでは
再度説明しないが、当業者にはさらに追加の情報が確認
でき、本文書の教示を提供できる。それ故、図7の入力
は以上の説明から理解すべきであり、現在のアクセス要
求を指示する信号、16Mビット又は64Mビット・メ
モリのどちらかを選択する制御信号、DRAMコントローラ
18aにより制御されているメモリが2又は4バンクの
どちらを有しているかを選択する制御信号、及びCAS待
ち時間を決定するために使用される周波数信号を含む。
ある種の追加の接続とこれらの信号に関する詳細は以下
に説明されている。While the DRAM controller 18a has been described through the structure of FIG. 3, the method of FIG. 4, and the results of FIGS. 5 and 6, FIG. 7 illustrates in more detail how to implement the various details described above. I do. Before proceeding further, FIG. 7 is an example of practicing the present invention, and various details described above will not be described again here, but those skilled in the art will be able to ascertain additional information and teach the teachings of this document. Can be provided. Therefore, the inputs of FIG. 7 should be understood from the above description, a signal indicating a current access request, a control signal for selecting either a 16 Mbit or a 64 Mbit memory, controlled by the DRAM controller 18a. Control signal to select whether a given memory has two or four banks, and a frequency signal used to determine CAS latency.
Certain additional connections and details regarding these signals are described below.
【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レジスタの出力に接続される。FIG. 7 shows that the access request line and the bank
The address portion is connected to a first input of multiplexer 72. A second input of the multiplexer 72 is connected to receive an internal address from the DRAM controller 18a,
Here, the internal address represents the most recently accessed row and bank address (readable from any of the AC_Bn_ROW and RAn registers). The control input of multiplexer 72 is a signal SR which is activated upon receipt of the continuous request signal SREQ.
It is connected to either the logical OR when the page intersection is detected by the EQ or the DRAM controller 18a. Thus, when neither of these events occurs, multiplexer 72 connects to pass the address from the access request to DRAM controller 18a, while if one of these events occurs, multiplexer 72 switches from the internal request. Is connected so as to pass the address to the DRAM controller 18a. The row address output by the multiplexer 72 is connected to the four AC_Bn_ROW registers, so that the address is thereafter stored in the appropriate one of these four registers for subsequent comparison. In addition, the output of multiplexer 72 is connected to an input of each of four comparators 74 0 74 3,
Here the second input of each of these comparators is connected to receive the previously stored row address from the corresponding register AC_B0_ROW to AC_B3_ROW. Thus, each comparator can compare the row address of the current address with the last row address of the corresponding bank (stored in register AC_Bn_ROW). The output of the comparator 74 0 is connected to the first input of AND gate 76 a0, an input of the inverter INV 0 that connects the output to the first input of the AND gate 76 b0, to. Similarly, the output of the comparator 74 1 to 74 3 is connected to the AND gate of the pair in an equivalent way. AND gate 76 a0
To 76 b3 are connected to the output of a two-to-four decoder 78, which receives a two-bit bank address from the address output by multiplexer 72, and which of the four banks is being addressed. Is decoded into an output signal S_BANK that goes high (or two banks if a two-bank memory is used). Finally, A
The third input of each of the ND gate 76 a0 from 76 b3 is connected to the output of the corresponding RAn register.
【0038】ANDゲート76a0から76b3の各々の出
力は比較論理及びステート・マシン30への入力を与え
る。特に、識別子に「a」を有する各ANDゲートは、
そのバンクでアドレスされた最新の(又は現在の)行と
同じバンクで同じ行(従ってSB_SRと略称する)がアド
レスされている場合、高信号を出力する。同様に、識別
子に「b」を有する各ANDゲートは、そのバンクでア
ドレスされた最新の(又は現在の)行と同じバンクであ
るが異なる行(従ってSB_DRと略称する)がアドレスさ
れている場合、高信号を出力する。The output of each of AND gates 76 a0 through 76 b3 provides a comparison logic and input to state machine 30. In particular, each AND gate with the identifier "a"
A high signal is output if the same row (and hence SB_SR) is addressed in the same bank as the most recent (or current) row addressed in that bank. Similarly, each AND gate with the identifier "b" is addressed to the same bank as the most recent (or current) row addressed to that bank, but to a different row (hence SB_DR). Output a high signal.
【0039】最後に、比較論理及びステート・マシン3
0への別の入力として、ANDゲートの各対には、C_B_
Rnレジスタと共に、ここで初めて紹介する待ち時間信号
LAT_Rnを添えていることに注意されたい。後者に関して
は、比較論理及びステート・マシン30のステート・マ
シンは、SDRAM24へ発行される指令(例えば、ACTV_
x、READ、WRITE等)の各種の異なる組合せにより生じ
る待ち時間要件を収めるのに十分な状態を含むことが望
ましい。例えば、2つの連続読取りに対しては、これら
の読取りに対してデータをアクセスする間に最小で9サ
イクルの待ち時間がある。従って、指令間のこの種の待
ち時間と共にその他の待ち時間要件が、比較論理及びス
テート・マシン30の状態に対応し、これらの状態が待
ち時間信号LAT_Rnの各行にコード化される。このよう
に、比較論理及びステート・マシン30はその次の指令
を発行する前に、これらの行の各々の待ち時間を考慮す
る。Finally, the comparison logic and state machine 3
As another input to 0, each pair of AND gates has C_B_
Latency signal introduced here for the first time together with the Rn register
Note that we add LAT_Rn. With respect to the latter, the comparison logic and the state machine of state machine 30 may be configured to issue commands (eg, ACTV_
It is desirable to include enough states to accommodate the latency requirements caused by various different combinations of (x, READ, WRITE, etc.). For example, for two consecutive reads, there is a minimum of nine cycles of latency between accessing data for these reads. Thus, other latency requirements, along with such latency between commands, correspond to the states of the comparison logic and state machine 30, which are coded in each row of the latency signal LAT_Rn. Thus, comparison logic and state machine 30 considers the latency of each of these rows before issuing the next command.
【0040】単なるDRAMコントローラ18aを越えたト
ラフィック・コントローラ18の機能に対する説明に戻
ると、この機能は、図8のハードウェア・ブロック線図
にまず戻ることにより初めて紹介される。図8は図2に
示したようなトラフィック・コントローラ18のブロッ
クを図示し、さらに別の追加機能を図示している。その
機能を見ると、トラフィック・コントローラ18は共に
上述したFIFO18bと要求スタック18cとを含み、こ
こでFIFO18bはビデオ又はLCDコントローラ20との
通信用のバースト・ピクセル・データを記憶し、要求ス
タック18cはこれらの異なる未決要求を解析して後述
するように作用できるよう複数アクセス要求を記憶する
ことを一時的に想起されたい。Returning to the description of the function of the traffic controller 18 beyond the mere DRAM controller 18a, this function is first introduced by first returning to the hardware block diagram of FIG. FIG. 8 illustrates a block of the traffic controller 18 as shown in FIG. 2 and illustrates yet another additional function. Looking at its function, the traffic controller 18 includes a FIFO 18b and a request stack 18c, both described above, where the FIFO 18b stores burst pixel data for communication with a video or LCD controller 20, and the request stack 18c Recall temporarily that these different pending requests are analyzed and the multiple access requests are stored so that they can act as described below.
【0041】図8の説明を続行すると、望ましい実施例
では、要求スタック18cの各アクセス要求はそれに関
係する優先度も有し、この優先度も対応する要求と関係
する導線上に到達することが望ましい。しかしながら、
より複雑な方式では、優先度も要求と共に要求スタック
18cにコード化され記憶される。以下で詳述するよう
に、優先度は以後初期値と異なる値に変更してもよい。
このように、導線上の信号として優先度が存在する望ま
しい実施例では、この信号をその導体上で変更してもよ
い(例えば、ある2進数状態からその他への変更は低優
先度から高優先度への変更を表す)。一般的に見て、か
つ以下でさらに明らかとなるように、低い優先度は、DR
AMコントローラ18aへ対応する要求を発行することに
より対応するアクセス要求がサービスされる前に遅延を
発生し、一方その逆に、より高い優先度は、その他の効
率の考慮が現在のサービスが待ち時間を増大させること
を示しているとしても、対応するアクセス要求をDRAMコ
ントローラ18aに直ちに通信させる。これらの別例は
以下でさらに説明される。Continuing with the description of FIG. 8, in the preferred embodiment, each access request in request stack 18c also has a priority associated with it, which may also reach the conductor associated with the corresponding request. desirable. However,
In a more complex scheme, the priority is also coded and stored with the request in the request stack 18c. As described in detail below, the priority may be changed to a value different from the initial value thereafter.
Thus, in a preferred embodiment where the priority is present as a signal on a conductor, this signal may be changed on that conductor (e.g., changing from one binary state to another may change from low priority to high priority). Represents a change to degrees). Generally, and as will become more apparent below, the lower priority is the DR
Issuing the corresponding request to the AM controller 18a causes a delay before the corresponding access request is serviced, while conversely, higher priority means that other efficiency considerations may cause the current service to wait , The corresponding access request is immediately communicated to the DRAM controller 18a. These alternatives are described further below.
【0042】トラフィック・コントローラ18も優先度
ハンドラ及びステート・マシン18dを含む。優先度ハ
ンドラ及びステート・マシン18dは各種の別例から当
業者により構築され、いずれにせよ本文書で詳述する機
能を達成する。優先度解析の紹介事例として、優先度ハ
ンドラ及びステート・マシン18dは図8で優先度表1
8dTを含んでいるのが図示されていることに注意され
たい。優先度表18dTは、対応する要求をDRAMコント
ローラ18aに発行することによりアクセス要求をサー
ビスする順序を列挙している。優先度は、要求を発行す
る回路の型式を基にしており、さらに特定の回路に対し
てその要求がその通常の優先度に対抗して高優先度を割
当てられているかどうかを基にしており、優先度の動的
変更は後述する。説明の都合上、かつ図8に示すよう
に、優先度ハンドラ及びステート・マシン18dによる
優先度の順序はここで表2に示されている。The traffic controller 18 also includes a priority handler and state machine 18d. The priority handler and state machine 18d is constructed by those skilled in the art from various alternatives and, in any event, achieves the functions detailed herein. As an introduction example of the priority analysis, the priority handler and the state machine 18d are shown in FIG.
Want to do contain 8d T is noted that depicted. Priority table 18 d T are lists the order in which the service access request by issuing a corresponding request to the DRAM controller 18a. Priority is based on the type of circuit issuing the request and on whether a particular circuit is assigned a higher priority than its normal priority for a particular circuit. The dynamic change of the priority will be described later. For convenience of explanation and as shown in FIG. 8, the order of priorities by the priority handler and state machine 18d is now shown in Table 2.
【表2】 表2の情報を説明するための1例として、第1の未決要
求がホスト・プロセッサ12からのもの(すなわち、優
先度4)で、第2の要求が周辺インターフェース14b
からの高い優先度(すなわち、優先度3)である場合、
優先度ハンドラ及びステート・マシン18dによりDRAM
コントローラ18aへ発行される次の要求は、その高い
優先度値のため周辺インターフェース14bからの高優
先度要求に対応するものである。その他の例は、表2か
ら、また図9の以下の説明から明らかである。[Table 2] As an example to illustrate the information in Table 2, the first pending request is from host processor 12 (ie, priority 4) and the second request is from peripheral interface 14b.
If the priority is high from (i.e., priority 3),
DRAM by priority handler and state machine 18d
The next request issued to controller 18a corresponds to a high priority request from peripheral interface 14b due to its high priority value. Other examples are evident from Table 2 and from the following description of FIG.
【0043】以上の優先度の考えの説明をさらに図解す
るため、図9は全体を80で指示し、図8に示した関連
要素の望ましい動作を説明する方法の流れ図を図示す
る。方法80は段階82から開始し、ここで要求スタッ
ク18cのアクセス要求を優先度ハンドラ及びステート
・マシン18dにより解析する。図9の説明の結論から
認められるように、いつでも段階82の発生時は、単一
の又は複数の要求が要求スタック18cで未決となって
いるような状態である。いずれの場合でも、要求スタッ
ク18cのアクセス要求に関しては、方法80は段階8
2から段階84へ進む。To further illustrate the above discussion of priority considerations, FIG. 9 illustrates a flow diagram of a method generally designated at 80 and illustrating the desired operation of the associated components shown in FIG. The method 80 begins at step 82, where the access request of the request stack 18c is analyzed by the priority handler and the state machine 18d. As will be appreciated from the conclusions of the description of FIG. 9, at any time, the occurrence of step 82 is such that one or more requests are pending in request stack 18c. In any case, for an access request of request stack 18c, method 80 proceeds to step 8
Go from step 2 to step 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へ進む。At step 84, the priority handler and state machine 18d determines whether there is one or more pending requests in the priority stack 18c. If so, method 80 proceeds from step 84 to step 86; otherwise, method 80 proceeds from step 84 to step 88. Step 86
The priority handler and state machine 18d issues a memory access request to the DRAM controller 18a corresponding to the access request in the request stack 18c having the highest priority. Therefore, Table 2 above shows the requests thus selected for the service. It should also be noted that FIG. 9 illustrates step 86 'in dashed lines, which step is included to indicate that the priority changes at any time in any of the various ways described below. In any case,
Step 86 issues a memory access request to DRAM controller 18a, which in the preferred embodiment should provide access to SDRAM 24 in the manner described above. Finally, recall that in the preferred embodiment, a single request source generally has only one pending request at a time, and thus there are no two pending requests of the same priority in such a case. However, if an embodiment is implemented in which multiple requests of the same priority from the same request source are pending, step 8
For 6, it may be desirable for step 86 to issue a memory request for an access request that is pending for the longest period. When a request is issued to DRAM controller 18a, method 80 returns from step 86 to step 84,
The above process is repeated until there is only a single pending access request, at which point method 80 proceeds to step 88.
【0045】段階88では、優先度ハンドラ及びステー
ト・マシン18dは要求スタック18cの単一のアクセ
ス要求に対応するメモリ・アクセス要求をDRAMコントロ
ーラ18aへ発行する。以後、方法80は段階88から
段階82へ戻り、この場合、システムは要求スタック1
8cに1つの要求がある場合は次の未決アクセス要求を
処理するか、または次の要求を待機して上述のように進
むか、のどちらかである。At step 88, the priority handler and state machine 18d issues a memory access request to the DRAM controller 18a corresponding to a single access request in the request stack 18c. Thereafter, method 80 returns from step 88 to step 82, in which the system proceeds to request stack 1
If there is one request in 8c, either the next pending access request is processed or the process waits for the next request and proceeds as described above.
【0046】以上紹介したように、要求スタック18c
中の未決要求のある種の型式に関係する優先度は、初期
値から動的に変化してもよい。特に、望ましい実施例で
は、以下の3つの要求源、すなわち(1)ビデオ及びLC
Dコントローラ20、(2)周辺インターフェース14
b、(3)SDRAM24自動リフレッシュ、の各々からの
アクセス要求に関連する優先度は変更してもよい。これ
ら3つの異なる要求源に対する優先度の変更をさらに詳
しく説明するため、各々を以下に別々に説明し、トラフ
ィック・コントローラ18の別の利点の以下の説明のた
め読者の注意を再び図8へ向けられたい。As introduced above, the request stack 18c
The priority associated with certain types of pending requests may dynamically change from an initial value. In particular, in the preferred embodiment, there are three sources: (1) Video and LC
D controller 20, (2) peripheral interface 14
b, (3) the priority associated with the access request from each of the SDRAM 24 automatic refresh may be changed. To further illustrate the priority changes for these three different request sources, each will be described separately below and the reader's attention will again be directed to FIG. 8 for the following description of another advantage of the traffic controller 18. I want to be.
【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の優先
度値が割当てられる。The priority corresponding to the video and the request from the LCD controller 20 is the FIFO 18b (this can be video or
(Which provides video data to the LCD controller 20) based on how much data remains. In particular, if the FIFO 18b is almost empty at a particular time, requests issued by the video or LCD controller 20 during that time will be assigned a relatively high priority,
Conversely, if the FIFO 18b is barely empty at a particular time, during which time requests from the video or LCD controller 20 will be assigned a normal (ie, relatively low) priority.
To accomplish this indication, FIFO 18b is coupled to provide control signals to priority handler and state machine 18d. In addition, the video and LCD controller 2 are already associated with the priority resulting from the availability of the FIFO 18b.
If the request from 0 is undecided and a normal priority is initially assigned, and if the FIFO 18b reaches a certain degree of freeness, the priority is switched to a high priority. The definition of the empty state of the FIFO 18b can be selected by those skilled in the art. For example, from Table 2, it should be appreciated that access requests from the video and LCD controller 20 can be assigned either a priority of 1 (high priority) or a priority of 7 (normal priority). In the preferred embodiment, a single threshold storage is selected for the FIFO 18b to determine which priority to assign, and if the FIFO 18b has less video data than this threshold, the video and LCD controller 20 issues a Alternatively, pending requests are assigned a high priority, whereas if the amount of data in the FIFO 18b is equal to or greater than this threshold, the video and LCD controller 20
Issued or pending requests from are usually assigned a priority.
However, those skilled in the art can select different methods of priority selection, and do not need to limit the priority to the two categories. For example, another approach may be to use linear steps from one to a large number, such as one to five steps. In this case, when the FIFO 18b is 1/5 or less, an access request from the video and LCD controller 20 is assigned a priority value of 1. As another example, when the FIFO 18b is 4/5 or more, a priority value of 5 is assigned to an access request from the video or LCD controller 20.
【0048】周辺インターフェース14bからのアクセ
ス要求に対応する優先度は最初通常値を割当てられる
が、どれだけ要求が未決であるかを基に動的に高い値に
変更される。この点に関して、トラフィック・コントロ
ーラ18は、8ビット・カウント閾値を記憶するための
プログラム可能なレジスタ18eRを含むタイマ回路1
8eを含む。従って、周辺インターフェース14bから
のアクセス要求が要求スタック18cに最初に記憶され
る時、これは通常の優先度を割当てられ、表2から、他
の優先度に対するこの通常優先度は5の値であることが
認められる。しかしながら、この要求の記憶時に、タイ
マ回路18eがカウントを開始する。未決要求がサービ
スされる前に、タイマ回路18eのカウントがプログラ
ム可能レジスタ18eRに記憶した値に到達した場合、
タイマ回路18eは優先度ハンドラ及びステート・マシ
ン18dに制御信号を発行して、アクセス要求を通常か
ら高状態へ変更する。再度表2を参照すると、その他の
優先度に対するこの高優先度は3の値である。タイマ回
路18eがそのプログラムした限界に到達する前に要求
がサービスされた場合、カウントはリセットされて、次
の未決の周辺要求を解析する。加えて、以上の説明は単
一の周辺要求のみを参照しているが、別の実施例は、一
つ以上の周辺要求が要求スタック18cで未決の場合に
別々のカウントを保持し、ここで各別々のカウントはそ
の対応する要求を記憶した時に開始する。The priority corresponding to the access request from the peripheral interface 14b is initially assigned a normal value, but is dynamically changed to a higher value based on how pending the request is. In this regard, the traffic controller 18 includes a timer circuit 1 including a programmable register 18e R for storing an 8-bit count threshold.
8e. Thus, when an access request from the peripheral interface 14b is first stored in the request stack 18c, it is assigned a normal priority, and from Table 2, this normal priority for other priority is a value of 5. It is recognized that. However, when this request is stored, the timer circuit 18e starts counting. If the count of timer circuit 18e reaches the value stored in programmable register 18e R before the pending request is serviced,
Timer circuit 18e issues a control signal to priority handler and state machine 18d to change the access request from normal to high. Referring again to Table 2, this high priority over other priorities is a value of three. If the request is serviced before the timer circuit 18e reaches its programmed limit, the count is reset and the next pending peripheral request is analyzed. In addition, while the above description refers only to a single peripheral request, alternative embodiments maintain separate counts if one or more peripheral requests are pending in request stack 18c, where Each separate count starts when the corresponding request is stored.
【0049】自動リフレッシュに対応する優先度は最初
通常の優先度を割当てられるが、どれだけ要求が未決の
ままであるかを基にしてより高い値へ動的に変更され
る。この処理の詳細に入る前に、最初にSDRAMメモリの
背景として、リフレッシュ間隔内に全バンクをリフレッ
シュしなければならないことに注意する。現在市販され
ている大部分のSDRAMでは、通常この時間は標準化さ
れ、64ミリ秒である。この64ミリ秒の間に、全ての
バンクをリフレッシュしなければならない、このこと
は、一定数の所要自動リフレッシュ要求(例えば、4
k)をSDRAMへ送らなければならないことを意味する。
当該技術において公知のように、自動リフレッシュ要求
はアドレスを含まず、代わりに要求の受け取りに応答し
てメモリのある区域へのポインタをSDRAMに増分させ
る。標準的には、この区域は複数行であり、複数バンク
・メモリに対しては、単一の自動リフレッシュ要求に応
答して複数バンクの各々の同じ行をリフレッシュさせ
る。最後に自動リフレッシュの背景として、従来技術で
はSDRAMへ自動リフレッシュ要求を発行するには一般的
に2つの方式があり、ここで第1の方式は、リフレッシ
ュ期間の間の等間隔の時間間隔で自動リフレッシュ要求
を発行し、第2の方式は単一の指令によりその指令に応
答して全てのバンクの全てのラインを順番にリフレッシ
ュするものである。しかしながら、本発明の実施例で
は、これらの従来技術の方式の各々に欠点があることに
注意している。例えば、自動リフレッシュ要求が等間隔
の場合、要求の一つを受取りSDRAM24に作用するたび
に、これはメモリの全てのバンクをプリチャージさせ
る。しかしながら、このような結果は本発明により実施
されたような相当時間の間、行をアクティブに保持する
利点を減少させる。その他の例として、単一の指令を発
行して全てのバンクの全ての行をリフレッシュする場
合、このリフレッシュ期間の間メモリは全ての要求源に
対して利用不能であり、これは複雑なシステムでは有害
である。従って、望ましい実施例はすぐ下に説明するよ
うにこれらの欠点を克服している。The priority corresponding to the automatic refresh is initially assigned a normal priority, but is dynamically changed to a higher value based on how many requests remain pending. Before going into the details of this process, note that all banks must first be refreshed within the refresh interval, as a background to SDRAM memory. For most SDRAMs currently on the market, this time is typically standardized to 64 milliseconds. During this 64 ms, all banks must be refreshed, which means that a certain number of required automatic refresh requests (eg, 4
k) must be sent to SDRAM.
As is known in the art, an auto-refresh request does not include an address, but instead causes the SDRAM to increment a pointer to an area of memory in response to receipt of the request. Typically, this area is multiple rows, and for multiple bank memories, the same row in each of the multiple banks is refreshed in response to a single automatic refresh request. Finally, as a background of the automatic refresh, in the related art, there are generally two methods for issuing an automatic refresh request to the SDRAM. Here, the first method is that the automatic refresh request is issued at regular time intervals during the refresh period. The second method is to issue a refresh request, and in response to a single command, in response to the command, refresh all lines in all banks in order. However, it is noted that embodiments of the present invention have disadvantages with each of these prior art schemes. For example, if the auto-refresh requests are equally spaced, each time one of the requests is received and applied to SDRAM 24, this will cause all banks of memory to be precharged. However, such a result reduces the advantage of keeping the row active for a significant period of time as implemented by the present invention. As another example, if a single command is issued to refresh all rows in all banks, memory is not available to all request sources during this refresh period, which is a complex system. Harmful. Accordingly, the preferred embodiment overcomes these shortcomings, as described immediately below.
【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)を与えると、優先度をあげた自動リフレッシュ
要求にサービスする機会は相当増加する。In the preferred embodiment, the automatic refresh is implemented by a priority handler and state machine 18d that sends bursts of automatic refresh requests to the DRAM controller 18a. Generally and as shown below, the bursts are relatively small, such as bursts of 4, 8, or 16 autorefresh requests. Therefore, in response to these requests, the SDRA
There is a period during which M24 is precharged, which is much more than issuing 4096 requests consecutively and generating a precharge in response to all of these requests within a single time frame. short. In addition, other requests (higher priority) can be serviced by the priority handler and state machine 18d during these burst times. In fact, many of these other requests are directed to already active rows, so during this time these rows are not disturbed by the refresh operation (ie,
Not precharged). Turning now to the implementation details of these operations, the traffic controller 18 determines whether the automatic refresh burst size (eg, 4, 8,
16) programmable register 18f for storing
A timer circuit 18f including R is included. In response to the reset of the timer circuit 18f, the programmable register 18f R
A number of burst requests indicating a number in the request stack 1
8c with a normal priority (for example, 6 in Table 2). At this point, while the burst of the automatic refresh request is not determined, the timer circuit 18f starts progressing toward the timeout value (for example, 256 microseconds). FIG.
As described in detail above in connection with, the priority handler and state machine 18d proceeds by issuing a request to the DRAM controller 18a in response to the relative priority of the pending request in the stack 18c. Thus, when the requests of the priority level 6 arrive, these pending automatic refresh requests are issued to the DRAM controller 18a.
Thus, one of two events occurs first while timer circuit 18c is progressing toward its timeout value. One event is that all pending automatic refresh requests are issued to the DRAM controller 18a, and the other event is when the timer circuit 18f reaches its timeout value. DR of all pending automatic refresh requests
When issued to the AM controller 18a, the timer circuit 18
f is reset to zero and another burst of autorefresh requests is added to request stack 18c. Conversely, if the timer circuit 18f reaches its timeout value while one or more automatic refresh requests of the previous burst are pending, the priority handler and state machine 18d
Dynamically increases the normal priority of the pending automatic refresh request to a high priority (for example, 2 in Table 2). In addition, the timer circuit 18f is reset to zero again and another burst of normal priority automatic refresh requests is sent to the request stack 1
8c. However, as method 80 continues to process pending requests, a significant change in priority (eg, 6
When 2) is given, the chance of servicing an automatic refresh request with a higher priority is considerably increased.
【0051】以上から、当業者には望ましい実施例にお
ける自動リフレッシュ方法論の多数の利点が認められ
る。例えば、自動リフレッシュ要求のバーストは一般的
にバンクをあまりに頻繁にプレチャージすることを避け
ている。対照的に、自動リフレッシュ指令を最大リフレ
ッシュ間隔内で均等に浴びせるよう選択した場合、自動
リフレッシュ指令が各15.62マイクロ秒(すなわ
ち、64ミリ秒/4096ライン=15.62マイクロ
秒)毎にSDRAM24へ送られる。このようにすると、全
てのバンクが各15.62マイクロ秒ごとにプリチャー
ジされる。自動リフレッシュ要求指令をバーストに集団
化する望ましい実施例と対比して、かつこれを見ると、
優先度能力により自動リフレッシュ要求を未決のままに
しておき、多くの場合より高い優先度の要求の間のギャ
ップ時にサービスすることを可能とする。これは2つの
全体プリチャージ間の時間を増大させる。例えば、16
回の自動リフレッシュ要求が集団化された場合、2つの
全体プリチャージ(DCAB指令)間のギャップは250マ
イクロ秒である。このことはこの自動リフレッシュ・バ
ースト機構をDRAMコントローラ18aと関係させる利点
を明瞭に示す。自動リフレッシュのこのバーストは、も
ちろんより高い優先度の要求により割込み可能である。From the foregoing, those skilled in the art will recognize numerous advantages of the automatic refresh methodology in the preferred embodiment. For example, bursts of automatic refresh requests generally avoid precharging the bank too frequently. In contrast, if the auto-refresh command is selected to be evenly spread within the maximum refresh interval, the auto-refresh command will be applied to the SDRAM 24 every 15.62 microseconds (ie, 64 milliseconds / 4096 lines = 15.62 microseconds). Sent to In this way, all banks are precharged every 15.62 microseconds. In contrast to and looking at the preferred embodiment which groups auto-refresh request commands into bursts,
Priority capabilities allow auto-refresh requests to be left pending, often allowing them to service during gaps between higher priority requests. This increases the time between two overall precharges. For example, 16
If the auto refresh requests are clustered, the gap between the two global precharges (DCAB commands) is 250 microseconds. This clearly illustrates the advantage of relating this automatic refresh burst mechanism to the DRAM controller 18a. This burst of automatic refresh can, of course, be interrupted by a higher priority request.
【0052】優先度のこの説明を終了するに当り、表2
から、変更できない優先度を有する2種類のアクセス要
求があることに注意されたい。これらのアクセス要求の
最初のものは、SBUSから受取るアクセス要求、最も特筆
すべきは、ホスト・プロセッサ12からのアクセス要求
を含むものである。この点に関して、それ故通常の動作
時、すなわち、他の要求が高優先度を有するよう変更さ
れていない時には、ホスト・プロセッサ12が最高の優
先度を有していることに注意されたい。このように、通
常は、ホスト・プロセッサ12がメモリへのアクセスを
必要とする時間の間に十分なギャップがあり、これらの
ギャップの間に通常の優先度を与えられたその他の要求
源からのアクセス要求をサービスできることが期待でき
る。しかしながら、これらのギャップが十分でない程度
になると、望ましい実施例の優先度方式がこれらのその
他のアクセス要求の優先度を上げてさらにサービスし、
従ってシステムへのロック問題を生じることなくこれら
がサービスされる。表2に示したような望ましい実施例
の優先度に関連する最後の事項として、フラッシュメモ
リ26からSDRAM24への転送のアクセス要求は常に最
低の優先度(優先度8)を与えられていることに注意さ
れたい。In ending this description of priority, Table 2
Note that there are two types of access requests with priorities that cannot be changed. The first of these access requests includes access requests received from the SBUS, most notably, access requests from the host processor 12. In this regard, it should be noted that during normal operation, that is, when other requests have not been changed to have a higher priority, host processor 12 has the highest priority. Thus, there is usually a sufficient gap between the times that the host processor 12 needs access to the memory, and during these gaps from other request sources given normal priority. It can be expected that access requests can be serviced. However, if these gaps are not sufficient, the priority scheme of the preferred embodiment will further prioritize and service these other access requests,
Thus, they can be serviced without creating locking problems to the system. A final item related to the priority of the preferred embodiment as shown in Table 2 is that access requests for transfers from flash memory 26 to SDRAM 24 are always given the lowest priority (priority 8). Please be careful.
【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へ戻り、次の未決アクセス要求を解析する段階
へ進む。To illustrate other inventive advantages that are desirably included in the traffic controller 18, FIG. 10 illustrates a method 90 also performed by the priority handler and state machine 18d and directed to burst requests. I do. Initially, it should be noted that the method 90 occurs in parallel with the method 80 described in connection with FIG. The method 90 begins at step 92, where the access request stored in the request stack 18c is selected for analysis by the priority handler and the state machine 18d. Next, at step 94, the priority handler and state
The machine 18d determines whether the pending access request is a burst request, and if so, determines whether the size S of the requested number of bytes is greater than a predetermined base size / number of bytes B. As an example, assume that B is equal to eight. If S is greater than B, the method 90 proceeds to step 96, while if S is less than or equal to B, the method 90 returns to step 92 and proceeds to analyze the next pending access request.
【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)である。At step 96, the priority handler and state machine 18d effectively splits the burst request from step 94 into multiple burst requests. The advantages of this operation will be described later, but first a description of the technique of the preferred embodiment of request splitting will be presented. Preferably, this operation is performed by replacing the burst requests from step 94 with S / B burst requests, where each replacement burst request is a burst of B bytes. For example, assume that step 94 is performed for a burst request size having a size S equal to 32 bytes. In this case, S is greater than B (ie, 32> 8) and the method proceeds to step 96. Stage 9
6, in this example, the priority handler and state machine 18d sends a 32-byte access request to four access
Replace with a burst request (ie, S / B = 32/8 = 4), where each new request is a burst of 8 bytes (ie, 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要求に対応する次
の行をアクティブにする。The traffic controller 18 operates as described above.
Note that in the preferred embodiment, which includes DRAM controller 18a, the split requests are indicated by DRAM controller 18a in such a way as to be considered as a continuous burst request, thereby allowing for more efficiency with respect to address transmission. In particular, when a burst request is split into multiple requests, the first request is the DRAM controller 18a
And is coded as shown in Table 5 below. Generally, for each of the remaining multiple requests, each is indicated as a continuous request SREQ to the DRAM controller 18a. Thus, for the example in which the burst request from the request source S1 is divided into four requests, the DRAM controller 18a
Requests issued to: (1) REQ [s1]; (2) SREQ [s
1]; (3) SREQ [s1]; (4) SREQ [s1]. Returning now to the advantage of this difference, the DRAM controller 18a generally has the SDRAM 24 for continuous access in some cases.
Recall that it operates to keep the row active. In the present example, the DRAM controller 18a
It is known that when a request is received, the instruction directs the request to a data group that follows the immediately preceding request in sequence. Therefore, two advantages arise from this. First
In a preferred embodiment, the traffic controller 18 responds to the SREQ request by the DRAM controller 18a.
No extra addresses are transmitted, thus reducing overhead. Second, by using the increment of the currently accessed address, the DRAM controller 18a
Can determine whether the data retrieved by the SREQ request is on the same line as the currently active one,
If so, causing an access of that data without pre-charging the row between the time of the previous access and the time of the access corresponding to the SREQ access. However, finally, in the preferred embodiment, the DRAM controller 18a provides a continuous
It is also determined from the number of SREQ accesses and the burst size whether or not a page crossing has occurred. If a page crossing has occurred, the DRAM controller 18a precharges the currently accessed row and responds to the SREQ request. Activate next line.
【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へのアドレスの伝送は必要な
く、先行する要求と同じ行がアクセスされることにな
る。Also, in the preferred embodiment, given the priority capability of the priority handler and state machine 18d,
Further, while the split request is still pending, the traffic controller 1
Note that if 8 is received, multiple requests resulting from a split burst request will be handled differently with respect to REQ and SREQ designations. In particular, in such a case, the REQ indication is again given to the first of the multiple requests, but also to the first request following the inserted higher priority request. For example, again, the first burst request from request source s1 is 4
Assume that the request has been split into two requests, but that a higher priority request has been received after sending the second of the four split requests to DRAM controller 18a. In this case, the order of requests to the DRAM controller 18a is:
(1) REQ [s1]; (2) SREQ [s1]; (3) REQ [s2];
(4) REQ [s1]; (5) SREQ [s1]. in this way,
The request (2) is a continuous request to the same row address as the request (1), and the request (5) is a continuous request to the same row address as the request (4). However, a higher priority request (3) is inserted between requests (2) and (4). Therefore, again, each SREQ is processed in the manner described above,
No address transmission to the DRAM controller 18a is required, and the same row as the preceding request will be accessed.
【0057】方法90の終わりとして、段階96の後こ
れは段階92へ戻って次の未決アクセス要求を解析す
る。最後に、段階96と関連して、以上の例はBがSで
均等に割算できることを仮定していることに注意された
い。しかしながら、そうではない場合には、段階96は
単一のアクセス要求を、S/Bの整数部分加える1に等
しいバースト要求整数に置換え、ここでS/B要求の各
々はBバイトのバーストであり、かつ追加の要求は残り
のバイト数であることが望ましい。例えば、Sが35に
等しい、未決のDMAバースト要求に対しては、段階96
は、その要求を、各々8バイトのバーストを検索する4
つのアクセス要求と3バイトのバーストの第5アクセス
要求とに置換える。At the end of method 90, after step 96, it returns to step 92 to analyze the next pending access request. Finally, note that in connection with step 96, the above example assumes that B can be evenly divided by S. However, if not, step 96 replaces the single access request with a burst request integer equal to one plus an integer portion of the S / B, where each of the S / B requests is a burst of B bytes. And the additional request is preferably the number of remaining bytes. For example, for a pending DMA burst request where S is equal to 35, step 96
Will search the request for bursts of 8 bytes each.
One access request and a fifth access request of a 3-byte burst.
【0058】方法90を説明したが、上記のDRAMコント
ローラ18aと関連して説明したような、行をアクティ
ブに保持する能力と組み合わされた時、さらに図7及び
図8と関連して記述した優先度の面と組合せると、他に
ない利点を提供できることに注意されたい。これを認め
るには、バースト・サイズが如何に効率に影響するかを
記載した、本文書の発明の背景説明部分を思い出された
い。特に、ある従来技術の方式はオーバーヘッドの不利
益を避けるためバースト・サイズを増加したことが記載
されていたが、この方式は、長いバーストが他の回路が
バースト中にメモリ・アクセスすることを妨害するとい
う問題も生じている。対照的に、方法90は長いバース
ト要求を多数の小さなバーストに切断することを可能と
している。しかしながら、より高い未決優先度要求がな
い場合、本発明の教示下で、これらの小さなバーストが
DMAコントローラによりDRAMコントローラへ連続して発
行される。加えて、バーストは連続したメモリ位置をア
クセスしているため、連続した小さな各バーストはアク
ティブに保持されているSDRAM24の行をアクセスし、
従って各連続バーストに対応する連続アクセスの間には
オーバーヘッドがない。加えて、DMAコントローラがよ
り高い優先度要求を受取った時点で、本発明はかって長
いバーストであったものの有効な割込みを有効に提供で
きる。特に、長いバーストが複数の小さなバーストに切
断されたため、高い優先度要求は2つの小さなバースト
の発生の間に生じるよう挿入され、その高い優先度要求
をサービスすると、小さなバーストの全てが完了するま
で連続した小さなバーストが再びサービスされる。この
ようにして、元々は長いバースト要求であったものの実
質的に真中に、高優先度要求が挿入され、最小のオーバ
ーヘッドでバーストが再始動可能であると考えられる。
結論として、それ故、本発明は多くの場合に大きな有効
バーストを可能とし、かつ他の場合に長いバーストの完
了を待機することなくより高い優先度要求をサービス可
能とする。Although the method 90 has been described, when combined with the ability to hold the row active, as described in connection with the DRAM controller 18a above, the priority 90 described further in connection with FIGS. Note that combining with the degree aspect can provide unique advantages. To appreciate this, recall the invention background section of this document, which describes how burst size affects efficiency. In particular, it was stated that some prior art schemes increased the burst size to avoid overhead penalties, but this scheme prevented long bursts from accessing other circuits during the burst. There is also the problem of doing so. In contrast, the method 90 allows a long burst request to be broken into a number of smaller bursts. However, in the absence of a higher pending priority request, under the teachings of the present invention, these small bursts
Issued continuously by the DMA controller to the DRAM controller. In addition, because the bursts are accessing consecutive memory locations, each successive small burst accesses a row of the SDRAM 24 that is actively held,
Therefore, there is no overhead between successive accesses corresponding to each successive burst. In addition, when the DMA controller receives a higher priority request, the present invention can effectively provide a valid interrupt, albeit a long burst. In particular, since the long burst was broken into multiple small bursts, the high priority request was inserted to occur between the occurrences of the two small bursts, and servicing that high priority request would require that all of the small bursts be completed. Successive small bursts are serviced again. In this way, it is believed that a high priority request is inserted substantially in the middle of what was originally a long burst request, and that the burst can be restarted with minimal overhead.
In conclusion, therefore, the present invention enables large effective bursts in many cases, and otherwise can service higher priority requests without waiting for long bursts to complete.
【0059】SDRAM24に関連してトラフィック・コン
トローラ18の各種の一般的及び特殊機能を詳述してき
たが、各種の前述の動作を達成する一つの方法を当業者
に図示するため、本文書はここで各種のポートと信号の
以下の提示により終わりとする。この点に関して、以下
の表3はトラフィック・コントローラ18からSDRAM2
4への一般的なインターフェース・ポートを列挙する。Although various general and special features of the traffic controller 18 have been described in detail in connection with the SDRAM 24, this document is provided here to illustrate to one skilled in the art one way of achieving the various foregoing operations. End with the following presentation of the various ports and signals. In this regard, Table 3 below shows the traffic controller 18
List the general interface ports to 4.
【表3】 [Table 3]
【0060】加えて、表4の以下の信号は、DMAアクセ
ス又は直接アクセスを要求する各種の回路から(例え
ば、ホスト・プロセッサ12、DSP14a、周辺インタ
ーフェース14bからの周辺機器、ビデオ又はLCDコン
トローラ20)トラフィック・コントローラ18へ出さ
れたアクセス要求に応答して、SDRAM24へのアクセス
要求を与えるためのトラフィック・コントローラ18の
望ましい実施例の方法を図示し、直ぐこれに続く表5は
異なるアクセス型式を実行するこれらの信号の状態を図
示する。In addition, the following signals in Table 4 may include traffic from various circuits requiring DMA access or direct access (eg, host processor 12, DSP 14a, peripherals from peripheral interface 14b, video or LCD controller 20). Illustrates a preferred embodiment method of the traffic controller 18 for providing an access request to the SDRAM 24 in response to an access request issued to the controller 18, and immediately following Table 5 implements different access types. The states of these signals are illustrated.
【表4】 [Table 4]
【表5】 [Table 5]
【0061】* アクセスはトラフィック・コントローラ
18により発生される。トラフィック・コントローラ1
8による2つの要求は同時には発生されず、従って、同
時には1ビットのみがアクティブであり、これは要求を
デコードしなければならないことを避けられる。トラフ
ィック・コントローラ18が連続要求を送る前に、これ
は最初に/SDRAM_Req_grant信号を受信しなければならな
い。この認可は、要求が取りこまれ、現在処理されてい
ることを示す。** MRS指令が実行されてSDRAM内部制御レジスタをプロ
グラムしている時、DMAデータバスがSDRAMアドレスバス
上に載せられる。*** SET_MODE_SDRAMが読取られた時、SDRAMコントロー
ラ・モジュール(SDRAM内部レジスタではない)からの
局所レジスタが読取られる。 * Access is generated by the traffic controller 18. Traffic controller 1
The two requests by 8 are not generated at the same time, so only one bit is active at a time, which avoids having to decode the request. Before the traffic controller 18 sends a continuous request, it must first receive a / SDRAM_Req_grant signal. This authorization indicates that the request has been captured and is currently being processed. ** When the MRS command is executed to program the SDRAM internal control registers, the DMA data bus is placed on the SDRAM address bus. *** When SET_MODE_SDRAM is read, local registers from the SDRAM controller module (not SDRAM internal registers) are read.
【0062】最後に、以下の表6はトラフィック・コン
トローラ18とSDRAM24との間の制御バス24c上のさ
らに他の制御信号を図示する。[0062] Finally, Table 6 below illustrates yet another control signal on the control bus 24 c between the traffic controller 18 and SDRAM 24.
【表6】 [Table 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制御のどちら
か又は両方を有するその他のシステムに本発明の多数の
概念を実装できることを理解すべきである。従って、本
教示を与えられた当業者によって確認可能な以上の説
明、これらの例示、及びその他の事項が、添付の特許請
求の範囲に定める発明の範囲を図解する助けとなるはず
である。From the above description, it can be seen that the above embodiment reduces memory access latency and can be implemented in a DRAM controller, a DMA system, or both, and in any case can provide various improvements over the prior art. While this embodiment has been described in detail in addition to the above teachings, it should be noted that various substitutions, modifications or changes may be made to the above description without departing from the scope of the invention. . For example, different control signals may be used to achieve the described functions, especially if different types of memory are associated with DRAM control. As another example, while FIGS. 4, 8, and 9 illustrate a generally continuous method by way of a flowchart, the preferred embodiment implements a state machine to perform these steps, and thus the flow is a flowchart. It should be understood that the flow is not continuous as shown in FIG. As yet another example, various priority concepts have been described, but the order of some of the above request sources may be re-arranged or even others (eg, DSP 14a) removed from the priority scheme. Others may be implemented to reduce waiting time. As yet another example, wireless data platform 10 is a general block diagram. Therefore, other features can be included or modified, but such
Not shown to simplify the illustration of the control plane and to focus on the description. As a simple memo of possible functions, not shown, the platform 10 includes an I / O controller and an RA.
Includes memory such as M / ROM. Further, a plurality of devices can be coupled to the wireless data platform 10 as peripherals via an I / O controller or via a peripheral interface 14b. Such devices are:
Smart card, keyboard, mouse, or Universal Serial Bus ("USB") port or RS232
Includes one or more serial ports, such as a serial port. As an example of a specific change to the platform 10,
The separate caches of the processor 12 and the DSP 14a can be combined into an integrated cache. In addition, a hardware acceleration circuit is an optional item for accelerating the execution of a language such as JAVA, but this circuit is not necessary for the operation of the device. Finally, although the illustrated embodiment shows a single DSP, multiple DSPs (or other coprocessors) can also be coupled to the bus. As a final example, Platform 1
It should be understood that 0 is merely an example, and that many of the concepts of the present invention may be implemented in other systems having either or both DRAM control and DMA control. Accordingly, the above description, examples thereof, and other matters which can be ascertained by those skilled in the art given the present teachings should help illustrate the scope of the invention as set forth in the appended claims.
【図1】4回の連続メモリ要求に応答してDRAMコントロ
ーラによりアクセス信号を発行する従来技術のタイミン
グ図。FIG. 1 is a prior art timing diagram for issuing an access signal by a DRAM controller in response to four consecutive memory requests.
【図2】本実施例を実装する無線データ・プラットフォ
ームのブロック線図。FIG. 2 is a block diagram of a wireless data platform implementing the embodiment.
【図3】図2のSDRAM24とDRAMコントローラ18dの詳
細を図示するブロック線図。FIG. 3 is a block diagram illustrating details of an SDRAM 24 and a DRAM controller 18d in FIG. 2;
【図4】システム待ち時間を減少するためDRAMコントロ
ーラ18dによるメモリ・アクセス要求を処理する実施
例の流れ図。FIG. 4 is a flow diagram of an embodiment for processing a memory access request by a DRAM controller 18d to reduce system latency.
【図5】図4の流れ図の方法によるアクセス信号発行の
タイミング図。FIG. 5 is a timing chart of issuing an access signal according to the method of the flowchart of FIG. 4;
【図6】図4の流れ図の方法による4つの連続するメモリ
要求に応答して発生されたアクセス信号発行のタイミン
グ図。6 is a timing diagram of access signal issuance generated in response to four consecutive memory requests according to the method of the flowchart of FIG.
【図7】図3で図示し、図4から図6の図解でさらに説明
したDRAMコントローラ18aのより詳細な図。FIG. 7 is a more detailed diagram of the DRAM controller 18a shown in FIG. 3 and further described in the illustrations of FIGS. 4-6.
【図8】各種の優先度面と関連した図2のトラフィック
・コントローラ18の詳細を図示するブロック線図。FIG. 8 is a block diagram illustrating details of the traffic controller 18 of FIG. 2 in connection with various priority aspects.
【図9】各種の優先度考慮を使用してシステム待ち時間
を減少するためトラフィック・コントローラ18による
メモリ・アクセス要求を処理する実施例の流れ図。FIG. 9 is a flow diagram of an embodiment of processing a memory access request by the traffic controller 18 to reduce system latency using various priority considerations.
【図10】相対的に大きなバースト・アクセス要求を2
つ以上のより小さなマースと・アクセス要求に分割する
ことによりシステム待ち時間を減少するためトラフィッ
ク・コントローラ18によるメモリ・アクセス要求を処理
する実施例の流れ図。FIG. 10 shows a relatively large burst access request
5 is a flowchart of an embodiment of processing a memory access request by the traffic controller 18 to reduce system latency by splitting into one or more smaller mars and access requests.
10 汎用データ・プラットフォーム 12 ホスト・プロセッサ 14b 周辺インターフェース 16 DMAインターフェース 18 トラフィック・コントローラ 18a DRAMコントローラ 18b FIFO 18c 要求スタック 18d 優先度ハンドラ及びステート・マシン 20 ビデオ又はLCDコントローラ 24 SDRAM 30 比較論理及びステート・マシン DESCRIPTION OF SYMBOLS 10 General purpose data platform 12 Host processor 14b Peripheral interface 16 DMA interface 18 Traffic controller 18a DRAM controller 18b FIFO 18c Request stack 18d Priority handler and state machine 20 Video or LCD controller 24 SDRAM 30 Comparison logic and state machine
───────────────────────────────────────────────────── フロントページの続き (72)発明者 セルジ ラッセール フランス国 フルジュ,サン ジャン ド カンヌ,リュ ドュ マルソー 29 (72)発明者 ドミニク ダンベルノ フランス国 ビュヌーブ ルブ,レ ラ リバル バチマン ベー,シュマン バッ セ ジネスティエール 47 Fターム(参考) 5B060 AB13 AB19 CD04 5B061 BA03 DD01 DD06 DD09 DD11 RR02 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Sergi Lasserre, France, Saint-Jean-de-Cannes, Rue du Marceau 29 (72) Inventor, Dominique D'Amberne, France Bueneuve, Le La Rival Bachman Bee, Shman Basse Ginestiere 47 F term (reference) 5B060 AB13 AB19 CD04 5B061 BA03 DD01 DD06 DD09 DD11 RR02
Claims (2)
・コントローラ回路であって、 メモリをアクセスする要求を表す信号を受取る回路であ
って、メモリをアクセスする第1要求を表す第1信号は
受取り回路により受取られ、かつメモリの第1アドレス
を含み、メモリをアクセスする第2要求を表す第2信号
は第1信号の後に受取り回路により受取られ、かつメモ
リの第2アドレスを含む、前記信号受取り回路と、 第2アドレスが第1アドレスと同じ複数行のどれかに向
けられているかどうかを決定する決定回路と、 メモリをアクセスする要求を表す信号の受取りに応答し
てメモリへ制御信号を発行する回路であって、この制御
信号は、第1要求に応答して第1メモリ・アクセスを発
生させ、第2要求に応答して第2メモリ・アクセスを発
生させる、前記発行回路と、を含み、 第2アドレスが第1アドレスと同じ複数行のどれかに向
けられているかどうかを決定する決定回路に応答して、
制御信号を発行する回路は、第1及び第2アクセスの間
複数行の同じものをアクティブに保持するようメモリへ
制御信号を発行する、複数行を有するメモリに結合した
メモリ・コントローラ回路。1. A memory controller circuit coupled to a memory having a plurality of rows, the circuit receiving a signal representing a request to access the memory, wherein the first signal representing a first request to access the memory is received. A second signal received by the circuit and including a first address of the memory, and representing a second request to access the memory, wherein the second signal is received by the receiving circuit after the first signal and includes a second address of the memory; A circuit; a determining circuit for determining whether the second address is directed to any of the same plurality of rows as the first address; and issuing a control signal to the memory in response to receiving a signal representing a request to access the memory. The control signal generates a first memory access in response to a first request and issues a second memory access in response to a second request. Responsive to a determining circuit that determines whether the second address is directed to any of the same plurality of rows as the first address.
A memory controller circuit coupled to the memory having a plurality of rows for issuing the control signal to the memory so as to keep the same of a plurality of rows active during the first and second accesses.
って、メモリをアクセスする第1要求を表す第1信号は
受取り回路により受取られ、かつメモリの第1アドレス
を含み、メモリをアクセスする第2要求を表す第2信号
は第1信号の後に受取り回路により受取られ、かつメモ
リの第2アドレスを含む、前記信号受取り回路と、 第2アドレスが第1アドレスと同じ複数行のどれかに向
けられているかどうかを決定する決定回路と、 メモリをアクセスする要求を表す信号の受取りに応答し
てメモリへ制御信号を発行する回路であって、この制御
信号は、第1要求に応答して第1メモリ・アクセスを発
生させ、第2要求に応答して第2メモリ・アクセスを発
生させる、前記発行回路と、を含み、 第2アドレスが第1アドレスと同じ複数行のどれかに向
けられているかどうかを決定する決定回路に応答して、
制御信号を発行する回路は、第1及び第2アクセスの間
複数行の同じものをアクティブに保持するようメモリへ
制御信号を発行する、前記メモリ・コントローラと、を
含む計算システム。2. A computing system, comprising: a memory having a plurality of rows; a circuit for issuing a request to access the memory; and a memory controller, the circuit receiving a signal representing the request to access the memory. A first signal representing a first request to access the memory is received by the receiving circuit and includes a first address of the memory, and a second signal representing a second request to access the memory is received by the receiving circuit after the first signal. A signal receiving circuit including a second address of the memory, a determining circuit for determining whether the second address is directed to any of the same plurality of rows as the first address, and a request to access the memory. A circuit for issuing a control signal to a memory in response to receiving a signal, the control signal comprising a first memory access response in response to a first request. And an issuing circuit for generating a second memory access in response to a second request; and determining whether the second address is directed to any of the same plurality of rows as the first address. In response to the decision circuit to decide,
A memory controller for issuing control signals to the memory to keep the same of a plurality of rows active during the first and second accesses.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97402958 | 1997-12-05 | ||
FR9805422 | 1998-04-29 | ||
FR9805422A FR2778255B1 (en) | 1998-04-29 | 1998-04-29 | MEMORY CONTROL USING MEMORY STATE INFORMATION TO REDUCE ACCESS WAIT TIME |
FR97402958.9 | 1998-04-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000315172A true JP2000315172A (en) | 2000-11-14 |
Family
ID=26147930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10377031A Pending JP2000315172A (en) | 1997-12-05 | 1998-12-07 | Memory control using memory state information to shorten access latency time |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000315172A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164099A (en) * | 2004-12-10 | 2006-06-22 | Ricoh Co Ltd | Memory control unit |
JP2016085515A (en) * | 2014-10-23 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Device, method and computer program for scheduling access request to common memory |
-
1998
- 1998-12-07 JP JP10377031A patent/JP2000315172A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164099A (en) * | 2004-12-10 | 2006-06-22 | Ricoh Co Ltd | Memory control unit |
JP2016085515A (en) * | 2014-10-23 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Device, method and computer program for scheduling access request to common memory |
US9620215B2 (en) | 2014-10-23 | 2017-04-11 | International Business Machines Corporation | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode |
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 | |
KR100422781B1 (en) | Method and apparatus for arbitration in a unified memory architecture | |
KR100610730B1 (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
US6092158A (en) | Method and apparatus for arbitrating between command streams | |
KR100898710B1 (en) | Multi-bank scheduling to improve performance on tree accesses in a dram based random access memory subsystem | |
US6393506B1 (en) | Virtual channel bus and system architecture | |
KR100841139B1 (en) | A method and apparatus to manage memory access requests | |
US6006307A (en) | Computer system employing a mirrored memory system for providing prefetch bandwidth | |
US6477598B1 (en) | Memory controller arbitrating RAS, CAS and bank precharge signals | |
US9703493B2 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
KR20050005481A (en) | Out of order dram sequencer | |
US6385692B2 (en) | Methods and apparatus for variable length SDRAM transfers | |
US6836831B2 (en) | Independent sequencers in a DRAM control structure | |
JPH11345165A (en) | Traffic controller using priority and burst control for reducing access times | |
KR20030029030A (en) | Memory control method, memory control circuit using the control method, and integrated circuit device with the memory control circuit | |
KR20240000773A (en) | Pim computing system and memory controller therof | |
US7076627B2 (en) | Memory control for multiple read requests | |
US6008823A (en) | Method and apparatus for enhancing access to a shared memory | |
US9620215B2 (en) | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode | |
US7716442B2 (en) | Interfacing processors with external memory supporting burst mode | |
US7165128B2 (en) | Multifunctional I/O organizer unit for multiprocessor multimedia chips | |
JP2000315172A (en) | Memory control using memory state information to shorten access latency time | |
EP1704487B1 (en) | Dmac issue mechanism via streaming id method | |
US5826045A (en) | Arbitration parking apparatus and method for a split transaction bus in a multiprocessor computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081216 |