×

Register economy heuristic for a cycle driven multiple issue instruction scheduler

  • US 20020013937A1
  • Filed: 12/21/2000
  • Published: 01/31/2002
  • Est. Priority Date: 02/17/1999
  • Status: Active Grant
First Claim
Patent Images

1. A method for scheduling operations in a basic block comprising the acts of:

  • ordering operations in the block into a data dependency graph (DFG) showing predecessors and successors of each operations;

    scheduling time slots for each level of the DFG;

    assigning a number of predecessors value to each operation node in the DFG indicating the number of predecessors that an operation depends on;

    setting a counter value equal to a first value;

    assigning the first value to a last operation node having the greatest number of predecessors;

    for each operation in the DFG preceding the last operation node, incrementing the counter to obtain an incremented counter value, and, for binary nodes having multiple predecessors, assigning the incremented counter value as an economy priority value to the immediate predecessor having a lower number of dominating predecessors;

    subsequent to assigning a counter value to an operation having a minimum number of dominating predecessors, returning to the binary operation node and assigning the incremented counter value as an economy priority value to the immediate predecessor having the next lowest number of dominating predecessors;

    for a first time slot, listing all ready operations having no unresolved dependencies which may be scheduled to execute in a fixed number of arithmetic/logic channels (ALCs);

    scheduling the fixed number of ready operations in the first time slot having the lowest economy priority values;

    for the second time slot listing all unscheduled ready operations having no unresolved dependencies which may be scheduled to execute in the fixed number of ALCs;

    scheduling the fixed number of ready operations in the second time slot having the lowest economy priority values;

    for all subsequent time slots, listing all unscheduled ready operations having no unresolved dependencies which may be scheduled to execute in the fixed number of ALCs until all operations in the block are scheduled; and

    scheduling the fixed number of ready operations in the subsequent time slots having the lowest economy priority values.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×