Browse Prior Art Database

Programmable Dynamically-Alterable Request Priority Levels

IP.com Disclosure Number: IPCOM000113936D
Original Publication Date: 1994-Oct-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 72K

Publishing Venue

IBM

Related People

Branstad, MW: AUTHOR [+6]

Abstract

A method for modifying the priority encoder to enable a requester's priority to be changed dynamically is disclosed. This enhancement allows more efficient use of a limited resource by allowing requesters that need it most to get access sooner.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Programmable Dynamically-Alterable Request Priority Levels

The following is an example of a normal priority encoder.

Table 1.   Normal Priority Encoder
            Requester                     Resulting priority
                A                  |                1
                B                  |                2
                C                  |                3

      A method for modifying the priority encoder to enable a
requester's priority to be changed dynamically is disclosed.  This
enhancement allows more efficient use of a limited resource by
allowing requesters that need it most to get access sooner.

      Priorities associated with a requester for a service may change
over time, based on the needs of the requester.  The usual methods of
prioritizing requests in hardware is to build a priority encoder and
hardcode the priority for each requester.  This method does not allow
for changing needs of the requesters.  The ability to change the
priority of a requester is advantageous in a multimedia environment
where increased demands on a server requires efficient demand-based
sharing of resources.  A requesters base priority is changed if the
requester asserts one or more priority defining signals.  This was
accomplished by expanding the size of the priority encoder and adding
new requesters which are defined by the base request and a priority
qualifier.  This is similar to increasing the number of requesters
for the service except that the server logic is simplified since the
acknowledging logic only has to handle the base number of requesters.

      The conditions that cause this priority shift can be
programmable, adding flexibility.  An example of this would be a
programmable timer that starts at the beginning of a request and
increases its requester's priority if the timer expires before its
request has been serviced.

      A guaranteed level of service can also be programmable.  An
example of this would be to provide a programmable number of cycles
that a requester is guara...