[go: up one dir, main page]

JP2008090673A - Cache memory control device - Google Patents

Cache memory control device Download PDF

Info

Publication number
JP2008090673A
JP2008090673A JP2006271937A JP2006271937A JP2008090673A JP 2008090673 A JP2008090673 A JP 2008090673A JP 2006271937 A JP2006271937 A JP 2006271937A JP 2006271937 A JP2006271937 A JP 2006271937A JP 2008090673 A JP2008090673 A JP 2008090673A
Authority
JP
Japan
Prior art keywords
memory
buffer
output
cache
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006271937A
Other languages
Japanese (ja)
Inventor
Ryohei Ishida
良平 石田
Hiroshi Onishi
宏 大西
Yoshiyuki Kato
義幸 加藤
Akira Torii
晃 鳥居
Masaki Hamada
雅樹 濱田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006271937A priority Critical patent/JP2008090673A/en
Publication of JP2008090673A publication Critical patent/JP2008090673A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】使用するバッファの種類に応じて効率の良いキャッシュメモリの構成を実現することができるキャッシュメモリ制御装置を得る。
【解決手段】使用されるバッファメモリの種類以上の個数のメモリユニット100〜130を設ける。キャッシュ制御ユニット400は、使用されるバッファメモリのデータが少なくとも一つのメモリユニットでキャッシュされるよう、インプットセレクタ200〜230を割り当てる。アウトプットセレクタ300〜320は、メモリユニット100〜130のうち、いずれかのメモリユニットから出力されるヒットフラグ102〜132に基づいて、使用されるバッファメモリのデータがヒットしたか否かを判定する。
【選択図】図1
A cache memory control apparatus capable of realizing an efficient cache memory configuration in accordance with the type of buffer to be used.
There are provided as many memory units as the number of buffer memories to be used. The cache control unit 400 assigns the input selectors 200 to 230 so that the data in the buffer memory to be used is cached in at least one memory unit. The output selectors 300 to 320 determine whether or not the data in the buffer memory to be used has hit based on the hit flags 102 to 132 output from any one of the memory units 100 to 130. .
[Selection] Figure 1

Description

この発明は、主として、様々なバッファメモリを使用するグラフィクス装置に用いるキャッシュメモリ制御装置に関するものである。   The present invention mainly relates to a cache memory control device used in a graphics device using various buffer memories.

グラフィクス装置では様々なバッファメモリを使用する。例えば、カラーバッファ(フレームバッファ)/デプスバッファ/ステンシルバッファ/アルファバッファ/マスクバッファ/テクスチャーバッファ/ディスプレイリストバッファなどを使用する。各バッファデータはグラフィクス装置外部の記憶装置に保存し、そのバッファデータの一部をグラフィクス装置内部に設置したキャッシュメモリに一時保管するシステムでは、以下のような方式が適用されている。   The graphics device uses various buffer memories. For example, a color buffer (frame buffer) / depth buffer / stencil buffer / alpha buffer / mask buffer / texture buffer / display list buffer are used. In a system in which each buffer data is stored in a storage device outside the graphics apparatus and a part of the buffer data is temporarily stored in a cache memory installed inside the graphics apparatus, the following method is applied.

(1)分離キャッシュメモリ方式
様々なバッファ毎に専用のキャッシュメモリを設置する。各キャッシュメモリは独立して動作する。但し、以下のようなデメリットが生じる。
使用するグラフィクス機能の種類によっては使用しないバッファが生じる場合がある。この場合、対応する専用キャッシュメモリは未使用状態となり、キャッシュメモリに無駄が生じてしまう(デメリット1)。例えば、グラフィクス機能としてアルファバッファを使用しない場合、アルファ専用のキャッシュメモリは未使用状態になる。
また、グラフィクス装置が使用するバッファの種類が増えると、それに対応する専用キャッシュメモリも増やさなくてはいけない(デメリット2)。
(1) Separate cache memory system A dedicated cache memory is installed for each of various buffers. Each cache memory operates independently. However, the following disadvantages occur.
Depending on the type of graphics function used, an unused buffer may occur. In this case, the corresponding dedicated cache memory becomes unused, and the cache memory is wasted (disadvantage 1). For example, when the alpha buffer is not used as the graphics function, the alpha dedicated cache memory is unused.
In addition, as the types of buffers used by the graphics device increase, the number of dedicated cache memories corresponding to that increases (disadvantage 2).

(2)ユニファイドキャッシュメモリ方式
一つのキャッシュメモリを共有使用する。使用するバッファのデータだけがキャッシュメモリに一時保管され、それらのデータでキャッシュメモリを使い切ることができる。分離キャッシュ方式のデメリット1,2は解決できる。但し、以下のようなデメリットが生じる。
並列動作ができなくなるため、グラフィクス装置の動作速度が遅くなる。例えば、カラーバッファのデータとアルファバッファのデータを同じタイミングで読み出せない場合、グラフィクス装置の動作速度が低下する可能性がある。
(2) Unified cache memory system One cache memory is shared and used. Only the buffer data to be used is temporarily stored in the cache memory, and the cache memory can be used up with these data. Disadvantages 1 and 2 of the separate cache method can be solved. However, the following disadvantages occur.
Since the parallel operation cannot be performed, the operation speed of the graphics apparatus becomes slow. For example, when the color buffer data and the alpha buffer data cannot be read at the same timing, the operation speed of the graphics apparatus may be reduced.

