Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationUS4920486 A
Type de publicationOctroi
Numéro de demandeUS 07/123,382
Date de publication24 avr. 1990
Date de dépôt23 nov. 1987
Date de priorité23 nov. 1987
État de paiement des fraisPayé
Autre référence de publicationCA1324192C, DE3853574D1, DE3853574T2, EP0318221A2, EP0318221A3, EP0318221B1
Numéro de publication07123382, 123382, US 4920486 A, US 4920486A, US-A-4920486, US4920486 A, US4920486A
InventeursMichael J. K. Nielsen
Cessionnaire d'origineDigital Equipment Corporation
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes: USPTO, Cession USPTO, Espacenet
Distributed arbitration apparatus and method for shared bus
US 4920486 A
Résumé
Each user of an intercommunicastion bus is associated with a distinct channel of an arbitration bus and maintains a priority record indicating its current priority status against each other user. During a contention interval each user then seeking to use the intercommunication bus bids for use of it by transmitting a bus request signal and makes an analysis of the signals to ascertain if it has a dominating priority for initiating a transaction on the bus, and access is granted accordingly. During the use-signal interval a user then using the intercommunication bus transmits an in-use signal used to up-date priority records with the effect of giving the last using user lowest priority. For transactions which require a response from a user other than the one initiating the transaction, a second round of bidding is conducted to determine whether any user is qualified to respond and if so which will be enabled to do so. When the response bidding shows no bidders the system immediately initiates bidding for a new transaction.
Images(8)
Previous page
Next page
Revendications(11)
What is claimed is:
1. In a computer system having a multiplicity of subunits connected to a shared bus, distributed bus arbitration apparatus comprising:
an arbitration bus with means for carrying a multiplicity of substantially simultaneous bus request signals; and
a multiplicity of arbitration means, each coupled to the shared bus, the arbitration bus and a corresponding one of the subunits, for determining the relative priorities by which said subunits shall access said shared bus; each said arbitration means determining only whether said subunit coupled to said arbitration means is to be granted access to said shared bus;
each said arbitration means including:
status means for storing status signals denoting which ones of said subunits have higher priority and which ones have lower priority than the subunit corresponding to said arbitration means;
bus requesting means coupled to said arbitration bus for asserting a bus request signal on said arbitration bus; and
access control means, coupled to said arbitration bus and said status means, for receiving bus request signals asserted on said arbitration bus and for granting said corresponding subunit access to said shared bus only when said bus requesting means has asserted a bus request signal and none of the received bus request signals were asserted by the arbitration means of subunits denoted by said status means as having higher priority than said corresponding subunit;
wherein said multiplicity of arbitration means simultaneously arbitrate access to the shared bus.
2. The distributed bus arbitration apparatus of claim 1, said arbitration means further including:
use asserting means coupled to said arbitration bus for asserting a use signal on said arbitration bus when said access control means grants access to the corresponding subunit; and
status updating means coupled to said status means for storing a status signal denoting low priority for each subunit granted access to said shared bus;
whereby said multiplicity of arbitration means maintain distinct but consistent status signals in their respective status means.
3. The distributed bus arbitration apparatus of claim 1, said arbitration means further including:
use asserting means coupled to said arbitration bus for asserting a use signal on said arbitration bus when said access control means grants access to the corresponding subunit; and
status updating means coupled to said status means for storing a status signal denoting low priority for each subunit granted access to said shared bus, and for storing high priority status signals for all other subunits when said corresponding subunit is granted access to said shared bus.
4. In a computer system having a multiplicity of subunits connected to a shared bus, distributed arbitration apparatus comprising:
an arbitration bus having a separate channel for each said subunit; and
a multiplicity of arbitration means, each coupled to the shared bus, the arbitration bus and to a corresponding one of the subunits, for determining the priority by which said subunits shall access said shared bus; each said arbitration means determining only whether said subunit coupled to said arbitration means is to be granted access to said shared bus;
each said arbitration means including:
status means for storing a multiplicity of status signals denoting which of said subunits have priority over the subunit corresponding to said arbitration means;
bus requesting means coupled to said arbitration bus for asserting a bus request signal on the channel of said arbitration bus corresponding to said arbitration means; and
access control means, coupled to said arbitration bus and said status means, for comparing bus request signals asserted on the channels of said arbitration bus with corresponding ones of said status signals stored in said status means, and for granting the corresponding subunit access to said shared bus only if none of said bus request signals correspond to status signals denoting subunits having higher priority than said corresponding subunit.
5. The distributed bus arbitration apparatus of claim 4, said arbitration means further including:
use asserting means coupled to said arbitration bus for asserting a use signal on the channel of said arbitration bus corresponding to said arbitration means when said access control means grants access to the corresponding subunit; and
status updating means, coupled to said status means and said arbitration bus, for storing a low priority status signal for each subunit granted access to said shared bus, and for storing high priority status signals for all other subunits when said corresponding subunit is granted access to said shared bus.
6. In a computer system having a multiplicity of subunits connected to a shared bus, arbitration apparatus comprising:
an arbitration bus having a separate channel for each other said subunit; and
a multiplicity of arbitration means, each coupled to the shared bus, the abitration bus and to a corresponding one of the subunits, for determining the priority by which said subunits shall access said shared bus; each said arbitration means determining only whether said subunit coupled to said arbitration means is to be granted access to said shared bus;
each said arbitration means including:
status means for storing status signals denoting which ones of said subunits have higher priority and which ones have lower priority than the subunit corresponding to said arbitration means;
bus requesting means coupled to said arbitration bus for asserting a bus request signal on the channel of said arbitration bus corresponding to said arbitration means; and
access control means, coupled to said arbitration bus and said status means, for receiving bus request signals asserted on said arbitration bus and for granting the corresponding subunit access to said shared bus only when said bus requesting means has asserted a bus request signal and none of said received bus request signals correspond to subunits denoted by said status means as having higher priority than said corresponding subunit.
7. In a computer system having a multiplicity of subunits interconnected by an arbitration bus with means for carrying a multiplicity of substantially simultaneous bus request signals, a method of arbitrating access by said subunits to a shared bus, the steps of the method comprising performing, substantially simultaneously, the following steps at each subunit:
storing a distinct set of status signals denoting which ones of said subunits have higher priority and which ones have lower priority than said subunit;
asserting a bus request signal on said arbitration bus when said subunit needs access to said shared bus;
comparing said bus request signals asserted on said arbitration bus with said status signals for said subunit; and
granting said subunit access to said shared bus only when said subunit has asserted a bus request signal and none of said bus request signals correspond to subunits denoted by said status signals as having higher priority than said subunit;
whereby each subunit simultaneously arbitrates access to the shared bus.
8. The bus arbitration method of claim 7,
said granting step further including the step of asserting a use signal on said arbitration bus when said subunit is granted access to said shared bus; and
said storing step further including the steps of storing a status signal denoting low priority for each subunit granted access to said shared bus, and resetting said status signals to a predefined state when said subunit is granted access to said shared bus;
whereby said multiplicity of subunits maintain distinct but consistent sets of status signals.
9. The bus arbitration method of claim 7,
said granting step further including the step of asserting a use signal on said arbitration bus when said subunit is granted access to said shared bus; and
said storing step further including the steps of storing a status signal denoting low priority for each subunit granted access to said shared bus, and storing high priority status signals for all other subunits when said corresponding subunit is granted access to said shared bus.
10. In a computer system having a multiplicity of subunits interconnected by an arbitration bus with means for carrying a multiplicity of substantially simultaneous bus request signals, a method of arbitrating access by said subunits to a shared bus, the steps of the method comprising:
storing, for each subunit, a distinct set of status signals denoting which ones of said subunits have higher priority and which ones have lower priority than said subunit;
asserting on said arbitration bus a separate bus request signal for each of those subunits which need access to said shared bus; and
substantially simultaneously, at each one of said subunits which asserted a bus request signal, comparing said bus request signals asserted on said arbitration bus with said stored status signals for said subunit and granting said subunit access to said shared bus only if none of said bus request signals correspond to subunits denoted by said stored status signals as having higher priority than said subunit;
whereby each subunit simultaneously arbitrates access to the shared bus.
11. The bus arbitration method of claim 10,
said granting step further including the step of asserting a use signal on said arbitration bus when said subunit is granted access to said shared bus; and
said storing step further including the steps of storing a status signal denoting low priority for each subunit granted access to said shared bus, and storing high priority status signals for all other subunits when said corresponding subunit is granted access to said shared bus.
Description
BRIEF SUMMARY OF THE INVENTION

