×

Arbitration protocol for a bidirectional bus for handling access requests to a logically divided memory in a multiprocessor system

  • US 5,594,876 A
  • Filed: 07/27/1995
  • Issued: 01/14/1997
  • Est. Priority Date: 06/24/1992
  • Status: Expired due to Fees
First Claim
Patent Images

1. A multiprocessor system comprising:

  • a plurality of processors;

    storage means for storing information, said storage means being logically divided into a plurality of banks;

    a bus interconnecting each of said processors for communication between said processors and interconnecting said processors and said storage means for transmitting said information from said processors to said storage means and from said storage means to said processors;

    arbitration means for granting to said processors accesses to said bus in response to requests from said processors to access said banks, wherein a first one of said accesses to said bus is granted to a first one of said processors in response to a request from said first one of said processors to access a first one of said banks, and a second one of said accesses to said bus is granted to a second one of said processors in response to a request from said second one of said processors to access a second one of said banks, said second one of said accesses to said bus granted to said second one of said processors and said second one of said processors issuing an access command to said second one of said banks over said bus during a time when said first one of said banks is carrying out an access command from said first one of said processors;

    wherein said processors each have a predetermined ranking and said banks each have a corresponding queue, and wherein said arbitration means comprises means for storing processor requests to access one of said banks in a queue corresponding to said one of said banks, said processor request to access one of said banks queued in a corresponding queue if one of the following conditions is fulfilled;

    (a) a request of a higher ranking processor is already queued in said corresponding queue, or(b) condition (a) is not fulfilled and a request from a lower ranking processor is not already queued in said corresponding queue; and

    wherein said arbitration means grants an access to said bus to a processor whose request to access one of said banks is queued in one of said corresponding queues and(A) there is no request from a higher ranking processor queued in said one of said corresponding queues, and(B) one of the following conditions are fulfilled additionally;

    (1) a last access to said bus was granted due to a processor request to access another one of said banks, or(2) if (1) is not fulfilled, there is no request queued in another one of said corresponding queues, and(C) one of the following conditions are fulfilled additionally;

    (1) said one of said banks is not busy, or(2) if (1) is not fulfilled, said queued request is not a request to access the memory of said one of said banks and wherein if condition (2) is fulfilled, access to said bus is granted to allow said bus to be used for communication between said processors during a time when one of said banks is carrying out an access command from one of said processors.

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