このように、分離キャッシュメモリ方式では未使用キャッシュメモリが生じてしまう。また、ユニファイドキャッシュメモリ方式ではこのような問題は発生しない反面、並列動作ができなくなる。どのような場合でも並列動作可能で未使用部分がないキャッシュメモリがグラフィクス装置にとって一番使用効率がよいが、従来ではどちらの方式でも実現できなった。   Thus, an unused cache memory is generated in the separated cache memory system. Further, in the unified cache memory system, such a problem does not occur, but parallel operation cannot be performed. In any case, a cache memory that can be operated in parallel and has no unused portion is the most efficient for the graphics device, but in the past, either method could not be realized.

一方、キャッシュメモリを動的に再構築することでキャッシュメモリの使用効率を向上させる技術が開発されている(例えば、特許文献1または特許文献2参照)。   On the other hand, a technique for improving the usage efficiency of a cache memory by dynamically reconfiguring the cache memory has been developed (see, for example, Patent Document 1 or Patent Document 2).

特開平5−241962号公報Japanese Patent Laid-Open No. 5-241962 特開2005−293300号公報JP-A-2005-293300

しかしながら、上記従来のキャッシュメモリを動的に再構築する技術は、単独動作するキャッシュメモリについての構成変更に関するものであり、並列動作するキャッシュメモリには適用できないという問題点があった。   However, the above-described technology for dynamically reconfiguring the cache memory relates to a configuration change for a cache memory that operates independently, and has a problem that it cannot be applied to a cache memory that operates in parallel.

この発明は上記のような課題を解決するためになされたもので、使用するバッファの種類に応じて効率の良いキャッシュメモリの構成を実現することができるキャッシュメモリ制御装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a cache memory control device capable of realizing an efficient cache memory configuration according to the type of buffer used. .

この発明に係るキャッシュメモリ制御装置は、使用されるバッファメモリの種類以上の個数が設けられた複数のメモリユニットと、複数のメモリユニットに対応して設けられ、対応したメモリユニットに対して、使用されるバッファメモリのアドレスを与える複数の入力選択手段と、使用されるバッファメモリに対応して設けられ、複数のメモリユニットのうちいずれかのメモリユニットから出力されるヒットフラグに基づいて、使用されるバッファメモリのデータがヒットしたか否かを判定する出力選択手段と、使用されるバッファメモリのアドレスを、少なくとも一つの入力選択手段が選択するよう、その入力選択手段を割り当てると共に、出力選択手段が、対応するバッファメモリのデータをキャッシュするメモリユニットの出力を選択するよう、出力選択手段を割り当てるキャッシュメモリ制御手段とを備えたものである。   The cache memory control device according to the present invention includes a plurality of memory units provided with a number equal to or greater than the type of buffer memory to be used, and a plurality of memory units corresponding to the plurality of memory units. A plurality of input selection means for providing an address of the buffer memory to be used, and a buffer memory provided corresponding to the buffer memory to be used, and used based on a hit flag output from any one of the plurality of memory units. Output selection means for determining whether or not the data in the buffer memory to be hit is hit, and assigning the input selection means so that at least one input selection means selects the address of the buffer memory to be used, and output selection means Selects the output of the memory unit that caches the data in the corresponding buffer memory. To such, in which a cache memory control means for assigning the output selection means.

この発明のキャッシュメモリ制御装置は、使用されるバッファメモリの種類以上の個数のメモリユニットを設け、キャッシュメモリ制御手段は、使用されるバッファメモリのデータが少なくとも一つのメモリユニットでキャッシュされるよう、入力選択手段と出力選択手段を割り当てるようにしたので、使用するバッファメモリの種類に応じて効率の良いキャッシュメモリの構成を実現することができる。   The cache memory control device of the present invention is provided with a number of memory units equal to or greater than the type of buffer memory to be used, and the cache memory control means is configured so that data of the buffer memory to be used is cached in at least one memory unit. Since the input selection means and the output selection means are assigned, an efficient cache memory configuration can be realized according to the type of buffer memory to be used.

実施の形態1.
図1は、この発明の実施の形態1によるキャッシュメモリ制御装置を示す構成図である。
図において、キャッシュメモリ制御装置は、メモリユニット100〜130、インプットセレクタ(入力選択手段)200〜230、アウトプットセレクタ(出力選択手段)300〜320、キャッシュ制御ユニット(キャッシュメモリ制御手段)400を備えている。
Embodiment 1 FIG.
1 is a block diagram showing a cache memory control apparatus according to Embodiment 1 of the present invention.
In the figure, the cache memory control device includes memory units 100 to 130, input selectors (input selection means) 200 to 230, output selectors (output selection means) 300 to 320, and a cache control unit (cache memory control means) 400. ing.

本実施の形態では、キャッシュメモリ制御装置を使用するグラフィック装置は、例えば、カラーバッファとデプスバッファとアルファバッファを同時に使用することを想定している。グラフィクス装置に内蔵する再構成可能キャッシュメモリは3つのバッファ用のキャッシュに割り当てられる。4個のメモリユニット100〜130それぞれは、カラーバッファ/デプスバッファ/アルファバッファいずれかのキャッシュメモリとして動的に割り当てられる。   In the present embodiment, it is assumed that the graphic device using the cache memory control device uses, for example, a color buffer, a depth buffer, and an alpha buffer at the same time. The reconfigurable cache memory built in the graphics apparatus is allocated to caches for three buffers. Each of the four memory units 100 to 130 is dynamically allocated as a cache memory of any one of color buffer / depth buffer / alpha buffer.

