











ALU Features
Signed / unsigned operation
Supports 32-bit memory operands
Supports dual 16-bit operands
Overflow detection & 32-bit saturation
Supports memory to memory (PLU) operations
Notes:
In summary, the ALU has the following important features.
There are two 40-bit accumulators which are identical, except that the output of the A accumulator is allowed to be an input to the multiplier, but an output of the B accumulator may not be an input to the multiplier.
The device supports 32-bit memory operands or dual 16-bit operands. There is overflow detection and we can do a 32-bit saturation, which can be turned on or off, or based on a conditional operation. And finally, the ALU supports memory to memory operations.
Memory to memory operations work as follows: There is a value in memory. We’d like to compare that value in memory to a mask. We might read the value in memory into the accumulator, generate the mask, do the binary operation using the ALU, and write the value back to the accumulator, and then from the accumulator back to memory, but that's a lot of steps.
This ALU can do AND, ORs, and other binary operations directly with a value in memory in a single cycle operation, without disturbing the accumulators. This translates directly to increased performance.