Method and apparatus for disabling a clock signal within a...

Electrical computers and digital processing systems: support – Clock control of data processing system – component – or data... – Inhibiting timing generator or component

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06357016

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to the field of multithreaded processors and, more specifically, to a method and apparatus for disabling a clock signal within a multithreaded (MT) processor.
BACKGROUND OF THE INVENTION
Multithreaded (MT) processor design has recently been considered as an increasingly attractive option for increasing the performance of processors. Multithreading within a processor, inter alia, provides the potential for more effective utilization of various processor resources, and particularly for more effective utilization of the execution logic within a processor. Specifically, by feeding multiple threads to the execution logic of a processor, clock cycles that would otherwise have been idle due to a stall or other delay in the processing of a particular thread may be utilized to service a further thread. A stall in the processing of a particular thread may result from a number of occurrences within a processor pipeline. For example, a cache miss or a branch misprediction (i.e., a long-latency operation) for an instruction included within a thread typically results in the processing of the relevant thread stalling. The negative effect of long-latency operations on execution logic efficiencies is exacerbated by the recent increases in execution logic throughput that have outstripped advances in memory access and retrieval rates.
Multithreaded computer applications are also becoming increasingly common in view of the support provided to such multithreaded applications by a number of popular operating systems, such as the Windows NT® and Unix operating systems. Multithreaded computer applications are particularly efficient in the multi-media arena.
Multithreaded processors may broadly be classified into two categories (i.e., fine or coarse designs) according to the thread interleaving or switching scheme employed within the relevant processor. Fine multithreaded designs support multiple active threads within a processor and typically interleave two different threads on a cycle-by-cycle basis. Coarse multithreaded designs typically interleave the instructions of different threads on the occurrence of some long-latency event, such as a cache miss. A coarse multithreaded design is discussed in Eickemayer, R.; Johnson, R.; et al., “Evaluation of Multithreaded Uniprocessors for Commercial Application Environments”,
The
23
rd Annual International Symposium on Computer Architecture,
pp. 203-212, May 1996. The distinctions between fine and coarse designs are further discussed in Laudon, I; Gupta, A, “Architectural and Implementation Tradeoffs in the Design of Multiple-Context Processors”,
Multithreaded Computer Architectures: A Summary of the State of the Art,
edited by R. A. lannuci et al., pp. 167-200, Kluwer Academic Publishers, Norwell, Mass., 1994. Laudon further proposes an interleaving scheme that combines the cycle-by-cycle switching of a fine design with the full pipeline interlocks of a coarse design (or blocked scheme). To this end, Laudon proposes a “back off” instruction that makes a specific thread (or context) unavailable for a specific number of cycles. Such a “back off” instruction may be issued upon the occurrence of predetermined events, such as a cache miss. In this way, Laudon avoids having to perform an actual thread switch by simply making one of the threads unavailable.
A multithreaded architecture for a processor presents a number of further challenges in the context of an out-of-order, speculative execution processor architecture. More specifically, the handling of events (e.g., branch instructions, exceptions or interrupts) that may result in an unexpected change in the flow of an instruction stream is complicated when multiple threads are considered. In a processor where resource sharing between multiple threads is implemented (i.e., there is limited or no duplication of functional units for each thread supported by the processor), the handling of event occurrences pertaining to a specific thread is complicated in that further threads must be considered in the handling of such events.
Where resource sharing is implemented within a multithreaded processor it is further desirable to attempt increased utilization of the shared resources responsive to changes in the state of threads being serviced within the multithreaded processor.
SUMMARY OF THE INVENTION
According to the present invention, there is provided a method that includes maintaining an indication of a pending event with respect to each of multiple threads supported within the multithreaded processor. An indication of an active or inactive state is maintained for each of the multiple threads supported within the multithreaded processor. A clock disable condition, indicated by the indication of no pending events with respect to each of the multiple threads and inactive state for each of the threads is detected. A clock signal, if enabled, is disabled with respect to at least one functional unit within the multithreaded processor responsive to the detection of the clock disable condition.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.


REFERENCES:
patent: 3771138 (1973-11-01), Celtruda et al.
patent: 5357617 (1994-10-01), Davis et al.
patent: 5386561 (1995-01-01), Huynh et al.
patent: 5404469 (1995-04-01), Chung et al.
patent: 5430850 (1995-07-01), Papadopoulos et al.
patent: 5499349 (1996-03-01), Nikhil et al.
patent: 5524263 (1996-06-01), Griffith et al.
patent: 5761522 (1998-06-01), Hisanga et al.
patent: 5809271 (1998-09-01), Colwell et al.
patent: 5892959 (1999-04-01), Fung
patent: 5968160 (1999-10-01), Saito et al.
patent: 5996085 (1999-11-01), Cheong et al.
patent: 5999932 (1999-12-01), Paul
patent: 6052708 (2000-04-01), Flynn et al.
patent: 6052709 (2000-04-01), Paul
patent: 6088788 (2000-07-01), Borkenhagen et al.
patent: 6092175 (2000-07-01), Levy et al.
patent: 6105127 (2000-08-01), Kimura et al.
patent: 6115709 (2000-09-01), Gilmour et al.
patent: 6212544 (2001-04-01), Borkenhagen et al.
patent: 6256775 (2001-07-01), Flynn
patent: 0 346 003 (1989-06-01), None
patent: 0 352 935 (1989-07-01), None
patent: 0 725 335 (1996-01-01), None
patent: 0747816 (1996-12-01), None
patent: 0 747 816 (1996-12-01), None
patent: 0 827 071 (1998-03-01), None
patent: 0 962 856 (1999-05-01), None
patent: WO 99/21082 (1999-04-01), None
patent: WO99/21088 (1999-04-01), None
“Architectural and Implementation Tradeoffs in the Design of Multiple-Context Processors”, James Laudon, Anoop Gupta and Mark Horowitz,Multithreaded Computer Architecture: A Summary of the State of the Art, chapter 8, pp. 167-200, Kluwer Academic Publishers 1994.
“Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor”, Dean M. Tullsen, Susan J. Eggers, Joel S. Emer, Henry M. Levy, Jack L. Lo and Rebecca L. Stammm,Proceedings of the 23rd Annual International Symposium on Computer Architecture, May 22-24, 1996, pp 191-202.
“Evaluation of Multithreaded Uniprocessors for Commercial Application Environments”, Richard J. Eickemeyer, Ross E. Johnson, Steven R. Kunkel, Mark S. Squillante and Shiafun Liu,Proceedings of the 23rdAnnual International Symposium on Computer Architecture. May 22-24, 1996, pp 203-212.
“Performance Study of a Multithreaded Superscalar Microprocessor”, Manu Gulati and Nader Bagherzadeh,Proceedings Second International Symposium on High-Performance Computer Architecture, Feb. 3-7, 1996 pp 291-301.
“A Benchmark Evaluation of a Multi-Threaded RISC Processor Architecture”, R. Guru Prasadh and Chuan-lin Wu,1991 International Conference on Parallel Processing, pp I-84-I91.
“Multithreading Comes of Age”, Peter Song,Microdesign Resources, Jul. 14, 1997, pp 13-18.
“Instruction Cache Fetch Policies for Speculative Execution”, Dennis Lee, Jean-Loup Baer, Brad Calder and Dirk Grunwald, 22ndInternational Symposium on Computer Architecture, Jun. 1995.
“Multithreading for Rookies”, Ruediger R. Asche, http://www.microsoft.com/win32dev/base/threads.htm,

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 disabling a clock signal within 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 disabling a clock signal within a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for disabling a clock signal within a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2816319

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