ここで、グラフィック装置が同時に処理するバッファメモリ(以下、単にバッファと称す)の数を最大並列動作数Mとし、メモリユニットの個数をUとすると、M≦Uになるように再構成可能キャッシュメモリを構成する必要がある。U個のメモリユニットをM個の並列動作するキャッシュメモリに分割するからである。図1の例は、M=3,U=4の場合のキャッシュメモリ構成例である。従って、インプットセレクタ200〜230はU個必要であり、それぞれのインプットセレクタ200〜230に入力するアドレスはM個である。アウトプットセレクタ300〜320はM個必要であり、メモリユニット100〜130U個からヒットフラグとデータを受け取る。   Here, if the number of buffer memories (hereinafter simply referred to as “buffers”) simultaneously processed by the graphic device is the maximum number of parallel operations M and the number of memory units is U, a reconfigurable cache memory so that M ≦ U. Need to be configured. This is because the U memory units are divided into M cache memories that operate in parallel. The example of FIG. 1 is a cache memory configuration example when M = 3 and U = 4. Accordingly, U input selectors 200 to 230 are required, and M addresses are input to each of the input selectors 200 to 230. M output selectors 300 to 320 are required and receive hit flags and data from 100 to 130U memory units.

以下、各構成の詳細について説明する。
メモリユニット100〜130は、図示しないバッファのデータをキャッシュするためのキャッシュメモリであり、図示例では4個のメモリユニットが設けられている。インプットセレクタ200〜230は、それぞれのメモリユニット100〜130に対応して設けられ、キャッシュ制御ユニット400の割り当てに基づいて、与えられた各バッファのアドレスのうち、いずれかのバッファのアドレスを対応したメモリユニット100〜130に与えるよう構成されている。アウトプットセレクタ300〜320は、使用するバッファの数に対応して設けられ、内部には、ヒット判定部301,311,321と、データセレクタ302,312,322を備えている。これらのアウトプットセレクタ300〜320は、キャッシュ制御ユニット400による割り当てに基づいて、ヒット判定部301,311,321により、各メモリユニット100〜130からの出力信号がヒットしたか否かを判定し、ヒットした場合は、データセレクタ302,312,322によって該当するメモリユニット100〜130からデータ信号を送出するよう構成されている。
Details of each component will be described below.
The memory units 100 to 130 are cache memories for caching data in a buffer (not shown), and four memory units are provided in the illustrated example. The input selectors 200 to 230 are provided corresponding to the respective memory units 100 to 130, and correspond to the addresses of any of the given buffers based on the allocation of the cache control unit 400. The memory units 100 to 130 are configured to be given. The output selectors 300 to 320 are provided corresponding to the number of buffers to be used, and internally include hit determination units 301, 311, 321 and data selectors 302, 312, 322. These output selectors 300 to 320 determine whether or not the output signals from the memory units 100 to 130 are hit by the hit determination units 301, 311, and 321 based on the allocation by the cache control unit 400. In the case of a hit, the data selectors 302, 312, and 322 are configured to send data signals from the corresponding memory units 100 to 130.

キャッシュ制御ユニット400は、インプットセレクタ200〜230のそれぞれに対して、少なくとも一つのバッファのアドレスを選択するよう割り当てを行うと共に、割り当てを行ったインプットセレクタ200〜230に対応したメモリユニット100〜130から出力された信号のみ有効とするようアウトプットセレクタ300〜320に対して割り当てを行うよう構成されている。   The cache control unit 400 assigns each of the input selectors 200 to 230 so as to select an address of at least one buffer, and from the memory units 100 to 130 corresponding to the assigned input selectors 200 to 230. Assignment is made to the output selectors 300 to 320 so that only the output signals are valid.

次に、実施の形態1のキャッシュメモリ制御装置の動作について説明する。
先ず、キャッシュ制御ユニット400によるキャッシュメモリの再構成(インプットセレクタ200〜230およびアウトプットセレクタ300〜320の割り当て)を説明する。
グラフィクス装置は、機能パラメータを保持しており、その機能パラメータによって使用するグラフィクス機能を変更することができる。尚、グラフィクス装置の機能パラメータの設定は、図示しないグラフィクス装置のCPU等によって行われる。グラフィクス装置のキャッシュ制御ユニット400は、設定された機能パラメータからグラフィクス装置が使用するバッファの種類を判定する。例えば、カラーバッファとデプスバッファしか使用しないグラフィクス機能のみが有効化されている場合、カラーバッファとデプスバッファ以外のバッファは使用しないと判定する。
Next, the operation of the cache memory control device according to the first embodiment will be described.
First, the cache memory reconfiguration (assignment of the input selectors 200 to 230 and the output selectors 300 to 320) by the cache control unit 400 will be described.
The graphics apparatus holds function parameters, and the graphics function to be used can be changed according to the function parameters. Note that the function parameters of the graphics apparatus are set by a CPU of the graphics apparatus (not shown). The cache control unit 400 of the graphics device determines the type of buffer used by the graphics device from the set function parameters. For example, when only a graphics function that uses only a color buffer and a depth buffer is enabled, it is determined that a buffer other than the color buffer and the depth buffer is not used.

キャッシュ制御ユニット400は、使用するバッファの種類からメモリユニット100〜130の割り当てを決定する。使用すると判定したバッファに少なくとも一つのメモリユニット100〜130を割り当てる。
例えば、カラーバッファとデプスバッファしか使用しない描画を行う場合、アルファバッファに対してキャッシュメモリを割り当てる必要はない。そこでカラーバッファに対して2つのメモリユニット100と110、デプスバッファに対して2つのメモリユニット120と130を割り当てる。このように、4つあるメモリユニット100〜130を使い切るように分割する。
The cache control unit 400 determines the allocation of the memory units 100 to 130 from the type of buffer to be used. At least one memory unit 100 to 130 is allocated to the buffer determined to be used.
For example, when drawing using only a color buffer and a depth buffer, it is not necessary to allocate a cache memory for the alpha buffer. Therefore, two memory units 100 and 110 are allocated to the color buffer, and two memory units 120 and 130 are allocated to the depth buffer. In this way, the four memory units 100 to 130 are divided so as to be used up.

インプットセレクタ200〜230では、キャッシュ制御ユニット400からの割り当て結果に基づいてメモリユニット100〜130への入力(アドレス)の選択を行う。例えば、上記のように、カラーバッファに対して2つのメモリユニット100と110、デプスバッファに対して2つのメモリユニット120と130を割り当てる場合、インプットセレクタ200と210はカラーバッファのアドレス500を選択し、インプットセレクタ220と230はデプスバッファのアドレス510を選択する。   The input selectors 200 to 230 select an input (address) to the memory units 100 to 130 based on the allocation result from the cache control unit 400. For example, as described above, when two memory units 100 and 110 are allocated to the color buffer and two memory units 120 and 130 are allocated to the depth buffer, the input selectors 200 and 210 select the address 500 of the color buffer. The input selectors 220 and 230 select the address 510 of the depth buffer.

アウトプットセレクタ300〜320では、キャッシュ制御ユニット400による割り当て結果に基づいてメモリユニット100〜130からの出力(ヒットフラグやデータ)の選択を行う。例えば、上記のように、カラーバッファに対して2つのメモリユニット100と110、デプスバッファに対して2つのメモリユニット120と130を割り当てる場合、カラーバッファ用のアウトプットセレクタ300は、メモリユニット100と110の出力を選択し、デプスバッファ用のアウトプットセレクタ310は、メモリユニット120と130の出力を選択する。   The output selectors 300 to 320 select an output (hit flag or data) from the memory units 100 to 130 based on the allocation result by the cache control unit 400. For example, as described above, when two memory units 100 and 110 are allocated to the color buffer and two memory units 120 and 130 are allocated to the depth buffer, the output selector 300 for the color buffer includes the memory unit 100 and 110 output is selected, and the output selector 310 for the depth buffer selects the output of the memory units 120 and 130.

カラーバッファ用のアウトプットセレクタ300のヒット判定部301では、メモリユニット100,110が出力するヒットフラグ102,112のいずれかが有効であれば、いずれかのメモリユニット100,110がヒットしていることを表しているので、出力するヒットフラグ301aを有効とする。尚、メモリユニット100〜130では、与えられたアドレス101,111,121,131に基づいて、インデックスに対応するタグの値を取り出し、これをアドレス101,111,121,131に含まれるタグの値と比較することでヒット判定を行うが、これらのヒット判定やヒットした場合のデータ103,113,123,133の出力については、公知のキャッシュメモリの動作であるので、ここでの説明は省略する。   In the hit determination unit 301 of the output selector 300 for the color buffer, if any of the hit flags 102 and 112 output from the memory units 100 and 110 is valid, one of the memory units 100 and 110 is hit. This indicates that the output hit flag 301a is valid. In the memory units 100 to 130, the tag values corresponding to the index are extracted based on the given addresses 101, 111, 121, and 131, and the tag values included in the addresses 101, 111, 121, and 131 are extracted. The hit determination is performed by comparing with, and the output of the data 103, 113, 123, and 133 when the hit is determined or hit is a known cache memory operation, and the description thereof is omitted here. .

アウトプットセレクタ300におけるデータセレクタ302ではヒットしているメモリユニット100(または110)が出力するデータを選択してデータ302aとして出力する。一方、アウトプットセレクタ300では、カラーバッファに割り当てられていないメモリユニット120と130が出力する信号は有効でないとして扱う。   The data selector 302 in the output selector 300 selects data output from the hit memory unit 100 (or 110) and outputs it as data 302a. On the other hand, the output selector 300 treats the signals output from the memory units 120 and 130 that are not assigned to the color buffer as invalid.

デプスバッファ用のアウトプットセレクタ310では、ヒット判定部311によって、メモリユニット120と130からの出力信号からヒットフラグ311aを生成する。メモリユニット100と110からの出力信号は無視する。2本のヒットフラグ122と132のどちらかが有効であれば、いずれかのメモリユニット120,130がヒットしていることを表している。この場合、出力するヒットフラグ311aを有効化し、ヒットしているメモリユニット120(または130)のデータを選択し、データ312aとして出力する。   In the output selector 310 for the depth buffer, the hit determination unit 311 generates a hit flag 311 a from the output signals from the memory units 120 and 130. The output signals from the memory units 100 and 110 are ignored. If either of the two hit flags 122 and 132 is valid, it indicates that one of the memory units 120 and 130 is hit. In this case, the hit flag 311a to be output is validated, the data of the hitting memory unit 120 (or 130) is selected and output as data 312a.

アルファバッファ用のアウトプットセレクタ320では、メモリユニット100〜130の出力を一切使用しない。従って、出力するヒットフラグ321aおよびデータ322aは常に無効化する。   The output selector 320 for the alpha buffer does not use the outputs of the memory units 100 to 130 at all. Therefore, the hit flag 321a and data 322a to be output are always invalidated.

このように再構築すれば、図2に示したキャッシュメモリと同様の構成になる。カラーバッファ用のキャッシュメモリは2ウェイセットアソシアティブ構成になり、デプスバッファ用のキャッシュメモリも2ウェイセットアソシアティブ構成になる。未使用キャッシュメモリは発生しない。   If rebuilt in this way, the configuration is the same as that of the cache memory shown in FIG. The color buffer cache memory has a two-way set associative configuration, and the depth buffer cache memory also has a two-way set associative configuration. Unused cache memory does not occur.

次に、カラーバッファとデプスバッファとアルファバッファを同時に使用する場合の再構成例を示す。
キャッシュ制御ユニット400は、機能パラメータに基づいて、カラーバッファとデプスバッファとアルファバッファを使用すると判定した場合、例えば、カラーバッファに対して2つ、デプスバッファに対して1つ、アルファバッファに対して1つのメモリユニット100〜130を割り当てる。ここでも4つあるメモリユニットを使い切るように分割する。即ち、キャッシュ制御ユニット400は、2つのインプットセレクタ200,210がカラーバッファ用のアドレス500を、インプットセレクタ220がデプスバッファ用のアドレス510を、インプットセレクタ230がアルファバッファ用のアドレス520を選択するようそれぞれ制御を行う。
Next, an example of reconstruction in the case where a color buffer, a depth buffer, and an alpha buffer are used at the same time will be shown.
If the cache control unit 400 determines to use a color buffer, a depth buffer, and an alpha buffer based on the function parameters, for example, two for the color buffer, one for the depth buffer, and for the alpha buffer. One memory unit 100 to 130 is allocated. Again, the four memory units are divided so that they are used up. That is, in the cache control unit 400, the two input selectors 200 and 210 select the color buffer address 500, the input selector 220 selects the depth buffer address 510, and the input selector 230 selects the alpha buffer address 520. Control each.

また、キャッシュ制御ユニット400は、アウトプットセレクタ300〜320に対して、アウトプットセレクタ300がメモリユニット100,110の出力を、アウトプットセレクタ310がメモリユニット120の出力を、アウトプットセレクタ320がメモリユニット130の出力に基づいてヒット判定およびデータ出力を行うよう制御を行う。   Further, in the cache control unit 400, for the output selectors 300 to 320, the output selector 300 outputs the outputs of the memory units 100 and 110, the output selector 310 outputs the output of the memory unit 120, and the output selector 320 stores the memory. Control is performed to perform hit determination and data output based on the output of the unit 130.

このように再構築すれば、図3に示したキャッシュメモリと同様の構成になる。カラーバッファ用のキャッシュメモリは2ウェイセットアソシアティブ構成になり、デプスバッファ用のキャッシュメモリとアルファバッファ用のキャッシュメモリは1ウェイセットアソシアティブ(=ダイレクトマップ)構成になる。未使用キャッシュメモリは発生しない。尚、この例では、カラーバッファ用のキャッシュメモリを2ウェイセットアソシアティブ構成としたが、デプスバッファまたはアルファバッファに対して2ウェイセットアソシアティブ構成としてもよい。   If reconstructed in this way, the configuration is the same as that of the cache memory shown in FIG. The color buffer cache memory has a two-way set associative configuration, and the depth buffer cache memory and the alpha buffer cache memory have a one-way set associative (= direct map) configuration. Unused cache memory does not occur. In this example, the color buffer cache memory has a two-way set associative configuration, but may have a two-way set associative configuration with respect to a depth buffer or an alpha buffer.

次に、カラーバッファしか使用しない場合の再構築例を説明する。この場合、キャッシュ制御ユニット400は、全てのメモリユニット100〜130をカラーバッファ用のキャッシュメモリに割り当てるようインプットセレクタ200〜230およびアウトプットセレクタ300〜320を制御する。即ち、全てのインプットセレクタ200〜230は、カラーバッファ用のアドレス500を選択するよう制御し、また、カラーバッファ用のアウトプットセレクタ300は、全てのメモリユニット100〜130からの出力を選択する。   Next, an example of reconstruction when only a color buffer is used will be described. In this case, the cache control unit 400 controls the input selectors 200 to 230 and the output selectors 300 to 320 so as to allocate all the memory units 100 to 130 to the color buffer cache memory. That is, all the input selectors 200 to 230 control to select the color buffer address 500, and the color buffer output selector 300 selects the output from all the memory units 100 to 130.

このように再構築すれば、図4に示したキャッシュメモリと同様の構成になる。カラーバッファ用のキャッシュメモリは4ウェイセットアソシアティブ構成になる。未使用キャッシュメモリは発生しない。   If reconstructed in this way, the configuration is the same as that of the cache memory shown in FIG. The cache memory for the color buffer has a 4-way set associative configuration. Unused cache memory does not occur.

