Electrical computers and digital processing systems: processing – Processing architecture – Vector processor
Reexamination Certificate
1999-01-04
2001-06-26
Coleman, Eric (Department: 2183)
Electrical computers and digital processing systems: processing
Processing architecture
Vector processor
C712S030000
Reexamination Certificate
active
06253304
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This application relates to co-pending application Ser. No. 08/224,820, filed the same day as this application, entitled ADDRESS SPACE CONVERSION TO RETAIN SOFTWARE COMPATIBILITY IN NEW ARCHITECTURES, by Larry Hewitt and Greg Smaus, which application is hereby incorporated by reference in its entirety.
2. Description of the Related Art
Many of today's multiprocessor computer systems utilize an interrupt scheme known as the advanced programmable interrupt controller (APIC). The APIC interrupt scheme allows hardware generated interrupts to be distributed to central processing units (CPUs) such that interrupts tend to avoid CPUs that are busy with higher priority tasks and interrupts tend to be assigned to CPUs that are involved in lower priority tasks. Also, the APIC interrupt approach allows CPUs to send interrupts to other CPUs via what is called an interprocessor interrupt (IPI). The APIC register set has become an industry-wide standard in the personal computer industry and is used by a large number of multiprocessing operating systems.
The APIC scheme includes two distinct interrupt controllers that typically reside on separate integrated circuits. One integrated circuit is called the input/output (I/O) APIC, which typically resides on the industry standard architecture (ISA) bus of a personal computer system. The second integrated circuit is the local integrated circuit or local APIC, which typically resides with each CPU either inside the CPU package or linked to the CPU via its host bus interface. Thus, there is one local APIC for each CPU in the system. The I/O APIC includes input pins that are driven by sources of hardware interrupts. The local APIC includes interrupt prioritization logic and methods for sending and receiving interrupts from external sources such as other local APICs or the I/O APIC.
A typical prior art APIC configuration is illustrated in FIG.
1
. Each CPU
10
,
12
,
14
, and
16
has a corresponding local APIC
11
,
13
,
15
, and
17
. The local APICs are all connected via APIC bus
20
. Also attached to APIC bus
20
is I/O APIC
22
which is typically incorporated in an input/output integrated circuit
24
.
The APIC bus
20
allows the various local APICs and the I/O APIC to communicate with each other. Thus, interrupts from, e.g., input/output devices received by the I/O APIC can be communicated to various of the local APICs and thus be serviced by one of the processors in the multiprocessor system. Prior art multiprocessor interrupt controller approaches are further described in U.S. Pat. No. 5,555,420 entitled “Multiprocessor Programmable Interrupt Controller System with Separate Interrupt Bus and Bus Retry Management” and U.S. Pat. No. 5,613,128 entitled “Programmable Multi-Processor Interrupt Controller System With a Processor Integrated Local Interrupt Controller,” which patents are incorporated herein by reference.
The prior art interrupt controller approach, as illustrated in
FIG. 1
, has several disadvantages. If the local APIC is on the central processing unit integrated circuit as shown, for example, in
FIG. 1
, then the cost of providing the local APIC is high in terms of silicon real estate relative to other potential places in the system. On the other hand, if the local APIC is external to the CPU, but on the host bus, then an additional device must be added to the typical PC architecture. In a multiprocessor system, an additional integrated circuit must be included for each CPU in the system. Further, because the APIC bus is serial, there exists a latency from the time that the hardware interrupt is received on the I/O APIC and the time when that interrupt is transmitted to the local APIC via the serial bus. Further, the protocol for the serial bus is complex and difficult to design. Accordingly, it would be desirable to provide a simpler advanced programmable interrupt controller scheme for use in a multiprocessor environment that avoided expending costly CPU silicon area for interrupt controllers and also reduced latency in interrupt service.
SUMMARY OF THE INVENTION
Accordingly, in one embodiment of the invention, a first and a second local interrupt controller are disposed on a single integrated circuit. The first and second local interrupt controllers are coupled to controllably provide at least one interrupt request signal, respectively, to a first and second processor. An input/output (I/O) interrupt controller is also on the integrated circuit and coupled to receive an interrupt request from at least one input/output device. A communication circuit on the integrated circuit is coupled to the input/output interrupt controller and the first and second local interrupt controllers. The communication circuit provides for transfer of interrupt information between the first local interrupt controller, the second local interrupt controller and the input/output interrupt controller.
In another embodiment of the invention, a method provides a plurality of local interrupt controllers disposed on a first integrated circuit. The method includes, connecting each of the interrupt controllers via a respective plurality of local interrupt signal lines to a respective corresponding processor. At least one input/output interrupt controller is disposed on the first integrated circuit and communicatively coupled to the plurality of local interrupt controllers. An interrupt request is sent to the input/output interrupt controller from an input/output device. At lease one of the local interrupt controllers is provided with information relating to the interrupt request. The interrupt request is communicated to from one of the local interrupt controllers to the respective corresponding processor via one of the local interrupt signal lines.
REFERENCES:
patent: 5283904 (1994-02-01), Carson et al.
patent: 5446910 (1995-08-01), Kennedy
patent: 5481725 (1996-01-01), Jayakumar et al.
patent: 5495569 (1996-02-01), Kotzur
patent: 5511200 (1996-04-01), Jayakumar
patent: 5551044 (1996-08-01), Shah et al.
patent: 5555420 (1996-09-01), Sarangdhar et al.
patent: 5613128 (1997-03-01), Nizar et al.
patent: 5619705 (1997-04-01), Karnik et al.
patent: 5619706 (1997-04-01), Young
patent: 5832279 (1998-11-01), Rostoker
patent: 5862366 (1999-01-01), Schmidt
patent: 5884027 (1999-03-01), Garbus
patent: 5978903 (1999-11-01), Quimby
Intel, “Pentium Pro Family Developer's Manual—vol. 3: Operating System Writer's Manual”, Jan. 1996, pp. 7-9 to 7-45.
Intel, “82093AA I/O Advanced Programmable Interrupt Controller (IOAPIC)”, May 1996, pp. 1-20.
Messmer, Hans-Peter, “The Indispensable Pentium Book”, Addison-Wesley Publishers Ltd., 1995, pp. 271-278.
Intel, “MultiProcessor Specification”, Version 1.4, May 1997, pp. 1-1 to 1-4, 2-2 to 2-5, 3-1 to 3-16, 4-1 to 4-24, 5-1 to 5-8, A-1 to A-5, B-1 to B-7, C-1, D-1 to D-3, E-1 to E6, and Glossary-1 to Glossary-2.
Hewitt Larry
Meyer Derrick R.
Smaus Greg
Suggs David Neal
Advanced Micro Devices , Inc.
Coleman Eric
Zagorin O'Brien & Graham LLP
LandOfFree
Collation of interrupt control devices does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Collation of interrupt control devices, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Collation of interrupt control devices will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2454910