EP0658841A2

A data processing system having a dynamic priority task scheduler.

Abstract

A data processing system includes a server which has a task scheduler for receiving task requests for access, and granting access to system resources based upon a multidimensional scheduling technique wherein groups of tasks are assigned a priority level within a priority scheme, and within each group round robin scheduling assures each task will have access to system resources in turn and a dynamically programmable technique for responding to requests from time- dependent isochronous requests for system resources.

EP0658841A2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Projected expiry passed 26 October 2014, 11.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 3 independent, 7 dependent

  1. 1
    A data processing system having a dynamic priority task scheduler, comprising:a processor for processing tasks;a memory, for storing control information and data, associated with said processor;a system bus for communicating control information and data between said processor and said memory;a bus controller connected to said processor and said memory by said system bus and to a data bus for controlling data flow between said processor, said memory and said data bus, and for scheduling tasks presenting requests for access to said processor, to said memory or to other system resources, based on a task arbitration strategy which includes an integrated plurality of access granting means for handling isochronous as well as priority level based requests;a data bus for communicating data from said processor or said memory to one or more data interface units;one or more data interface units for communicating control and data signals between said data bus and a plurality of devices requesting access to said processor or said memory;and a plurality of devices requesting access to said system resources.
  2. 6
    A method for dynamically scheduling a plurality of tasks in a data processing system, comprising the steps of:requesting, by a plurality of tasks, access to elements of said data processing system;determining a first priority level for each request presented;granting access to a request having a highest first priority level for requests having different first priority levels;determining if two or more requests for access have a same first priority level;storing said two or more requests in a queue if said determining step indicates two or more requests have a same first priority level;granting access to each of said two or more requests in turn such that all of said two or more requests are granted access to elements of said data processing system;and servicing said requests.
  3. 8
    A task scheduler for granting access to system resources in a data processing system in response to a plurality of requests for access, comprising:means for determining a first priority level for each of said requests for access;means for granting access to a request having a highest first priority level among two or more requests having different first priority levels;means for storing said two or more requests in a queue if it is determined that two or more requests have a same first priority level;and means for granting access to each of said two or more requests having a same first priority level in a predetermined sequence such that all of said requests are granted access to said system resources.