IP Library › Granted Patent US 12,105,646
Granted Patent B2
US 12,105,646 · App. 17/539,367 · Granted Oct 1, 2024

Adaptive out of order arbitration for numerous virtual queues

Inventor: Fataneh Ghodrat (Boxborough, MA)
Assignee: Advanced Micro Devices, Inc.
G06F13/1642G06T1/20G06T1/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,105,646
App. No.
17/539,367
Granted
Oct 1, 2024
Kind
B2
Abstract

A system includes a memory implementing one or more virtual queues and a processor coupled to the memory. In response to issuing one or more requests for data, a processor maps one or more of the requests for data to a return queue structure. The processor then allocates one or more virtual queues to the return queue structure based on the mapped requests. In response to allocating the virtual queues to the return queue, the processor writes the data indicated in the mapped requests to the allotted virtual queues and enables the return queue for arbitration. When the return queue is enabled for arbitration, the processor reads out the data written to the allocated virtual queues, processes the read out data, and provides the processed data to a processing pipeline.

Claims (41)

1. A method comprising:

receiving a request to support a graphics pipeline, wherein the request is associated with a return queue comprising one or more virtual queues representing at least a portion of a memory; and

based on writing data indicated in the request to the one or more virtual queues, arbitrating the return queue by:

deferring arbitration of the return queue until one or more other return queues not including partial quests have been arbitrated based on an indication that one or more requests of the return queue is a partial request, wherein the partial request is associated with a second request indicating data from a number of cachelines and wherein the partial request requests data from a first portion of the number of cachelines and omits requesting data from at least a second portion of the number of cachelines.

2. The method of claim 1 , further comprising:

mapping the request to the return queue; and

allocating a number of virtual queues to the return queue based on the request.

3. The method of claim 1 , further comprising:

based on the one or more virtual queues of the return queue not having a number of free entries necessary to store data indicated in the request, allocating an additional virtual queue to the return queue.

4. The method of claim 3 , further comprising:

storing identification data of the additional virtual queue in a virtual queue of the one or more virtual queues to link the additional virtual queue and the virtual queue of the one or more virtual queues.

5. The method of claim 1 , further comprising:

determining that the request is ready to report,

wherein arbitrating the return queue based on the request is further in response to determining that the request is ready to report.

6. The method of claim 1 , wherein the memory stores a plurality of virtual queues.

7. The method of claim 1 , wherein the request comprises a vector.

8. A processing system, comprising:

a processor coupleable to a memory storing a plurality of virtual queues and configured to:

receive a request to support a graphics pipeline, wherein the request is associated with a return queue comprising one or more virtual queues of the plurality of virtual queues; and

based on writing data related to the request to the one or more virtual queues, arbitrate the return queue by:

deferring arbitration of the return queue until one or more other return queues not including partial quests have been arbitrated based on an indication that one or more requests of the return queue is a partial request, wherein the partial request is associated with a second request indicating data from a number of cachelines and wherein the partial request requests data from a first portion of the number of cachelines and omits requesting data from at least a second portion of the number of cachelines.

9. The processing system of claim 8 , wherein the processor is further configured to:

determine a number of virtual queues based on the request; and

allocate the number of virtual queues to the return queue.

10. The processing system of claim 8 , wherein the processor is further configured to:

based on the one or more virtual queues of the return queue not having a number of free entries necessary to store data indicated in the request, allocate an additional virtual queue of the plurality of virtual queues to the return queue.

11. The processing system of claim 10 , wherein the processor is further configured to:

store identification data of the additional virtual queue in a virtual queue of the one or more virtual queues to link the additional virtual queue and the virtual queue of the one or more virtual queues.

12. The processing system of claim 10 , wherein the processor is further configured to:

based on the additional virtual queue of the plurality of virtual queues being allocated to the return queue, allocate at least a portion of data indicated in the request to the additional virtual queue of the plurality of virtual queues.

13. The processing system of claim 8 , wherein the processor is further configured to:

determine that the request is ready to report,

in response to determining that the request is ready to report, enable arbitration for the return queue.

14. A method, comprising:

mapping a set of requests to support a graphics pipeline to a return queue, the set of requests indicating a plurality of cachelines, wherein the return queue comprises one or more virtual queues representing at least a portion of a memory; and

in response to writing data related to the cachelines indicated in the set of requests to the one or more virtual queues, arbitrating the return queue by:

deferring arbitration of the return queue until one or more other return queues not including partial quests have been arbitrated based on an indication that one or more requests of the return queue is a partial request, wherein the partial request is associated with a second request indicating data from a number of cachelines and wherein the partial request requests data from a first portion of the number of cachelines and omits requesting data from at least a second portion of the number of cachelines.

15. The method of claim 14 , wherein the memory implements a plurality of first in, firs out (FIFO) queues.

16. The method of claim 14 , further comprising:

determining that the set of requests are ready to report,

wherein arbitrating the return queue is further in response to determining that the set of requests are ready to report.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: GHODRAT, FATANEH
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 058396/0850 →
Continuity (2)
Provisional Application 63120029 · Dec 1, 2020
Related Publication 20220171717A1 · Jun 2, 2022