以上のように、実施の形態1のキャッシュメモリ制御装置によれば、使用されるバッファメモリの種類以上の個数が設けられ、使用されるバッファメモリのデータをキャッシュすると共に、使用されるバッファメモリのアドレスが与えられた場合、キャッシュしたデータがヒットしたか否かを示すヒットフラグを出力する複数のメモリユニットと、複数のメモリユニットに対応して設けられ、対応したメモリユニットに対して、使用されるバッファメモリのアドレスを与える複数の入力選択手段と、使用されるバッファメモリに対応して設けられ、複数のメモリユニットのうちいずれかのメモリユニットから出力されるヒットフラグに基づいて、使用されるバッファメモリのデータがヒットしたか否かを判定する出力選択手段と、使用されるバッファメモリのアドレスを、少なくとも一つの入力選択手段が選択するよう、その入力選択手段を割り当てると共に、出力選択手段が、対応するバッファメモリのデータをキャッシュするメモリユニットの出力を選択するよう、その出力選択手段を割り当てるキャッシュメモリ制御手段とを備えたので、例えば、複数のバッファメモリを使用する場合にも並列動作が可能で、また、バッファメモリを一つだけ使用する場合でも複数のメモリユニットを割り当てることが可能であるといったように、使用するバッファの種類に応じて効率の良いキャッシュメモリの構成を実現することができる。   As described above, according to the cache memory control device of the first embodiment, the number of types of buffer memory to be used is more than that, the data of the used buffer memory is cached, and When an address is given, a plurality of memory units that output a hit flag indicating whether or not the cached data has been hit, and a plurality of memory units are provided and used for the corresponding memory units. A plurality of input selection means for giving an address of the buffer memory and a buffer memory used corresponding to the buffer memory to be used, and used based on a hit flag output from any one of the plurality of memory units Used with output selection means for determining whether or not the data in the buffer memory has been hit The input selection means is assigned so that the address of the buffer memory is selected by at least one input selection means, and the output selection means selects the output of the memory unit that caches the data in the corresponding buffer memory. Cache memory control means for assigning means, for example, parallel operation is possible even when a plurality of buffer memories are used, and a plurality of memory units are assigned even when only one buffer memory is used. Thus, an efficient cache memory configuration can be realized in accordance with the type of buffer to be used.

また、実施の形態1のキャッシュメモリ制御装置によれば、キャッシュメモリ制御手段は、全てのメモリユニットでいずれかのバッファメモリのデータがキャッシュされるよう複数の入力選択手段および出力選択手段を割り当てるようにしたので、無駄のないキャッシュメモリの構成を実現することができる。   Further, according to the cache memory control apparatus of the first embodiment, the cache memory control means allocates a plurality of input selection means and output selection means so that the data of any buffer memory is cached in all the memory units. Therefore, a cache memory configuration without waste can be realized.

実施の形態2.
実施の形態2は、使用するバッファには少なくとも一つのメモリユニットを割り当てるという条件を満たしながら、使用しないメモリユニットを設けるようにしたものである。図面上の構成は図1と同様であるため、図1を援用して説明する。
Embodiment 2. FIG.
In the second embodiment, a memory unit that is not used is provided while satisfying the condition that at least one memory unit is allocated to the buffer to be used. Since the configuration on the drawing is the same as that of FIG. 1, description will be made with reference to FIG.

実施の形態2におけるキャッシュ制御ユニット400は、使用するバッファのアドレスを少なくとも一つのインプットセレクタ200〜230が選択するよう制御すると共に、いずれのバッファのアドレスも選択しないインプットセレクタ200〜230が存在するよう割り当て制御を行う構成とされている。また、未使用のメモリユニット100〜130に対しては、電力供給やクロックの供給を停止させるよう構成されている。   The cache control unit 400 according to the second embodiment performs control so that at least one input selector 200 to 230 selects a buffer address to be used, and there are input selectors 200 to 230 that do not select any buffer address. It is configured to perform allocation control. Further, the unused memory units 100 to 130 are configured to stop power supply and clock supply.

例えば、カラーバッファとデプスバッファとアルファバッファを同時に使用する場合の再構成例を説明する。
キャッシュ制御ユニット400は、機能パラメータに基づいて、カラーバッファとデプスバッファとアルファバッファを使用すると判定した場合、例えば、これらバッファに対してそれぞれ1つずつのメモリユニット100〜130を割り当てる。その一例としては、インプットセレクタ200がカラーバッファ用のアドレス500を、インプットセレクタ210がデプスバッファ用のアドレス510を、インプットセレクタ220がアルファバッファ用のアドレス520をそれぞれ選択するよう割り当て制御する。また、アウトプットセレクタ300〜320に対しては、カラーバッファ用のアウトプットセレクタ300がメモリユニット100の出力を、デプスバッファ用のアウトプットセレクタ310がメモリユニット110の出力を、アルファバッファ用のアウトプットセレクタ320がメモリユニット120の出力をそれぞれ選択するよう割り当て制御する。
For example, a reconfiguration example in the case of using a color buffer, a depth buffer, and an alpha buffer at the same time will be described.
If the cache control unit 400 determines to use a color buffer, a depth buffer, and an alpha buffer based on the function parameters, for example, one memory unit 100 to 130 is allocated to each of these buffers. For example, the input selector 200 performs allocation control so that the color buffer address 500, the input selector 210 selects the depth buffer address 510, and the input selector 220 selects the alpha buffer address 520. For the output selectors 300 to 320, the output selector 300 for the color buffer outputs the output of the memory unit 100, the output selector 310 for the depth buffer outputs the output of the memory unit 110, and the output for the alpha buffer. The data selector 320 controls the allocation so as to select the outputs of the memory units 120, respectively.

このように割り当て制御することにより、4つあるメモリユニット100〜130のうち、メモリユニット130は未使用となる。そして、この場合、キャッシュ制御ユニット400は、メモリユニット130に対する電力の供給やクロックの供給を停止するよう図示しないグラフィクス装置の電力供給手段やクロック供給手段に対して指示を行う。その結果、メモリユニット130への電力の供給やクロックの供給が停止され、グラフィクス装置としての消費電力の削減を図ることができる。   By performing the allocation control in this way, the memory unit 130 is unused among the four memory units 100 to 130. In this case, the cache control unit 400 instructs a power supply unit and a clock supply unit of a graphics apparatus (not shown) to stop supplying power and clocks to the memory unit 130. As a result, power supply to the memory unit 130 and clock supply are stopped, and power consumption as the graphics device can be reduced.

