×

Multiprocessor cache coherence system

  • US 4,747,043 A
  • Filed: 03/27/1987
  • Issued: 05/24/1988
  • Est. Priority Date: 02/10/1984
  • Status: Expired due to Fees
First Claim
Patent Images

1. A multiprocessor system comprising:

  • A. a main memory means for storing main memory data at locations therein, and an associated memory bus coupled thereto,B. n data processors, where n is an integer greater than one, each data processor being coupled to said memory bus, and each data processor including;

    i. a central processing unit (CPU),ii. a local cache memory connected with said central processing unit and including means for storing cache data therein at internal locations, said cache data corresponding to main memory data stored in corresponding locations in said main memory,iii. means connected with said central processing unit and with said local cache memory for transferring cache data from selected locations in said local cache memory to said central processing unit,iv. cache data means connected with said central processing unit and with said local cache memory and being responsive to said central processing unit for generating cache data and for storing said generated cache data in selected locations in said local cache memory,v. detection means for each data processor and connected with said cache data means for determining when said cache data means stores said generated cache data in its local cache memory means and for determining the location of said generated cache data stored in the local cache memory,vi. cache change means for each data processor and connected with said detection means and responsive to a determination that said cache data means stores generated cache data in its local cache memory means, for generating a cache change signal, said cache change signal being representative of the location of said generated cache data stored in the local cache memory,vii. means connected with said memory bus for transmitting said cache change signal to said other data processors, said cache change signal being transmitted substantially concurrently with the generation and storage of cache data by said cache data means,C. n cache coherence processors (CCP'"'"'s), each CCP being connected with a corresponding one of said data processors, and including;

    i. cache invalidate tag (CIT) memory including means for storing a CIT data word associated with each of the locations in the local cache memory associated with said CCP,ii. means connected with said memory bus for receiving said cache change signals from said other data processors,iii. means for loading said CIT memory including;

    a. means responsive to the CPU of the corresponding data processor for loading said locations of said CIT memory with CIT data words corresponding to the cache data at the respective locations in said local cache memory associated with said CPU,b. means responsive to a cache change signal received from another said data processor for modifying the contents of a location of a CIT memory corresponding to the location of said generated cache data of said other data processor, whereby said location of said CIT memory stores a linked list of cache invalidate words, each cache invalidate word including a flag portion representative of the occurrence of said generation and storage and including a pointer portion representative of the location in said CIT memory storing the next previously stored cache invalidate word.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×