Method and apparatus to force a thread switch in a multithreaded

Electrical computers and digital processing systems: processing – Processing control – Context preserving (e.g. – context swapping – checkpointing,...

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

712234, 712 23, 712245, 709 8, G06F 944, G06F 924

Patent

active

060761571

ABSTRACT:
A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread will occur. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time. Thread switch logic also has a forward progress count register to prevent repetitive thread switching between threads in the multithreaded processor. Thread switch logic also is responsive to a software manager capable of changing the priority of the different threads and thus superseding thread switch events.

REFERENCES:
patent: 3373408 (1968-03-01), Ling
patent: 3566357 (1971-02-01), Ling
patent: 3568173 (1971-03-01), Klinger
patent: 3594732 (1971-07-01), Mendelson et al.
patent: 3728692 (1973-04-01), Fennel, Jr.
patent: 3771138 (1973-11-01), Celtruda et al.
patent: 3916383 (1975-10-01), Malcolm
patent: 3980991 (1976-09-01), Mercurio
patent: 3980992 (1976-09-01), Levy et al.
patent: 4047161 (1977-09-01), Davis
patent: 4084228 (1978-04-01), Dufond et al.
patent: 4229790 (1980-10-01), Gilliland et al.
patent: 4320453 (1982-03-01), Roberts et al.
patent: 4384324 (1983-05-01), Kim et al.
patent: 4493020 (1985-01-01), Kim et al.
patent: 4532587 (1985-07-01), Roskell et al.
patent: 4590555 (1986-05-01), Bourrez
patent: 4692861 (1987-09-01), May
patent: 4704678 (1987-11-01), May
patent: 4829425 (1989-05-01), Bain, Jr. et al.
patent: 4853849 (1989-08-01), Bain, Jr. et al.
patent: 5050070 (1991-09-01), Chastain et al.
patent: 5079725 (1992-01-01), Geer et al.
patent: 5103394 (1992-04-01), Blasciak
patent: 5148536 (1992-09-01), Witek et al.
patent: 5159686 (1992-10-01), Chastain et al.
patent: 5179702 (1993-01-01), Spix et al.
patent: 5197138 (1993-03-01), Hobbs et al.
patent: 5287508 (1994-02-01), Hejna, Jr. et al.
patent: 5339415 (1994-08-01), Strout, II et al.
patent: 5353418 (1994-10-01), Nikhil et al.
patent: 5357617 (1994-10-01), Davis et al.
patent: 5361334 (1994-11-01), Cawley
patent: 5361337 (1994-11-01), Okin
patent: 5404469 (1995-04-01), Chung et al.
patent: 5408671 (1995-04-01), Tanaka
patent: 5423008 (1995-06-01), Young et al.
patent: 5430850 (1995-07-01), Papadopoulos et al.
patent: 5471593 (1995-11-01), Branigin
patent: 5490272 (1996-02-01), Mathis et al.
patent: 5499349 (1996-03-01), Nikhil et al.
patent: 5515538 (1996-05-01), Kleiman
patent: 5530866 (1996-06-01), Koblenz et al.
patent: 5535361 (1996-07-01), Hirata et al.
patent: 5553305 (1996-09-01), Gregor et al.
patent: 5574939 (1996-11-01), Keckler et al.
patent: 5613114 (1997-03-01), Anderson et al.
patent: 5630128 (1997-05-01), Farrell et al.
patent: 5630136 (1997-05-01), Davidson et al.
patent: 5694603 (1997-12-01), Reiffin
patent: 5694604 (1997-12-01), Reiffin
patent: 5826081 (1998-10-01), Zolnowsky
IBM Technical Disclosure Bulletin, vol. 39, No. 08, Aug. 1996, pp 113-116, Entitled "Algorithm for Instruction Cache Arbitration Among Multiple Instruction Streams".
Eickemeyer et al, "Evaluation of Multithreaded Uniprocessors for Commercial Application Enviornments", 23rd International Symposium on Computer Architecture, pp. 203-212, May 1996.
Song P., "Multithreading Comes of Age", Microdesign Resources, Microprocessor Report, pp. 13-18, Jul. 14, 1997.
Dongarra, Jack J., "A Survey of High Performance Computers", U.S. Government Work, pp. 8-11 (Jan. 10, 1986).
Iannucci, Robert A., "Two Fundamental Issues in Multiprocessing", Laboratory for Computer Science, Massachusetts Institute of Technology, Proceeding of the DFVLR Conference, pp. 61-88 (Jun. 25-29, 1987).
Kuck, David J., "The Burroughs Scientific Processor (BSP)", IEEE Transactions on Computers, vol. C-31, No. 5, pp. 363-376 (May 1982).
Thekkath, Radhika et al, "The Effectiveness of Multiple Hardware Contexts", Department of Computer Science and Engineering, FR-35, University of Washington, pp. 328-337 (1994).
Tomasulo, R. M., "An Efficient Algorithm for Exploiting Multiple Arithmetic Units", IBM Journal, pp. 25-33 (Jan. 1967).
Weber, Wolf-Dietrich et al, "Exploring the Benefits of Multiple Hardware Contexts in a Multiprocessor Architecture: Preliminary Results", The 16th Annual International Symposium on Computer Architecture, IEEE Computer Society Press, pp. 272-280 (1989).
Willis, Dr. John et al, "What is Data-driven, Multithreaded Architecture", IBM Technical Report TR07.2232, pp. 1-21 (Aug. 24, 1995).
Mike Johnson, "Superscalar Microprocessor Design," Prentice Hall, pp. 21, 46-47, 233-235, 268-272, 1991.
Bradley J. Kish and Bruno R. Preiss, "Hobbes: A Multi-Threaded Superscalar Architecture," University of Waterloo, 1994.
Howe's Free On-Line Dictionary of Computing (http://www.instantweb.com/foldoc/), background, foreground, Oct. 1994.
Bernard Karl Gunther, "Superscalar Performance in a Multithreaded Microprocessor," University of Tasmania Hobart, Chapters 2 and 3, Dec. 1993.
Aschenbrenner, R. et al, "Intrinsic Multiprocessing", AFIPS Conference Proceedings, vol. 30, 1967 Spring Joint Computer Conference, pp. 81-86.
Hatch, T. F. Jr. et al, "Hardware/Software Interaction on the Honeywell Model 8200", AFIPS Confe: Proceedings, vol. 33, Part 1, 1968, Fall Joint Computer Conference, pp. 891-901.
Foster, C. C., "Uncoupling Central Processor and Storage Device Speeds", The Computer Journal, vol. 14, No. 1, pp. 45-48.
Anderson, D. W. et al, The IBM System/360 Model 91: Machine Philosophy and Instruction-Handling IBM Journal of Research and Development, vol. 11, 1967, pp. 8-24.
Cook, Robert W. et al, "System Design of a Dynamic Microprocessor", IEEE Transactions on Compute: vol. C-19, No. 3, Mar. 1970, pp. 213-222.
Cull, Thomas C., The Honeywell 8200', Datamation, vol. 11, No. 7, Jul. 1965, pp. 90-91.
Nisenoff, N., "Scratchpad Memories at Honeywell: Past, Present, and Future", AFIPS Conference Proceedings, vol. 27, Part 1, 1965, Fall Joint Computer Conference, pp. 679-688.
"Honeywell 800 System", from the collecitons of the Univeristy of Toledo Libraries, pp. 0-42.
Dreyfus, P., "Programming Design Features of the GAMMA 60 Computer", Proceedings of the Eastern Joint Computer Conference, Dec. 3-5, 1958, pp. 174-181.
Miller, Edward F. Jr., "A Multiple-Stream Registerless Shared-Resource Processor", IEEE Transactions on Computers, vol. C-23, No. 3, Mar. 1974, pp. 277-285.
Culler, Arvind and David E., "Dataflow Architectures", Annual Review Computer Science, 1986, pp. 225-253.
Buehrer, Richard et al, "Incorporating Data Flow Ideas into von Neumann Processors for Parallel Execution", IEEE Transactions on Computers, vol. C-36, No. 12, Dec. 1987, pp. 1515-1522.
Halstead, Robert H. Jr. et al, "MASA: A Multithreaded Processor Architecture for Parallel Symbolic Computing", 15th Annual International Symposium on Computer Architecture, 1988, pp. 443-451.
Agarwal, A. et al, "APRIL: A Processor Architecture for Multiprocessing", Proceedings of the 17th Annual Symposium on Computer Architecture, May 1990, pp. 104-114.
Agarwal, A., "Analysis of Cache Performance for Operating Systems and Multiprogramming", Dissertation Abstracts International, vol. 48, No. 7, Jan. 1988, pp. 2024-B.
Dally, William J. et al, "Architecture of a Message-Driven Processor", 14th Annual International Symposium on Computer Architecture, Jun. 1987, pp. 189-196.
Arvind et al, "A Critique of Multiprocessing von Neumann Style", Proceedings of the 10th ACM International Symposium on Computer Architecture, Jun. 1983, pp. 426-436.
Flynn, Michael J. et al, "An Unconventional Computer Architecture: Shared Resource Multiprocessing", Computer, Mar./Apr. 1972, pp. 20-28.
Shar, Leonard E. et al, "A Multiminiprocessor System Implemented Through Pipelining", Computer, Feb. 1974, pp. 42-51.
Kaminski, W. J. et al, "Developing a Multiple-Inst

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 to force a thread switch in a multithreaded 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 to force a thread switch in a multithreaded, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus to force a thread switch in a multithreaded will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2079084

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