尚、未使用のメモリユニットとしてメモリユニット130の場合を説明したが、未使用とするのはどのメモリユニットであっても構わない。また、使用するバッファに対して、少なくとも一つのメモリユニットを割り当てるという条件を満たす割り当てであれば、使用するバッファの種類とメモリユニットの個数との関係に応じてどのような割り当てであってもよい。   Although the memory unit 130 has been described as an unused memory unit, any memory unit may be unused. Further, as long as the allocation satisfies the condition that at least one memory unit is allocated to the buffer to be used, any allocation may be performed according to the relationship between the type of buffer to be used and the number of memory units. .

以上のように、実施の形態2のキャッシュメモリ制御装置によれば、キャッシュメモリ制御手段は、全てのメモリユニットのうち、バッファメモリのデータのキャッシュは行わない未使用状態のメモリユニットが存在するよう複数の入力選択手段および出力選択手段を割り当てるようにしたので、使用するバッファの種類に応じて効率の良いキャッシュメモリの構成を実現することができると共に、入力選択手段や出力選択手段への割り当て制御のみで必要最低限のキャッシュメモリの構成が得られ、例えば、消費電力の削減といった効果が得られる。   As described above, according to the cache memory control device of the second embodiment, the cache memory control means seems to include an unused memory unit that does not cache the buffer memory data among all the memory units. Since a plurality of input selection means and output selection means are assigned, an efficient cache memory configuration can be realized according to the type of buffer used, and assignment control to the input selection means and output selection means can be realized. Only a minimum cache memory configuration can be obtained, and for example, an effect of reducing power consumption can be obtained.

この発明の実施の形態1によるキャッシュメモリ制御装置を示す構成図である。1 is a configuration diagram showing a cache memory control device according to Embodiment 1 of the present invention; FIG. この発明の実施の形態1によるキャッシュメモリ制御装置の第1の再構成例を示す説明図である。It is explanatory drawing which shows the 1st reconfiguration example of the cache memory control apparatus by Embodiment 1 of this invention. この発明の実施の形態1によるキャッシュメモリ制御装置の第2の再構成例を示す説明図である。It is explanatory drawing which shows the 2nd reconfiguration example of the cache memory control apparatus by Embodiment 1 of this invention. この発明の実施の形態1によるキャッシュメモリ制御装置の第3の再構成例を示す説明図である。It is explanatory drawing which shows the 3rd reconfiguration example of the cache memory control apparatus by Embodiment 1 of this invention.

符号の説明Explanation of symbols

100,110,120,130 メモリユニット、101,111,121,131 アドレス、102,112,122,132 ヒットフラグ、103,113,123,133 データ、200,210,220,230 インプットセレクタ(入力選択手段)、300,310,320 アウトプットセレクタ(出力選択手段)、301,311,321 ヒット判定部、302,312,322 データセレクタ、400 キャッシュ制御ユニット(キャッシュメモリ制御手段)、500 カラーバッファ用のアドレス、510 デプスバッファ用のアドレス、520 アルファバッファ用のアドレス。   100, 110, 120, 130 Memory unit, 101, 111, 121, 131 Address, 102, 112, 122, 132 Hit flag, 103, 113, 123, 133 Data, 200, 210, 220, 230 Input selector (input selection) Means), 300, 310, 320 output selector (output selection means), 301, 311, 321 hit determination unit, 302, 312, 322 data selector, 400 cache control unit (cache memory control means), 500 for color buffer Address, address for 510 depth buffer, address for 520 alpha buffer.

Claims (3)

使用されるバッファメモリの種類以上の個数が設けられ、前記使用されるバッファメモリのデータをキャッシュすると共に、前記使用されるバッファメモリのアドレスが与えられた場合、前記キャッシュしたデータがヒットしたか否かを示すヒットフラグを出力する複数のメモリユニットと、
前記複数のメモリユニットに対応して設けられ、対応したメモリユニットに対して、前記使用されるバッファメモリのアドレスを与える複数の入力選択手段と、
前記使用されるバッファメモリに対応して設けられ、前記複数のメモリユニットのうちいずれかのメモリユニットから出力されるヒットフラグに基づいて、前記使用されるバッファメモリのデータがヒットしたか否かを判定する出力選択手段と、
前記使用されるバッファメモリのアドレスを、少なくとも一つの前記入力選択手段が選択するよう、当該入力選択手段を割り当てると共に、前記出力選択手段が、対応するバッファメモリのデータをキャッシュするメモリユニットの出力を選択するよう、当該出力選択手段を割り当てるキャッシュメモリ制御手段とを備えたキャッシュメモリ制御装置。
Whether or not the cached data has been hit when the number of types of buffer memory to be used is provided and the data of the buffer memory to be used is cached and the address of the buffer memory to be used is given A plurality of memory units that output a hit flag indicating
A plurality of input selection means provided corresponding to the plurality of memory units, and giving the addresses of the buffer memories used to the corresponding memory units;
Based on a hit flag provided corresponding to the used buffer memory and output from any one of the plurality of memory units, it is determined whether or not the data in the used buffer memory has hit. An output selection means for determining;
The input selection unit is assigned so that at least one of the input selection units selects the address of the buffer memory to be used, and the output selection unit outputs the output of the memory unit that caches the data of the corresponding buffer memory. A cache memory control device comprising: cache memory control means for assigning the output selection means so as to select.
キャッシュメモリ制御手段は、全てのメモリユニットでいずれかのバッファメモリのデータがキャッシュされるよう複数の入力選択手段および出力選択手段を割り当てることを特徴とする請求項1記載のキャッシュメモリ制御装置。   2. The cache memory control device according to claim 1, wherein the cache memory control means assigns a plurality of input selection means and output selection means so that data of any buffer memory is cached in all memory units. キャッシュメモリ制御手段は、全てのメモリユニットのうち、バッファメモリのデータのキャッシュは行わない未使用状態のメモリユニットが存在するよう複数の入力選択手段および出力選択手段を割り当てることを特徴とする請求項1記載のキャッシュメモリ制御装置。   The cache memory control means allocates a plurality of input selection means and output selection means so that there is an unused memory unit that does not cache data in the buffer memory among all the memory units. 2. The cache memory control device according to 1.
JP2006271937A 2006-10-03 2006-10-03 Cache memory control device Pending JP2008090673A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006271937A JP2008090673A (en) 2006-10-03 2006-10-03 Cache memory control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006271937A JP2008090673A (en) 2006-10-03 2006-10-03 Cache memory control device

Publications (1)

Publication Number Publication Date
JP2008090673A true JP2008090673A (en) 2008-04-17

Family

ID=39374736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006271937A Pending JP2008090673A (en) 2006-10-03 2006-10-03 Cache memory control device

Country Status (1)

Country Link
JP (1) JP2008090673A (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877072A (en) * 1994-08-31 1996-03-22 Oki Electric Ind Co Ltd Cache memory device
JPH10124202A (en) * 1996-10-04 1998-05-15 Internatl Business Mach Corp <Ibm> Method and system reducing power consumption in electronic circuit
JPH10247138A (en) * 1996-09-13 1998-09-14 Silicon Graphics Inc Computer system
JP2000298618A (en) * 1999-04-14 2000-10-24 Toshiba Corp Set associative cache memory device
JP2003208631A (en) * 1998-10-14 2003-07-25 Hitachi Ltd 3D graphic processor
JP2003323632A (en) * 2002-05-01 2003-11-14 Toshiba Corp Image processing device
JP2004510270A (en) * 2000-09-28 2004-04-02 インテル・コーポレーション Method and apparatus for performing full scene anti-aliasing supersampling
JP2004280596A (en) * 2003-03-17 2004-10-07 Nintendo Co Ltd Shadow volume generation program and game device
WO2007127745A1 (en) * 2006-04-26 2007-11-08 Qualcomm Incorporated Graphics system with configurable caches
JP2008047124A (en) * 2006-08-11 2008-02-28 Samsung Electronics Co Ltd Method and apparatus for processing computer graphics data

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877072A (en) * 1994-08-31 1996-03-22 Oki Electric Ind Co Ltd Cache memory device
JPH10247138A (en) * 1996-09-13 1998-09-14 Silicon Graphics Inc Computer system
JPH10124202A (en) * 1996-10-04 1998-05-15 Internatl Business Mach Corp <Ibm> Method and system reducing power consumption in electronic circuit
JP2003208631A (en) * 1998-10-14 2003-07-25 Hitachi Ltd 3D graphic processor
JP2000298618A (en) * 1999-04-14 2000-10-24 Toshiba Corp Set associative cache memory device
JP2004510270A (en) * 2000-09-28 2004-04-02 インテル・コーポレーション Method and apparatus for performing full scene anti-aliasing supersampling
JP2003323632A (en) * 2002-05-01 2003-11-14 Toshiba Corp Image processing device
JP2004280596A (en) * 2003-03-17 2004-10-07 Nintendo Co Ltd Shadow volume generation program and game device
WO2007127745A1 (en) * 2006-04-26 2007-11-08 Qualcomm Incorporated Graphics system with configurable caches
JP2009535710A (en) * 2006-04-26 2009-10-01 クゥアルコム・インコーポレイテッド Graphics system with configurable cache
JP2008047124A (en) * 2006-08-11 2008-02-28 Samsung Electronics Co Ltd Method and apparatus for processing computer graphics data

Similar Documents

Publication Publication Date Title
US8035650B2 (en) Tiled cache for multiple software programs
US9921972B2 (en) Method and apparatus for implementing a heterogeneous memory subsystem
US6856320B1 (en) Demand-based memory system for graphics applications
US7102646B1 (en) Demand-based memory system for graphics applications
US10515011B2 (en) Compression status bit cache and backing store
US8627041B2 (en) Efficient line and page organization for compression status bit caching
US12380027B2 (en) Method and apparatus for using a storage system as main memory
US10255195B2 (en) Apparatus and method for performing address translation
JP2008542948A (en) Microprocessor with configurable translation lookaside buffer
US20110057935A1 (en) Tiling Compaction in Multi-Processor Systems
JP2013025823A (en) Virtual GPU
US20120079200A1 (en) Unified streaming multiprocessor memory
US20180129608A9 (en) Memory Attribute Sharing Between Differing Cache Levels of Multilevel Cache
JP2015532994A (en) Message signal interrupt communication
Grimm et al. A refined data addressing and processing scheme to accelerate volume raycasting
KR20030025319A (en) Method for address translation of semiconductor memory device and apparatus the same
US7024536B2 (en) Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same
JP2009015509A (en) Cache memory device
JP2005346358A (en) Device and method for converting address
GB2530261A (en) Memory and processor hierarchy to improve power efficiency
US8862823B1 (en) Compression status caching
JP2008090673A (en) Cache memory control device
KR20170102720A (en) Cache memory and operation method thereof
US20120324167A1 (en) Multicore processor system and multicore processor
CN101986287A (en) Reform buffer for vector data streams

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113