Patent ID: 7475190
Filing Date: 2009-01-06
Classification: G06F

Abstract:
1. A method of transferring data generated by a central processing unit (CPU) to a graphics processing unit (GPU) without writing the generated data to external memory, comprising: allocating a plurality of cache lines of a cache residing on the CPU for use in a lock set, wherein the plurality of cache lines comprise less than a total number of cache lines of the cache; storing, by the CPU, data in one or more cache lines allocated to the lock set; providing, by the CPU, an indication to the GPU of the availability of the data stored in the one or more cache lines; receiving, by the CPU, a request from the GPU for data stored in one or more cache lines allocated to the lock set; without writing the data stored in the one or more cache lines to the external memory, transferring the data stored in the one or more cache lines from the CPU to a processing core within the GPU and processing the data by the GPU; wherein providing, by the CPU, an indication to the GPU of the availability of the data stored in the one or more cache lines comprises writing, by the CPU, a value to a pointer on the GPU; wherein receiving, by the CPU, a request from the GPU for data stored in one or more cache lines allocated to the lock set comprises receiving a request to read with no intent to cache (RWNITC); and wherein a memory controller is integrated with the GPU; and receiving, by the memory controller, a request for data from a processing core of the GPU and routing the request to the CPU or an external memory depending on an address supplied with the request, wherein routing the request to the CPU or external memory depending on the address supplied with the request comprises: