← Back to Patent Explorer
US5321825A Expired / Lapsed US ⏱️ 0.0 years remaining

Processing system with lock spaces for providing critical section access

Assignee: Advanced Micro Devices Inc
•
Filing: 1991-06-18
•
Granted: 1994-06-14
•
Expires: 2011-06-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processing system of the type including a plurality of processors for executing instructions including critical sections is arranged to permit only one processor at a time to execute a critical section. The system includes a common bus coupling the processors together, a memory for storing instructions and data operands and a lock buffer associated with each processor. The memory includes a data space defining storage locations for storing data operands of instructions in non-critical sections and a lock space defining storage locations for storing data operands of instructions in a critical section. Each lock buffer includes first and second storage locations for storing first and second control bits, is responsive to the first and second control bits having a first set of predetermined values for locking the lock space and precluding its associated processor from executing instructions which access the lock space and is responsive to the first and second control bits having a second set of predetermined values for unlocking the lock space and permitting its associated processor to execute instructions which access the lock space.

Inventors

  • 👤 Seungyoon P. Song

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 12:06
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/30; G06F9/30003; G06F9/3004; G06F9/30076; G06F9/30087

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 261 words
A processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, wherein the execution of program instructions of said critical section requires exclusive execution by one of said processors at a time, said processing system being arranged to permit only one said processor to execute said critical section at a time and comprising: memory means for providing said processors with program instructions and data operands, said memory means including a critical section instruction space for storing program instructions of said critical section, a non-critical section instruction space for storing program instructions of said non-critical section, a data space for storing data operands of the instructions in said non-critical section, and a lock space for storing data operands of the instructions in said critical section; a common bus coupling said processors together and to said memory means; and lock buffer means coupled with each said processor, each said lock buffer means including first and second storage locations for storing first and second control bits, each said lock buffer means being responsive to said first and second control bits having a first set of predetermined values for precluding its associated processor from executing only program instructions that require data operands stored in said lock space, each said lock buffer means being responsive to said first and second control bits having a second set of predetermined values for permitting its associated processor to execute program instructions that require data operands stored in said lock space of said memory means.
Claim 2
Dependent Claim 261 words
A processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, wherein the execution of program instructions of said critical section requires exclusive execution by one of said processors at a time, said processing system being arranged to permit only one said processor to execute said critical section at a time and comprising: memory means for providing said processors with program instructions and data operands, said memory means including a critical section instruction space for storing program instructions of said critical section, a non-critical section instruction space for storing program instructions of said non-critical section, a data space for storing data operands of the instructions in said non-critical section, and a lock space for storing data operands of the instructions in said critical section; a common bus coupling said processors together and to said memory means; and lock buffer means coupled with each said processor, each said lock buffer means including first and second storage locations for storing first and second control bits, each said lock buffer means being responsive to said first and second control bits having a first set of predetermined values for precluding its associated processor from executing only program instructions that require data operands stored in said lock space, each said lock buffer means being responsive to said first and second control bits having a second set of predetermined values for permitting its associated processor to execute program instructions that require data operands stored in said lock space of said memory means.
Claim 3
Dependent Claim 71 words
A processing system as defined in claim 1 wherein each said processor is arranged for executing a lock instruction from said critical section instruction space of said memory means for writing, over said common bus, said first set of predetermined values of said first and second control bits to each said lock buffer means associated with the other said processors before entering said critical section from said critical section instruction space.
Claim 4
Dependent Claim 40 words
A processing system as defined in claim 2 wherein each said processor is arranged for writing a third set of predetermined values of said first and second control bits to its associated lock buffer means while executing said lock instruction.
Claim 5
Dependent Claim 24 words
A processing system as defined in claim 3 wherein each said processor includes bus detecting means for detecting the availability of said common bus.
Claim 6
Dependent Claim 32 words
A processing system as defined in claim 4 wherein each said processor is responsive to its said bus detecting means detecting that said common bus is available before executing said lock instruction.
Claim 7
Dependent Claim 102 words
A processing system as defined in claim 5 wherein each said processor is arranged to monitor said values of said first and second control bits stored in its associated lock buffer means while its said bus detecting means detects the availability of said common bus and wherein each said processor is arranged for suspending the execution of said lock instruction in response to detecting that said values of said first and second control bits stored in its associated lock buffer means have changed to said first set of values prior to said bus detecting means detecting that said common bus is available.
Claim 8
Dependent Claim 70 words
A processing system as defined in claim 6 wherein each said processor is arranged for executing an unlock instruction from said critical section instruction space of said memory means for writing, over said common bus, said second set of predetermined values of said first and second control bits to said lock buffer means associated with the other said processors upon completing said critical section from said critical section instruction space.
Claim 9
Dependent Claim 40 words
A processing system as defined in claim 7 wherein each said processor is arranged for writing said second set of predetermined values of said first and second control bits to its associated lock buffer means while executing said unlock instruction.
Claim 10
Dependent Claim 32 words
A processing system as defined in claim 8 wherein each said processor is responsive to its said bus detecting means detecting that said common bus is available before executing said unlock instruction.
Claim 11
Dependent Claim 33 words
A processing system as defined in claim 9 wherein said first set of predetermined values is said first control bit being a logical one and said second control bit being a logical one.
Claim 12
Dependent Claim 33 words
A processing system as defined in claim 10 wherein said second set of predetermined values is said first control bit being a logical zero and said second control bit being a logical zero.
Claim 13
Dependent Claim 33 words
A processing system as defined in claim 11 wherein said third set of predetermined values is said first control bit being a logical one and said second control bit being a logical zero.
Claim 14
Independent Claim 321 words
A method for use in a processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, wherein the execution of program instructions of said critical section requires exclusive execution by one of said processors at a time, said method permitting only one said processor at a time to execute said critical section and comprising the steps of: providing memory means having a critical section instruction space with program instructions of said critical section stored therein, a non-critical section instruction space with program instructions of said non-critical section stored therein, a data -space with data operands of said instructions in said non-critical section instruction space stored therein, and a lock space with data operands of said instructions in said critical section instruction space stored therein; providing a common bus; coupling said processors together and to said memory means over said common bus; providing lock buffer means coupled with each said processor, each said lock buffer means including first and second storage locations for storing first and second control bits, precluding a processor from executing only program instructions that require data operands stored in said lock space if said first and second control bits stored in its associated lock buffer means have a first set of predetermined values; enabling a processor to execute program instructions that require data operands stored in said lock space if said first and second control bits stored in its associated lock buffer means have a second set of predetermined values, and executing a lock instruction from said critical section instruction space by one of said processors by writing from said one processor, over said common bus, said first set of predetermined values of said first and second control bits to each said lock buffer means associated with the other said processor to thereby enter a critical section in said critical section instruction space.
Claim 15
Independent Claim 321 words
A method for use in a processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, wherein the execution of program instructions of said critical section requires exclusive execution by one of said processors at a time, said method permitting only one said processor at a time to execute said critical section and comprising the steps of: providing memory means having a critical section instruction space with program instructions of said critical section stored therein, a non-critical section instruction space with program instructions of said non-critical section stored therein, a data -space with data operands of said instructions in said non-critical section instruction space stored therein, and a lock space with data operands of said instructions in said critical section instruction space stored therein; providing a common bus; coupling said processors together and to said memory means over said common bus; providing lock buffer means coupled with each said processor, each said lock buffer means including first and second storage locations for storing first and second control bits, precluding a processor from executing only program instructions that require data operands stored in said lock space if said first and second control bits stored in its associated lock buffer means have a first set of predetermined values; enabling a processor to execute program instructions that require data operands stored in said lock space if said first and second control bits stored in its associated lock buffer means have a second set of predetermined values, and executing a lock instruction from said critical section instruction space by one of said processors by writing from said one processor, over said common bus, said first set of predetermined values of said first and second control bits to each said lock buffer means associated with the other said processor to thereby enter a critical section in said critical section instruction space.
Claim 16
Dependent Claim 41 words
A method as defined in claim 13 comprising the further steps of writing a third set of predetermined values of said first and second control bits from said one processor to its associated lock buffer means while executing said lock instruction.
Claim 17
Dependent Claim 24 words
A method as defined in claim 14 comprising the further steps of detecting that said common bus is available before executing said lock instruction.
Claim 18
Dependent Claim 73 words
A method as defined in claim 15 comprising the further steps of monitoring said values of said first and second control bits stored in said lock buffer means associated with said one processor while detecting for the availability of said common bus and terminating the execution of said lock instruction if said first and second control bits change to said first set of values prior to detecting that said common bus is available.
Claim 19
Dependent Claim 71 words
A method as defined in claim 16 comprising the further steps of executing an unlock instruction from said critical section instruction space by said one processor by writing, from said one processor over said common bus, said second set of predetermined values of said first and second control bits to said lock buffer means associated with the other said processors upon completing said critical section in said critical section instruction space.
Claim 20
Dependent Claim 41 words
A method as defined in claim 17 comprising the further steps of writing said second set of predetermined values of said first and second control bits from said one processor to its associated lock buffer means while executing said unlock instruction.
Claim 21
Dependent Claim 24 words
A method as defined in claim 18 comprising the further steps of detecting that said common bus is available before executing said unlock instruction.
Claim 22
Dependent Claim 32 words
A method as defined in claim 19 wherein said first set of predetermined values is said first control bit being a logical one and said second control bit being a logical one.
Claim 23
Dependent Claim 32 words
A method as defined in claim 20 wherein said second set of predetermined values is said first control bit being a logical zero and said second control bit being a logical zero.
Claim 24
Dependent Claim 32 words
A method as defined in claim 21 wherein said third set of predetermined values is said first control bit being a logical one and said second control bit being a logical zero.
Claim 25
Dependent Claim 243 words
A processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, said processing system being arranged to permit only one said processor to execute said critical section at a time and comprising: memory means for providing said processors with program instructions and data operands, said memory means including a critical section instruction space for storing said program instructions of critical section, a non-critical section instruction space for storing said program instructions of said non-critical a data space for storing data operands of instructions in said non-critical section and a lock space for storing data operands of instructions in said critical section; a common bus coupling said processors together and to said memory means; and lock buffer means coupled with each said processor, each said lock buffer means being responsive to a processor associated with another one of said lock buffers executing said critical section for locking said lock space from its associated processor for precluding its associated processor from executing only instructions which access said lock space, each of said lock buffers including first and second storage locations for storing first and second control bits, each said lock buffer means being responsive to said first and second control bits having a first set of predetermined values for locking said lock space from its associated processor for precluding its associated processor from executing instructions which access said lock space.
Claim 26
Dependent Claim 243 words
A processing system of the type including a plurality of processors for executing program instructions including program instructions of a critical section and a non-critical section, said processing system being arranged to permit only one said processor to execute said critical section at a time and comprising: memory means for providing said processors with program instructions and data operands, said memory means including a critical section instruction space for storing said program instructions of critical section, a non-critical section instruction space for storing said program instructions of said non-critical a data space for storing data operands of instructions in said non-critical section and a lock space for storing data operands of instructions in said critical section; a common bus coupling said processors together and to said memory means; and lock buffer means coupled with each said processor, each said lock buffer means being responsive to a processor associated with another one of said lock buffers executing said critical section for locking said lock space from its associated processor for precluding its associated processor from executing only instructions which access said lock space, each of said lock buffers including first and second storage locations for storing first and second control bits, each said lock buffer means being responsive to said first and second control bits having a first set of predetermined values for locking said lock space from its associated processor for precluding its associated processor from executing instructions which access said lock space.
Claim 27
Dependent Claim 48 words
A processing system as defined in claim 23 wherein each said lock buffer means is responsive to said first and second control bits having a second set of predetermined values for unlocking said lock space and permitting its associated processor to execute instructions which access said lock space.
Claim 28
Dependent Claim 55 words
A processing system as defined in claim 24 wherein each said processor is arranged for executing a lock instruction for writing, over said common bus, said first set of predetermined values of said first and second control bits to each said lock buffer means associated with the other said processors before entering said critical section.
Claim 29
Dependent Claim 40 words
A processing system as defined in claim 25 wherein each said processor is arranged for writing a third set of predetermined values of said first and second control bits to its associated lock buffer means while executing said lock instruction.
Claim 30
Dependent Claim 24 words
A processing system as defined in claim 26 wherein each said processor includes bus detecting means for detecting the availability of said common bus.
Claim 31
Dependent Claim 32 words
A processing system as defined in claim 27 wherein each said processor is responsive to its said bus detecting means detecting that said common bus is available before executing said lock instruction.
Claim 32
Dependent Claim 102 words
A processing system as defined in claim 28 wherein each said processor is arranged to monitor said values of said first and second control bits stored in its associated lock buffer means while its said bus detecting means detects the availability of said common bus and wherein each said processor is arranged for suspending the execution of said lock instruction in response to detecting that said values of said first and second control bits stored in its associated lock buffer means have changed to said first set of values prior to said bus detecting means detecting that said common bus is available.
Claim 33
Dependent Claim 54 words
A processing system as defined in claim 24 wherein each said processor is arranged for executing an unlock instruction for writing, over said common bus, said second set of predetermined values of said first and second control bits to said lock buffer means associated with the other said processors upon completing said critical section.
Claim 34
Dependent Claim 40 words
A processing system as defined in claim 30 wherein each said processor is arranged for writing said second set of predetermined values of said first and second control bits to its associated lock buffer means while executing said unlock instruction.
Claim 35
Dependent Claim 45 words
A processing system as defined in claim 31 wherein each said processor includes bus detecting means for detecting the availability of said common bus and is responsive to its said bus detecting means detecting that said common bus is available before executing said unlock instruction.

References Cited (Backward Citations)

US4558411A Cited
US3820079A Cited
US4418385A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-06-13 1997-12-13 1998-06-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-06-13 2001-12-13 2002-06-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-06-13 2005-12-13 2006-06-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag