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

Long latency interrupt handling and input/output write posting

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-07-19
•
Granted: 1999-08-24
•
Expires: 2016-07-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus handles long latency interrupt signals in a computer which posts I/O write operations. The apparatus includes a posting buffer for posting write operations and circuitry for ensuring that End-of-Interrupt (EOI) write operations (and other interrupt controller directed I/O operations) are properly synchronized to prevent false interrupts from reaching the processor. Upon receipt of the EOI write operation, the apparatus verifies that the posting buffer is empty before it imposes a pre-determined delay to ensure sufficient time for the cleared the interrupt signal to be transmitted over the interrupt serial bus. Next, the apparatus checks the interrupt serial bus for activities. If the interrupt serial bus is idle, the EOI write operation is issued to the interrupt controller. Alternatively, the apparatus waits until the serial bus becomes inactive for two back-to-back cycles before allowing the EOI write operation to be issued to the interrupt controller. The back-to-back wait requirement prevents false interrupts from being generated in the event that the cleared interrupt may have missed its transmission window over the current interrupt serial bus cycle, or the event that the cleared interrupt was delayed by any interrupt serial bus transmission latencies.

Inventors

  • 👤 David J. Maguire
  • 👤 James R. Edwards

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 18:27
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 164 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a disk drive coupled to said processor for storing data; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 2
Dependent Claim 164 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a disk drive coupled to said processor for storing data; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 3
Dependent Claim 28 words
The computer system of claim 1, wherein said first bus is a Peripheral Component Interconnect (PCI) bus and said second bus is an Industry Standard Architecture (ISA) bus.
Claim 4
Dependent Claim 15 words
The computer system of claim 1, wherein the interrupt control command is an end-of-interrupt command.
Claim 5
Dependent Claim 22 words
The computer system of claim 3, wherein said interrupt controller is responsive to said end-of-interrupt command to end the interrupt handling sequence.
Claim 6
Dependent Claim 18 words
The computer system of claim 1, wherein the interrupt control command is a read interrupt request register command.
Claim 7
Dependent Claim 16 words
The computer system of claim 1, wherein said interrupt controller is an 8259-compatible programmable interrupt controller.
Claim 8
Dependent Claim 18 words
The computer system of claim 1, wherein said interrupt controller comprises two 8259-compatible programmable interrupt controllers cascaded together.
Claim 9
Dependent Claim 32 words
The computer system of claim 1, wherein said interrupt command blocker blocks the interrupt control command to said interrupt controller for a predetermined delay period after said buffer empty output becomes true.
Claim 10
Dependent Claim 30 words
The computer system of claim 8, wherein said first bus is a PCI bus that has a PCI clock and wherein said predetermined delay period spans fifteen PCI clock periods.
Claim 11
Dependent Claim 56 words
The computer system of claim 1, wherein said interrupt command blocker further comprises a means for retrying the interrupt control command, said retrying means coupled to said first bus, said retrying means causing the first bus to retry the interrupt control command from the processor to the interrupt controller until said buffer empty output becomes true.
Claim 12
Dependent Claim 68 words
The computer system of claim 10, further comprising: a long-latency interrupt bus for transmitting the interrupt request to the processor; a means for asserting a delay after said buffer empty output becomes true; and a means for determining when said long-latency interrupt bus is idle after the completion of said delay, wherein said interrupt command blocker further blocks the interrupt control command in response to said determining means.
Claim 13
Dependent Claim 17 words
The computer system of claim 11, wherein said long-latency interrupt bus is an interrupt serial (IRQSER) bus.
Claim 14
Dependent Claim 52 words
The computer system of claim 11, wherein said interrupt request is serialized before being transmitted over said long-latency interrupt bus and wherein said interrupt controller has a plurality of interrupt inputs, further comprising: a means for converting said serial transmission into the respective interrupt input to be presented to said interrupt controller.
Claim 15
Dependent Claim 40 words
The computer system of claim 11, wherein said retrying means causes the first bus to retry the interrupt control command from the processor to the interrupt controller until said posting buffer is empty and said long-latency interrupt bus is idle.
Claim 16
Dependent Claim 36 words
The computer system of claim 11, wherein said interrupt command blocker waits for a predetermined period after said long latency interrupt bus becomes idle before allowing the interrupt control command to pass to said interrupt controller.
Claim 17
Dependent Claim 21 words
The computer system of claim 15, wherein said predetermined period is equal to at least two back-to-back interrupt serial bus cycles.
Claim 18
Dependent Claim 165 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a disk drive coupled to said processor for storing data; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.
Claim 19
Dependent Claim 165 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a disk drive coupled to said processor for storing data; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.
Claim 20
Dependent Claim 28 words
The computer system of claim 17, wherein said first bus is a Peripheral Component Interconnect (PCI) bus and said second bus is an Industry Standard Architecture (ISA) bus.
Claim 21
Dependent Claim 18 words
The computer system of claim 17, wherein said long latency interrupt bus is an interrupt serial (IRQSER) bus.
Claim 22
Dependent Claim 15 words
The computer system of claim 17, wherein the interrupt control command is an end-of-interrupt command.
Claim 23
Dependent Claim 22 words
The computer system of claim 20, wherein said interrupt controller is responsive to said end-of-interrupt command to end the interrupt handling sequence.
Claim 24
Dependent Claim 16 words
The computer system of claim 17, wherein said interrupt controller is an 8259-compatible programmable interrupt controller.
Claim 25
Dependent Claim 18 words
The computer system of claim 17, wherein said interrupt controller comprises two 8259-compatible programmable interrupt controllers cascaded together.
Claim 26
Dependent Claim 33 words
The computer system of claim 17, wherein said interrupt command blocker delays the interrupt control command to said interrupt controller by a predetermined delay period after said long latency interrupt bus is idle.
Claim 27
Dependent Claim 22 words
The computer system of claim 24, wherein said predetermined delay period is equal to at least two back-to-back interrupt serial bus cycles.
Claim 28
Dependent Claim 57 words
The computer system of claim 17, wherein said interrupt command blocker further comprises a means for retrying the interrupt control command, said retrying means coupled to said first bus, said retrying means causing the first bus to retry the interrupt control command from the processor to the interrupt controller until said long latency interrupt bus becomes idle.
Claim 29
Dependent Claim 67 words
The computer system of claim 26, further comprising: a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said posting buffer having a buffer empty output, wherein said interrupt command blocker blocks the interrupt control command to said interrupt controller until said buffer empty output becomes true and said long latency interrupt bus becomes idle.
Claim 30
Dependent Claim 73 words
The computer system of claim 17, further comprising a: a write posting buffer disposed between said first and second buses for accepting write operations from devices on the first bus to devices on said second bus, said posting buffer having a buffer empty output, wherein said interrupt command blocker blocks the interrupt control command to said interrupt controller until said buffer empty output becomes true and said long latency interrupt bus becomes idle.
Claim 31
Dependent Claim 34 words
The computer system of claim 28, wherein said interrupt command blocker waits for a predetermined period after said buffer empty output becomes true before waiting for said long latency interrupt bus to become idle.
Claim 32
Dependent Claim 33 words
The computer system of claim 29, wherein said first bus is a PCI bus that has a PCI clock and wherein said predetermined period is equal to at least 15 PCI bus cycles.
Claim 33
Dependent Claim 20 words
The computer system of claim 19, wherein said IRQSER bus spans between an expansion base unit and a portable computer.
Claim 34
Independent Claim 172 words
An apparatus for synchronizing commands to an interrupt controller, the apparatus for use in a system having: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; and an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor, the apparatus comprising: an interrupt command blocker for coupling to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker for blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 35
Independent Claim 172 words
An apparatus for synchronizing commands to an interrupt controller, the apparatus for use in a system having: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; and an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor, the apparatus comprising: an interrupt command blocker for coupling to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker for blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 36
Independent Claim 173 words
An apparatus for synchronizing commands to an interrupt controller, the apparatus for use in a system having: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; and an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor, the apparatus comprising: an interrupt command blocker for coupling to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker for blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.
Claim 37
Independent Claim 173 words
An apparatus for synchronizing commands to an interrupt controller, the apparatus for use in a system having: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; and an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor, the apparatus comprising: an interrupt command blocker for coupling to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker for blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.
Claim 38
Dependent Claim 165 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a display coupled to said processor for communicating with a user; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 39
Dependent Claim 165 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a display coupled to said processor for communicating with a user; a device coupled to said second bus, said device generating an interrupt request; a write posting buffer disposed between said first and second buses for accepting write operations from the first bus to said device, said write posting buffer having a buffer empty output; an interrupt controller coupled to said device and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted to receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said buffer empty output and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said buffer empty output being false.
Claim 40
Dependent Claim 166 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a display coupled to said processor for communicating with a user; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted lo receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.
Claim 41
Dependent Claim 166 words
A computer system, comprising: first and second buses providing for expansion; a processor for handling interrupt requests, said processor coupled to said first bus; a display coupled to said processor for communicating with a user; a long latency interrupt bus for communicating interrupt requests to the processor; a device coupled to said second bus and said long latency interrupt bus, said device generating and transmitting an interrupt request over said long latency interrupt bus; an interrupt controller coupled to said long latency interrupt bus and to the processor, said interrupt controller receiving the interrupt request and transmitting said interrupt request to the processor, said interrupt controller adapted lo receive an interrupt control command from the processor; and an interrupt command blocker coupled to said first bus, said long latency interrupt bus and said interrupt controller, said interrupt command blocker blocking the interrupt control command from the processor over said first bus to said interrupt controller in response to said long latency interrupt bus not being idle.

References Cited (Backward Citations)

US5327545A Cited
US5237692A Cited
US5613128A Cited
US5701496A Cited
US5588125A Cited
US5568649A Cited
US5613126A Cited
US5555413A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-23 2003-02-22 2003-08-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-23 2007-02-22 2007-08-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-23 2011-02-22 2011-08-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag