US6092173AExpiredUtility

Multiprocessor, memory accessing method for multiprocessor, transmitter and receiver in data transfer system, data transfer system, and bus control method for data transfer system

64
Assignee: FUJITSU LTDPriority: Aug 8, 1996Filed: Mar 26, 1997Granted: Jul 18, 2000
Est. expiryAug 8, 2016(expired)· nominal 20-yr term from priority
G06F 12/0808G06F 12/0813
64
PatentIndex Score
43
Cited by
10
References
8
Claims

Abstract

A multiprocessor in which a plurality of processors are connected via a system bus. The multiprocessor includes processor groups each having at least one processor, a main storage memory, a cache memory, a cache control unit, a directory memory, and a directory control unit. The directory control unit includes an invalidation command issuing unit that issues a cache line invalidation command to all reference designations stored in the directory memory in cache lines. Thus the device process time can be shortened by reducing the frequency that cache invalidation commands are issued from the cache memory.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A multiprocessor comprising a plurality of processor modules mutually connected via a bus, wherein a main storage for storing various kinds of data is distributed to and shared by each of said plurality of processor modules, each of said plurality of processor modules comprising: one or more processors;   a main storage section for storing various kinds of data, said main storage section being a part of said main storage and shared by said plurality of processor modules via said bus;   a cache memory arranged to each of said processors, for storing various kinds of data in said main storage by each cache line, said cache line being formed with a plurality of cache sublines;   a cache control unit for controlling a data read/write operation between said cache memory and said main storage in a copy-back mode;   a directory memory for storing the cached status of data in said main storage section; and   a directory control unit for controlling said directory memory so that, when a value stored in said main storage section is in a shared status, said directory memory stores the cached status of said main storage section by each cache line and so that, when the value stored in said main storage section is in a dirty status, said directory memory stores the cached status of said main storage section and a cache address of the latest value by each cache subline;   wherein said directory control unit includes: an invalidation command issuing unit for, when one of said processors in one of said processor modules has issued a write access or a cache-off access whose access address is included in said main storage section and, further, said directory control unit has decided that a cache line including said access address is in a shared status with a cache line in another cache memory of another processor module, issuing an invalidation command for invalidating said cache line in said another cache memory by each cache line, said invalidation command invalidating all cache sublines constituting said cache line at a time.     
     
     
       2. The multiprocessor according to claim 1, wherein said cache control unit includes: a failure response returning unit for, when said cache control unit has received an invalidation command from another processor module and, further, a cache line to be invalidated by said invalidation command includes a cache subline in a dirty status, returning an invalidation failure response to said another processor module.   
     
     
       3. The multiprocessor according to claim 1, wherein said invalidation command issued from said invalidation command issuing unit includes identification information which is used for switching between invalidation by each cache line and invalidation by each cache subline. 
     
     
       4. A memory accessing method for a multiprocessor, said multiprocessor comprising a main storage, a plurality of processors for sharing said main storage, a cache memory arranged to each of said plurality of processors and being for storing various kinds of data in said main storage by each cache line which is formed with a plurality of cache sublines, and a directory memory for storing the cached status of data in said main storage, said method comprising the steps of: controlling a data read/write operation between said cache memory and said main storage in a copy-back mode;   controlling said directory memory so that, when a value stored in said main storage is in a shared status, said directory memory stores the cached status of said main storage by each cache line and so that, when the value stored in said main storage is in a dirty status, said directory memory stores the cached status of said main storage and a cache address of the latest value by each cache subline; and   when one of said plurality of processors has issued a write access or a cache-off access and a cache line including said access address is in a shared status with a cache line in another cache memory, issuing an invalidation command for invalidating said cache line in said another cache memory by each cache line, said invalidation command being for invalidating all cache sublines constituting said cache line at a time.   
     
     
       5. A multiprocessor comprising a plurality of processor modules mutually connected via a bus, wherein a main storage for storing various kinds of data is distributed to and shared by each of said plurality of processor modules, each of said plurality of processor modules comprising: one or more processors;   a main storage section for storing various kinds of data, said main storage memory section being a part of said main storage and shared by said plurality of processor modules via said bus;   a cache memory arranged to each of said processors, for storing various kinds of data in said main storage by each cache line;   a cache control unit for controlling a data read/write operation between said cache memory and said main storage in a copy-back mode;   a directory memory for storing the cached status of data in said main storage section; and   a directory control unit for controlling said directory memory so that, when a value stored in said main storage section is in a shared status, said directory memory stores the cached status of said main storage section and so that, when the value stored in said main storage section is in a dirty status, said directory memory stores the cached status of said main storage section and a cache address of the latest value;   wherein said directory control unit includes: an error-identification-information storage control unit for controlling said directory memory so that, when a hard error of said main storage section has been detected during a reading process of data in said main storage section, hard error occurrence identification information is stored to a corresponding cache line in said directory memory; and   an access inhibiting unit for inhibiting access to a cache line in said main storage section when a corresponding cache line in said directory memory has said hard error occurrence identification information.     
     
     
       6. The multiprocessor according to claim 5, wherein said directory memory has a dedicated field to store said hard error occurrence identification information. 
     
     
       7. The multiprocessor according to claim 5, wherein said directory memory stores, as hard error occurrence identification information, a data value which corresponds to an unreal status. 
     
     
       8. A memory accessing method for a multiprocessor, said multiprocessor comprising a main storage, a plurality of processors for sharing said main storage, a cache memory arranged to each of said processors and being for storing various kinds of data in said main storage by each cache line, and a directory memory for storing the cached status of data in said main storage, said method comprising the steps of: controlling said directory memory so that, when a hard error of said main storage has been detected during a reading process of data in said main storage, hard error occurrence identification information is stored to a corresponding cache line in said directory memory; and   inhibiting access to a cache line in said main storage when a corresponding cache line in said directory memory has said identification information.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.