JP2011090697A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP2011090697A
JP2011090697A JP2010271404A JP2010271404A JP2011090697A JP 2011090697 A JP2011090697 A JP 2011090697A JP 2010271404 A JP2010271404 A JP 2010271404A JP 2010271404 A JP2010271404 A JP 2010271404A JP 2011090697 A JP2011090697 A JP 2011090697A
Authority
JP
Japan
Prior art keywords
data
bus
ddr
memory
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010271404A
Other languages
Japanese (ja)
Inventor
Fumie Katsuki
富美恵 勝木
Minenobu Naruse
峰信 成瀬
Chiko Fujii
智晃 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010271404A priority Critical patent/JP2011090697A/en
Publication of JP2011090697A publication Critical patent/JP2011090697A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance throughput of an external memory bus to a case when a continuous read with data size smaller than data bus width of the external memory, etc. is heavily used. <P>SOLUTION: A semiconductor device includes: a memory control part 10 which can control the external memory 61 having a plurality of banks by synchronizing it with a clock; buses connected to the memory control part; and a circuit module which is provided corresponding to the buses and can instruct memory access. When burst read is requested in access data size smaller than the number of bits in the buses from the circuit module, the memory control part 10 continuously issues the read request to the external memory 61 by the number of times smaller than the number of bursts in the requested burst read. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、クロック同期で外付けメモリを制御可能なメモリ制御部を有する半導体装置に係り、例えばDDR(ダブルデータレート)メモリのインタフェースコントローラを備えたマイクロコントローラに適用して有効な技術に関する。   The present invention relates to a semiconductor device having a memory control unit capable of controlling an external memory with clock synchronization, and relates to a technique effectively applied to, for example, a microcontroller including an interface controller of a DDR (double data rate) memory.

SDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)などに代表されるクロックに同期動作されるシンクロナス・メモリはグラフィック用のフレームバッファやCPUのメインメモリなどに広く利用されている。例えばSDRAMは複数個のメモリバンクを有し、各メモリバンクはアドレスデコーダ、メモリアレイ、センスアンプアレイなどを有し、各々独立に制御可能にされ、複数メモリバンクがパイプライン的に動作されることによって、高速アクセス動作可能にされる。特にDDR形態のシンクロナスメモリはクロックの立ち上がり及び立ち下がりの両エッジに同期して外部とデータ入出力を行ない、SDR(シングルデータレート)のシンクロナスメモリに比べて更に高速化されている。特許文献1にはマルチバンクSDRAMの記載がある。特許文献2にはグラフィックポートやSDRAMコントローラを搭載したシステムコントローラの記載が有る。シンクロナスメモリはそのようなシステムコントローラに接続されてアクセス制御される。   Synchronous memories that are operated in synchronization with a clock such as SDRAM (Synchronous Dynamic Random Access Memory) are widely used for graphic frame buffers, CPU main memories, and the like. For example, an SDRAM has a plurality of memory banks, and each memory bank has an address decoder, a memory array, a sense amplifier array, etc., and can be controlled independently, and the plurality of memory banks are operated in a pipeline manner. Thus, high-speed access operation is enabled. In particular, the DDR type synchronous memory performs data input / output with the outside in synchronization with both rising and falling edges of the clock, and is further increased in speed compared with the SDR (single data rate) synchronous memory. Patent Document 1 describes a multi-bank SDRAM. Patent Document 2 describes a system controller equipped with a graphic port and an SDRAM controller. The synchronous memory is connected to such a system controller and controlled for access.

特開平10−189889号公報Japanese Patent Laid-Open No. 10-189889 特開2000−132503号公報(図6)Japanese Unexamined Patent Publication No. 2000-132503 (FIG. 6)

本発明者は外部に接続されるDDRメモリに対してアクセスを行うCPU(中央処理装置)やグラフィック系モジュールを内蔵し、そのDDRメモリへのアクセスを制御するDDRメモリコントローラについて検討した。例えば32ビットのデータ入出力端子を有するDDRメモリの場合、1クロックサイクルでリード可能なデータはバス幅の2倍の64ビットとされるが、アクセス主体がワード又はロングワードのアクセスデータサイズでメモリアクセスを要求して来る場合、DDRメモリから1クロックサイクルでリードしたデータの大半がアクセス要求外のデータになり、無効にされる。アクセスアドレスが連続する場合にはその無効データの中に後続のアクセス要求に係るデータを含む可能性が高い。例えば、CPUなどからのバーストアクセス要求のアクセスデータサイズが1クロックサイクルによるアクセスデータサイズよりも小さいとき、指定されたバーストアクセス回数分だけ毎回1クロックサイクルのメモリアクセスを繰り返すと、折角リードしても無効にされるデータが多くなる。このように、メモリコントローラに要求されるアクセスデータサイズが外部メモリの単位アクセスデータサイズに比べて小さいときバスのスループットが悪くなることが明らかにされた。   The inventor has studied a DDR memory controller that incorporates a CPU (central processing unit) and a graphic module for accessing an externally connected DDR memory and controls access to the DDR memory. For example, in the case of a DDR memory having a 32-bit data input / output terminal, the data that can be read in one clock cycle is 64 bits, which is twice the bus width, but the access subject is a word or longword access data size. When access is requested, most of the data read from the DDR memory in one clock cycle becomes data outside the access request and is invalidated. When the access addresses are continuous, it is highly possible that the invalid data includes data related to the subsequent access request. For example, when the access data size of a burst access request from a CPU or the like is smaller than the access data size by one clock cycle, if memory access of one clock cycle is repeated for the specified number of burst accesses, even if the read is repeated More data is invalidated. Thus, it has been clarified that when the access data size required for the memory controller is smaller than the unit access data size of the external memory, the bus throughput deteriorates.

外部メモリのバススループットもしくはデータスループットの悪化に対してはCPUのキャッシュメモリが効果を奏する場合がある。このようなCPUキャッシュメモリにおいてはキャッシュミスによるエントリ若しくキャッシュラインのリプレースなどを行なうためのキャッシュミスペナルティーの処理が比較的重い為、繰り返し利用されるプログラム及びデータをキャッシュ対象とすることが重要になる。これを考慮すると、フレームバッファに対する描画データや画像データに代表されるような繰り返し利用されることの少ないデータ、或いは頻繁に利用されることのないサブルーチンプログラムや制御データなどに対してはCPUキャッシュメモリによるキャッシュの対象としないことが得策になる。   In some cases, the cache memory of the CPU can be effective in reducing the bus throughput or data throughput of the external memory. In such a CPU cache memory, the cache miss penalty processing for performing entry or cache line replacement due to a cache miss is relatively heavy, so it is important to target repeatedly used programs and data as cache targets. Become. Considering this, CPU cache memory is used for data that is rarely used repeatedly, such as drawing data and image data for the frame buffer, or for subroutine programs and control data that are not frequently used. It would be a good idea not to be eligible for cash.

本発明の目的は、外付けメモリのデータバス幅より小さいデータサイズによる連続リードなどが多用される場合に対して外付けメモリバスのバススループット若しくはデータスループットを向上させることができる半導体装置を提供することにある。   An object of the present invention is to provide a semiconductor device capable of improving the bus throughput or data throughput of an external memory bus in the case where continuous read or the like with a data size smaller than the data bus width of the external memory is frequently used. There is.

本発明の別の目的は、頻繁に繰り返しアクセスされずCPUキャッシュメモリによるキャッシュの対象とされ難いようなデータやプログラムのアクセス要求に対してバススループット若しくはデータスループットを向上させることができる半導体装置を提供することにある。   Another object of the present invention is to provide a semiconductor device capable of improving bus throughput or data throughput in response to data or program access requests that are not frequently repeatedly accessed and difficult to be cached by a CPU cache memory. There is to do.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

〔1〕本発明に係る半導体装置は、各々独立に制御可能な複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続された複数のバスと、前記複数のバスの各々に対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備える。前記メモリ制御部は、前記外付けメモリのバンクに各々対応する記憶領域としてのバンクキャッシュを有する。前記バンクキャッシュは対応するバンクのアドレスを連想キーとして当該バンクの一部のデータを記憶可能である。これにより、外付けメモリのデータバス幅より小さいデータサイズによる連続リードなどを行なう場合に、外付けメモリから読み出されたデータをバンクキャッシュに格納し、格納しデータを無効にすることなく利用することが可能であるから、外付けメモリバスのバススループット若しくはデータスループットを向上させることができる。外付けメモリのバンクに各々対応するバンクキャッシュを有するから、複数バンクをパイプライン的に動作させることによる連続的なデータ読み出し対しても各バンクからのデータの保持に対応することができる。   [1] A semiconductor device according to the present invention includes a memory control unit capable of controlling an external memory having a plurality of independently controllable banks in synchronization with a clock, and a plurality of buses connected to the memory control unit. And a circuit module provided corresponding to each of the plurality of buses and capable of instructing memory access. The memory control unit has a bank cache as a storage area corresponding to each bank of the external memory. The bank cache can store a part of data of the bank using the address of the corresponding bank as an associative key. As a result, when continuous reading is performed with a data size smaller than the data bus width of the external memory, the data read from the external memory is stored in the bank cache and stored without being invalidated. Therefore, the bus throughput or data throughput of the external memory bus can be improved. Since the bank caches corresponding to the banks of the external memory are provided, it is possible to support the holding of data from each bank even for continuous data reading by operating a plurality of banks in a pipeline manner.

本発明の具体的な形態では、一つの回路モジュールとしてCPUを有し、前記CPUと一つのバスとの間に配置されたキャッシュメモリを有し、前記メモリ制御部は、前記キャッシュメモリのキャッシュ非対象領域に対するアクセス要求に対して善意バンクキャッシュを有効とする。これにより、頻繁に繰り返しアクセスされず、前記キャッシュメモリのキャッシュの対象とすればキャッシュミスペナルティーによる大きな負担が強いられるような、CPUキャッシュメモリによるキャッシュの対象とされ難いようなデータやプログラムに対して、バススループット若しくはデータスループットを向上させることができる。さらにCPUキャッシュとバンクキャッシュの双方でキャッシュ対象にする場合のようなコヒーレンシを保つ為の複雑な制御も必要ない。   In a specific form of the present invention, a CPU is provided as one circuit module, and a cache memory is provided between the CPU and one bus, and the memory control unit is configured to store the cache memory in the cache memory. The bona fide bank cache is validated for access requests to the target area. As a result, for data and programs that are not frequently accessed repeatedly and are difficult to be cached by the CPU cache memory, such that the cache memory is subject to a large burden due to cache miss penalties. The bus throughput or the data throughput can be improved. Further, there is no need for complicated control for maintaining coherency as in the case where both the CPU cache and the bank cache are cached.

本発明の更に別の具体的な形態では、前記外付けメモリは前記クロックに対してDDR動作されるメモリである。DDR動作ではSDR動作に比べて単位クロックサイクル当り2倍のリードデータを得ることができ、そのリードデータに対してバンクキャッシュを利用することにより、外付けメモリに対するリードデータのスループットを更に向上させることができる。このとき、前記バンクキャッシュは、前記外付けメモリの1個のバンクに対して前記クロックの1サイクルでアクセス可能なデータサイズに対応されるデータ記憶部を有する。DDR動作によるリードデータのラッチ機能を保証しつつキャッシュ制御の簡素化に資することができる。このバンクキャッシュの構成に対しては前記外付けメモリに対する1回のリードアクセス指示によるバーストアクセスによる全アクセスデータサイズが前記データ記憶部のデータサイズを超えるリードアクセス指示に対してバンクキャッシュを無効化することにより、更なるキャッシュ制御の簡素化に資することができる。前記バスの並列データビット数は例えば前記クロックの1サイクルで外付けメモリをDDR動作させて得られるデータサイズに等しくするのがよい。各々のバンクキャッシュのデータ記憶部のサイズと前記バスのサイズが整合してアクセス制御上好都合である。   In still another specific form of the invention, the external memory is a memory that is DDR-operated with respect to the clock. In the DDR operation, twice as many read data can be obtained per unit clock cycle as in the SDR operation. By using a bank cache for the read data, the read data throughput to the external memory can be further improved. Can do. At this time, the bank cache has a data storage unit corresponding to a data size accessible to one bank of the external memory in one cycle of the clock. It is possible to contribute to simplification of the cache control while guaranteeing the read data latch function by the DDR operation. For this bank cache configuration, the bank cache is invalidated in response to a read access instruction in which the total access data size by burst access by a single read access instruction to the external memory exceeds the data size of the data storage unit. This can contribute to further simplification of cache control. The number of parallel data bits on the bus is preferably equal to the data size obtained by DDR operation of the external memory in one cycle of the clock. The size of the data storage unit of each bank cache matches the size of the bus, which is convenient for access control.

〔2〕本発明の別の観点による半導体装置は、上記発明と同様に、複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続された複数のバスと、前記複数のバスの各々に対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備える。そして、一つの回路モジュールとしてCPUを有し、前記CPUと一つのバスとの間に配置されたキャッシュメモリを有する。このとき、前記メモリ制御部は、前記外付けメモリのバンクに各々対応するバンクキャッシュを有し、前記バンクキャッシュは対応するバンクのアドレスを連想キーとして当該バンクの一部のデータを記憶可能である。前記キャッシュメモリのキャッシュ非対象領域に対するアクセス要求に対してバンクキャッシュを有効とし、前記回路モジュールから前記外付けメモリのリードアクセス要求に対してバンクキャッシュを有効としたとき、前記リードアクセスがバンクキャッシュに対して連想ミスの場合には当該連想ミスに係るデータを前記外付けメモリからリードするリードコマンドを発行し、これによりリードしたデータを対応するバンクキャッシュに格納すると共に前記リードアクセス要求元に対するデータとして出力する。これにより、外付けメモリのデータバス幅より小さいデータサイズによる連続リードなどを行なう場合に、一旦外付けメモリから読み出したデータをバンクキャッシュに格納して無駄なく利用可能であるから、外付けメモリバスのバススループット若しくはデータスループットを向上させることができる。外付けメモリのバンクに各々対応するバンクキャッシュを有するから、複数バンクをパイプライン的に動作させることによる連続的なデータ読み出し対しても各バンクからのデータの保持に対応することができる。頻繁に繰り返しアクセスされず前記キャッシュメモリのキャッシュの対象とすればキャッシュミスペナルティーによる大きな負担が強いられるような、CPUキャッシュメモリによるキャッシュの対象とされ難いようなデータやプログラムに対して、バススループット若しくはデータスループットを向上させることができる。   [2] A semiconductor device according to another aspect of the present invention includes a memory control unit capable of controlling an external memory having a plurality of banks in synchronization with a clock, and a plurality of connected to the memory control unit, as in the above-described invention. And a circuit module provided corresponding to each of the plurality of buses and capable of instructing memory access. And it has CPU as one circuit module and has the cache memory arrange | positioned between said CPU and one bus | bath. At this time, the memory control unit has a bank cache corresponding to each bank of the external memory, and the bank cache can store a part of data of the bank by using the address of the corresponding bank as an associative key. . When the bank cache is enabled for an access request to the cache non-target area of the cache memory and the bank cache is enabled for the external memory read access request from the circuit module, the read access is transferred to the bank cache. On the other hand, in the case of an associative miss, a read command for reading the data related to the associative miss from the external memory is issued, and the read data is stored in the corresponding bank cache and as data for the read access request source. Output. As a result, when continuous reading is performed with a data size smaller than the data bus width of the external memory, the data once read from the external memory can be stored in the bank cache and used without waste. The bus throughput or data throughput can be improved. Since the bank caches corresponding to the banks of the external memory are provided, it is possible to support the holding of data from each bank even for continuous data reading by operating a plurality of banks in a pipeline manner. For data and programs that are difficult to be cached by the CPU cache memory, if the cache memory is not frequently repeatedly accessed and is subject to a large burden due to cache miss penalties, the bus throughput or Data throughput can be improved.

本発明の具体的な形態では、前記メモリ制御部は、前記回路モジュールから前記外付けメモリのライトアクセス要求に対してバンクキャッシュを有効としたとき、前記ライトアクセスがバンクキャッシュに対して連想ヒットの場合には当該連想ヒットに係るキャッシュデータを無効化して、前記外付けメモリに当該連想ヒットに係るライトデータのライトコマンドを発行する。これにより、バンクキャッシュと外付けメモリとの間のコヒーレンシを維持するための複雑な制御が必要なくなる。メモリ制御部は複数のバスに接続されて複数の回路モジュールからのアクセス要求に応答して外付けメモリをアクセス制御し、どのバスからのアクセス要求に対しても全てキャッシュの対象にされるとは限らず、仮にこれを考慮してバンクキャッシュと外付けメモリとの間のコヒーレンシを維持する場合には複雑な制御が必要になる。   In a specific form of the invention, when the memory control unit validates the bank cache in response to a write access request for the external memory from the circuit module, the write access causes an associative hit to the bank cache. In this case, the cache data related to the associative hit is invalidated, and a write command for the write data related to the associative hit is issued to the external memory. This eliminates the need for complicated control to maintain coherency between the bank cache and the external memory. The memory control unit is connected to a plurality of buses and controls access to the external memory in response to access requests from a plurality of circuit modules, and all access requests from any bus are subject to caching. However, if this is taken into consideration and the coherency between the bank cache and the external memory is maintained, complicated control is required.

前記ライトアクセスがバンクキャッシュに対して連想ミスの場合には、前記外付けメモリに当該連想ミスに係るデータのライトコマンドを発行すればよい。   When the write access is an associative miss for the bank cache, a data write command related to the associative miss may be issued to the external memory.

本発明の更に具体的な形態では、別の一つのバスには回路モジュールとして3次元描画用のグラフィックモジュールが接続され、更に別の一つのバスには回路モジュールとして2次元描画用のグラフィックモジュールが接続され、その他の一つのバスには回路モジュールとして表示コントローラが接続される。   In a more specific embodiment of the present invention, a graphic module for three-dimensional drawing is connected as a circuit module to another one bus, and a graphic module for two-dimensional drawing as a circuit module is connected to another one bus. A display controller is connected as a circuit module to the other one bus.

本発明の別の具体的な形態では、アクセス要求に対して前記バンクキャッシュを有効にするバスと無効にするバスが混在する。例えばグラフィックモジュールによるアクセスでは同一ラスタ上で連続アドレスに配置されたデータを最大バースト数をもって連続リードするのが効率的であり、1クロックサイクルのアクセスデータサイズのバンクキャッシュのサイズを超えるデータサイズになるから、そのようなバスに関してはキャッシュ非対象にするのがよく、また、スタック領域に対する退避や復帰のためのデータサイズは16ビットや32ビットのようにCPUなどのデータ処理単位に整合するのでそれらデータの転送用途とされるバスに関してはキャッシュ対象にするのがよいからである。   In another specific form of the present invention, a bus for enabling the bank cache and a bus for disabling the bank cache are mixed for an access request. For example, in the case of access by the graphic module, it is efficient to continuously read data arranged at consecutive addresses on the same raster with the maximum number of bursts, and the data size exceeds the size of the bank cache of the access data size of 1 clock cycle. Therefore, such buses should not be cached, and the data size for saving and restoring to the stack area is consistent with the data processing unit such as the CPU, such as 16 bits or 32 bits. This is because the bus used for data transfer should be cached.

本発明の別の具体的な形態では、前記バス毎にバスIDが割当てられるとき、前記メモリ制御部は、アクセス要求に対してバンクキャッシュが有効にされるバスと無効にされるバスのバスIDを定義する回路を有するのがよい。バスIDはアクセス要求に含まれ、アクセス要求やそれに対する応答のルーティングに用いられる。バスIDを定義する回路は、ハードワイヤードロジックで固定的に構成してもよいし、コントロールレジスタによってプログラマブルな定義可能に構成してもよい。メモリ制御回路にアクセス要求を伝達するバス単位でキャッシュ有効/無効を決定できれば、バンクキャッシュのヒット率向上に寄与する。   In another specific form of the present invention, when a bus ID is assigned to each bus, the memory control unit is configured to enable the bus ID of the bus to be invalidated and the bus ID of the bus to be invalidated for an access request. It is preferable to have a circuit that defines The bus ID is included in the access request and is used for routing of the access request and a response thereto. The circuit that defines the bus ID may be fixedly configured with hard-wired logic, or may be configured to be programmable with a control register. If the cache validity / invalidity can be determined for each bus for transmitting an access request to the memory control circuit, it contributes to the improvement of the bank cache hit rate.

本発明の別の具体的な形態では、前記メモリ制御部は、回路モジュールからアクセス要求があったとき、それに付随するアクセスデータサイズにしたがって前記バンクキャッシュの有効又は無効を決定してもよい。メモリ制御回路へのアクセス要求に付随するアクセスデータサイズに応じてキャッシュ有効/無効を決定できれば、バンクキャッシュのヒット率向上に寄与する。前記メモリ制御部は、バンクキャッシュの有効又は無効を決定するためのアクセスデータサイズを定義する回路を有する。そのようなアクセスデータサイズを定義する回路は、ハードワイヤードロジックで固定的に構成してもよいし、コントロールレジスタによってプログラマブルな定義可能に構成してもよい。   In another specific form of the present invention, when an access request is received from a circuit module, the memory control unit may determine whether the bank cache is valid or invalid according to an access data size associated therewith. If the cache valid / invalid can be determined according to the access data size accompanying the access request to the memory control circuit, it contributes to the improvement of the bank cache hit rate. The memory control unit includes a circuit that defines an access data size for determining whether the bank cache is valid or invalid. Such a circuit that defines the access data size may be fixedly configured by hard-wired logic, or may be configured to be programmable by a control register.

〔3〕本発明の更に別の観点による半導体装置は、複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続されたバスと、前記バスに対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備え、前記メモリ制御部は、前記外付けメモリのバンクに各々対応するバンクキャッシュを有し、前記バンクキャッシュは対応するバンクのアドレスを連想キーとして当該バンクの一部のデータを記憶可能である。前記バスはスプリットトランザクション型のバスとされる。スプリットトランザクション型のバスでは、アクセス要求回路からのリクエストパケットをアクセス応答回路が受取り、その要求に応答するレスポンスパケットをアクセス要求回路に返すようになっており、リクエストパケットとレスポンスパケットを含んで構成される一連の処理(トランザクション)はアクセス要求回路に固有のトランザクションIDによってその他のトランザクションから識別可能にされる。前記メモリ制御部は、前記回路モジュールから前記外付けメモリへの連続する複数のリードアクセスの指示に応答する複数のリードデータを前記バスに返すとき、前記回路モジュールからのリードアクセスの指示順に対してリードアクセス要求元へのリードデータの出力順を変更するリオーダリングが可能である。これは、一つのトランザクションはそれに固有のトランザクションIDによってその他のトランザクションか識別できることによって可能になる。   [3] A semiconductor device according to still another aspect of the present invention includes a memory control unit capable of controlling an external memory having a plurality of banks in synchronization with a clock, a bus connected to the memory control unit, and the bus And a circuit module capable of instructing memory access, wherein the memory control unit has a bank cache corresponding to each bank of the external memory, and the bank cache A part of the data of the bank can be stored using the address as an associative key. The bus is a split transaction type bus. In a split transaction type bus, an access response circuit receives a request packet from an access request circuit and returns a response packet in response to the request to the access request circuit, and includes a request packet and a response packet. A series of processes (transactions) can be identified from other transactions by a transaction ID unique to the access request circuit. When the memory control unit returns a plurality of read data in response to a plurality of continuous read access instructions from the circuit module to the external memory to the bus, the memory control unit corresponds to a read access instruction order from the circuit module. Reordering that changes the output order of read data to the read access request source is possible. This is possible because a transaction can be identified as another transaction by its unique transaction ID.

アクセス要求順に応答を返さなければならないとすると、要するに上記リオーダリングを行なわないとするなら、バンクキャッシュにヒットしたアクセス要求の応答データは、バンクキャッシュに連想ミスする先のアクセス要求の応答データよりも早く取得することができるが、前者の応答をアクセス要求元に返すのに後者の応答が有るまで待たなければならず、結果として、システムのデータスループットを悪化させる。上記手段では、前記回路モジュールからのリードアクセスの指示順に対して、連想ヒットしたバンクキャッシュからのリードデータを、バンクキャッシュの連想ミスに係る外付けメモリからのリードデータよりも先行させてリードアクセス要求元へのデータとして出力することができる。アクセス要求に対する応答を受取るのに余計に待つことを要しない。   If it is necessary to return responses in the order of access requests, in short, if the above reordering is not performed, the response data of the access request hit in the bank cache is more than the response data of the access request to which the bank cache is associatively missed. Although it can be acquired quickly, it is necessary to wait until the latter response is received in order to return the former response to the access request source, and as a result, the data throughput of the system is deteriorated. In the above-mentioned means, the read access request from the bank cache in which the associative hit is made precedes the read data from the external memory related to the associative miss of the bank cache with respect to the read access instruction order from the circuit module. It can be output as original data. No extra waiting is required to receive a response to the access request.

〔4〕本発明の更に別の観点による半導体装置は、複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続されたバスと、前記バスに対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備え、前記メモリ制御部は、回路モジュールから前記バスのビット数より小さいアクセスデータサイズでバーストリードが要求されたとき、前記要求されたバーストリードのバースト数より少ない回数で前記外付けメモリにリード要求を連続的に発行可能である。換言すれば、前記バスのビット数より小さいアクセスデータサイズでバースト数を指定した前記回路モジュールからのアクセス要求に応答して、外付けメモリに対し1回のリード要求で受信する全データを有効として連続的に複数回リード要求を発行する。要するに、バス制御部は、回路モジュールからのアクセス要求に応じて外付けメモリに発行するリード要求をマージする。例えば、前記バスのビット数と、前記外付けメモリから1クロックサイクルでリード可能でデータビット数とが等しい場合、回路モジュールからのバーストリード要求のアクセスデータサイズがバスのビット数の1/nのとき、バス制御部は外付けメモリに対するn回路のリード要求を1回のリード要求にマージする。これにより、バス制御部が外付けメモリに発行するリード要求の回数が1/nとされ、バス制御部は外付けメモリからのリードデータを毎回全ビット有効とし、回路モジュールには要求されたアクセスデータサイズ毎に応答を返す。これにより、外付けメモリのバススループットを向上させることができ、外付けメモリに対する回路モジュール間でのアクセス競合の割合が低減し、システムのデータスループットが向上する。   [4] A semiconductor device according to still another aspect of the present invention includes a memory control unit capable of controlling an external memory having a plurality of banks in synchronization with a clock, a bus connected to the memory control unit, and the bus A circuit module provided correspondingly and capable of instructing memory access, wherein the memory control unit is configured to request the burst read when an access data size smaller than the number of bits of the bus is requested from the circuit module. The read request can be continuously issued to the external memory with a smaller number of burst reads. In other words, in response to an access request from the circuit module in which the burst number is specified with an access data size smaller than the number of bits of the bus, all data received in one read request to the external memory is validated. Issue read requests multiple times in succession. In short, the bus control unit merges read requests issued to the external memory in response to access requests from the circuit modules. For example, when the number of bits of the bus is readable from the external memory in one clock cycle and the number of data bits is equal, the access data size of the burst read request from the circuit module is 1 / n of the number of bits of the bus At this time, the bus control unit merges the read request of the n circuit with respect to the external memory into one read request. As a result, the number of read requests issued by the bus control unit to the external memory is reduced to 1 / n, and the bus control unit validates all bits of the read data from the external memory every time, and the circuit module receives the requested access. Returns a response for each data size. As a result, the bus throughput of the external memory can be improved, the rate of access contention between circuit modules for the external memory is reduced, and the data throughput of the system is improved.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、外付けメモリのデータバス幅より小さいデータサイズによる連続リードなどが多用される場合に対して外付けメモリバスのバススループット若しくはデータスループットを向上させることができる。   That is, it is possible to improve the bus throughput or data throughput of the external memory bus as compared to the case where continuous read with a data size smaller than the data bus width of the external memory is frequently used.

頻繁に繰り返しアクセスされずCPUのキャッシュメモリによるキャッシュの対象とされ難いようなデータやプログラムのアクセス要求に対してバススループット若しくはデータスループットを向上させることができる。   The bus throughput or the data throughput can be improved in response to data or program access requests that are not frequently repeatedly accessed and are not easily cached by the CPU cache memory.

本発明の一例に係る画像処理プロセッサを例示するブロック図である。It is a block diagram which illustrates the image processor concerning an example of the present invention. DDR−SDRAMの概略ブロック図である。It is a schematic block diagram of a DDR-SDRAM. DDR−SDRAMコントローラのブロック図である。It is a block diagram of a DDR-SDRAM controller. バンクキャッシュのキャッシュエントリのデータ構造を示す説明図である。It is explanatory drawing which shows the data structure of the cache entry of a bank cache. DDRコントローラによるバンクキャッシュのヒットとミス時の制御処理フローである。It is a control processing flow at the time of a bank cache hit and miss by the DDR controller. DDR−SDRAMの代表的なアクセスタイミングを示すタイミングチャートである。It is a timing chart which shows the typical access timing of DDR-SDRAM. スーパーハイウェイバスからアクセスデータサイズ16ビットのリードアクセスが連続アドレスに対して3回要求されときのタイミングチャートである。10 is a timing chart when a read access with a 16-bit access data size is requested three times for a continuous address from the super highway bus. 図7と同じアクセス要求に対してバンクキャッシュを用いないで動作させたときのタイミングチャートである。8 is a timing chart when the same access request as in FIG. 7 is operated without using a bank cache. スーパーハイウェイバスからのバーストリードとシングルリードのアクセス要求に対して、DDR−SDRAMコントローラがバンクキャッシュヒットのデータをリオーダリングしてアクセス要求元に返す動作を示すタイミングチャートである。5 is a timing chart showing an operation in which a DDR-SDRAM controller reorders bank cache hit data and returns it to an access request source in response to a burst read and single read access request from a super highway bus. 図9のS1に係るシングルリードもバンクキャッシュミスとされる比較例の動作を示すタイミングチャートである。FIG. 10 is a timing chart showing an operation of a comparative example in which a single read according to S1 of FIG. グラフィックモジュールからDDR−SDRAMへのリードアクセスフローを示すフローチャートである。It is a flowchart which shows the read access flow from a graphic module to DDR-SDRAM. グラフィックモジュールからDDR−SDRAMへのリードアクセス動作を示すフローチャートである。It is a flowchart which shows the read access operation | movement from a graphic module to DDR-SDRAM. グラフィックモジュールからアクセスデータサイズ32ビットでバースト長8のリードアクセス要求が行なわれたときリードアクセス要求のマージを行わない場合の動作を示すタイミングチャートである。10 is a timing chart showing an operation when a read access request is not merged when a read access request with a 32-bit access data size and a burst length of 8 is made from the graphic module. 図13に対して途中でDDR−SDRAMに対するリフレッシュサイクルが発生する場合のタイミングチャーチである。This is a timing church when a refresh cycle for the DDR-SDRAM occurs midway with respect to FIG. アクセス要求のマージを行ってリードコマンドを発行する場合のタイミングチャートである。6 is a timing chart when issuing a read command by merging access requests. 2個のグラフィックモジュールからDDR−SDRAMにリードアクセス要求があった場合の動作を示すフローチャートである。It is a flowchart which shows operation | movement when there exists a read access request | requirement to DDR-SDRAM from two graphic modules. メモリアクセスを要求するモジュールが複数あるときアクセス要求をマージしない場合の動作タイミングを示すフローチャートである。It is a flowchart which shows the operation timing when not merging access requests when there are a plurality of modules requesting memory access. メモリアクセスを要求するモジュールが複数あるときアクセス要求をマージする場合の動作タイミングを示すフローチャートである。It is a flowchart which shows the operation | movement timing in the case of merging an access request when there are two or more modules which request a memory access. グラフィックモジュールの動作周波数がDDR−SDRAMの動作周波数より高い場合にアクセス要求をマージしない場合の動作タイミングを示すフローチャートである。It is a flowchart which shows the operation | movement timing when not merging an access request when the operating frequency of a graphic module is higher than the operating frequency of DDR-SDRAM. グラフィックモジュールの動作周波数がDDR−SDRAMの動作周波数より高い場合にアクセス要求をマージする場合の動作タイミングを例示するフローチャートである。It is a flowchart which illustrates the operation | movement timing in the case of merging an access request, when the operation frequency of a graphic module is higher than the operation frequency of DDR-SDRAM.

《画像処理プロセッサ》
図1には本発明の一例に係る画像処理プロセッサが例示される。同図に示される画像処理プロセッサ1は、特に制限されないが、相補型MOS(CMOS)集積回路製造技術により、単結晶シリコンなどの1個の半導体基板(半導体チップ)に形成され、例えばカーナビゲーションに必要な画像処理および音声処理機能、並びにDDR−SDRAM(ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・・メモリ:double data rate synchronous dynamic random access memory)インタフェース等を備える。
<Image processor>
FIG. 1 illustrates an image processor according to an example of the present invention. The image processor 1 shown in the figure is not particularly limited, but is formed on a single semiconductor substrate (semiconductor chip) such as single crystal silicon by a complementary MOS (CMOS) integrated circuit manufacturing technique, and is used for car navigation, for example. It has necessary image processing and sound processing functions, and a DDR-SDRAM (double data rate synchronous dynamic random access memory) interface and the like.

画像処理プロセッサ1は、プロセッサコア2及びクロック発生回路(CPG)3を有し、プロセッサコア2が接続するスーパーハイウェイバス(SHB)4にはバスブリッジ回路(BBRG)5、ダイレクトメモリアクセスコントローラ(DMAC)6、3次元画像の描画処理などの3次元画像処理を行う3Dエンジン(3DGFC)7、RAM8、割り込みコントローラ(INTCF)9及びメモリ制御部としてのDDR―SDRAMコントローラ(NCEMI)10が接続される。プロセッサコア2は、フェッチした命令を実行する中央処理装置(CPU)11、浮動小数点演算ユニット(FPU)12及びキャッシュメモリユニット/メモリマネージメントユニット(CACH/MMU)13を有する。キャッシュメモリユニット13(CACH)はキャッシュ対象アドレスエリアに配置されたメモリや入出力レジスタが保有するデータ及びプログラムをそのアクセス頻度に応じてリプレース可能に保持する連想記憶構造を有する。クロック発生回路(CPG)3は画像処理プロセッサ1の各部に同期動作用のクロックCLKiを供給する。前記キャッシュメモリユニット13(CACH)は以下単にCPUキャッシュメモリ13(CACH)とも記す。   The image processor 1 has a processor core 2 and a clock generation circuit (CPG) 3. A super highway bus (SHB) 4 connected to the processor core 2 has a bus bridge circuit (BBRG) 5, a direct memory access controller (DMAC). ) 6, 3D engine (3DGFC) 7 that performs 3D image processing such as 3D image rendering processing, RAM 8, interrupt controller (INTCF) 9, and DDR-SDRAM controller (NCEMI) 10 as a memory control unit are connected. . The processor core 2 includes a central processing unit (CPU) 11 that executes a fetched instruction, a floating point arithmetic unit (FPU) 12, and a cache memory unit / memory management unit (CACH / MMU) 13. The cache memory unit 13 (CACH) has an associative memory structure that holds data and programs held in the memory and input / output registers in the cache target address area so that they can be replaced according to their access frequency. A clock generation circuit (CPG) 3 supplies a clock CLKi for synchronous operation to each part of the image processor 1. The cache memory unit 13 (CACH) is also simply referred to as CPU cache memory 13 (CACH).

前記DDR―SDRAMコントローラ(NCEMI)10に接続されるDDR―SDRAM61はCPU11のメインメモリ又はフレームバッファ等に利用される。前記バスブリッジ回路5には、第1周辺バス(PBF)21、第2周辺バス(PBS)22及び外部バス(EXB)23が接続される。3Dエンジン7は3Dバス(3DB)24を介してDDR―SDRAMコントローラ(NCEMI)10に接続される。DDR−SDRAMコントローラ(NCEMI)10には更にグラフィックバス(GFB)20が接続される。DDR−SDRAMコントローラ(NCEMI)10は外部においてDDRメモリバス(MRB)25に結合される。   The DDR-SDRAM 61 connected to the DDR-SDRAM controller (NCEMI) 10 is used as a main memory or a frame buffer of the CPU 11. A first peripheral bus (PBF) 21, a second peripheral bus (PBS) 22 and an external bus (EXB) 23 are connected to the bus bridge circuit 5. The 3D engine 7 is connected to a DDR-SDRAM controller (NCEMI) 10 via a 3D bus (3DB) 24. A graphic bus (GFB) 20 is further connected to the DDR-SDRAM controller (NCEMI) 10. The DDR-SDRAM controller (NCEMI) 10 is externally coupled to a DDR memory bus (MRB) 25.

前記スーパーハイウェイバス4はマルチマスターバス若しくはスプリットトランザクション型のバスとされる。スーパーハイウェイバス4に接続する夫々の回路モジュールはマスターポートとスレーブポートを独立に有しており、自回路モジュールからのリード/ライトの転送要求はマスターポートからリクエストパケットとして発行され、他回路モジュールからの転送要求はバス調停回路での調停を経た結果、スレーブポートにリクエストパケットとして通知され、バストランザクションが実行される。バス調停回路は特に図示はしないがスーパーハイウェイバス4の途中に配置されている。このマルチマスターバス制御方式により、スーパーハイウェイバス4はそれに接続される回路モジュール間の全ての組み合わせの転送が可能にされる。例えばCPU11とDMAC6、バスブリッジ回路5とNCEMI10、バスブリッジ回路5とCPU11、の間の転送等が可能である。   The super highway bus 4 is a multi-master bus or a split transaction type bus. Each circuit module connected to the super highway bus 4 has a master port and a slave port independently, and a read / write transfer request from its own circuit module is issued as a request packet from the master port, and from other circuit modules. As a result of the arbitration in the bus arbitration circuit, the transfer request is notified to the slave port as a request packet, and the bus transaction is executed. The bus arbitration circuit is arranged in the middle of the super highway bus 4 although not particularly shown. With this multi-master bus control system, the super highway bus 4 can transfer all combinations between circuit modules connected thereto. For example, transfer between the CPU 11 and the DMAC 6, the bus bridge circuit 5 and the NCEMI 10, and the bus bridge circuit 5 and the CPU 11 can be performed.

前記3Dバス24に接続される3DGFC7はスーパーハイウェイバス4を介してCPU11から3D描画コマンドなどの画像処理コマンドを受取って3D描画処理を行う。描画はNCEMI10を介して図示を省略する前記DDR−SDRAM61のフレームバッファ領域に対して行なわれる。   The 3DGFC 7 connected to the 3D bus 24 receives an image processing command such as a 3D drawing command from the CPU 11 via the super highway bus 4 and performs 3D drawing processing. Drawing is performed on the frame buffer area of the DDR-SDRAM 61 (not shown) via the NCEMI 10.

グラフィックバス20には、2次元画像処理を行なう2Dエンジン(2DGFC)30、表示制御回路(DU)31、シリアルインタフェース回路(IEEE1394)32、色空間変換ユニット(YUV)33、ATアタッチメントパケットインタフェース回路(ATAPI)34、ビデオ信号入力回路(VIN)35、ユニバーサル・シリアル・バス・ファンクションコントローラ(USB)36が接続される。表示制御回路31はフレームバッファ領域に描画された画像データを順次読み出、ラスタスキャン型のディスプレイに表示タイミングに同期させて出力する制御を行う。ビデオ信号入力回路35はディジタルビデオ信号を入力する。ATAPI34はハードディスクドライブ、DVD又はCD−ROMドライブ等のディスクドライブ装置とのインタフェース制御を行う。   The graphic bus 20 includes a 2D engine (2DGFC) 30 for performing two-dimensional image processing, a display control circuit (DU) 31, a serial interface circuit (IEEE1394) 32, a color space conversion unit (YUV) 33, an AT attachment packet interface circuit ( An ATAPI) 34, a video signal input circuit (VIN) 35, and a universal serial bus function controller (USB) 36 are connected. The display control circuit 31 sequentially reads the image data drawn in the frame buffer area, and performs control to output to the raster scan type display in synchronization with the display timing. The video signal input circuit 35 inputs a digital video signal. The ATAPI 34 performs interface control with a disk drive device such as a hard disk drive, a DVD or a CD-ROM drive.

グラフィックバス20はスーパーハイウェイバス4と同様にスプリットトランザクション型のバスとされるが、バスのソース、デスティネーションの一方は必ずDDR−SDRAMコントローラ10になっている。すなわち、バスブリッジ回路5、2DGFC30、DU31、シリアルインタフェース回路32、YUV33、ATAPI34、VIN35、USB36はDDR−SDRAMインタフェース10を介してDDR−SDRAM61との間の転送のみを行う。それら画像系の回路モジュール30などは自回路ブロックで画像処理を行った後にはDDR−SDRAM61に一旦データを格納する必要があるか、或いはDDR−SDRAM61のデータをDU31に転送する必要があり、全ての転送は必ずDDR−SDRAMコントローラ10を経由する構成になっている。   The graphic bus 20 is a split transaction type bus like the super highway bus 4, but one of the source and destination of the bus is always the DDR-SDRAM controller 10. That is, the bus bridge circuit 5, 2 DGFC 30, DU 31, serial interface circuit 32, YUV 33, ATAPI 34, VIN 35, and USB 36 perform only transfer with the DDR-SDRAM 61 via the DDR-SDRAM interface 10. These image system circuit modules 30 need to temporarily store data in the DDR-SDRAM 61 after performing image processing in their circuit blocks, or transfer the data in the DDR-SDRAM 61 to the DU 31. The transfer is always performed via the DDR-SDRAM controller 10.

第1周辺バス21には前記INTC37、2DGFC30、DU31、シリアルインタフェース回路32が接続される。   The INTC 37, 2DGFC 30, DU 31, and serial interface circuit 32 are connected to the first peripheral bus 21.

第2周辺バス22には、調歩同期シリアルコミュニケーションインタフェース回路(SCIF)40、パルス幅変更タイマ(PWM)41、IEC60958オーディオコントローラ(SPDIF)42、ソースレートコンバータ(SRC)43、GPS(Global Positioning System)サーチ/トラッキングエンジン(GPS)44、及び前記クロック発生回路3が接続される。   The second peripheral bus 22 includes an asynchronous serial communication interface circuit (SCIF) 40, a pulse width change timer (PWM) 41, an IEC60958 audio controller (SPDIF) 42, a source rate converter (SRC) 43, and a GPS (Global Positioning System). A search / tracking engine (GPS) 44 and the clock generation circuit 3 are connected.

前記第1周辺バス21及び第2周辺バス22はシングルマスターの32ビットバスであり、バスブリッジ回路5がバスマスターになっている。   The first peripheral bus 21 and the second peripheral bus 22 are single master 32-bit buses, and the bus bridge circuit 5 is a bus master.

前記CPU11は例えば32ビットCPUでありデータ処理単位は32ビットとされる。このCPU11は1サイクルで複数の命令を発行するスーパースカラ構造を有することにより、動作周波数の約2倍の命令処理実行能力を有する。即ち、CPU11は所謂2ウェイ・スーパースカラ構造を有する。これに呼応して前記スーパーハイウェイバス4は64ビットバスとされる。したがって、CPU11は並行に2命令を実行して夫々32ビットのデータを2組用意し、用意された合計64ビットの2組のデータを1バスサイクルでスーパーハイウェイバス4へ転送可能である。また、CPU11は1バスサイクルでスーパーハイウェイバス4から64ビットのデータをリードし、リードした下位32ビットと上位32ビットを別々に並行して演算処理することも可能にされる。   The CPU 11 is a 32-bit CPU, for example, and the data processing unit is 32 bits. Since the CPU 11 has a superscalar structure that issues a plurality of instructions in one cycle, it has an instruction processing execution capability that is approximately twice the operating frequency. That is, the CPU 11 has a so-called 2-way superscalar structure. In response to this, the super highway bus 4 is a 64-bit bus. Therefore, the CPU 11 can execute two instructions in parallel to prepare two sets of 32-bit data, and transfer the prepared two sets of 64-bit data to the super highway bus 4 in one bus cycle. Further, the CPU 11 can read 64-bit data from the super highway bus 4 in one bus cycle, and can perform arithmetic processing on the read lower 32 bits and upper 32 bits separately in parallel.

図2にはDDR−SDRAM61の概略ブロックが示される。DDR−SDRAM61は、特に制限されないが、4個のメモリバンクBNK0〜BNK3を有する。各々のメモリバンクBNK0〜BNK3はメモリアレイ(ARY)62、ロウアドレスデコーダ(RDEC)63、センスアンプアレイ(SAA)64、カラム入出力回路(CIO)65及びカラムアドレスデコーダ(CDEC)66を有する。各メモリアレイ62は、マトリクス配置された多数のダイナミック型のメモリセルを備え、メモリセルの選択端子は列毎にワード線に接続され、メモリセルのデータ入出力端子はセンスアンプを介して折り返された一方の相補ビット線に結合される。   FIG. 2 shows a schematic block of the DDR-SDRAM 61. The DDR-SDRAM 61 has four memory banks BNK0 to BNK3, although not particularly limited. Each of the memory banks BNK0 to BNK3 includes a memory array (ARY) 62, a row address decoder (RDEC) 63, a sense amplifier array (SAA) 64, a column input / output circuit (CIO) 65, and a column address decoder (CDEC) 66. Each memory array 62 includes a large number of dynamic memory cells arranged in a matrix, the selection terminals of the memory cells are connected to word lines for each column, and the data input / output terminals of the memory cells are folded back through a sense amplifier. The other complementary bit line is coupled.

ロウアドレスデコーダ63にはロウアドレスバッファ/リフレッシュカウンタ(RABF/RCUNT)67から内部ロウアドレスが供給される。カラムアドレスデコーダ66にはカラムアドレスバッファ/バーストカウンタ(CABF/BCUNT)68から内部カラムアドレスが供給される。内部ロウアドレス及び内部カラムアドレスは選択的にアクティブにされるメモリバンクに供給される。カラム入出力回路65はデータコントロールロジック(DCLGC)70を介して選択的にデータ入出力バッファ(DIOB)71に接続され、メモリバンク単位でリードデータの出力、ライトデータの入力が可能にされる。データ入出力バッファ71は32ビットのデータ入出力端子DQ0〜DQ31に接続される。   The row address decoder 63 is supplied with an internal row address from a row address buffer / refresh counter (RABF / RCUNT) 67. The column address decoder 66 is supplied with an internal column address from a column address buffer / burst counter (CABF / BCUNT) 68. The internal row address and internal column address are supplied to the selectively activated memory bank. The column input / output circuit 65 is selectively connected to a data input / output buffer (DIOB) 71 via a data control logic (DCLGC) 70 so that read data can be output and write data can be input in units of memory banks. The data input / output buffer 71 is connected to 32-bit data input / output terminals DQ0 to DQ31.

DDR−SDRAM61は例えば15ビットのアドレス入力端子A0〜A14を有する。アドレス入力端子A0〜A14にアドレスマルチプレクス形態で供給されるロウアドレス信号及びバンク選択信号はロウアドレスバッファに、カラムアドレス信号はカラムアドレスバッファ7に、モードレジスタ設定情報はタイミングコントローラに供給される。4個のメモリバンクBNK0〜BNK3は2ビットのバンク選択信号の論理値にしたがってその動作が可能(バンクアクティブ)にされる。メモリバンクBNK0〜BNK3は独立にその動作が制御可能にされる。   The DDR-SDRAM 61 has, for example, 15-bit address input terminals A0 to A14. The row address signal and bank selection signal supplied to the address input terminals A0 to A14 in the form of an address multiplex are supplied to the row address buffer, the column address signal is supplied to the column address buffer 7, and the mode register setting information is supplied to the timing controller. The four memory banks BNK0 to BNK3 are enabled (bank active) according to the logic value of the 2-bit bank selection signal. The operations of the memory banks BNK0 to BNK3 can be controlled independently.

DDR−SDRAM61の動作制御はタイミングコントローラ(TCNT)72が行なう。タイミングコントローラ72にはクロック信号CLK、/CLK、クロックイネーブル信号CKE、チップセレクト信号/CS、カラムアドレスストローブ信号/CAS、ロウアドレスストローブ信号/RAS、ライトイネーブル信号/WE、及びデータストローブ信号DQSなどの外部制御信と共に、前記モードレジスタ設定情報が入力される。DDR−SDRAM61の動作はそれら入力信号の状態の組み合わせによって規定されるコマンドで決定され、タイミングコントローラ72は、そのコマンドで指示される動作に応じた内部タイミング信号を形成するための制御ロジックを有する。   Operation control of the DDR-SDRAM 61 is performed by a timing controller (TCNT) 72. The timing controller 72 includes clock signals CLK and / CLK, clock enable signal CKE, chip select signal / CS, column address strobe signal / CAS, row address strobe signal / RAS, write enable signal / WE, and data strobe signal DQS. The mode register setting information is input together with the external control signal. The operation of the DDR-SDRAM 61 is determined by a command defined by a combination of the states of these input signals, and the timing controller 72 has control logic for forming an internal timing signal corresponding to the operation instructed by the command.

クロック信号CLK、/CLKはDDR−SDRAM61のマスタクロックとされ、その他の外部入力信号は当該クロック信号CLKの立ち上がりエッジに同期して有意とされる。チップセレクト信号/CSはそのローレベルによってコマンド入力サイクルの開始を指示する。/RAS,/CAS,/WEの各信号はコマンドサイクルを定義するための信号とされる。入力信号としての前記データストローブ信号DQSは書込み動作時にライトストローブ信号として外部から供給され、書込みデータの確定タイミングを規定する。出力信号としてのデータストローブ信号DQSは読み出しデータの外部出力に同期して変化されリードストローブ信号とされる。読み出しデータの出力タイミング及び出力信号DQSの変化は図示を省略するDLL(ディレイ・ロックド・ループ)回路を用いてクロック信号CKに同期される。DLL回路は、特に制限されないが、レプリカ回路技術と、位相同期技術とによって、クロックCLKに対する内部回路の信号伝播遅延時間特性を補償した内部クロック信号を生成する。この内部クロック信号に同期してリードデータを出力すると共に出力信号DQSをクロック変化させる。結果として、クロックCLKと出力クロックDQSの位相は高精度で一致される。   The clock signals CLK and / CLK are used as a master clock of the DDR-SDRAM 61, and other external input signals are made significant in synchronization with the rising edge of the clock signal CLK. The chip select signal / CS instructs the start of the command input cycle by its low level. Each signal of / RAS, / CAS, / WE is a signal for defining a command cycle. The data strobe signal DQS as an input signal is supplied from the outside as a write strobe signal at the time of a write operation, and defines the timing for determining write data. The data strobe signal DQS as the output signal is changed in synchronization with the external output of the read data and is used as a read strobe signal. The output timing of the read data and the change of the output signal DQS are synchronized with the clock signal CK using a DLL (delay locked loop) circuit (not shown). The DLL circuit is not particularly limited, but generates an internal clock signal in which the signal propagation delay time characteristic of the internal circuit with respect to the clock CLK is compensated by a replica circuit technique and a phase synchronization technique. In synchronization with the internal clock signal, read data is output and the output signal DQS is changed in clock. As a result, the phases of the clock CLK and the output clock DQS are matched with high accuracy.

アクセスコマンドにはロウアドレスストローブ・バンクアクティブコマン(RASBAコマンド)、カラムアドレス・リードコマンド(CARコマンド)、カラムアドレス・ライトコマンド(CAWコマンド)などが有る。   The access commands include a row address strobe / bank active command (RASBA command), a column address / read command (CAR command), a column address / write command (CAW command), and the like.

RASBAコマンドは、メモリバンクの選択と選択されたメモリバンクのロウアドレスの指示を有効にするコマンドであり、これにより、指定されたメモリバンクにおけるワード線が選択され、当該ワード線に接続されたメモリセルが夫々対応する相補データ線に導通される。   The RASBA command is a command for validating selection of a memory bank and an instruction of a row address of the selected memory bank, whereby a word line in the specified memory bank is selected and the memory connected to the word line is selected. Each cell is conducted to a corresponding complementary data line.

CARコマンドはリード動作のカラムアドレスを与える為のコマンドであり、これによってカラムアドレス信号がカラムアドレスバッファに取り込まれ、カラム系選択動作が行なわれる。バースト動作ではその次以降のカラム系選択動作ではバーストカウンタでインクリメントしたカラムアドレスを用いる。カラム系選択動作では、先にRASBAコマンドにてアクティブにされているメモリバンクで64ビット単位のビット線選択動作が行なわれ、選択されたビット線のデータは出力信号DQSの立ち上がり及び立ち下がりに同期して32ビット単位で外部に連続的に出力される。連続的に読出される回数は上記バースト数(バーストレングス)によって指定された回数とされる。DDR−SDRAM61の場合、バースト数は整数の2の倍数とされる。また、データ出力回路からのデータ読出し開始はCASレイテンシーで規定されるクロック信号CLKのサイクル数を待って行われる。   The CAR command is a command for giving a column address for a read operation, whereby a column address signal is taken into the column address buffer and a column system selection operation is performed. In the burst operation, the column address incremented by the burst counter is used in the subsequent column system selection operation. In the column selection operation, a 64-bit unit bit line selection operation is performed in the memory bank previously activated by the RASBA command, and the data of the selected bit line is synchronized with the rise and fall of the output signal DQS. Then, it is continuously output to the outside in units of 32 bits. The number of times of continuous reading is the number designated by the burst number (burst length). In the case of the DDR-SDRAM 61, the number of bursts is a multiple of 2 of an integer. Further, data reading from the data output circuit is started after waiting for the number of cycles of the clock signal CLK defined by the CAS latency.

CAWコマンドはライト動作のトライトアドレスを与えるためのコマンドであり、これによって取り込まれたカラムアドレス信号はアクティブにされているメモリバンクの書込みスタートアドレスとされ、そのアドレスには、入力信号DQSの立ち上がり及び立ち下がりに同期して32ビット単位で供給される書込みデータが64ビット単位で書込まれる。ライト動作にはCASレイテンシーの設定はなく、ライトデータの取り込は、当該CAWコマンドサイクルからクロック信号CLKの1サイクル遅れてデータストローブ信号DQSに同期して開始される。   The CAW command is a command for giving a write address for a write operation, and the column address signal fetched thereby is used as the write start address of the activated memory bank. The address includes the rising edge of the input signal DQS and the address. Write data supplied in units of 32 bits in synchronization with the falling edge is written in units of 64 bits. There is no CAS latency setting in the write operation, and writing of the write data is started in synchronization with the data strobe signal DQS with a delay of one cycle of the clock signal CLK from the CAW command cycle.

DDR−SDRAM61においては、一つのメモリバンクでバースト動作が行われているとき、その途中で別のメモリバンクを指定して、ロウアドレスストローブ・バンクアクティブコマンドが供給されると、当該実行中の一方のメモリバンクでの動作に何等影響を与えることなく、当該別のメモリバンクにおけるロウアドレス系の動作が可能にされる。即ち、バンクアクティブコマンドなどによって指定されるロウアドレス系動作とカラムアドレス・ライトコマンドなどによって指定されるカラムアドレス系動作とは、相違するメモリバンク間で並列可能になっている。したがって、データ入出力端子DQ0〜DQ31においてデータが衝突しない限り、処理が終了していないコマンドの実行中に、当該実行中のコマンドが処理対象とするメモリバンクとは異なるメモリバンクに対するプリチャージやRASBAコマンドなどを発行して、内部動作を予め開始させることが可能である。DDR−SDRAM61は、クロック信号CLKに同期するデータストローブ信号DQSの立ち上がり及び立ち下がりの両エッジに同期したデータ入出力が可能にされ、クロック信号CLKに同期してアドレス、制御信号を入出力できるため、DRAMと同様の大容量メモリをSRAMに匹敵する高速で動作させることが可能であり、また、選択された1本のワード線に対して幾つのデータをアクセスするかをバーストレングスによって指定することによって、内蔵カラムアドレスカウンタ10で順次カラム系の選択状態を切換えていって複数個のデータを連続的にリード又はライトすることもできる。   In the DDR-SDRAM 61, when a burst operation is performed in one memory bank, if another memory bank is specified in the middle of the burst operation and a row address strobe / bank active command is supplied, The operation of the row address system in the other memory bank is made possible without affecting the operation in the other memory bank. That is, a row address system operation specified by a bank active command or the like and a column address system operation specified by a column address / write command or the like can be performed in parallel between different memory banks. Therefore, as long as data does not collide at the data input / output terminals DQ0 to DQ31, during execution of a command that has not been processed, precharging or RASBA for a memory bank different from the memory bank to be processed by the command being executed is performed. It is possible to issue internal commands in advance by issuing commands or the like. The DDR-SDRAM 61 can input / output data synchronized with both rising and falling edges of the data strobe signal DQS synchronized with the clock signal CLK, and can input / output addresses and control signals in synchronization with the clock signal CLK. A large-capacity memory similar to a DRAM can be operated at a high speed comparable to that of an SRAM, and the number of data to be accessed for one selected word line is specified by a burst length. Thus, it is possible to sequentially read or write a plurality of data by sequentially switching the column system selection state by the built-in column address counter 10.

《DDR−SDRAMコントローラ》
図3にはDDR−SDRAMコントローラ10のブロック図が示される。DDR−SDRAMコントローラ10は、スーパハイウェイバスインタフェース(SHBIF)80、3Dバスインタフェース(3DBIF)81、グラフィックバスインタフェース(GFBIF)82、バスアービタ(BARBT)83、及びDDRコントローラ(DDRCNT)84を有する。
<< DDR-SDRAM controller >>
FIG. 3 shows a block diagram of the DDR-SDRAM controller 10. The DDR-SDRAM controller 10 includes a super highway bus interface (SHBIF) 80, a 3D bus interface (3DBIF) 81, a graphic bus interface (GFBIF) 82, a bus arbiter (BARBT) 83, and a DDR controller (DDRCNT) 84.

前記SHBインタフェース80にはSHB4が接続され、3DBインタフェース81に3DB24が接続され、GFBインタフェース82にはGFB20が接続される。GFB20は128ビット乃至32ビットのモジュール間専用バスとして構成される。前記インタフェース80〜83はマスタポートとスレーブポートを有し、スプリットトランザクションバスのバストランザクションを実行する。バスアービタ83は前記インタフェース80〜82を介する回路モジュールとDDRコントローラ(DDRCNT))84との間のデータ転送若しくはパケット転送を調停する。   The SHB interface 80 is connected to the SHB 4, the 3DB interface 81 is connected to the 3DB 24, and the GFB interface 82 is connected to the GFB 20. The GFB 20 is configured as a 128-bit to 32-bit inter-module dedicated bus. The interfaces 80 to 83 have a master port and a slave port, and execute a bus transaction of a split transaction bus. The bus arbiter 83 arbitrates data transfer or packet transfer between the circuit module and the DDR controller (DDRCNT) 84 via the interfaces 80 to 82.

DDRコントローラ84はバスアービタで調停されたアクセス要求を満足するように、DDR−SDRAM61に対するクロック同期のコマンド発行及びデータ入出力動作を制御する。その基本的な制御は図2に基づいて説明したDDR−SDRAM61のバーストリード動作やライト動作に対する一般的なDDR−SDRAMのアクセス制御であり、その制御ロジックはDDRアクセス制御部(ASCNT)85が備える。DDRコントローラ84にとって特徴的な構成は、DDR−SDRAM61の4個のメモリバンクBNK0〜BNK3に各々対応する記憶領域としてのバンクキャッシュCACHB0〜CACHB3を有することである。前記バンクキャッシュCACHB0〜CACHB3は対応するバンクのアドレスを連想キーとして当該バンクの一部のデータを記憶可能である。バンクキャッシュCACHB0〜CACHB3に対する制御ロジックはキャッシュ制御部(CHCNT)86が備える。その他にDDRコントローラ84はリードデータの出力制御部(DOCNT)87、バンクキャッシュCACHB0〜CACHB3のデータとDDR−SDRAMからのデータを選択するセレクタ(DSEL)88を有する。バンクキャッシュCACHB0〜CACHB3のうちの何れか一つ又はそれらを総称してバンクキャッシュCACHBとも記す。   The DDR controller 84 controls the clock synchronization command issuance and the data input / output operation for the DDR-SDRAM 61 so as to satisfy the access request arbitrated by the bus arbiter. The basic control is general DDR-SDRAM access control for the burst read operation and write operation of the DDR-SDRAM 61 described with reference to FIG. 2, and the control logic thereof is provided in the DDR access control unit (ASCNT) 85. . A characteristic configuration for the DDR controller 84 is that it has bank caches CACHB0 to CACHB3 as storage areas respectively corresponding to the four memory banks BNK0 to BNK3 of the DDR-SDRAM 61. The bank caches CACHB0 to CACHB3 can store a part of data of the bank using the corresponding bank address as an associative key. The control logic for the bank caches CACHB0 to CACHB3 is provided in the cache control unit (CHCNT) 86. In addition, the DDR controller 84 includes a read data output control unit (DOCNT) 87 and a selector (DSEL) 88 for selecting data in the bank caches CACHB0 to CACHB3 and data from the DDR-SDRAM. Any one of the bank caches CACHB0 to CACHB3 or these are collectively referred to as a bank cache CACHB.

バンクキャッシュCACHB0〜CACHB3の各々は記憶領域として図4に例示されるアドレス部ADR,Vとデータ部DATを有する。データ部DATはDDR−SDRAMのクロックDQSの1サイクルでアクセス可能なデータサイズの記憶領域とされる。具体的には64ビットとされる。アドレス部ADRにはDDRE−SDRAMのメモリバンクに対して一つのロウアドレス及び2個のカラムアドレスで指定される範囲を定義するアドレス、即ちロウアドレス及びから最下位ビットを除くカラムアドレスが格納される。アドレス部Vには当該バンクキャッシュの有効性を示すバリッドビットが格納される。各々のバンクキャッシュCACHB0〜CACHB3は1個のキャッシュエントリを保有する事ができる。前記バンクキャッシュCACHB0〜CACHB3はSRAM(スタティック・ランダム・アクセス・メモリ)やレジスタ等で構成される。   Each of the bank caches CACHB0 to CACHB3 has an address part ADR, V and a data part DAT illustrated in FIG. 4 as storage areas. The data part DAT is a storage area having a data size accessible in one cycle of the clock DQS of the DDR-SDRAM. Specifically, it is 64 bits. The address portion ADR stores an address defining a range specified by one row address and two column addresses for the DDRE-SDRAM memory bank, that is, a row address and a column address excluding the least significant bit from the row address. . The address part V stores a valid bit indicating the validity of the bank cache. Each of the bank caches CACHB0 to CACHB3 can hold one cache entry. The bank caches CACHB0 to CACHB3 are composed of SRAM (Static Random Access Memory), registers and the like.

《バンクキャッシュ》
キャッシュ制御部(CHCNT)86によるバンクキャッシュに対する制御形態を説明する。バスアービタ83で調停されて供給されるアクセス要求には、アクセス要求基におけるトランザクションID、アクセス要求が転送されたバスを特定するバスID、アクセスの種別を示すアクセスコマンド、アクセスアドレス、バースト長、書込みアクセスの場合には書込みデータを含む。
《Bank Cash》
A control mode for the bank cache by the cache control unit (CHCNT) 86 will be described. The access request that is arbitrated and supplied by the bus arbiter 83 includes a transaction ID in the access request base, a bus ID that identifies the bus to which the access request is transferred, an access command that indicates the type of access, an access address, a burst length, and a write access In the case of, write data is included.

キャッシュ制御部86は、アクセスアドレスがCPUキャッシュメモリ13(CACH)のキャッシュ非対象領域であるときバンクキャッシュCACHBを動作可能にする。アクセスアドレスがCPUキャッシュ対象領域であるときはバンクキャッシュCACHBを動作させない。これにより、頻繁に繰り返しアクセスされず、前記CPUキャッシュメモリ13(CACH)のキャッシュの対象とすればキャッシュミスペナルティーによる大きな負担が強いられるような、CPUキャッシュメモリ13(CACH)によるキャッシュの対象とされ難いようなデータやプログラムに対して、バススループット若しくはデータスループットを向上させることができる。さらにCPUキャッシュメモリ13(CACH)とバンクキャッシュCACHBの双方でキャッシュ対象にする場合、記憶情報のコヒーレンシを保つ為の複雑な制御も必要ない。   The cache control unit 86 enables the bank cache CACHB when the access address is a non-cache target area of the CPU cache memory 13 (CACH). When the access address is the CPU cache target area, the bank cache CACHB is not operated. As a result, the CPU cache memory 13 (CACH) is not frequently accessed repeatedly, and if the CPU cache memory 13 (CACH) is cached, a large burden is imposed by the cache miss penalty. The bus throughput or data throughput can be improved for difficult data and programs. Further, when both the CPU cache memory 13 (CACH) and the bank cache CACHB are to be cached, complicated control for maintaining coherency of stored information is not necessary.

また、キャッシュ制御部86は、アクセス要求に対してバンクキャッシュCACHBを動作可能にするバスを限定する。例えばSHB4からのアクセス要求に対してだけバンクキャッシュCACHB0〜CACHB3を動作可能にする。例えばDGFC7や2DGFC30等のグラフィックモジュールによるアクセスでは同一ラスタ上で連続アドレスに配置されたデータを大きなバースト数をもって連続リードするのが効率的であり、それによる一連のアクセスデータサイズがバンクキャッシュCACHBの記憶容量を超えることになるから、そのようなバスに関してはキャッシュ非対象にするのがよく、また、スタック領域に対する退避や復帰のためのデータサイズは16ビットや32ビットのようにCPU11などのデータ処理単位に整合するのでそれらデータの転送用途とされるSHB4バスに関してはキャッシュ対象にするのがよいからである。   In addition, the cache control unit 86 limits the buses that can operate the bank cache CACHB in response to an access request. For example, the bank caches CACHB0 to CACHB3 are made operable only in response to an access request from SHB4. For example, in accessing by a graphic module such as DGFC7 or 2DGFC30, it is efficient to continuously read data arranged at consecutive addresses on the same raster with a large number of bursts, and a series of access data sizes thereby stored in the bank cache CACHB. Since it will exceed the capacity, it is better not to cache such a bus, and the data size for saving and restoring to the stack area is 16 bits or 32 bits. This is because the SHB4 bus, which is used for transferring these data, should be cached because it matches the unit.

また、キャッシュ制御部86は、前記DDR−SDRAM61に対する1回のリードアクセス指示によるバーストアクセスによる全アクセスデータサイズが一つのバンクキャッシュCACHBのサイズを超えるリードアクセス指示に対してはバンクキャッシュCACHB0〜CACHB3を動作させない。要するに、DDR−SDRAM61に対する1回のリードアクセスコマンドによるアクセスがバースト数2でなければバンクキャッシュCACHB0〜CACHB3を動作させない。同一メモリバンクからのバーストリードデータ長さが一つのバンクキャッシュCACHBのデータ部DATの記憶容量を超えるようなアクセスに対する複雑な制御を行なわずに済む。   Further, the cache control unit 86 uses the bank caches CACHB0 to CACHB3 in response to a read access instruction in which the total access data size by burst access by one read access instruction to the DDR-SDRAM 61 exceeds the size of one bank cache CACHB. Do not operate. In short, the bank caches CACHB <b> 0 to CACHB <b> 3 are not operated unless an access by one read access command to the DDR-SDRAM 61 is the burst number 2. It is not necessary to perform complicated control for access in which the burst read data length from the same memory bank exceeds the storage capacity of the data part DAT of one bank cache CACHB.

キャッシュ制御部86はバンクキャッシュCACHB0〜CACHB3を動作可能とするとき、アクセスアドレスに対応するバンクキャッシュCACHB0〜CACHB3を参照し、そのアドレス部ADRのアドレスがアクセスアドレスに対応するか、アドレス部Vのバリッドビットが有効かを判定し、アドレスが対応し、バリッドビットが有効であるときキャッシュヒットと判別する。そうでなければキャッシュミスである。   When the cache control unit 86 enables the bank caches CACHB0 to CACHB3, the cache control unit 86 refers to the bank caches CACHB0 to CACHB3 corresponding to the access address, and whether the address of the address unit ADR corresponds to the access address or the valid of the address unit V It is determined whether the bit is valid. When the address corresponds and the valid bit is valid, the cache hit is determined. Otherwise, it is a cache miss.

リード動作では、キャッシュヒットであれば、メモリ制御部85にはDDR−SDRAM61へのメモリリードコマンドの発行を抑制させ、対応する一つのバンクキャッシュCACHBのデータ部DATのデータを読み出し、これをセレクタ88に選択させる。DDRコントローラ84から出力されたリードデータはアクセス要求元に繋がるSHBIF80などを介して応答パケットとしてバスアクセス要求元に返される。キャッシュヒットであれば、DDR−SDRAMに対するメモリアクセスを行わずに済むから、これによってMRB25のバススループット向上に寄与し、リードアクセスのデータスループットが向上する。   In a read operation, if it is a cache hit, the memory control unit 85 suppresses the issuance of a memory read command to the DDR-SDRAM 61, reads the data in the data part DAT of the corresponding one bank cache CACHB, and selects it as a selector 88. To select. The read data output from the DDR controller 84 is returned to the bus access request source as a response packet via the SHBIF 80 connected to the access request source. If it is a cache hit, it is not necessary to perform memory access to the DDR-SDRAM. This contributes to improving the bus throughput of the MRB 25 and improves the data throughput of read access.

リード動作において、キャッシュミスの場合には、メモリ制御部85はミスに係るアクセスアドレスによってDDR−SDRAM61をリードアクセスし、リードアクセスしたデータをアクセス要求元に繋がるSHBIF80などを介して応答パケットとしてバスアクセス要求元に返し、また、そのリードデータをメモリバンクに対応するバンクキャッシュCACHBのデータ部に格納し、対応するアドレス部ADRのアドレスを当該アクセスアドレスに更新し、対応するアドレス部Vのバリッドビットを有効を示す値にセットする。   In a read operation, in the case of a cache miss, the memory control unit 85 performs read access to the DDR-SDRAM 61 using the access address related to the miss, and performs bus access as a response packet via the SHBIF 80 that connects the read access data to the access request source. The read data is returned to the request source, the read data is stored in the data part of the bank cache CACHB corresponding to the memory bank, the address of the corresponding address part ADR is updated to the access address, and the valid bit of the corresponding address part V is set. Set to a value indicating validity.

ライト動作で、キャッシュヒットの場合、メモリ制御部85は、ヒットに係る一つのバンクキャッシュCACHBのデータを無効化する。即ち、対応するバンクキャッシュCACHBのアドレス部Vのバリッドビットを無効を示す値に変更する。これと共に、ヒットに係るライトデータのライトコマンドをDDR−SDRAM61に発行する。ライト動作でキャッシュミスの場合には、ミスに係るライトデータのライトコマンドをDDR−SDRAM61に発行する。これにより、バンクキャッシュCACHB0〜CACHB3とDDR−SDRAM61との間のコヒーレンシを維持するための複雑な制御が必要なくなる。DDRコントローラ10は複数のバスに接続されて複数の回路モジュールからのアクセス要求に応答してDDR−SDRAM61をアクセス制御し、どのバスからのアクセス要求に対しても全てバンクキャッシュCACHB0〜CACHB3の対象にされるとは限らず、その場合にはバンクキャッシュCACHB0〜CACHB3とDDR−SDRAM61との間のコヒーレンシを維持する場合には複雑な制御が必要になるからである。   In the case of a cache hit in a write operation, the memory control unit 85 invalidates data in one bank cache CACHB related to the hit. That is, the valid bit of the address part V of the corresponding bank cache CACHB is changed to a value indicating invalidity. At the same time, a write command for write data related to the hit is issued to the DDR-SDRAM 61. In the case of a cache miss in the write operation, a write command of write data related to the miss is issued to the DDR-SDRAM 61. This eliminates the need for complicated control for maintaining coherency between the bank caches CACHB0 to CACHB3 and the DDR-SDRAM 61. The DDR controller 10 is connected to a plurality of buses and controls access to the DDR-SDRAM 61 in response to access requests from a plurality of circuit modules. All access requests from any bus are targeted for the bank caches CACHB0 to CACHB3. In this case, complicated control is required to maintain coherency between the bank caches CACHB0 to CACHB3 and the DDR-SDRAM 61.

図5にはDDRコントローラ10による前記バンクキャッシュCACHB0〜CACHB3のヒットとミス時の制御処理フローが例示される。前述の如く、アクセスリクエストがあると、リードアクセスか否かを判定し(S1)、リードの場合にバンクキャッシュヒットであれば(S2のT)、ヒットに係るデータを出力させるが(S3)、キャッシュミスであれば(S2のF)、DDR−SDRAMに対するメモリリードを行い(S4)、ミスに係るバンクキャッシュを更新する(S5)。ライトの場合に(S1のF)、バンクキャッシュヒットであれば(S7のT)、ヒットに係るバンクキャッシュを無効化して(S8)、DDR−SDRAMに対するメモリライトを行い(S9)、キャッシュミス(S7のF)のときはDDR−SDRAM61に対するメモリライトに移行する(S9)。   FIG. 5 illustrates a control processing flow when the DDR controller 10 hits and misses the bank caches CACHB0 to CACHB3. As described above, when there is an access request, it is determined whether or not it is a read access (S1). If it is a bank cache hit in the case of reading (T in S2), the data related to the hit is output (S3). If it is a cache miss (F in S2), a memory read is performed on the DDR-SDRAM (S4), and the bank cache related to the miss is updated (S5). In the case of a write (F in S1), if it is a bank cache hit (T in S7), the bank cache related to the hit is invalidated (S8), a memory write to the DDR-SDRAM is performed (S9), and a cache miss ( In the case of F) of S7, the process shifts to memory write to the DDR-SDRAM 61 (S9).

図6にはDDR−SDRAM61の代表的なアクセスタイミングが示される。クロックサイクルC1,C2,C3毎にアドレスを指定したバースト長2のリードコマンドが発行されている。コマンド発行後、DDR−SDRAMの内部動作が確定するタイミングを待って、クロックサイクルC5,C6,C7でリードデータがクロックの半サイクル毎に32ビット単位で出力される。   FIG. 6 shows a typical access timing of the DDR-SDRAM 61. A burst length 2 read command is issued with an address specified for each clock cycle C1, C2, C3. After issuing the command, the read data is output in units of 32 bits every half cycle of the clock in clock cycles C5, C6 and C7 after waiting for the timing when the internal operation of the DDR-SDRAM is determined.

図7にはSHB4からアクセスデータサイズ16ビットのリードアクセスが連続アドレス対して3回要求されときのタイミングチャートが示される。16ビット単位のデータの連続アドレスは64ビット単位ではその上位の共通アドレスとされる。図7ではそのような共通アドレスをA0として示している。例えばSHB4のCPU11からアクセスアドレスA0のリードアクセス要求がクロックサイクルC1,C2,C3の3回連続して供給されると、DDRコントローラ10はバンクキャッシュのヒット又はミスを判定し、最初のアクセス要求であるからバンクキャッシュミスとされ、DDR−SDRAM61に対してクロックサイクルC2でアクセスアドレスA0のリードアクセスコマンドを発行する。コマンド発行後、DDR−SDRAM61の内部動作が確定するタイミングを待って、DDR−SDRAM61からクロックサイクルC6に同期してリードデータD0、D01がクロックの半サイクル毎に32ビット単位で出力される。C2、C3の要求は、DDR−SDRAMコントローラ10内蔵のバンクキャッシュCACHB0〜CACHB3にヒットするため、DDR−SDRAM61に対するメモリアクセスコマンドは発行されず、CPU11へのアクセスレスポンスとされるリードデータは、夫々バンクキャッシュCACHBが保持するデータD00,D01から切出された連続アドレスの16ビットデータとされる。図ではクロックサイクルC7、C8,C9で返されるレスポンスデータは便宜上D00,D01というようにバンクキャッシュヒットに係る全部のデータを示している。これによりMRB25のスループットが向上する。   FIG. 7 shows a timing chart when a read access having a 16-bit access data size is requested three times for a continuous address from SHB4. The continuous address of 16-bit unit data is the upper common address in 64-bit units. FIG. 7 shows such a common address as A0. For example, when the read access request for the access address A0 is supplied from the CPU 11 of the SHB 4 three times continuously in the clock cycles C1, C2, and C3, the DDR controller 10 determines the hit or miss of the bank cache, and the first access request Since there is a bank cache miss, a read access command of access address A0 is issued to DDR-SDRAM 61 at clock cycle C2. After issuing the command, the DDR-SDRAM 61 waits for the timing when the internal operation of the DDR-SDRAM 61 is determined, and the read data D0 and D01 are output from the DDR-SDRAM 61 in units of 32 bits every half cycle of the clock in synchronization with the clock cycle C6. Since the requests of C2 and C3 hit the bank caches CACHB0 to CACHB3 built in the DDR-SDRAM controller 10, the memory access command for the DDR-SDRAM 61 is not issued, and the read data used as the access response to the CPU 11 is the bank. It is 16-bit data of continuous addresses extracted from the data D00 and D01 held in the cache CACHB. In the figure, the response data returned in clock cycles C7, C8, and C9 indicate all data related to bank cache hits such as D00 and D01 for convenience. This improves the throughput of the MRB 25.

図8には図7と同じアクセス要求に対してバンクキャッシュを用いないで動作させたときのタイミングチャートが示される。CPUからクロックサイクルC1、C2、C3で発行されたアクセス要求に応ずるアクセスコマンドが直接DDR−SDRAM61に対してクロックサイクルC2、C3、C4で発行され、クロックサイクルC7、C8、C9のサイクルでCPU11に転送されます。図7に比べてMRB25を占有する時間が長くなり、バススループットが低くなっている。   FIG. 8 shows a timing chart when the same access request as in FIG. 7 is operated without using a bank cache. An access command corresponding to the access request issued in the clock cycles C1, C2, and C3 from the CPU is directly issued to the DDR-SDRAM 61 in the clock cycles C2, C3, and C4, and is sent to the CPU 11 in the cycles of the clock cycles C7, C8, and C9. Will be transferred. Compared to FIG. 7, the time for occupying the MRB 25 is longer and the bus throughput is lower.

図9にはSHB4からのバーストリードとシングルリードのアクセス要求に対して、DDR−SDRAMコントローラ10がバンクキャッシュヒットのデータをリオーダリングしてアクセス要求元に返す動作のタイミングが示される。クロックサイクルC0においてCPU11から発行されるアクセス要求は、先頭アドレスB0とするバースト数4のリードアクセスとされる。次いでサイクルC2,C3ではCPU11からアドレスS1,S2のシングルリードのアクセス要求が発行される。DDR−SDRAMコントローラ10はそのバーストリードアクセス要求に対しては、そのバースト数より全体のアクセスデータサイズがバンクキャッシュの記憶容量を超えるのでバンクキャッシュに対象とせず、クロックサイクルC2から順次アドレスB00,B01,B02,B03とするリードコマンド(バースト数2)をSDRAM61に発行する。このリードコマンドに応答するSDRAM61はクロックサイクルC6から順次クロックの半サイクル毎に32ビット単位でリードデータD00,D01,D03,D04,D05,D05,D06,D07を出力することになる。ここでは前記アドレスS1に対するシングルリードはバンクキャッシュにヒットする。したがって、DDR−SDSRAMコントローラ10は当該シングルリードに対してDDR−SDRAM61のアクセスコマンドを発行せず、バンクキャッシュからヒットに係るデータD10,D11を取得する。この取得タイミングはSDRAM61からのリードデータD00,D01をCPUに返すことができるタイミングよりも早いので、当該バンクキャッシュヒットに係るデータD00,D01をクロックサイクルC6で先にCPU11に返す。前記アドレスS2に対するシングルリードはバンクキャッシュミスとされるので、クロックサイクルC6ではアドレスS2に対するリードコマンド(バースト数2)がSDRAM61に発行される。このリードコマンドに応答するSDRAM61からのデータD20,D21の出力はクロックサイクルC10に同期される。DDR−SDRAMコントローラ10はクロックサイクルC7以降、順次SDRAM61からのリードデータD00,D01,D02,D03,D04,D05,D06,D07,D20,D21をCPU11に返す。   FIG. 9 shows the timing of the operation in which the DDR-SDRAM controller 10 reorders the bank cache hit data and returns it to the access request source in response to the burst read and single read access requests from the SHB 4. An access request issued from the CPU 11 in the clock cycle C0 is a read access with a burst number of 4 with the head address B0. Next, in cycles C2 and C3, the CPU 11 issues a single read access request with addresses S1 and S2. In response to the burst read access request, the DDR-SDRAM controller 10 does not target the bank cache because the entire access data size exceeds the storage capacity of the bank cache, and addresses B00 and B01 sequentially from the clock cycle C2. , B02, B03 are issued to the SDRAM 61 as a read command (burst number 2). The SDRAM 61 responding to this read command outputs the read data D00, D01, D03, D04, D05, D05, D06, D07 in units of 32 bits every half cycle of the clock sequentially from the clock cycle C6. Here, the single read for the address S1 hits the bank cache. Therefore, the DDR-SSDRAM controller 10 does not issue the access command of the DDR-SDRAM 61 for the single read, and acquires the data D10 and D11 related to the hit from the bank cache. Since this acquisition timing is earlier than the timing at which the read data D00, D01 from the SDRAM 61 can be returned to the CPU, the data D00, D01 related to the bank cache hit is first returned to the CPU 11 in the clock cycle C6. Since a single read for the address S2 is a bank cache miss, a read command (burst number 2) for the address S2 is issued to the SDRAM 61 in the clock cycle C6. The outputs of the data D20 and D21 from the SDRAM 61 in response to this read command are synchronized with the clock cycle C10. The DDR-SDRAM controller 10 sequentially returns the read data D00, D01, D02, D03, D04, D05, D06, D07, D20, D21 from the SDRAM 61 to the CPU 11 after the clock cycle C7.

このように図9では、DDR−SDRAM61のリードレーテンシのサイクル中に、バンクキャッシュヒットにされるシングルリードS1のアクセス要求に対するリードデータD10,D11をアクセス要求元のCPU11に返すことが可能なため、CPU11アクセスに対するバススループットの向上、そしてDDR−SDRAM61のバスのバススループットが向上する。   As described above, in FIG. 9, during the read latency cycle of the DDR-SDRAM 61, the read data D10 and D11 corresponding to the access request of the single read S1 that is a bank cache hit can be returned to the access request source CPU 11. The bus throughput for the CPU 11 access is improved, and the bus throughput of the DDR-SDRAM 61 is improved.

特に、その場合に、スーパーハイウェイバス4はスプリットトランザクション型であるため、リードデータのリオーダリングに対応しているため、SHBインタフェース80はC6のサイクルでS1のアクセス要求に係る応答データD10,D11を先のB0に係るアクセス要求に対する応答に先立って転送することが可能である。   In particular, in this case, since the super highway bus 4 is a split transaction type and supports reordering of read data, the SHB interface 80 sends response data D10 and D11 related to the access request of S1 in the cycle of C6. It is possible to transfer the response prior to the response to the access request related to B0.

スプリットトランザクション型のバスでは、アクセス要求回路からのリクエストパケットをアクセス応答回路が受取り、その要求に応答するレスポンスパケットをアクセス要求回路に返すようになっており、リクエストパケットとレスポンスパケットを含んで構成される一連の処理(トランザクション)はアクセス要求回路に固有のトランザクションIDによってその他のトランザクションから識別可能にされる。DDR−SDRAMコントローラ10は、前記回路モジュールから前記外付けメモリへの連続する複数のリードアクセスの指示に応答する複数のリードデータを前記バスに返すとき、前記回路モジュールからのリードアクセスの指示順に対してリードアクセス要求元へのリードデータの出力順を変更するリオーダリングが可能である。これは、一つのトランザクションはそれに固有のトランザクションIDによってその他のトランザクションか識別できることによって可能になる。   In a split transaction type bus, an access response circuit receives a request packet from an access request circuit and returns a response packet in response to the request to the access request circuit, and includes a request packet and a response packet. A series of processes (transactions) can be identified from other transactions by a transaction ID unique to the access request circuit. When the DDR-SDRAM controller 10 returns a plurality of read data in response to a plurality of continuous read access instructions from the circuit module to the external memory to the bus, the DDR-SDRAM controller 10 corresponds to the read access instruction order from the circuit module. Thus, reordering that changes the output order of read data to the read access request source is possible. This is possible because a transaction can be identified as another transaction by its unique transaction ID.

アクセス要求順に応答を返さなければならないとすると、要するに上記リオーダリングを行なわないなら、バンクキャッシュCACHBにヒットしたアクセス要求の応答データは、バンクキャッシュCACHBにミスする先のアクセス要求の応答データよりも早く取得できるが、前者の応答をアクセス要求元に返すのに後者の応答が有るまでまたなけれならず、結果として、システムのデータスループットを悪化させる。前記回路モジュールからのリードアクセスの指示順に対して、バンクキャッシュヒットに係るバンクキャッシュCACHBからのリードデータを、バンクキャッシュミスに係るDDR−SDRAM61からのリードデータよりも先行させてリードアクセス要求元へのデータとして出力することができる。アクセス要求に対する応答を受取るのに余計に待つことを要しない。   If the responses must be returned in the order of access requests, if the reordering is not performed, the response data of the access request that hits the bank cache CACHB is earlier than the response data of the access request that misses the bank cache CACHB. Although it can be acquired, the former response must be returned to the access request source until the latter response is received, and as a result, the data throughput of the system is deteriorated. Read data from the bank cache CACHB related to the bank cache hit is preceded by read data from the DDR-SDRAM 61 related to the bank cache miss with respect to the instruction order of the read access from the circuit module. Can be output as data. No extra waiting is required to receive a response to the access request.

図10には図9のS1に係るシングルリードもバンクキャッシュミスとされる場合の動作タイミングが示される。この場合は、CPU11からのアクセス要求をシーケンシャルに処理するため、CPU11に対する応答リードデータの転送もシーケンシャルになる。バンクキャッシュヒットも発生しないので、リオーダリングも生じない。   FIG. 10 shows the operation timing when the single read related to S1 in FIG. 9 is also a bank cache miss. In this case, since the access requests from the CPU 11 are processed sequentially, the transfer of response read data to the CPU 11 is also sequential. There is no bank cache hit, so no reordering occurs.

《アクセス要求のマージ》
次に、バンクキャッシュ非対象とされるグラフィックバス20からのアクセス要求に対するDDR−SDRAMコントローラ10による応答、特にアクセス要求のマージについて説明する。
《Merging access requests》
Next, a response by the DDR-SDRAM controller 10 to an access request from the graphic bus 20 which is not targeted for the bank cache, particularly merging of access requests will be described.

図11にグラフィックバス20の回路モジュール(単にグラフィックモジュールとも称する)からDDR−SDRAM61へのリードアクセスフローが示される。グラフィックモジュールからグラフィックバス20上にアドレスとバースト長が発行されると、DDRメモリバス25を介してDDR−SDRAM61でメモリリードアクセスが行われ、リードデータがグラフィックデータとしてグラフィックバス20上に返される。   FIG. 11 shows a read access flow from the circuit module (also simply referred to as a graphic module) of the graphic bus 20 to the DDR-SDRAM 61. When an address and a burst length are issued from the graphic module to the graphic bus 20, a memory read access is performed by the DDR-SDRAM 61 via the DDR memory bus 25, and the read data is returned as graphic data to the graphic bus 20.

図12にはグラフィックモジュールからDDR−SDRAM61へのリードアクセスの動作フローが示される。   FIG. 12 shows an operation flow of read access from the graphic module to the DDR-SDRAM 61.

グラフィックモジュールからDDR−SDRAM61へのリードアクセスは、
(1)グラフィックモジュールからDDR−SDRAMコントローラ10へのリードリクエストサイクル、
(2)DDR−SDRAMコントローラ10からDDR−SDRAM61にリードコマンドを発行するリードサイクル開始、
(3)DDR−SDRAM61がDDR−SDRAMコントローラ10にリードデータを出力してリードサイクルを終了するリードサイクル終了、
(4)DDR−SDRAMコントローラ10がグラフィックモジュールに対してメモリリードデータを返すリードレスポンスサイクル、の順に行われる。
Read access from the graphic module to the DDR-SDRAM 61 is as follows:
(1) Read request cycle from the graphic module to the DDR-SDRAM controller 10;
(2) Start of a read cycle for issuing a read command from the DDR-SDRAM controller 10 to the DDR-SDRAM 61;
(3) DDR-SDRAM 61 outputs read data to DDR-SDRAM controller 10 to end the read cycle,
(4) The read response cycle in which the DDR-SDRAM controller 10 returns memory read data to the graphic module is performed in this order.

図13乃至図15にはグラフィックモジュールからDDR−SDRAMへアクセスデータサイズ32ビットでバースト長8のリードアクセス要求を行った場合の動作タイミングが示される。図13及び図14はリードアクセス要求のマージを行わない場合を示し、図15にはリードアクセス要求のマージを行った場合を示す。   FIGS. 13 to 15 show the operation timing when a read access request with an access data size of 32 bits and a burst length of 8 is sent from the graphic module to the DDR-SDRAM. FIGS. 13 and 14 show the case where read access requests are not merged, and FIG. 15 shows the case where read access requests are merged.

図13において、グラフィックモジュールからグラフィックバス20を介してDDR−SDRAMコントローラ10に対し、C1サイクルにおいて、要求コマンド、アドレス、バースト長が発行される。DDR−SDRAMコントローラ10はDDRメモリバス25を介してDDR−SDRAM61に対し、C2からC9のサイクルにおいてリードコマンドを発行し、DDR−SDRAM61はC4からC11のサイクルにおいてクロック半サイクル毎に32ビット単位でリードデータを出力する。このときDDR−SDRAMコントローラ10は、DDR−SDRAM61にバースト長の回数(8回)だけリードコマンドを発行し、DDR−SDRAM61からバースト長の回数(8回)だけデータを受信する。つまり、32ビットのデータを8回リードするために、リードコマンドを8回発行する。これに応じて、DDRメモリバス25では、アドレスが連続する64ビットのデータが32ビットずつ2回に分けて1サイクル内で連続出力されるので、要求されているリードアクセスのようにアドレスが連続する32ビットデータを8回リードの場合、C4とC5のサイクル、C6とC7のサイクル、C8とC9のサイクル、C10とC11のサイクルで同じデータが出力される。しかしながら、この場合に1回のリードアクセスで有効とされるのは32ビットのみであるため、各サイクルで出力される前半または後半の32ビットデータが無効とされる。これは取りも直さず、前サイクルで出力され無効とされるデータと同データを再度次のサイクルで出力して有効にするのと同じことである。作図上、無効データは太線枠によって有効データと区別している。DDR−SDRAMコントローラ10は、そのようにして取得したデータをグラフィックバス20を介してC6からC13サイクルでグラフィックモジュールに返す。このレスポンスサイクルは、バースト長の回数に対応する8回で行われ、各回32ビットデータの転送とされる。   In FIG. 13, a request command, an address, and a burst length are issued from the graphic module to the DDR-SDRAM controller 10 via the graphic bus 20 in the C1 cycle. The DDR-SDRAM controller 10 issues a read command in the cycle C2 to C9 to the DDR-SDRAM 61 via the DDR memory bus 25, and the DDR-SDRAM 61 is in 32-bit units every half clock cycle in the cycle C4 to C11. Output read data. At this time, the DDR-SDRAM controller 10 issues a read command to the DDR-SDRAM 61 as many times as the burst length (eight times) and receives data from the DDR-SDRAM 61 as many times as the burst length (eight times). That is, in order to read 32-bit data 8 times, a read command is issued 8 times. Correspondingly, in the DDR memory bus 25, 64-bit data with consecutive addresses is output in 32 cycles at a time, and is continuously output within one cycle, so that the addresses are continuous like the requested read access. When 32-bit data is read eight times, the same data is output in the C4 and C5 cycles, the C6 and C7 cycles, the C8 and C9 cycles, and the C10 and C11 cycles. However, in this case, since only 32 bits are valid in one read access, the first-half or second-half 32-bit data output in each cycle is invalidated. This is the same as outputting the same data that is output and invalidated in the previous cycle and validated again in the next cycle. In drawing, invalid data is distinguished from valid data by a thick line frame. The DDR-SDRAM controller 10 returns the data thus obtained to the graphic module via the graphic bus 20 in the C6 to C13 cycle. This response cycle is performed 8 times corresponding to the number of burst lengths, and 32-bit data is transferred each time.

図14には図13に対して途中でDDR−SDRAM61に対するリフレッシュサイクルが発生する場合のタイミングチャーチが示される。図13と同様に、グラフィックモジュールからC1のサイクルにおいて、要求コマンド、アドレス、バースト長が発行された後、DDR−SDRAMコントローラ10はDDRメモリバス25を介してDDR−SDRAM61に対し、C2のサイクルからバースト長の回数(8回)だけリードコマンドを発行し、C4のサイクルからバースト長の回数(8回)だけデータを受信する。ここでは、リードコマンドを8回発行する途中のC3のサイクルでリフレッシュが発生する。そうすると、残りのリードコマンドの発行サイクルが例えばC10のサイクル以降に遅れる。また、DDR−SDRAM61はリフレッシュが終了してからデータを出力するため、リフレッシュコマンドの後に発行したリードコマンドに対応するデータ出力は、図13で示したリフレッシュが発生しない場合におけるC5からC11のサイクルよりも大分遅れることになる。よって、図12の場合よりグラフィックバス20のデータスループットは悪化することになり。   FIG. 14 shows a timing church when a refresh cycle for the DDR-SDRAM 61 occurs in the middle of FIG. Similarly to FIG. 13, after a request command, an address, and a burst length are issued from the graphic module in the C1 cycle, the DDR-SDRAM controller 10 sends the DDR-SDRAM 61 to the DDR-SDRAM 61 via the DDR memory bus 25 from the C2 cycle. A read command is issued as many times as the burst length (8 times), and data is received as many times as the burst length (8 times) from the cycle C4. Here, refresh occurs in the cycle C3 in the middle of issuing the read command eight times. Then, the remaining read command issuance cycles are delayed after the C10 cycle, for example. Further, since the DDR-SDRAM 61 outputs data after the refresh is completed, the data output corresponding to the read command issued after the refresh command is based on the cycle from C5 to C11 in the case where no refresh occurs as shown in FIG. Will be too late. Therefore, the data throughput of the graphic bus 20 is worse than in the case of FIG.

図15にはアクセス要求のマージを行ってリードコマンドを発行する場合のタイミングチャートを示す。グラフィックモジュールからは図13の場合と同様にグラフィックバス20を介してDDR−SDRAMコントローラ10に対し、要求コマンド、アドレス、バースト長が発行される。DDR−SDRAMコントローラ10は、DDRメモリバス25を介してDDR−SDRAM61に対してリードコマンドを発行し、これによってDDR−SDRAM61からデータが出力される。このときDDR−SDRAMコントローラ10は、図13及び図14で発生する無効データを有効に使用するため、リードコマンドを4回にまとめて発行する。つまり、グラフィックモジュールからのアドレスが連続する32ビットデータの8回リードというアクセス要求を、64ビットデータの4回リードという要求に変換してDDR−SDRAM61にリードコマンドを発行する。これにより、図13に比較して、DDRメモリバス25が当該リードアクセスに使用されない期間が増え、その期間を次のアクセスや、プリチャージ、リフレッシュ等に使用することが可能となる。また、1つのリクエストに対するDDRメモリバス25の使用サイクルが少ないため、図14の場合のようにメモリリードアクセスの途中でリフレッシュが発生する確率が少なくなる。これらの理由により、DDRメモリバス25のデータスループットが大幅に向上する。   FIG. 15 shows a timing chart when issuing a read command by merging access requests. A request command, an address, and a burst length are issued from the graphic module to the DDR-SDRAM controller 10 through the graphic bus 20 as in the case of FIG. The DDR-SDRAM controller 10 issues a read command to the DDR-SDRAM 61 via the DDR memory bus 25, whereby data is output from the DDR-SDRAM 61. At this time, the DDR-SDRAM controller 10 issues read commands in four batches in order to effectively use the invalid data generated in FIGS. 13 and 14. In other words, an access request for reading 8 times of 32-bit data with consecutive addresses from the graphic module is converted into a request for reading 4 times of 64-bit data, and a read command is issued to the DDR-SDRAM 61. As a result, the period during which the DDR memory bus 25 is not used for the read access is increased as compared with FIG. 13, and the period can be used for the next access, precharge, refresh, or the like. Further, since the use cycle of the DDR memory bus 25 with respect to one request is small, the probability that a refresh occurs during the memory read access as in the case of FIG. 14 is reduced. For these reasons, the data throughput of the DDR memory bus 25 is greatly improved.

上記アクセス要求をマージしてDDR−SDRAM61から出力されたリードデータは前記RDOCNT87に供給される。RDOCNT87に供給されたデータは、ASCNT85からの指示に従ってグラフィックモジュールから要求されたデータサイズに切出され、セレクタ88を介してGFBIF82に供給され、レスポンスパケットにてアクセス要求元のグラフィックモジュールに転送される。   Read data merged from the access requests and output from the DDR-SDRAM 61 is supplied to the RDOCNT 87. The data supplied to the RDOCNT 87 is cut out to the data size requested from the graphic module in accordance with an instruction from the ASCNT 85, supplied to the GFBIF 82 via the selector 88, and transferred to the access requesting graphic module via a response packet. .

上記アクセス要求のマージに関する説明では、32ビットデータの8回リードアクセスを例に挙げているが、この例に限らず、DDR−SDRAMコントローラ10に対するアクセス要求のデータビット数がデータバス25の幅より小さい場合には、同様にDDRメモリバス25のデータスループット向上が実現される。バースト長も当然別の値であってよい。   In the above description of access request merging, eight read accesses of 32-bit data are given as an example. However, the present invention is not limited to this example, and the number of data bits of an access request to the DDR-SDRAM controller 10 is greater than the width of the data bus 25. In the case where it is small, the data throughput of the DDR memory bus 25 is improved similarly. Naturally, the burst length may be another value.

次に、DDR−SDRAM61へのアクセスを要求するモジュールが複数である場合の動作を説明する。   Next, the operation when there are a plurality of modules that request access to the DDR-SDRAM 61 will be described.

図16には2個のグラフィックモジュールA、BからDDR−SDRAM61にリードアクセス要求があった場合の動作フローが示される。図16において、2個のグラフィックモジュールA、BからDDR−SDRAM61へのリードアクセスは、
(1)グラフィックモジュールAからDDR−SDRAMコントローラ10へのリードリクエスト(A)サイクル、
(2)DDR−SDRAMコントローラ10からDDR−SDRAM61に対して(1)に対応するリードコマンドを発行するリードサイクル(A)開始、
(3)DDR−SDRAM61がDDR−SDRAMコントローラ10に(2)に対応するデータを出力してリードサイクル(A)を終了するリードサイクル(A)終了、
(4)DDR−SDRAMコントローラ10がグラフィックモジュールAに対してメモリリードデータをレスポンスするリードレスポンス(A)サイクル、
(5)グラフィックモジュールBからDDR−SDRAMコントローラ10へのリードリクエスト(B)サイクル、
(6)DDR−SDRAMコントローラ10からDDR−SDRAM61に対して(5)に対応するリードコマンドを発行するリードサイクル(B)開始、
(7)DDR−SDRAM61がDDR−SDRAMコントローラ10に(6)に対応するデータを出力してリードサイクル(B)を終了するリードサイクル(B)終了、
(8)DDR−SDRAMコントローラ10がグラフィックモジュールBに対してメモリリードデータをレスポンスするリードレスポンス(B)サイクル、の順に行われる。(1)、(4)のサイクルはグラフィックモジュールAのグラフィックバス(A)を介し、(5)、(8)のサイクルはグラフィックモジュールBのグラフィックバス(B)を介して、異なるバスを使用するため、サイクル(1)から(4)とサイクル(5)は、逆順あるいは同時にも行われ得る。
FIG. 16 shows an operation flow when there is a read access request from the two graphic modules A and B to the DDR-SDRAM 61. In FIG. 16, the read access from the two graphic modules A and B to the DDR-SDRAM 61 is as follows.
(1) Read request (A) cycle from the graphic module A to the DDR-SDRAM controller 10;
(2) Start of a read cycle (A) for issuing a read command corresponding to (1) from the DDR-SDRAM controller 10 to the DDR-SDRAM 61;
(3) The DDR-SDRAM 61 outputs the data corresponding to (2) to the DDR-SDRAM controller 10 and ends the read cycle (A).
(4) Read response (A) cycle in which the DDR-SDRAM controller 10 responds to memory read data to the graphic module A,
(5) Read request (B) cycle from the graphic module B to the DDR-SDRAM controller 10;
(6) Start of a read cycle (B) for issuing a read command corresponding to (5) from the DDR-SDRAM controller 10 to the DDR-SDRAM 61;
(7) The DDR-SDRAM 61 outputs data corresponding to (6) to the DDR-SDRAM controller 10 and ends the read cycle (B).
(8) The read response (B) cycle in which the DDR-SDRAM controller 10 responds the memory read data to the graphic module B is performed in this order. The cycles (1) and (4) use a different bus through the graphic bus (A) of the graphic module A, and the cycles (5) and (8) use a different bus through the graphic bus (B) of the graphic module B. Therefore, cycles (1) to (4) and cycle (5) can be performed in reverse order or simultaneously.

図16ではグラフィックモジュールAからのアクセス要求に対する応答が完結する前に、グラフィックモジュールBからのアクセス要求が発生する。グラフィックバス(A)及びグラフィックバス(B)のバススループットはDDRメモリバス25のバススループットによって決まることになる。   In FIG. 16, the access request from the graphic module B is generated before the response to the access request from the graphic module A is completed. The bus throughput of the graphic bus (A) and the graphic bus (B) is determined by the bus throughput of the DDR memory bus 25.

図17にはメモリアクセスを要求するモジュールが複数あるときアクセス要求をマージしない場合の動作タイミングが例示される。   FIG. 17 illustrates the operation timing when access requests are not merged when there are a plurality of modules that request memory access.

グラフィックモジュールAとグラフィックモジュールBが、それぞれグラフィックバス(A)、グラフィックバス(B)を介してDDR−SDRAMコントローラ10に対し、C1のサイクルで、要求コマンド、アドレス、バースト長を発行する。このときのアクセスデータサイズは32ビットである。DDR−SDRAMコントローラ10は複数モジュールからのリクエストをバスアービタ83で調停する。ここえは、グラフィックモジュールA、グラフィックモジュールBの順にDDR−SDRAM61に対してアクセスリクエストを発行する。図17ではDDR―SDRAMコントローラ10は各アクセス要求についてバースト長の回数(8回)づつリードコマンドを発行し、バースト長の回数(8回)分だけリードデータを受信する。32ビットデータを8回リードするためには、リードコマンドを8回発行する必要があるからである。グラフィックモジュールAとグラフィックモジュールBのアクセス分を合わせると、C2からC17のサイクルで合計16回のリードコマンドを発行し、C4からC19のサイクルで16回リードデータを受信する。図13の場合と同様に、前サイクルで出力され無効とされるデータと同データを後から再度リードして有効にしている。DDR−SDRAMコントローラ10はこのように16回リードしたデータを、グラフィックバス(A)を介してグラフィックモジュールAに、グラフィックバス(B)を介しグラフィックモジュールBに返す。このレスポンス回数はバースト長の回数に一致される。   The graphic module A and the graphic module B issue a request command, an address, and a burst length in the cycle of C1 to the DDR-SDRAM controller 10 via the graphic bus (A) and the graphic bus (B), respectively. The access data size at this time is 32 bits. The DDR-SDRAM controller 10 arbitrates requests from a plurality of modules by the bus arbiter 83. Here, an access request is issued to the DDR-SDRAM 61 in the order of the graphic module A and the graphic module B. In FIG. 17, the DDR-SDRAM controller 10 issues a read command for each access request every number of burst lengths (8 times) and receives read data for the number of burst lengths (8 times). This is because it is necessary to issue a read command eight times in order to read 32-bit data eight times. When the accesses of the graphic module A and the graphic module B are combined, a total of 16 read commands are issued in the cycle from C2 to C17, and read data is received 16 times in the cycle from C4 to C19. Similar to the case of FIG. 13, the same data as the data output in the previous cycle and invalidated is read later and validated. The DDR-SDRAM controller 10 returns the data read 16 times in this way to the graphic module A via the graphic bus (A) and to the graphic module B via the graphic bus (B). The number of responses is equal to the number of burst lengths.

図18にはメモリアクセスを要求するモジュールが複数あるときアクセス要求をマージする場合の動作タイミングが例示される。   FIG. 18 illustrates the operation timing when merging access requests when there are a plurality of modules requesting memory access.