Computer systems may be organized with a plurality of processors operating concurrently in parallel. In such systems, the several processors operate quasi independently, but from time to time need to transfer information between processors or between a processor and other system components such as input-output devices. In order to effect these information transfers, an intercommunication bus is provided connecting to the processors and to other system component, the bus being capable of transferring information from any user to any other. Such a bus is very flexible in its operation, but it is necessary to have some procedure to assure orderly use of the intercommunication bus. This invention relates to controlling access to an intercommunication bus shared by several users so as to provide orderly use of the bus by a plurality of users.

The invention features a multi-channel arbitration bus with each user associated with a distinct channel thereof and a priority record for each user indicating current priority status of the associated user against each other user. A contention interval and a use-signal interval are defined by a state machine associated with each user. During the contention interval each user then seeking to use the intercommunication bus bids for use of it by transmitting a bus request signal. Each user makes an analysis of the bus request signals to ascertain if it has a dominating priority for use of the intercommunication bus for a transaction and access is granted accordingly. During the use-signal interval a user then using the intercommunication bus transmits an in-use signal. The in-use signal is used by each user to up-date its priority record with the effect of giving the last using user a priority subordinate to all others for the next bidding to initiate a transaction.

For transactions which require a response from some system user other than the one initiating the transaction, a second round of bidding is conducted to determine whether any user is qualified to respond and if so which will be enabled to do so. When the response bidding shows no bidders the system immediately initiates bidding for a new transaction; when there are one or more qualified responders, one is selected and enabled to respond.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 shows schematically an access control system controlling responding by a plurality of bus users of an intercommunication bus according to the invention.

