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

System and method for achieving buffer memory coincidence in a multiprocessor system

Assignee: Fujitsu Ltd
•
Filing: 1978-10-30
•
Granted: 1981-09-15
•
Expires: 1998-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Effective expansion of a common intermediate buffer memory by equivalent use of the buffer memory in each CPU in a multiprocessor system. A method and system for achieving buffer memory coincidence is applied to a multiprocessor system provided with central processing units, buffer memories contained in respective central processing units, a main memory, and an intermediate buffer memory connected between the main memory and the buffer memories, wherein a buffer invalidation address information (BIA GO) is sent from the intermediate buffer memory to the i-th central processing unit (BIA GO #i) in accordance with the following logical expression: BIA GO #i=REQ.CPU×W×{FυF×(COPY#iυVIF)} where the term "REQ.CPU" indicates that the i-th central processing unit does not provide a request for accessing the intermediate buffer memory, the term "W" indicates that the above request is a request for writing a data block, term "F" and "F" indicate that the accessed data block is found and is not found, respectively, in the intermediate buffer memory, the term "COPY #i" indicates that a copy of the corresponding data block is stored in the buffer memory of the i-th central processing unit, the validity flag term VIF indicates the possibility that the copy flags are incorrect, and the symbols "x" and "υ" represent a logical product and a logical sum, respectively. This method makes it possible to store data blocks which exist only in the buffer memory but do not exist in the intermediate buffer memory.

Inventors

  • 👤 Akira Hattori

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 01:48
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0811

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 331 words
A method for achieving buffer memory coincidence in a multiprocessor system comprising the steps of: providing a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks, and a plurality of supervising information memory areas, one for each data block memory area, each supervising information memory area being coupled to a respective corresponding one of said data block memory areas, each supervising information memory area storing supervising information indicating whether or not a copy of one of said respective corresponding data blocks stored in said respective corresponding one of said data block memory areas is stored in each of said buffer memories; detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; detecting whether or not said request is a request sent to said intermediate buffer memory for writing a data block; if said request is a request for writing a data block, detecting whether or not the accessed data block is found in said intermediate buffer memory; if said accessed data block is not found in said intermediate buffer memory, sending buffer invalidation address information to all of said buffer memories other than the buffer memory contained in the accessing central processing unit, said buffer invalidation address information having an address identical to the address of said accessed data block; if said accessed data block is found in said intermediate buffer memory, sending said buffer invalidation address information only to selected ones of said buffer memories, said selected ones of said buffer memories being determined by said intermediate buffer memory in accordance with said supervising information.
Claim 2
Independent Claim 331 words
A method for achieving buffer memory coincidence in a multiprocessor system comprising the steps of: providing a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks, and a plurality of supervising information memory areas, one for each data block memory area, each supervising information memory area being coupled to a respective corresponding one of said data block memory areas, each supervising information memory area storing supervising information indicating whether or not a copy of one of said respective corresponding data blocks stored in said respective corresponding one of said data block memory areas is stored in each of said buffer memories; detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; detecting whether or not said request is a request sent to said intermediate buffer memory for writing a data block; if said request is a request for writing a data block, detecting whether or not the accessed data block is found in said intermediate buffer memory; if said accessed data block is not found in said intermediate buffer memory, sending buffer invalidation address information to all of said buffer memories other than the buffer memory contained in the accessing central processing unit, said buffer invalidation address information having an address identical to the address of said accessed data block; if said accessed data block is found in said intermediate buffer memory, sending said buffer invalidation address information only to selected ones of said buffer memories, said selected ones of said buffer memories being determined by said intermediate buffer memory in accordance with said supervising information.
Claim 3
Dependent Claim 46 words
A method as set forth in claim 1, wherein said method further includes the step of: if said request to said intermediate buffer memory is a request for reading a data block, inhibiting the sending of buffer invalidation address information to any of the buffer memories.
Claim 4
Dependent Claim 27 words
A method as set forth in claim 1 wherein intercommunication between said each buffer memory and said intermediate buffer memory is supervised by a Store-Through control method.
Claim 5
Dependent Claim 26 words
A method as set forth in claim 1, wherein intercommunication between said intermediate buffer memory and said main memory is supervised by a Swap control method.
Claim 6
Dependent Claim 86 words
A method as set forth in claim 1, wherein each of said supervising information areas comprises a copy flag portion for holding copy flags and a validity indication portion for holding a validity indication flag, each of said copy flags indicating, when set to a first given status, that a corresponding buffer memory stores a copy of an accessing data block, and said validity indication flag indicating, when said validity indication flag is set to a first given status, that corresponding copy flag indications are correct.
Claim 7
Dependent Claim 33 words
A method as set forth in claim 5, wherein said copy flags, when set to a second given status, indicate that the corresponding data block is not found in said intermediate buffer memory.
Claim 8
Dependent Claim 73 words
A method as set forth in claim 5, comprising the additional step of setting said validity indication flag to said first given status when said accessing central processing unit provides a request for writing a data block to the corresponding data block in said intermediate buffer memory, when said accessed data block is found in said intermediate buffer memory, and when said validity indication flag is not set to said first given status.
Claim 9
Dependent Claim 36 words
A method as set forth in claim 7, comprising the additional step of sending said buffer invalidation address information to all of said buffer memories other than said buffer memory of said accessing central processing unit.
Claim 10
Dependent Claim 68 words
A method as set forth in claim 3, comprising the additional step of sending Found/Not Found information from said accessing central processing unit, when said unit provides a request to said intermediate buffer memory, for writing a data block, said Found/Not Found information indicating selectively that a corresponding data block has been found or has not been found in the buffer memory of said accessing central processing unit.
Claim 11
Independent Claim 238 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: providing a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory; checking in accordance with the contents of said intermediate buffer memory, the following six kinds of information: REQ.CPU, W, F, F, copy #1 and VIF; and producing information of BIA GO #i indicating that buffer invalidation address information must be sent to the i-th (i=1,2,3 . . . ) central processing unit, in accordance with the logical expression: BIA GO #1=REQ.CPU×W×{FvF×(COPY #1v VIF} where the term "REQ.CPU" indicates that the i-th central processing unit does not provide a request for accessing said intermediate buffer memory, the term "W" indicates that the above request is a request for writing a data block, the terms "F" and "F" indicate that the accessed data block is found or is not found, respectively, in said intermediate buffer memory, the term "COPY #1" indicates a copy of a corresponding data block is stored in said buffer memory of said i-th central processing unit, the term VIF indicates the possibility that the copy flags may be invalid, and the symbols "x" and "v" represent a logical product and a logical sum, respectively.
Claim 12
Independent Claim 238 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: providing a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory; checking in accordance with the contents of said intermediate buffer memory, the following six kinds of information: REQ.CPU, W, F, F, copy #1 and VIF; and producing information of BIA GO #i indicating that buffer invalidation address information must be sent to the i-th (i=1,2,3 . . . ) central processing unit, in accordance with the logical expression: BIA GO #1=REQ.CPU×W×{FvF×(COPY #1v VIF} where the term "REQ.CPU" indicates that the i-th central processing unit does not provide a request for accessing said intermediate buffer memory, the term "W" indicates that the above request is a request for writing a data block, the terms "F" and "F" indicate that the accessed data block is found or is not found, respectively, in said intermediate buffer memory, the term "COPY #1" indicates a copy of a corresponding data block is stored in said buffer memory of said i-th central processing unit, the term VIF indicates the possibility that the copy flags may be invalid, and the symbols "x" and "v" represent a logical product and a logical sum, respectively.
Claim 13
Independent Claim 238 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: (a) providing a plurality of central processing units, a main memory commonly utilized by said central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks and a plurality of copy flags storage areas for holding copy flags, one for each buffer memory; (b) detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; (c) detecting whether or not the accessed data block is found in said intermediate buffer memory; (d) if said accessed data block is not found in said intermediate buffer memory, sending buffer invalidation address information to all buffer memories other than the buffer memory of the accessing central processing unit; (e) if said accessed data block is found in said intermediate buffer memory, selectively setting or resetting said copy flag corresponding to said buffer memory of said accessing central processing unit in accordance with whether said accessed data block has been found or has not been found, respectively, in the buffer memory of said accessing central processing unit.
Claim 14
Independent Claim 238 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: (a) providing a plurality of central processing units, a main memory commonly utilized by said central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks and a plurality of copy flags storage areas for holding copy flags, one for each buffer memory; (b) detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; (c) detecting whether or not the accessed data block is found in said intermediate buffer memory; (d) if said accessed data block is not found in said intermediate buffer memory, sending buffer invalidation address information to all buffer memories other than the buffer memory of the accessing central processing unit; (e) if said accessed data block is found in said intermediate buffer memory, selectively setting or resetting said copy flag corresponding to said buffer memory of said accessing central processing unit in accordance with whether said accessed data block has been found or has not been found, respectively, in the buffer memory of said accessing central processing unit.
Claim 15
Dependent Claim 123 words
A method as set forth in claim 11, wherein step (a) includes the additional step of providing a validity indication flag storage area in said intermediate buffer memory for holding a validity indication flag indicating validity of said copy flags, and wherein said step (e) comprises the additional steps, if said accessed data block is found in said intermediate buffer memory, of: determining whether or not said validity indication flag indicates validity of said copy flags, if said validity indication flag does not indicate validity of said copy flags, sending said buffer invalidiation address information to those buffer memories other than said buffer memory of said accessing central processing unit, and setting said validity indication flag to indicate validity of said copy flags.
Claim 16
Dependent Claim 102 words
A method as set forth in claim 11, wherein said step (d) comprises the additional steps of: obtaining said accessed data block for storage in said intermediate buffer memory, specifying a given data block in said intermediate buffer memory to be replaced, replacing said given data block in said intermediate buffer memory with said accessed data block obtained for storage therein, and selectively setting or resetting said copy flag of said accessing central processing unit in accordance with whether said obtained data block has been found or has not been found, respectively, in said buffer memory of said accessing central processing unit.
Claim 17
Independent Claim 263 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: (a) providing a plurality of central processing units, a main memory commonly utilized by said central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks and a plurality of copy flags storage areas for holding copy flags, one for each buffer memory; (b) detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; (c) detecting whether or not the accessed data block is found in said intermediate buffer memory; (d) if said accessed data block is not found in said intermediate buffer memory, transferring said accessed data block into said intermediate buffer memory; (e) determining whether or not said request for access is a writing or reading operation; (f) if said request for access is a writing operation, selectively setting or resetting said copy flag of said buffer memory of said accessing central processing unit in accordance with whether said accessed data block has been found or has not been found, respectively, in said buffer memory of said accessing central processing unit; (g) if said request for access is a reading operation, setting said copy flag of said buffer memory of said accessing central processing unit.
Claim 18
Independent Claim 263 words
A method for achieving buffer memory coincidence in a multiprocessor system, comprising the steps of: (a) providing a plurality of central processing units, a main memory commonly utilized by said central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks and a plurality of copy flags storage areas for holding copy flags, one for each buffer memory; (b) detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; (c) detecting whether or not the accessed data block is found in said intermediate buffer memory; (d) if said accessed data block is not found in said intermediate buffer memory, transferring said accessed data block into said intermediate buffer memory; (e) determining whether or not said request for access is a writing or reading operation; (f) if said request for access is a writing operation, selectively setting or resetting said copy flag of said buffer memory of said accessing central processing unit in accordance with whether said accessed data block has been found or has not been found, respectively, in said buffer memory of said accessing central processing unit; (g) if said request for access is a reading operation, setting said copy flag of said buffer memory of said accessing central processing unit.
Claim 19
Dependent Claim 116 words
A method as set forth in claim 14, wherein said step (a) comprises the additional step of providing a validity indication flag storing portion in said intermediate buffer memory for storing a validity indication flag indicating validity of said copy flags, and wherein said step (f) comprises the additional steps of, if said request for access is a writing operation, resetting said copy flags of said buffer memories of said central processing units other than said accessing central processing unit to indicate that said accessed data block is not found in said central processing units other than said accessing central processing unit, and setting said validity indication flag to indicate that said copy flags are valid.
Claim 20
Dependent Claim 88 words
A method as set forth in claim 14, wherein said step (a) comprises the additional step of providing a validity indication flag storing portion in said intermediate buffer memory for storing a validity indication flag indicating validity of said copy flags, and wherein said step (g) comprises the additional step of, if said accessed data block is not found in said intermediate buffer memory, and if said request for access is a reading operation, resetting said validity indication flag to indicate that said copy flags are not valid.
Claim 21
Independent Claim 346 words
A system for achieving buffer memory coincidence in a multiprocessor system, said multiprocessor system comprising a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks, and a plurality of supervising information memory areas, one for each data block memory area, each supervising information memory area being coupled to a respective corresponding one of said data block memory areas, each supervising information memory area storing supervising information indicating whether or not a copy of said respective corresponding data block stored in said respective corresponding one of said data block memory areas is stored in each of said buffer memories; said system for achieving buffer memory coincidence comprising: means for detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; means for detecting whether or not said request is a request sent to said intermediate buffer memory for writing a data block; means for detecting, when said request is a request for writing a data block, whether or not said accessed data block is found in said intermediate buffer memory; means for sending, when said accessed data block is not found in said intermediate buffer memory, buffer invalidation address information to all of said buffer memories other than the buffer memory contained in said accessing central processing unit, said buffer invalidation address information having an address identical to the address of said accessed data block; means for sending, if said accessed data block is found in said intermediate buffer memory, said buffer invalidation address information only to selected ones of said buffer memories, said selected ones of said buffer memories being determined by said intermediate buffer memory in accordance with said supervising information.
Claim 22
Independent Claim 346 words
A system for achieving buffer memory coincidence in a multiprocessor system, said multiprocessor system comprising a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory operatively connected between said main memory and said buffer memories, said intermediate buffer memory having a plurality of data block memory areas for storing respective corresponding data blocks, and a plurality of supervising information memory areas, one for each data block memory area, each supervising information memory area being coupled to a respective corresponding one of said data block memory areas, each supervising information memory area storing supervising information indicating whether or not a copy of said respective corresponding data block stored in said respective corresponding one of said data block memory areas is stored in each of said buffer memories; said system for achieving buffer memory coincidence comprising: means for detecting when one of said central processing units provides a request for accessing a data block in said intermediate buffer memory; means for detecting whether or not said request is a request sent to said intermediate buffer memory for writing a data block; means for detecting, when said request is a request for writing a data block, whether or not said accessed data block is found in said intermediate buffer memory; means for sending, when said accessed data block is not found in said intermediate buffer memory, buffer invalidation address information to all of said buffer memories other than the buffer memory contained in said accessing central processing unit, said buffer invalidation address information having an address identical to the address of said accessed data block; means for sending, if said accessed data block is found in said intermediate buffer memory, said buffer invalidation address information only to selected ones of said buffer memories, said selected ones of said buffer memories being determined by said intermediate buffer memory in accordance with said supervising information.
Claim 23
Dependent Claim 46 words
A system as set forth in claim 17, wherein said system further comprises means for inhibiting, if said request to said intermediate buffer memory is a request for reading a data block, said transmission of said buffer invalidation address information to any of said buffer memories.
Claim 24
Dependent Claim 33 words
A system as set forth in claim 17, said system further comprising means for supervising intercommunication between said each buffer memory and said intermediate buffer memory in accordance with a Store-Through control operation.
Claim 25
Dependent Claim 32 words
A system as set forth in claim 17, said system further comprising means for supervising intercommunication between said intermediate buffer memory and said main memory in accordance with a Swap control operation.
Claim 26
Dependent Claim 86 words
A system as set forth in claim 17, wherein each of said supervising information areas comprises a copy flag portion for holding copy flags and a validity indication portion for holding a validity indication flag, each of said copy flags indicating, when set to a first given status, that a corresponding buffer memory stores a copy of an accessing data block, and said validity indication flag indicating, when said validity indication flag is set to a first given status, that corresponding copy flag indications are correct.
Claim 27
Dependent Claim 33 words
A system as set forth in claim 21, wherein said copy flags, when set to a second given status, indicate that the corresponding data block is not found in said intermediate buffer memory.
Claim 28
Dependent Claim 77 words
A system as set forth in claim 21, wherein said system comprises means for setting said validity indication flag to said first given status when said accessing central processing unit provides a request for writing a data block to the corresponding data block in said intermediate buffer memory, when said accessed data block is found in said intermediate buffer memory at the same time that said validity indication flag is not set to said first given status.
Claim 29
Dependent Claim 35 words
A system as set forth in claim 23, further comprising means for sending said buffer invalidation address information to all of said buffer memories other than said buffer memory of said accessing central processing unit.
Claim 30
Dependent Claim 67 words
A system as set forth in claim 19, further comprising means for sending Found/Not Found information from said accessing central processing unit, when said unit provides a request to said intermediate buffer memory, for writing a data block, said Found/Not Found information indicating selectively that a corresponding data block has been found or has not been found in the buffer memory of said accessing central processing unit.
Claim 31
Independent Claim 247 words
A system for achieving buffer memory coincidence in a multiprocessing system, comprising a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory; said system further comprising: means for checking, in accordance with said intermediate buffer memory, for the following logical conditions: REQ.CPU, W, F, F, copy #i and VIF; and means for producing information BIA GO #i, indicating that a buffer invalidation address information must be sent to the i-th (i=1, 2, 3 . . . ) central processing unit, in accordance with conditions corresponding to the following logical expression: BIA GO #i=REQ.CPU×W×{FvF×(COPY#i v/VIF} where the term "REQ.CPU" indicates that the i=th central processing unit does not provide a request for accessing said intermediate buffer memory, the term "W" indicates that the above request is a request for writing a data block, the terms "F" and "F" indicate that the accessed data block is found or is not found, respectively, in said intermediate buffer memory, the term "COPY #i" indicates that a copy of a corresponding data block is stored in said buffer memory of said i-th central processing unit, the term VIF indicates the possibility that at least one of the copy flags is invalid, and the symbols "X" and "v" represent a logical product and a logical sum, respectively.
Claim 32
Independent Claim 247 words
A system for achieving buffer memory coincidence in a multiprocessing system, comprising a plurality of central processing units, a plurality of buffer memories, one for each central processing unit, each buffer memory being contained in a respective one of said central processing units, a main memory commonly utilized by said central processing units, and an intermediate buffer memory; said system further comprising: means for checking, in accordance with said intermediate buffer memory, for the following logical conditions: REQ.CPU, W, F, F, copy #i and VIF; and means for producing information BIA GO #i, indicating that a buffer invalidation address information must be sent to the i-th (i=1, 2, 3 . . . ) central processing unit, in accordance with conditions corresponding to the following logical expression: BIA GO #i=REQ.CPU×W×{FvF×(COPY#i v/VIF} where the term "REQ.CPU" indicates that the i=th central processing unit does not provide a request for accessing said intermediate buffer memory, the term "W" indicates that the above request is a request for writing a data block, the terms "F" and "F" indicate that the accessed data block is found or is not found, respectively, in said intermediate buffer memory, the term "COPY #i" indicates that a copy of a corresponding data block is stored in said buffer memory of said i-th central processing unit, the term VIF indicates the possibility that at least one of the copy flags is invalid, and the symbols "X" and "v" represent a logical product and a logical sum, respectively.

References Cited (Backward Citations)

US4056844A Cited
US4136386A Cited
US4142234A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1984-09-14 1985-03-16 1985-09-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1988-09-14 1989-03-16 1989-09-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1992-09-14 1993-03-16 1993-09-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag