The arithmetic and logic unit, or ALU, is the most complex subsystem of this processor. Its purpose can be simply defined, however: depending on the current instruction microcode cycle, it is to take the data on one or both of its inputs, compute the desired result, and place the result on its output.

Components of the ALU perform computations in parallel. A selection logic decides which computation's output will appear on the ALU's output bus. Further selection logic is used to modify the results of computations; e.g., the difference between an addition and a subtraction is that during a subtraction, the two's complement of the second argument is computed before the two arguments are fed to the adder circuit.

vicproc_alu.gif