JP5832284B2 - Shader complex having distributed level 1 cache system and centralized level 2 cache - Google Patents
Shader complex having distributed level 1 cache system and centralized level 2 cache Download PDFInfo
- Publication number
- JP5832284B2 JP5832284B2 JP2011511651A JP2011511651A JP5832284B2 JP 5832284 B2 JP5832284 B2 JP 5832284B2 JP 2011511651 A JP2011511651 A JP 2011511651A JP 2011511651 A JP2011511651 A JP 2011511651A JP 5832284 B2 JP5832284 B2 JP 5832284B2
- Authority
- JP
- Japan
- Prior art keywords
- level
- cache
- cache system
- shader
- instructions
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 241000656145 Thyrsites atun Species 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/302—In image processor or graphics adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Processing Or Creating Images (AREA)
Description
本発明は概してコンピュータシステム内で実行される計算処理に関し、より特定的にはコンピュータシステム内で実行されるグラフィックス処理タスクに関する。 The present invention relates generally to computational processing performed within a computer system, and more particularly to graphics processing tasks performed within a computer system.
グラフィックス処理ユニット(GPU)は、グラフィックス処理タスクを実行するために特別に設計された複合的な(complex)集積回路である。GPUは、例えば、ビデオゲームアプリケーション等のエンドユーザアプリケーションによって要求されるグラフィックス処理タスクを実行することができる。このような例においては、エンドユーザアプリケーションとGPUの間にいくつものソフトウエアの階層が存在する。 A graphics processing unit (GPU) is a complex integrated circuit specifically designed to perform graphics processing tasks. The GPU may perform graphics processing tasks required by end user applications such as video game applications, for example. In such an example, there are a number of software hierarchies between the end user application and the GPU.
エンドユーザアプリケーションはアプリケーションプログラミングインタフェース(API)と通信する。APIは、GPUに依存するフォーマットでよりはむしろ標準化されたフォーマットでエンドユーザアプリケーションがグラフィックスデータ及び命令を出力することを可能にする。マイクロソフトコープ(Microsoft Corp.)により開発されたDirectX(登録商標)及びシリコングラフィックスインク(Silicon Graphics, Inc.)により開発されたOpenGL(登録商標)を含め、何種類ものAPIが商業的に入手可能である。APIはドライバと通信する。ドライバはAPIから受け取った標準コードをGPUが理解する固有のフォーマットの命令に変換する。ドライバは典型的にはGPUの製造業者によって書かれる。GPUはそうしてドライバからの命令を実行する。 The end user application communicates with an application programming interface (API). The API allows end-user applications to output graphics data and instructions in a standardized format rather than in a GPU dependent format. A number of APIs are commercially available, including DirectX (registered trademark) developed by Microsoft Corp. and OpenGL (registered trademark) developed by Silicon Graphics, Inc. is there. The API communicates with the driver. The driver converts the standard code received from the API into instructions in a unique format understood by the GPU. Drivers are typically written by the GPU manufacturer. The GPU then executes instructions from the driver.
GPUは、描画(rendering)として知られる処理において、その構成要素のより高い階層記述から画像を作り出すピクセルを生成する。GPUは典型的には、ピクセル、テクスチャ、及び幾何データを処理するパイプラインの使用による連続的描画の概念を利用している。これらのパイプラインはしばしば、固定機能特殊目的パイプラインの集合、例えばラスタライザ(rasterizers)、セットアップエンジン(setup engines)、カラーブレンダ(color blenders)、ヒエラチカルデプス(hieratical depth)、テクスチャマッピング(texture mapping)及びシェーダパイプ又はシェーダパイプラインで達成可能なプログラム可能な段階の集合の意味を持ち、「シェーダ」は描画効果を生じさせる前にグラフィックリソースによって用いられる一連のソフトウエア命令を参照するコンピュータグラフィックスでの用語である。またGPUは、より高いスループットを得るために並列処理設計にある多重化プログラム可能パイプラインを採用することもできる。シェーダパイプラインの多重化はシェーダパイプアレイと称されることもある。 The GPU generates pixels that produce an image from a higher hierarchical description of its components in a process known as rendering. GPUs typically make use of the concept of continuous drawing through the use of pipelines that process pixel, texture, and geometric data. These pipelines are often a collection of fixed function special purpose pipelines such as rasterizers, setup engines, color blenders, hierarchical depth, texture mapping And a set of programmable stages achievable in a shader pipe or shader pipeline, a “shader” is a computer graphic that refers to a set of software instructions used by a graphic resource before producing a rendering effect. Is the term. The GPU can also employ a multiplexed programmable pipeline in parallel processing design to obtain higher throughput. Multiplexing shader pipelines is sometimes referred to as shader pipe arrays.
また、GPUはテクスチャマッピングとして知られる概念をも支持する。テクスチャマッピングは、テクスチャの隣接ピクセル又はテクセル(texels)の色の使用を通して、テクスチャマッピングされたピクセルに対してテクスチャ色を決定するために用いられる処理である。その処理はテクスチャ平滑化又はテクスチャ補間とも称される。しかし、高画像品質テクスチャマッピングは高度な計算上の複雑性を必要とする。 The GPU also supports a concept known as texture mapping. Texture mapping is a process used to determine the texture color for texture mapped pixels through the use of the color of neighboring pixels or texels of the texture. This process is also called texture smoothing or texture interpolation. However, high image quality texture mapping requires a high degree of computational complexity.
更に、統合化シェーダを備えたGPUは、ピクセル、頂点、プリミティブ(primitive)、表面からの多くの種類のシェーダ処理を同時に支持もするので、汎用のコンピュータはより高性能な汎用メモリアクセス能力に対する要求を高めている。 In addition, GPUs with integrated shaders also support many types of shader processing from pixels, vertices, primitives, and surfaces at the same time, so general-purpose computers demand higher performance general-purpose memory access capabilities. Is increasing.
テクスチャフィルタはピクセルデータのためのローカルキャッシュメモリへの高速アクセスに頼っている。しかし、テクスチャフィルタのための専用のローカルキャッシュメモリの使用は、より一般目的の共用メモリの使用を典型的には阻害する。一般目的の共用メモリはより柔軟な一方で、典型的には応答時間がより遅く従ってより低い性能基準しか満たさない(less performant)。 Texture filters rely on fast access to local cache memory for pixel data. However, the use of dedicated local cache memory for texture filters typically hinders the use of more general purpose shared memory. While general purpose shared memory is more flexible, it typically has a slower response time and therefore less performant.
新しいソフトウエアアプリケーションの高まりつつある複雑性に鑑み、効率的で高品質な描画、テクスチャフィルタリング及び誤り訂正をGPUにおいて提供する要求もまた高まっている。 In view of the increasing complexity of new software applications, there is also a growing demand to provide efficient and high quality rendering, texture filtering and error correction in the GPU.
従って、前述した欠点を軽減するシステム及び/又は方法が求められている。特に、集中型の共用可能なレベル2キャッシュシステムと組み合わされた各テクスチャフィルタのための分散型のレベル1キャッシュシステムが求められている。 Accordingly, there is a need for a system and / or method that alleviates the aforementioned shortcomings. In particular, there is a need for a distributed level 1 cache system for each texture filter combined with a centralized sharable level 2 cache system.
この欄は本発明の幾つかの側面を概説することを目的としており、幾つかの望ましい実施形態を簡潔に紹介するためのものである。この欄の目的を曖昧にすることを避けるために単純化又は省略がなされているかもしれない。当該単純化又は省略が本発明の範囲を限定することは意図されていない。ここに具象化され且つ広く記述される本発明の原理に従い、本発明は方法及び装置を含み、それによりシェーダパイプテクスチャフィルタは、レベル1キャッシュシステムを記憶の主要方法として用いるが、レベル2キャッシュシステムに対する読み出し及び書き込みを必要に応じてレベル1キャッシュシステムにさせる能力を有している。各レベル1キャッシュシステムは特定のシェーダパイプテクスチャフィルタを伴うが、レベル2キャッシュメモリはそのような関係性を持たず、従って全てのレベル1キャッシュシステムにとって利用可能である。また、レベル1キャッシュシステムは、他のリソースの間で共有可能に画定されるメモリ領域を割り当てることができる。 This section is intended to outline some aspects of the present invention and is intended to provide a brief introduction to some preferred embodiments. Simplifications or omissions may be made to avoid obscuring the purpose of this field. Such simplifications or omissions are not intended to limit the scope of the invention. In accordance with the principles of the present invention as embodied and broadly described herein, the present invention includes a method and apparatus whereby a shader pipe texture filter uses a level 1 cache system as the primary method of storage, but a level 2 cache system. The level 1 cache system has the ability to read from and write to as needed. Each level 1 cache system has a specific shader pipe texture filter, but level 2 cache memory does not have such a relationship and is therefore available to all level 1 cache systems. In addition, the level 1 cache system can allocate a memory area defined to be sharable among other resources.
本発明の実施形態においては、2つのシェーダパイプテクスチャフィルタが単一のレベル1キャッシュシステムへのアクセスを有するように、レベル1キャッシュシステムはデュアルアクセスで構成されている。 In an embodiment of the present invention, the level 1 cache system is configured with dual access so that the two shader pipe texture filters have access to a single level 1 cache system.
他の実施形態においては、1つより多いレベル2キャッシュシステムが各レベル1キャッシュシステムによってアクセス可能に構成される。 In other embodiments, more than one level 2 cache system is configured to be accessible by each level 1 cache system.
他の実施形態においては、レベル1キャッシュシステムとレベル2キャッシュシステムの間での通信が1つより多いメモリチャネルを利用し、それによりより大きなデータスループットがもたらされる。 In other embodiments, communication between the Level 1 and Level 2 cache systems utilizes more than one memory channel, which results in greater data throughput.
他の実施形態においては、1つ以上のレベル1キャッシュシステムは、他のレベル1キャッシュシステムを含む他のリソースの間で共有されるべく画定されるメモリの領域を割り当てることができる。特定の例においては、このアプローチは、要求されたデータが既にレベル2キャッシュシステムからレベル1キャッシュシステムへ移動している場合に、テクセルデータのより速いフェッチ(fetch)時間を可能にすることになる。 In other embodiments, one or more level 1 cache systems may allocate an area of memory that is defined to be shared among other resources, including other level 1 cache systems. In a particular example, this approach will allow for faster fetch times for texel data if the requested data has already been moved from the level 2 cache system to the level 1 cache system. .
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に記述されている。本発明がここに記述される特定の実施形態に限定されないことを特記しておく。当該実施形態は例示の目的のみのためにここに提示されている。追加的な実施形態はここに含まれる教示に基き関連分野を含めた当業者にとって明らかであろう。 Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings. It should be noted that the present invention is not limited to the specific embodiments described herein. This embodiment is presented here for illustrative purposes only. Additional embodiments will be apparent to those skilled in the art, including the relevant fields, based on the teachings contained herein.
添付の図面は、ここに組み込まれまた出願書類の一部をなし、本発明の実施形態を示しそして、上述の一般的な説明及び以下に示される実施形態の詳細な説明と共に本発明の原理を説明するのに役立つ。 The accompanying drawings, which are incorporated herein and form part of the application documents, illustrate embodiments of the present invention, and together with the general description above and the detailed description of the embodiments presented below, illustrate the principles of the invention. Help explain.
本発明の特徴及び利益は、図面と共に以下に記述される詳細な説明からより明らかになり、図面において同様の参照符号は全体を通して対応する要素を特定する。図面において、同様の参照数字は一般的に同一の、機能的に類似の、及び/又は構造的に類似の要素を示す。ある要素が最初に現れる図面は対応する参照番号の一番左の桁の1つ以上の数字によって示される。 The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and / or structurally similar elements. The drawing in which an element first appears is indicated by one or more digits in the leftmost digit of the corresponding reference number.
本発明は、本発明の種々の「実施形態」の以下の説明からよりよく理解されるであろう。このように、特定の種々の「実施形態」は本発明の種々の見え方であり、しかしその見え方の各々は本発明全体ではない。1つの視点においては、本発明は集中型のレベル2キャッシュシステムを伴う分散型のレベル1キャッシュシステムに関連している。各シェーダパイプテクスチャフィルタは専用のレベル1キャッシュシステムを有しており、レベル1キャッシュシステムはその範囲内に含まれるテクセルデータに対する読み出し及び書き込みアクセスを提供する。また、1つ以上のレベル2キャッシュシステムがあり、レベル2キャッシュシステムはシェーダパイプテクスチャフィルタにとって専用ではなく、従って全てのレベル1キャッシュシステムによってアクセス可能である。 The invention will be better understood from the following description of various "embodiments" of the invention. Thus, the various specific “embodiments” are various aspects of the invention, but each of the aspects is not an entire invention. In one aspect, the present invention relates to a distributed level 1 cache system with a centralized level 2 cache system. Each shader pipe texture filter has a dedicated level 1 cache system that provides read and write access to the texel data contained within that range. There are also one or more level 2 cache systems, which are not dedicated to shader pipe texture filters and are therefore accessible by all level 1 cache systems.
特定の構成、配置、及びステップが論じられるが、このことは例示的な目的のみのためのものであることが理解されるべきである。関連分野を含めた当業者であれば、本発明の精神及び範囲から逸脱することなしに他の構成、配置、及びステップが用いられ得ることを認識するであろう。この発明が種々の他の応用においても採用され得ることは、関連分野を含めた当業者にとって明らかであろう。 Although specific configurations, arrangements, and steps are discussed, it should be understood that this is for exemplary purposes only. Those skilled in the art, including the relevant fields, will recognize that other configurations, arrangements, and steps may be used without departing from the spirit and scope of the invention. It will be apparent to those skilled in the art including the relevant fields that the present invention may be employed in various other applications.
尚、「1つの実施形態」、「実施形態」、「例示的実施形態」等に対する明細書での言及は、説明される実施形態が特定の特徴、構造、又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造、又は特性を含む必要はないことを示している。また、そのような表現は必ずしも同じ実施形態を参照していない。更に、特定の特徴、構造、又は特性が実施形態に関連して説明されている場合には、明白に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造、又は特性を具現化することは当業者の知識の範囲内にあることと言える。 It should be noted that references in the specification to “one embodiment”, “embodiment”, “exemplary embodiment”, etc. may include specific features, structures, or characteristics of the described embodiment, All embodiments need not include the particular features, structures, or characteristics. Moreover, such phrases are not necessarily referring to the same embodiment. Further, where a particular feature, structure, or characteristic is described in connection with an embodiment, whether or not it is explicitly described, the particular feature, structure, Alternatively, it can be said that the realization of characteristics is within the knowledge of those skilled in the art.
本発明は特定の応用のための例示的な実施形態を参照してここに説明されるが、本発明はそれらに限定されないことが理解されるべきである。当業者であれば、ここに提供される教示を利用して、当該範囲内での及び本発明が顕著に有用であろう追加的な分野での追加的な修正、応用、及び実施形態を認識するであろう。 While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those skilled in the art will be able to use the teachings provided herein to recognize additional modifications, applications, and embodiments within the scope and in additional areas where the present invention would be significantly useful. Will do.
図1は本発明の実施形態に従う単一のレベル1キャッシュシステム及び単一のレベル2キャッシュシステム100の図である。システム100は単一のシェーダパイプテクスチャフィルタ110を備えており、これに付随するレベル1キャッシュシステム120はワイドチャネルメモリバス125を利用してレベル2キャッシュシステム130と通信するように構成される。
FIG. 1 is a diagram of a single level 1 cache system and a single level 2
図1に示される実施形態においては、シェーダパイプテクスチャフィルタ110は特定のピクセルの色を決定するために双線形(bilinear)フィルタリングの概念を採用している。双線形フィルタリングの間、シェーダパイプテクスチャフィルタ110は問題のピクセルに最も近い4つのピクセルに対してテクセル(texel)データを解析する。4つのテクセルに対するテクセルデータは次いで、望ましい結果を計算する距離に従う加重平均によって結合される。問題のテクセルデータは、動作中のシェーダパイプテクスチャフィルタ110に付随するレベル1キャッシュシステム120から検索・回収される(retrieved)。
In the embodiment shown in FIG. 1, shader
しかし、もし望ましいテクセルデータが望ましい時間にレベル1キャッシュシステム120に無い場合、レベル1キャッシュシステム120は望ましいテクセルデータに対する読み出し要求をレベル2キャッシュシステム130に対して発行する。この場合、要求されたデータは次いで、シェーダパイプテクスチャフィルタ110によって解析され且つ処理されるために、レベル2キャッシュシステム130からレベル1キャッシュシステム120へコピーされる。
However, if the desired texel data is not in the level 1
図2は本発明の実施形態に従いレベル1キャッシュ及びレベル2キャッシュシステムを伴う多重化シェーダパイクテクスチャフィルタの図である。システム200は1つ以上のシェーダパイプテクスチャフィルタを備えており、これらはここでは符号110−1〜110−Nで表されるシェーダパイプテクスチャフィルタ1乃至シェーダパイプテクスチャフィルタNで示され、「N」は1より大きい正の整数を表す。システム200はまた、各シェーダパイプテクスチャフィルタに付随するレベル1キャッシュシステムを備えており、これらはここでは符号120−1〜120Nで表されるL1−1キャッシュシステム乃至L1−Nキャッシュシステムで示され、「N」は1より大きい正の整数を表す。また、レベル1キャッシュシステム120−1〜120Nを一連のレベル2キャッシュシステムにリンクするワイドチャネルメモリバス125が含まれている。この実施形態では、レベル2キャッシュシステムは1つ以上のレベル2キャッシュシステムを含み、これらはここでは符号130−1〜130−Mで表されるL2−1キャッシュシステム乃至L2−Mキャッシュシステムで示され、「M」は1より大きい整数であるが、必ずしもレベル1キャッシュシステムの数Nと同じでなくてよい。
FIG. 2 is a diagram of a multiplexed shader pike texture filter with a level 1 cache and a level 2 cache system in accordance with an embodiment of the present invention. The
図2の実施形態においては、シェーダパイプテクスチャフィルタ110−1〜110Nの各々は、特定のピクセルの色を決定する双線形フィルタリングの概念を採用している。上述したように、各シェーダパイプテクスチャフィルタ110−1〜110Nは、問題のピクセルに最も近い4つのピクセルに対するテクセルデータを解析する必要がある。従って、各シェーダパイプテクスチャフィルタに対する問題のテクセルデータは、それに付随するレベル1キャッシュシステムから検索・回収される。であるから、シェーダパイプテクスチャフィルタ110−1はテクセルデータに対する要求をL1−1キャッシュシステム120−1に対して発行する。残りのシェーダパイプテクスチャフィルタは同様にしてテクセルデータ要求を発行することになる。 In the embodiment of FIG. 2, each of the shader pipe texture filters 110-1 to 110N employs the concept of bilinear filtering that determines the color of a particular pixel. As described above, each shader pipe texture filter 110-1 to 110N needs to analyze the texel data for the four pixels closest to the pixel in question. Thus, the texel data in question for each shader pipe texture filter is retrieved and retrieved from the associated level 1 cache system. Therefore, the shader pipe texture filter 110-1 issues a request for texel data to the L1-1 cache system 120-1. The remaining shader pipe texture filters will similarly issue texel data requests.
しかし、もし任意の特定のシェーダパイプテクスチャフィルタに対する望ましいテクセルデータがそれに付随するレベル1キャッシュシステム120内に存在しなければ、レベル1キャッシュシステムは望ましいテクセルデータに対する読み出し要求をレベル2キャッシュシステム130に対して発行することができる。図2の実施形態には多重化されたレベル2キャッシュシステムがあるので、そのうちの1つ以上がテクセルデータに対するレベル1キャッシュシステム要求に応答することができる。しかしながら、他の実施形態においては、多重化されたシェーダパイプテクスチャフィルタ及び付随するレベル1キャッシュシステムを有している一方で単一のレベル2キャッシュシステムがあってもよい。
However, if the desired texel data for any particular shader pipe texture filter does not exist in the associated level 1
図2に関する他の実施形態においては、1つ以上のレベル1キャッシュシステムは、他のレベル1キャッシュシステムを含む他のリソースの間で共有されるべく画定されたメモリの領域を割り当てることができる。特定の例においては、このアプローチは、要求されたデータが既にレベル2キャッシュシステムからレベル1キャッシュシステムへ移動している場合に、テクセルデータのより速いフェッチ(fetch)時間を可能にする。 In other embodiments with respect to FIG. 2, one or more level 1 cache systems may allocate a region of memory defined to be shared among other resources including other level 1 cache systems. In a particular example, this approach allows a faster fetch time for texel data if the requested data has already been moved from the level 2 cache system to the level 1 cache system.
図3は本発明の実施形態に従いデュアルポートのレベル1キャッシュ及び多重化されたレベル2キャッシュシステムを伴う多重化シェーダパイクテクスチャフィルタの図である。システム300は、各々が2つまでのシェーダパイプテクスチャフィルタを支持する1つ以上のデュアルポートのレベル1キャッシュシステムと、レベル2キャッシュシステムとを備えている。この実施形態では、レベル1キャッシュシステムは2つまでのシェーダパイプテクスチャフィルタをそれらのテクセルデータの要求に対して支持する。この実施形態では、符号320−1〜320−Nで表される1つ以上のレベル1キャッシュシステムL1−1〜L1−Nがあり、Nは正の整数を示す。ここで、各レベル1キャッシュは、シェーダパイプテクスチャフィルタA,310及びシェーダパイプテクスチャフィルタB,312として示される2つのシェーダパイプテクスチャフィルタを支持する。また、レベル1キャッシュ320−1〜320−Nは、L2−1〜L2−Mで表されるレベル2キャッシュシステムへのワイドチャネルメモリバス125を介したアクセスを有しており、Mは正の整数である。
FIG. 3 is a diagram of a multiplexed shader pike texture filter with a dual port level 1 cache and multiplexed level 2 cache system in accordance with an embodiment of the present invention. The
図3に関する他の実施形態においては、1つ以上のレベル1キャッシュシステムは、他のレベル1キャッシュシステムを含む他のリソースの間で共有されるべく画定されたメモリの領域を割り当てることができる。特定の例においては、このアプローチは、要求されたデータが既にレベル2キャッシュシステムからレベル1キャッシュシステムへ移動している場合に、テクセルデータのより速いフェッチ時間を可能にする。 In other embodiments with respect to FIG. 3, one or more level 1 cache systems may allocate a region of memory defined to be shared among other resources including other level 1 cache systems. In a particular example, this approach allows a faster fetch time for texel data if the requested data is already moving from the level 2 cache system to the level 1 cache system.
図4は方法400を示すフローチャートであり、それによりシェーダパイプテクスチャフィルタは、必要に応じてレベル2キャッシュにアクセスする能力を有する主要な記憶方法としてレベル1キャッシュシステムを利用する。方法400はステップ402で開始される。ステップ404では各レベル1キャッシュシステムは、他のリソースの間で共有可能に画定されるメモリ領域を割り当てることができる。ステップ406では、シェーダパイプテクスチャフィルタがそれに付随するレベル1キャッシュシステムに対して読み出し又は書き込み命令を発行する。ステップ408ではレベル1キャッシュシステムが必要に応じてテクセルデータを検索・回収又は書き込みする。ステップ410では、各レベル1キャッシュシステムはレベル2キャッシュシステムに対して読み出し及び書き込み要求を発行することができる。方法400はステップ412で終了する。
FIG. 4 is a flow chart illustrating a
図1、2、3及び4で概説した機能、処理、システム及び方法は、ソフトウエア、ファームウエア若しくはハードウエア又はこれらの組み合わせにおいて実施又は実装され得る。プログラム可能な論理が使用される場合には、当該論理は商業的に入手可能な処理プラットフォーム又は特殊目的デバイス上で実行可能である。 The functions, processes, systems and methods outlined in FIGS. 1, 2, 3 and 4 may be implemented or implemented in software, firmware or hardware, or combinations thereof. If programmable logic is used, the logic can be executed on a commercially available processing platform or special purpose device.
関連分野を含めた当業者に明らかであろうように、ここでの説明に基いて、本発明の実施形態はハードウエア記述言語(HDL)、例えばVerilog又はVHDLを用いたソフトウエアにおいて設計することができる。HDL設計は電子システムの挙動をモデル化することができ、そこでは当該設計は合成され最終的にはハードウエアデバイスへと製造される。また、HDL設計はコンピュータ製品内に記憶されてよく、ハードウエア製造に先立ちコンピュータシステム内に取り込まれてよい。 As will be apparent to those skilled in the art including the relevant fields, based on the description herein, embodiments of the present invention should be designed in software using a hardware description language (HDL) such as Verilog or VHDL. Can do. An HDL design can model the behavior of an electronic system, where the design is synthesized and eventually fabricated into a hardware device. The HDL design may also be stored in a computer product and captured in a computer system prior to hardware manufacture.
概要及び要約部ではなく、詳細な説明部が特許請求の範囲を解釈するために用いられるよう意図されていることが理解されるべきである。概要及び要約部は、発明者によって意図される本発明の1つ以上のしかし全部のではない例示的実施形態を示すことができ、従って本発明及び添付の特許請求の範囲を限定することを意図されるものでは決してない。 It should be understood that the detailed description, rather than the summary and abstract, is intended to be used for interpreting the scope of the claims. The summary and summary section may illustrate one or more, but not all, exemplary embodiments of the present invention contemplated by the inventor, and thus is intended to limit the present invention and the appended claims. Never done.
特定の機能の実装及びそれらの関係を示す機能構成ブロックを用いて本発明が以上のように説明されてきた。それらの機能構成ブロックの境界は説明の便宜のためここでは任意に画定されてきた。特定の機能及びそれらの関係が適切に実行される限りにおいて代替的な境界が画定されてよい。 The present invention has been described above using functional building blocks that indicate the implementation of specific functions and their relationships. The boundaries of these functional blocks have been arbitrarily defined here for convenience of explanation. Alternative boundaries may be defined as long as certain functions and their relationships are properly performed.
特定の実施形態の前述した説明は、他者が、当該分野の技能の範囲内の知識を適用することによって、必要以上の実験を要せず、本発明の一般的概念から逸脱することなしに、当該特定の実施形態を容易に修正し及び/又は種々の応用に適合させることができる程度に、本発明の一般的性質を完全に明らかにするであろう。従って、そのような適合及び修正は、ここに提示される教示及び指針に基き、開示された実施形態と均等なものの意味及び範囲内にあることが意図されている。ここでの表現法及び用語は説明を目的としたものであり限定を目的としてないことが理解されるべきであり、本明細書の表現法及び用語は教示及び指針を考慮して当業者によって解釈されるべきである。 The foregoing description of specific embodiments does not require undue experimentation by others applying knowledge within the skill of the art and without departing from the general concept of the invention. To the extent that the particular embodiments can be readily modified and / or adapted to various applications, the general nature of the invention will be fully clarified. Accordingly, such adaptations and modifications are intended to be within the meaning and scope of the equivalents of the disclosed embodiments, based on the teachings and guidance presented herein. It should be understood that the expressions and terms herein are for illustrative purposes and are not intended to be limiting, and the expressions and terms herein are interpreted by one of ordinary skill in the art in view of the teachings and guidelines. It should be.
本発明の種々の実施形態が上に説明されてきたが、それらは例示のみを目的として提示されたものであり、限定を目的とはしていないことが理解されるべきである。本発明の精神及び範囲から逸脱することなしに、形態及び詳細における種々の変更がここになされ得ることが関連分野をも含めた当業者には明らかであろう。従って、本発明の広さ及び範囲は上述したいかなる例示的実施形態によっても限定されるべきではなく、以下の特許請求の範囲及びそれらと均等なものに従ってのみ画定されるべきである。 While various embodiments of the invention have been described above, it should be understood that they have been presented for purposes of illustration only and are not intended to be limiting. It will be apparent to those skilled in the art, including the relevant fields, that various changes in form and detail may be made herein without departing from the spirit and scope of the invention. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (17)
複数のレベル1キャッシュシステムへのアクセスに対するシェーダパイプフィルタからの読み出し及び書き込み命令を受け取ることと、
前記シェーダパイプフィルタからの前記命令を実行することと、
前記複数のレベル1キャッシュシステムの間で共有されるように画定されるレベル1キャッシュシステム内のメモリ領域を割り当てることと、
前記複数のレベル1キャッシュシステムからレベル2キャッシュシステムへの読み出し及び書き込み要求を管理することと、を備えた方法。 A method for caching shader filter data, comprising:
Receiving read and write instructions from the shader pipe filter for access to multiple level 1 cache systems;
Executing the instruction from the shader pipe filter;
Assigning a memory area within defined by Relais bell 1 cache system to be shared among the plurality of level one cache system,
Managing read and write requests from the plurality of level 1 cache systems to a level 2 cache system.
プロセッサと、
前記プロセッサと通信するメモリと、を備え、
前記メモリは、
複数のレベル1キャッシュシステムへのアクセスに対するシェーダパイプフィルタからの読み出し及び書き込み命令を受け取ることと、
前記シェーダパイプフィルタからの前記命令を実行することと、
前記複数のレベル1キャッシュシステムの間で共有されるように画定されるレベル1キャッシュシステム内のメモリ領域を割り当てることと、
前記複数のレベル1キャッシュシステムからレベル2キャッシュシステムへの読み出し及び書き込み要求を管理することと、を前記プロセッサに指示するための複数の処理命令を記憶するように構成されている、システム。 A system for caching shader filter data,
A processor;
A memory in communication with the processor,
The memory is
Receiving read and write instructions from the shader pipe filter for access to multiple level 1 cache systems;
Executing the instruction from the shader pipe filter;
Assigning a memory area within defined by Relais bell 1 cache system to be shared among the plurality of level one cache system,
A system configured to store a plurality of processing instructions for instructing the processor to manage read and write requests from the plurality of level 1 cache systems to a level 2 cache system.
複数のレベル1キャッシュシステムへのアクセスに対するシェーダパイプフィルタからの読み出し及び書き込み命令を受け取る手段と、
前記シェーダパイプフィルタからの前記命令を実行する手段と、
前記複数のレベル1キャッシュシステムの間で共有されるように画定されるレベル1キャッシュシステム内のメモリ領域を割り当てる手段と、
前記複数のレベル1キャッシュシステムからレベル2キャッシュシステムへの読み出し及び書き込み要求を管理する手段と、を備えたシステム。 A system for caching shader filter data,
Means for receiving read and write instructions from a shader pipe filter for access to a plurality of level 1 cache systems;
Means for executing the instructions from the shader pipe filter;
Means for allocating a memory area of the Relais bell 1 cache system is defined to be shared among the plurality of level one cache system,
Means for managing read and write requests from the plurality of level 1 cache systems to the level 2 cache system.
複数のレベル1キャッシュシステムへのアクセスに対するシェーダパイプフィルタからの読み出し及び書き込み命令を受け取ることと、
前記シェーダパイプフィルタからの前記命令を実行することと、
前記複数のレベル1キャッシュシステムの間で共有されるように画定されるレベル1キャッシュシステム内のメモリ領域を割り当てることと、
前記複数のレベル1キャッシュシステムからレベル2キャッシュシステムへの読み出し及び書き込み要求を管理することと、を備えているコンピュータ可読記憶媒体。 One or more instructions executed by one or more processor-based computer systems that convey one or more sequences of one or more instructions that cause the computer system to perform a method of caching shader filter data A readable storage medium, the method comprising:
Receiving read and write instructions from the shader pipe filter for access to multiple level 1 cache systems;
Executing the instruction from the shader pipe filter;
Assigning a memory area within defined by Relais bell 1 cache system to be shared among the plurality of level one cache system,
Wherein the plurality of levels 1 computer-readable storage medium that includes a managing read and write requests from the cache system level 2 to the cache system, the.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5749208P | 2008-05-30 | 2008-05-30 | |
US61/057,492 | 2008-05-30 | ||
PCT/US2009/003317 WO2009145919A1 (en) | 2008-05-30 | 2009-06-01 | Shader complex with distributed level one cache system and centralized level two cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011523745A JP2011523745A (en) | 2011-08-18 |
JP5832284B2 true JP5832284B2 (en) | 2015-12-16 |
Family
ID=41377446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011511651A Active JP5832284B2 (en) | 2008-05-30 | 2009-06-01 | Shader complex having distributed level 1 cache system and centralized level 2 cache |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2294571A4 (en) |
JP (1) | JP5832284B2 (en) |
KR (1) | KR101427409B1 (en) |
CN (1) | CN102047316B (en) |
WO (1) | WO2009145919A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471943B (en) * | 2018-05-09 | 2024-09-20 | 北京京东尚科信息技术有限公司 | Real-time data statistics apparatus and method, and computer-readable storage medium |
US11507527B2 (en) * | 2019-09-27 | 2022-11-22 | Advanced Micro Devices, Inc. | Active bridge chiplet with integrated cache |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10232825A (en) * | 1997-02-20 | 1998-09-02 | Nec Ibaraki Ltd | Cache memory control system |
US6629188B1 (en) * | 2000-11-13 | 2003-09-30 | Nvidia Corporation | Circuit and method for prefetching data for a texture cache |
JP3620473B2 (en) * | 2001-06-14 | 2005-02-16 | 日本電気株式会社 | Method and apparatus for controlling replacement of shared cache memory |
US6901491B2 (en) * | 2001-10-22 | 2005-05-31 | Sun Microsystems, Inc. | Method and apparatus for integration of communication links with a remote direct memory access protocol |
JP3840966B2 (en) * | 2001-12-12 | 2006-11-01 | ソニー株式会社 | Image processing apparatus and method |
US6871264B2 (en) * | 2002-03-06 | 2005-03-22 | Hewlett-Packard Development Company, L.P. | System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits |
US7069387B2 (en) | 2003-03-31 | 2006-06-27 | Sun Microsystems, Inc. | Optimized cache structure for multi-texturing |
US6862027B2 (en) | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
US7103720B1 (en) | 2003-10-29 | 2006-09-05 | Nvidia Corporation | Shader cache using a coherency protocol |
US7336284B2 (en) * | 2004-04-08 | 2008-02-26 | Ati Technologies Inc. | Two level cache memory architecture |
JP4451717B2 (en) * | 2004-05-31 | 2010-04-14 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus and information processing method |
US7280107B2 (en) * | 2005-06-29 | 2007-10-09 | Microsoft Corporation | Procedural graphics architectures and techniques |
TWI335521B (en) * | 2005-12-19 | 2011-01-01 | Via Tech Inc | Dsp system with multi-tier accelerator architecture and method for operating the same |
WO2007099643A1 (en) * | 2006-03-03 | 2007-09-07 | Fujitsu Limited | Multiprocessor system and operating method of the same |
US20070211070A1 (en) * | 2006-03-13 | 2007-09-13 | Sony Computer Entertainment Inc. | Texture unit for multi processor environment |
US7965296B2 (en) | 2006-06-20 | 2011-06-21 | Via Technologies, Inc. | Systems and methods for storing texture map data |
US20080094408A1 (en) | 2006-10-24 | 2008-04-24 | Xiaoqin Yin | System and Method for Geometry Graphics Processing |
-
2009
- 2009-06-01 KR KR1020107029825A patent/KR101427409B1/en active IP Right Grant
- 2009-06-01 CN CN200980119830.3A patent/CN102047316B/en active Active
- 2009-06-01 WO PCT/US2009/003317 patent/WO2009145919A1/en active Application Filing
- 2009-06-01 JP JP2011511651A patent/JP5832284B2/en active Active
- 2009-06-01 EP EP09755282.2A patent/EP2294571A4/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2009145919A1 (en) | 2009-12-03 |
EP2294571A1 (en) | 2011-03-16 |
KR20110015034A (en) | 2011-02-14 |
CN102047316A (en) | 2011-05-04 |
JP2011523745A (en) | 2011-08-18 |
EP2294571A4 (en) | 2014-04-23 |
CN102047316B (en) | 2016-08-24 |
KR101427409B1 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8195882B2 (en) | Shader complex with distributed level one cache system and centralized level two cache | |
US20200118299A1 (en) | Real time on-chip texture decompression using shader processors | |
US9947084B2 (en) | Multiresolution consistent rasterization | |
US10032242B2 (en) | Managing deferred contexts in a cache tiling architecture | |
KR100965637B1 (en) | Extrapolation of nonresident mipmap data using resident mipmap data | |
US9293109B2 (en) | Technique for storing shared vertices | |
US9286647B2 (en) | Pixel shader bypass for low power graphics rendering | |
US9830741B2 (en) | Setting downstream render state in an upstream shader | |
US9153209B2 (en) | Method and system for generating a displacement map from a normal map | |
US9418616B2 (en) | Technique for storing shared vertices | |
US9720842B2 (en) | Adaptive multilevel binning to improve hierarchical caching | |
US11663767B2 (en) | Power efficient attribute handling for tessellation and geometry shaders | |
KR20180056316A (en) | Method and apparatus for performing tile-based rendering | |
JP6936689B2 (en) | Curve rendering method | |
JP2011522322A (en) | System, method and computer program product for plane filling engines using geometry shaders | |
US9881392B2 (en) | Mipmap generation method and apparatus | |
KR20060116916A (en) | Texture cache and 3-dimensional graphics system including the same, and control method thereof | |
JP5832284B2 (en) | Shader complex having distributed level 1 cache system and centralized level 2 cache | |
US9406101B2 (en) | Technique for improving the performance of a tessellation pipeline | |
US9111360B2 (en) | Technique for improving the performance of a tessellation pipeline | |
US10395424B2 (en) | Method and apparatus of copying data to remote memory | |
JP2008299852A (en) | Method and system for processing texture samples with programmable offset positions | |
US12106418B2 (en) | Sampling for partially resident textures | |
US8749562B1 (en) | Sharing binding groups between shaders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131106 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140205 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140305 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5832284 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |