MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
First Claim
1. A method for performing a memory transfer operation in a system, wherein the system comprises a memory, a memory controller coupled to the memory, and at least one slave device coupled to the memory, the method comprising:
- the slave device storing a plurality of memory transfer values to identify the transfer, wherein the plurality of values include a byte per row value indicating a number of bytes per row to be read/written, a skip bytes value indicating a number of bytes to be skipped in a row during the read/write transfer, and a number of rows value indicating the number of rows to be read/written in the transfer;
the slave device generating a request to the memory controller;
the memory controller reading said memory transfer values stored by the slave device; and
the memory controller generating addresses to the memory to perform the memory transfer based on said memory transfer values.
7 Assignments
0 Petitions
Accused Products
Abstract
A frame memory interface architecture which is easily adaptable to interface to any of a plurality of frame memory storage architectures. In the preferred embodiment, the present invention comprises an MPEG decoder system and method for decoding frames of a video sequence. The MPEG decoder includes various slave devices which access a single external memory, wherein these slave devices include reconstruction logic or motion compensation logic, a reference frame buffer, display logic, a prefetch buffer, and host bitstream logic, among others. Each of the slave devices is capable of storing or retrieving data to/from the memory according to different frame storage formats, such as a scan line format, a tiled format, and a skewed tile format, among others. The frame memory interface is easily re-configurable to each of these different formats, thus providing improved efficiency according to the present invention. The slave device then generates a request to the memory controller. In response to the request, the memory controller reads the memory transfer values stored by the slave device and sets up an address generation process based on the memory transfer values. The memory controller then generates addresses to the memory according to this address generation process to perform the memory transfer based on the memory transfer values.
-
Citations
27 Claims
-
1. A method for performing a memory transfer operation in a system, wherein the system comprises a memory, a memory controller coupled to the memory, and at least one slave device coupled to the memory, the method comprising:
-
the slave device storing a plurality of memory transfer values to identify the transfer, wherein the plurality of values include a byte per row value indicating a number of bytes per row to be read/written, a skip bytes value indicating a number of bytes to be skipped in a row during the read/write transfer, and a number of rows value indicating the number of rows to be read/written in the transfer; the slave device generating a request to the memory controller; the memory controller reading said memory transfer values stored by the slave device; and the memory controller generating addresses to the memory to perform the memory transfer based on said memory transfer values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A frame memory interface system which accommodates different frame store architectures, comprising:
-
a memory for storing data; a memory controller coupled to the memory which controls accesses to the memory; one or more slave devices coupled to the memory controller, wherein each of said one or more slave devices includes one or more registers for storing a plurality of memory transfer values, wherein said plurality of memory transfer values includes a number of bytes value indicating a number of bytes to be read/written in a row, a skip bytes value indicating a number of bytes to be skipped in a row, and a number of rows value indicating a number of rows to be read/written during the memory transfer, wherein each of said one or more slave devices is configured to program said memory transfer values into said one or more registers according to a desired memory transfer, wherein each of said one or more slave devices is further configured to generate a memory transfer request to said memory controller; wherein the memory controller is configured to read said memory transfer values from said one or more registers in response to receiving a request from one of said slave devices, and wherein said memory controller is further configured to generate addresses to the memory to transfer data to/from the memory based on said memory transfer values. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification