A four function ALU • • An arithmetic logic unit computes arithmetic or logic function We designed a two function arithmetic unit to perform ADD/SUB We can add two logical function to it, AND and OR A four function ALU will have two bits to specify function – 00 (Add), 01 (Sub), 10 (AND), 11 (OR) • Then the following set up will work A B A B ADD 00 SUB 01 MUX Result 10 AND OR 11 Select 2 bits 1
An alternate design of four function ALU • The previous design is not very efficient as it uses an adder and subtract circuit • We can design an add/subtract unit as discussed earlier • Then we can design a logical unit (AND and OR) separately • Then select appropriate output as result • What are the control signals, Add/Sub, Select 0, and Select 1? A B A B Add/sub ADD/SUB AND OR 0 0 MUX 1 Select 0 MUX Result 1 Select 1 2
Operation codes • • • In micro-controllers, ALU units have many function 16 arithmetic, 16 logic functions are common A 5 bit code decides what function is required This is part of an operation code in an instruction Selection of operands is also specified as part of instruction In actual instruction execution, operands A and B are first selected from different registers • Then different functions are computed • Finally, a result based on operation code is selected • This sequence is repeated for every instruction 3