Claims
- 1. A system comprising:a shared memory; and a plurality of processing elements coupled to said shared memory, wherein at least one of said plurality of processing elements comprises a processing unit, a direct memory access controller and a plurality of attached processing units, wherein said direct memory access controller comprises an address translation mechanism, wherein said plurality of attached processing units are configured to access said shared memory using said direct memory access controller.
- 2. The system as recited in claim 1, wherein said plurality of attached processing units is configured to issue a request to an associated direct memory access controller to access said shared memory, wherein said request specifies a range of addresses to be accessed as virtual addresses.
- 3. The system as recited in claim 2, wherein said associated direct memory access controller is configured to translate said range of virtual addresses to be accessed.
- 4. The system as recited in claim 3, wherein said associated direct memory access controller translates said range of virtual addresses to be accessed by retrieving an associated range of physical addresses from said address translation mechanism.
- 5. The system as recited in claim 4, wherein said associated direct memory access controller comprises a manager, wherein said manager is configured to search said address translation mechanism for said associated range of physical addresses.
- 6. The system as recited in claim 3, wherein said associated direct memory access controller translates said range of virtual addresses to be accessed by retrieving an associated range of physical addresses from a page table in said shared memory.
- 7. The system as recited in claim 6, wherein said associated direct memory access controller comprises a manager, wherein said manager is configured to search said page table in said shared memory for said associated range of physical addresses.
- 8. The system as recited in claim 3, wherein said range of virtual addresses to be accessed are translated into an associated range of physical addresses, wherein said associated range of physical addresses are pinned.
- 9. The system as recited in claim 1, wherein said address translation mechanism comprises a translation lookaside buffer.
- 10. A method for attached processing units accessing a shared memory in a system comprising the steps of:issuing a request to an associated direct memory access controller to access said shared memory, by an attached processing unit element that does not contain an address translation mechanism, wherein said request specifies a range of addresses to be accessed as virtual addresses; and translating said range of virtual addresses to be accessed to an associated range of physical addresses by said associated direct memory access controller.
- 11. The method as recited in claim 10, wherein said associated direct memory access controller translates said range of virtual addresses to be accessed by retrieving said associated range of physical addresses from an address translation mechanism.
- 12. The method as recited in claim 11, wherein said address translation mechanism is a translation lookaside buffer.
- 13. The method as recited in claim 10, wherein said associated direct memory access controller translates said range of virtual addresses to be accessed by retrieving said associated range of physical addresses from a page table in said shared memory.
- 14. The method as recited in claim 10, wherein said associated range of physical addresses are pinned.
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention is related to the following U.S. Patent Applications which are incorporated herein by reference:
Ser. No. 09/736,356 entitled “Token Based DMA” filed Dec. 14, 2000.
Ser. No. 09/736,582 entitled “Reduction of Interrupts in Remote Procedure Calls” filed Dec. 14, 2000.
US Referenced Citations (10)