Shared peripheral controller
First Claim
1. A shared peripheral controller, comprising:
- a primary bus interface adapted to receive a first operation from a first processor via a primary bus;
a primary bus first register;
a shared bus interface adapted to communicate with a first shared peripheral via a shared bus;
a control unit coupled to the primary bus interface and configured to detect a first segment of the first operation issued by the first processor to the first shared peripheral and further configured to buffer the first segment in the primary bus first register until the control unit detects a second segment of the first operation, whereupon the control unit is configured to issue the first and second segments of the first operation to the first shared peripheral in consecutive cycles of the shared bus;
a secondary bus interface adapted to receive a second operation from a second processor via a secondary bus; and
a secondary bus first register;
wherein the control unit is further coupled to the secondary bus interface and configured to detect a first segment of the second operation and further configured to buffer the second operation'"'"'s first segment in the secondary bus first register until the control unit detects a second segment of the second operation, whereupon the control unit is configured to issue the second operation'"'"'s first and second segments to the first shared peripheral in consecutive cycles of the shared bus.
1 Assignment
0 Petitions
Accused Products
Abstract
A shared peripheral controller including a primary bus interface, a primary bus first register, a shared bus interface, and a control unit. The primary bus interface is adapted to receive an operation via a primary bus, such as an ISA bus, from a first processor, such as a PCI-to-ISA bus bridge. The shared bus interface is adapted to communicate with a first shared peripheral, such as a real time clock, via a shared bus. The control unit is coupled to the primary bus interface and configured to detect a first segment of a first operation issued by the first processor to the first shared peripheral. The control unit is further configured to buffer the first segment in the primary bus first register until the control unit detects a second segment of the first operation whereupon the control unit is configured to issue the first and second segments of the first operation to the first shared peripheral in consecutive cycles of the shared bus. In the preferred embodiment, the controller further includes a secondary bus first register and a secondary bus interface that is adapted to receive an operation via a secondary bus, such as a 68000 bus, from a second processor, such as a service processor. In this embodiment, the control unit is coupled to the secondary bus interface and configured to detect a first segment of a second operation that is issued by the second processor and further adapted to buffer the second operation'"'"'s first segment in the secondary bus first register until the control unit detects a second segment of the second operation whereupon the second operation'"'"'s second segment, the control unit issues the second operation'"'"'s first and second segments to the first shared peripheral in consecutive cycles of the shared bus.
-
Citations
17 Claims
-
1. A shared peripheral controller, comprising:
-
a primary bus interface adapted to receive a first operation from a first processor via a primary bus;
a primary bus first register;
a shared bus interface adapted to communicate with a first shared peripheral via a shared bus;
a control unit coupled to the primary bus interface and configured to detect a first segment of the first operation issued by the first processor to the first shared peripheral and further configured to buffer the first segment in the primary bus first register until the control unit detects a second segment of the first operation, whereupon the control unit is configured to issue the first and second segments of the first operation to the first shared peripheral in consecutive cycles of the shared bus;
a secondary bus interface adapted to receive a second operation from a second processor via a secondary bus; and
a secondary bus first register;
wherein the control unit is further coupled to the secondary bus interface and configured to detect a first segment of the second operation and further configured to buffer the second operation'"'"'s first segment in the secondary bus first register until the control unit detects a second segment of the second operation, whereupon the control unit is configured to issue the second operation'"'"'s first and second segments to the first shared peripheral in consecutive cycles of the shared bus. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9)
-
-
5. A shared peripheral controller, comprising:
-
a primary bus interface adapted to receive an operation from a first processor via a primary bus;
a primary bus first register;
a shared bus interface adapted to communicate with a first shared peripheral via a shared bus; and
a control unit coupled to the primary bus interface and configured to detect a first segment of a first operation issued by the first processor to the first shared peripheral and further configured to buffer the first segment in the primary bus first register until the control unit detects a second segment of the first operation, whereupon the control unit is configured to issue the first and second segments of the first operation to the first shared peripheral in consecutive cycles of the shared bus;
wherein the first segment of the first operation includes a data field and an address field, and further wherein the address field of the first segment is indicative of a primary bus first address associated with the first shared peripheral;
wherein the first shared peripheral includes a plurality of internal registers, and further wherein the data field of the first segment is indicative of a selected internal register of the first shared peripheral.
-
-
10. A method of controlling access to a first shared peripheral accessible via a primary bus and a secondary bus, the method comprising:
-
detecting a first segment of a first operation issuing from a first processor via the primary bus and buffering the first segment of the first operation in a primary bus register until a second segment of the first operation is detected;
detecting bus activity on the secondary bus intermediate between the first and second segments of the first operation;
responsive to detecting the second segment of the first operation on the primary bus, issuing the first and second segments of the first operation to the first shared peripheral via a shared bus in consecutive cycles of the shared bus, whereby the activity occurring on the secondary bus intermediate between the first and second segments of the first operation is prevented from occurring intermediate between the first and second segments of the first operation on the shared bus;
detecting a first segment of a second operation issuing from a second processor via the secondary bus and buffering the second operation'"'"'s first segment in a secondary bus register until a second segment of the second operation is detected;
detecting bus activity on the primary bus intermediate between the second operation'"'"'s first and second segments; and
responsive to detecting the second operation'"'"'s second segment on the secondary bus, issuing the second operation'"'"'s first and second segments to the first shared peripheral via the shared bus in consecutive cycles of the shared bus, whereby the activity occurring on the primary bus intermediate between the second operation'"'"'s first and second segments is prevented from occurring intermediate between the second operation'"'"'s first and second segments on the shared bus. - View Dependent Claims (11, 12)
-
-
13. A computer system, comprising:
-
a central processing unit;
a system memory coupled to the central processing unit via a host bus;
a host bus bridge coupled between the host bus and a PCI bus;
a first processor coupled between the PCI bus and a primary bus;
a shared peripheral controller connected to the primary bus;
a second processor coupled to the shared peripheral controller via a secondary bus;
a first shared peripheral coupled to the shared peripheral controller via a shared bus;
wherein the shared peripheral controller is configured to detect a first segment of a first operation from the first processor and further configured to buffer the first segment of the first operation in a primary bus register until the controller detects a second segment of the first operation, whereupon the controller is configured to issue the first and second segments of the first operation to the first shared peripheral in consecutive cycles of the shared bus whereby activity on the secondary bus detected by the controller intermediate between the first operation'"'"'s first and second segments is prevented from occurring on the shared bus intermediate between the first operation'"'"'s first and second segments; and
wherein the shared peripheral controller is further configured to detect a first segment of a second operation from the second processor and still further configured to buffer the first segment of the second operation in a secondary bus register until the controller detects a second segment of the second operation, whereupon the controller is configured to issue the first and second segments of the second operation to the first shared peripheral in consecutive cycles of the shared bus, whereby activity occurring on the primary bus detected by the controller intermediate between the second operation'"'"'s first and second segments is prevented from occurring on the shared bus intermediate between the second operation'"'"'s first and second segments. - View Dependent Claims (14, 15, 16, 17)
-
Specification