<P> An ALU is a combinational logic circuit, meaning that its outputs will change asynchronously in response to input changes . In normal operation, stable signals are applied to all of the ALU inputs and, when enough time (known as the "propagation delay") has passed for the signals to propagate through the ALU circuitry, the result of the ALU operation appears at the ALU outputs . The external circuitry connected to the ALU is responsible for ensuring the stability of ALU input signals throughout the operation, and for allowing sufficient time for the signals to propagate through the ALU before sampling the ALU result . </P> <P> In general, external circuitry controls an ALU by applying signals to its inputs . Typically, the external circuitry employs sequential logic to control the ALU operation, which is paced by a clock signal of a sufficiently low frequency to ensure enough time for the ALU outputs to settle under worst - case conditions . </P> <P> For example, a CPU begins an ALU addition operation by routing operands from their sources (which are usually registers) to the ALU's operand inputs, while the control unit simultaneously applies a value to the ALU's opcode input, configuring it to perform addition . At the same time, the CPU also routes the ALU result output to a destination register that will receive the sum . The ALU's input signals, which are held stable until the next clock, are allowed to propagate through the ALU and to the destination register while the CPU waits for the next clock . When the next clock arrives, the destination register stores the ALU result and, since the ALU operation has completed, the ALU inputs may be set up for the next ALU operation . </P> <P> A number of basic arithmetic and bitwise logic functions are commonly supported by ALUs . Basic, general purpose ALUs typically include these operations in their repertoires: </P>

Difference between arithmetic logic unit and control unit
find me the text answering this question