グラフィックモジュールAとグラフィックモジュールBが、それぞれグラフィックバス(A)、グラフィックバス(B)を介してDDR−SDRAM10コントローラ10に、C1のサイクルで、要求コマンド、アドレス、バースト長を発行する。このときのアクセスデータサイズは32ビットである。これに応答してDDR−SDRAMコントローラ10は、グラフィックモジュールAとグラフィックモジュールBからのアクセス要求を調停し、グラフィックモジュールA、グラフィックモジュールBの順にDDR−SDRAM61に対してアクセスリクエストを発行する。図18の場合には、DDR−SDRAMコントローラ10は、図17の無効データを有効活用するために、各グラフィックモジュールA,Bからのアドレスが連続する32ビットの8回リードというアクセス要求を64ビットの4回リードというアクセス要求にマージして、DDR−SDRAM61にはリードコマンドを4回ずつにまとめて発行する。これにより、グラフィックモジュールAとグラフィックモジュールBのアクセス分を合わせて、C2からC9のサイクルで8回分リードコマンドを発行すればよく、DDR−SDRAMコントローラ10はDDR−SDRAM61からサイクルC4〜C11で32ビット×2のリードデータを8回受取る。DDR−SDRAM61から受取ったデータには無効データはない。したがって、図17に比べてDDRメモリバス25のデータスループットが向上する。この後、DDR−SDRAMコントローラ10は、グラフィックバス(A)、グラフィックバス(B)を介し、グラフィックモジュールA、グラフィックモジュールBにリードデータを返す。このアクセスレスポンスはバースト長の回数(8回)行われる。グラフィックバス(A)、グラフィックバス(B)はグラフィックモジュールA、グラフィックモジュールBに対応して個別化されているため、グラフィックモジュールA、グラフィックモジュールBへのアクセスレスポンスを並行して行うことができる。これらにより、システム全体のデータスループットが向上する。   The graphic module A and the graphic module B issue a request command, an address, and a burst length in the cycle of C1 to the DDR-SDRAM 10 controller 10 via the graphic bus (A) and the graphic bus (B), respectively. The access data size at this time is 32 bits. In response to this, the DDR-SDRAM controller 10 arbitrates access requests from the graphic module A and the graphic module B, and issues an access request to the DDR-SDRAM 61 in the order of the graphic module A and the graphic module B. In the case of FIG. 18, the DDR-SDRAM controller 10 makes an access request of 8-bit read of 32 bits with consecutive addresses from the graphic modules A and B in order to effectively use the invalid data of FIG. In this way, the read command is collectively issued to the DDR-SDRAM 61 every four times. As a result, the access of the graphic module A and the graphic module B is combined and a read command is issued eight times in the cycle from C2 to C9. The DDR-SDRAM controller 10 receives 32 bits from the DDR-SDRAM 61 in cycles C4 to C11. Receive x2 read data 8 times. There is no invalid data in the data received from the DDR-SDRAM 61. Therefore, the data throughput of the DDR memory bus 25 is improved as compared with FIG. Thereafter, the DDR-SDRAM controller 10 returns read data to the graphic module A and the graphic module B via the graphic bus (A) and the graphic bus (B). This access response is performed the number of burst lengths (8 times). Since the graphic bus (A) and the graphic bus (B) are individualized corresponding to the graphic module A and the graphic module B, access responses to the graphic module A and the graphic module B can be performed in parallel. As a result, the data throughput of the entire system is improved.

図19にはグラフィックモジュールの動作周波数がDDR−SDRAM61の動作周波数より高い場合にアクセス要求をマージしない場合の動作タイミングが例示される。   FIG. 19 illustrates the operation timing when the access request is not merged when the operation frequency of the graphic module is higher than the operation frequency of the DDR-SDRAM 61.

ここではグラフィックモジュールの動作周波数はDDR−SDRAM61の動作周波数の2倍とされる。グラフィックモジュールがグラフィックバスを介してDDR−SDRAMコントローラ10に対し、C1サイクルで、要求コマンド、アドレス、バースト長を発行する。このときのアクセスデータサイズは32ビットである。DDR−SDRAMコントローラ10はDDRメモリバス25を介してDDR−SDRAM61に対し、C’1からC’8のサイクルにおいてバースト長の回数(8回)だけリードコマンドを発行し、C’3からC’10の8サイクルに亘って32ビット×2のデータを8回受信する。次にDDR−SDRAM10コントローラは、受信したデータを順にグラフィックバスを介してグラフィックモジュールに返すが、DDR−SDRAM10からの遅いデータ受信に律速され連続サイクルでリードデータを返すことができない。この場合にはグラフィックバスのデータスループットが大幅に悪化する。   Here, the operating frequency of the graphic module is set to twice the operating frequency of the DDR-SDRAM 61. The graphic module issues a request command, an address, and a burst length in the C1 cycle to the DDR-SDRAM controller 10 via the graphic bus. The access data size at this time is 32 bits. The DDR-SDRAM controller 10 issues a read command to the DDR-SDRAM 61 via the DDR memory bus 25 for the number of times of the burst length (8 times) in the cycle C′1 to C′8, and from C′3 to C ′. The data of 32 bits × 2 is received 8 times over 10 8 cycles. Next, the DDR-SDRAM 10 controller sequentially returns the received data to the graphic module via the graphic bus. However, the DDR-SDRAM 10 controller is limited by the slow data reception from the DDR-SDRAM 10 and cannot return read data in a continuous cycle. In this case, the data throughput of the graphic bus is greatly deteriorated.

図20にはグラフィックモジュールの動作周波数がDDR−SDRAM61の動作周波数より高い場合にアクセス要求をマージする場合の動作タイミングが例示される。   FIG. 20 illustrates an operation timing when merging access requests when the operating frequency of the graphic module is higher than the operating frequency of the DDR-SDRAM 61.

ここではグラフィックモジュールの動作周波数はDDR−SDRAM61の動作周波数の2倍とされる。グラフィックモジュールがグラフィックバスを介してDDR−SDRAMコントローラ10に対し、C1のサイクルで、要求コマンド、アドレス、バースト長を発行する。このときのアクセスデータサイズは32ビットである。DDR−SDRAMコントローラ10はDDRメモリバス25を介してDDR−SDRAM61にリードコマンドを発行するが、図18の場合とは異なり、32ビットの8回リードというアクセス要求を64ビットの4回リードというアクセス要求にマージし、C’1からC’4のサイクルで4回だけリードコマンドを発行する。これに応答してDDR−SDRAM61からC’3〜C’6の4サイクルで32ビット単位の全データが出力される。DDR−SDRAMコントローラ10は、グラフィックバスを介してグラフィックモジュールにそのリードデータを返すが、DDR−SDRAM61からのリードデータの受信タイミングに律速されることなく連続してリードデータの応答を返すことができ、グラフィックバスのデータスループットが向上する。したがって、DDRメモリバス25とグラフィックバスの両方のデータスループットが向上し、システム全体のデータスループットを大幅に向上させることができる。   Here, the operating frequency of the graphic module is set to twice the operating frequency of the DDR-SDRAM 61. The graphic module issues a request command, an address, and a burst length in the cycle of C1 to the DDR-SDRAM controller 10 via the graphic bus. The access data size at this time is 32 bits. The DDR-SDRAM controller 10 issues a read command to the DDR-SDRAM 61 via the DDR memory bus 25, but unlike the case of FIG. 18, an access request for 32-bit 8-times read is an access for 64-bit 4-times read. Merge to the request and issue a read command only four times in the cycle from C′1 to C′4. In response to this, the DDR-SDRAM 61 outputs all 32-bit unit data in four cycles C3 to C'6. The DDR-SDRAM controller 10 returns the read data to the graphic module via the graphic bus. However, the DDR-SDRAM controller 10 can continuously return the read data response without being limited by the reception timing of the read data from the DDR-SDRAM 61. The data throughput of the graphic bus is improved. Therefore, the data throughput of both the DDR memory bus 25 and the graphic bus is improved, and the data throughput of the entire system can be greatly improved.

特に図示はしないが、DDR−SDRAM61へのアクセスを要求するモジュールが複数あり、且つ、モジュールの動作周波数がDDR−SDRAMの動作周波数より高い場合にも、上記と同じようにモジュールからのアクセス要求をマージすることによってバス及びシステムのデータスループットを向上させることができる。   Although not specifically shown, when there are a plurality of modules that request access to the DDR-SDRAM 61 and the operating frequency of the module is higher than the operating frequency of the DDR-SDRAM, an access request from the module is issued in the same manner as described above. The data throughput of the bus and system can be improved by merging.

また、前記SHB4、グラフィックバス20などの各バスにはバス毎にバスIDが与えられているが、バンクキャッシュの有効又は無効をバスIDによって設定するようにしてもよい。そのような設定は、バンクキャッシュ制御部86のロジックで固定的に行ってもよいし、また、コントロールレジスタでプログラマブルに行うようにしてもよい。バンクキャッシュによるキャッシュの対象をバス単位で決めることがバンクキャッシュのヒット率向上に望ましいという場合に対処するのが容易になる。   Further, each bus such as the SHB 4 and the graphic bus 20 is given a bus ID for each bus, but the validity or invalidity of the bank cache may be set by the bus ID. Such a setting may be fixedly performed by the logic of the bank cache control unit 86, or may be performed programmable by a control register. This makes it easier to deal with the case where it is desirable to determine the bank cache target for each bus in order to improve the hit rate of the bank cache.

また、SHB4及びグラフィックバスは、パケット式のスプリットトランザクションバスを採用しており、アクセス要求時にアクセスサイズが決定している。アクセスサイズによってバンクキャッシュの有効または無効なアクセスサイズを設定するようにしてもよい。そのような設定は、バンクキャッシュ制御部86のロジックで固定的に行ってもよいし、また、コントロールレジスタでプログラマブルに行うようにしてもよい。バンクキャッシュによるキャッシュの対象をアクセスサイズで決めることがバンクキャッシュのヒット率向上に望ましいという場合に対処するのが容易になる。   The SHB 4 and the graphic bus employ a packet-type split transaction bus, and the access size is determined when an access request is made. A valid or invalid access size of the bank cache may be set depending on the access size. Such a setting may be fixedly performed by the logic of the bank cache control unit 86, or may be performed programmable by a control register. This makes it easier to deal with cases where it is desirable to improve the hit rate of the bank cache by determining the target of the bank cache by the access size.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、本発明の半導体装置はカーナビゲーション用の画像処理プロセッサに限定されず、プリンタ用或いは携帯端末用の画像処理プロセッサに、通信制御用プロセッサ、エンジン制御用プロセッサ、汎用マイクロコンピュータ等、種々のデータ処理用の半導体装置に広く適用することができる。バスのビット、バスのデータ転送プロトコル、バスの本数、内蔵回路モジュールの種類についても種々変更可能である。複数バンクを持つメモリはDDR−SDRAMに限定されず、SDR−SDRAM、DDR−SRAM、SDR−SRAMなど、その他のクロック同期型メモリであってよい。   For example, the semiconductor device of the present invention is not limited to an image processor for car navigation, but various data such as an image processor for a printer or a portable terminal, a communication control processor, an engine control processor, a general-purpose microcomputer, etc. The present invention can be widely applied to semiconductor devices for processing. Various changes can be made to the bus bits, the bus data transfer protocol, the number of buses, and the types of built-in circuit modules. The memory having a plurality of banks is not limited to the DDR-SDRAM, and may be other clock synchronous memories such as SDR-SDRAM, DDR-SRAM, and SDR-SRAM.

1 画像処理プロセッサ
2 プロセッサコア
3 クロック発生回路
4 スーパーハイウェイバス
5 バスブリッジ回路
7 3Dエンジン
10 DDR−SDRAMコントローラ
11 CPU
13(CACH) CPUキャッシュメモリユニット
20 グラフィックバス
24 3Dバス
25 DDRメモリバス
30 2Dエンジン
31 表示制御回路
61 DDR−SDRAM
BNK0〜BNK3 メモリバンク
80 スーパハイウェイバスインタフェース
81 3Dバスインタフェース
82 グラフィックバスインタフェース
83 バスアービタ
84 DDRコントローラ
85 DDRアクセス制御部
86 キャッシュ制御部
CACHB0〜CACHB3 バンクキャッシュ
DESCRIPTION OF SYMBOLS 1 Image processor 2 Processor core 3 Clock generation circuit 4 Super highway bus 5 Bus bridge circuit 7 3D engine 10 DDR-SDRAM controller 11 CPU
13 (CACH) CPU cache memory unit 20 Graphic bus 24 3D bus 25 DDR memory bus 30 2D engine 31 Display control circuit 61 DDR-SDRAM
BNK0 to BNK3 Memory bank 80 Super highway bus interface 81 3D bus interface 82 Graphic bus interface 83 Bus arbiter 84 DDR controller 85 DDR access control unit 86 Cache control unit CACHB0 to CACHB3 Bank cache

Claims (2)

複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続されたバスと、前記バスに対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備え、
前記メモリ制御部は、回路モジュールから前記バスのビット数より小さいアクセスデータサイズでバーストリードが要求されたとき、前記要求されたバーストリードのバースト数より少ない回数で前記外付けメモリにリード要求を連続的に発行可能である半導体装置。
A memory control unit capable of controlling an external memory having a plurality of banks in synchronization with a clock, a bus connected to the memory control unit, and a circuit provided corresponding to the bus and instructing memory access Module and
When a burst read is requested from the circuit module with an access data size smaller than the number of bits of the bus, the memory control unit continuously issues a read request to the external memory with a number of times less than the burst number of the requested burst read. Device that can be issued automatically.
複数バンクを持つ外付けメモリをクロックに同期して制御可能なメモリ制御部と、前記メモリ制御部に接続されたバスと、前記バスに対応して設けられメモリアクセスを指示することが可能な回路モジュールとを備え、
前記メモリ制御部は、前記バスのビット数より小さいアクセスデータサイズでバースト数を指定した前記回路モジュールからのアクセス要求に応答して、外付けメモリに対し1回のリード要求で受信する全データを有効として連続的に複数回リード要求を発行可能である半導体装置。
A memory control unit capable of controlling an external memory having a plurality of banks in synchronization with a clock, a bus connected to the memory control unit, and a circuit provided corresponding to the bus and instructing memory access Module and
In response to an access request from the circuit module in which the number of bursts is specified with an access data size smaller than the number of bits of the bus, the memory control unit receives all data received by a single read request to the external memory. A semiconductor device that can issue read requests multiple times in succession.
JP2010271404A 2010-12-06 2010-12-06 Semiconductor device Pending JP2011090697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010271404A JP2011090697A (en) 2010-12-06 2010-12-06 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010271404A JP2011090697A (en) 2010-12-06 2010-12-06 Semiconductor device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004159510A Division JP4656862B2 (en) 2004-05-28 2004-05-28 Semiconductor device

Publications (1)

Publication Number Publication Date
JP2011090697A true JP2011090697A (en) 2011-05-06

Family

ID=44108834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010271404A Pending JP2011090697A (en) 2010-12-06 2010-12-06 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2011090697A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044354A (en) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd Memory controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044354A (en) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd Memory controller

Similar Documents

Publication Publication Date Title
JP4656862B2 (en) Semiconductor device
US6745309B2 (en) Pipelined memory controller
US6295592B1 (en) Method of processing memory requests in a pipelined memory controller
JP4786209B2 (en) Memory access device
US7650453B2 (en) Information processing apparatus having multiple processing units sharing multiple resources
US6173356B1 (en) Multi-port DRAM with integrated SRAM and systems and methods using the same
US5974514A (en) Controlling SDRAM memory by using truncated burst read-modify-write memory operations
JP2002063069A (en) Memory controller, data processing system, and semiconductor device
JP2019525271A (en) Command arbitration for high-speed memory interface
JP2002342159A (en) Memory controller
JP2003501747A (en) Programmable SRAM and DRAM cache interface
JPH09213070A (en) Hidden ) type pseudcache dram
US20050182908A1 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
JP4250989B2 (en) Memory access control device
JP2011090697A (en) Semiconductor device
JP4220258B2 (en) High-speed memory access method in non-cache area
JP2000259497A (en) Memory controller
JPH03163638A (en) Burst transfer system
JP2011034324A (en) Memory system
JP2000066946A (en) Memory controller
JPH07230366A (en) Picture processor
JP2000194601A (en) Memory access control system
JP2005332125A (en) Memory controller and shared memory system
JPH06324940A (en) Method and device for controlling memory
JPH10125058A (en) Pseudo-cache dram controller having packet command protocol

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130314