Patent US5822578A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5822578A Expired / Lapsed US ⏱️ 0.0 years remaining

System for inserting instructions into processor instruction stream in order to perform interrupt processing

Assignee: Sun Microsystems Inc
•
Filing: 1995-06-05
•
Granted: 1998-10-13
•
Expires: 2015-06-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Steven Frank
  • 👤 Henry Burkhardt, III
  • 👤 Frederick D. Weber
  • 👤 Linda Q. Lee
  • 👤 John A. Roskosz
  • 👤 Brett D. Byers
  • 👤 Peter C. Schnorr
  • 👤 David I. Epstein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 20:46
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F11/00; G06F11/004; G06F11/07; G06F11/0703; G06F11/0706; G06F11/0721; G06F11/0724; G06F11/073; G06F11/0766; G06F11/0772; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0811; G06F12/10; G06F9/30; G06F9/30003; G06F9/3005; G06F9/38; G06F9/3824; G06F9/383; G06F9/3836; G06F9/3842; G06F9/3851; G06F9/3854; G06F9/3858; G06F9/3861; G06F9/3865; G06F9/468; G06F9/52; H; H04; H04L; H04L12/00; H04L12/28; H04L12/46; H04L12/4637; H04L45/00; H04L45/02; H04L45/04; G06F12/12; G06F12/121; G06F12/126; G06F2212/00; G06F2212/27; G06F2212/272

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 317 words
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.
Claim 2
Dependent Claim 317 words
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.
Claim 3
Dependent Claim 44 words
Apparatus according to claim 1, further comprising instruction pipeline means for interconnecting said processing elements and said first instructions source for carrying said instructions, and wherein said insert means includes means for applying one or more of said inserted-instructions to said instruction pipeline means.
Claim 4
Dependent Claim 20 words
Apparatus according to claim 1, wherein said inserted-instructions have the same format as the instructions from the first instruction source.
Claim 5
Dependent Claim 31 words
Apparatus according to claim 3, wherein said format includes a selected number of digital instruction bits, wherein at least a first set of said instruction bits form a first instruction field.
Claim 6
Dependent Claim 34 words
Apparatus according to claim 3, wherein said format includes a first set of digital instruction bits for specifying selected address signals, and a second set of digital instruction bits, for specifying selected command signals.
Claim 7
Dependent Claim 14 words
Apparatus according to claim 1, wherein said first instruction source includes a memory element.
Claim 8
Dependent Claim 21 words
Apparatus according to claim 6, wherein said memory element includes an instruction cache element for storing digital values representative of instructions.
Claim 9
Dependent Claim 41 words
Apparatus according to claim 7, wherein said first processing element includes an execution unit (CEU), said CEU including means for asserting signals to said instruction cache element to cause instructions to be transmitted from said instruction cache element to said CEU.
Claim 10
Dependent Claim 18 words
Apparatus according to claim 7, wherein said instructions include cache management instructions inserted by said instruction cache element.
Claim 11
Dependent Claim 19 words
Apparatus according to claim 7, wherein said instruction cache element includes means for storing instructions representative of program steps.
Claim 12
Dependent Claim 349 words
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.
Claim 13
Dependent Claim 349 words
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.
Claim 14
Dependent Claim 27 words
Apparatus according to claim 11, wherein said input/output processing means includes a peripheral interface unit (XIU) for controlling signals received from, and transmitted by, a peripheral device.
Claim 15
Dependent Claim 22 words
Apparatus according to claim 11, wherein said input/output processing means includes graphics controller means for controlling signals transmitted to a display device.
Claim 16
Dependent Claim 21 words
Apparatus according to claim 11, wherein said input/output processing means includes text searching means for searching data structures representative of text.
Claim 17
Dependent Claim 67 words
Apparatus according to claim 1 or 11, wherein at least a selected one of said processing elements includes at least a first register element associated with that processing element for storing digital values representative of data, and said insert means includes means for generating and applying to that selected processing element instructions to control movement of data into and out of at least said first register element.
Claim 18
Dependent Claim 71 words
Apparatus according to claim 1 or 11, wherein at least a selected one of said processing elements includes at least a first register element associated with that processing element for storing digital values representative of data, and said insert means includes means for generating and applying to that selected processing element instructions to cause execution of selected logical operations on selected digital values stored in at least said first register element.
Claim 19
Dependent Claim 64 words
Apparatus according to claim 1 or 11, wherein at least one of said processing elements includes trap means, responsive to a trap signal, for initiating a trap sequence, said trap sequence including selected program steps to be executed in response to a trap signal, and said insert means includes means for generating and applying to that processing element instructions for generating a trap signal.
Claim 20
Dependent Claim 64 words
Apparatus according to claim 1 or 11, wherein at least one of said processing elements includes interrupt means, responsive to an interrupt signal, for initiating an interrupt sequence, said interrupt sequence including selected program steps to be executed in response to an interrupt signal, and said insert means includes means for generating and applying to that processing element instructions for initiating an interrupt sequence.
Claim 21
Dependent Claim 22 words
Apparatus according to claim 18, wherein said interrupt means includes means for generating a trap signal in response to an interrupt signal.
Claim 22
Independent Claim 284 words
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.
Claim 23
Independent Claim 284 words
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.
Claim 24
Independent Claim 288 words
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.
Claim 25
Independent Claim 288 words
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.