FIG. 2 shows in block diagram form an access controller used in the response control system of FIG. 1.

FIG. 3 shows details of the priority state store and the arbitration logic used in the access controller of FIG. 2.

FIG. 4 shows in detail the construction of interconnect keys used in the access control system of FIG. 1.

FIG. 5 shows timing signals used in the access control system of FIG. 1.

FIG. 6 shows the operations of a state machine used in the invention.

FIG. 7 shows the connections of update circuitry of the access controller of FIG. 2.

FIG. 8 shows the connection scheme of the interconnect keys of the access control system of FIG. 1.

DETAILED DESCRIPTION

With reference to the Figures, access control system 10 according to the invention controls use of intercommunication bus 14 by processor users 12, 13, and i/o device 16. Information is transferred on the intercommunication bus in predefined related sequential or parallel operations denominated a transaction. There may be several types of transaction with distinct operations such as reading or writing to the cache memory of another processor, acknowledgement of interrupts, and reading or writing to input-output devices. Certain transactions, notably interrupt acknowledge and memory read, are initiated by one user and require a response from another user.

Access control system 10 as shown particularly in FIG. 1, includes arbitration bus 21, having n channels, control bus 22, and bus system clock 23. Bus system clock generates and propagates to all bus users timing signals which define definite time increments which synchronize the whole bus system. The clock propagates to all bus stations a primary periodic signal (the A clock) the rising edge thereof defining the start of a new time increment. The clock also propagates a secondary signal (the B clock) phase shifted from the A clock, the rising edge of which defines a time towards the end of the each time increment. The B clock is generally used to admit signals into latches after propagation transients have subsided. The clock signals are diagramed in FIG. 5.

Representative user 12 is connected to associated access controller 17 by bus request line 19, by response ready line 50, by grant line 20 and by response enable line 51, and to intercommunication bus 14, control bus 22, and bus system clock 23. Access controller 17 is connected directly to control bus 22 and bus system clock 23, and through interconnect key 24 to arbitration bus 21. User 12, together with its access controller 17 is connected to interconnect key 24, initialize key 38 and intercommunication bus 14 through standard port 47. User 13 and further users including i/o device 16, are connected as is user 12.

Access controller 17 includes transmit line 25, (n-1) monitoring lines 26, control circuitry 27, drive circuitry 28, priority state store 29, arbitration logic 30, access grant circuitry 31 with grant latch 37, up-date circuitry 32, no-bid circuitry 33, initialize gate 39 and up-date gate 34, interconnected as shown in FIG. 2.

Further details of priority state store 29 and arbitration logic 30 are shown in FIG. 3. Priority state store 29 includes (n-1) two-state storage elements 35, advantageously flip-flops. From storage elements 35 outputs pass in parallel to (n-1) AND gates 36. Monitor lines 26 also pass in parallel to AND gates 36. Outputs of AND gates 36 are combined with the signal T on transmit line 25 as shown to produce the signal P.

Up-date circuitry 32, as shown particularly in FIG. 7, connects transmit line 25 to the set inputs of each of two state storage elements 35 and connects the monitor lines 26 respectively to the reset inputs of each of the storage elements 35. These connections are made through update gate 34. The output lines 40 from initialize key 38 are connected through initialize gate 39 to the set and reset inputs of storage elements 35.

Control circuitry 27 includes a cycling state machine 46 which controls the operation of access controller 17 and keeps track of what is happening on the intercommunication bus. The operation of this state machine is diagramed in FIG. 6 and will be further discussed in connection with the system operation.

Access controller 18 and further access controllers are identical to access controller 17.

Turning to the operation of the system, a user typically operates quasi-independently processing instructions, using its own local cache memory and with its own synchronizing clock which is not that of the bus or other users. From time to time the computations performed will generate a requirement to exchange information with another system component. Typical events requiring information exchange are need for data stored in another user's cache memory, need to update data stored in another users memory, and need to obtain information from an i/o device in order to process an interrupt. Information is exchanged over the intercommunication bus in a transaction. There may be several types of transaction but each will have a defined format specifying what is transmitted on which bus component and in what order. In the system describe here, the format calls for signals identifying the transaction type to pass on the control bus and detailed information such as addresses and data to pass on the intercommunication bus. When a user has need to communicate over the bus system it loads output buffers with the information to service a transaction and then transmits to its access controller 17 a bus request signal R on bus request line 19 indicating that it seeks to use the intercommunication bus and is ready to initiate a transaction. When a grant signal G is received from access controller 17 on grant line 20 the user begins a bus transaction.

A user also continually monitors the buses to detect signals indicating that a transaction initiated by another user requires the monitoring user to provide a response. When it detects such a signal, it loads the response into output buffers and when these are ready it emits a response ready signal R on line 50 to its controller 17. Then when a response enable signal E is received on line 51, it begins transmission of the response.

The operation of access controller 17 is organized by control circuitry 27 which can be understood with reference to its state machine diagramed in FIG. 6. This state machine passes from state to state through loops with no particular starting point. It transfers from one state to the next with the onset of each time increment marked by the A clock.

It will be convenient to follow the operation of the state machine from a point when it has just entered into the state C at the top of the diagram. The existence of the state machine in state C defines a contention interval, and during this interval control circuitry 27 emits an active C signal which, as shown in FIG. 2, is applied to drive circuitry 28, access grant circuitry 31, and no-bid circuitry 33. At the end of the time increment marked by the A clock, if control circuitry 27 has received an active no-bid signal X from no-bid circuitry 33 it reenters state C; absent the no-bid signal it shifts to state U. The C and clock signals are shown in FIG. 5.

The existence of the state machine in state U defines a use-signal interval, and during this interval, control circuitry 27 emits an active U signal as shown in FIG. 5. The U signal, as shown in FIG. 2, is applied to access grant circuitry 31 and up-date gate 34. During the time increment when the state machine exists in the U state, control circuitry receives from control bus 22 signals indicating which type of transaction is being initiated by one of the users 12. In accordance with these received signals, at the end of the period the state machine branches to one of several transaction completion states, denominated Z, each corresponding to one of the predefined transaction types.

The transaction types A, B are representative of rather simple transactions such as effecting transfer of data from the initiating user to an input-output device. Longer and more complex transactions may also be defined and use as illustrated by transaction type C. For all transactions the state machine continues through a chain of successive transaction completion states as may be required to complete the particular transaction type which is in progress. When the state machine reaches the end of whatever chain it is following it reverts to state C and begins another contention interval.

The Type D branch chain is of particular relevance to the present invention. Such a transaction is exemplified by an interrupt acknowledge transaction which may occur when a processor-user wishes to service an interrupt and initiates a Type D transaction to obtain needed information. On branching according to a Type D transaction, the state machine enters state C'. The existence of the state machine in state C' defines a response bid interval, and during this interval control circuitry 27 emits an active C' signal which, as shown in FIG. 2, is applied to drive circuitry 28, access grant circuitry 31, and no-bid circuitry 33.

At the end of the time increment for existence in state C' (marked by the A clock), if control circuitry 27 has received an active no-bid signal X from no-bid circuitry 33 it reenters state C; absent the no-bid signal it shifts to state V.

The existence of the state machine in the V state defines a response enablement interval, and during this interval control circuitry 27 emits the V signal, which, as shown in FIG. 2, is applied to access grant circuitry 31.

At the end of its period in the V state the state machine returns to state C shown at the top of FIG. 6.

Control circuitry 27 also is responsive to a "wait" signal received from the control bus during any of the states to causes the state machine to reenter a state rather than progressing to the next state. This feature permits any user that is unready to keep up with the standard transaction pace to delay the advance of state machines in all controllers by transmitting the wait signal on the control bus.

It may be noted that while the operation of the state machine is contingent on signals received from the control bus, it is indifferent to which user is emitting these signals. As a result the state machines of the several access controllers are in step keeping independent but identical reports of the state of the intercommunication bus.

Consider now the interactions of the signals emitted by the control circuitry with other elements of the access controller. To facilitate this discussion the signals on the (n-1) monitor lines will be designated Mi with i running 1 to (n-1). The signals of the storage elements 35 will be designated Si with the index of the storage element corresponding to that of the monitor line connected to the same one of AND gates 36.

When the C signal emitted by the control circuitry during a contention interval is applied to drive circuitry 28, it causes, if user 12 has signalled on line 19 that it seeks to use the intercommunication bus, the transmission of a bus contention signal through interconnect key 24 to the arbitration bus channel associated with the user.

Also during a contention interval any contention signals transmitted onto the arbitration bus are applied to arbitration logic 30, where they are logically analyzed with the signals out of priority state store 29 to produce the signal P indicative of whether the user 12 has a dominating priority. If an active condition on an arbitration bus channel is denominated 1 and an inactive 0, and if the two states of the storage elements Si of the priority state store are similarly denominated, the logical operation of the arbitration logic may be described in terms of modulo 2 arithmetic as

P=T (M.sub.1 S.sub.1 +1) (M.sub.2 S.sub.2 +1) . . . (M.sub.n-1 S.sub.n-1 +1).

The C signal together with the B clock applied to access grant circuitry 31 effect the capture of the P signal into grant latch 37 during the later part of the contention interval. The contention signals from the arbitration bus are also applied to and logically analyzed in the no-bid circuitry 33, the result being emitted as the X signal by the application of the C signal and the B clock. The X signal provides control circuitry 27 with the criterion for immediately restarting a contention interval.

