IP Library › Granted Patent US 7,761,691
Granted Patent B2
US 7,761,691 · App. 11/260,722 · Granted Jul 20, 2010

Method for allocating registers using simulated annealing controlled instruction scheduling

Assignee: National Tsing Hua University
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 7,761,691
App. No.
11/260,722
Granted
Jul 20, 2010
Kind
B2
Abstract

A method for scheduling instructions for clustered digital signal processors comprising a plurality of clusters, each cluster including at least two functional units and a first register file having a first unit, a second unit and a single set of access ports shared by the functional units comprises steps of checking whether executing one instruction needs data to be read from the first unit and the second unit of the first register file, generating a copying instruction to transfer data from the first unit to the second unit of the first register file, checking whether there is a prior operation cycle available to perform the copying instruction, scheduling the copying instruction in the prior operation cycle, and scheduling the instruction after the copying instruction.

Claims (16)

1. A method for allocating registers for clustered digital signal processors that have a plurality of clusters, each of the plurality of clusters having at least two functional units, a first register file, a second register file and a third register file, the first register file having a first unit, a second unit and one single set of access ports shared by the functional units, the method comprising:

generating a plurality of instructions for programming codes;

assigning a plurality of virtual registers to each of the first register file and the second register file and the third register file so as to build an initial register file assignment map;

performing a simulated annealing process to the register file assignment map, the step of performing comprising:

making at least one change in the register file assignment map;

performing a schedule process to calculate a temporary schedule with a temporary length for the plurality instructions, wherein the schedule process comprises

determining whether an execution of the instruction requires data to be read from the first and second units of the first register file is true,

generating at least one additional virtual register assigned to the second unit of the first register file so as to receive data transferred from the first unit of the first register file,

generating a copying instruction so as to transfer data from the first unit to the second unit of the first register file,

determining when a prior operation cycle is available to perform the step of generating the copying instruction,

scheduling the copying instruction in the prior operation cycle, and

scheduling the instruction after the generated copying instruction; and

allocating the plurality of virtual registers to the first, second and third register files according to the register assignment map.

2. The method of claim 1 , the step of performing the schedule process comprising:

determining whether the two functional units are required to access the first register file in an operation cycle; and

scheduling one of the two functional units to access the first register file before the other functional unit according to a predetermined priority.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2006
From: TANG, CHUNG LIN; LIN, YUNG CHIA; LEE, JENQ KUEN
To: NATIONAL TSING HUA UNIVERSITY
Reel/Frame 017160/0904 →
Continuity (1)
Related Publication 20070101320A1 · May 3, 2007