Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
115 words
In an arithmetic unit for performing vector and matrix related arithmetic operations in response to arithmetic instructions for producing two arithmetic results per cycle of operation, the first of which is the result of a multiply type operation, and the second of which is the result of an accumulate type of operation, the combination comprising: an adder for performing an add type operation, said adder including an accumulating register for accumulating partial arithmetic results; a multiplier for performing a multiply type operation; and means for accumulating partial arithmetic results into said accumulating register of said adder concurrent with obtaining the results of a multiply type operation from said multiplier, during a given cycle of operation.
Claim 2
Dependent Claim
115 words
In an arithmetic unit for performing vector and matrix related arithmetic operations in response to arithmetic instructions for producing two arithmetic results per cycle of operation, the first of which is the result of a multiply type operation, and the second of which is the result of an accumulate type of operation, the combination comprising: an adder for performing an add type operation, said adder including an accumulating register for accumulating partial arithmetic results; a multiplier for performing a multiply type operation; and means for accumulating partial arithmetic results into said accumulating register of said adder concurrent with obtaining the results of a multiply type operation from said multiplier, during a given cycle of operation.
Claim 3
Dependent Claim
50 words
The combination claimed in claim 1, wherein said arithmetic instructions comprise an inner loop of instructions and an outer loop of instructions, wherein only multiply type instructions appear within the inner loop of instructions, including means for executing said inner loop of instructions and said outer loop of instructions concurrently.
Claim 4
Dependent Claim
306 words
The combination claimed in claim 2, wherein: said adder has first and second inputs and an output, including a first switch connected to said output, with said switch being on when an add type operation is being completed, with said first switch being off at all other times; said multiplier has first and second inputs and an output, including a second switch connected to said output, with said second switch being on when a multiply type operation is being completed, with said first and second switches not being both on at the same time; and further including an accumulator bypass bus connected to said first input of said adder, including a third switch connected to said accumulator bypass bus and connected to said output of said adder, with said third switch being on when an accumulate type operation is being completed, with said third switch being off at all other times; a bypass bus connected to said first and second switches and to the first and second inputs of each of said adder and multiplier for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a putaway bus connected to said first and second switches for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a register file having an input connected to said putaway bus for receiving the results of an adder type or multiplier type operation dependent upon whether or not said first or second switch is on, with said register file having a first output connected to the respective first inputs of said adder and multiplier, and said register file having a second output connected to the respective second inputs of said adder and multiplier.
Claim 5
Dependent Claim
361 words
In an arithmetic unit for performing vector and matrix related arithmetic operations for producing two arithmetic results per cycle of operation, one of which is the result of an accumulate type operation, the combination: an adder having first and second inputs and an output, including a first switch connected to said output, with said first switch being on when an add type operation is being completed, with said first switch being off at all other times; a multiplier having first and second inputs and an output, including a second switch connected to said output, with said second switch being on when a multiply type operation is being completed, with said second switch being off at all other times; an accumulator bypass bus connected to said first input of said adder, including a third switch connected to said accumulator bypass bus and connected to said output of said adder, with said third switch being on when an accumulate type operation is being completed, with said third switch being off at all other times, and with said second and third switches being permitted to be concurrently on such that two arithmetic results may be concurrently produced, one of which is the result of an accumulate type operation; a putaway bus connected to said first and second switches for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a bypass bus connected to said first and second switches and to the first and second inputs of each of said adder and multiplier for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; and a register file having an input connected to said putaway bus for receiving the results of an adder type or multiplier type operation dependent upon whether or not said first or second switch is on, with said register file having a first output connected to the respective first inputs of said adder and multiplier, and said register file having a second output connected to the respective second inputs of said adder and mutliplier.
Claim 6
Dependent Claim
361 words
In an arithmetic unit for performing vector and matrix related arithmetic operations for producing two arithmetic results per cycle of operation, one of which is the result of an accumulate type operation, the combination: an adder having first and second inputs and an output, including a first switch connected to said output, with said first switch being on when an add type operation is being completed, with said first switch being off at all other times; a multiplier having first and second inputs and an output, including a second switch connected to said output, with said second switch being on when a multiply type operation is being completed, with said second switch being off at all other times; an accumulator bypass bus connected to said first input of said adder, including a third switch connected to said accumulator bypass bus and connected to said output of said adder, with said third switch being on when an accumulate type operation is being completed, with said third switch being off at all other times, and with said second and third switches being permitted to be concurrently on such that two arithmetic results may be concurrently produced, one of which is the result of an accumulate type operation; a putaway bus connected to said first and second switches for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a bypass bus connected to said first and second switches and to the first and second inputs of each of said adder and multiplier for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; and a register file having an input connected to said putaway bus for receiving the results of an adder type or multiplier type operation dependent upon whether or not said first or second switch is on, with said register file having a first output connected to the respective first inputs of said adder and multiplier, and said register file having a second output connected to the respective second inputs of said adder and mutliplier.
Claim 7
Dependent Claim
58 words
The combination claimed in claim 4, wherein said arithmetic operations are accomplished in response to arithmetic instructions comprised of an inner loop of instructions and an outer loop of instructions, wherein only multiply type instructions appear within the inner loop of instructions, including means for executing said inner loop of instructions and said outer loop of instructions concurrently.
Claim 8
Dependent Claim
422 words
In an arithmetic unit for performing vector and matrix related arithmetic operations in response to arithmetic instructions comprised of an inner loop of instructions and an outer loop of instructions, wherein only multiply type instructions appear within the inner loop for producing two arithmetic results per cycle of operation, one of which is the result of an accumulate type operation and the other of which is the result of a multiply type operation, the combination comprising: an adder having a left adder wait station and a right adder wait station, and including an adder output, including a first switch connected to said adder output, with said first switch being on when an add type operation is being completed, with said first switch being off at all other times; a multiplier having a left multiplier wait station and a right multiplier wait station, and including a multiplier output, including a second switch connected to said multiplier output, with said second switch being on when a multiply type operation is being completed, with said second switch being off at all other times, with said first and second switches not permitted to be both on at the same time; an accumulator bypass bus connected to said left adder wait station, including a third switch connected to said accumulator bypass bus and connected to said adder output, with said third switch being on when an accumulate type operation is being completed, with said third switch being off at all other times, with said second and third switches being permitted to both be on at the same time; a putaway bus connected to said first and second switches for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a bypass bus connected to said first and second switches and to respective left and right wait stations of each of said adder and multiplier for receiving the results of an adder type of multiplier type operation, dependent upon whether or not said first or second switch is on; and a register file having an input connected to said putaway bus for receiving the results of an adder type or multiplier type operation dependent upon whether or not said first or second switch is on, with said register file having a first output connected to the respective first wait stations of said adder and multiplier, and said register file having a second output connected to the respective second wait stations of said adder and multiplier.
Claim 9
Dependent Claim
422 words
In an arithmetic unit for performing vector and matrix related arithmetic operations in response to arithmetic instructions comprised of an inner loop of instructions and an outer loop of instructions, wherein only multiply type instructions appear within the inner loop for producing two arithmetic results per cycle of operation, one of which is the result of an accumulate type operation and the other of which is the result of a multiply type operation, the combination comprising: an adder having a left adder wait station and a right adder wait station, and including an adder output, including a first switch connected to said adder output, with said first switch being on when an add type operation is being completed, with said first switch being off at all other times; a multiplier having a left multiplier wait station and a right multiplier wait station, and including a multiplier output, including a second switch connected to said multiplier output, with said second switch being on when a multiply type operation is being completed, with said second switch being off at all other times, with said first and second switches not permitted to be both on at the same time; an accumulator bypass bus connected to said left adder wait station, including a third switch connected to said accumulator bypass bus and connected to said adder output, with said third switch being on when an accumulate type operation is being completed, with said third switch being off at all other times, with said second and third switches being permitted to both be on at the same time; a putaway bus connected to said first and second switches for receiving the results of an adder type or multiplier type operation, dependent upon whether or not said first or second switch is on; a bypass bus connected to said first and second switches and to respective left and right wait stations of each of said adder and multiplier for receiving the results of an adder type of multiplier type operation, dependent upon whether or not said first or second switch is on; and a register file having an input connected to said putaway bus for receiving the results of an adder type or multiplier type operation dependent upon whether or not said first or second switch is on, with said register file having a first output connected to the respective first wait stations of said adder and multiplier, and said register file having a second output connected to the respective second wait stations of said adder and multiplier.
Claim 10
Dependent Claim
160 words
The combination claimed in claim 6, wherein said adder and multiplier wait stations each include n registers, where n is an integer, with each of said n registers each including at least an op field indicative of the arithmetic operation to be performed, a TR field indicative of a target register in said register file, a SR1 field containing the value of a first source register in said register file and a SR2 field containing the value of a second source register in said register file, an NSR1 and NSR2 field containing the register number for source register one and source register two, respectively, and a RDY1 and RDY2 field which are indicative of whether the SR1 and SR2 fields respectively are occupied, with said adder wait station including an ACC field which is indicative of whether or not an accumulate operation is to be performed, and a V bit to indicate if the data in the register is valid.
Claim 11
Dependent Claim
140 words
In an arithmetic unit for performing vector or matrix related arithmetic operations in response to arithmetic instructions comprised of an inner loop of multiply type instructions and an outer loop of add or accumulate type instructions for producing two arithmetic results per cycle of operation, the first of which is the result of a multiply type operation, and the second of which is the result of an accumulate type operation, the combination comprising: an adder for performing add type operations, said adder including an accumulating register for accumulating partial arithmetic results of an accumulate type operation; a multiplier for performing multiply type operations; and means for concurrently executing said inner loop of instructions and said outer loop of instructions for producing an accumulate result from said adder and a multiply result from said multiplier in a given cycle of operation.
Claim 12
Dependent Claim
140 words
In an arithmetic unit for performing vector or matrix related arithmetic operations in response to arithmetic instructions comprised of an inner loop of multiply type instructions and an outer loop of add or accumulate type instructions for producing two arithmetic results per cycle of operation, the first of which is the result of a multiply type operation, and the second of which is the result of an accumulate type operation, the combination comprising: an adder for performing add type operations, said adder including an accumulating register for accumulating partial arithmetic results of an accumulate type operation; a multiplier for performing multiply type operations; and means for concurrently executing said inner loop of instructions and said outer loop of instructions for producing an accumulate result from said adder and a multiply result from said multiplier in a given cycle of operation.
Claim 13
Dependent Claim
20 words
The combination claimed in claim 8, including: means for storing said accumulate result in said accumulating register of said adder.