The U signal emitted by the control circuitry during a use-signal interval is applied to access grant circuitry 31, and if the W signal out of the grant latch 37 is asserted, this causes the G signal to be sent to user 12 on line 20. The G signal in turn causes the emitting of the T signal from drive circuitry 28. The U signal together with the B clock is also applied to up-date gate 34 to effect the up-dating of the priority storage elements during the later part of the use-signal interval.

Control circuitry 27 is also responsive to an initialize signal received on the control bus to enable the transfer of signals from initialize key 38 to priority state store 29 through initialize gate 39.

When the C' signal emitted by the control circuitry during a response bid interval is applied to drive circuitry 28, it causes, if user 12 has signalled a response ready signal R' on line 50 indicating that it is ready to respond on the intercommunication bus, the transmission of a response bid signal through interconnect key 24 to the arbitration bus channel associated with the user.

Also during a response bid interval any response bid signals transmitted onto the arbitration bus are applied to arbitration logic 30, where they are logically analyzed with the signals out of priority state store 29 to produce the signal P indicative of whether the user 12 has a dominating priority, the analysis being as described in connection with the contention interval.

The V signal emitted by the control circuitry during a response enablement interval is applied to access grant circuitry 31, and if the W signal out of the grant latch 37 is at this time asserted, this causes the E signal to be sent to user 12 on line 51.

We now consider the global organization through which the several access controllers interact with each other. It should be noted that the several controllers are all identical in construction and operation. The only distinctions between one controller and another lie in the interconnect keys through which the controllers are connected to the arbitration bus, in the information content of the priority state stores, and in the initialize keys which establish initial values of the priority state stores.

Interconnect keys 24 interconnect arbitration bus 21 with access controllers 17 as shown particularly in FIG. 4. In contrast to the controllers 17, which are all alike, the interconnect keys and the initialize keys are distinct and organized in a pattern on a global basis. Each key on its bus side has n connections connected to the n arbitration bus channels (which will be designated A1, A2, . . . An). Each interconnect key on its controller side connects to the transmit line 25 (signal T) and to the (n-1) monitor lines 26 (signals Mi) of its associated controller. A first interconnect key (designated K1) has internal connections connecting A1 to its transmit line and the (n-1) bus channels other than A1 to the (n-1) monitor lines of its controller; a second interconnect key K2 has internal connections connecting A2 to the transmit line and the (n-1) bus channels other than A2 to the (n-1) monitor lines of its controller; and so on through the interconnect keys. In particular, the transmit line of each controller is connected through keys Ki to a distinct bus channel Ai. The connection scheme is illustrated in FIG. 8.

The initialize keys 38, as shown particularly in FIG. 4, generate signals from the voltage supply (0 and +) which are applied in direct or inverted order through initialize gate 39 to the set and reset inputs of storage elements 35 of priority state store 29.

In the first initialize key I1, (associated with access controller 1 and interconnect key K1), the connections are such as to apply the+voltage to the set inputs of none and the reset inputs of all of the storage elements, so that when the initialize gate 39 of access controller 1 admits these signals all its storage elements will be reset to 0.

In the second initialize key I2, the connections are such as to apply the+voltage to the set input of the first storage element and the rest inputs of all of the higher indexed storage elements, so that when the initialize gate 39 of access controller 2 admits these signals, the first of its storage elements will be set to 1 and the higher indexed storage elements will be reset to 0. (The indexing of the storage elements is that of the associated monitor line and signal as assigned in the discussion of the interconnect keys.)

In the third initialize key I3, the connections are such as to apply the+voltage to the set input of the first and second storage elements and the reset inputs of all of the higher indexed storage elements, so that when the initialize gate 39 of access controller 3 admits these signals, the first and second of its storage elements will be set to 1 and the higher indexed storage elements will be reset to 0.

The connection pattern continues to the higher indexed initialize keys, with the switching position below which the+voltage is applied to the set input increasing progressively for the higher indexed initialize keys. The nth initialize key has the switching position above the highest indexed storage element with the result that all its storage elements will be set. The general pattern is illustrated in the following table:

______________________________________        Switch position betweenInitialize Key        Storage elements______________________________________1            -12            1-23            2-3. . .        . . .n            n-______________________________________

For purposes of a discussion of the global aspects of the operation of the invention it will be convenient to use a different convention for identifying the signals of the storage elements of priority state store 29 than that used in discussing the internal operation of a single controller. The storage elements signals will be denominated with reference to their connections to the arbitration bus. Each storage element is associated (in different ways) with two distinct bus channels. A storage element signal will be designated Sij, with the meaning that it is in the access controller whose T line is connected through its interconnect key to bus channel Ai, and is associated with channel Aj by being connected to the same AND gate 36 as channel Aj. Since AND gates 36 are never connected to the same bus channel as T, the Sij are constrained by the condition i not equal to j.

The signals stored in the priority state store of each controller essentially indicate the current priority of the controller against each other controller. That is, when S13 is 1, it indicates to controller 1 that controller 3 has a dominating priority. While any combination of values may occur in the (n-1) storage elements of a single controller, not all global combinations of values of the n (n-1) system elements are compatible with an ordered priority ranking of the controllers. The global conditions that must be met by the stores to reflect an ordered priority ranking of the controllers are that Sij be not equal to Sji and that the number of ones in any controller store be different from that in any other. The organization of the initialize keys ensures that these conditions are met at the start of operations, and the organization of the interconnect keys ensures that all updating changes maintain the required conditions.

From a system viewpoint, each controller keeps track in its priority state store of its priority status against each other controller. Then at the beginning of the contention interval each controller, if it seeks to initiate a transaction on the intercommunication bus, promulgates a bid to all others by transmission on its proper arbitration channel (that is, the one with which it is uniquely associated by connection through its interconnect key). Towards the end of the contention interval, each controller through its arbitration logic analyzes the bid signals to determine what controller is to be granted access to the intercommunication bus. In the succeeding use-signal interval the bidding controller which has been granted access enables its user to initiate a transaction on the intercommunication bus and also announces this use to all other controllers by emitting the T signal on its proper channel. Towards the end of the use-signal interval (at the time of the B clock) the signals on the arbitration bus indicating which controller has used the intercommunication bus are passed through the up-date gates and used to update the priority record. The using controller revises its record to show that every other controller now dominates it; each non-using controller records that the using controller is now subordinate to itself. The result of these revisions is to move the last using controller from its previous position to the bottom of the priority order while otherwise leaving the priority order unchanged.

The system operation thus implements a policy of making the last initiator of a transaction go to the end of the priority line.

In dealing with certain transactions requiring a response and where there may be one, several, or no qualified responders, a response bid interval occurs in which each qualified responder indicates that it is ready to respond by transmission on its proper arbitration channel of a response bid signal. These any signals placed on the arbitration bus during the response bid interval are analyzed to determine whether there is any bidding responder, and if so which one has priority. If there is no qualified responder the system without delay restarts the contention for a new transaction; if there are one or more a qualified responders one is enabled to make the response. The operation during the response bid interval follows the pattern of that during the contention interval and uses the same access controller circuitry with advantages of ecomony. By immediately restarting the primary contention for a new transaction when there is no bid for response, the system avoids tying up the buses waiting for a reply that will never come.

The response bidding operation does not make any revision of the priority store information and so does not interfere with the priority policy for awarding most ancient user priority in initiating a transaction. In most of the preceding discussion it has been assumed that a full complement of users was bidding for the use of the intercommunication bus--that is that there are n actively bidding users for a system with n arbitration channels. The system works equally well if there are fewer than n users or if some users are passive, participating in transactions but never initiating any. In such cases the nominal priority of the passive or non-existent users will rise to the top ranks, but since these users never bid for the intercommunication bus, the bus grant will always be to the highest ranking bidding user.

