SYSTEM FOR MULTI THREADED MULTI PROCESSOR SHARING OF ASYNCHRONOUS HARDWARE UNITS
First Claim
1. A method for sharing a hardware resource in a computer system running at least one software process having multiple threads, the method comprising:
- (a) providing a lock_indicator in data structures within the computer system;
(b) receiving a request to use the hardware resource by one of the threads defined to be a requesting tread;
(c) determining based on said lock_indicator whether the hardware resource is available for use by said requesting thread; and
(d) if said (c) indicates that the hardware resource is available;
(1) setting said lock_indicator under control of the hardware resource to instead indicate that the hardware resource is unavailable; and
(2) signaling with a go_indicator to indicate that use of the hardware resource for said request can proceed.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and system for sharing a hardware resource in a computer system running at least one software process having multiple threads. A lock_indicator is provided in data structures within the computer system. A request is received to use the hardware resource by one of the threads that is defined to be a requesting tread. Based on the lock_indicator, it is determined whether the hardware resource is available for use by the requesting thread. If this indicates that the hardware resource is available, the lock_indicator is set under control of the hardware resource to instead indicate that the hardware resource is unavailable, and a go_indicator signals to indicate that use of the hardware resource for the request can now proceed.
28 Citations
24 Claims
-
1. A method for sharing a hardware resource in a computer system running at least one software process having multiple threads, the method comprising:
-
(a) providing a lock_indicator in data structures within the computer system;
(b) receiving a request to use the hardware resource by one of the threads defined to be a requesting tread;
(c) determining based on said lock_indicator whether the hardware resource is available for use by said requesting thread; and
(d) if said (c) indicates that the hardware resource is available;
(1) setting said lock_indicator under control of the hardware resource to instead indicate that the hardware resource is unavailable; and
(2) signaling with a go_indicator to indicate that use of the hardware resource for said request can proceed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for sharing a hardware resource in a computer system able to run at least one software process having multiple threads, comprising:
-
data structures within the computer system that include a lock_indicator;
a logic to receive a request to use the hardware resource by one of the threads defined to be a requesting tread;
a lock logic to determine based on said lock_indicator whether the hardware resource is available for use by said requesting thread; and
a logic responsive to said lock logic to control;
a logic to set said lock_indicator under control of the hardware resource to instead indicate that the hardware resource is unavailable; and
a logic to signal with a go_indicator to indicate that use of the hardware resource for said request can proceed. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for sharing a hardware resource in a computer system running at least one software process having multiple threads, comprising:
-
data structures within the computer system including a lock_indicator;
means for receiving a request to use the hardware resource by one of the threads defined to be a requesting tread;
lock means for determining based on said lock_indicator whether the hardware resource is available for use by said requesting thread; and
means responsive to said lock means for controlling;
means for setting said lock_indicator under control of the hardware resource to instead indicate that the hardware resource is unavailable; and
means for signaling with a go_indicator that use of the hardware resource for said request can proceed. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification