Apparatus and method for improved vector processing to support extended-length integer arithmetic
AssigneeCray Inc.
InventorsDavid Resnick, William T. Moore
Life of this patent
Estimating the term…
Loading patent…
AssigneeCray Inc.
InventorsDavid Resnick, William T. Moore
Estimating the term…
An apparatus and a method for extended-precision vector arithmetic capable of extremely long precision (i.e., precision to as many bits as a user desires or is limited to due to memory, disk-storage, or other resource constraints). Vector carry-out bits can be used as vector carry-in bits for successive operations. In performing add or subtract operations on integers that are longer than the word size of the computer, the operands a broken into word-sized parts which are used as operands. A vector of long-integer numbers is thus broken into a series of sub-vectors, each having word-sized elements. Vector add or subtract operations are performed successively on the sub-vectors, starting with the lowest-order sub-vectors. Carry-out (or borrow-out) bits from a first vector operation are used as carry-in (or borrow-in) bits for a successive vector operation. In one embodiment, instructions are added to the instruction set of a vector processor to assist in propagating carry (or borrow) bits between components of long operands, and to assist users in accessing and controlling the carry (or borrow) bits.
A vector computer comprising:
A vector computer comprising:
A method of processing vectors in a computer having a main memory, a plurality of vector element registers, each vector element register holding a plurality of elements of an ordered set of data, a vector carry register holding a plurality of bits of an ordered set of data, and at least one pipelined arithmetic or logical functional unit for receiving successive inputs of operands while holding data for operations still being completed and for delivering successive operation results, the method comprising:
A method of processing vectors in a computer having a main memory, a plurality of vector element registers, each vector element register holding a plurality of elements of an ordered set of data, a vector carry register holding a plurality of bits of an ordered set of data, and at least one pipelined arithmetic or logical functional unit for receiving successive inputs of operands while holding data for operations still being completed and for delivering successive operation results, the method comprising:
A method of processing vectors in a computer having a main memory, a plurality of vector element registers, each vector element register holding a plurality of elements of an ordered set of data, a vector carry register holding a plurality of bits of an ordered set of data, and at least one pipelined arithmetic or logical functional unit for receiving successive inputs of operands while holding data for operations still being completed and for delivering successive operation results, the method comprising:
A vector processor comprising:
A vector processor comprising:
A vector processor comprising:
Dependencies are inferred from the claim text.