×

Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system

  • US 5,581,729 A
  • Filed: 03/31/1995
  • Issued: 12/03/1996
  • Est. Priority Date: 03/31/1995
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer system, comprising:

  • a system controller;

    a main memory coupled to said system controller;

    a data processor having a cache memory having N cache lines for storing N data blocks, where N is an integer greater than 4, N master cache tags (Etags), including one Etag for each said cache line in said cache memory, and a writeback buffer for storing a dirty victim data block displaced from said cache memory until it is written back into said main memory;

    said Etag for each cache line storing an address index and an Etag state value that indicates whether said data block stored in said cache line includes data modified by said data processor;

    said data processor including a master interface, coupled to said system controller, for sending memory transaction requests to said system controller, said memory transaction requests including read requests and writeback requests;

    each memory transaction request specifying an address for an associated data block to be read or written;

    said master interface further including cache coherence logic for responding to a cache miss on any cache line in said cache memory by (A) generating a read request, and (B) when said cache miss requires a cache line to be victimized and said victim cache line includes modified data, according to the Etag state value in the corresponding Etag, storing the data block having said modified data in said writeback buffer and generating a writeback request;

    said system controller including a set of N duplicate cache tags (Dtags), each Dtag corresponding to one of said Etags and storing a Dtag state value and the same address index as the corresponding Etag;

    said Dtag state value indicating whether said data block stored in the corresponding cache line includes data modified by said data processor;

    said system controller further including an N+1th Dtag;

    said system controller including memory transaction request logic for processing each said memory transaction request by said data processor;

    said system controller'"'"'s memory transaction request logic including writeback logic for processing said writeback request by writing the data block in said writeback buffer into said main memory and invalidating the state value in the corresponding Dtag;

    said system controller'"'"'s memory transaction request logic including read logic for processing said read request by (A) identifying a victim cache line, if any, in said cache memory and accessing the Dtag corresponding to said victim cache line to determine whether processing said read request will displace from said cache memory a data block that includes modified data, (B) retrieving a data block from said main memory corresponding to said read request and providing it to said data processor for storage in said data processor'"'"'s cache memory, (C) storing a Dtag state value and address tag in the Dtag corresponding to said victim cache line when processing said read request does not displace from said cache memory a modified data block and when said corresponding Dtag'"'"'s state value is invalid, (D) storing said Dtag state value and address tag for said read request in said N+1th Dtag when processing said read request does displace from said cache memory a modified data block and said corresponding Dtag'"'"'s state value is not invalid, and (E) transferring said N+1th Dtag into said Dtag corresponding to said victim cache line when said writeback logic invalidates said Dtag state value in said corresponding Dtag; and

    wherein said memory transaction request logic processes said read request and writeback request such that processing of either of said read request and writeback request may be completed prior to the other in accordance with resource availability for processing said requests.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×