System for inserting instructions into processor instruction stream in order to perform interrupt processing
First Claim
1. Digital processing apparatus comprisingA. a first instruction source forstoring a plurality of instructions, each associated with a logical program count (PC), and forresponding to a sequence of instruction fetch signals, each designating a PC associated with a requested instruction, for generating an instruction stream including a corresponding sequence of requested instructions,B. a set of interconnected processing elements, said set of processing elements including a first processing element coupled to said first instruction source for normally processing an instruction stream received therefrom,said first processing element including pipeline processing means for processing plural instructions substantially concurrently with one another, said pipeline processing means includingfetch means for generating and applying to said first instruction source an instruction fetch signal designating a logical program count (PC) associated with a requested instruction,execution means for executing, substantially concurrently with generation and application of such instruction fetch signal, a previously received instruction,C. at least one other of said processing elements includinginsert means for generating one or more inserted-instructions and for applying those inserted-instructions to said first processing element to be processed thereby,D. said execution means including means for processing said inserted-instructions in the same manner as instructions received by the first processing element from the first instruction source, and without affecting the generation and application of a sequence of instruction fetch signals by said fetch meansE. said first processing element further including launch quash means, coupled with said execution means, for selectively preventing processing of an instruction received from said first instruction source in response to a prior instruction fetch signal,result quash means for selectively limiting a result of processing by said execution means of any of (i) an inserted-instruction received by said first processing element from said at least one other processing element and (ii) an instruction received from said first instruction source in response to a prior instruction fetch signal.
1 Assignment
0 Petitions
Accused Products
Abstract
Digital multiprocessor methods and apparatus comprise a plurality of processors, including a first processor for normally processing an instruction stream including instructions from a first instruction source. At least one of the processors can transmit inserted-instructions to the first processor. Inserted-instructions are executed by the first processor in the same manner as, and without affecting the sequence of, instructions from the first instruction source. The first instruction source can be a memory element, including an instruction cache element for storing digital values representative of instructions and program steps, or an execution unit (CEU) which asserts signals to the instruction cache element to cause instructions to be transmitted to the CEU. The processors include input/output (I/O) processors having direct memory access (DMA) insert elements, which respond to a peripheral device to generate DMA inserted-instructions. These DMA inserted-instructions are executable by the first processing element in the same manner as, and without affecting processing sequence of, the instructions from the first instruction source.
-
Citations
21 Claims
-
1. Digital processing apparatus comprising
A. a first instruction source for storing a plurality of instructions, each associated with a logical program count (PC), and for responding to a sequence of instruction fetch signals, each designating a PC associated with a requested instruction, for generating an instruction stream including a corresponding sequence of requested instructions, B. a set of interconnected processing elements, said set of processing elements including a first processing element coupled to said first instruction source for normally processing an instruction stream received therefrom, said first processing element including pipeline processing means for processing plural instructions substantially concurrently with one another, said pipeline processing means including fetch means for generating and applying to said first instruction source an instruction fetch signal designating a logical program count (PC) associated with a requested instruction, execution means for executing, substantially concurrently with generation and application of such instruction fetch signal, a previously received instruction, C. at least one other of said processing elements including insert means for generating one or more inserted-instructions and for applying those inserted-instructions to said first processing element to be processed thereby, D. said execution means including means for processing said inserted-instructions in the same manner as instructions received by the first processing element from the first instruction source, and without affecting the generation and application of a sequence of instruction fetch signals by said fetch means E. said first processing element further including launch quash means, coupled with said execution means, for selectively preventing processing of an instruction received from said first instruction source in response to a prior instruction fetch signal, result quash means for selectively limiting a result of processing by said execution means of any of (i) an inserted-instruction received by said first processing element from said at least one other processing element and (ii) an instruction received from said first instruction source in response to a prior instruction fetch signal.
-
11. Digital processing apparatus comprising
A. a first instruction source for responding to a sequence of instruction fetch signals, each designating a logical program count (PC) associated with a requested instruction, for generating an instruction stream including a corresponding sequence of requested instructions, B. a set of interconnected processing elements, said set of processing elements including a first processing element coupled to said first instruction source for normally processing an instruction stream received therefrom, said first processing element including pipeline processing means for processing plural instructions substantially concurrently with one another, said pipeline processing means including fetch means for signal generating and applying to said first instruction source an instruction fetch signal designating a logical program count (PC) associated with a requested instruction, execution means for executing, substantially concurrently with generation and application of such instruction fetch signal, a previously received instruction, C. at least one other of said processing elements including input/output processing means for processing signals received from, and transmitted to, a peripheral device, said input/output processing means including insert means for responding to selected signals from said peripheral device to generate direct memory access (DMA) control instructions and for applying those DMA control instructions to said first processing element to be processed thereby to at least initiate DMA transfers with said peripheral device, D. said execution means including means for processing said DMA control instructions in the same manner as instructions received by the first processing element from the first instruction source, and without affecting the generation and application of a sequence of instruction fetch signals by said fetch means, E. said first processing element further including launch quash means, coupled with said execution means, for selectively preventing processing of an instruction received from said first instruction resource in response to a prior instruction fetch signal, result quash means for selectively limiting a result of processing by said execution means of any of (i) a DMA control instruction received by said first processing element from said input/output processing means and (ii) an instruction received from said first instruction resource in response to a prior instruction fetch signal.
-
20. A method of operating a digital data processor of the type having
a first processing element coupled, along an instruction pipeline, to a first instruction source, wherein said first instruction source stores a plurality of instructions, each associated with a logical program count (PC), and responds to a sequence of instruction fetch signals, each designating a PC associated with a requested instruction, for generating and applying to said instruction pipeline an instruction stream including a corresponding sequence of said requested instructions, said method comprising the steps of processing, with said first processing element, plural instructions substantially concurrently with one another said processing step including generating and applying to said first instruction source, with said first processing element, an instruction fetch signal designating a logical program count (PC) associated with a requested instruction, executing, substantially concurrently with generation and application of such instruction fetch signal, a previously received instruction, generating, with a second processing element one or more inserted-instructions to be processed by the first processing element, and applying those inserted-instructions to said instruction pipeline, processing, with said first processing element and without affecting the sequence of instruction fetch signals generated thereby, said inserted-instructions in the same manner as the instruction stream transferred to said first processing element by said first instruction source along said instruction pipeline, selectively preventing processing of an instruction received from said first instruction resource in response to a prior instruction fetch signal, selectively limiting a result of processing by said execution means of any of (i) an inserted-instruction received by said first processing element from said at least one other processing element and (ii) an instruction received from said first instruction resource in response to a prior instruction fetch signal.
-
21. A method of operating a digital data processor of the type having
a first processing element coupled, along an instruction pipeline, to a first instruction source, wherein said first instruction source stores a plurality of instructions, each associated with a logical program count (PC), and responds to a sequence of instruction fetch signals, each designating a PC associated with a requested instruction, for generating and applying to said instruction pipeline an instruction stream including a corresponding sequence of said requested instructions, said method comprising the steps of processing, with said first processing element, plural instructions substantially concurrently with one another, said processing step including generating and applying to said first instruction source, with said first processing element, an instruction fetch signal designating a logical program count (PC) associated with a requested instruction, executing, substantially concurrently with generation and application of such instruction fetch signal, a previously received instruction, generating, with input/output controller, one or more DMA control instructions for at least initiating DMA transfers with said peripheral device, and applying those DMA control instructions to said instruction pipeline, processing, with said first processing element and without affecting the sequence of instruction fetch signals generated thereby, said DMA control instructions in the same manner as the instruction stream transferred to said first processing element by said first instruction source along said instruction pipeline selectively preventing processing of an instruction received from said first instruction resource in response to a prior instruction fetch signal, selectively limiting a result of processing by said execution means of any of (i) a DMA control instruction received by said first processing element from said input/output controller and (ii) an instruction received from said first instruction resource in response to a prior instruction fetch signal.
Specification