mented logic). On top left, the "mode-control" input M selects the type of computation to perform, namely logic with M = H (for high voltage level) and arithmetic with M = L (for low voltage level). The logic mode (M = H) performs individual bit-bit logical operations between the two inputs A, B, with carry inhibition. The arithmetic mode (M = L) transfers carries at each individual bit-bit oper- ation to the higher bit level. For instance, this is the difference between performing the operation A + B, which consists in logically XORing the two operands on an individual bit-by-bit basis (without carry), and performing the operation A + B, which represents the arithmetic addition (with carry transfer) of the two binary numbers A, B. The cir- cuit can perform either 16 logical operations or 16 arithmetic operations. Shown at the top right in Fig. 15.6 are four "mode select" bits S = (SOS1S2S3). These bits control the 24 = 16 possible functions, which may be either logical or arithmetic, according to the computational mode M. Also shown at the top left of the figure, an input Cn and output Cn+4 (high or low values) are provisioned to enable the cascading of arith- metic computations over larger word sizes, for instance to form a 16-bit ALU network. Table 15.1 shows the 16 logical functions (M = H) performed by the ALU according to the 16 different selection modes S. Reversible computation Table 15.1 Logical functions F = f (A, B) performed from four-bit operands A, B by the ALU network shown in Fig. 15.6, as defined by the 16 selection modes S = (So S1 S2 S3), with Sj = 0 for "low" and S = 1 for "high" voltage levels. F=f(A,B) F = f(A,B) A detailed demonstration of the 74181-TTL and other higher-level network arrange- ments (e.g., 16-bit ALU), which is animated through Java applets, is available on the Internet. 12 This basic example only provides a hint of the computing capabilities of logical circuits and more complex network arrangements. It just suffices to illustrate that the ALU can compute anything correspond