References Cited (Backward Citations)

GB176918A Cited
US3731002A Cited
USRE28811E Cited
US3713096A Cited
US3748647A Cited
US3896418A Cited
US3749897A Cited
US3735362A Cited
US3723976A Cited
US3800291A Cited
US4011545A Cited
US4031512A Cited
US4077059A Cited
US4240136A Cited
US4409651A Cited
US4358823A Cited
US4141067A Cited
US4240143A Cited
US4484262A Cited
EP0014926A1 Cited
US4334305A Cited
US4293910A Cited
GB2065941A Cited
US4275458A Cited
US4322795A Cited
US4468733A Cited
US4410944A Cited
EP0233993A2 Cited
US4510492A Cited
US4399507A Cited
US4476524A Cited
US4488256A Cited
US4714990A Cited
US4553203A Cited
WO1984001635A1 Cited
US4497023A Cited
US4625081A Cited
JPS59103166A Cited
US4498136A Cited
US5212773A Cited
US4598400A Cited
US4768144A Cited
US4604694A Cited
US4646271A Cited
US4646271B1 Cited
US4622631B1 Cited
US4622631A Cited
US4792895A Cited
US4700347A Cited
US5067071A Cited
US4811009A Cited
US4972338A Cited
EP0214718A2 Cited
US4706080A Cited
US4734907A Cited
US4829227A Cited
US4701756A Cited
US4709324A Cited
WO1987003394A1 Cited
US5060186A Cited
US4730249A Cited
US4758946A Cited
US4903196A Cited
US4780873A Cited
US4864495A Cited
EP0262750B1 Cited
US4951193A Cited
EP0264235A2 Cited
US4845702A Cited
US4888726A Cited
US4984235A Cited
WO1988008652A1 Cited
US5063497A Cited
US4797880A Cited
US4928224A Cited
US4980816A Cited
US5119481A Cited
US5226039A Cited
US5055999A Cited
EP0322117A2 Cited
EP0322818A2 Cited
US5025366A Cited
US4885742A Cited
WO1989009446A1 Cited
US5101402A Cited
WO1990000283A1 Cited
US4930106A Cited
US5025365A Cited
US5136717A Cited
US5101485A Cited
US5101485B1 Cited
US5226175A Cited
US5226109A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-12 2002-04-13 2002-10-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-12 2006-04-13 2006-10-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-12 2010-04-13 2010-10-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag