← Back to Patent Explorer
US5925099A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for transporting messages between processors in a multiple processor system

Assignee: Intel Corp
•
Filing: 1995-06-15
•
Granted: 1999-07-20
•
Expires: 2015-06-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A message unit that provides a hardware queue interface between a host processor and a local processor handling I/O operations in an I/O platform. Circuitry manages the head and tail pointers of an inbound free queue, an inbound post queue, an outbound free queue and an outbound post queue. Circuitry is also provided for enabling a host processor or bus agent to access these queues in a single bus transaction by reading or writing inbound port registers or outbound port registers. The queue elements contain handles of message buffers. The invention automatically performs the specific task of locating the next element in a queue, altering that element, and modifying a queue descriptor (i.e., a head or a tail pointer) to indicate the next element for a next queue access. A plurality of registers are used for selectively interrupting either the host processor or the local processor when the queues are written to by either the host processor, a bus agent, or the local processor.

Inventors

  • 👤 William T. Futral
  • 👤 Elliot Garbus
  • 👤 Barry Davis

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 04:59
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126; G06F13/38; G06F13/40; G06F13/4004; G06F13/4027; G06F13/405; G06F13/4059

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 303 words
A messaging unit coupled to a local processor and memory through a local bus, and further coupled to a host processor through a second bus, said messaging unit comprising: a) an inbound free storage means for storing handles of empty message buffers, placed therein by said host processor, for use by bus agents external to said messaging unit; b) an inbound free circuitry means coupled to the inbound free storage means for operating on data in an inbound free storage means, wherein the operation on data by the inbound free circuitry means further includes prefetching information from the inbound free storage means stored in the memory if the inbound free storage means is not empty, loading the inbound free storage means with a predetermined value if the inbound free storage means is empty, and allowing the host processor to read the inbound free storage means if the prefetch operation is completed; c) an inbound post storage means for storing handles of posted messages, placed therein by bus agents external to said messaging unit, for processing by said host processor; and d) an inbound post circuitry means coupled to inbound post storage means for operating on data in an outbound free storage means, wherein the operation on data by the inbound post circuitry means includes detecting if the inbound post storage means is full, returning a retry signal to the host processor if the inbound post storage means is full, and allowing the host processor to write the inbound post storage means if the inbound post storage means is not full and the current value stored in the inbound post storage means has been stored into the inbound post storage means; wherein the messaging unit provides access to the inbound free storage means and the inbound post storage means in a single bus transaction.
Claim 2
Dependent Claim 303 words
A messaging unit coupled to a local processor and memory through a local bus, and further coupled to a host processor through a second bus, said messaging unit comprising: a) an inbound free storage means for storing handles of empty message buffers, placed therein by said host processor, for use by bus agents external to said messaging unit; b) an inbound free circuitry means coupled to the inbound free storage means for operating on data in an inbound free storage means, wherein the operation on data by the inbound free circuitry means further includes prefetching information from the inbound free storage means stored in the memory if the inbound free storage means is not empty, loading the inbound free storage means with a predetermined value if the inbound free storage means is empty, and allowing the host processor to read the inbound free storage means if the prefetch operation is completed; c) an inbound post storage means for storing handles of posted messages, placed therein by bus agents external to said messaging unit, for processing by said host processor; and d) an inbound post circuitry means coupled to inbound post storage means for operating on data in an outbound free storage means, wherein the operation on data by the inbound post circuitry means includes detecting if the inbound post storage means is full, returning a retry signal to the host processor if the inbound post storage means is full, and allowing the host processor to write the inbound post storage means if the inbound post storage means is not full and the current value stored in the inbound post storage means has been stored into the inbound post storage means; wherein the messaging unit provides access to the inbound free storage means and the inbound post storage means in a single bus transaction.
Claim 3
Dependent Claim 110 words
The messaging unit as set forth in claim 1 further comprising a) an outbound retrieve storage means for storing handles of posted messages, placed therein by said local processor, for processing by said host processor; b) an outbound retrieve circuitry means coupled to the outbound retrieve storage means for operating on data in an outbound post storage means; c) an outbound release storage means for storing handles of empty messages, placed therein by bus agents external to said messaging unit, for use by said host processor; and d) an outbound release circuitry means coupled to the outbound release storage means for operating on data in an outbound free storage means.
Claim 4
Dependent Claim 153 words
The messaging unit as set forth in claim 2 wherein the operation on data by the outbound retrieve circuitry means further includes prefetching data from the outbound post storage means if the outbound post storage means is not empty, loading the outbound retrieve storage means with a predetermined value if the outbound post storage means is empty and allowing the host processor to read the outboard retrieve storage means if the prefetch is completed; and wherein the operation on data by the outboard release circuitry means further includes detecting if the outbound free storage means is full, returning a retry signal to the host processor if the outbound free storage means is full, and allowing the host processor to write the outbound release storage means if the outbound free storage means is not full and the current value in the outbound release storage means has been stored into the outbound free storage means.
Claim 5
Dependent Claim 17 words
The messaging unit as set forth in claim 2 wherein the second bus is a PCI bus.
Claim 6
Dependent Claim 15 words
The messaging unit as set forth in claim 2 wherein the storage means are registers.

References Cited (Backward Citations)

US4445176A Cited
US4682284A Cited
US4914653A Cited
US4956771A Cited
US5333269A Cited
US5166674A Cited
US5459839A Cited
US5428766A Cited
US5581705A Cited
US5619687A Cited
US5530933A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-07-19 2003-01-18 2003-07-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-07-19 2007-01-18 2007-07-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-07-19 2011-01-18 2011-07-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag