×

Memory reference control in a multiprocessor

  • US 4,745,545 A
  • Filed: 06/28/1985
  • Issued: 05/17/1988
  • Est. Priority Date: 06/28/1985
  • Status: Expired due to Term
First Claim
Patent Images

1. In a multiprocessor computer system including a main memory organized into a plurality of sections each consisting of a plurality of individually addressable memory banks, and wherein each processor includes a plurality of reference generating ports which may generate memory references to any one of said sections and banks, a memory reference interface between said processors and said sections comprising:

  • section level bank conflict resolution means, one for each of said sections of memory, each for receiving reference requests and resolving conflicts between said reference requests;

    port level gating means, one associated with each of said processors, each for receiving reference requests from each of the ports associated with its respective processor and gating said reference requests to the associated one of said section level bank conflict resolution means in accordance with the bank to which the request is directed, said port level gating means permitting only one reference per memory section to be gated at a time;

    port level section conflict resolution means, one associated with each of said processors, each for monitoring reference requests generated by the ports of its respective processor and detecting whether conflicts between reference requests to the same section of memory exist, and if conflicts are detected, determining which one reference request may proceed to each section of memory through said port level gating means and causing the other conflicting reference requests to be held by the port that generated them;

    each of said section level bank conflict resolution means comprising;

    a plurality of input gating means, one associated with each processor, each for selectively gating either a reference request gated through said port level gating means or a resubmitted reference request previously gated therethrough but which could not proceed to the memory due to a conflict;

    bank busy means for monitoring each bank in the associated memory section and generating a set of busy signals each one indicative of the activity status of a particular bank in said associated memory section;

    a plurality of bank conflict checking means each receiving the reference requests gated through a respective one of said input gating means and said set of busy signals for determining the availability of the bank required for a received reference request and generating a bank busy conflict signal indicative of whether or not the checked reference request may proceed;

    simultaneous bank conflict checking means receiving all reference requests gated through said input gating means simultaneously for determining if any of said simultaneous reference requests are directed to the same bank and for generating a set of simultaneous request conflict indicating signals each one corresponding to a respective one of said received simultaneous references; and

    means receiving said bank busy and simultaneous request conflict indicating signals for resolving conflicts between reference requests submitted to said section level bank conflict resolution means, determining which reference requests may proceed to the memory, causing permissible reference requests to be issued to the memory, causing conflicting impermissible reference requests to be resubmitted to their associated input gating means, and causing the port level section conflict resolution means and associated processor to hold the procession of subsequent reference requests when a reference request associated therewith cannot proceed.

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