The described system facilitates interchangeability of operating users on an intercommunication bus because the controllers are identical. Thus an intercommunication bus may be designed with the unique connect and initialize keys terminating in standard ports to which a controller and user can be connected. Users with different functions can then be attached to any port indiscriminately.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US4063220 *31 mars 197513 déc. 1977Xerox CorporationMultipoint data communication system with collision detection
US4320457 *4 févr. 198016 mars 1982General Automation, Inc.Communication bus acquisition circuit
US4499538 *3 sept. 198212 févr. 1985Ulrich FingerAccess arbitration system to several processors or microprocessors with a common bus
US4536839 *30 mars 198220 août 1985Mai Basic Four, Inc.Memory request arbitrator
US4633394 *24 avr. 198430 déc. 1986International Business Machines Corp.Distributed arbitration for multiple processors
US4656627 *21 nov. 19847 avr. 1987At&T CompanyMultiphase packet switching system
US4719622 *15 mars 198512 janv. 1988Wang Laboratories, Inc.System bus means for inter-processor communication
US4760515 *28 oct. 198526 juil. 1988International Business Machines CorporationArbitration apparatus for determining priority of access to a shared bus on a rotating priority basis
Référencé par
Brevet citant Date de dépôt Date de publication Déposant Titre
US5038274 *15 nov. 19896 août 1991Digital Equipment CorporationInterrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
US5151994 *22 oct. 199129 sept. 1992Hewlett Packard CompanyDistributed fair arbitration system using separate grant and request lines for providing access to data communication bus
US5155854 *3 févr. 198913 oct. 1992Digital Equipment CorporationSystem for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5210871 *31 juil. 199011 mai 1993The Charles Stark Draper Labroatory, Inc.Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
US5218703 *20 avr. 19928 juin 1993Siemens AktiengesellschaftCircuit configuration and method for priority selection of interrupts for a microprocessor
US5237696 *27 mars 199217 août 1993Rockwell International CorporationMethod and apparatus for self-timed digital data transfer and bus arbitration
US5257385 *30 déc. 199126 oct. 1993Apple Computer, Inc.Apparatus for providing priority arbitration in a computer system interconnect
US5261109 *19 janv. 19939 nov. 1993Intel CorporationDistributed arbitration method and apparatus for a computer bus using arbitration groups
US5265212 *1 avr. 199223 nov. 1993Digital Equipment CorporationSharing of bus access among multiple state machines with minimal wait time and prioritization of like cycle types
US5265223 *31 juil. 199223 nov. 1993Hewlett-Packard CompanyPreservation of priority in computer bus arbitration
US5269005 *17 sept. 19917 déc. 1993Ncr CorporationMethod and apparatus for transferring data within a computer system
US5274774 *30 avr. 199228 déc. 1993Wisconsin Alumni Research FoundationFirst-come first-serve arbitration protocol
US5282272 *28 janv. 199325 janv. 1994Intel CorporationInterrupt distribution scheme for a computer bus
US5283904 *22 janv. 19931 févr. 1994Intel CorporationMulti-processor programmable interrupt controller system
US5297290 *18 sept. 198922 mars 1994Hitachi, Ltd.Method and apparatus for interruption processing in multi-processor system
US5301283 *16 avr. 19925 avr. 1994Digital Equipment CorporationDynamic arbitration for system bus control in multiprocessor data processing system
US5307466 *30 avr. 199226 avr. 1994International Business Machines CorporationDistributed programmable priority arbitration
US5313591 *25 juin 199217 mai 1994Hewlett-Packard CompanyComputer bus arbitration for N processors requiring only N unidirectional signal leads
US5313620 *1 juil. 199117 mai 1994Bell Communications Research, Inc.Selective receiver for each processor in a multiple processor system
US5353415 *2 oct. 19924 oct. 1994Compaq Computer CorporationMethod and apparatus for concurrency of bus operations
US5359715 *16 sept. 199125 oct. 1994Ncr CorporationArchitectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5371863 *22 sept. 19936 déc. 1994Tandem Computers IncorporatedHigh speed processor bus extension
US5410677 *30 déc. 199125 avr. 1995Apple Computer, Inc.Apparatus for translating data formats starting at an arbitrary byte position
US5434984 *24 mars 199318 juil. 1995Alcatel N.V.Priority based access control arrangement
US5463741 *16 oct. 199231 oct. 1995International Business Machines CorporationDuplicated logic and interconnection system for arbitration among multiple information processors
US5463753 *2 oct. 199231 oct. 1995Compaq Computer Corp.Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5488693 *24 juin 199230 janv. 1996At&T Corp.Protocol with control bits and bytes for controlling the order of communications between a master processor and plural slave processors
US5506989 *31 janv. 19909 avr. 1996Ibm CorporationArbitration system limiting high priority successive grants
US5528761 *16 juin 199318 juin 1996International Business Machines CorporationMessage passing apparatus for determining if counted acknowledgements from a set of processors are within a defined range
US5530871 *23 août 199425 juin 1996Nec CorporationAsynchronous input and output control system
US5535395 *2 oct. 19929 juil. 1996Compaq Computer CorporationPrioritization of microprocessors in multiprocessor computer systems
US5546587 *31 oct. 199413 août 1996Tandem Computers IncorporatedDecentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed
US5550979 *17 déc. 199327 août 1996Sony CorporationAudio video system
US5553248 *2 oct. 19923 sept. 1996Compaq Computer CorporationSystem for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5553310 *2 oct. 19923 sept. 1996Compaq Computer CorporationSplit transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5566305 *5 juin 199515 oct. 1996International Business Machines CorporationDuplicated logic and interconnection system for arbitration among multiple information processors
US5586331 *2 juin 199517 déc. 1996International Business Machines CorporationDuplicated logic and interconnection system for arbitration among multiple information processors
US5613128 *6 mai 199618 mars 1997Intel CorporationProgrammable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5619705 *12 juin 19968 avr. 1997Intel CorporationSystem and method for cascading multiple programmable interrupt controllers utilizing separate bus for broadcasting interrupt request data packet in a multi-processor system
US5640599 *18 mars 199417 juin 1997Apple Computer, Inc.Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed
US5680554 *4 oct. 199521 oct. 1997Samsung Electronics Co., Ltd.Method and apparatus for arbitrating among processors for access to a common bus
US5694545 *7 juin 19952 déc. 1997Apple Computer, Inc.System for providing control of data transmission by destination node using stream values transmitted from plural source nodes
US5696976 *17 sept. 19969 déc. 1997Intel CorporationProtocol for interrupt bus arbitration in a multi-processor system
US5701496 *17 sept. 199623 déc. 1997Intel CorporationMulti-processor computer system with interrupt controllers providing remote reading
US5802300 *16 janv. 19961 sept. 1998Sony CorporationAudio video system
US5809263 *9 déc. 199615 sept. 1998Rambus Inc.Integrated circuit I/O using a high performance bus interface
US5841580 *10 févr. 199724 nov. 1998Rambus, Inc.Integrated circuit I/O using a high performance bus interface
US5842025 *27 août 199624 nov. 1998Mmc Networks, Inc.Arbitration methods and apparatus
US5848297 *30 déc. 19918 déc. 1998Apple Computer, Inc.Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US5887196 *24 janv. 199423 mars 1999Apple Computer, Inc.System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
US5915105 *26 nov. 199722 juin 1999Rambus Inc.Integrated circuit I/O using a high performance bus interface
US5928343 *16 juin 199827 juil. 1999Rambus Inc.Memory module having memory devices containing internal device ID registers and method of initializing same
US5948078 *7 nov. 19977 sept. 1999Mmc Networks, Inc.Assigned device numbers to units connected to a bus
US5954804 *10 févr. 199721 sept. 1999Rambus Inc.Synchronous memory device having an internal register
US5991841 *24 sept. 199723 nov. 1999Intel CorporationMemory transactions on a low pin count bus
US6026459 *3 févr. 199815 févr. 2000Src Computers, Inc.System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources
US6070222 *8 mars 199930 mai 2000Rambus Inc.Synchronous memory device having identification register
US6085284 *19 févr. 19994 juil. 2000Rambus Inc.Method of operating a memory device having a variable data output length and an identification register
US6119189 *24 sept. 199712 sept. 2000Intel CorporationBus master transactions on a low pin count bus
US6131127 *24 sept. 199710 oct. 2000Intel CorporationI/O transactions on a low pin count bus
US6157970 *24 sept. 19975 déc. 2000Intel CorporationDirect memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US618218422 févr. 200030 janv. 2001Rambus Inc.Method of operating a memory device having a variable data input length
US626009728 févr. 200010 juil. 2001RambusMethod and apparatus for controlling a synchronous memory device
US630493725 sept. 200016 oct. 2001Rambus Inc.Method of operation of a memory controller
US637802010 avr. 200023 avr. 2002Rambus Inc.System having double data transfer rate and intergrated circuit therefor
US654644621 déc. 20018 avr. 2003Rambus Inc.Synchronous memory device having automatic precharge
US65642811 oct. 200113 mai 2003Rambus Inc.Synchronous memory device having automatic precharge
US668428525 juil. 200227 janv. 2004Rambus Inc.Synchronous integrated circuit device
US671502021 déc. 200130 mars 2004Rambus Inc.Synchronous integrated circuit device
US672881914 mars 200227 avr. 2004Rambus Inc.Synchronous memory device
US675169613 avr. 200115 juin 2004Rambus Inc.Memory device having a programmable register
US680759822 janv. 200219 oct. 2004Rambus Inc.Integrated circuit device having double data rate capability
US789068617 oct. 200515 févr. 2011Src Computers, Inc.Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US80326785 nov. 20084 oct. 2011Mediatek Inc.Shared resource arbitration
US20060039213 *20 nov. 200323 févr. 2006Rambus Inc.Integrated circuit I/O using a high performance bus interface
US20070088886 *17 oct. 200519 avr. 2007Src Computers, Inc.Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US20100115167 *5 nov. 20086 mai 2010Mediatek Inc.Shared Resource Arbitration
US20130262724 *5 août 20113 oct. 2013Continental Teve AG & Co. oHGMethod and Circuit Arrangement for Transmitting Data Between Processor Modules
USRE40317 *22 mars 200113 mai 2008Apple Inc.System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
WO1999039274A1 *29 janv. 19995 août 1999Src Computers, Inc.System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources
Classifications
Classification aux États-Unis710/111
Classification internationaleG06F13/378, G06F13/368
Classification coopérativeG06F13/378
Classification européenneG06F13/378
Événements juridiques
DateCodeÉvénementDescription
21 nov. 1988ASAssignment
Owner name: DIGITAL EQUIPMENT CORPORATION, MAYNARD, MA, A CORP
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:NIELSEN, MICHAEL J. K.;REEL/FRAME:004982/0564
Effective date: 19881114
1 oct. 1993FPAYFee payment
Year of fee payment: 4
30 sept. 1997FPAYFee payment
Year of fee payment: 8
26 sept. 2001FPAYFee payment
Year of fee payment: 12
9 janv. 2002ASAssignment
Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DIGITAL EQUIPMENT CORPORATION;COMPAQ COMPUTER CORPORATION;REEL/FRAME:012447/0903;SIGNING DATES FROM 19991209 TO 20010620
21 janv. 2004ASAssignment
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS
Free format text: CHANGE OF NAME;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, LP;REEL/FRAME:015000/0305
Effective date: 20021001
21 juin 2005CCCertificate of correction