Method and apparatus for allocating functional units in a...

Electrical computers and digital processing systems: processing – Processing architecture – Long instruction word

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C718S103000, C718S107000

Reexamination Certificate

active

07007153

ABSTRACT:
A method and apparatus are disclosed for allocating functional units in a multithreaded very large instruction word (VLIW) processor. The present invention combines the techniques of conventional VLIW architectures and conventional multithreaded architectures to reduce execution time within an individual program, as well as across a workload. The present invention utilizes a compiler to detect parallelism. The disclosed multithreaded VLIW architecture exploits program parallelism by issuing multiple instructions, in a similar manner to single threaded VLIW processors, from a single program sequencer, and also supports multiple program sequencers, as in simultaneous multithreading. Instructions are allocated to functional units to issue multiple VLIW instructions to multiple functional units in the same cycle. The allocation mechanism of the present invention occupies a pipeline stage just before arguments are dispatched to functional units. The allocate stage determines how to group the instructions together to maximize efficiency, by selecting appropriate instructions and assigning the instructions to the FUs. The criteria for selection are thread priority or resource availability or both. Under the thread priority criteria, different threads can have different priorities. The allocate stage selects and forwards the packets (or instructions from packets) for execution belonging to the thread with the highest priority according to the priority policy implemented. Under the resource availability criteria, a packet (having up to K instructions) can be allocated only if the resources (functional units) required by the packet are available for the next cycle. Functional units report their availability to the allocate stage.

REFERENCES:
patent: 5404469 (1995-04-01), Chung et al.
patent: 5574939 (1996-11-01), Keckler et al.
patent: 5805852 (1998-09-01), Nakanishi
patent: 5890009 (1999-03-01), Luick et al.
patent: 6044450 (2000-03-01), Tsushima et al.
patent: 6170051 (2001-01-01), Dowling
patent: 6216220 (2001-04-01), Hwang
patent: 6317820 (2001-11-01), Shiell et al.
patent: 0 827 071 (1998-03-01), None
Berkerman et al., “Performance and Hardware Complexity Tradeoffs in Designing Multithreaded Architectures,” IEEE Proceedings of PACT, pp. 24-34 (1996).
Hirata et al., “An Elementary Processor Architecture with Simultaneous Instruction Issuing from Multiple Threads,” Computer Architecture News, Association for Computing Machinery, vol. 20, No. 2, pp. 136-145 (1992).
Mombers et al., “A Multithreaded Multimedia Processor Merging On-Chip Multiprocessors and Distributed Vector Pipelines,” Proceedings of IEEE Inter'l Symposium on Orlando, Florida, pp. 287-290 (1999).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for allocating functional units in a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for allocating functional units in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for allocating functional units in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3639925

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.