Patent US5440746A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5440746A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for synchronizing processors in a parallel processing environment

Assignee: Samsung Electronics Co Ltd
•
Filing: 1992-11-06
•
Granted: 1995-08-08
•
Expires: 2012-11-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract System and method for synchronizing the operation of a plurality of processor devices wherein a host processor does not have to continuously poll a status register to determine the availability of a shared resource. The host processor instructs a slave peripheral processor to perform a task requiring the use of a shared resource having a corresponding signal location. The host processor further instructs the slave peripheral processor to update the corresponding signal location to a specified value when the shared resource is no longer required. The host processor also sets the corresponding signal location to an initial value indicating that the slave peripheral processor still requires the use of the shared resource. The host processor then begins polling the signal location to determine if the slave peripheral processor no longer requires the shared resource. This determination is based on the presence in the corresponding signal location of the specified value. When the host processor detects the specified value in the signal location, the host processor frees the shared resource for use by other tasks. The host processor only begins polling the signal location after the corresponding shared resource is designated for use by a slave peripheral processor and no longer needed by a client process and after the host processor has another use for the shared resource.

Inventors

  • 👤 Derek J. Lentz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 07:04
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 238 words
A method for allowing a host processor to control the use of a shared resource when a slave peripheral processor executes an operation in a client process requiring the use of said shared resource, comprising the steps of: (a) assigning a signal location in system memory for storing a value indicative of the availability of said shared resource; (b) setting an initial value at said signal location indicating that the slave peripheral processor requires the use of the shared resource to perform said operation; (c) instructing the slave peripheral processor to perform said operation in said client process requiring use of the shared resource; (d) determining whether the host processor has another use for the shared resource other than said operation performed by the slave peripheral processor; (e) determining whether the client process needs the shared resource for a further operation; (f) updating the value at said signal location to a specified value when the slave peripheral processor no longer requires use of said shared resource in said operation; and (g) checking whether said specified value is in said corresponding signal location to determine if said slave peripheral processor no longer requires said shared resource, wherein said checking step is performed when the host processor is determined in said determining step (d) to have another use for the shared resource and the client process is determined in said determining step (e) to no longer need the shared resource.
Claim 2
Independent Claim 238 words
A method for allowing a host processor to control the use of a shared resource when a slave peripheral processor executes an operation in a client process requiring the use of said shared resource, comprising the steps of: (a) assigning a signal location in system memory for storing a value indicative of the availability of said shared resource; (b) setting an initial value at said signal location indicating that the slave peripheral processor requires the use of the shared resource to perform said operation; (c) instructing the slave peripheral processor to perform said operation in said client process requiring use of the shared resource; (d) determining whether the host processor has another use for the shared resource other than said operation performed by the slave peripheral processor; (e) determining whether the client process needs the shared resource for a further operation; (f) updating the value at said signal location to a specified value when the slave peripheral processor no longer requires use of said shared resource in said operation; and (g) checking whether said specified value is in said corresponding signal location to determine if said slave peripheral processor no longer requires said shared resource, wherein said checking step is performed when the host processor is determined in said determining step (d) to have another use for the shared resource and the client process is determined in said determining step (e) to no longer need the shared resource.
Claim 3
Dependent Claim 37 words
The method of claim 1, further comprising the step of commanding the slave peripheral processor which specific shared resources of a group of shared resources are to be used to perform said operation in said client process.
Claim 4
Dependent Claim 41 words
The method of claim 1, further comprising the step of freeing said shared resource from use by the slave peripheral processor after said value updating step (f) when the slave peripheral processor no longer requires the use of said shared resource.
Claim 5
Dependent Claim 54 words
The method of claim 1, wherein said slave peripheral processor begins executing said operation after said instructing step (c), and wherein said updating step (f) comprises the step of storing said specified value in said signal location when said shared resource is no longer required by said slave peripheral processor for executing said operation.
Claim 6
Dependent Claim 88 words
The method of claim 1, wherein said setting step (b) comprises writing said initial value at said signal location in system memory in accordance with a write instruction from said host processor and said updating step (f) comprises writing said specified value at said signal location in system memory in accordance with a write instruction from said slave peripheral processor, whereby said host processor can issue an interruptible sequence of instructions for reading, modifying, and writing said initial and specified values at said signal location in system memory.
Claim 7
Independent Claim 231 words
A system for synchronizing use of a shared resource a host processor and by a slave peripheral processor when said slave peripheral processor uses said shared resource to perform an operation in a client process, comprising: a system memory having a memory location for storing a value indicating the availability of said shared resource; first means, coupled to said host processor, for determining whether said host processor requires said shared resource for another purpose other than said operation in said client process; and second means, coupled to said host processor, for determining whether the client process needs the shared resource for a further operation; wherein said host and slave peripheral processors are each coupled to said memory location, said host processor stores an initial value at said memory location indicating that the slave peripheral processor requires use of said shared resource to perform said operation in said client process; said slave peripheral processor stores a specified value at said memory location when said slave peripheral processor has finished using said shared resource in said operation in said client process; and said host processor polls said memory location when said first means determines that said host processor requires said shared resource for another purpose other than said operation in said client process and when said second means determines that said client process does not need the shared resource for a further operation.
Claim 8
Independent Claim 231 words
A system for synchronizing use of a shared resource a host processor and by a slave peripheral processor when said slave peripheral processor uses said shared resource to perform an operation in a client process, comprising: a system memory having a memory location for storing a value indicating the availability of said shared resource; first means, coupled to said host processor, for determining whether said host processor requires said shared resource for another purpose other than said operation in said client process; and second means, coupled to said host processor, for determining whether the client process needs the shared resource for a further operation; wherein said host and slave peripheral processors are each coupled to said memory location, said host processor stores an initial value at said memory location indicating that the slave peripheral processor requires use of said shared resource to perform said operation in said client process; said slave peripheral processor stores a specified value at said memory location when said slave peripheral processor has finished using said shared resource in said operation in said client process; and said host processor polls said memory location when said first means determines that said host processor requires said shared resource for another purpose other than said operation in said client process and when said second means determines that said client process does not need the shared resource for a further operation.
Claim 9
Dependent Claim 21 words
The system of claim 6, further comprising a graphic server, coupled to said host processor, configured to manage multiple client processes.
Claim 10
Dependent Claim 13 words
The system of claim 7, wherein said graphics server comprises an X server.
Claim 11
Dependent Claim 15 words
The system of claim 6, wherein said slave peripheral processor comprises a VLSI graphics processor.
Claim 12
Dependent Claim 12 words
The system of claim 6, wherein said shared resource comprises a pixmap.
Claim 13
Dependent Claim 19 words
The system of claim 6, wherein said shared resource comprises a buffer of instructions in a region of memory.
Claim 14
Dependent Claim 14 words
The system of claim 6, wherein said shared resource comprises a block of memory.
Claim 15
Dependent Claim 17 words
The system of claim 6, wherein said shared resource comprises a region of a system frame buffer.
Claim 16
Independent Claim 308 words
A system for synchronizing use of a shared resource by a host processor and by a slave peripheral processor when said slave peripheral processor uses said shared resource to perform an operation in a client process, comprising: a system memory having a memory location for storing a value indicating the availability of said shared resource; a graphics server, coupled to said host processor, configured to manage multiple client processes and to provide instructions to said host processor regarding each of said multiple client processes; first means, coupled to said host processor, for determining whether said host processor requires said shared resource for another purpose other than said operation in said client process performed by said slave peripheral processor; and second means, coupled to said host processor, for determining when said client process no longer needs said shared resource for a further operation; and a bus for communicating instructions from said host processor to said slave peripheral processor; wherein: said host and slave peripheral processors are each coupled to said memory location; said host processor stores an initial value at said memory location indicating that the slave peripheral processor requires use of said shared resource to perform said operation in said client process and said slave peripheral processor stores a specified value at said memory location when said slave peripheral processor has finished using said shared resource in said operation in said client process; and said host processor polls said memory location when said first means determines that said host processor requires said shared resource for another purpose other than said operation in said client process and when said second means determines that said client process does not need the shared resource for a further operation; whereby, said host processor can receive an interrupt after storing said initial value and does not have to continuously poll said memory location.
Claim 17
Independent Claim 308 words
A system for synchronizing use of a shared resource by a host processor and by a slave peripheral processor when said slave peripheral processor uses said shared resource to perform an operation in a client process, comprising: a system memory having a memory location for storing a value indicating the availability of said shared resource; a graphics server, coupled to said host processor, configured to manage multiple client processes and to provide instructions to said host processor regarding each of said multiple client processes; first means, coupled to said host processor, for determining whether said host processor requires said shared resource for another purpose other than said operation in said client process performed by said slave peripheral processor; and second means, coupled to said host processor, for determining when said client process no longer needs said shared resource for a further operation; and a bus for communicating instructions from said host processor to said slave peripheral processor; wherein: said host and slave peripheral processors are each coupled to said memory location; said host processor stores an initial value at said memory location indicating that the slave peripheral processor requires use of said shared resource to perform said operation in said client process and said slave peripheral processor stores a specified value at said memory location when said slave peripheral processor has finished using said shared resource in said operation in said client process; and said host processor polls said memory location when said first means determines that said host processor requires said shared resource for another purpose other than said operation in said client process and when said second means determines that said client process does not need the shared resource for a further operation; whereby, said host processor can receive an interrupt after storing said initial value and does not have to continuously poll said memory location.
Claim 18
Dependent Claim 15 words
The system of claim 14, wherein said slave peripheral processor comprises a VLSI graphics processor.
Claim 19
Dependent Claim 12 words
The system of claim 14, wherein said shared resource comprises a pixmap.
Claim 20
Dependent Claim 19 words
The system of claim 14, wherein said shared resource comprises a buffer of instructions in a region of memory.
Claim 21
Dependent Claim 14 words
The system of claim 14, wherein said shared resource comprises a block of memory.
Claim 22
Dependent Claim 17 words
The system of claim 14, wherein said shared resource comprises a region of a system frame buffer.
Claim 23
Dependent Claim 13 words
The system of claim 14, wherein said graphics server comprises an X server.
Claim 24
Dependent Claim 58 words
The system of claim 14, wherein said second determining means includes at least one of a means for receiving and interpreting a command in said client process which indicates that said client process no longer needs said shared resource and a means for receiving notification from said graphics server that said graphics server has reallocated said shared resource.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-08-07 1999-02-06 1999-08-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-08-07 2003-02-06 2003-08-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-08-07 2007-02-06 2007-08-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag