Frame buffer cache for graphics applications
First Claim
Patent Images
1. A cache for storing data in first and second formats, comprising:
- an array of storage elements including one or more tiles, each tile comprised of m rows and n columns of storage elements, each of said m rows of storage elements representing data having a first format, and each of said n columns of storage elements representing data having a second format different that said first format;
a first input bus, coupled to said storage elements of one of said tiles, for writing data in said first format into said n storage elements of a selected row of said tile;
a first output bus, coupled to said storage elements of said one of said tiles, for reading data from said n storage elements of said selected row of said tile to generate said data in said first format;
a second input, bus coupled to said storage elements of said one of said tiles, for writing data in said second format into said m storage elements of a selected column of said tile; and
a second output bus, coupled to said storage elements of said one of said tiles for reading data from said m storage elements of said selected column of said tile to generate data in said second format.
3 Assignments
0 Petitions
Accused Products
Abstract
A frame buffer cache includes a dual-input, dual-output storage cell to multiplex frame buffer tile data and pixel data. Tile data stored in one format while pixel data is stored in a second format. The cache allows for buffering the data in the two different formats so as to provide the data in the format as needed. Pixel data is retrieved from the tile data and file data is retrieved from the pixel data. The storage cell includes a multiple-bit latch and tri-state buffers which connect each storage cell to a tile data bus and a pixel data bus. A number of bus lines and components are reduced due to the use of the tri-state buffers.
79 Citations
23 Claims
-
1. A cache for storing data in first and second formats, comprising:
-
an array of storage elements including one or more tiles, each tile comprised of m rows and n columns of storage elements, each of said m rows of storage elements representing data having a first format, and each of said n columns of storage elements representing data having a second format different that said first format; a first input bus, coupled to said storage elements of one of said tiles, for writing data in said first format into said n storage elements of a selected row of said tile; a first output bus, coupled to said storage elements of said one of said tiles, for reading data from said n storage elements of said selected row of said tile to generate said data in said first format; a second input, bus coupled to said storage elements of said one of said tiles, for writing data in said second format into said m storage elements of a selected column of said tile; and a second output bus, coupled to said storage elements of said one of said tiles for reading data from said m storage elements of said selected column of said tile to generate data in said second format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A dual input, dual output n-bit storage cell having first and second input data buses and first and second output data buses, the storage cell comprising:
-
a latch having a latch input bus and a latch output bus; a first input buffer connected between the first input data bus and the latch input bus to operatively couple the first input data bus to the latch input bus; a second input buffer connected between the second input data bus and the latch input bus to operatively couple the second input data bus to the latch input bus; a first output buffer connected between the latch output bus and the first output data bus to operatively couple the latch output bus to the first output data bus; and a second output buffer connected between the latch output bus and the second output data bus to operatively couple the latch output bus to the second output data bus; an OR-gate having first and second inputs connected, respectively, to the first and second input buffer select lines and an output connected to an enable input of the latch, wherein the latch is enabled when at least one of the first and second input data buses is coupled to the latch. - View Dependent Claims (12)
-
-
13. A graphics system for processing and storing data in a first format and a second format, the system comprising:
-
a memory for storing pixel data in the first format and frame buffer data in said second format, said memory including a bi-directional port; a cache having storage elements arranged in m rows and n columns, for storing data in said first format in selected rows of said array of storage elements, and for storing data in said second format in selected columns of said array of storage elements; and a controller for coupling pixel data in said first format to and from said n storage elements of at least one selected row of said storage elements in said cache and for coupling frame buffer data in said second format to and from said m storage elements of at least one selected column of said storage elements from and to said memory through said bi-directional port. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method of storing and providing data in a first format and a second format different than the first format in an apparatus having a plurality of storage devices connected in an n row and m column configuration, each row of storage devices representing data having the first format, and each column of storage devices representing data having the second format, each storage device having first and second inputs connected, respectively, to first and second input buses and having first and second outputs connected, respectively, to first and second output buses, the method including the steps of:
-
(a) providing input data in the first format on the first input bus; (b) storing a respective segment of the input data in a respective storage device in a selected row of the apparatus; (c) repeating steps (a)-(b) for each row of storage devices; and (d) outputting to the second output bus the data in each of m storage devices in at least one column to generate data in said second format. - View Dependent Claims (20, 21, 22)
-
-
23. A frame buffer assembly comprising:
-
a single port frame buffer, wherein said single port is utilized to render data to said frame buffer and for reading data for display from said frame buffer; and a dual port, multiple format frame buffer cache comprising, frame buffer data input and output ports coupled to said single port frame buffer for transferring data in a frame buffer format; pixel data input and output ports for transferring data in a pixel data format; an array of storage elements including one or more tiles, each tile comprised of m rows and n columns of storage elements, each of said n rows of storage elements representing data having a first format, and each of said m columns of storage elements representing data having a second format different that said first format; a first input bus, coupled to said storage elements of one of said tiles, for writing data in said first format into said n storage elements of a selected row of said tile; a first output bus, coupled to said storage elements of said one of said tiles, for reading data from said n storage elements of said selected row of said tile to generate said data in said first format; a second input, bus coupled to said storage elements of said one of said tiles, for writing data in said second format into said m storage elements of a selected column of said tile; and a second output bus, coupled to said storage elements of said one of said tiles for reading data from said m storage elements of said selected column of said tile to generate data in said second format.
-
Specification