SYSTEM AND METHOD FOR MEMORY ACCESS
First Claim
1. A method of accessing memory, comprising:
- identifying an element, the element corresponding to a rendered atomic data item;
determining an element precision indicative of a size of the element;
identifying a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location;
iteratively referencing a plurality of elements based on a position in the unit, the position specified based on a coordinate of the element in the unit independently of a memory location in which the element resides; and
moving the referenced elements to a destination.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory controller performs DMA operations on arbitrary sized elements unbounded by the word size of the host memory or processor, which performs operations based on an element that represents an atomic data unit such as a pixel. In this manner, a corresponding coding effort is not concerned with computing and locating word boundaries and accommodating unused bits of data conventionally used for accommodating word boundaries on pixel data for video rendering, for example. An element in memory corresponds to a rendered atomic data item, such as a pixel. The controller determines an element precision indicative of a size of the element, and identifies a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location. The unit has a height and width, defining elements arranged in a grid, and an element position is based on coordinates.
4 Citations
21 Claims
-
1. A method of accessing memory, comprising:
-
identifying an element, the element corresponding to a rendered atomic data item; determining an element precision indicative of a size of the element; identifying a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location; iteratively referencing a plurality of elements based on a position in the unit, the position specified based on a coordinate of the element in the unit independently of a memory location in which the element resides; and moving the referenced elements to a destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A DMA controller, comprising:
-
a plurality of elements, each element corresponding to a rendered atomic data item, each element having an element precision indicative of a size of the element; a unit of memory, the unit based on a memory location and a packed representation of a plurality of the elements relative to the memory location; the unit having a height and width define by coordinates for iteratively referencing a plurality of elements based on a position in the unit, the position specified based on a coordinate of the element in the unit independently of a memory location in which the element resides; at least one instruction for moving the referenced elements to a destination, the instruction configured for referencing an element when the precision of the element is different than a word size of a memory storing the unit. - View Dependent Claims (17, 18, 19)
-
-
20. A computer program product having instructions encoded on a non-transitory computer readable storage medium that, when executed by a processor, perform a method of accessing memory, comprising:
-
identifying an element, the element corresponding to a rendered atomic data item; determining an element precision indicative of a size of the element; identifying a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location; iteratively referencing a plurality of elements based on a position in the unit, the position specified based on a coordinate of the element in the unit independently of a memory location in which the element resides; and moving the referenced elements to a destination.
-
-
21. A video memory, comprising:
-
a plurality of elements, each element corresponding to a rendered atomic data item, each element having an element precision indicative of a size of the element; a unit of memory, the unit based on a memory location and a packed representation of a plurality of the elements relative to the memory location; the unit having a height and width define by coordinates for iteratively referencing a plurality of elements based on a position in the unit, the position specified based on a coordinate of the element in the unit independently of a memory location in which the element resides; at least one instruction for moving the referenced elements to a destination, the instruction configured for referencing an element when the precision of the element is different than a word size of a memory storing the unit; and a rendering device, the destination corresponding to the rendering device for displaying the unit on a pixelated form, the destination retaining the height and width of the unit.
-
Specification