摘要 |
Methods and apparatus are described for an execution unit. A method includes receiving an instruction and one or more operands, determining a plurality of program bits and one or more sets of pluralities of select input bits, based on the instruction and the one or more operands, determining a plurality of extra adder input bits, based on the instruction and the one or more operands, determining a plurality of multiplexer output bits, based on the plurality of program bits and the one or more sets of pluralities of select input bits, determining one or more carry-save adder tree outputs, based on the plurality of multiplexer output bits and the plurality of extra adder input bits, determining a carry-propagate adder sum output, based on the one or more carry-save adder tree output; and determining the result of the instruction on the one or more operands, based on the carry-propagate adder sum output. An apparatus includes a finite state machine comprising an instruction input, a plurality of operand inputs, a plurality of outputs, a plurality of extra adder inputs, a result output, and condition code output flags, an array of multiplexers coupled to the plurality of outputs and comprising a plurality of multiplexer outputs, a carry-save adder tree coupled to the plurality of multiplexer outputs and coupled to the extra adder inputs and comprising a plurality of carry-save adder tree outputs coupled to the finite state machine, and a carry-propagate adder coupled to the plurality of carry-save adder tree outputs and comprising a plurality of carry-propagate adder outputs coupled to the finite state machine.
|