Redirection of interrupts to microprocessors
First Claim
1. A system for increasing the performance of a multiprocessor computer system, comprising:
- a shared memory;
two or more processors coupled to said shared memory by a system bus, each of said two or more processors configured to transmit global interrupts to another two or more processors via said system bus;
a system interrupt controller, coupled to said system bus, configured to receive and retransmit all of said global interrupts transmitted by said two or more processors; and
a redirector, coupled to said system bus, configured to communicate with said system interrupt controller and said two or more processors, said redirector configured to receive all of said global interrupts retransmitted by said system interrupt controller, said redirector further configured to transmit interrupt data associated with said retransmitted global interrupts directly to a destination processor of said two or more processors.
2 Assignments
0 Petitions
Accused Products
Abstract
A redirector in either software or hardware can is used to distribute global interrupts among all processors of a multiprocessor (MP) system, which may have multiple architecturally-isolated buses. When redirecting interrupts using software, a default processor receives all interrupts and redirects them to destination processors. When redirecting interrupts using hardware, a discrete redirector in hardware forwards all interrupts to particular processors based on a routing, or look-up, table. Another implementation incorporates interrupt snooping with either software or hardware interrupt redirection where interrupt response is critical for I/O cards.
89 Citations
14 Claims
-
1. A system for increasing the performance of a multiprocessor computer system, comprising:
-
a shared memory; two or more processors coupled to said shared memory by a system bus, each of said two or more processors configured to transmit global interrupts to another two or more processors via said system bus; a system interrupt controller, coupled to said system bus, configured to receive and retransmit all of said global interrupts transmitted by said two or more processors; and a redirector, coupled to said system bus, configured to communicate with said system interrupt controller and said two or more processors, said redirector configured to receive all of said global interrupts retransmitted by said system interrupt controller, said redirector further configured to transmit interrupt data associated with said retransmitted global interrupts directly to a destination processor of said two or more processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for increasing the performance of a multiprocessor computer system, the multiprocessor system having two or more processors, a system interrupt controller, and a redirector, the two or more processors, system interrupt controller, and redirector coupled to and communicating with each other via a system bus, the method comprising the steps of:
-
(1) receiving, in the system interrupt controller, a global interrupt from one of the two or more processors; (2) determining, at the system interrupt controller, the priority of said global interrupt and an associated global interrupt vector; (3) transmitting said global interrupt vector from the system interrupt controller to the redirector; (4) determining, at the redirector, a system bus address of a destination processor of the two or more processors for receiving said global interrupt; (5) translating said global interrupt into a destination processor dependent vector; and (6) notifying said destination processor of said global interrupt by transmitting said destination processor dependent vector. - View Dependent Claims (10)
-
-
11. A system for increasing the performance of a multiprocessor computer system, comprising:
-
a shared memory; two or more processors coupled to said shared memory by a system bus, each of said two or more processors configured to transmit global interrupts via said system bus; interrupt controller means, coupled to said system bus, for controlling said global interrupts transmitted by said two or more processors, said interrupt controller means receiving and retransmitting all of said global interrupts; receiving means for receiving all of said retransmitted global interrupts from said interrupt controller means; address determination means, coupled to said receiving means, for determining an intended destination processor of said two or more processors to receive said global interrupts; and transmit means, coupled to said address determination means, for transmitting interrupt data associated with said global interrupts directly to said destination processor. - View Dependent Claims (12, 13)
-
-
14. A system for increasing the performance of a multiprocessor computer system, comprising:
-
a shared memory; two or more processors coupled to said shared memory by a system bus, each of said two or more processors configured to transmit global interrupts to another two or more processors via said system bus; a system interrupt controller, coupled to said system bus, configured to receive and retransmit all of said global interrupts transmitted by said two or more processors, said system interrupt controller including, one or more first programmable interrupt controllers coupled to said system bus, a first discrete logic, coupled to said one or more first programmable interrupt controllers, implemented by a first plurality of programmable logic arrays, configured to control said system interrupt controller, and a first memory unit, coupled to said discrete logic, configured to store said interrupt data; and a redirector, coupled to said system bus, configured to communicate with said system interrupt controller and said two or more processors, said redirector configured to receive all of said global interrupts retransmitted by said system interrupt controller, said redirector further configured to transmit interrupt data associated with said retransmitted global interrupts directly to a destination processor of said two or more processors, said redirector including, one or more second programmable interrupt controllers coupled to said system bus, a second discrete logic, coupled to said one or more second programmable interrupt controllers, implemented by a second plurality of programmable logic arrays, configured to control said redirector, and a second memory unit, coupled to said second discrete logic, configured to store said interrupt data.
-
Specification