Multiprocessing method and arrangement
First Claim
1. A method for use in a multiprocessor system having a first and a second processor and a plurality of means each for pointing to a procedure to be executed in response to an occurrence of an event to which the means corresponds, wherein execution mode changes from a user mode for executing user program instructions to a privileged mode for executing operating system instructions in response to occurrence of any one of a plurality of events, the method comprising the steps of:
- executing a process in the user execution mode in the first processor;
changing from the user execution mode to the privileged execution mode in the first processor, in response to the occurrence in the first processor of any one of the plurality of events;
executing in the privileged execution mode in the first processor a first procedure pointed to by first means of the plurality of pointing means, the first means corresponding in the first processor to at least the occurred one of the plurality of events; and
transferring the process from the first processor to the second processor for continued execution, by the execution of the first procedure, wherein execution of the procedure pointed to be the pointing means corresponding in the first processor to any one of the plurality of events transfers the process from the first processor to the second processor for continued execution.
1 Assignment
0 Petitions
Accused Products
Abstract
A master-slave multiprocessor (FIG. 1) is formed by connecting a slave processor (25) to an I/O slot of a uniprocessor, and by minimally modifying the uniprocessor'"'"'s operating system. At initialization, one routine (FIG. 5) redirects slave interrupt vectors (200) to point to a common interrupt handler (FIG. 12). Before a process executes on the slave processor, another routine (FIGS. 9 and 10) corrupts execution stack bounds (217, 218) of the process. A non-interrupt operating system call during execution of the process causes an automatic firmware check (FIG. 3) of the execution stack pointer (203) against the stack bounds. Occurrence of an interrupt or encounter of a stack exception results in suspension of process execution and invocation of the interrupt handler or a slave stack exception handler (FIG. 11), respectively. Each handler calls a slave delete routine (FIG. 15) to restore the process'"'"' stack bounds to valid values and to transfer the process for execution to the master processor (12). On the master processor, process execution resumes at the point of suspension, and the operating system service required by the system call or interrupt is carried out.
-
Citations
18 Claims
-
1. A method for use in a multiprocessor system having a first and a second processor and a plurality of means each for pointing to a procedure to be executed in response to an occurrence of an event to which the means corresponds, wherein execution mode changes from a user mode for executing user program instructions to a privileged mode for executing operating system instructions in response to occurrence of any one of a plurality of events, the method comprising the steps of:
-
executing a process in the user execution mode in the first processor; changing from the user execution mode to the privileged execution mode in the first processor, in response to the occurrence in the first processor of any one of the plurality of events; executing in the privileged execution mode in the first processor a first procedure pointed to by first means of the plurality of pointing means, the first means corresponding in the first processor to at least the occurred one of the plurality of events; and transferring the process from the first processor to the second processor for continued execution, by the execution of the first procedure, wherein execution of the procedure pointed to be the pointing means corresponding in the first processor to any one of the plurality of events transfers the process from the first processor to the second processor for continued execution. - View Dependent Claims (2, 3, 4)
-
-
5. In a multiprocessor system having a first and a second processor and a plurality of interrupt vectors each pointing to an interrupt handler to be executed in response to an occurrence of an interrupt to which the interrupt vector corresponds, wherein execution mode changes from a user mode for executing user program instruction to a privileged mode for executing operating system instructions in response to occurrence of any one of a plurality of interrupts, a method of operation comprising the steps of:
-
executing a process in the user execution mode in the first processor, detecting occurrence of one of the plurality of interrupts during execution of the process; changing from the user execution mode to the privileged execution mode in the first processor, in response to the occurrence in the first processor of any one of the plurality of interrupts; executing in the privileged execution mode in the first processor a first interrupt handler pointed to by a first interrupt vector that corresponds to the occurred interrupt in the first processor, the first interrupt vector being one of a plurality of first interrupt vectors each corresponding to a different one of the plurality of interrupts in the first processor, the plurality of first interrupt vectors all pointing to the first interrupt handler; and transferring the process from the first processor to the second processor for continued execution, by the execution of the first interrupt handler, wherein entry of privileged execution mode; during execution of a process in the first processor results in transfer of the process to the second processor for continued execution. - View Dependent Claims (6, 7, 8)
-
-
9. A multiprocessor system comprising:
-
a first and a second processor each operable in either one of a user execution mode for executing user program instructions and a privileged execution mode for executing operating system instructions; a plurality of means each for pointing to a procedure to be executed in response to an occurrence of an event to which the means corresponds, wherein execution of a procedure pointed to be the pointing means corresponding in the first processor to any one of a plurality of events transfers a process executing in the first processor to the second processor for continued execution; means in the first processor for executing a process in the user execution mode and for executing a procedure pointed to be the pointing means in the privileged execution mode; and means in the first processor for causing the executing means to execute a first procedure pointed to be first pointing means of the plurality of pointing means, in response to occurrence in the first processor of one of the plurality of events, the first pointing means corresponding in the first processor to at least the occurred one of the plurality of events, to transfer the process from the first processor to the second processor for continued execution. - View Dependent Claims (10, 11, 12)
-
-
13. A multiprocessor system comprising:
-
a first and a second processor each operable in either one of a user execution mode for executing user program instructions and a privileged execution mode for executing operating system instructions; a plurality of means each for pointing to a procedure to be executed in response to an occurrence of an event to which the means corresponds, wherein execution of the procedure pointed to be the pointing means corresponding in the first processor to any one of a plurality of events transfers a process executing in the first processor to the second processor for continued execution; means in the first processor for executing a process in the user execution mode; means in the first processor for changing operation from the user execution mode to the privileged execution mode in response to the occurrence in the first processor of any one of the plurality of events; and means in the first processor for executing in the privileged execution mode a first procedure pointed to be first pointing means of the plurality of pointing means, the first pointing means corresponding in the first processor to at least the occurred one of the plurality of events, to transfer the process from the first processor to the second processor for continued execution. - View Dependent Claims (14, 15)
-
-
16. A multiprocessor system comprising:
-
a first and a second processor wherein execution mode changes from a user mode for executing user program instructions to a privileged mode for executing operating system instructions in response to occurrence of any one of a plurality of interrupts; a first interrupt handler whose execution transfers a process executing at occurrence of an interrupt in the first processor to the second processor for continued execution; a plurality of interrupt vectors each pointing to an interrupt handler to be executed in response to an occurrence of an interrupt to which the interrupt vector corresponds; means in the first processor, for executing processes in the user execution mode and for executing interrupt handlers pointed to be the interrupt vectors in the privileged execution mode; means in the first processor responsive to occurrence in the first processor of one of a plurality of interrupts, for causing the executing means to execute an interrupt handler pointed to by a first interrupt vector that corresponds to the occurred interrupt in the first processor, the first interrupt vector being one of a plurality of first interrupt vectors each corresponding to a different on of the plurality of interrupts in the first processor, the plurality of first interrupt vectors all pointing to the first interrupt handler, wherein entry of privileged execution mode during execution of a process in the first processor results in transfer of the process to the second processor for continued execution. - View Dependent Claims (17, 18)
-
Specification