Method and apparatus for sharing hardward resources in a computer system
First Claim
Patent Images
1. A method for sharing hardware resources between a plurality of devices wherein the hardware resources includes a configurable logic block, said method comprising the steps of:
- generating a first interrupt in response to a request for one of the plurality of devices;
generating a second interrupt, wherein the second interrupt is recognized before the first interrupt;
handling the second interrupt, including the step of dynamically reconfiguring hardware connections in the configurable logic block to provide a compatible interface to said one of the plurality of devices to enable access thereto; and
thenhandling the first interrupt including the step of accessing said one of the plurality of devices such that a response to the request from said one of the plurality of devices is performed.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for sharing a logic block between multiple peripheral/input/output I/O devices. A method and apparatus for generating a first interrupt in response to a request from one of the devices. A second interrupt is also generated. The second interrupt is recognized before the first interrupt, such that the second interrupt is handled first and causes the logic block to be configured for the requested device. Then the first interrupt is then handled in which the request to the desired device is serviced using the reconfigured hardware.
83 Citations
31 Claims
-
1. A method for sharing hardware resources between a plurality of devices wherein the hardware resources includes a configurable logic block, said method comprising the steps of:
-
generating a first interrupt in response to a request for one of the plurality of devices; generating a second interrupt, wherein the second interrupt is recognized before the first interrupt; handling the second interrupt, including the step of dynamically reconfiguring hardware connections in the configurable logic block to provide a compatible interface to said one of the plurality of devices to enable access thereto; and
thenhandling the first interrupt including the step of accessing said one of the plurality of devices such that a response to the request from said one of the plurality of devices is performed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for obtaining service for one of a plurality of devices coupled to a shared logic block in a computer system, wherein the shared logic block provides for communication between the computer system and the plurality of devices, wherein each of the plurality of devices has an interface protocol used when communicating in the computer system and wherein the plurality of devices are addressed using a single address, the method comprising the steps of:
-
generating a first interrupt in response to a service request from one of said plurality of devices; generating a second interrupt in response to the first interrupt, wherein the second interrupt is recognized before the first interrupt; invoking a first handler for handling the second interrupt, wherein the first handler dynamically reconfigures hardware connections in the shared logic block to create an interface for said one of the plurality of devices to allow access thereto; and
theninvoking a second handler for handling the first interrupt to service said one of the plurality of devices, wherein the first handler initializes the shared logic block transparently to the second handler, such that the shared logic block is configured to the interface protocol of said one of the plurality of devices transparently to an operating system to handle the service request. - View Dependent Claims (8, 9, 10)
-
-
11. A method for handling a request by one of a plurality of devices mapped to one location and using a shared logic block in a computer system, wherein the computer system is running an application program, and wherein each of the plurality of devices has an interface protocol required for use when communicating in the computer system, the method comprising the steps of:
-
identifying said one of the plurality of devices; dynamically configuring hardware connections in the shared logic block, transparently to the application program, to create an external interface to support the interface protocol of said one of the plurality of devices; and accessing said one of the plurality of devices using the shared logic block. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer system comprising:
-
a bus for communicating information; a processor coupled to the bus to execute a plurality of instructions; a plurality of devices for communicating information with the processor, wherein each of the plurality of devices communicates with the processor according to an interface protocol; and programmable logic coupled to the plurality of devices and the bus to provide a communication path between the plurality of devices and the bus, wherein the processor communicates with said plurality of devices through said programmable logic, wherein the programmable logic is programmed to dynamically reconfigure internal hardware connections therein, transparently to an application program and operating system running on the processor, to create an interface that conforms to the interface protocol of one of the plurality of devices when said one of the plurality of devices is to communicate with the processor. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A computer system comprising:
-
a bus for communicating information; a processor coupled to the bus to execute a plurality of instructions in support of an applications program; a plurality of devices that operate with the processor, wherein each one of the plurality of devices communicates according to an interface protocol; a programmable logic coupled to the plurality of devices and the bus as a pathway for communication between the processor and the plurality of devices, wherein the programmable logic is shared by the plurality of devices; and an interrupt controller coupled to receive a first signal from the programmable logic and to provide the processor with a first interrupt and a second interrupt, wherein the interrupt controller generates the first interrupt and the second interrupt in response to the first signal and wherein the second interrupt causes the processing means to dynamically reconfigure hardware connections in the programmable logic to create an interface for said one of the plurality of devices that conforms to the interface protocol of the said one of the plurality of devices and the first interrupt causes said one of the plurality of devices to be accessed, such that the programmable logic is reconfigured before said one of the plurality of devices is accessed. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification