Prioritized bus request scheduling mechanism for processing devices
AssigneeIntel Corporation
InventorsDavid L. Hill, Derek T. Bachand
Life of this patent
Estimating the term…
Abstract
A scheduler stores data to be scheduled. The scheduler may include an array that identifies relative priorities among the queue entries according to a first priority scheme, such as by age. The scheduler also may include a priority register array identifying relative priorities among the queue entries according to a second priority scheme, such as by data type. A plurality of detectors coupled to the array and to the priority register array may determine which data is to be scheduled next.
Claims23
A scheduler, comprising:
- a memory for data to be scheduled,
- an array identifying relative priorities among the queue entries according to a first priority scheme, and
- a priority register array identifying relative priorities among the queue entries according to a second priority scheme, and
- a plurality of detectors, coupled to the array and the priority register array.
An external transaction queue, comprising:
- a plurality of queue entries storing data related to pending requests,
- a priority matrix, comprising:
- an age array identifying relative ages of the data in the queue entries, and
- a priority register array having a mask register for each of a plurality of request types, each mask register having flag positions corresponding to each of the queue entries, the flag position provided in communication with a corresponding entry in the array.
An external transaction queue, comprising:
- a plurality of queue entries storing data related to pending requests,
- a priority matrix, comprising:
- an age array identifying relative ages of the data in the queue entries, and
- a priority register array having mask registers for data fill requests and eviction requests being processed by the transaction queue, each mask register having flag positions corresponding to each of the queue entries, the flag position provided in communication with a corresponding entry in the array.
A scheduling method for an agent that processes core read requests, prefetch requests and write requests, comprising:
- if the agent has a core read request pending, scheduling an oldest core read request,
- otherwise, if the agent has a prefetch request pending, scheduling an oldest prefetch request,
- otherwise, if the agent has a write request pending, scheduling an oldest write request.
Dependencies are inferred from the claim text.