Claims
- 1. In a computer system having multiple processors with each of the processors linked to a bus switch and also having a branch bus linking at least two bus switches, means for effecting multiple simultaneous communication links between processors comprising:
- means for generating a request for a communication path from a first processor to a second processor, said request received by a first bus switch via a first source spigot and accompanied by a bus address of said second processor;
- means associated with said first bus switch for detecting said request and for identifying a first primary destination spigot of said first bus switch that if linked to said first source spigot could form part of said communication path;
- means for determining whether said first primary destination spigot is available to be linked to said first source spigot;
- means for indicating whether a first alternate destination spigot exists that if linked to said first source spigot could form part of said communication path in the event that said first primary destination spigot is busy;
- means for determining whether said first alternate destination spigot is available to be linked to said first source spigot;
- means for effecting a communication link between said first source spigot and a first selected one of said first destination spigots to form a part of said communication path through said first bus switch, thereby completing said communication path if said second processor is connected to said first selected destination spigot;
- means for communicating said request and said bus address of said second processor to a second bus switch via a branch bus linking said first and second bus switches which could form a part of said communication path, said request and bus address received by said second bus switch via a second source spigot;
- means associated with said second bus switch for detecting said request and for identifying a second primary destination spigot of said second bus switch that if linked to said second source spigot could form part of said communication path;
- means for determining whether said second primary destination spigot is available to be linked to said second source spigot;
- means for determining whether said second alternate destination spigot is available to be linked to said second source spigot; and
- means for effecting a communication link between said second source spigot and a second selected one of said second destination spigots to form a part of said communication path through said second bus switch, thereby completing said communication path if said second processor is connected to said second selected destination spigot.
- 2. A method for effecting multiple simultaneous communication links between processors in a computer system having multiple processors with each of the processors linked to a bus switch and also having a branch bus linking at least two bus switches comprising the steps of:
- generating a request for a communication path from a first processor to a second processor, said request received by a first bus switch via a first source spigot and accompanied by a bus address of said second processor;
- detecting said request and identifying a first primary destination spigot of said first bus switch that if linked to said first source spigot could form part of said communication path;
- determining whether said first primary destination spigot is available to be linked to said first source spigot;
- indicating whether a first alternate destination spigot exists that if linked to said first source spigot could form part of said communication path in the event that said first primary destination spigot is busy;
- effecting a communication link between said first source spigot and a first selected one of said first destination spigots to form a part of said communication path through said first bus switch, thereby completing said communication path if said second processor is connected to said first selected destination spigot;
- communicating said request and said bus address of said second processor to a second bus switch via a branch bus linking said first and second bus switches which could form a part of said communication path, said request and bus address received by said second bus switch via a second source spigot;
- detecting said request and identifying a second primary destination spigot of said second bus switch that if linked to said second source spigot could form part of said communication path;
- determining whether said second primary destination spigot is available to be linked to said second source spigot;
- indicating whether a second alternate destination spigot exists that if linked to said second source spigot could form part of said communication path in the event that said second primary destination spigot is busy;
- determining whether said second alternate destination spigot is available to be linked to said second source spigot; and
- effecting a communication link between said second source spigot and a second selected one of said second destination spigots to form a part of said communication path through said second bus switch, thereby completing said communication path if said second processor is connected to said second selected destination spigot.
Government Interests
This invention was made with Government support under Contract No. DE-AC02-76CH03000 awarded by the U.S. Department of Energy. The Government has certain rights in the invention.
US Referenced Citations (3)