Graphics system with configurable caches
First Claim
1. An apparatus comprising:
- a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images;
a plurality of caches configured to store data for the plurality of processing units;
a crossbar configured to couple the plurality of caches to the plurality of processing units;
a control unit configured to ascertain memory utilization by the plurality of processing units and to pre-assign one or more of the plurality of caches to a selected processing unit of the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics, so that the one or more caches is coupled exclusively to the selected processing unit.
1 Assignment
0 Petitions
Accused Products
Abstract
A graphics system includes a graphics processor and a cache memory system. The graphics processor includes processing units that perform various graphics operations to render graphics images. The cache memory system may include fully configurable caches, partially configurable caches, or a combination of configurable and dedicated caches. The cache memory system may further include a control unit, a crossbar, and an arbiter. The control unit may determine memory utilization by the processing units and assign the configurable caches to the processing units based on memory utilization. The configurable caches may be assigned to achieve good utilization of these caches and to avoid memory access bottleneck. The crossbar couples the processing units to their assigned caches. The arbiter facilitates data exchanges between the caches and a main memory.
137 Citations
33 Claims
-
1. An apparatus comprising:
-
a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; a plurality of caches configured to store data for the plurality of processing units; a crossbar configured to couple the plurality of caches to the plurality of processing units; a control unit configured to ascertain memory utilization by the plurality of processing units and to pre-assign one or more of the plurality of caches to a selected processing unit of the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics, so that the one or more caches is coupled exclusively to the selected processing unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An integrated circuit comprising:
-
a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; a plurality of caches configured to store data for the plurality of processing units; a crossbar configured to couple the plurality of caches to the plurality of processing units; and a control unit configured to ascertain memory utilization by the plurality of processing units and to pre-assign one or more of the plurality of caches to a selected processing unit of the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics, so that the one or more caches is coupled exclusively to the selected processing unit.
-
-
23. A wireless device comprising:
-
a graphics processor comprising a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; and a cache memory system comprising a plurality of caches configured to store data for the plurality of processing units, and a crossbar configured to couple the plurality of caches to the plurality of processing units; and a control unit configured to ascertain memory utilization by the plurality of processing units and to pre-assign one or more of the plurality of caches to a selected processing unit of the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics, so that the one or more caches is coupled exclusively to the selected processing unit. - View Dependent Claims (24)
-
-
25. A method comprising:
-
determining memory utilization statistics by a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; pre-assigning a plurality of caches to a processing unit among the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics by the plurality of processing units; and exclusively coupling the processing unit to the plurality of caches based on the pre-assigning. - View Dependent Claims (26, 27)
-
-
28. An apparatus comprising:
-
means for determining memory utilization statistics by a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; means for pre-assigning a plurality of caches to a processing unit among the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics by the plurality of processing units; and means for exclusively coupling the processing unit to the plurality of caches. - View Dependent Claims (29, 30)
-
-
31. A non-transitory computer-readable memory storing code for causing a computer to configure caches comprising:
-
code for causing a computer to determine memory utilization statistics by a plurality of processing units arranged in a pipeline, the plurality of processing units configured to perform graphics operations to render graphics images; code for causing a computer to pre-assign a plurality of caches to a processing unit among the plurality of processing units at the beginning of rendering a frame, image, or batch based on the memory utilization statistics by the plurality of processing units; and code for causing a computer to exclusively couple the processing unit to the plurality of caches based on the pre-assignment. - View Dependent Claims (32, 33)
-
Specification