Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
308 words
In a multiprocessor computer which includes a bus and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, a bus protocol system for controlling access to the bus by the processors and for establishing a sender/receiver processor pair comprising: means for conducting a first poll of said processors to determine which processors are ready to send a packet over said bus said polling means including means for generating said first poll independent of whether any of the processors are ready to exchange packets of data words; means for indicating that a selected processor is either ready or not ready to send in response to said first poll; means for sequentially selecting a given one of said processors indicated as ready in response to said first poll as a send processor, granting said selected processor access to the bus for a complete data transfer cycle to allow said selected processor to send its packet, and selecting another one of said processors indicated as ready in response to said first poll to be send processors in an open loop fashion until all said ready processors have sent their packets unless one of said selected processors indicates it is not ready to send; means for denying access to the bus to a selected processor which indicates that it is not ready to send when selected by said selecting means and selecting another one of said processors indicated as ready in response to said first poll as a send processor prior to the completion of a data transfer cycle; and means for conducting a second poll of the processors when all of said processors indicated as ready in response to said first poll have either sent their packet or indicated they were not ready to send.
Claim 2
Dependent Claim
308 words
In a multiprocessor computer which includes a bus and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, a bus protocol system for controlling access to the bus by the processors and for establishing a sender/receiver processor pair comprising: means for conducting a first poll of said processors to determine which processors are ready to send a packet over said bus said polling means including means for generating said first poll independent of whether any of the processors are ready to exchange packets of data words; means for indicating that a selected processor is either ready or not ready to send in response to said first poll; means for sequentially selecting a given one of said processors indicated as ready in response to said first poll as a send processor, granting said selected processor access to the bus for a complete data transfer cycle to allow said selected processor to send its packet, and selecting another one of said processors indicated as ready in response to said first poll to be send processors in an open loop fashion until all said ready processors have sent their packets unless one of said selected processors indicates it is not ready to send; means for denying access to the bus to a selected processor which indicates that it is not ready to send when selected by said selecting means and selecting another one of said processors indicated as ready in response to said first poll as a send processor prior to the completion of a data transfer cycle; and means for conducting a second poll of the processors when all of said processors indicated as ready in response to said first poll have either sent their packet or indicated they were not ready to send.
Claim 3
Dependent Claim
266 words
In a multiprocessor computer which includes a bus having a plurality of bus lines including lines forming a data bus and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, a bus protocol system for controlling access to the bus by the processors and for establishing a sender/receiver processor pair comprising: means for simultaneously polling all processors to determine which processors are ready to transfer a packet of words to another processor over said bus, said polling means including means or generating said poll independent of whether any of the processors are ready to exchange data words; means, responsive to said polling, for asserting a set of ready to send signals on the data bus identifying ready processors ready to send; means, responsive to said set of ready to send signals, for sequentially selecting each of said processors indicated as ready in response to said polling to be a send processor where a following processor is selected after a preceding selected processor has completed its data transfer cycle or has indicated it is not ready to send; means, at said given selected send processor indicated as ready in response to said polling, for indicating whether said selected send processor has become not ready to send subsequent to the assertion of said set of ready signals; and means for initiating a complete data transfer cycle for each selected ready send processor to enable said selected processor to send data unless said selected send processor indicates it is not ready to send.
Claim 4
Dependent Claim
266 words
In a multiprocessor computer which includes a bus having a plurality of bus lines including lines forming a data bus and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, a bus protocol system for controlling access to the bus by the processors and for establishing a sender/receiver processor pair comprising: means for simultaneously polling all processors to determine which processors are ready to transfer a packet of words to another processor over said bus, said polling means including means or generating said poll independent of whether any of the processors are ready to exchange data words; means, responsive to said polling, for asserting a set of ready to send signals on the data bus identifying ready processors ready to send; means, responsive to said set of ready to send signals, for sequentially selecting each of said processors indicated as ready in response to said polling to be a send processor where a following processor is selected after a preceding selected processor has completed its data transfer cycle or has indicated it is not ready to send; means, at said given selected send processor indicated as ready in response to said polling, for indicating whether said selected send processor has become not ready to send subsequent to the assertion of said set of ready signals; and means for initiating a complete data transfer cycle for each selected ready send processor to enable said selected processor to send data unless said selected send processor indicates it is not ready to send.
Claim 5
Dependent Claim
66 words
The bus protocol system of claim 2 further comprising: means for selecting a given processor to receive said packet during said data transfer cycle; means for indicating that said receiver processor is not ready to receive said packet; and means for automatically initiating the transfer of data between the selected sender and receiver processors unless said receiver processor indicates that it is not ready to receive.
Claim 6
Dependent Claim
120 words
The bus protocol system of claim 2 further comprising: means for generating a send clock timing signal comprising a plurality of send clock pulses to control the timing of transferring words from each selected ready send processor to said bus; means for transferring said send clock signal from said send clock generating means to said send processor; means, at said send processor, for generating a receive clock pulse, with said receive clock pulse being said selected send clock pulse delayed by a fixed delay DR; means for transferring said receive clock pulse from said send processor to said receiver processor; and means at said receiver processor for loading a word from said bus upon receipt of said receive clock pulse.
Claim 7
Dependent Claim
82 words
The bus protocol system of claim 4 further comprising first and second bus lines wherein: said means for transferring said send clock signal is said first bus line, with said first bus line coupling said send signal generating means to said word strobing means at each of said processors; and said receive pulse transferring means is said second bus line, with said second bus line coupled to said receive pulse generating means and said word loading means at each of said processors.
Claim 8
Dependent Claim
102 words
The bus protocol system of claim 5 wherein each bus line has a printer propagation time of a signal from one end of the bus line to the other, said bus having a maximum skew time equal to the maximum of the propagation times of the different bus lines and said receiver transfer means having a timing margin equal to the sum of a set up time and a hold time of said receiver transfer means and wherein the period of said send clock signal is at least about equal to the sum of the maximum skew time and said time margin.
Claim 9
Dependent Claim
26 words
The bus protocol system of claim 6 wherein the magnitude of DR is at least equal to one half the period of said send clock signal.
Claim 10
Dependent Claim
373 words
A bus protocol system for use in multiprocessor computer systems which includes a data bus and a control bus, a bus controller coupled to the buses, and a set of processors coupled to the buses, said bus protocol system comprising: polling means, at said bus controller, for asserting a first polling signal on the control bus, where said polling means asserts said first polling signal independent of whether any of the processors are ready to exchange packets of data words; means, at each of said processors, for receiving said first poling signal; means, at each processor, for determining whether a given processor is ready to send; means, at each processor, responsive to said determining means for generating a response signal subsequent to the receipt of said first polling signal with the response generating means of each processor coupled to a unique one of the lines of said data bus, with the state of said response signal indicating whether a given processor is ready to send as determined by said determining means, ad with the various response signals asserted on the lines of the data bus forming a send mask; means, at said bus controller, for receiving said send mask and identifying which processors are ready to send; select means, at said bus controller, for sequentially selecting each of said identified ready processors and automatically initiating a complete data transfer cycle for each of the ready processors; means, at a selected ready processor for determining whether said selected processor is not ready to send when selected; means, at said selected ready processor, for indicating to said bus controller if a selected processor is not ready to send; means, at said bus controller, for receiving said indication, aborting the complete data transfer cycle for the selected processor, and causing said select means to select the next ready processor; and means, at said bus controller for causing said polling signal generator to generate a second polling signal after said data cycle transfers for each of said identified ready processors have been initiated, so that said processors are continually polled in an open-loop manner and so that said selection of processors and initiation of complete data transfer cycles proceeds automatically unless a not ready indication is received.
Claim 11
Dependent Claim
373 words
A bus protocol system for use in multiprocessor computer systems which includes a data bus and a control bus, a bus controller coupled to the buses, and a set of processors coupled to the buses, said bus protocol system comprising: polling means, at said bus controller, for asserting a first polling signal on the control bus, where said polling means asserts said first polling signal independent of whether any of the processors are ready to exchange packets of data words; means, at each of said processors, for receiving said first poling signal; means, at each processor, for determining whether a given processor is ready to send; means, at each processor, responsive to said determining means for generating a response signal subsequent to the receipt of said first polling signal with the response generating means of each processor coupled to a unique one of the lines of said data bus, with the state of said response signal indicating whether a given processor is ready to send as determined by said determining means, ad with the various response signals asserted on the lines of the data bus forming a send mask; means, at said bus controller, for receiving said send mask and identifying which processors are ready to send; select means, at said bus controller, for sequentially selecting each of said identified ready processors and automatically initiating a complete data transfer cycle for each of the ready processors; means, at a selected ready processor for determining whether said selected processor is not ready to send when selected; means, at said selected ready processor, for indicating to said bus controller if a selected processor is not ready to send; means, at said bus controller, for receiving said indication, aborting the complete data transfer cycle for the selected processor, and causing said select means to select the next ready processor; and means, at said bus controller for causing said polling signal generator to generate a second polling signal after said data cycle transfers for each of said identified ready processors have been initiated, so that said processors are continually polled in an open-loop manner and so that said selection of processors and initiation of complete data transfer cycles proceeds automatically unless a not ready indication is received.
Claim 12
Dependent Claim
30 words
The bus protocol system of claim 8 further comprising: means for selecting a receiver processor to receive a data packet from each selected send processor that is ready to send.
Claim 13
Dependent Claim
90 words
The bus protocol system of claim 9 wherein said means for selecting a receiver processor comprises: means, at a selected send processor, for selecting a desired receiver processor and enabling said receiver processor to load data from said bus; means, at said receiver processor, for indicating that said receiver processor is not ready to load data; and means, at said send processor, for automatically transferring a packet to said bus subsequent to selecting and enabling said receiver processor unless said receiver processor indicates it is not ready to load data.
Claim 14
Dependent Claim
85 words
The bus protocol system of claim 10 wherein said send processor further comprises: a memory element for storing said packet; and wherein said means for indicating that a selected send processor is not ready to send comprises: means at said send processor for determining whether said memory element has a packet stored therein, and means at said send processor for generating negative acknowledgement signal if said memory element does not have a packet stored therein to indicate that said processor is not ready to send.
Claim 15
Dependent Claim
316 words
In a multiprocessor computer which includes a bus having a plurality of bus lines and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, and a bus protocol for controlling access to the bus by the processors and for establishing a sender/receiver processor paid, a timing system for providing timing signals to transfer words between the sender/receiver pair at a high rate, said timing system comprising: a bus having first and second bus lines, each connected in parallel to a send processor and a receiver processor with each bus line having a finite propagation time of a signal from one end of the bus line to the other end of the bus line, said bus having a maximum skew time equal to the maximum of the propagation times of the different bus lines; means for generating a send clock timing signal comprising a plurality of send clock pulses separated by a fixed period and asserting said send clock signal on said first bus line; means, at said send processor, coupled to said first bus line, for transferring a given data word to the data bus upon receipt of a given send clock pulse; means, at said send processor, for delaying said given send clock pulse by a fixed delay DR, and asserting said delayed clock pulse on said second bus line; and means, at said receiver processor, coupled to said second bus line, for loading said given word from said bus upon receipt of said delayed clock pulse and said means for loading having a timing margin equal to the sum of a set up time and a hold time of said means for loading and wherein the period of said send clock signal is at least equal to the sum of the maximum skew time and said timing margin.
Claim 16
Dependent Claim
316 words
In a multiprocessor computer which includes a bus having a plurality of bus lines and two or more processors coupled to said bus, where first and second processors may exchange a packet of data words during a packet transfer cycle, and a bus protocol for controlling access to the bus by the processors and for establishing a sender/receiver processor paid, a timing system for providing timing signals to transfer words between the sender/receiver pair at a high rate, said timing system comprising: a bus having first and second bus lines, each connected in parallel to a send processor and a receiver processor with each bus line having a finite propagation time of a signal from one end of the bus line to the other end of the bus line, said bus having a maximum skew time equal to the maximum of the propagation times of the different bus lines; means for generating a send clock timing signal comprising a plurality of send clock pulses separated by a fixed period and asserting said send clock signal on said first bus line; means, at said send processor, coupled to said first bus line, for transferring a given data word to the data bus upon receipt of a given send clock pulse; means, at said send processor, for delaying said given send clock pulse by a fixed delay DR, and asserting said delayed clock pulse on said second bus line; and means, at said receiver processor, coupled to said second bus line, for loading said given word from said bus upon receipt of said delayed clock pulse and said means for loading having a timing margin equal to the sum of a set up time and a hold time of said means for loading and wherein the period of said send clock signal is at least equal to the sum of the maximum skew time and said timing margin.
Claim 17
Dependent Claim
26 words
The bus protocol system of claim 12 wherein the magnitude of DR is at least equal to one half the period of said send clock signal.
Claim 18
Dependent Claim
427 words
An interface for coupling a processor to a bus communication system that couples a plurality of processors and that includes a data bus having a first fixed number of bus lines, a control bus having a second fixed number of bus lines, a receive command line, a send clock line and a receive clock line and a negative acknowledge line, and controlled by a bus controller that polls the processors at predetermined intervals by sending a poll signal on the control bus and controls the transfer of data between first and second ones of the processors coupled to the bus when the first processor is ready to send, and where the bus controller asserts an SCLK timing signal, including a plurality of SCLK pulses separated by a fixed time period, on the SCLK line where a send processor is selected by asserting a send signal on the control bus and the processor address of the selected send processor on the data bus, with the first and second processors identified, respectively, by first and second processor addresses, said interface associated with the first processor and comprising: means, coupled to a first one of said data bus lines, for asserting a ready signal on said first data bus line, in response to the poll signal, only if the first processor is ready to send data; means, coupled to the NAK line, for asserting a NAK signal when the first processor is selected by the bus controller only if the first processor becomes not ready to send subsequent to asserting the ready signal to cause the bus controller to select another processor as a send processor; means for asserting a RCVCMD signal on the RCVCMD line and the second processor address on said data bus to select the second processor as a receive processor; means, at said send processor coupled to the SCLK bus line, for transferring a given data word to the data bus upon receipt of a given SCLK pulse unless a NAK signal is asserted on the NAK line so that data is transferred to the second processor only when the first processor is selected by the bus controller subsequent to asserting the ready signal, and only if the first processor is ready to send data; and means, at said send processor, for delaying said given send clock pulse by a fixed delay DR, equal to about 1/2 the duration of said fixed period and asserting said delayed pulse on said RCVCOMD line as a RCVCMD pulse positioned at about a midpoint of said transferred data word.
Claim 19
Dependent Claim
427 words
An interface for coupling a processor to a bus communication system that couples a plurality of processors and that includes a data bus having a first fixed number of bus lines, a control bus having a second fixed number of bus lines, a receive command line, a send clock line and a receive clock line and a negative acknowledge line, and controlled by a bus controller that polls the processors at predetermined intervals by sending a poll signal on the control bus and controls the transfer of data between first and second ones of the processors coupled to the bus when the first processor is ready to send, and where the bus controller asserts an SCLK timing signal, including a plurality of SCLK pulses separated by a fixed time period, on the SCLK line where a send processor is selected by asserting a send signal on the control bus and the processor address of the selected send processor on the data bus, with the first and second processors identified, respectively, by first and second processor addresses, said interface associated with the first processor and comprising: means, coupled to a first one of said data bus lines, for asserting a ready signal on said first data bus line, in response to the poll signal, only if the first processor is ready to send data; means, coupled to the NAK line, for asserting a NAK signal when the first processor is selected by the bus controller only if the first processor becomes not ready to send subsequent to asserting the ready signal to cause the bus controller to select another processor as a send processor; means for asserting a RCVCMD signal on the RCVCMD line and the second processor address on said data bus to select the second processor as a receive processor; means, at said send processor coupled to the SCLK bus line, for transferring a given data word to the data bus upon receipt of a given SCLK pulse unless a NAK signal is asserted on the NAK line so that data is transferred to the second processor only when the first processor is selected by the bus controller subsequent to asserting the ready signal, and only if the first processor is ready to send data; and means, at said send processor, for delaying said given send clock pulse by a fixed delay DR, equal to about 1/2 the duration of said fixed period and asserting said delayed pulse on said RCVCOMD line as a RCVCMD pulse positioned at about a midpoint of said transferred data word.