Interrupt-controlled thread processing

Data processing: generic control systems or specific application – Specific application – apparatus or process – Electrical power generation or distribution system

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S207000, C712S210000, C712S212000, C712S222000, C712S228000, C709S241000, C709S241000, C709S241000, C709S241000, C710S260000

Reexamination Certificate

active

06275749

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to thread-oriented processing and, in particular, to multiple-thread processing by the use of contexts.
2. Description of Related Art
In multiple-thread processing, a processor is capable of successively performing a plurality of different processes (commonly referred to as “threads”). Upon the occurrence of a particular event, such as after the elapse of a predetermined time period or upon the receipt of a specific command, the processor suspends performance of one thread, stores a context describing the status of the thread being suspended, and begins performing another thread, which is also described by a respective context. Each “context” describes information needed for the processor either to initiate operation on a new thread or to continue operation on a suspended thread. Typically this information identifies memory addresses containing the initial or next operation of a respective thread to be performed and any data to be operated on.
In order to provide direct and rapid access to stored thread contexts, some processors include multiple banks of local context registers. This, however, is an inflexible arrangement which limits to a fixed quantity the number of threads that can be performed. It is also inefficient whenever the number of threads is smaller than the number of register banks provided.
Alternatively, the multiple contexts can be stored in a separate memory. Various examples of such an approach are described in U.S. Pat. No. 5,349,680. In one of these examples, described in the patent as a conventional information processing apparatus, a main processor includes both an application supporting unit for successively performing operations from different application processes and a system supporting unit for controlling the operation in the information processing apparatus. The efficiency of this arrangement is described as inferior, because the application supporting unit and the system supporting unit are never operated at the same time. U.S. Pat. No. 5,349,680 proposes alternative arrangements utilizing multiple stored contexts, but each of these arrangements requires the use of two separate processors. This is an expensive way to improve efficiency.
SUMMARY OF THE INVENTION
It is an object of the invention to enable rapid and efficient multiple-thread processing by a single processor that does not suffer from the inflexibility of utilizing a fixed number of local context registers.
This and other objects are achieved by utilizing interrupt-controlled swapping of contexts between a processor and a memory. This enables rapid multiple-thread processing with a minimum of hardware and also has the advantage of conserving electrical power requirements. In accordance with the invention, a method is employed which includes:
associating each of the interrupts with a predetermined remote memory location;
storing in the predetermined locations a plurality of thread context pointers, each of said pointers identifying a remote memory location for containing a thread context associated with one of said threads;
producing, in response to the occurrence of any of the interrupts, an address identifying the associated memory location;
reading the thread context pointer from the memory location identified by the address;
reading the thread context from the memory location identified by the thread context pointer read; and
performing the thread associated with the thread context read.
Note that the word “memory”, as used herein, is intended to be interpreted as generally as is consistent with the manner in which it is used and includes, without limitation, volatile and non-volatile devices of various types, such as registers, RAMs, DRAMs, ROMs etc. Further, “local memory” means a memory included in the processor and “remote memory” means a memory not included in the processor. Additionally, “copying” means reading information from one memory and writing it into another.


REFERENCES:
patent: 4074353 (1978-02-01), Woods et al.
patent: 4410939 (1983-10-01), Kawakami
patent: 5142677 (1992-08-01), Ehlig et al.
patent: 5349680 (1994-09-01), Fukuoka
patent: 5353418 (1994-10-01), Nikhil et al.
patent: 5428779 (1995-06-01), Allegrucci et al.
patent: 5438669 (1995-08-01), Nakazawa et al.
patent: 5550993 (1996-08-01), Ehlig ey al.
patent: 5560029 (1996-09-01), Papadopoulos et al.
patent: 5600837 (1997-02-01), Artieri
patent: 5659749 (1997-08-01), Mitchell et al.
patent: 5696957 (1997-12-01), Yamaura et al.
patent: 5724565 (1998-03-01), Dubey et al.
patent: 5742782 (1998-04-01), Ito et al.
patent: 5742822 (1998-04-01), Motomura
patent: 5887166 (1999-03-01), Mallick et al.
patent: 5896517 (1999-04-01), Wilson
patent: 5933627 (1999-08-01), Parady
patent: 0134386A2 (1985-03-01), None
patent: 0565849A2 (1993-10-01), None
patent: WO9203783 (1992-03-01), None
Tsai et al., Performance Study of a Concurrent Multithreaded Processor*, IEEE., pp. 24-35, Jun. 1998.*
Huelsbergen, Dynamic Parallelization of Modifications to Directed Acyclic Graphs, 1996, IEEE, pp. 186-197.

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

Interrupt-controlled thread processing does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Interrupt-controlled thread processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Interrupt-controlled thread processing will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2484866

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